(대개) Node-RED에서 Watson과 Junken

임베디드 가게는 임베디드만으로는 먹을 수 없다는 풍조가 있기 때문에 다른 장르에 도전합니다.
Node-RED를 사용하여 Watson과 실시간으로 쟌켄합니다.
후술의 기술 부족에 의해, Node-RED만으로 완결하지 않았습니다!
실시간으로 말하면서 상당한 지연이 있습니다. 2초 정도(더?) 후출됩니다.

완제품



환경은 라즈파이 + USB 카메라입니다.

1초에 1회의 빈도로, 카메라로부터 캡처한 사진을 Watson으로 해석에 걸어, 이기는 손을 사진 아래에 표시하고 있습니다(이라스토야씨로부터 소재를 빌렸습니다).



이미지뿐이라고 이해하기 어렵습니다만, 아슬아슬한 리얼타임감이 나와 있습니다.
위 사진 갱신 후, 2~3초 정도로, 아래의 이기는 손이 갱신됩니다.

학습 데이터가 구, 쵸키, 파 각 20장씩 밖에 없기 때문에, 배경을 하얗게 하지 않으면 전혀 정밀도가 나오지 않습니다. 배경이 하얗어도 정밀도는 이마이치입니다.

Node-RED 흐름





어색한 포인트가 2개 있습니다!

1. 카메라 제어가 파이썬 스크립트이다!



start camera 노드에서 python script를 시작하고 있습니다.
내용은 opencv로 카메라에서 이미지를 가져와 초당 1장 Node-RED의 http in 노드(camera)에 post합니다.
(1초에 1장으로 하고 있는 것은, Watson Visual Recognition의 무료 테두리를 바로 소진해 버리니까, 라고 하는 토호호인 이유입니다)
이 부분을 어떻게든 Node-RED만으로 하고 싶은 곳입니다(헬프 미!).
C언어로 고쳐라면 간단하다.

2. 페이지의 정적 컨텐츠를 무리하게 갱신하고 있다



알아 차릴까요? 아래쪽에 늘어선 exec 노드에.
여기서 분석 결과를 기반으로 페이지의 정적 콘텐츠를 cp 명령으로 바꿉니다.
이 다사는 ↑의 비율이 아닙니다!
잘 Template 노드에서 결과를 반환할 수 있기를 원합니다.
Websocket으로 결과를 통지해 주면 어떻게든 된다는 느낌은 알고 있습니다만, 공부 부족입니다…

감상



움직이는 곳까지 즐기면서 할 수 있었습니다.
하지만 역시 웹 프런트 엔드의 기술 부족에 시달렸습니다.
최종적인 외형도 최소한이라는 느낌입니다.
이제 사용자도 사주지 않을 것 같습니다.

클라우드에서 분석하는 경우도 있어, 지연 시간이 상당히 신경이 쓰였습니다.
임베디드 가게로서는, 이 근처가 먹을 수 없는 길 중 하나일 것이다.

브라우저에서 해석 개시도, 결과 열람도 할 수 있으므로, 라즈파이+테더링용 Android가 있으면, 부담없이 시험할 수 있는 것이 좋습니다.
평상시는, 시리얼 연결하거나, ssh로 연결하거나이기 때문에.

좋은 웹페이지 즐겨찾기