Original Title: Application of Convolutional Neural Networks in Object Detection, Re-identification, and Recognition
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការអនុវត្តបណ្តាញសរសៃប្រសាទសិប្បនិម្មិតកុងវ៉ុលលូហ្សិន (CNNs) ក្នុងការរកឃើញវត្ថុ ការកំណត់អត្តសញ្ញាណឡើងវិញ និងការសម្គាល់

ចំណងជើងដើម៖ Application of Convolutional Neural Networks in Object Detection, Re-identification, and Recognition

អ្នកនិពន្ធ៖ Rua Yahya Aburasain (Loughborough University)

ឆ្នាំបោះពុម្ព៖ 2020 Loughborough University

វិស័យសិក្សា៖ Computer Vision

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ និក្ខេបបទនេះដោះស្រាយបញ្ហាប្រឈមក្នុងការរកឃើញវត្ថុតាមរយៈដ្រូន (Drone imagery) ដែលមានគុណភាពបង្ហាញទាប និងការកំណត់អត្តសញ្ញាណមនុស្សឡើងវិញ (Person re-ID) ឆ្លងកាត់កាមេរ៉ា CCTV ដែលមានមុំមើល និងពន្លឺខុសៗគ្នា។

វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះប្រើប្រាស់ការរៀនផ្ទេរចំណេះដឹង និងការកែសម្រួលប៉ារ៉ាម៉ែត្រកម្រិតខ្ពស់ ដើម្បីបង្កើនប្រសិទ្ធភាពបណ្តាញសរសៃប្រសាទ។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
ResNet-50
បណ្តាញសរសៃប្រសាទកុងវ៉ុលលូហ្សិនមានជម្រៅជ្រៅដែលមានការរំលងការតភ្ជាប់ (Residual blocks) សម្រាប់ការកំណត់អត្តសញ្ញាណមនុស្ស (Person Re-ID)
អាចដោះស្រាយបញ្ហា Vanishing gradient នៅក្នុងបណ្តាញជ្រៅៗ និងផ្តល់ភាពត្រឹមត្រូវខ្ពស់បំផុតក្នុងការចាប់យកលក្ខណៈពិសេសរបស់មនុស្ស។ ត្រូវការធនធានកុំព្យូទ័រនិងទិន្នន័យច្រើនជាងម៉ូដែលរាក់ៗដូចជា AlexNet ឬ VGGNet។ សម្រេចបានអត្រាអត្តសញ្ញាណ Rank-1 ខ្ពស់បំផុតរហូតដល់ 59.1% លើសំណុំទិន្នន័យ Market1501 ដែលខ្ពស់ជាងដៃគូប្រកួតប្រជែង។
YOLO-V3
ប្រព័ន្ធរកឃើញវត្ថុផ្ទាល់ (Single-shot Object Detector) ប្រើប្រាស់ Darknet-53 សម្រាប់ការរកឃើញរូបភាពតាមដ្រូន
មានសមត្ថភាពរកឃើញវត្ថុក្នុង៣ទំហំផ្សេងគ្នា (3 scales) ដែលស័ក្តិសមបំផុតសម្រាប់ចាប់យករូបភាពតូចៗពីដ្រូនក្នុងល្បឿនលឿន។ ទាមទារឱ្យមានការរៀបចំទិន្នន័យតុល្យភាព (Data balancing) និងការបិទការបង្ហាត់ទាន់ពេល (Early stopping) ដើម្បីចៀសវាងការវង្វេងទិន្នន័យ (Overfitting)។ សម្រេចបានពិន្ទុ F1-score 0.96 សម្រាប់ការរកឃើញវត្ថុច្រើនប្រភេទ (ដើមត្នោត គោក្របី រោង) ជាមួយនឹងអត្រា Precision 0.99។
SSD-500 (VGG-16 backbone)
ប្រព័ន្ធរកឃើញវត្ថុរហ័សដោយប្រើប្រាស់ VGG-16 ជាមូលដ្ឋានសម្រាប់ទាញយកមុខងារ (Feature extraction)
ដំណើរការបានលឿន និងទាញយកមុខងារបានល្អពីរូបភាពទំហំមធ្យម។ មានភាពខ្សោយក្នុងការរកឃើញវត្ថុតូចៗ ឬវត្ថុដែលថតពីលើអាកាសជ្រៅ (Drone altitude) បើប្រៀបធៀបជាមួយ YOLO-V3។ ទទួលបានពិន្ទុ F1-score ទាបជាង YOLO-V3 ជាទូទៅ និងមានកម្រិតរំលងការរកឃើញ (False Negative) ច្រើនជាង។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះទាមទារធនធានកុំព្យូទ័រដែលមានក្រាហ្វិកកាត (GPU) កម្រិតខ្ពស់ និងការរៀបចំទិន្នន័យយ៉ាងម៉ត់ចត់ដើម្បីបង្ហាត់ម៉ូដែលរាប់សែនជុំ (Iterations)។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះប្រើប្រាស់ទិន្នន័យដ្រូនពីតំបន់វាលខ្សាច់នៃប្រទេសអេមីរ៉ាតអារ៉ាប់រួម (UAE) ដែលមានសណ្ឋានដី ទម្រង់អគារ និងប្រភេទរុក្ខជាតិខុសប្លែកពីកម្ពុជា។ ចំណែកឯទិន្នន័យមនុស្ស (Person Re-ID) គឺប្រមូលពីប្រទេសចិន និងលោកខាងលិច ដែលអាចមានលក្ខណៈរូបរាងកាយ ការស្លៀកពាក់ ខុសពីប្រជាជនកម្ពុជាយើង។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ទោះបីជាមានភាពខុសគ្នានៃភូមិសាស្ត្រក៏ដោយ បច្ចេកវិទ្យានេះមានសក្តានុពលខ្ពស់ក្នុងការអភិវឌ្ឍវិស័យកសិកម្ម និងសន្តិសុខនៅកម្ពុជា។

