본문 바로가기

프로그래밍/머신러닝

#3. 티쳐블머신(Teachable Machine) 포즈, 움직임 학습

반응형

이번에는 마지막 예제 티쳐블머신을 활용해서 포즈, 움직임을 학습해보도록 하겠습니다.

 

안녕하세요.
이번에는 세 번째 튜토리얼 나의 행동을 학습해 보는 시간을 가져보도록 하겠습니다. 티처블머신에서는 크게 이미지 학습 오디오 학습 그리고 포즈 내 대해서 제공해 주고 있는데요 아마 가장 재미있는 프로젝트가 되지 않을까 싶습니다 

 

오늘도 역시 티처블머신에서 제공해 주는 튜토리얼을 가지고 한번 포스팅을 해보도록 하겠습니다 기차를 머신에서는 자세를 감지를 하여서 머리가 기울어지는 것을 알아보는 애플리케이션을 개발을 할 건데요 우리가 사전에 알아야 할 것이 포즈를 감지한다는 것은 결국 우리 사람의 관절이 어떻게 움직이는지를 찾아내게 된다면 이를 선형화 할 수 있겠죠?

 

그래서 티처블머신은 웹캠을 통해서 나의 모습을 보여주면 나의 모든 관절을 파악을 하고 관절과 관절을 잇는 선을 나타내어 줍니다. 

 

사실 영상을 통해서 이미지를 학습하는 것과 기존의 이미지를 학습 하는 방식은 똑같아라고 보시면 될 것 같습니다 다만 실시간으로 각 프레임마다의 이미지를 학습할 수 있다는 것은 더욱더 많은 효과를 얻을 수 있겠죠 

 

자 그럼 프로젝트를 시작해 보도록 하겠습니다

 

Pose Project 

 

 우선 첫 번째로 앞서 했던 프로젝트와 같이 왼쪽 상단에 햄버거 메뉴를 클릭을 해 주시고 프로젝트 생성 들어가 주세요.  앞서 했던 프로젝트는 자동 저장이 되기 때문에 너무 걱정하지 않으셔도 괜찮습니다 앞에서 했던 프로젝트와 같이 이번에도 다양한 클래스를 생성을 해서 나의 행동을 학습시켜 보도록 할 건데요 전체적인 프로세스는 첫 번째 클래스를 생성하고 그 다음 각 클래스마다 나의 행동을 웹캠을 통해서 녹화를 하여 학습을 시켜주는 것이고요 역시나 마찬가지로 내가 얼마나 많은 패턴을 학습시키는 날 따라서 정확도는 달라질 것이라고 볼 수 있습니다 

 

이번 주 튜토리얼 에서는 나의 머리가  기울어지는지 감지 하기 때문에 클래스는  세 가지를 만들어 줄 건데요 첫 번째는 기울기가 없음 두 번째는 왼쪽으로 기울기 세 번째는 오른쪽 기울기입니다. 이 세가지 클래스를 학습 하여서 티처블머신을 이용해 보도록 하겠습니다 

 

(버튼을 누르지 않고 샘플을 녹음해야하는 경우 설정 패널로 이동하여 "Hold-to-record"를 끄면 카운트 다운 한 다음 샘플 세트가 자동으로 녹음됩니다.)

 

자 이제 머리를 왼쪽으로 기울여서 텐트를 기록해 볼 건데요 역시나 웹캠 버튼을 누르고 계속적으로 머리를 왼쪽으로 학습을 시켜 줍니다  것과 좋습니다 여기서 조금 차이점이 내가 왼쪽으로 고개를 기울이고 있으면 나의 눈 코 귀 그리고 어깨와 팔에 대한 노드가 잡히는 것을 확인을 할 수가 있습니다

 

그리고 똑같이 오른쪽으로도 고개를 기울여서 나의 기울기를 학습 시켜 줍니다

 

 모든 영상의 업로드가 완료가 되면 트레이닝 버튼을 눌러서 학습을 시켜 줍니다 이미지와는 다르게 상당히 많은 양의 이미지가 업로드 되었기 때문에 트레이닝 속도가 조금 많이 느릴 수 있습니다 

 

