Original Title: 基于 HMM-FNN 模型的复杂动态手势识别
Source: www.jos.org.cn
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការទទួលស្គាល់កាយវិការថាមវន្តស្មុគស្មាញដោយផ្អែកលើម៉ូដែល HMM-FNN

ចំណងជើងដើម៖ 基于 HMM-FNN 模型的复杂动态手势识别

អ្នកនិពន្ធ៖ WANG Xi-Ying (Institute of Software, Chinese Academy of Sciences), DAI Guo-Zhong, ZHANG Xi-Wen, ZHANG Feng-Jun

ឆ្នាំបោះពុម្ព៖ 2008, Journal of Software

វិស័យសិក្សា៖ Human-Computer Interaction

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

បញ្ហា (The Problem)៖ ការទទួលស្គាល់កាយវិការថាមវន្តស្មុគស្មាញតាមរយៈកាមេរ៉ាគឺជាបញ្ហាប្រឈមដ៏ធំមួយនៅក្នុងអន្តរកម្មរវាងមនុស្សនិងកុំព្យូទ័រ (Human-computer interaction) ដោយសារតែភាពប្រែប្រួលនៃចលនានិងភាពស្រពិចស្រពិលនៃនិយមន័យកាយវិការផ្សេងៗគ្នា។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានស្នើឡើងនូវម៉ូដែលកូនកាត់ HMM-FNN (Hidden Markov Model - Fuzzy Neural Network) ដើម្បីទាញយកនិងវិភាគលក្ខណៈចលនារបស់កាយវិការស្មុគស្មាញ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Proposed HMM-FNN Model
ម៉ូដែល HMM-FNN ដែលបានស្នើឡើង
កាត់បន្ថយភាពស្មុគស្មាញនៃការគណនាដោយបំបែកលក្ខណៈកាយវិការទៅជាផ្នែកតូចៗ និងមានភាពធន់នឹងល្បឿន ឬចង្វាក់នៃចលនាកាយវិការ។ វាអាចប្រើប្រាស់ចំណេះដឹងពីមុនរបស់មនុស្សតាមរយៈក្បួនស្រពិចស្រពិល (Fuzzy rules) ដើម្បីបង្កើនភាពត្រឹមត្រូវ។ ទាមទារការកំណត់ក្បួនវិធានស្រពិចស្រពិល (Fuzzy rules) ដោយដៃ ដោយពឹងផ្អែកលើបទពិសោធន៍របស់អ្នកជំនាញ។ សម្រេចបានអត្រាទទួលស្គាល់ជាមធ្យម ៨៨,៣% សម្រាប់កាយវិការថាមវន្តស្មុគស្មាញ ចំនួន ១៤ ប្រភេទ។
Conventional HMM
ម៉ូដែល Hidden Markov ធម្មតា (HMM)
ជាវិធីសាស្ត្រស្តង់ដារ និងមានសមត្ថភាពល្អក្នុងការធ្វើម៉ូដែលទិន្នន័យដែលមានលំដាប់ពេលវេលា (Temporal data modeling)។ ពិបាកដោះស្រាយជាមួយលក្ខណៈកាយវិការដែលមានវិមាត្រខ្ពស់ (High-dimensional features) ហើយខ្វះសមត្ថភាពក្នុងការបញ្ចូលក្បួនតក្កវិជ្ជាកម្រិតខ្ពស់។ មានអត្រាទទួលស្គាល់ជាមធ្យមទាបជាង (ចន្លោះពី ៦៦,៦% ទៅ ៨៣,៣% អាស្រ័យលើប្រភេទកាយវិការ)។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះមិនតម្រូវឱ្យមានកុំព្យូទ័រដែលមានកម្លាំងខ្លាំង ឬឧបករណ៍ថ្លៃៗដូចជាស្រោមដៃទិន្នន័យ (Data gloves) នោះទេ ដោយប្រើត្រឹមតែកាមេរ៉ាធម្មតាប៉ុណ្ណោះ។

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

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

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅក្នុងមន្ទីរពិសោធន៍ក្នុងប្រទេសចិន ដោយមានអ្នកចូលរួមត្រឹមតែ ៥ នាក់ និងប្រើប្រាស់ទិន្នន័យវីដេអូសរុប ២១០ ឈុត។ ទិន្នន័យនេះមានទំហំតូច ហើយអាចខ្វះភាពចម្រុះនៃរូបរាងដៃ ទំហំដៃ និងលក្ខខណ្ឌពន្លឺបរិស្ថានជាក់ស្តែង។ សម្រាប់ប្រទេសកម្ពុជា ការយកបច្ចេកវិទ្យានេះទៅប្រើប្រាស់ទាមទារឱ្យមានការប្រមូលទិន្នន័យបន្ថែមក្នុងបរិយាកាសជាក់ស្តែងរបស់សហគមន៍កម្ពុជា ដើម្បីជៀសវាងភាពលម្អៀង និងបង្កើនភាពត្រឹមត្រូវខ្ពស់។

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