ដើម្បីឱ្យប្រព័ន្ធនេះដំណើរការប្រកបដោយប្រសិទ្ធភាពនៅកម្ពុជា យើងចាំបាច់ត្រូវប្រមូលទិន្នន័យរូបភាពដ្រូនពីចម្ការ ឬទីក្រុងក្នុងស្រុក ដើម្បីបង្ហាត់ម៉ូដែលឡើងវិញ (Transfer Learning) ឱ្យស៊ាំនឹងបរិស្ថានតំបន់ត្រូពិច។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាមូលដ្ឋានគ្រឹះ Deep Learning និង Computer Vision: និស្សិតគួរសិក្សាពីទ្រឹស្តីបណ្តាញសរសៃប្រសាទ CNNs និងអនុវត្តសរសេរកូដតាមរយៈភាសា Python ដោយប្រើយន្តការទំនើបៗដូចជា PyTorchTensorFlow
  2. ប្រមូល និងរៀបចំទិន្នន័យរូបភាពពីដ្រូន (Data Collection & Annotation): ហោះហើរដ្រូននៅកម្ពស់ថេរលើតំបន់កសិកម្ម រួចប្រើប្រាស់កម្មវិធីដូចជា LabelImg ដើម្បីគូសប្រអប់ (Bounding boxes) ចំណាំវត្ថុគោលដៅដូចជា ដើមត្នោត គោ ឬ រោង។
  3. អនុវត្តបច្ចេកទេសរៀនផ្ទេរចំណេះដឹង (Transfer Learning) ជាមួយ YOLO-V3: ទាញយកកូដ និងទម្ងន់បណ្តាញដែលបានបង្ហាត់រួច (Pre-trained weights) របស់ YOLO-V3 ពីប្រព័ន្ធ Darknet មកបង្ហាត់បន្តលើទិន្នន័យរូបភាពកម្ពុជា។
  4. កែសម្រួលប៉ារ៉ាម៉ែត្រកម្រិតខ្ពស់ (Hyper-parameter Tuning): ធ្វើការសាកល្បងផ្លាស់ប្តូរតម្លៃ Learning Rate (ឧ. ០.០០០១), ប្តូរវិធីសាស្ត្រគណនា Adam Optimizer និងប្រើ Early Stopping ដើម្បីបង្ការបញ្ហា Overfitting
  5. វាយតម្លៃប្រសិទ្ធភាព និងដាក់ឱ្យដំណើរការ (Evaluation & Deployment): វាស់ស្ទង់ភាពត្រឹមត្រូវនៃម៉ូដែលដោយប្រើរង្វាស់ F1-Score និង Precision-Recall រួចអាចសរសេរកម្មវិធីតូចមួយដើម្បីដំណើរការវាសម្រាប់ការប្រើប្រាស់ជាក់ស្តែងក្នុងការវិភាគវីដេអូដ្រូន។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Convolutional Neural Networks បណ្តាញនេះដំណើរការដោយប្រើតម្រង (Filters) រំកិលកាត់លើរូបភាព ដើម្បីទាញយកលក្ខណៈពិសេសៗ ដូចជាគែម ទម្រង់ ឬពណ៌ សម្រាប់សម្គាល់និងបែងចែកប្រភេទវត្ថុក្នុងកិច្ចការចក្ខុវិស័យកុំព្យូទ័រដោយស្វ័យប្រវត្តិ។ ដូចជាមនុស្សម្នាក់ដែលប្រើកែវពង្រីកដើរឆ្លុះមើលគ្រប់ជ្រុងនៃផ្ទាំងគំនូរ ដើម្បីស្វែងរកចំណុចសំខាន់ៗដែលបញ្ជាក់ថាគំនូរនោះជារូបអ្វីពិតប្រាកដ។
