Lesson 4, Topic 3
In Progress

활동: AI를 사용한 손가락 추적

Lesson Progress
0% Complete

이 활동에서는 인공 지능을 사용하여 카메라에서 손가락을 추적하는 코드를 빌드합니다. 추적을 활용하여 PictoBlox 스테이지에서 스프라이트를 조작합니다.

코딩하자

  1. Pictoblox를 열고 Python Coding environment을 선택합니다.
  2. Choose a Sprite 버튼(오른쪽 하단)을 클릭하고 Ball 스프라이트를 선택합니다.
  3. 이제 프로젝트 파일 섹션(왼쪽)에서 Ball.py 파일을 선택하면 기본적으로 스프라이트 개체가 다음과 같이 스크립팅 영역에서 시작됩니다.
    sprite = Sprite('Ball')
    
  4. 이제 인체 감지 기능을 사용하기 위해 Posenet() 클래스를 시작하고 변수 pose
    내부에 저장합니다.

    pose = Posenet()
    
  5. 카메라 피드에서 PictoBlox 스테이지의 비디오를 켜고 투명도를 0으로 유지합니다.
    pose.video('on', 0)
    
  6. 코드를 중지할 때까지 while 루프를 사용하여 코드를 계속 실행합니다(영구 루프).
    while True:
  7. (무대에서) 카메라 피드를 지속적으로 분석하기 위해, 우리는 영원한 while 루프 내에 analyseimage() 함수를 추가할 것입니다.
    while True:
      pose.analysehand()
  8. 이제 if 조건과 함께 ishanddetected() 함수를 사용하여 카메라 피드에서 손이 감지되는지 여부를 확인합니다.
    while True:
      pose.analysehand()
      
      if pose.ishanddetected():
  9. 마지막으로 함수를 사용하여 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())
  10. 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())
        
        
    
    
  11. Run 버튼을 눌러 코드를 테스트합니다.

과제

다음 수업으로 넘어가기 전에 작은 과제가 기다리고 있습니다!

이 활동에서 작성한 PictoBlox 프로그램을 웹사이트에 업로드해야 합니다. 과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.

과제를 업로드하려면 아래 단계를 따르세요.

  1. Browse를 클릭합니다.
  2. 저장된 프로젝트 파일(.sb3)을 검색하여 선택하고 Open을 클릭합니다.
  3. Upload를 클릭하여 과제를 제출합니다.
evive Alert
허용되는 파일 유형은 PictoBlox 프로그램에서 생성된 sb3 파일입니다. 허용되는 최대 파일 크기는 5 MB입니다.

행운을 빕니다!