विषयसूची[लुकाउनुहोस्][देखाउनु]
गहिरो शिक्षामा सबैभन्दा सरल तर सबैभन्दा चाखलाग्दो विचारहरू मध्ये एक वस्तु पत्ता लगाउने हो। आधारभूत विचार भनेको प्रत्येक वस्तुलाई क्रमिक वर्गहरूमा विभाजन गर्नु हो जसले तुलनात्मक विशेषताहरू प्रतिनिधित्व गर्दछ र त्यसपछि यसको वरिपरि एउटा बाकस कोर्नुहोस्।
यी भिन्न विशेषताहरू फारम वा रङ जत्तिकै सरल हुन सक्छन्, जसले तिनीहरूलाई वर्गीकरण गर्ने हाम्रो क्षमतामा सहायता गर्छ।
को आवेदनहरू वस्तु खोज चिकित्सा विज्ञान, स्वायत्त ड्राइभिङ, रक्षा र सैन्य, सार्वजनिक प्रशासन, र कम्प्यूटर भिजन र छवि प्रशोधन मा पर्याप्त सुधार को लागी धेरै अन्य क्षेत्रहरुमा व्यापक रूपमा कार्यरत छन्।
यहाँ हामीसँग MMDetection छ, Pytorch मा निर्मित एक उत्कृष्ट खुला स्रोत वस्तु पत्ता लगाउने उपकरणसेट। यस लेखमा, हामी विस्तृत रूपमा MMDetection को जाँच गर्नेछौं, यसको साथमा जानुहोस्, यसको सुविधाहरू छलफल गर्नुहोस्, र अधिक।
के हो MMD पत्ता लगाउने?
यो MMD पत्ता लगाउने टुलबक्सलाई पाइथन कोडबेसको रूपमा विशेष रूपमा वस्तु पहिचान र उदाहरण विभाजन समावेश समस्याहरूको लागि सिर्जना गरिएको थियो।
PyTorch कार्यान्वयन प्रयोग गरिन्छ, र यो मोड्युलर फेसनमा सिर्जना गरिएको छ। वस्तु पहिचान र उदाहरण विभाजन को लागी, प्रभावकारी मोडेल को एक विस्तृत श्रृंखला को विभिन्न विधिहरु मा कम्पाइल गरिएको छ।
यसले प्रभावकारी अनुमान र द्रुत प्रशिक्षणलाई अनुमति दिन्छ। अर्कोतर्फ, टूलबक्सले 200 भन्दा बढी पूर्व-प्रशिक्षित नेटवर्कहरूको लागि वजन समावेश गर्दछ, यसलाई वस्तु पहिचान क्षेत्रमा द्रुत समाधान बनाउँछ।
हालको प्रविधिहरू अनुकूलन गर्ने वा उपलब्ध मोड्युलहरू प्रयोग गरेर नयाँ डिटेक्टर सिर्जना गर्ने क्षमताको साथ, MMDetection कार्यहरू बेन्चमार्कको रूपमा।
टूलबक्सको मुख्य विशेषता भनेको सामान्यबाट सीधा, मोड्युलर भागहरू समावेश गर्नु हो वस्तु पहिचान फ्रेमवर्क जुन अद्वितीय पाइपलाइन वा अद्वितीय मोडेलहरू सिर्जना गर्न प्रयोग गर्न सकिन्छ।
यस टूलकिटको बेन्चमार्किङ क्षमताहरूले अवस्थित फ्रेमवर्कको शीर्षमा नयाँ डिटेक्टर फ्रेमवर्क निर्माण गर्न र यसको प्रदर्शन तुलना गर्न सजिलो बनाउँदछ।
विशेषताहरु
- लोकप्रिय र आधुनिक पत्ता लगाउने फ्रेमवर्कहरू, जस्तै फास्टर RCNN, मास्क RCNN, RetinaNet, आदि, टूलकिटद्वारा प्रत्यक्ष रूपमा समर्थित छन्।
- फाइन-ट्युनिङ (वा नयाँ प्रशिक्षण) को लागि 360+ पूर्व-प्रशिक्षित मोडेलहरूको प्रयोग।
- COCO, Cityscapes, LVIS, र PASCAL VOC सहित प्रख्यात दृष्टि डेटासेटहरूको लागि।
- GPU मा, सबै आधारभूत bbox र मास्क सञ्चालनहरू कार्यान्वयन गरिन्छ। अन्य कोडबेसहरू, जस्तै Detectron2, maskrcnn-बेन्चमार्क, र SimpleDet, यो भन्दा छिटो वा बराबरमा प्रशिक्षित गर्न सकिन्छ।
- अन्वेषकहरूले तोड्छन् वस्तु पहिचान धेरै मोड्युलहरूमा फ्रेमवर्क, जसलाई त्यसपछि एक अद्वितीय वस्तु पत्ता लगाउने प्रणाली सिर्जना गर्न मिलाउन सकिन्छ।
MMDetection वास्तुकला
MMDetection ले जेनेरिक डिजाइन निर्दिष्ट गर्दछ जुन कुनै पनि मोडेलमा लागू गर्न सकिन्छ किनकि यो विभिन्न प्रकारका पूर्व-निर्मित मोडेलहरू भएको उपकरण बक्स हो, जसमध्ये प्रत्येकको आफ्नै वास्तुकला छ। निम्न घटकहरूले यो समग्र वास्तुकला बनाउँछ:
- ब्याक बटन: ब्याकबोन, जस्तै अन्तिम पूर्ण रूपमा जडान गरिएको तह बिना ResNet-50, एउटा छविलाई सुविधा नक्सामा रूपान्तरण गर्ने घटक हो।
- घाँटी: घाँटी टाउकोमा मेरुदण्ड जोड्ने खण्ड हो। ब्याकबोनको कच्चा सुविधा नक्सामा, यसले निश्चित समायोजन वा पुन: कन्फिगरेसन गर्दछ। सुविधा पिरामिड नेटवर्क एक दृष्टान्त (FPN) हो।
- डेन्सहेड (AnchorHead/AnchorFreeHead): यो एङ्करहेड र एन्करफ्रीहेड, जस्तै RPNHead, RetinaHead, र FCOSHead जस्ता सुविधा नक्साका घना क्षेत्रहरूमा काम गर्ने कम्पोनेन्ट हो।
- RoIExtractor: RoIPooling-जस्तो अपरेटरहरूको प्रयोगको साथ, यो खण्ड हो जसले RoIwise सुविधाहरूलाई एकल वा सुविधा नक्साहरूको सङ्कलनबाट तान्छ। SingleRoIExtractor नमूनाले फीचर पिरामिडहरूको मिल्दो स्तरबाट RoI सुविधाहरू निकाल्छ।
- RoIHead (BBoxHead/MaskHead): यो प्रणालीको भाग हो जसले RoI विशेषताहरूलाई इनपुटको रूपमा प्रयोग गर्दछ र RoI-आधारित कार्य-विशिष्ट भविष्यवाणीहरू उत्पन्न गर्दछ, जस्तै बाउन्डिङ बक्स वर्गीकरण/रिग्रेसन र मास्क भविष्यवाणी।
एकल-चरण र दुई-चरण डिटेक्टरहरूको निर्माण माथि उल्लिखित अवधारणाहरू प्रयोग गरेर चित्रण गरिएको छ। हामी केही नयाँ भागहरू निर्माण गरेर र केही अवस्थित भागहरू संयोजन गरेर मात्र हाम्रो आफ्नै प्रक्रियाहरू विकास गर्न सक्छौं।
MMDetection मा समावेश मोडेलहरूको सूची
MMDetection ले धेरै प्रसिद्ध मोडेलहरू र कार्य-उन्मुख मोड्युलहरूको लागि शीर्ष-निशान कोडबेसहरू प्रदान गर्दछ। MMDetection टूलबक्सको साथ प्रयोग गर्न सकिने मोडेलहरू पहिले बनाइएका र अनुकूलनीय विधिहरू तल सूचीबद्ध छन्। थप मोडेल र विधिहरू थपिने क्रममा सूची बढ्दै जान्छ।
- फास्ट आर-सीएनएन
- छिटो R-CNN
- मास्क R-CNN
- रेटिनानेट
- DCN
- DCNv2
- क्यास्केड R-CNN
- M2Det
- GHM
- ScratchDet
- डबल-हेड R-CNN
- ग्रिड R-CNN
- FSAF
- तुला R-CNN
- GCNet
- HRNet
- मास्क स्कोरिङ R-CNN
- FCOS
- SSD
- R-FCN
- मिश्रित परिशुद्धता प्रशिक्षण
- वजन मानकीकरण
- हाइब्रिड टास्क क्यास्केड
- गाईड एङ्करिङ
- सामान्य ध्यान
MMDetection प्रयोग गरेर वस्तु पत्ता लगाउने मोडेल निर्माण गर्दै
यस ट्यूटोरियलमा, हामी Google कोलाब नोटबुक हुनेछौं किनभने यो सेट गर्न र प्रयोग गर्न सजिलो छ।
स्थापना
हामीलाई चाहिने सबै चीजहरू स्थापना गर्न, हामी पहिले आवश्यक पुस्तकालयहरू स्थापना गर्नेछौं र MMdetection GitHub परियोजना क्लोन गर्नेछौं।
आयात गर्दै env
हाम्रो परियोजनाको लागि वातावरण अब भण्डारबाट आयात गरिनेछ।
पुस्तकालयहरू र MM पत्ता लगाउने आयात गर्दै
हामी अब आवश्यक पुस्तकालयहरू आयात गर्नेछौं, निश्चित रूपमा MM पत्ता लगाउने साथ।
पूर्व प्रशिक्षित चेकपोइन्टहरू डाउनलोड गर्नुहोस्
MMdetection बाट पूर्व-प्रशिक्षित मोडेल चेकपोइन्टहरू अब थप समायोजन र अनुमानको लागि डाउनलोड गरिनु पर्छ।
निर्माण मोडेल
हामी अब मोडेल निर्माण गर्नेछौं र डेटासेटमा चेकपोइन्टहरू लागू गर्नेछौं।
डिटेक्टर अनुमान गर्नुहोस्
अब जब मोडेल राम्ररी निर्माण र लोड गरिएको छ, यो कति उत्कृष्ट छ जाँच गरौं। हामी MMDetection को उच्च-स्तर API अनुमान डिटेक्टर प्रयोग गर्छौं। यो API अनुमान प्रक्रिया सजिलो बनाउन डिजाइन गरिएको थियो।
परिणाम
नतिजा हेरौं।
निष्कर्ष
निष्कर्षमा, MMDetection टूलबक्सले भर्खरै रिलीज गरिएको कोडबेसहरू जस्तै SimpleDet, Detectron, र Maskrcnn-बेन्चमार्कलाई बाहिर निकाल्छ। एक ठूलो मोडेल संग्रह संग,
MMDetection अब अत्याधुनिक प्रविधि हो। MMDetection ले दक्षता र कार्यसम्पादनको सन्दर्भमा अन्य सबै कोडबेसहरूलाई बाहिर निकाल्छ।
MMdetection को बारेमा सबै भन्दा राम्रो चीजहरू मध्ये एक यो हो कि तपाइँ अब केवल एक फरक कन्फिगरेसन फाइलमा पोइन्ट गर्न सक्नुहुन्छ, फरक चेकपोइन्ट डाउनलोड गर्नुहोस्, र यदि तपाइँ मोडेलहरू परिवर्तन गर्न चाहनुहुन्छ भने उही कोड चलाउनुहोस्।
म उनीहरुलाई हेर्न सल्लाह दिन्छु निर्देशन यदि तपाइँ कुनै पनि चरणहरूमा समस्याहरू सामना गर्नुहुन्छ वा ती मध्ये केहीलाई फरक तरिकाले पूरा गर्न चाहनुहुन्छ भने।
जवाफ छाड्नुस्