មាតិកា[លាក់][បង្ហាញ]
គំនិតមួយក្នុងចំណោមគំនិតសាមញ្ញបំផុត ប៉ុន្តែគួរឱ្យចាប់អារម្មណ៍បំផុតនៅក្នុងការរៀនស៊ីជម្រៅគឺការរកឃើញវត្ថុ។ គំនិតជាមូលដ្ឋានគឺត្រូវបែងចែកធាតុនីមួយៗទៅជាថ្នាក់បន្តបន្ទាប់គ្នា ដែលតំណាងឱ្យលក្ខណៈដែលអាចប្រៀបធៀបបាន ហើយបន្ទាប់មកគូសប្រអប់ជុំវិញវា។
លក្ខណៈសម្គាល់ទាំងនេះអាចមានលក្ខណៈសាមញ្ញដូចជាទម្រង់ ឬពណ៌ ដែលជួយដល់សមត្ថភាពរបស់យើងក្នុងការចាត់ថ្នាក់ពួកវា។
កម្មវិធីរបស់ ការរកវត្ថុ ត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយនៅក្នុងផ្នែកវិទ្យាសាស្ត្រវេជ្ជសាស្ត្រ ការបើកបរស្វ័យភាព ការពារជាតិ និងយោធា រដ្ឋបាលសាធារណៈ និងវិស័យជាច្រើនទៀត ដោយសារការកែលម្អយ៉ាងច្រើននៅក្នុងចក្ខុវិស័យកុំព្យូទ័រ និងដំណើរការរូបភាព។
នៅទីនេះយើងមាន MMDetection ដែលជាឧបករណ៍រកឃើញវត្ថុប្រភពបើកចំហដ៏អស្ចារ្យដែលត្រូវបានបង្កើតឡើងនៅលើ Pytorg ។ នៅក្នុងអត្ថបទនេះ យើងនឹងពិនិត្យមើល MMDetection យ៉ាងលម្អិត បន្តដៃជាមួយវា ពិភាក្សាអំពីលក្ខណៈពិសេសរបស់វា និងច្រើនទៀត។
តើអ្វីជា MMDetection?
នេះ MMDetection ប្រអប់ឧបករណ៍ត្រូវបានបង្កើតជាមូលដ្ឋានកូដ Python ជាពិសេសសម្រាប់បញ្ហាទាក់ទងនឹងការកំណត់អត្តសញ្ញាណវត្ថុ និងការបែងចែកឧទាហរណ៍។
ការអនុវត្ត PyTorch ត្រូវបានប្រើ ហើយវាត្រូវបានបង្កើតឡើងក្នុងទម្រង់ម៉ូឌុល។ សម្រាប់ការទទួលស្គាល់វត្ថុ និងការបែងចែកឧទាហរណ៍ ជួរដ៏ធំទូលាយនៃគំរូដែលមានប្រសិទ្ធភាពត្រូវបានចងក្រងទៅជាវិធីសាស្រ្តផ្សេងៗគ្នា។
វាអនុញ្ញាតឱ្យមានការសន្និដ្ឋានប្រកបដោយប្រសិទ្ធភាព និងការបណ្តុះបណ្តាលរហ័ស។ ម៉្យាងវិញទៀត ប្រអប់ឧបករណ៍រួមបញ្ចូលទម្ងន់សម្រាប់បណ្តាញដែលបានបណ្តុះបណ្តាលមុនជាង 200 ដែលធ្វើឱ្យវាជាការជួសជុលរហ័សនៅក្នុងវាលកំណត់អត្តសញ្ញាណវត្ថុ។
ជាមួយនឹងសមត្ថភាពក្នុងការសម្របតាមបច្ចេកទេសបច្ចុប្បន្ន ឬបង្កើតឧបករណ៍រាវរកថ្មីដោយប្រើម៉ូឌុលដែលមាន MMDetection មានមុខងារជាគោល។
លក្ខណៈសំខាន់របស់ប្រអប់ឧបករណ៍គឺការដាក់បញ្ចូលផ្នែកត្រង់ៗ និងម៉ូឌុលពីធម្មតា។ ការរកឃើញវត្ថុ ក្របខ័ណ្ឌដែលអាចត្រូវបានប្រើដើម្បីបង្កើតបំពង់បង្ហូរប្រេងពិសេស ឬគំរូតែមួយគត់។
សមត្ថភាពស្តង់ដារនៃកញ្ចប់ឧបករណ៍នេះធ្វើឱ្យវាសាមញ្ញក្នុងការបង្កើតក្របខ័ណ្ឌឧបករណ៍ចាប់សញ្ញាថ្មីមួយនៅលើក្របខ័ណ្ឌដែលមានស្រាប់ និងប្រៀបធៀបការអនុវត្តរបស់វា។
លក្ខណៈពិសេស
- ក្របខ័ណ្ឌការរកឃើញដ៏ពេញនិយម និងទំនើប ដូចជា Faster RCNN, Mask RCNN, RetinaNet ជាដើម ត្រូវបានគាំទ្រដោយផ្ទាល់ដោយប្រអប់ឧបករណ៍។
- ការប្រើប្រាស់គំរូ 360+ ដែលត្រូវបានបណ្តុះបណ្តាលជាមុនសម្រាប់ការកែតម្រូវ (ឬការបណ្តុះបណ្តាលជាថ្មី)។
- សម្រាប់សំណុំទិន្នន័យចក្ខុវិស័យល្បីៗរួមមាន COCO, Cityscapes, LVIS និង PASCAL VOC។
- នៅលើ GPU ប្រតិបត្តិការ bbox និងរបាំងជាមូលដ្ឋានទាំងអស់ត្រូវបានប្រតិបត្តិ។ មូលដ្ឋានកូដផ្សេងទៀតដូចជា Detectron2, maskrcnn-benchmark និង SimpleDet អាចត្រូវបានបណ្តុះបណ្តាលក្នុងអត្រាលឿនជាង ឬស្មើជាមួយនេះ។
- អ្នកស្រាវជ្រាវបំបែក ការរកឃើញវត្ថុ ក្របខ័ណ្ឌចូលទៅក្នុងម៉ូឌុលជាច្រើនដែលបន្ទាប់មកអាចត្រូវបានបញ្ចូលគ្នាដើម្បីបង្កើតប្រព័ន្ធរកឃើញវត្ថុតែមួយគត់។
ស្ថាបត្យកម្ម MMDetection
MMDetection បញ្ជាក់ការរចនាទូទៅដែលអាចអនុវត្តបានចំពោះម៉ូដែលណាមួយ ដោយសារវាជាប្រអប់ឧបករណ៍ដែលមានម៉ូដែលជាច្រើនដែលបានសាងសង់ជាមុន ដែលនីមួយៗមានស្ថាបត្យកម្មផ្ទាល់ខ្លួន។ សមាសធាតុខាងក្រោមបង្កើតបានជាស្ថាបត្យកម្មរួមនេះ៖
- ឆ្អឹងខ្នង៖ ឆ្អឹងខ្នង ដូចជា ResNet-50 ដោយគ្មានស្រទាប់ភ្ជាប់ពេញលេញចុងក្រោយ គឺជាធាតុផ្សំដែលបំប្លែងរូបភាពទៅជាផែនទីលក្ខណៈ។
- ក៖ ក គឺជាផ្នែកដែលតភ្ជាប់ឆ្អឹងខ្នងទៅនឹងក្បាល។ នៅលើផែនទីលក្ខណៈដើមរបស់ឆ្អឹងខ្នង វាធ្វើការកែតម្រូវជាក់លាក់ ឬការកំណត់រចនាសម្ព័ន្ធឡើងវិញ។ បណ្តាញពីរ៉ាមីតលក្ខណៈពិសេសគឺជារូបភាពមួយ (FPN) ។
- DenseHead (AnchorHead/AnchorFreeHead)៖ វាគឺជាសមាសធាតុដែលដំណើរការលើតំបន់ក្រាស់នៃផែនទីលក្ខណៈពិសេស ដូចជា AnchorHead និង AnchorFreeHead ដូចជា RPNHead, RetinaHead និង FOSHead ។
- RoIExtractor៖ ជាមួយនឹងការប្រើប្រាស់ប្រតិបត្តិករដូច RoIPooling វាគឺជាផ្នែកដែលទាញលក្ខណៈពិសេស RoIwise ពីផែនទីលក្ខណៈពិសេសតែមួយ ឬបណ្តុំនៃផែនទី។ គំរូ SingleRoIExtractor ទាញយកលក្ខណៈពិសេស RoI ពីកម្រិតដែលត្រូវគ្នានៃសាជីជ្រុងលក្ខណៈពិសេស។
- RoIHead (BBoxHead/MaskHead)៖ វាគឺជាផ្នែកនៃប្រព័ន្ធដែលប្រើលក្ខណៈ RoI ជាការបញ្ចូល និងបង្កើតការព្យាករណ៍ជាក់លាក់លើកិច្ចការដែលមានមូលដ្ឋានលើ RoI ដូចជាការចាត់ថ្នាក់/តំរែតំរង់ប្រអប់ និងការព្យាករណ៍របាំងមុខ។
ការសាងសង់ឧបករណ៍រាវរកតែមួយដំណាក់កាល និងពីរដំណាក់កាលត្រូវបានបង្ហាញដោយប្រើគំនិតដែលបានរៀបរាប់ខាងលើ។ យើងអាចអភិវឌ្ឍនីតិវិធីផ្ទាល់ខ្លួនរបស់យើងដោយសាមញ្ញដោយការសាងសង់ផ្នែកស្រស់ៗមួយចំនួន និងការផ្សំផ្នែកដែលមានស្រាប់មួយចំនួន។
បញ្ជីនៃម៉ូដែលរួមបញ្ចូលនៅក្នុង MMDetection
MMDetection ផ្តល់នូវមូលដ្ឋានកូដកំពូលសម្រាប់ម៉ូដែលល្បីៗជាច្រើន និងម៉ូឌុលតម្រង់ទិសកិច្ចការ។ ម៉ូដែលដែលបានបង្កើតឡើងពីមុន និងវិធីសាស្រ្តដែលអាចសម្របខ្លួនបាន ដែលអាចត្រូវបានប្រើប្រាស់ជាមួយប្រអប់ឧបករណ៍ MMDetection ត្រូវបានរាយខាងក្រោម។ បញ្ជីនេះបន្តកើនឡើងនៅពេលដែលមានគំរូ និងវិធីសាស្ត្របន្ថែមទៀត។
- R-CNN លឿន
- លឿនជាង R-CNN
- របាំងអេខេស៊ីអិនអិន
- រីទីណាណេត
- ឌីស៊ីអិន
- DCNv2
- Cascade R-CNN
- ម២ដេត
- ជីអេម
- កោសដេត
- ក្បាលពីរ R-CNN
- ក្រឡាចត្រង្គ R-CNN
- FSAF
- Libra R-CNN
- GCNet
- HRNet
- ការដាក់ពិន្ទុរបាំងមុខ R-CNN
- FCOS
- ប្រភេទ SSD
- R-FCN
- ការបណ្តុះបណ្តាលភាពជាក់លាក់ចម្រុះ
- ស្តង់ដារទម្ងន់
- ល្បាក់កិច្ចការកូនកាត់
- យុថ្កាណែនាំ
- ការយកចិត្តទុកដាក់ទូទៅ
ការកសាងគំរូការរកឃើញវត្ថុដោយប្រើ MMDetection
នៅក្នុងការបង្រៀននេះ យើងនឹងក្លាយជាសៀវភៅ Google collab ព្រោះវាងាយស្រួលកំណត់ និងប្រើប្រាស់។
ការដំឡើង
ដើម្បីដំឡើងអ្វីគ្រប់យ៉ាងដែលយើងត្រូវការ យើងនឹងដំឡើងបណ្ណាល័យចាំបាច់ជាមុនសិន ហើយក្លូនគម្រោង MMdetection GitHub ។
ការនាំចូល env
បរិយាកាសសម្រាប់គម្រោងរបស់យើងឥឡូវនេះនឹងត្រូវបាននាំចូលពីឃ្លាំង។
នាំចូលបណ្ណាល័យ និង MMdetection
ឥឡូវនេះយើងនឹងនាំចូលបណ្ណាល័យដែលត្រូវការ រួមជាមួយនឹង MMdetection ជាការពិតណាស់។
ទាញយកប៉ុស្តិ៍ត្រួតពិនិត្យដែលបានបណ្តុះបណ្តាលជាមុន
ចំណុចត្រួតពិនិត្យគំរូដែលបានបណ្តុះបណ្តាលជាមុនពី MMdetection ឥឡូវនេះគួរតែត្រូវបានទាញយកសម្រាប់ការកែតម្រូវ និងការសន្និដ្ឋានបន្ថែម។
គំរូអគារ
ឥឡូវនេះយើងនឹងសាងសង់គំរូ ហើយអនុវត្តចំណុចត្រួតពិនិត្យទៅសំណុំទិន្នន័យ។
ការសន្និដ្ឋានឧបករណ៍ចាប់សញ្ញា
ឥឡូវនេះថាម៉ូដែលនេះត្រូវបានគេសាងសង់និងផ្ទុកយ៉ាងត្រឹមត្រូវ សូមពិនិត្យមើលថាវាល្អប៉ុណ្ណា។ យើងប្រើប្រាស់ឧបករណ៍រាវរកការសន្និដ្ឋាន API កម្រិតខ្ពស់របស់ MMDetection ។ API នេះត្រូវបានរចនាឡើងដើម្បីធ្វើឱ្យដំណើរការសន្និដ្ឋានកាន់តែងាយស្រួល។
លទ្ធផល
តោះមើលលទ្ធផលទាំងអស់គ្នា។
សន្និដ្ឋាន
សរុបមក ប្រអប់ឧបករណ៍ MMDetection ដំណើរការលើសពីមូលដ្ឋានកូដដែលបានចេញផ្សាយថ្មីៗនេះ ដូចជា SimpleDet, Detectron និង Maskrcnn-benchmark ។ ជាមួយនឹងការប្រមូលគំរូដ៏ធំ,
MMDetection ឥឡូវនេះគឺជាបច្ចេកវិទ្យាទំនើបបំផុត។ MMDetection ដំណើរការលើសពីកូដមូលដ្ឋានផ្សេងទៀតទាំងអស់ទាក់ទងនឹងប្រសិទ្ធភាព និងដំណើរការ។
ចំនុចល្អមួយអំពី MMdetection គឺថាឥឡូវនេះ អ្នកគ្រាន់តែអាចចង្អុលទៅឯកសារកំណត់រចនាសម្ព័ន្ធផ្សេងគ្នា ទាញយកចំណុចត្រួតពិនិត្យផ្សេងគ្នា និងដំណើរការកូដដូចគ្នាប្រសិនបើអ្នកចង់ផ្លាស់ប្តូរម៉ូដែល។
ខ្ញុំណែនាំឱ្យមើលពួកគេ។ សេចក្ដីណែនាំ ប្រសិនបើអ្នកជួបបញ្ហាជាមួយដំណាក់កាលណាមួយ ឬចង់អនុវត្តវាខុសគ្នាខ្លះ។
សូមផ្ដល់យោបល់