-
라즈베리파이로 NUGU 스피커 프로젝트 해 본 이야기 #1삽질기/라즈베리파이 2020. 3. 15. 11:25
필자는 대학교를 졸업하고 학군단 소속이었으므로 현재 소위로 임관했다. obc에서 교육을 받고 있는데 주말이 되어 포스팅을 할까 하다가 대학생활하면서 재밌는 프로젝트를 진행했던 일을 이야기 하겠다.
필자가 다니던 학과는 SKT와 협업하여 인공지능 관련 강의를 개설하였다. SKT는 강의를 통해 학생들로 하여금 자사의 NUGU 스피커를 활용한 프로젝트를 진행하고자 했다. 다른 강의였다면 여타 흔한 팀플과 비슷한 느낌이었겠지만, 1등에게 주어지는 꽤 큰 부상과 SKT에서 오신 직원분들로 구성된 심사위원단과 함께하니 흡사 공모전과 같은 느낌이었다. 아쉽게 우리팀이 1등을 거머쥐지는 못했지만 나름 좋은 평가를 받았고(A+ 감사합니다 교수님!!) 정말 재밌게 했던 프로젝트였어서, 또 이러한 경험이 누군가에겐 도움되지 않을까 하는 마음으로 포스팅을 해야겠다 마음먹었다.
참고로 이번 포스팅은 내 경험을 적도록 하겠다. 다음 글에선 NUGU Play 설정과 그 다음 글에선 서버 코드에 대해 적도록 하겠다.
프로젝트 초기에 가장 힘들었던 것은 다름아닌 주제 선정이었다. 나를 포함한 팀원들에게 인공지능 스피커라는 기기가 낯설었기에 어떻게 해야 유용하게 사용될 지 고민에 고민을 거듭했다. 음성 메모 일기장, 인공지능 심리상담사 등등 정말 다양한 의견들이 오고 갔지만 선정될 만한 마땅한 주제가 없었고 그렇게 밤늦게 카톡 보이스톡 회의를 하다 선정된 주제는 인공지능 식물 키우기 도우미(가명)였다. 아마 최근 떠오르는 트렌드인 인공지능의 감성 대화와 부합하고 신선하다는 이유였을 것이다.
아마 이런 느낌이지 않았을까... (출처: https://it.donga.com/29929/) 그러나 이 아이디어가 채택되는 일은 없었다. 교수님의 반응이 좋지 않았기 때문이다. 그런 와중에 교수님께서 이미지 분석 api 등을 사용해보면 어떻겠냐는 힌트를 주셨고 우리 팀은 교수님에 말씀에 따르기로 했다. 그렇게 채택된 우리 팀의 주제는 업로드된 사용자의 사진을 이미지 분석을 통해 labeling 하고 사용자에게 전송해주는, 일명 누갤러 서비스였다.
우리가 구상한 시스템을 간단히 설명하자면, 앱으로 라즈베리파이에 구축된 서버로 업로드 한 사진들을 Google Vision API를 사용하여 분석하고 MariaDB를 사용하여 데이터베이스를 구축한다. NUGU 스피커로 명령어를 입력하면 NUGU Play에서 Intent와 Entity를 분석하여 서버로 보낸다. 서버는 해당 데이터들로 명령을 수행하고 앱으로 전송한다.
서버에서 찾은 사진을 볼 수 있도록 제작한 앱. 다른 팀원이 수고를 해주었다. 주제와 설계는 되었지만 구현은 또 다른 문제였다. NUGU Play로 넘어오는 데이터가 한정되어 있었기 때문이다. 사용자가 찾으려는 단어에 대해서는 미리 Intent로써 설정이 되어 있어야 NUGU 스피커가 알아 들을 수 있었다. 간단히 말하면, "고양이 사진 찾아줘"라는 명령에 대응하기 위해 고양이라는 단어를 입력해 두어야 했다. 이에 대해선 다음 글에서 Play 설정법을 설명하며 자세히 기술하도록 하겠다.
또 애를 먹었던 부분으로는 NUGU 스피커로 응답을 보내는 부분이었다. NUGU 스피커로 응답을 제때 보내지 못하면 스피커가 백엔드로 2번의 요청을 더 보내는데, 이 때문에 서버에서 처리 중이던 프로세스가 제대로 작동하지 않기도 했다. 상용 클라우드 서버보다 한참 느린 라즈베리파이를 서버로 사용하기에 생기는 문제이기도 했다. AWS 같은 걸로 바꿀까 생각도 했지만 이미 라즈베리파이에 환경을 구축해 둔 상황이라 그대로 진행하도록 했다.
kyc3492/NUgaller
Contribute to kyc3492/NUgaller development by creating an account on GitHub.
github.com
About Our Service
Members 박태준, Information System, 2016026262, parktj3689@naver.com 김주현, Information System, 2016026171, j828hh@gmail.com 강연철 Information System, 2016026144, kyc3492@gmail.com 박인지 Information System, 20...
velog.io
해당 링크는 우리가 교수님께 제출하기 위해 작성한 블로그 포스팅이다. 영어로 작성되었지만 작동법과 데모 영상은 한국어로 되어 있으니 궁금하다면 방문해봐도 좋다.
결과물은 생각보다 괜찮았다. NUGU 스피커와 라즈베리파이는 발표 날에도 우리가 계획한대로 잘 움직여 주었고 다른 팀과 공동 2위라는 성적(우승팀을 가리기 위해 선정된 후보팀 3팀에 포함되었다는 의미로 받아들이면 될 것 같다.)을 거머쥐게 된다.
NUGU Play 설계와 코드 설계에 대해서는 다음 글부터 설명하도록 하겠다. 여러분들도 집에 인공지능 스피커가 있다면 유용한 기능을 직접 만들어 보는 것은 어떨까.
'삽질기 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이로 NUGU 스피커 프로젝트 해 본 이야기 #3 (0) 2020.05.22 라즈베리파이로 NUGU 스피커 프로젝트 해 본 이야기 #2 (0) 2020.03.22 라즈베리파이와 챗봇으로 날씨 예보를 해보자 #3 (0) 2020.02.17 라즈베리파이와 챗봇으로 날씨 예보를 해보자 #2 (0) 2020.02.01 라즈베리파이와 챗봇으로 날씨 예보를 해보자 #1 (1) 2019.09.17