ម៉ូដែលចំណាយធនធានតិចនេះមានសក្តានុពលខ្ពស់ក្នុងការយកមកអនុវត្តនៅប្រទេសកម្ពុជា ជាពិសេសសម្រាប់ការអភិវឌ្ឍប្រព័ន្ធអន្តរកម្មឆ្លាតវៃដែលមិនត្រូវការឧបករណ៍ថ្លៃៗ។

ជារួម វិធីសាស្ត្រនេះផ្តល់នូវជម្រើសដ៏មានប្រសិទ្ធភាព និងចំណាយតិច សម្រាប់ការអភិវឌ្ឍបច្ចេកវិទ្យាអន្តរកម្មរវាងមនុស្សនិងកុំព្យូទ័រ (HCI) នៅក្នុងបរិបទនៃការអភិវឌ្ឍប្រព័ន្ធឌីជីថលនៅកម្ពុជាបច្ចុប្បន្ន។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃកុំព្យូទ័រទស្សនៈ (Computer Vision): និស្សិតគួរចាប់ផ្តើមសិក្សាពីបច្ចេកទេសការតាមដានរាងកាយ និងដៃ (Hand tracking) ដោយប្រើប្រាស់បណ្ណាល័យ MediaPipe និង OpenCV ជាមុនសិន ដោយសរសេរកូដជាភាសា Python ដើម្បីទាញយកកូអរដោណេនៃម្រាមដៃនិងបាតដៃ។
  2. ស្វែងយល់ពី HMM និង Fuzzy Logic: សិក្សាពីទ្រឹស្តីម៉ូដែល Hidden Markov Model (HMM) សម្រាប់ការវិភាគទិន្នន័យតាមលំដាប់ពេលវេលា (Time-series) និងវិធីសាស្ត្រកំណត់ក្បួនតក្កវិជ្ជាស្រពិចស្រពិល (Fuzzy logic rules) ដោយអាចសាកល្បងប្រើប្រាស់កញ្ចប់បណ្ណាល័យ hmmlearn និង scikit-fuzzy
  3. ប្រមូលនិងរៀបចំទិន្នន័យ (Dataset Collection): ប្រើប្រាស់កាមេរ៉ា Webcam ធម្មតាដើម្បីថតវីដេអូកាយវិការដៃ (ឧទាហរណ៍ កាយវិការបញ្ជាឧបករណ៍ ឬកាយវិការភាសាសញ្ញា) ចំនួន ១០ ទៅ ១៥ ប្រភេទ ក្នុងលក្ខខណ្ឌពន្លឺផ្សេងៗគ្នា។ បន្ទាប់មក ទាញយកលក្ខណៈពិសេស (Feature extraction) ដូចជារូបរាងដៃ គន្លងចលនា និងការប្រែប្រួលទំហំបាតដៃ ទុកជាឯកសារ CSVJSON
  4. បង្កើតនិងហ្វឹកហាត់ម៉ូដែលកូនកាត់ (Build Hybrid Model): សរសេរកូដដើម្បីបង្កើតម៉ូដែល HMM ដាច់ដោយឡែកចំនួន ៣ (សម្រាប់រូបរាងដៃ, គន្លង 2D, និងចលនាអ័ក្ស Z) បន្ទាប់មកប្រើប្រាស់តម្លៃប្រូបាប៊ីលីតេ (Likelihood) ពី HMM ទាំងនេះជាទិន្នន័យបញ្ចូលទៅកាន់ Fuzzy Neural Network ។ និស្សិតអាចប្រើប្រាស់ Framework ដូចជា PyTorch សម្រាប់សាងសង់និងហ្វឹកហាត់បណ្តាញនេះ។
  5. ធ្វើតេស្តជាក់ស្តែង និងកែតម្រូវ (Real-time Testing & Tuning): សាកល្បងប្រើម៉ូដែលដែលហ្វឹកហាត់រួចជាមួយនឹងកាមេរ៉ាបន្តផ្ទាល់ (Live camera feed) ដើម្បីវាស់ស្ទង់អត្រាទទួលស្គាល់។ បើមានភាពរអាក់រអួល ត្រូវកែតម្រូវទម្ងន់នៃច្បាប់ Fuzzy Rules ឬបន្ថែមទិន្នន័យហ្វឹកហាត់ថ្មីៗ ដើម្បីឱ្យម៉ូដែលដំណើរការកាន់តែរលូន។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Hidden Markov Model (HMM) ជាម៉ូដែលស្ថិតិមួយដែលត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយសម្រាប់វិភាគនិងទស្សន៍ទាយទិន្នន័យដែលផ្លាស់ប្តូរតាមលំដាប់ពេលវេលា (ដូចជាចលនាកាយវិការ ឬសំឡេងនិយាយ) ដោយផ្អែកលើប្រូបាប៊ីលីតេនៃការផ្លាស់ប្តូរពីស្ថានភាពមួយទៅស្ថានភាពមួយទៀត។ នៅក្នុងការសិក្សានេះ វាត្រូវបានប្រើសម្រាប់ធ្វើម៉ូដែលនិងតាមដានលំដាប់នៃចលនាដៃនីមួយៗ។ ដូចជាការទស្សន៍ទាយអាកាសធាតុនៅថ្ងៃស្អែក ដោយពឹងផ្អែកលើការសង្កេតមើលពពកនិងអាកាសធាតុថ្ងៃនេះ និងថ្ងៃម្សិលមិញជាបន្តបន្ទាប់។
