Original Title: Group Graph Convolutional Networks for 3D Human Pose Estimation
Source: bmvc2022.mpi-inf.mpg.de
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

បណ្តាញ Group Graph Convolutional Networks សម្រាប់ការប៉ាន់ស្មានកាយវិការមនុស្សជាទម្រង់ 3D

ចំណងជើងដើម៖ Group Graph Convolutional Networks for 3D Human Pose Estimation

អ្នកនិពន្ធ៖ Zijian Zhang (Beijing University of Posts and Telecommunications)

ឆ្នាំបោះពុម្ព៖ 2022

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

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

បញ្ហា (The Problem)៖ ការប៉ាន់ស្មានកាយវិការមនុស្សជាទម្រង់ 3D (3D Human Pose Estimation) ដោយផ្អែកលើគ្រោងឆ្អឹង មានការកំណត់ដោយសារយន្តការប្រមូលផ្តុំរួមបញ្ចូលគ្នា (coupling aggregation mechanism) នៅក្នុងបណ្តាញ Graph Convolutional Networks (GCNs) ដែលប្រើប្រាស់ខឺណែលតែមួយសម្រាប់គ្រប់ប៉ុស្តិ៍ (channels)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានស្នើឡើងនូវបណ្តាញ Group Graph Convolutional Networks (GroupGCN) ដើម្បីដោះស្រាយបញ្ហានេះ តាមរយៈការបំបែកយន្តការ និងផ្តល់លទ្ធភាពឱ្យក្រុមនីមួយៗមានអន្តរកម្មជាមួយគ្នា។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Coupling GCN (Baseline)
បណ្តាញ Coupling GCN (ម៉ូដែលគោល)
ងាយស្រួលក្នុងការអនុវត្ត និងជារចនាសម្ព័ន្ធមូលដ្ឋានទូទៅសម្រាប់បណ្តាញក្រាហ្វ។ ប្រើប្រាស់ spatial aggregation kernel រួមគ្នាសម្រាប់គ្រប់ប៉ុស្តិ៍ (channels) ដែលធ្វើឱ្យខ្វះភាពបត់បែន និងមិនអាចទាញយកលក្ខណៈពិសេសរបស់ចលនាផ្សេងៗគ្នាបានល្អ។ ទទួលបានលទ្ធផលកំហុស MPJPE 37.65mm លើសំណុំទិន្នន័យ Human3.6M ។
GroupGCN (Proposed)
បណ្តាញ GroupGCN (ម៉ូដែលស្នើឡើង)
កាត់បន្ថយប៉ារ៉ាម៉ែត្របានរហូតដល់ 70% ធៀបនឹងម៉ូដែលដទៃ និងមានភាពបត់បែនខ្ពស់ក្នុងការរៀនពីទំនាក់ទំនងសន្លាក់ឆ្អឹងតាមរយៈការបំបែក aggregation ជាក្រុម និងការបង្កើតអន្តរកម្ម។ តម្រូវឱ្យមានការកំណត់ចំនួនក្រុម (groups) និងជ្រើសរើសយុទ្ធសាស្រ្តអន្តរកម្ម (interaction strategy) ឱ្យបានត្រឹមត្រូវ ដើម្បីចៀសវាងការធ្លាក់ចុះប្រសិទ្ធភាពនៃការទស្សន៍ទាយ។ ទទួលបានលទ្ធផលល្អបំផុតដោយមានកំហុស MPJPE ត្រឹម 35.28mm (ពេលប្រើប្រាស់ចំនួន 4 ក្រុម និងមុខងារ Connecting Interaction) ជាមួយនឹងប៉ារ៉ាម៉ែត្រត្រឹមតែ 1.07M ។
GraphSH
បណ្តាញ GraphSH
មានសមត្ថភាពខ្ពស់ក្នុងការចាប់យកព័ត៌មានកាយវិការ និងផ្តល់លទ្ធផលប្រកួតប្រជែងនៅក្នុងការស្រាវជ្រាវមុនៗ។ ទាមទារប៉ារ៉ាម៉ែត្រច្រើនរហូតដល់ 3.70M ដែលធ្វើឱ្យម៉ូដែលមានទំហំធំ និងប្រើប្រាស់ធនធានគណនាច្រើនជាងម៉ូដែលថ្មីៗ។ មានប៉ារ៉ាម៉ែត្រច្រើនជាង GroupGCN ដល់ទៅ 3 ដង ប៉ុន្តែលទ្ធផល MPJPE នៅតែខ្ពស់ជាង (មិនសូវល្អដូច) GroupGCN បន្តិច។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះតម្រូវឱ្យមានធនធានកុំព្យូទ័រល្មមសម្រាប់ការហ្វឹកហាត់ ដោយសារម៉ូដែលត្រូវបានបង្រួមទំហំប៉ារ៉ាម៉ែត្រយ៉ាងច្រើនរួចទៅហើយ ប៉ុន្តែនៅតែទាមទារ GPU ។

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

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

