해피밀

cdc wiki
해피밀 (토론 | 기여)님의 2020년 12월 13일 (일) 01:03 판 (기술적 기대효과)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 00000000..

영문 : 00000000..

과제 팀명

00000..

지도교수

000 교수님

개발기간

2020년 3월 ~ 2020년 6월 (총 4개월)

구성원 소개

서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 김*현(팀장)

서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 정*은

서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 조*민

서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 이*수

서울시립대학교 ㅁㅁ공학부·과 2011XXX0** 남*송

서론

개발 과제의 개요

개발 과제 요약

내용

개발 과제의 배경

내용

개발 과제의 목표 및 내용

내용

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

내용

  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

◇ 네이버 CLOVA OCR 기술의 시장 가능성에 대해 검증할 수 있다.

- 네이버의 CLOVA OCR 기술을 사용하여 이미지에 대한 한글 문자 인식에 관한 프로젝트를 진행하고

이를 바탕으로 CLOVA OCR 기술이 확대되고 있는 OCR 시장에 대해 유연하게 대응할 수 있는 능력을 검증한다.

◇ 구글 자동수정 및 번역 기능의 정확성을 검증할 수 있다.

- 구글의 자동수정 기능을 사용하여 OCR 기술을 통해 인식한 문자의 오류율을 감소시킨다. 이후 번역 기능을 통한 메뉴의 번역이 정확하게 수행되는지 확인함으로써 구글의 자동수정과 번역 기능의 정확성을 검증한다. 

◇ AR 기술의 무한한 활용 가능성을 경험할 수 있다.

- 메뉴에 대한 이미지를 AR 기술을 통해 시각적으로 제공함으로써 AR 기술이 외식업계에서도 활용 가능하다는 또다른 가능성을 제시한다.

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품 요구사항

해피밀 제품 요구사항.JPG

설계 환경

해피밀 안드로이드 버전별 점유율.PNG

◇ 2020년 기준 안드로이드 OS 버전별 점유율 중 가장 높은 점유율을 보인 Android 6.0(Marshmallow) 환경에서 제작하기로 결정하였다.

개념설계안

해피밀 개념설계도.PNG


◇ 한글 메뉴판을 스캔하면 네이버의 CLOVA OCR 모듈을 통해 이를 인식하여 텍스트로 변환한다.

◇ 구글의 이미지 검색 API를 사용하여 메뉴와 관련된 이미지를 검색하여 메뉴에 대한 정보를 제공한다.

◇ AR 기술로는 ARCore을 활용한다. ARCore는 구글에서 제작한 AR 라이브러리로, 카메라를 통해 특정 물체를 인식하고 트래킹하는 기술을 갖추고 있다.

◇ Sceneform을 활용하여 그 트래킹 된 위치에 컨텐츠를 뿌리는 형식으로 AR기능을 구현한다.

◇ Firebase를 이용한 데이터베이스를 통해 사용자 리뷰 정보 및 관련 해시태그 정보를 저장한다.

상세설계안

해피밀 상세설계도.PNG


