본문 바로가기
핸드이노 (아두이노 의수)

핸드이노 AI 가위, 바위,보 엔트리 활용하기.

by SwMaker_Jun 2024. 7. 28.
728x90
반응형

이번 시간에는 인공지능을 활용할꺼예요.

어려운 개념이 아니예요.

웹캠에서 보여지는 가위, 바위, 보 모양의 손가락에 대해서

전혀 모르는 컴퓨터에게 학습을 시켜주는 거예요.

그리고 다음에는 이 학습된 결과를 활용해서 저희들이

컴퓨터가 인식한 결과를 토대로 어떤 기능을 하게끔 명령을 내려줄거예요.

한번 엔트리에서 인공지능을 활용해 볼까요?

 
 
Previous imageNext image
 

인공지능 블록에서 인공지능 모델 학습하기로 들어갑니다.

인공지능 모델 학습하기에서는 다양한 데이터를 학습할 수 있습니다.

이 때 저희는 가위, 바위, 보 이미지를 학습시킬꺼예요.

 
Previous imageNext image
 

저는 이 모델의 명칭을 가위, 바위, 보라고 정했습니다.

그리고 저희가 학습시킬 데이터는

가위, 바위, 보 입니다.

클래스 1에는 가위를

클래스 2에는 바위를

클래스 3에는 보라고 지정해주었습니다.

 
 
 
 
 
 
 
Previous imageNext image
 

모델 이름을 정해주었다면

클래스 하단에 업로드를 촬영으로 바꾸어준 후에

웹캠 앞에 손으로 가위 모양을 찍어줍니다.

다양한 각도에서, 다양한 위치에서 가위 모양을 최소 100개 정도 찍어줍니다.

학습되는 양의 이미지가 많을 수 록 가위에 대한 이미지를 더 잘 인식합

니다.

이와 같이 동일하게 바위, 보도 가위와 마찬가지로 사진을 최소 100장 찍어서 업로드 해줍니다.

다양한 각도와 위치에서 찍어서 잘 인식되도록 합니다.

 
 
Previous imageNext image
 

모든 클래스, 가위, 바위, 보에 사진이 다 촬영이 되었다면

학습을 시켜보겠습니다.

모델 학습하기 버튼을 누른 후에 잠시만 기다려주시면 됩니다.

 
 
 
00:0000:13
 
  •  
  •  

 

인공지능 학습결과

잘 학습이 되었다면 가위, 바위, 보를 취할 때 마다 인식한 결과를

퍼센트로 나타내 줍니다.

우선, 업로드버튼을 촬영버튼으로 변경해 준 후

웹캡에서 가위, 바위, 보 제스처를 취해줍니다.

제스처를 취했을 때

분류된 결과가 하단에 나타날 것 입니다.

학습된 결과를 적용하고 이제는 핸드이노에게 명령을 내릴 블록을 만들어 보겠습니다.

 
 
 
Previous imageNext image
 

웹캡을 작동시키기 위해서 인공지능 블록에서 비디오 화면 보이기블록을 가지고 와줍니다.

앞서 학습시켰던 모델을 활용하기 위해서 비디오 화면을 학습한 모델로 분류 시작하기 블록을 붙여줍니다.

이렇게 되면 비디오 화면에서 가위, 바위, 보가 나타난다면 이것들을 인식할 수 있게 됩니다.

 

비디오 화면, 모델분류를 계속 돌아가게끔 해준 후

흐름블록에서 계속 반복하기 블록을 가지고 옵니다.

 
 
Previous imageNext image
 

생김새블록에서 안녕!을(를) 말하기를 계속 반복하기블록 아래에 붙여줍니다.

그리고 인공지능 블록에서 분류결과를 안녕! 대신 대체해줍니다.

이렇게 만들어진 블록은 웹캡에서 인식한 결과를 말풍선으로 나타나게 해줍니다.

예를 들면 가위를 인식하면 가위를

보를 인식하면 보를

주먹을 인식하면 주먹이라고

미리 만들어둔 클래스의 결과를 말풍선으로 나타내게 됩니다.

 
 
 
Previous imageNext image
 

먼저 흐름블록에서 만일 참이라면 블록을 가지고 온 뒤

참을 인공지능분류결과가 가위인가 으로 대체해 줍니다.

하드웨어에서 가위바위보 바위 를 아래에 붙여줍니다.

분류결과가 가위로 인식되면 핸드이노는 바위 모양을 만들어 여러분들에게 항상 이길 수 있게 만들었습니다.

이제는 바위를 인식하면 보를 내고

보를 인식하면 가위를 내게끔 코딩을 짜보겠습니다.

만일 참이라면 블록을 가져옵니다.

인공지능블록에서

분류결과가 바위로 인식되었을 때 블록을

참 대신 대체해주세요.

그리고 바위에 대적할 수 있는 상대는 보이므로

하드웨어에서 가위바위보 보를 조건 밑에 놓아주세요.

이렇게 만들어진 조건에서는 바위를 인식하면 핸드이노가 보를 내놓겠죠?

나머지 마지막 하나 컴퓨터가 보를 인식할 때 핸드이노가 가위로 나오는 상황은 여러분들에게 맡겨보겠습니다.

핸드이노와 가위바위보를 할 수 있는 블록이

이렇게 완성되었습니다.

그러면

가위를 인식하면 주먹을

보를 인식하면 가위를

주먹을 인식하면 보를

핸드이노가 나타내게 됩니다.

정말로 이렇게 작동하는지 알아볼까요?

 
 
 
 
  •  
  •  

 

핸드이노가 항상 이기는 가위바위보

짜잔, 제 손 모양을 정확하게 인식해 분류결과를 말풍선으로 나타내고

핸드이노는 제 손을 인식해

저를 항상 이기는 모양을 내도록 만들었습니다.

다음에는 어떤 코딩으로 핸드이노와 재밌게 놀까요?

728x90
반응형