Original Title: Connectionist Temporal Classification Model for Dynamic Hand Gesture Recognition using RGB and Optical flow Data
Source: doi.org/10.34028/iajit/17/4/8
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ម៉ូដែលចំណាត់ថ្នាក់តាមពេលវេលាតភ្ជាប់ (CTC) សម្រាប់ការសម្គាល់កាយវិការដៃសកម្មដោយប្រើទិន្នន័យ RGB និងលំហូរអុបទិក

ចំណងជើងដើម៖ Connectionist Temporal Classification Model for Dynamic Hand Gesture Recognition using RGB and Optical flow Data

អ្នកនិពន្ធ៖ Sunil Patel, Gujarat Technological University, Ramji Makwana, AIIVINE PXL Pvt. Ltd

ឆ្នាំបោះពុម្ព៖ 2020, The International Arab Journal of Information Technology

វិស័យសិក្សា៖ Computer Vision and Machine Learning

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

បញ្ហា (The Problem)៖ ការសម្គាល់កាយវិការដៃសកម្មដោយស្វ័យប្រវត្តិមានភាពស្មុគស្មាញដោយសារភាពចម្រុះនៃប្រភេទកាយវិការ កម្រិតភាពច្បាស់ទាប និងបញ្ហានៃការតម្រឹមស៊ុម (Frame alignment) ក្នុងវីដេអូ។ ឯកសារនេះដោះស្រាយបញ្ហានេះដោយប្រើបច្ចេកវិទ្យា Deep Learning ដើម្បីចាប់យកចលនាដៃ និងលុបបំបាត់ការរំខានពីផ្ទៃខាងក្រោយ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់វិធីសាស្ត្ររួមបញ្ចូលបណ្តាញណឺរ៉ូន (Neural Networks) ដើម្បីទាញយកលក្ខណៈចលនា និងគណនាប្រូបាប៊ីលីតេសម្រាប់ការតម្រឹមស្លាកកាយវិការយ៉ាងសុក្រឹត។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Proposed Method (Two-stream CNN-LSTM with CTC)
ម៉ូដែលស្នើឡើង (CNN-LSTM បែបពីរស្ទ្រីម ជាមួយ CTC)
អាចតម្រឹមពេលវេលានៃកាយវិការដោយស្វ័យប្រវត្តិដោយមិនបាច់កាត់តវីដេអូជាមុន និងចាប់យកចលនាបានល្អតាមរយៈលំហូរអុបទិក។ ទាមទារពេលវេលាបង្វឹកយូរដោយសារមានប៉ារ៉ាម៉ែត្រច្រើន ហើយនៅមានការភាន់ច្រឡំលើកាយវិការដែលស្រដៀងគ្នាខ្លាំង (ឧ. ប្រើម្រាម១ និងម្រាម២)។ សម្រេចបានភាពត្រឹមត្រូវ ៨៦%
Simple Deep Neural Network (DNN)
បណ្តាញណឺរ៉ូនសិប្បនិម្មិតកម្រិតជ្រៅធម្មតា (DNN)
មានទម្រង់ស្ថាបត្យកម្មសាមញ្ញ និងងាយស្រួលក្នុងការអនុវត្តជាងម៉ូដែលស្មុគស្មាញបែប Spatiotemporal។ ខ្វះសមត្ថភាពក្នុងការចាប់យកព័ត៌មានចលនាតាមពេលវេលា (Temporal details) បានល្អឥតខ្ចោះ។ សម្រេចបានភាពត្រឹមត្រូវ ៧៧.៥៦%
HOG+HOG features and SVM
លក្ខណៈ HOG ជាមួយម៉ាស៊ីន SVM
មិនសូវទាមទារកម្លាំងម៉ាស៊ីនខ្លាំងក្នុងការគណនានិងបង្វឹក បើធៀបទៅនឹងបណ្តាញសិប្បនិម្មិតកម្រិតជ្រៅ (Deep Learning)។ ជាវិធីសាស្ត្រចាស់ដែលប្រើលក្ខណៈទាញយកដោយដៃ (Handcrafted features) ធ្វើឱ្យភាពត្រឹមត្រូវមានកម្រិតទាបបំផុត។ សម្រេចបានភាពត្រឹមត្រូវ ៦៤.៥%

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះបានបញ្ជាក់យ៉ាងច្បាស់អំពីតម្រូវការផ្នែករឹង និងផ្នែកទន់កម្រិតមធ្យមទៅខ្ពស់ ដើម្បីដំណើរការម៉ូដែល Deep Learning នេះប្រកបដោយប្រសិទ្ធភាព។

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

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

