Lesson 4, Topic 3
In Progress
활동: AI를 사용한 손가락 추적
Lesson Progress
0% Complete
이 활동에서는 인공 지능을 사용하여 카메라에서 손가락을 추적하는 코드를 빌드합니다. 추적을 활용하여 PictoBlox 스테이지에서 스프라이트를 조작합니다.
코딩하자
- Pictoblox를 열고 Python Coding environment을 선택합니다.
- Choose a Sprite 버튼(오른쪽 하단)을 클릭하고 Ball 스프라이트를 선택합니다.
- 이제 프로젝트 파일 섹션(왼쪽)에서 Ball.py 파일을 선택하면 기본적으로 스프라이트 개체가 다음과 같이 스크립팅 영역에서 시작됩니다.
sprite = Sprite('Ball')
- 이제 인체 감지 기능을 사용하기 위해 Posenet() 클래스를 시작하고 변수 pose
내부에 저장합니다.pose = Posenet()
- 카메라 피드에서 PictoBlox 스테이지의 비디오를 켜고 투명도를 0으로 유지합니다.
pose.video('on', 0)
- 코드를 중지할 때까지 while 루프를 사용하여 코드를 계속 실행합니다(영구 루프).
while True:
- (무대에서) 카메라 피드를 지속적으로 분석하기 위해, 우리는 영원한 while 루프 내에 analyseimage() 함수를 추가할 것입니다.
while True: pose.analysehand()
- 이제 if 조건과 함께 ishanddetected() 함수를 사용하여 카메라 피드에서 손이 감지되는지 여부를 확인합니다.
while True: pose.analysehand() if pose.ishanddetected():
- 마지막으로 함수를 사용하여 Ball 스프라이트의 위치, 즉 x 위치와 y 위치를 설정합니다. setx() 및 Sprite 클래스의 sety() . Pose 클래스의 handx() 및 handy() 함수를 사용하여 손의 위치, 즉 손의 x 위치와 y 위치를 가져와서 이러한 위치를 설정합니다.
while True: pose.analysehand() if pose.ishanddetected(): sprite.setx(pose.handx()) sprite.sety(pose.handy())
- AI를 사용한 Finger Tracking의 최종 코드는 다음과 같습니다.
sprite = Sprite('Ball') pose = Posenet() pose.video('on', 0) while True: pose.analysehand() if pose.ishanddetected(): sprite.setx(pose.handx()) sprite.sety(pose.handy())
- Run 버튼을 눌러 코드를 테스트합니다.
과제
다음 수업으로 넘어가기 전에 작은 과제가 기다리고 있습니다!
이 활동에서 작성한 PictoBlox 프로그램을 웹사이트에 업로드해야 합니다. 과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.
과제를 업로드하려면 아래 단계를 따르세요.
- Browse를 클릭합니다.
- 저장된 프로젝트 파일(.sb3)을 검색하여 선택하고 Open을 클릭합니다.
- Upload를 클릭하여 과제를 제출합니다.
허용되는 파일 유형은 PictoBlox 프로그램에서 생성된 sb3 파일입니다. 허용되는 최대 파일 크기는 5 MB입니다.
행운을 빕니다!