AI 상대로 Vision app에 대해 “가위 바위 보” 놀이를 합니다

"가위, 바위, 보" 놀이가 가능한 로봇 - 2부

시뮬레이션된 컴퓨터의 상대가 되는 Vision app

어떻게 하면 로봇이 "가위, 바위, 보" 놀이를 하게 할 수 있을까요? 로봇 팬이자 블로거인 Sebastian Trella는 지금 퍼즐을 푸는 데 결정적인 발걸음을 내딛었습니다. 그는 카메라 측면에서 IDS NXT를 사용했습니다. IDS NXT는 지능형 카메라를 사용하기 위한 완벽한 시스템입니다. 이 시스템은 훈련 이미지 캡처, 라벨링부터 네트워크 훈련, 평가용 앱 제작, 그리고 실제 어플리케이션 실행에 이르는 전체 워크플로를 다룹니다. 후속 이야기의 파트 1에서 그는 이미 AI 기반 이미지 처리를 사용하여 제스처 인식을 실현했으며 따라서 신경망도 훈련했습니다. 인식된 제스처의 추가 처리는 특수 생성 vision app을 통해 수행 가능합니다.

분석된 이미지 데이터의 추가 처리

이 앱은 프로젝트의 두 번째 단계를 형성하며 일반적으로 플레이어가 시뮬레이션된 컴퓨터 상대를 상대로 플레이할 수 있도록 하기 위한 것입니다. 훈련된 AI를 기반으로 그 결과를 활용합니다. 이 과정에서 AI 상대를 배치하여 미리 정의된 세 가지 손동작 중 하나를 무작위로 "출력"하고 플레이어의 움직임과 비교합니다. 그런 다음 누가 이겼는지 또는 비겼는지를 결정합니다. 따라서 Vision app은 컴퓨터 모니터의 플레이어에 대한 인터페이스이며 카메라는 플레이어의 제스처를 캡처하기 위한 인터페이스입니다.

이 앱은 신경망 교육과 마찬가지로 클라우드 기반의 AI 비전 스튜디오 IDS lighthouse에서 만들어졌습니다. 무료 그래픽 프로그래밍 환경인 Scratch와 유사한 블록 기반 코드 에디터 덕분에 Sebastian Trella는 쉽게 작업할 수 있었습니다. "저는 이미 LEGO® MINDSTORMS® 의 Scratch/Blockly 및 기타 다양한 로봇 제품을 사용한 Vision app 프로그래밍에 익숙했고 즉시 방법을 찾았습니다. 프로그래밍 인터페이스는 거의 동일하므로 필요한 사고 방식에 이미 익숙했습니다. 왜냐하면 제가 IDS NXT 카메라에서 AI 지원 Vision app을 개발하든 로봇을 위한 모션 시퀀스를 개발하든 프로그래밍은 정확히 같은 방식으로 작동하기 때문입니다."

카메라에서 직접 "미세 조정" 하기

그러나 Trella는 이미지에 텍스트를 표시하는 것이 처음이었습니다. "지금까지 프로그래밍한 로봇은 콘솔을 통해서만 출력을 제공했습니다. Vision app의 출력을 카메라 이미지에 직접 통합하는 것은 저에게 새로운 접근 방식이었습니다.” 그는 특히 클라우드와 카메라 자체에서 Vision app을 편집하는 기능에 놀랐습니다. 하지만 궁극적으로 장치에서 개발하는 것이 매우 편리하고 카메라 하드웨어가 잘 수행되는지에 놀랐습니다. "클라우드에서 모든 것을 다시 컴파일하지 않고도 프로그램 코드의 작은 변경 사항을 카메라에서 직접 테스트할 수 있습니다. 프로그래밍 환경이 매우 원활하고 안정적으로 실행됩니다." 그러나 그는 임베디드 장치에서 오류를 디버깅할 때 특히 카메라의 조정에 따른 임베디드 장치와 클라우드 시스템의 동기화와 관련하여 여전히 개선의 여지가 있다고 생각합니다.

Trella는 카메라의 웹 사이트 인터페이스에서 "훌륭하다"고 말한 진정한 장점을 발견했습니다. 여기에서 예제를 포함하여 통합 REST 인터페이스를 문서화하고 테스트하기 위한 오픈 소스 도구 모음인 Swagger UI를 찾을 수 있습니다. 덕분에 작업이 쉬워졌습니다. 이러한 맥락에서, 그는 또한 IDS NXT 시스템의 향후 발전을 위한 몇 가지 제안을 공식화합니다. "로봇 팔이 Vision app 프로그래밍 환경에서 직접" 공동 프로그래밍 "될 수 있도록 타사 로봇 시스템과 통신할 수 있는 전환 가능한 모듈이 있으면 좋을 것입니다. 이를 통해 로봇과 카메라 간의 케이블 연결을 줄이고 개발을 간소화할 수 있습니다. 그 외에도 프로그래밍 환경을 통해 직접 이미지 파일을 가져오는 것을 놓쳤습니다. 지금까지는 FTP를 통해서만 가능했습니다. 예를 들어, 저는 제 앱에서 우승자를 위한 트로피 사진을 표시했을 것입니다."

다음 단계는 무엇일까요?

Sebastian Trella는 "Vision app을 만드는 것은 매우 재미있었고, 이렇게 흥미로운 하드웨어로" 플레이"할 수 있는 환상적인 기회를 주셔서 감사드립니다"라고 말합니다. 다음 단계는 Vision app과 로봇 팔 간의 통신 옵션을 자세히 살펴보고 시도하는 것입니다. 가상 컴퓨터 상대는 자신의 제스처를 화면(예: 카메라 이미지)에 표시할 뿐만 아니라 로봇 팔을 통해 실제 현실에서도 표현해야 합니다. 이 단계는 완성된 "가위, 바위, 보" 게임을 향한 마지막 단계이기도 합니다. 로봇이 생명을 얻습니다.

3부에서 계속됩니다.

설치에 대한 정보는 매뉴얼에서 확인할 수 있습니다 (등록된 사용자에 한함).