ບົດທີ 6: ການຕິດຕາມທ່າທາງຮ່າງກາຍ ແລະ ມືແບບເວລາຈິງ
LO
Session 645 minutes

ບົດທີ 6: ການຕິດຕາມທ່າທາງຮ່າງກາຍ ແລະ ມືແບບເວລາຈິງ

Learning objective: ຕິດຕາມ 17 ຈຸດຂອງໂຄງກະດູກ ລວມທັງບ່າ, ສອກ, ຂໍ້ມື, ສະໂພກ ແລະ ຫົວເຂົ່າ.

Theory & practice

🤸 ບົດທີ 6: ການຕິດຕາມທ່າທາງ — ຫຸ່ນຍົນທີ່ເຮັດຕາມທ່າຂອງເຈົ້າ

🤖 AI ທີ່ເຂົ້າໃຈການເຄື່ອນໄຫວຂອງຮ່າງກາຍ

ໃນບົດກ່ອນ, AI ໄດ້ກວດຈັບໃບໜ້າ. ໃນບົດນີ້, ພວກເຮົາຈະຊ່ວຍໃຫ້ຄອມພິວເຕີຮັບຮູ້ທ່າທາງຂອງທັງຮ່າງກາຍ ໂດຍໃຊ້ ການປະເມີນທ່າທາງ (Pose Estimation).

ລະບົບຈະຊອກຫາຈຸດສຳຄັນເທິງຮ່າງກາຍ, ແລ້ວໃຊ້ພິກັດຂອງຈຸດເຫຼົ່ານັ້ນເພື່ອຮູ້ວ່າເຈົ້າກຳລັງຢືນ, ອຽງ ຫຼື ຍົກແຂນ.

ພາລະກິດ: ໃຫ້ຕົວລະຄອນ ຫຼື ຫຸ່ນຍົນເຮັດການກະທຳທີ່ກົງກັບທ່າທາງຂອງຜູ້ໃຊ້.

🎯 ຈຸດປະສົງການຮຽນ

ຫຼັງຈາກບົດຮຽນນີ້, ເຈົ້າຈະສາມາດ:

  • ອະທິບາຍວ່າຈຸດສຳຄັນຂອງຮ່າງກາຍ (keypoint) ແມ່ນຫຍັງ.
  • ເປີດການກວດຈັບທ່າທາງໃນ PictoBlox.
  • ອ່ານພິກັດຂອງບ່າ, ສອກ ແລະ ຂໍ້ມື.
  • ຮັບຮູ້ທ່າຍົກແຂນ.
  • ຄວບຄຸມຕົວລະຄອນດ້ວຍການເຄື່ອນໄຫວຂອງຮ່າງກາຍ.

1. Pose Estimation ແມ່ນຫຍັງ?

Pose Estimation ແມ່ນເຕັກໂນໂລຊີທີ່ຊ່ວຍໃຫ້ AI ຫາຕຳແໜ່ງຂອງສ່ວນຕ່າງໆຂອງຮ່າງກາຍໃນຮູບ ຫຼື ວິດີໂອ.

ລະບົບ PoseNet ແບ່ງຮ່າງກາຍອອກເປັນ 17 ຈຸດສຳຄັນ:

ກຸ່ມຈຸດສຳຄັນ
ໃບໜ້າດັງ, ຕາຊ້າຍ, ຕາຂວາ, ຫູຊ້າຍ, ຫູຂວາ
ແຂນບ່າ, ສອກ ແລະ ຂໍ້ມື
ຂາສະໂພກ, ຫົວເຂົ່າ ແລະ ຂໍ້ຕີນ

ແຕ່ລະຈຸດສຳຄັນມັກມີ:

  • ພິກັດ x: ຕຳແໜ່ງຕາມແນວນອນ.
  • ພິກັດ y: ຕຳແໜ່ງຕາມແນວຕັ້ງ.
  • ຄະແນນຄວາມໝັ້ນໃຈ: AI ແນ່ໃຈໃນການກວດຈັບປານໃດ.

2. ກຽມກ້ອງ

ເພື່ອໃຫ້ກວດຈັບທ່າທາງໄດ້ແມ່ນຍຳ:

  1. 1ວາງກ້ອງໄວ້ໃນຕຳແໜ່ງທີ່ໝັ້ນຄົງ.
  2. 2ຢືນໃຫ້ໄກພໍທີ່ກ້ອງຈະເຫັນຮ່າງກາຍສ່ວນເທິງ ຫຼື ທັງຕົວ.
  3. 3ເລືອກບ່ອນທີ່ມີແສງສະຫວ່າງດີ.
  4. 4ຫຼີກລ່ຽງການມີຫຼາຍຄົນໃນກອບພາບ.
  5. 5ເຮັດໃຫ້ມີບ່ອນວ່າງອ້ອມຕົວກ່ອນເຄື່ອນໄຫວ.
⚠️ ຢ່າເຄື່ອນໄຫວໄວເກີນໄປ ຫຼື ຢືນໃກ້ສິ່ງກີດຂວາງໃນຂະນະຝຶກຫັດ.