ទិន្នន័យចម្បងដែលត្រូវបានប្រើប្រាស់សម្រាប់ការហ្វឹកហាត់គឺ Human3.6M ដែលត្រូវបានប្រមូលនៅក្នុងបន្ទប់ពិសោធន៍មានការគ្រប់គ្រងបរិយាកាសពន្លឺច្បាស់លាស់ និងមានសកម្មភាពប្រចាំថ្ងៃរបស់មនុស្សនៅបស្ចិមប្រទេស។ សម្រាប់បរិបទប្រទេសកម្ពុជា ម៉ូដែលនេះអាចនឹងជួបការលំបាក (Accuracy Drop) នៅពេលអនុវត្តលើការស្លៀកពាក់ប្រពៃណី ឬសកម្មភាពនៅទីវាលស្រែចម្ការ ដែលមានពន្លឺស្មុគស្មាញ និងទម្រង់កាយវិការខុសពីទិន្នន័យដើម។

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

ទោះជាយ៉ាងណាក៏ដោយ បច្ចេកវិទ្យានេះមានសក្តានុពលខ្ពស់សម្រាប់ការអនុវត្តនៅកម្ពុជា ដោយសារតែវាទាមទារទំហំប៉ារ៉ាម៉ែត្រតូច (1.07M) ដែលស័ក្តិសមសម្រាប់ដំណើរការលើឧបករណ៍កុំព្យូទ័រដែលមានកម្លាំងទាប។