សំណុំទិន្នន័យ VIVA ត្រូវបានប្រមូលផ្តុំនៅក្នុងបរិបទយានយន្ត ដោយប្រើកាមេរ៉ា Kinect ផ្តោតលើអ្នកបើកបរ និងអ្នកដំណើរ។ ទោះបីជាវាមិនតំណាងឱ្យបរិយាកាសទូទៅទាំងអស់ក៏ដោយ ក៏លក្ខណៈពិសេសនៃទិន្នន័យដែលមានពន្លឺប្រែប្រួល និងកម្រិតភាពច្បាស់ទាប គឺស្រដៀងទៅនឹងស្ថានភាពជាក់ស្តែងពីកាមេរ៉ាសុវត្ថិភាព (CCTV) ភាគច្រើននៅកម្ពុជា ដែលធ្វើឱ្យមានអត្ថប្រយោជន៍ខ្ពស់ក្នុងការយកមកសិក្សា។

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

ទោះបីជាម៉ូដែលនេះត្រូវបានបង្កើតឡើងសម្រាប់ប្រើប្រាស់ក្នុងយានយន្តក៏ដោយ ក៏បច្ចេកវិទ្យាសម្គាល់កាយវិការនេះមានសក្តានុពលខ្ពស់សម្រាប់ការអនុវត្តជាក់ស្តែងនៅកម្ពុជា។

ជារួម បច្ចេកវិទ្យានេះអាចជំរុញការបង្កើតប្រព័ន្ធវៃឆ្លាតមិនបាច់ប៉ះ ដែលជួយលើកកម្ពស់អនាម័យ ភាពងាយស្រួល និងបរិយាប័ន្ននៅក្នុងវិស័យសាធារណៈ និងឯកជននៅកម្ពុជា។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Computer Vision និង Deep Learning: សិស្សគួរចាប់ផ្តើមស្វែងយល់ពីរបៀបដំណើរការបណ្តាញ CNN សម្រាប់រូបភាព និង LSTM សម្រាប់ទិន្នន័យតាមពេលវេលា ដោយរៀនតាមរយៈវគ្គសិក្សានៅលើ Coursera (Deep Learning Specialization)
  2. ស្វែងយល់ពីម៉ូដែល CTC និងលំហូរអុបទិក (Optical Flow): សិក្សាពីក្បួនគណនាចំណាយបាត់បង់របស់ Connectionist Temporal Classification (CTC Loss) និងរបៀបទាញយកព័ត៌មានចលនាដោយប្រើបច្ចេកទេស Optical Flow (Farneback algorithm) តាមរយៈឯកសារផ្លូវការរបស់ TensorFlow ឬគម្រោងគំរូនៅលើ GitHub
  3. រៀបចំបរិស្ថានកូដ និងសំណុំទិន្នន័យ: ដំឡើង Python, OpenCV និង Keras/TensorFlow។ បន្ទាប់មក ទាញយកសំណុំទិន្នន័យ VIVA dataset ឬសាកល្បងថតវីដេអូកាយវិការដៃខ្លីៗដោយខ្លួនឯងជាទម្រង់ RGB ដើម្បីធ្វើតេស្ត។
  4. អនុវត្តក្បួនបង្រួបបង្រួមហ្វ្រេម (Frame Unification Process): សរសេរកូដ Python ដើម្បីបំប្លែងវីដេអូទាំងអស់ឱ្យទៅជាចំនួនស្តង់ដារ ៣៥ ហ្វ្រេម ដូចដែលបានបញ្ជាក់ក្នុងឯកសារស្រាវជ្រាវ ដើម្បីធានាបាននូវភាពស៊ីសង្វាក់គ្នាក្នុងការទាញយកលក្ខណៈពិសេស។
  5. បង្កើត និងវាយតម្លៃម៉ូដែលស្នើឡើង (Model Implementation): រៀបចំស្ថាបត្យកម្ម Two-stream CNN-LSTM ដោយបញ្ចូលគ្នាទាំងទិន្នន័យ RGB និង ទិន្នន័យលំហូរអុបទិក រួចបង្វឹកម៉ូដែលដោយប្រើ CTC Loss និងធ្វើការប្រៀបធៀបលទ្ធផលភាពត្រឹមត្រូវដែលទទួលបាន។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Connectionist Temporal Classification (CTC) ជាមុខងារគណនាការបាត់បង់ (Loss function) សម្រាប់បង្វឹកបណ្តាញណឺរ៉ូនដើម្បីសម្គាល់ទិន្នន័យជាស៊េរី (Sequence data) ដោយមិនចាំបាច់កាត់បែងចែក ឬតម្រឹមទិន្នន័យរូបភាពនិងលទ្ធផលដោយដៃពីមុនឡើយ។ វាជួយរកស៊ុម (Frame) ដែលត្រឹមត្រូវបំផុតសម្រាប់ការតម្រឹមស្លាកកាយវិការនីមួយៗ។ ដូចជាគ្រូបង្រៀនដែលវាយតម្លៃសិស្សលើអត្ថន័យនៃប្រយោគទាំងមូល ជាងការចាប់កំហុសលើការបញ្ចេញសំឡេងនៃពាក្យនីមួយៗរៀងៗខ្លួន។