3. ເພີ່ມສ່ວນຂະຫຍາຍ Pose Detection

ໃນ PictoBlox:

  1. 1ຄລິກ Extension.
  2. 2ຊອກຫາ ແລະ ເລືອກ Pose Detection ຫຼື Human Body Detection.
  3. 3ອະນຸຍາດໃຫ້ PictoBlox ໃຊ້ເວັບແຄມ.
  4. 4ກວດວ່າບລັອກກວດຈັບທ່າທາງປາກົດແລ້ວ.

ຊື່ບລັອກອາດແຕກຕ່າງກັນເລັກນ້ອຍໃນແຕ່ລະເວີຊັນຂອງ PictoBlox.

4. ເປີດ ແລະ ວິເຄາະວິດີໂອ

ສ້າງໂປຣແກຣມພື້ນຖານ:

text
when green flag clicked
turn video on stage with 20% transparency

forever
    analyse pose from camera

ບລັອກວິເຄາະຕ້ອງຢູ່ໃນການວົນຊ້ຳ forever ເພື່ອໃຫ້ AI ອັບເດດຕຳແໜ່ງຮ່າງກາຍຢູ່ສະເໝີເມື່ອເຈົ້າເຄື່ອນໄຫວ.

5. ອ່ານພິກັດຂອງຈຸດສຳຄັນ

ເພື່ອຮັບຮູ້ການເຄື່ອນໄຫວຂອງແຂນ, ພວກເຮົາຕ້ອງການຈຸດເຫຼົ່ານີ້:

text
ບ່າຊ້າຍ
ບ່າຂວາ
ຂໍ້ມືຊ້າຍ
ຂໍ້ມືຂວາ

ສ້າງຕົວປ່ຽນ:

text
Left_Shoulder_Y
Right_Shoulder_Y
Left_Wrist_Y
Right_Wrist_Y

ອັບເດດຄ່າຂອງມັນ:

text
forever
    analyse pose from camera

    set [Left_Shoulder_Y] to
        [y position of left shoulder]

    set [Left_Wrist_Y] to
        [y position of left wrist]

ເມື່ອເຈົ້າຍົກແຂນຊ້າຍ, ຂໍ້ມືຈະຢູ່ສູງກວ່າບ່າ.

text
if <Left_Wrist_Y greater than Left_Shoulder_Y> then
    say "ເຈົ້າກຳລັງຍົກແຂນຊ້າຍ!"
🔍 ກວດທິດທາງຂອງແກນ Y ກ່ອນຂຽນເງື່ອນໄຂ: ໃຫ້ຕົວລະຄອນ say [Left_Wrist_Y], ແລ້ວລົດແຂນລົງ ແລະ ຍົກແຂນຂຶ້ນສະລັບກັນ. ຖ້າຄ່າ ເພີ່ມຂຶ້ນ ເມື່ອຍົກແຂນ, ໃຫ້ໃຊ້ greater than ຄືໃນບົດນີ້. ຖ້າຄ່າ ຫຼຸດລົງ, ໃຫ້ປ່ຽນທຸກການປຽບທຽບເປັນ less than.

6. ຮັບຮູ້ແຕ່ລະທ່າ

Mục Trọng Tâm

ຍົກແຂນຊ້າຍ

text
if <Left_Wrist_Y greater than Left_Shoulder_Y> then
    say "ແຂນຊ້າຍຍົກຂຶ້ນແລ້ວ!"
Mục Trọng Tâm

ຍົກແຂນຂວາ

text
if <Right_Wrist_Y greater than Right_Shoulder_Y> then
    say "ແຂນຂວາຍົກຂຶ້ນແລ້ວ!"
Mục Trọng Tâm

ຍົກທັງສອງແຂນ

text
if
    <Left_Wrist_Y greater than Left_Shoulder_Y>
    and
    <Right_Wrist_Y greater than Right_Shoulder_Y>
then
    say "ຍົກທັງສອງແຂນແລ້ວ!"

7. ໂປຣເຈັກນ້ອຍ: ຫຸ່ນຍົນເຮັດຕາມ

Mục Trọng Tâm

ໜ້າວຽກ

ໃຫ້ຕົວລະຄອນປ່ຽນຊຸດໃຫ້ກົງກັບທ່າທາງຂອງຜູ້ໃຊ້.

text
when green flag clicked
turn video on stage with 20% transparency

forever
    analyse pose from camera

    set [Left_Shoulder_Y] to [y position of left shoulder]
    set [Right_Shoulder_Y] to [y position of right shoulder]
    set [Left_Wrist_Y] to [y position of left wrist]
    set [Right_Wrist_Y] to [y position of right wrist]

    if
        <Left_Wrist_Y greater than Left_Shoulder_Y>
        and
        <Right_Wrist_Y greater than Right_Shoulder_Y>
    then
        switch costume to [Both arms up]
        say "ເກັ່ງຫຼາຍ!" for 1 seconds
    else
        if <Left_Wrist_Y greater than Left_Shoulder_Y> then
            switch costume to [Left arm up]
        else
            if <Right_Wrist_Y greater than Right_Shoulder_Y> then
                switch costume to [Right arm up]
            else
                switch costume to [Standing]