ជារួម ភាពស្រាលនិងប្រសិទ្ធភាពខ្ពស់របស់ GroupGCN ផ្តល់នូវឱកាសដ៏ល្អសម្រាប់សាកលវិទ្យាល័យនិងអ្នកអភិវឌ្ឍន៍នៅកម្ពុជា ក្នុងការបង្កើតកម្មវិធីវិភាគកាយវិការ 3D ជាក់ស្តែងដោយមិនតម្រូវឱ្យមានប្រព័ន្ធ Server ថ្លៃៗឡើយ។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃក្រាហ្វ (Graph Neural Networks): និស្សិតគប្បីចាប់ផ្តើមពីការស្វែងយល់ទ្រឹស្តីទាក់ទងនឹងចំណុច (Nodes/សន្លាក់) និងគែម (Edges/ឆ្អឹង) ដោយប្រើប្រាស់ឯកសារបង្រៀនស្តីពីបណ្ណាល័យ PyTorch Geometric ដើម្បីយល់ពីរបៀបដែល GCN ដំណើរការលើរចនាសម្ព័ន្ធក្រាហ្វ។
  2. ស្វែងយល់ពីយន្តការ Group Convolution: ត្រូវអាននិងសិក្សាពីអត្ថបទស្រាវជ្រាវកាលពីមុនដូចជា AlexNetShuffleNet ដើម្បីយល់ពីអត្ថប្រយោជន៍នៃការបែងចែកប៉ុស្តិ៍ (Channels) ជាក្រុម ក្នុងការកាត់បន្ថយទំហំប៉ារ៉ាម៉ែត្រម៉ូដែលដោយមិនបាត់បង់គុណភាព។
  3. សាកល្បងហ្វឹកហាត់ម៉ូដែលលើឧបករណ៍ឥតគិតថ្លៃ: ស្វែងរកកូដចំហ (Open-source) របស់ GroupGCN ពី GitHub រួចយកមកដំណើរការលើ Google Colab ដោយសាកល្បងផ្លាស់ប្តូរចំនួនក្រុម g ពី 4 ទៅ 8 និងកំណត់យន្តការ Adding Interaction (AI) ដើម្បីសង្កេតមើលភាពខុសគ្នានៃកំហុស MPJPE ។
  4. បង្កើត Pipeline ដោយប្រើរូបភាពក្នុងស្រុក: ប្រើប្រាស់ឧបករណ៍ចាប់កាយវិការ 2D ដូចជា MediaPipeYOLOv8-Pose ដើម្បីទាញយកទិន្នន័យទីតាំង 2D Keypoints ពីរូបភាពវីដេអូសកម្មភាពជនជាតិខ្មែរពិតប្រាកដ រួចបញ្ជូនទិន្នន័យ 2D នោះទៅកាន់ម៉ូដែល GroupGCN ដើម្បីទស្សន៍ទាយទីតាំងសន្លាក់ជាទម្រង់ 3D ។
  5. អភិវឌ្ឍន៍កម្មវិធី Web API សម្រាប់ការប្រើប្រាស់ជាក់ស្តែង: ប្រើប្រាស់ FastAPIFlask ដើម្បីសរសេរជាសេវាកម្ម API មួយដែលអាចឱ្យអ្នកប្រើប្រាស់បញ្ជូនវីដេអូចូល ហើយប្រព័ន្ធនឹងធ្វើការវិភាគរួចបញ្ចេញលទ្ធផលគ្រោងឆ្អឹង 3D Animation ត្រឡប់មកវិញសម្រាប់ការបង្ហាញលើវេបសាយ ឬកម្មវិធីទូរស័ព្ទ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Graph Convolutional Networks (GCNs) ជាបណ្តាញសរសៃប្រសាទសិប្បនិម្មិតដែលរចនាឡើងយ៉ាងពិសេសសម្រាប់ដំណើរការទិន្នន័យដែលមានទម្រង់ជាក្រាហ្វ (ដូចជាបណ្តាញទំនាក់ទំនងសង្គម ឬរចនាសម្ព័ន្ធគ្រោងឆ្អឹង) ដោយវាទាញយកលក្ខណៈពិសេសតាមរយៈទំនាក់ទំនងនៃចំណុច (Nodes) និងគែម (Edges) ដែលនៅក្បែរៗគ្នា។ ដូចជាក្រុមមនុស្សដែលឈរតភ្ជាប់ដៃគ្នា ហើយម្នាក់ៗរៀនសូត្រពីព័ត៌មានរបស់អ្នកដែលនៅជាប់ខ្លួនផ្ទាល់ ដើម្បីយល់ពីស្ថានភាពរួម។