Fuzzy neural network (FNN) ជាប្រព័ន្ធកូនកាត់ដែលរួមបញ្ចូលគ្នានូវបណ្តាញសរសៃប្រសាទសិប្បនិម្មិត (Neural Network) ជាមួយនឹងតក្កវិជ្ជាស្រពិចស្រពិល (Fuzzy Logic)។ វាមានសមត្ថភាពក្នុងការរៀនសូត្រពីទិន្នន័យដោយស្វ័យប្រវត្តិ (ដូចជា Neural Network) និងអាចធ្វើការសម្រេចចិត្តលើទិន្នន័យដែលមិនច្បាស់លាស់ ឬមានលក្ខណៈស្រពិចស្រពិល (ដូចជា Fuzzy Logic) ដោយប្រើក្បួនវិធានដែលមនុស្សអាចយល់បាន។ ដូចជាចុងភៅម្នាក់ដែលរៀនពីបទពិសោធន៍រហូតអាចប៉ាន់ស្មានបានថាម្ហូបមួយមុខ "ប្រៃល្មម" ឬ "សាបបន្តិច" ដោយមិនបាច់ថ្លឹងបរិមាណអំបិលជាក់លាក់រាល់ដងនោះទេ។
temporal data modeling គឺជាដំណើរការនៃការបង្កើតម៉ូដែលគណិតវិទ្យាដើម្បីវិភាគទិន្នន័យដែលមានលក្ខណៈបន្តបន្ទាប់គ្នា និងប្រែប្រួលតាមពេលវេលា។ សម្រាប់កាយវិការ វាមានន័យថាការចាប់យកមិនត្រឹមតែរូបរាងដៃនៅពេលណាមួយប៉ុណ្ណោះទេ ថែមទាំងរបៀបដែលរូបរាង និងទីតាំងនោះផ្លាស់ប្តូរពីវិនាទីមួយទៅវិនាទីមួយទៀតដើម្បីកំណត់អត្ថន័យ។ ដូចជាការមើលវីដេអូរឿងមួយជារួម ជាជាងការមើលរូបថតតែមួយសន្លឹក ដើម្បីយល់ពីសាច់រឿងទាំងមូលដែលកំពុងកើតឡើង។
Gaussian mixture model (GMM) ជាម៉ូដែលប្រូបាប៊ីលីតេដែលសន្មតថាទិន្នន័យស្មុគស្មាញទាំងអស់ត្រូវបានបង្កើតឡើងពីការច្របាច់បញ្ចូលគ្នានៃការចែកចាយទិន្នន័យប្រភេទ Gaussian (ដែលមានរាងកណ្ដឹង) មួយចំនួន។ នៅក្នុងប្រព័ន្ធ HMM នេះ វាត្រូវបានប្រើដើម្បីគណនាលទ្ធភាពនិងចាត់ថ្នាក់លក្ខណៈកាយវិការដែលវាស់វែងបាន។ ដូចជាការបែងចែកក្រុមមនុស្សនៅក្នុងទីក្រុងមួយដោយផ្អែកលើកម្ពស់ ដោយដឹងថាវាមកពីការលាយឡំគ្នានៃក្រុមតូចៗច្រើន (ដូចជា ក្មេង យុវជន មនុស្សចាស់)។
Baum-Welch algorithm ជាក្បួនដោះស្រាយតាមវិធីសាស្ត្រស្ថិតិ (Expectation-Maximization) សម្រាប់ស្វែងរកប៉ារ៉ាម៉ែត្រដែលល្អបំផុតរបស់ម៉ូដែល HMM ដោយមិនចាំបាច់ដឹងពីស្ថានភាពលាក់កំបាំងពីមុនមក។ វាជួយឲ្យម៉ូដែលរៀនពីទិន្នន័យវីដេអូហ្វឹកហាត់បានត្រឹមត្រូវបំផុត ដើម្បីប្រើប្រាស់សម្រាប់ការទស្សន៍ទាយនៅពេលក្រោយ។ ដូចជាការសារ៉េកែតម្រូវប៊ូតុងសំឡេងរ៉ាឌីយ៉ូជាច្រើនដងដោយស្វ័យប្រវត្តិ រហូតទាល់តែយើងអាចចាប់ប៉ុស្តិ៍បានច្បាស់បំផុតដោយមិនមានសំឡេងរំខាន។
BP (back-propagation) algorithm ជាក្បួនដោះស្រាយដ៏សំខាន់សម្រាប់បង្វឹកបណ្តាញសរសៃប្រសាទ ដោយវាធ្វើការគណនាកំហុស (Error) រវាងលទ្ធផលដែលម៉ូដែលទាយ និងលទ្ធផលពិតប្រាកដ រួចបញ្ជូនកំហុសនេះត្រឡប់ថយក្រោយវិញនៅក្នុងបណ្តាញ ដើម្បីកែតម្រូវទម្ងន់ (Weights) នៃចំណុចភ្ជាប់នីមួយៗឲ្យការទស្សន៍ទាយលើកក្រោយកាន់តែសុក្រឹត។ ដូចជាសិស្សម្នាក់ដែលធ្វើលំហាត់ខុស ហើយគ្រូប្រាប់ពីចំណុចខុស រួចសិស្សនោះគិតត្រឡប់ថយក្រោយដើម្បីរកមើលថាតើខ្លួនគិតខុសនៅត្រង់ជំហានណា ដើម្បីកុំឲ្យខុសនៅថ្ងៃក្រោយទៀត។

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

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

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