Kutabiri Vitendo vya Binadamu
Maelezo
Mradi huu ulikuwa mradi #3 kwa ajili ya darasa la Dr. Zhang la Human Centered Robotics (CSCI473) katika Colorado School of Mines wakati wa muhula wa Spring 2020. Ulibuniwa ili kutoa utangulizi wa ujifunzaji wa mashine katika roboti kupitia matumizi ya Mashine za Vekta za Usaidizi (SVM). Matokeo/maelezo ya awali ya mradi yanaweza kutazamwa hapa.
Kwa mradi huu, Mkusanyiko wa Data wa MSR Daily Activity 3D (Kielelezo 2), ukiwa na marekebisho fulani, ulitumika. Mkusanyiko huu wa data una shughuli 16 za binadamu zilizokusanywa kutoka kwa kihisi cha Xbox Kinetic na kuhifadhiwa kama mifupa. Mifupa ni safu ya viwianishi halisi vya ulimwengu, (x, y, z), vya viungo 20 vya binadamu vilivyorekodiwa katika fremu moja. Hapa kuna kielelezo kinachoonyesha mifupa ni nini:
Ili kufanikisha utabiri wa vitendo vya binadamu, data ghafi lazima iwakilishwe katika umbo linaloweza kuchakatwa na SVM. Kwa mradi huu, uwakilishi ufuatao ulitumiwa:
- Uwakilishi wa Pembe na Umbali wa Kijamaa (RAD)
- Uwakilishi wa Histogramu ya Tofauti za Nafasi za Viungo (HJPD)
Kwa uainishaji, uwakilishi huo hutumwa kwenye SVM, inayotumia LIBSVM, ili kuunda modeli inayoweza kutabiri vitendo vya binadamu. Miodeli miwili itaundwa, moja ikitumia RAD na nyingine ikitumia HJPD. Lengo ni kufanya modeli hizi ziwe sahihi kadiri inavyowezekana na kuona ni uwakilishi upi unaofanya vizuri zaidi.
Kwa kujua hili, hapa kuna muhtasari wa kile ambacho msimbo unafanya:
- Pakia data ghafi kutoka kwa mkusanyiko wa data uliobadilishwa
- Ondoa data yoyote isiyo ya kawaida na/au ya makosa kutoka kwa mkusanyiko wa data uliopakiwa
- Geuza data ghafi ya mwisho kuwa uwakilishi wa RAD na HJPD
- Uwakilishi hutumwa kwenye SVM(s) zilizorekebishwa ili kuzalisha modeli mbili
- Kisha modeli hizo mbili hulishwa data ghafi ya majaribio na matriksi ya mkanganyiko huzalishwa ili kupima jinsi modeli(s) zilivyofanya kazi.
Matokeo
Baada ya kuendesha msimbo na kurekebisha modeli kadiri nilivyoweza, haya hapa ni matriksi za mwisho za mkanganyiko kwa modeli zote mbili za RAD na HJPD:
Representation: RAD
Accuracy: 62.5%
LIBSVM Classification 8.0 10.0 12.0 13.0 15.0 16.0
Actual Activity Number
8.0 8 0 0 0 0 0
10.0 1 5 0 0 1 1
12.0 0 1 1 0 3 3
13.0 0 0 0 6 1 1
15.0 0 0 0 1 5 2
16.0 0 0 0 0 3 5
Representation: HJPD
Accuracy: 70.83%
LIBSVM Classification 8.0 10.0 12.0 13.0 15.0 16.0
Actual Activity Number
8.0 7 1 0 0 0 0
10.0 1 5 0 0 0 2
12.0 0 0 7 0 1 0
13.0 2 0 1 5 0 0
15.0 0 0 0 0 7 1
16.0 0 2 0 0 3 3
Hitimisho
Kwa kuwa usahihi wote wawili uko juu ya 50%, mradi huu ulikuwa mafanikio. Pia, uwakilishi wa HJPD unaonekana kuwa uwakilishi sahihi zaidi kutumia kwa uainishaji huu. Pamoja na hili, kuna modeli(s) inayotabiri vitendo vya binadamu kwa kutumia data ya mifupa. Modeli(s) hapa ziko mbali na ukamilifu lakini ni bora kuliko nasibu. Mradi huu ndio uliotoa kuzaliwa kwa mradi wa Moving Pose baadaye.
Vidokezo vya Ziada:
- Mradi huu ulijaribiwa kwenye toleo la Python 3.8.13
- Kwa mradi huu, mkusanyiko kamili wa data wa MDA3 na mkusanyiko uliobadilishwa wa data wa MDA3 ulitumika. MDA3 uliobadilishwa una shughuli 8, 10, 12, 13, 15, na 16 pekee. Pia toleo lililobadilishwa lina baadhi ya sehemu za data “zilizoharibika” ilhali mkusanyiko kamili wa data hauna.
- Uwakilishi wa Nafasi na Muda wa Watu Kulingana na Data ya Mifupa ya 3D: Mapitio
- YouTube: Jinsi Kihisi cha Kina cha Kinect Hufanya Kazi kwa Dakika 2
- Medium: Kuelewa Viungo vya Kinect V2 na Mfumo wa Viwianishi
- Ukurasa wa Wikipedia wa Kinect
- Jameco Xbox Kinect
- Taarifa Kuhusu SVM(s) na LibSVM: cjlin libsvm, ukurasa wa libsvm pypi, na libsvm github
- Mantiki na Nyaraka za SVM & LIBSVM: karatasi ya mwongozo ya cjlin na seti za data za cjlin libsvmtools
- Taarifa Kuhusu Mkusanyiko wa Data Uliotumika/Kubadilishwa