Optical flow ជាបច្ចេកទេសក្នុងកុំព្យូទ័រទស្សនៈ (Computer Vision) សម្រាប់គណនាគន្លង និងល្បឿននៃចលនារបស់វត្ថុរវាងស៊ុមរូបភាពពីរជាប់គ្នា ដែលជួយក្នុងការលុបបំបាត់ផ្ទៃខាងក្រោយដែលគ្មានចលនា និងរក្សាទុកតែព័ត៌មានចលនារបស់ដៃ។ ដូចជាការគូសព្រួញនៅលើរូបភាពដើម្បីបង្ហាញថា តើវត្ថុមួយកំពុងផ្លាស់ទីទៅទិសណា និងលឿនប៉ុនណាបើធៀបនឹងមួយវិនាទីមុន។
Long Short-Term Memory (LSTM) ជាប្រភេទបណ្តាញណឺរ៉ូនសិប្បនិម្មិត (RNN) ពិសេសដែលអាចចងចាំព័ត៌មានក្នុងរយៈពេលយូរ ដែលស័ក្តិសមបំផុតសម្រាប់ការវិភាគទិន្នន័យតាមពេលវេលាដូចជាវីដេអូ ឬសំឡេង ដើម្បីយល់ពីទំនាក់ទំនងនៃចលនារវាងស៊ុមនីមួយៗ។ ដូចជាខួរក្បាលមនុស្សដែលពេលកំពុងមើលកុន យើងអាចចាំសាច់រឿងតាំងពីដើមរហូតដល់ចប់ ដើម្បីយល់ពីអត្ថន័យទូទៅនៃខ្សែភាពយន្តនោះ។
Convolutional Neural Network (CNN) ជាប្រភេទបណ្តាញណឺរ៉ូនដែលពូកែខាងវិភាគរូបភាព ដោយប្រើប្រាស់តម្រង (Filters) ដើម្បីទាញយកលក្ខណៈពិសេសកម្រិតជ្រៅ (Deep features) ដូចជា គែម ទម្រង់ និងពណ៌ពីរូបភាព ដើម្បីសម្គាល់វត្ថុ។ ដូចជាភ្នែករបស់យើងដែលសង្កេតមើលរូបភាពមួយដោយផ្តោតលើចំណុចតូចៗបន្តិចម្តងៗ រហូតដល់អាចប្រាប់បានថារូបនោះជារូបអ្វីពិតប្រាកដ។
SoftMax layer ជាស្រទាប់ចុងក្រោយនៃបណ្តាញណឺរ៉ូន ដែលបំប្លែងតម្លៃលទ្ធផលលេខធម្មតាទៅជាប្រូបាប៊ីលីតេ (ភាគរយ) ចន្លោះពី 0 ទៅ 1 សម្រាប់គ្រប់ថ្នាក់ (Classes) ទាំងអស់ រួចជ្រើសរើសចម្លើយដែលមានភាគរយខ្ពស់ជាងគេបំផុតសម្រាប់ធ្វើការសម្រេចចិត្ត។ ដូចជាការបោះឆ្នោតជ្រើសរើសមេដឹកនាំ ដែលបេក្ខជនទទួលបានសំឡេងឆ្នោតច្រើនជាងគេ (គិតជាភាគរយ) នឹងក្លាយជាអ្នកឈ្នះ។
Spatiotemporal feature ជាទិន្នន័យលក្ខណៈពិសេសដែលរួមបញ្ចូលទាំងព័ត៌មានអំពីលំហ (Spatial - តើវត្ថុនោះមានរូបរាងយ៉ាងណា) និងព័ត៌មានអំពីពេលវេលា (Temporal - តើវត្ថុនោះផ្លាស់ទី និងប្រែប្រួលយ៉ាងណាតាមពេលវេលា) នៅក្នុងវីដេអូ។ ដូចជាការរៀបរាប់ពីសកម្មភាពរបស់សត្វស្លាបហោះ ដែលយើងមិនត្រឹមតែដឹងថាវាជាសត្វស្លាបដោយសាររូបរាងវាទេ តែថែមទាំងដឹងពីរបៀបដែលវាបក់ស្លាបហោះហើរកាត់ខ្យល់។
Dynamic programming ជាវិធីសាស្ត្រដោះស្រាយបញ្ហាគណិតវិទ្យា ឬក្បួនអាល់កូរីតស្មុគស្មាញ ដោយបំបែកវាទៅជាបញ្ហាតូចៗងាយៗ ហើយរក្សាទុកចម្លើយនៃបញ្ហាតូចៗទាំងនោះដើម្បីកុំឱ្យគណនាច្រំដែល។ ក្នុងឯកសារនេះ វាត្រូវប្រើដើម្បីគណនា CTC loss យ៉ាងឆាប់រហ័ស។ ដូចជាយើងគណនាលេខ 1+1+1+1+1=5 ហើយបើគេថែមលេខ +1 ទៀត យើងគ្រាន់តែយក 5+1=6 តែម្តង ដោយមិនបាច់ចាប់ផ្តើមបូកពីលេខ 1 ដំបូងសារជាថ្មីឡើយ។
Back Propagation Through Time (BPTT) ជាក្បួនអាល់កូរីតសម្រាប់បង្វឹកបណ្តាញណឺរ៉ូនប្រភេទវិលជុំ (RNN ដូចជា LSTM) ដោយធ្វើការគណនាកំហុសពីលទ្ធផលចុងក្រោយ រួចបញ្ជូនត្រឡប់ថយក្រោយតាមជំហានពេលវេលានីមួយៗ (Timestep) ដើម្បីកែតម្រូវទម្ងន់ (Weights) នៃបណ្តាញឱ្យកាន់តែសុក្រឹត។ ដូចជាការរៀនពីកំហុសបន្ទាប់ពីប្រឡងធ្លាក់ ដោយត្រលប់ទៅពិនិត្យមើលមេរៀនតាំងពីថ្ងៃចូលរៀនដំបូងរហូតដល់ថ្ងៃប្រឡង ដើម្បីរកមើលថាយើងមិនយល់ឬខុសនៅត្រង់ចំណុចណាខ្លះ។

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

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

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