Transfer Learning គឺជាយន្តការយកទម្ងន់ប៉ារ៉ាម៉ែត្រពីម៉ូដែលដែលបានហ្វឹកហាត់រួចលើទិន្នន័យដ៏ធំ (ឧ. ImageNet) មកបន្តហ្វឹកហាត់លើសំណុំទិន្នន័យថ្មីតូចជាង ដើម្បីបង្កើនភាពត្រឹមត្រូវ ចំណេញពេលវេលា និងកាត់បន្ថយបញ្ហាវង្វេងទិន្នន័យ។ ដូចជាការយកចុងភៅដែលចេះធ្វើម្ហូបអឺរ៉ុបស្រាប់ មកបង្រៀនបន្ថែមបន្តិចបន្តួចឱ្យចេះធ្វើម្ហូបខ្មែរ ជាជាងបង្រៀនមនុស្សដែលមិនចេះធ្វើម្ហូបទាល់តែសោះ។
Person re-identification ជាបច្ចេកវិទ្យាកុំព្យូទ័រក្នុងការតាមដាន និងកំណត់អត្តសញ្ញាណមនុស្សម្នាក់ៗឡើងវិញ ពេលដែលពួកគេដើរឆ្លងកាត់កាមេរ៉ាសុវត្ថិភាពច្រើនគ្រាប់ ដែលដាក់នៅទីតាំងផ្សេងៗគ្នា និងមានពន្លឺខុសៗគ្នា។ ដូចជាសន្តិសុខម្នាក់ចំណាំមុខនិងសម្លៀកបំពាក់ភ្ញៀវ ហើយដឹងថាជាភ្ញៀវដដែលទោះបីភ្ញៀវនោះដើរទៅដល់ជាន់ផ្សេងនៃផ្សារទំនើបក៏ដោយ។
Overfitting ស្ថានភាពដែលម៉ូដែលរៀនទន្ទេញចាំទិន្នន័យហ្វឹកហាត់ច្បាស់ពេក (High variance) រហូតដល់វាបាត់បង់សមត្ថភាពក្នុងការទស្សន៍ទាយ ឬសម្គាល់រូបភាពថ្មីៗដែលវាមិនធ្លាប់ឃើញពីមុនមក។ ដូចជាសិស្សដែលខំទន្ទេញចាំមាត់តែវិញ្ញាសាចាស់ៗពេលរៀនគួរ តែប្រឡងធ្លាក់ពេលគ្រូចេញលំហាត់ថ្មីដែលប្លែកពីមុនបន្តិច។
Data Augmentation ជាបច្ចេកទេសបង្កើនទំហំនិងភាពចម្រុះនៃសំណុំទិន្នន័យហ្វឹកហាត់ ដោយការកែច្នៃរូបភាពដើម ដូចជាបង្វិល ប្តូរទំហំ ឬកាត់ ដើម្បីឱ្យម៉ូដែលរៀនសម្គាល់វត្ថុបានកាន់តែច្រើនជ្រុងជ្រោយ។ ដូចជាការថតរូបសត្វតែមួយក្បាលពីមុំ និងពន្លឺខុសៗគ្នា ដើម្បីឱ្យប្រព័ន្ធកុំព្យូទ័រងាយស្រួលចំណាំទោះបីស្ថិតក្នុងស្ថានភាពបែបណាក៏ដោយ។
Early stopping ជាយុទ្ធសាស្ត្របញ្ឈប់ការហ្វឹកហាត់ម៉ូដែលភ្លាមៗនៅពេលដែលកម្រិតភាពត្រឹមត្រូវលើទិន្នន័យផ្ទៀងផ្ទាត់ (Validation set) ចាប់ផ្តើមធ្លាក់ចុះ ដើម្បីការពារម៉ូដែលពីការរៀនទន្ទេញទិន្នន័យចាស់ៗហួសកម្រិត។ ដូចជាការដកនំខេកចេញពីឡភ្លាមៗពេលដែលវាឆ្អិនល្មម ដើម្បីកុំឱ្យវាខ្លោចខូចជាតិ។
Backpropagation គឺជាយន្តការគណនាបញ្ច្រាសពីកំហុសនៃលទ្ធផលចុងក្រោយ ត្រលប់ទៅកាន់បណ្តាញស្រទាប់នីមួយៗវិញ ដើម្បីកែតម្រូវទម្ងន់ប៉ារ៉ាម៉ែត្រ (Weights) ជួយឱ្យម៉ូដែលធ្វើការទស្សន៍ទាយបានកាន់តែត្រឹមត្រូវនៅជុំក្រោយ។ ដូចជាអ្នកលេងបោះព្រួញដែលសង្កេតមើលកំហុសរបស់ខ្លួនពេលបោះខុសគោលដៅ រួចកែតម្រូវកម្លាំងនិងមុំដៃវិញសម្រាប់ការបោះលើកក្រោយ។
Hyperparameter ជាតម្លៃ ឬការកំណត់ផ្សេងៗ (ដូចជា អត្រារៀនសូត្រ ចំនួនជុំ ឬទំហំកញ្ចប់ទិន្នន័យ) ដែលវិស្វករត្រូវរៀបចំទុកជាមុន មុននឹងចាប់ផ្តើមហ្វឹកហាត់ម៉ូដែល ដើម្បីគ្រប់គ្រងដំណើរការនៃការរៀនសូត្ររបស់វា។ ដូចជាការសារេកម្រិតកម្តៅ និងពេលវេលានៅលើឆ្នាំងអ៊ុតអគ្គិសនី មុននឹងចាប់ផ្តើមអ៊ុតខោអាវ។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