3D Human Pose Estimation (HPE) ជាបច្ចេកវិទ្យាបញ្ញាសិប្បនិម្មិតក្នុងការទស្សន៍ទាយទីតាំងកូអរដោណេកម្រិតលំហ 3D (x, y, z) នៃសន្លាក់ឆ្អឹងសំខាន់ៗរបស់មនុស្ស ដោយប្រើប្រាស់ទិន្នន័យត្រឹមតែរូបភាព ឬវីដេអូ 2D ធម្មតាប៉ុណ្ណោះ។ ដូចជាការមើលរូបថតរាបស្មើ (2D) រួចអាចស្រមៃគិត និងសាងសង់រូបសំណាកមនុស្សនោះជាទម្រង់ 3D ដែលអាចមើលបានគ្រប់ជ្រុង។
Group Convolution ជាបច្ចេកទេសក្នុងបណ្តាញ Neural Networks ដែលបែងចែកទិន្នន័យបញ្ចូន (Channels) ទៅជាក្រុមតូចៗ ហើយធ្វើការគណនាដាច់ដោយឡែកពីគ្នា ដែលជួយកាត់បន្ថយចំនួនប៉ារ៉ាម៉ែត្រម៉ូដែល និងសន្សំសំចៃធនធានកុំព្យូទ័របានយ៉ាងច្រើន។ ជំនួសឱ្យការឱ្យមនុស្សម្នាក់ធ្វើការងារទាំងអស់តែឯង យើងបែងចែកការងារជាក្រុមតូចៗឱ្យពួកគេធ្វើរៀងៗខ្លួនដើម្បីឱ្យឆាប់ចប់និងចំណាយកម្លាំងតិច។
Spatial Aggregation Kernel ជាម៉ាទ្រីសទម្ងន់ដែលទទួលបន្ទុកប្រមូលផ្តុំព័ត៌មានពីចំណុច (Nodes) ដែលនៅក្បែរៗគ្នាក្នុងទម្រង់ក្រាហ្វ ដើម្បីឱ្យម៉ូដែលយល់ពីទំនាក់ទំនងនៃលំហរវាងចំណុចទាំងនោះ (ឧទាហរណ៍ របៀបដែលកដៃធ្វើចលនាតាមកែងដៃ)។ ដូចជាមេភូមិដែលដើរប្រមូលមតិយោបល់ពីអ្នកភូមិដែលនៅជិតខាង ដើម្បីធ្វើការសម្រេចចិត្តរួមមួយសម្រាប់ភូមិទាំងមូល។
Decoupling Aggregation ជាយន្តការបំបែកការប្រមូលផ្តុំព័ត៌មានចេញពីគ្នា ពោលគឺវាអនុញ្ញាតឱ្យប៉ុស្តិ៍ទិន្នន័យនីមួយៗ (ឬក្រុមនីមួយៗ) មាន Spatial Aggregation Kernel ផ្ទាល់ខ្លួន ដើម្បីរៀនពីទំនាក់ទំនងកាយវិការផ្សេងៗគ្នា ជំនួសឱ្យការប្រើប្រាស់ម៉ាទ្រីសរួមគ្នាតែមួយសម្រាប់គ្រប់មុខងារ។ ដូចជាការអនុញ្ញាតឱ្យគ្រូបង្រៀនមុខវិជ្ជាផ្សេងៗគ្នា មានរបៀបបង្រៀនសិស្សរៀងៗខ្លួន ជាជាងបង្ខំឱ្យគ្រូទាំងអស់បង្រៀនតាមទម្រង់តែមួយដូចគ្នាទាំងអស់។
Mean Per Joint Positioning Error (MPJPE) ជារង្វាស់ខ្នាតស្តង់ដារសម្រាប់វាយតម្លៃភាពត្រឹមត្រូវនៃម៉ូដែលប៉ាន់ស្មានកាយវិការ 3D ដោយគណនាមធ្យមភាគនៃគម្លាតចម្ងាយ (គិតជាមីលីម៉ែត្រ) រវាងទីតាំងសន្លាក់ដែលម៉ូដែលទស្សន៍ទាយបាន ធៀបនឹងទីតាំងសន្លាក់ជាក់ស្តែង (Ground Truth)។ ដូចជាការប្រើបន្ទាត់ដើម្បីវាស់មើលថាតើចំណុចដែលយើងគូសរង្វាស់ ខុសពីចំណុចគោលដៅពិតប្រាកដចំនួនប៉ុន្មានមីលីម៉ែត្រ។
Channel Shuffle ជាប្រតិបត្តិការរៀបចំប៉ុស្តិ៍ទិន្នន័យឡើងវិញរវាងក្រុមផ្សេងៗគ្នា (Group Interacting) បន្ទាប់ពីពួកវាត្រូវបានគណនាដាច់ដោយឡែកពីគ្នា ដើម្បីធានាថាព័ត៌មានកាយវិការអាចផ្លាស់ប្តូរ និងប្រាស្រ័យទាក់ទងគ្នាទៅវិញទៅមកបានរវាងក្រុម។ ដូចជាការរុះរើសមាជិកក្រុមនិស្សិតបន្ទាប់ពីធ្វើការងារមួយចប់ ដើម្បីឱ្យពួកគេផ្លាស់ប្តូរចំណេះដឹងជាមួយសមាជិកដែលមកពីក្រុមផ្សេងទៀតកុំឱ្យចេះតែឯកឯង។

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

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

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