ຕົວລະຄອນປ່ຽນຮູບລັກສະນະໃຫ້ກົງກັບທ່າທາງຂອງເຈົ້າ.

8. ຄວບຄຸມຫຸ່ນຍົນດ້ວຍທ່າທາງ

ເຈົ້າສາມາດຕົກລົງກັນວ່າ:

ທ່າທາງຄຳສັ່ງຫຸ່ນຍົນ
ຍົກແຂນຊ້າຍລ້ຽວຊ້າຍ
ຍົກແຂນຂວາລ້ຽວຂວາ
ຍົກທັງສອງແຂນເດີນໜ້າ
ລົດທັງສອງແຂນລົງຢຸດ

ຕົວຢ່າງ:

text
if <both arms up> then
    robot forward
else
    if <left arm up> then
        robot turn left
    else
        if <right arm up> then
            robot turn right
        else
            robot stop
⚠️ ທົດສອບໂປຣແກຣມກັບຕົວລະຄອນເທິງເວທີສະເໝີ ກ່ອນເຊື່ອມຕໍ່ຫຸ່ນຍົນແທ້.

9. ຖ້າ AI ບໍ່ແມ່ນຍຳ

ໃຫ້ກວດ:

  • ບ່າ ແລະ ແຂນທັງສອງຢູ່ໃນກອບພາບບໍ?
  • ຫ້ອງສະຫວ່າງພໍບໍ?
  • ເສື້ອຜ້າຂອງເຈົ້າໂດດເດັ່ນຈາກພື້ນຫຼັງບໍ?
  • ມີຫຼາຍຄົນໃນກອບພາບບໍ?
  • ກ້ອງສັ່ນບໍ?
  • ບລັອກວິເຄາະທ່າທາງຢູ່ໃນການວົນຊ້ຳບໍ?

ຖ້າຕົວລະຄອນປ່ຽນສະຖານະໄປມາເລື້ອຍໆ, ໃຫ້ຖືແຕ່ລະທ່າໄວ້ໃຫ້ນິ່ງປະມານ 1 ວິນາທີ ກ່ອນທີ່ມັນຈະເຮັດວຽກ.

🧩 ສິ່ງທ້າທາຍ

ປັບປຸງໂປຣເຈັກດ້ວຍແນວຄິດໜຶ່ງ:

  1. 1ສ້າງເກມອອກກຳລັງກາຍທີ່ໃຫ້ຄະແນນທຸກເທື່ອທີ່ຍົກແຂນ.
  2. 2ບັງຄັບຍານອະວະກາດໂດຍການອຽງຕົວ.
  3. 3ຫຼິ້ນສຽງເມື່ອຜູ້ຫຼິ້ນຍົກທັງສອງແຂນ.
  4. 4ໃຫ້ຕົວລະຄອນກະໂດດເມື່ອຂໍ້ມືຢູ່ສູງກວ່າຫົວ.
  5. 5ເພີ່ມຕົວປ່ຽນ Reps ເພື່ອນັບການເຄື່ອນໄຫວທີ່ຖືກຕ້ອງ.

✅ ຈື່ໄວ້

  • Pose Estimation ຊ່ວຍໃຫ້ AI ຮັບຮູ້ທ່າທາງຂອງຮ່າງກາຍ.
  • PoseNet ໃຊ້ 17 ຈຸດສຳຄັນ.
  • ແຕ່ລະຈຸດສຳຄັນມີພິກັດ x ແລະ y ແລະ ຄະແນນຄວາມໝັ້ນໃຈ.
  • ການປຽບທຽບຂໍ້ມືກັບບ່າ ຊ່ວຍຮັບຮູ້ການຍົກແຂນ.
  • ເງື່ອນໄຂປ່ຽນທ່າທາງໃຫ້ເປັນການກະທຳຂອງຕົວລະຄອນ ຫຼື ຫຸ່ນຍົນ.
  • ກ້ອງຕ້ອງການແສງສະຫວ່າງດີ ແລະ ເຫັນຮ່າງກາຍຊັດເຈນ.
Mục Trọng Tâm

ຄຳຖາມດ່ວນ

  1. 1ຈຸດສຳຄັນ (keypoint) ແມ່ນຫຍັງ?
  2. 2PoseNet ກວດຈັບຈຸດສຳຄັນໄດ້ຈັກຈຸດ?
  3. 3ເຈົ້າປຽບທຽບຈຸດໃດເພື່ອຮັບຮູ້ການຍົກແຂນ?
  4. 4ເປັນຫຍັງຕ້ອງທົດສອບເທິງເວທີກ່ອນຄວບຄຸມຫຸ່ນຍົນແທ້?

Sẵn sàng kiểm tra kiến thức?

Chuyển sang phòng thi riêng để làm bài, xem kết quả và giải thích.

ແບບທົດສອບຄວາມສາມາດພາກທີ 2: ການເບິ່ງເຫັນຂອງຄອມພິວເຕີ ແລະ ການຕິດຕາມທ່າທາງດ້ວຍ AI →14 questions · 15 minutes