이제 여러 번 프로젝트를 반복을 하다 보니 티처블머신을 활용하는 방법이 아주 쉬워 졌는데요 이번 역시도 트레이닝 완료가 되고 나면  바로 테스트를 해 볼 수 있습니다 왼쪽으로 오른쪽으로 고개를 왔다 갔다 하면서 잘 체크 하는지 확인해 주세요 

 

이제 내가 학습했던 공간 이미지 틀에서 조금 더 벗어나서 멀리서 웹캠을 촬영을 하게 된다면 과연 비슷한 결과값이 나오는지 한번 테스트를 해 보세요. 멀리 떨어져서 테스트 하게 되면 앞서서 내가 학습 시킨 것과 다른 거리에 있기 때문에 머신러닝은 혼돈을 할 수가 있습니다 .

 

그러면 어떻게 해야 될까요 이미 수차례 이미지 학습과 오디오 학습 때 말씀드린 것처럼 우리가 다양한 거리에서 똑같은 학습을 하게 된다면 더 정확한 결과값을 얻을 수가 있습니다 그러면 지금 우리가 해야 되는 것은 여러 가지 영상을 찍는게 되겠죠 그리고 다시 학습시키고 테스트를 해 보세요 

 

가장 좋은 방법은 여러분이 고개를 왼쪽으로 치우친 상태에서 카메라 앞으로 뒤로 왔다 갔다 하면은 더욱 더 쉽고 정확한 학습이 가능합니다

 

이미지 와 영상 포즈 학습 패턴은 비슷했지만 다른 점이 있습니다 이미지는 컴퓨터가 픽셀을 인식을 했다면 영상은 나의 관절 로드를 인식을 하여서 학습하는 방법이 조금 다르다고 보시면 좋습니다 

 

자 그럼이 포즈 기능을 활용을 해서 어떤 걸 만들 수 있을까요 아이들이 졸고 있는 모습을 찾아내는 CCTV를 만들면 아주 재밌겠죠 그리고 내가 게임을 만들면 내가 점프를 하거나 숨기거나 하는 포즈로 게임을 제어 해도 재밌을 것 같습니다 그리고 케이팝 비 요새 대세죠 연예인들이 춤추는 모습들을 직접 따라해 보는 거를 학습 시켜 주면서 아이들이 춤을 얼마나  잘 추는지 체크하는 어플리케이션을 만들면 재밌을 것 같습니다. 



자 이제 티처블머신에서 제공하는 세 가지 모든 기능들을 알아봤는데요 사실 머신러닝이라는 것이 정말 어려운 분야로 알고 있지만 구글에서 이렇게 쉽게 오픈 소스로 기능들을 제공해 주고 있기 때문에 우리는 더 많은 데이터를 수집을 해서 학습 시켜 주면 여러분만의 특별한 애플리케이션을 만들 수가 있을 것 같습니다 그렇다면은 앞으로 저희가 알아봐야 될 것은 그 많은 데이터들을 어떻게 빨리 수집을 할 수 있을까에 대한 고민이 생겨나게 되고 저는 다음 포스팅에서 네이버 이미지를 자동적으로 크롤링하는 방법에 대해서 소개를 해 보고자 합니다 

 

혹시 티처블머신을 활용을 해서 여러분만의 프로젝트를 만든 것이 있다면 아래 댓글창에 공유를 하여서 서로 피드백을 주고 칭찬과 공유를 했으면 좋겠습니다

 

조코딩 유투브 채널을 보고 한번 만들어 봤어요 ㅎ

 

■ 관상로또 만들어보기

https://facelotto.site 

 

관상 로또

내 얼굴이 로또가 될 상인가?!! 오늘 나의 얼굴로 이번주 로또번호를 맞춰보세요.

facelotto.site

 


반응형