4. ‘책을찍다’ 란?
사용자가 일일이 적어서 직접 입력할 필요 없이
촬영한 책 사진을 기반으로 책과 관련된 원하는 정보를
제공받고 바로 구매할 수 있다.
Part1. 프로젝트 소개 및 기능 시연
4
5. 관심 책을 기록할 때,
직접 적어야 해서 어렵다
책 내용을 기록할 때,
수기로 적어야 해서 오래 걸린다.
나중에 기록을 확인할 때,
원하는 정보가 누락되어 곤란하다.
“책을찍다”는 사용자들이 쉽고, 빠르고, 풍부하게
독서 생활을 할 수 있게 돕는다
책 사진을 기반으로
관심 책을 쉽게 기록할 수 있다.
책 내용을 찍은 사진으로
바로 스크랩 등록을 할 수 있다.
필요할 때 내 서재를 클릭하면
원하는 정보를 상세히 얻는다.
5
Part1. 프로젝트 소개 및 기능 시연
6. 기존 업체들은 어렵고, 느리고, 불편하다
업체명 사업 분야 단 점
- 도서 리뷰 공유 - 직접 입력을 통한 검색만을
제공한다.
- 독서를 위한 기술적 지원
(스크랩 등)이 이뤄지지 않는다.
- “내 도서”에 대한 관리가
미흡하다.
교보문고
알라딘
- 온/오프라인 서점
책방 잉크 - 도서 추천 앱
➔ “책을찍다”는 AI 기술을 도입하여
사용자들이 쉽고, 빠르고, 풍부하게 독서 생활을 할 수 있도록 돕는다.
6
Part1. 프로젝트 소개 및 기능 시연
7. (영상1) 쉽다!
직접 입력할 필요없이 사진 찍는 것만으로 관심 도서 GET!
(영상2) 빠르다!
중요 문구를 전부 입력할 필요없이 촬영만으로 스크랩!
(영상3) 풍부하다!
시간이 지나도 원하는 정보를 누락없이 확인!
기능
시연
영상
7
Part1. 프로젝트 소개 및 기능 시연
10. - 정확도 평가 방식: 검색 결과가 도서 상세 정보를 확인할 수 있는 URL 또는 동일 서적이 찍힌 사진
- Top1 정확도: 검색 결과 상위 1위로 나온 결과만 정답으로 인정
- Top5 정확도: 검색 결과 상위 5위 이내에 나온 결과면 모두 정답으로 인정
- URL만: 실제 도서의 상세 정보를 확인할 수 있는 URL이 Top5 안에 등장한 경우
Top1 정확도: 29%
Top5 정확도: 33%
(URL만: 7%)
“책을찍다”의 핵심 기술은 “이미지 검색”
그런데, Google도 정확한 검색을 못하고 있다
구글 이미지 검색
10
Part2. 이미지 검색 기술 개발 과정
11. - 정확도 평가 방식: 검색 결과가 도서 상세 정보를 확인할 수 있는 URL 또는 동일 서적이 찍힌 사진
- Top1 정확도: 검색 결과 상위 1위로 나온 결과만 정답으로 인정
- Top5 정확도: 검색 결과 상위 5위 이내에 나온 결과면 모두 정답으로 인정
Top1 정확도: 65%
Top5 정확도: 68%
도서 이미지 검색에 특화된
자체 검색 시스템을 구축하자
빅스비 비전 쇼핑
➔ 빅스비 비전은 도서 이미지 검색 카테고리를 따로 두는 방식으로 정확도가 높다.
11
Part2. 이미지 검색 기술 개발 과정
12. - 정확도 평가 방식: 검색 결과, 검색 이미지와 동일한 isbn의 서적이면 정확한 것으로 판정
- Top1 정확도: 검색 결과 상위 1위로 나온 결과만 정답으로 인정
- Top5 정확도: 검색 결과 상위 5위 이내에 나온 결과면 모두 정답으로 인정
이미지 검색 기술 PoC(개념증명) 목표
- 도서 DB: 10,000권
- 검색 이미지:
인덱싱과 동일한 이미지 1만장
- 정확도 목표: Top1 95%
-1단계 목표-
Top1 정확도
95%이상
- 도서 DB: 10,000권
- 검색 이미지:
직접 촬영 이미지 144장
- 정확도 목표: Top5 90%
-2단계 목표-
실제 도서
촬영 이미지
- 도서 DB: 30만 권
- 검색 이미지:
직접 촬영 이미지 144장
- 정확도 목표: Top5 70%
-3단계 목표-
’15이후 국내서
30만 권
12
Part2. 이미지 검색 기술 개발 과정
13. • Text Detection:
딥러닝 기반의 EAST 알고리듬
• OCR engine:
오픈소스 tesseract-ocr 활용
이미지 속 텍스트 검출 및
인식 기능을 응용한
도서 이미지 검색 기술 개발
OCR 기술만으로
도서 이미지 검색을
해결할 수 없다.
• PoC 2단계 목표 90%:
도서 DB 1만권에 대해
직접 촬영한 이미지 144장로 검색
Top1 정확도: 21%
Top5 정확도: 22%
첫번째 시도 실패:
OCR 기술을 활용한 도서 이미지 검색
Text Detection
+ OCR engine
PoC 2단계 실패 이미지 검색
기술 필요
➔ 이미지 정보를 활용한
도서 이미지 검색 시스템 필요
13
Part2. 이미지 검색 기술 개발 과정
14. 이미지 검색 시스템 아키텍처
14
Train Server
Feature
Extractor
Visual
Vocabulary
Constructor
Book Recognizer
Analysis Server
Feature
Extractor
Visual
Vocabulary
Predictor
Search Engine
Index
Analyzer
Indexer
Search
Analyzer
Crawling
Server
Book DB
Part2. 이미지 검색 기술 개발 과정
Indexed
Data
TakeBook
Raw
Features
TakeBook
Viz-Vocabs
Clustering
Models
15. - 도서 DB: 10,000권
- 검색 이미지:
인덱싱과 동일한 이미지 1만장
- A조합: Binary Image Descriptor + k-modes
- B조합: HOG(histogram of oriented gradient) image descriptor + k-means
-PoC 1단계-
기술 조합 B 선택
-PoC 2단계-
하이퍼 파라미터 조합 Y 선택
실험을 통한 요소 기술 및 파라미터 설정
(정확도와 비용의 트레이드 오프에 대한 실험)
N=10,000 A조합 B조합
Top5
정확도
차이 없음
Top1
정확도
차이 없음
특성 용량 150MB 2GB
클러스터링
시간
10시간 10분
N=10,000 W조합 X조합 Y조합 Z조합
Top5
정확도
96% 92% 88% 79%
Top1
정확도
93% 88% 84% 76%
특성 용량 2.12GB 1.15GB 0.91GB 0.63GB
클러스터링
시간
17분 9분 8분 2.7분
- Y조합 주요 파라미터: 이미지 특징 검출 임계값=3,000
15
Part2. 이미지 검색 기술 개발 과정
16. -PoC 3단계-
급격하게 떨어지는 정확도
A안: 고사양의 서버 인프라 사용
➔ PoC 2단계로 돌아가
가성비가 나쁘지만 정확한 기술 선택
B안: 기술력을 끌어올려 해결
➔도서 이미지 검색 시스템 일부 모델을
데이터 추가에 대응하도록 개편
“기술로 해결”
데이터 추가에 대응하도록
일부 모델 개편
(PoC 2단계) 1만권 88%
(PoC 3단계) 30만권 51%
16
Part2. 이미지 검색 기술 개발 과정
17. 비지도 군집화 알고리즘의
추가 학습 시,
기 학습된 정보도
다시 인덱싱해야 하는 문제
군집화 모델을
트리 구조로 쌓아서
말단 노드를 분기 시키는
방식으로 극복
17
Part2. 이미지 검색 기술 개발 과정
원래 있던 정보도
라벨이 바뀐다.
18. 이형남, 김성재, 배상현, 최광선, “다중언어 텍스트 특성 및 이미지 특성을 이용한 사
진 속 도서 객체 인식“, 한국지능정보시스템학회 추계공동학술대회, 2019, 41~42.
33%
68%
72%
이미지 검색 시스템 정확도 달성 결과
18
Part2. 이미지 검색 기술 개발 과정
*라즈베리 파이급의 서버 자원으로 Top5 72% 정확도 달성
20. 문제점1-
무거운 AI 서버 때문에 타 기능에 영향
➔ AI 기능 부하가 타 기능 부하로 이어진다.
➔ AI와 관련 없는 기능 업데이트에도
빌드가 오래 걸린다.
Part3. 기술적 성과
20
문제점2-
크롤러, 훈련 서버의 배치 잡이
타 기능에 영향
➔ 잦은 삽입으로 타 용도의 DB 기능 마비
MSA를 도입해 타 기능으로 인한 부하 예방
해결책-
MSA를 통해 기능 단위 서비스 분할
➔ 각 서비스가 서로 영향을 주지 않음
*MSA(Microservice Architecture)
21. Part3. 기술적 성과
Kubernetes를 통해 과부하 및 통합 관리 문제 해결
21
문제점1-
MSA를 적용하더라도
사용자 요청이 몰릴 경우
여전히 과부하 문제가 발생한다
문제점2-
여러 서비스들의 통합 관리가 어렵다
➔ 장애 추적, 모니터링, 로그 확인
해결책-
AWS EKS를 이용하여 해결
* AWS EKS (Amazon Elastic Kubernetes Service)
22. 문제점1-
OpenCV에 대한 직접 접근 불가
*OpenCV: 컴퓨터 비전 기술의 핵심 오픈소스
Part3. 기술적 성과
22
문제점2-
적절한 Logging 툴이 없음
Flutter 적용에 따른 기술적 난관 극복
해결책1-
MethodChannel을 이용해
네이티브 액티비티/뷰 컨트롤러에 접근
*Flutter: 모바일 크로스 플랫폼 프레임워크
해결책2-
개발용 로그 API를 만들어
서버를 통해 디버깅 로그 확인
23. (1단계) Text Detection
딥러닝 기반의 EAST 알고리듬 채택
*Text Detection: 이미지 속의 글자 영역 검출 기술
도서 스크랩 기술 개발
(2단계) Text Recognition
오픈소스 tesseract-ocr 채택
*Text Recognition: 이미지 속의 글자를 텍스트로 변환하는 기술
23
Part3. 기술적 성과
24. 모바일 환경에서 실시간 마스킹을 위한
영상처리 알고리듬 직접 개발
촬영 시 도서 마스킹 기술
Rescaling /GrayScale
Median Filter
Gaussian Filter X2
Edge Capture
Unsharpning Filter
Adaptive Binarization
Morphology
Contouring
24
Part3. 기술적 성과
26. 월별 프로젝트 수행과정
Part4. 프로젝트 수행 과정
26
5월
팀 구성
6월
기획평가
7월
연구 / 개발
8월
9월
기술 블로그 오픈
10월
논문 프로시딩
11월
베타테스트
중간평가
27. 기술 블로그 운영
https://medium.com/team-red
컴퓨터 비전, 검색, MSA, AWS, Flutter
기술 컨퍼런스 2회 발표
(Google Developer Group) DevFest 2019
소마콘(소프트웨어 마에스트로 컨퍼런스)
기타 성과: 기술 블로그, 기술 컨퍼런스
사진
27
Part4. 프로젝트 수행 과정
28. Gitlab으로 통합관리
기능별 형상 관리
Milestone, Issue를 통한 프로젝트 관리
애자일 방법론(스크럼) 도입
원격 환경을 구축하여 스크럼/스프린트 회의
팀 전체가 최신 정보를 확인할 수 있는 환경 구축
프로젝트 관리 방법
28
Part4. 프로젝트 수행 과정
29. 2015년 이후 국내 출간 도서에만 대응
➔ 지속적인 데이터 확보를 통해 극복
기획보다 실제 기술적 난이도가 높아서
일부 기능(추천 등) 미비
➔ 프로젝트 종료 이후에도
추가 작업을 통해 기능 보완 예정
현재 한계점 및 극복 방안
29
Part4. 프로젝트 수행 과정
30. 도서 마스킹 기능이 오히려 불편하다
크롭 기능만 있는 건 어떨까
➔ 아이폰 버전 기능 탑재 완료
내(사용자)가 이용하는 서점은 따로 있다.
➔ 추가 서점 1종 반영 준비 완료
점유율 순으로 추가해 나갈 예정
사용자 피드백 반영
30
Part4. 프로젝트 수행 과정