해피밀
프로젝트 개요
기술개발 과제
국문 : 00000000..
영문 : 00000000..
과제 팀명
00000..
지도교수
000 교수님
개발기간
2020년 3월 ~ 2020년 6월 (총 4개월)
구성원 소개
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 김*현(팀장)
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 정*은
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 조*민
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 이*수
서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 남*송
서론
개발 과제의 개요
개발 과제 요약
내용
개발 과제의 배경
내용
개발 과제의 목표 및 내용
내용
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
- 전 세계적인 기술현황
내용
- 특허조사 및 특허 전략 분석
내용
- 기술 로드맵
내용
시장상황에 대한 분석
- 경쟁제품 조사 비교
내용
- 마케팅 전략 제시
내용
개발과제의 기대효과
기술적 기대효과
내용
경제적, 사회적 기대 및 파급효과
내용
기술개발 일정 및 추진체계
개발 일정
내용
구성원 및 추진체계
내용
설계
설계사양
제품 요구사항
설계 환경
◇ 2020년 기준 안드로이드 OS 버전별 점유율 중 가장 높은 점유율을 보인 Android 6.0(Marshmallow) 환경에서 제작하기로 결정하였다.
개념설계안
◇ 한글 메뉴판을 스캔하면 네이버의 CLOVA OCR 모듈을 통해 이를 인식하여 텍스트로 변환한다.
◇ 구글의 이미지 검색 API를 사용하여 메뉴와 관련된 이미지를 검색하여 메뉴에 대한 정보를 제공한다.
◇ AR 기술로는 ARCore을 활용한다. ARCore는 구글에서 제작한 AR 라이브러리로, 카메라를 통해 특정 물체를 인식하고 트래킹하는 기술을 갖추고 있다.
◇ Sceneform을 활용하여 그 트래킹 된 위치에 컨텐츠를 뿌리는 형식으로 AR기능을 구현한다.
◇ Firebase를 이용한 데이터베이스를 통해 사용자 리뷰 정보 및 관련 해시태그 정보를 저장한다.
상세설계 내용
가. 기능(Feature) 파트
- ◇ OCR 모듈 - CLOVA OCR
- CLOVA OCR는 네이버에서 제작한 OCR API로 단어간 긴밀도를 계산하여 글자들이 일정한 배열로 나란히 자리잡은 모양새를 지닌 문서가 아닌 메뉴판과 같은 비 정형적인 문서 등에서도
- 우수한 성능을 보여준다. 또한 한글 인식률이 우수하기 때문에 이를 이용하여 메뉴판의 문자를 인식하고, 카메라를 통해 스캔한 메뉴판의 내용들을 텍스트화 하는데 사용한다.
- ◇ AR 모듈 - ARcore & Sceneform
- Google에서 제작한 ARCore를 사용하여 AR 기능을 제공한다. ARCore는 카메라에서 특정 사물이나 사진을 인식하고 그것의 위치를 트래킹하기 위해 활용한다.
- 또한 SceneForm을 사용하여 ARCore에 의해 인식된 사물의 위치와 영역에 관련된 컨텐츠를 그리는데 활용된다.
- ◇ 번역 모듈 - 구글 번역 (Translation API)
- Google의 Translation API를 활용하여 OCR로 인식한 문자를 번역하는데 사용한다. 또한 Translation API가 지원하는 언어를 리스트 형식으로 나열하여
- 사용자가 선택할 수 있도록 함으로써 사용자 맞춤 번역 효과를 기대한다.
- ◇ 이미지 검색 모듈 - Google Custom Search API
- 구글에서 이미지 검색 결과를 가져오기 위해 Google Custom Search API를 활용하며, JSON형식을 통해서 이미지 URL을 가져올 수 있다.
- 가져온 URL을 사용하여 사용자가 인식한 메뉴의 이미지 정보를 제공한다.
- ◇ 사용자 인터페이스 - HCI 이론의 활용
- HCI(human-computer interaction) 이론을 기반으로 사용성과 유용성을 고려해서 기능을 구현하고, 디자인 측면에서 사용자의 편의에 맞게 UI를 구상하고
- 이를 통해서 더 나은 사용자 경험을 제공한다.
나. 통신 및 서버 파트
- ◇ DB 서버 - Firebase
- Firebase는 구글에 의해 개발된 플랫폼으로써 모바일 어플리케이션 서버를 만드는데 용이하다. 따라서 Firebase를 통해 DB 서버를 구축하여
- 이를 커뮤니티 기능에서 사용자들이 작성한 리뷰를 저장하고 불러오는데 사용한다.
- ◇ Rest API
- Rest API는 클라이언트에 해당하는 어플리케이션과 DB서버를 손쉽게 연결하는데 활용된다. GET과 POST를 통해서 서버에 데이터를 업로드하거나 가져올 수 있다.
- 따라서 이를 활용하여 구축한 Firebase 서버와 연결하여 사용자 데이터를 업로드하거나 가져오는데 활용한다.
결과 및 평가
완료 작품의 소개
발표 및 시연영상
프로토타입 사진 혹은 작동 장면
1. 스캐너/번역 기능
◇ 설정한 인식 영역에 번역하고자 하는 메뉴를 인식한 후 결과 출력 버튼을 누르면 화면의 메뉴를 OCR 모듈 을 통해 텍스트로 인식한다.
◇ 이후 인식한 메뉴를 사용자가 설정한 언어에 맞게 번역하여 제공한다.
◇ 사용자가 메뉴에 대해 더 잘 이해할 수 있도록 메뉴 관련 이미지를 제공한다.
◇ 메뉴에 관한 해시태그를 추가하여 메뉴에 대한 자세한 정보를 제공한다.
2. AR 기능
◇ 사용자는 AR에 등록된 사진 (포스터)에 대해서 AR기능을 수행한다.
◇ AR기능을 통해서 사진의 종류를 인식한 뒤, 영역을 파악한다.
◇ 인식한 영역에 대해서 영상이 재생되며, 해당 포스터를 대표하는 식당과 관련된 사용자의 리뷰를 볼 수 있 다.
◇ 사용자는 해당 기능을 통해 식당과 관련된 정보를 영상이나 리뷰를 보고, 할인쿠폰도 제공받을 수 있다.
3. Favorites 기능
◇ 스캐너 화면에서 하트 모양의 버튼을 선택하면 즐겨찾기 목록에 추가된다.
◇ 즐겨찾기 목록에 추가된 메뉴를 Favorites에서 확인할 수 있다.
◇ 즐겨찾기한 메뉴의 이미지, 메뉴명, 관련 해시태그 정보를 저장한다.
◇ 즐겨찾기의 해제 및 재등록을 수행할 수 있다.
◇ 즐겨찾기 목록 정보를 로컬에 저장하여 앱 종료 후 재실행 시 저장한 목록을 다시 불러온다.
4.Community 기능
◇ 커뮤니티 리뷰는 Firebase를 통해 구성한 서버에서 불러온다.
◇ 리뷰 작성 시 Facebook과 연동된 사용자 계정 정보를 참조한다.
◇ 리뷰 작성 창에서는 관련 리뷰를 작성할 수 있고 이미지와 해시태그를 추가할 수 있다.
5. Settings 기능
5-1. Login 기능
◇ Settings 탭에서 Facebook 연동 login 기능을 제공한다.
◇ Login한 후 Facebook에서 제공하는 프로필을 사용한다.
◇ Privacy policy는 개인정보 이용에 따른 개인정보보호정책 소개를 제공한다. ◇ About us는 happymeal 팀원들의 소개를 제공한다.
5-2. Change Translation Language 기능
◇ 번역 언어 변경 기능을 제공한다.
◇ 언어 변경 뒤 번역이 다른 언어로 바뀐 것을 확인할 수 있다.
포스터
완료작품의 평가
◇ 4번 항목의 경우, 자동 수정 기능을 적용할 수 있는 오류의 차이로 인해 API 사용이 불가하였다. (쿼티키보드 입력 오타 수정과 OCR 인식 오타의 종류에 차이가 발생)
◇ 11번 항목의 경우, 사용자를 위한 튜토리얼 대신, 다양한 앱에서 활용되고 있는 탭 별로 화면을 전환하는 UX를 채택하여 대체하였다.
◇ 3번 항목의 경우, 경쟁사 (구글번역, 파파고) 대비 2단계 축소하였다고 보았다. 구체적으로 관련 사진과 리뷰, 성분등을 파악하기 위한 단계를 줄인 것으로 보았다.
◇ 5번 항목의 경우, 성분표시, 관련 리뷰 표시, AR 동영상, 메뉴 이미지 표시등의 기능을 담아 경쟁 어플보다 4개 더 많은 기능을 제공하는 것으로 보았다.
향후계획
가. 구현 시 어려웠던 점
◇ OpenCV 카메라에서 카메라 줌 기능을 지원하지 않아 어려움이 있었다.
◇ 자동수정 기능의 경우에 쿼티와 OCR 인식 간에 발생하는 오류 종류의 차이로 인해 자동수정 기능 적용에 어려움이 있었다.
◇ AR기능에서 트래킹한 영역을 인식하는 것이 사각형 기반으로 되어 있어서 아이디어를 완전히 구현하는 부 분에 있어서 어려움이 있었다.
◇ 각각 모듈마다 gradle에서 활용하는 라이브러리 부분이 달라 통합에 어려움이 있었다.
나. 향후 개선 계획
◇ 생소한 메뉴명의 번역 기능 제공
◇ 스캐너 인식 영역 조절 기능 제공
◇ 3D 컨텐츠를 통한 AR기능 향상
◇ iOS 환경 지원
◇ 타 소셜 플랫폼과의 공유 기능 제공