가. 기능(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 고려요소.PNG
HCI(human-computer interaction) 이론을 기반으로 사용성과 유용성을 고려해서 기능을 구현하고, 디자인 측면에서 사용자의 편의에 맞게 UI를 구상하고
이를 통해서 더 나은 사용자 경험을 제공한다.


나. 통신 및 서버 파트

◇ DB 서버 - Firebase
Firebase는 구글에 의해 개발된 플랫폼으로써 모바일 어플리케이션 서버를 만드는데 용이하다. 따라서 Firebase를 통해 DB 서버를 구축하여
이를 커뮤니티 기능에서 사용자들이 작성한 리뷰를 저장하고 불러오는데 사용한다.


◇ Rest API
Rest API는 클라이언트에 해당하는 어플리케이션과 DB서버를 손쉽게 연결하는데 활용된다. GET과 POST를 통해서 서버에 데이터를 업로드하거나 가져올 수 있다.
따라서 이를 활용하여 구축한 Firebase 서버와 연결하여 사용자 데이터를 업로드하거나 가져오는데 활용한다.

결과 및 평가

완료 작품의 소개

발표 및 시연영상

Youtube

프로토타입 사진 혹은 작동 장면

1. 스캐너/번역 기능

해피밀 기능1.png

◇ 설정한 인식 영역에 번역하고자 하는 메뉴를 인식한 후 결과 출력 버튼을 누르면 화면의 메뉴를 OCR 모듈 을 통해 텍스트로 인식한다.

◇ 이후 인식한 메뉴를 사용자가 설정한 언어에 맞게 번역하여 제공한다.

◇ 사용자가 메뉴에 대해 더 잘 이해할 수 있도록 메뉴 관련 이미지를 제공한다.

◇ 메뉴에 관한 해시태그를 추가하여 메뉴에 대한 자세한 정보를 제공한다.

2. AR 기능

해피밀 기능2.png

◇ 사용자는 AR에 등록된 사진 (포스터)에 대해서 AR기능을 수행한다.

◇ AR기능을 통해서 사진의 종류를 인식한 뒤, 영역을 파악한다.

◇ 인식한 영역에 대해서 영상이 재생되며, 해당 포스터를 대표하는 식당과 관련된 사용자의 리뷰를 볼 수 있 다.

◇ 사용자는 해당 기능을 통해 식당과 관련된 정보를 영상이나 리뷰를 보고, 할인쿠폰도 제공받을 수 있다.

3. Favorites 기능

해피밀 기능3.png

◇ 스캐너 화면에서 하트 모양의 버튼을 선택하면 즐겨찾기 목록에 추가된다.

◇ 즐겨찾기 목록에 추가된 메뉴를 Favorites에서 확인할 수 있다.

◇ 즐겨찾기한 메뉴의 이미지, 메뉴명, 관련 해시태그 정보를 저장한다.

◇ 즐겨찾기의 해제 및 재등록을 수행할 수 있다.

◇ 즐겨찾기 목록 정보를 로컬에 저장하여 앱 종료 후 재실행 시 저장한 목록을 다시 불러온다.

4.Community 기능

해피밀 기능44.png

◇ 커뮤니티 리뷰는 Firebase를 통해 구성한 서버에서 불러온다.

◇ 리뷰 작성 시 Facebook과 연동된 사용자 계정 정보를 참조한다.

◇ 리뷰 작성 창에서는 관련 리뷰를 작성할 수 있고 이미지와 해시태그를 추가할 수 있다.

5. Settings 기능

5-1. Login 기능

해피밀 기능55.png

◇ Settings 탭에서 Facebook 연동 login 기능을 제공한다.

◇ Login한 후 Facebook에서 제공하는 프로필을 사용한다.

◇ Privacy policy는 개인정보 이용에 따른 개인정보보호정책 소개를 제공한다. ◇ About us는 happymeal 팀원들의 소개를 제공한다.

5-2. Change Translation Language 기능

해피밀 기능6.png

◇ 번역 언어 변경 기능을 제공한다.

◇ 언어 변경 뒤 번역이 다른 언어로 바뀐 것을 확인할 수 있다.

포스터

해피밀 포스터.jpg

완료작품의 평가

해피밀 제품요구사항.png

◇ 4번 항목의 경우, 자동 수정 기능을 적용할 수 있는 오류의 차이로 인해 API 사용이 불가하였다. (쿼티키보드 입력 오타 수정과 OCR 인식 오타의 종류에 차이가 발생)

◇ 11번 항목의 경우, 사용자를 위한 튜토리얼 대신, 다양한 앱에서 활용되고 있는 탭 별로 화면을 전환하는 UX를 채택하여 대체하였다.

해피밀 평가결과.png

◇ 3번 항목의 경우, 경쟁사 (구글번역, 파파고) 대비 2단계 축소하였다고 보았다. 구체적으로 관련 사진과 리뷰, 성분등을 파악하기 위한 단계를 줄인 것으로 보았다.

◇ 5번 항목의 경우, 성분표시, 관련 리뷰 표시, AR 동영상, 메뉴 이미지 표시등의 기능을 담아 경쟁 어플보다 4개 더 많은 기능을 제공하는 것으로 보았다.

향후계획

가. 구현 시 어려웠던 점

◇ OpenCV 카메라에서 카메라 줌 기능을 지원하지 않아 어려움이 있었다.

◇ 자동수정 기능의 경우에 쿼티와 OCR 인식 간에 발생하는 오류 종류의 차이로 인해 자동수정 기능 적용에 어려움이 있었다.

◇ AR기능에서 트래킹한 영역을 인식하는 것이 사각형 기반으로 되어 있어서 아이디어를 완전히 구현하는 부 분에 있어서 어려움이 있었다.

◇ 각각 모듈마다 gradle에서 활용하는 라이브러리 부분이 달라 통합에 어려움이 있었다.

나. 향후 개선 계획

◇ 생소한 메뉴명의 번역 기능 제공

◇ 스캐너 인식 영역 조절 기능 제공

◇ 3D 컨텐츠를 통한 AR기능 향상

◇ iOS 환경 지원

◇ 타 소셜 플랫폼과의 공유 기능 제공

프로젝트 소스코드

Github