SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
새빨간팀
이형남 . 김성재 . 배상현
책을찍다
책을 만나는 순간,
2019.11.22
1
프로젝트 소개 및 기능 시연
이미지 검색 기술 개발 과정
기술적 성과
프로젝트 수행 과정
1
2
3
4
2
프로젝트 소개
및 기능 시연
3
Part1
‘책을찍다’ 란?
사용자가 일일이 적어서 직접 입력할 필요 없이
촬영한 책 사진을 기반으로 책과 관련된 원하는 정보를
제공받고 바로 구매할 수 있다.
Part1. 프로젝트 소개 및 기능 시연
4
관심 책을 기록할 때,
직접 적어야 해서 어렵다
책 내용을 기록할 때,
수기로 적어야 해서 오래 걸린다.
나중에 기록을 확인할 때,
원하는 정보가 누락되어 곤란하다.
“책을찍다”는 사용자들이 쉽고, 빠르고, 풍부하게
독서 생활을 할 수 있게 돕는다
책 사진을 기반으로
관심 책을 쉽게 기록할 수 있다.
책 내용을 찍은 사진으로
바로 스크랩 등록을 할 수 있다.
필요할 때 내 서재를 클릭하면
원하는 정보를 상세히 얻는다.
5
Part1. 프로젝트 소개 및 기능 시연
기존 업체들은 어렵고, 느리고, 불편하다
업체명 사업 분야 단 점
- 도서 리뷰 공유 - 직접 입력을 통한 검색만을
제공한다.
- 독서를 위한 기술적 지원
(스크랩 등)이 이뤄지지 않는다.
- “내 도서”에 대한 관리가
미흡하다.
교보문고
알라딘
- 온/오프라인 서점
책방 잉크 - 도서 추천 앱
➔ “책을찍다”는 AI 기술을 도입하여
사용자들이 쉽고, 빠르고, 풍부하게 독서 생활을 할 수 있도록 돕는다.
6
Part1. 프로젝트 소개 및 기능 시연
(영상1) 쉽다!
직접 입력할 필요없이 사진 찍는 것만으로 관심 도서 GET!
(영상2) 빠르다!
중요 문구를 전부 입력할 필요없이 촬영만으로 스크랩!
(영상3) 풍부하다!
시간이 지나도 원하는 정보를 누락없이 확인!
기능
시연
영상
7
Part1. 프로젝트 소개 및 기능 시연
8
“책을찍다” 전체 아키텍처
Part1. 프로젝트 소개 및 기능 시연
이미지 검색 기술
개발 과정
9
Part2
- 정확도 평가 방식: 검색 결과가 도서 상세 정보를 확인할 수 있는 URL 또는 동일 서적이 찍힌 사진
- Top1 정확도: 검색 결과 상위 1위로 나온 결과만 정답으로 인정
- Top5 정확도: 검색 결과 상위 5위 이내에 나온 결과면 모두 정답으로 인정
- URL만: 실제 도서의 상세 정보를 확인할 수 있는 URL이 Top5 안에 등장한 경우
Top1 정확도: 29%
Top5 정확도: 33%
(URL만: 7%)
“책을찍다”의 핵심 기술은 “이미지 검색”
그런데, Google도 정확한 검색을 못하고 있다
구글 이미지 검색
10
Part2. 이미지 검색 기술 개발 과정
- 정확도 평가 방식: 검색 결과가 도서 상세 정보를 확인할 수 있는 URL 또는 동일 서적이 찍힌 사진
- Top1 정확도: 검색 결과 상위 1위로 나온 결과만 정답으로 인정
- Top5 정확도: 검색 결과 상위 5위 이내에 나온 결과면 모두 정답으로 인정
Top1 정확도: 65%
Top5 정확도: 68%
도서 이미지 검색에 특화된
자체 검색 시스템을 구축하자
빅스비 비전 쇼핑
➔ 빅스비 비전은 도서 이미지 검색 카테고리를 따로 두는 방식으로 정확도가 높다.
11
Part2. 이미지 검색 기술 개발 과정
- 정확도 평가 방식: 검색 결과, 검색 이미지와 동일한 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. 이미지 검색 기술 개발 과정
• 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
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
- 도서 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. 이미지 검색 기술 개발 과정
-PoC 3단계-
급격하게 떨어지는 정확도
A안: 고사양의 서버 인프라 사용
➔ PoC 2단계로 돌아가
가성비가 나쁘지만 정확한 기술 선택
B안: 기술력을 끌어올려 해결
➔도서 이미지 검색 시스템 일부 모델을
데이터 추가에 대응하도록 개편
“기술로 해결”
데이터 추가에 대응하도록
일부 모델 개편
(PoC 2단계) 1만권 88%
(PoC 3단계) 30만권 51%
16
Part2. 이미지 검색 기술 개발 과정
비지도 군집화 알고리즘의
추가 학습 시,
기 학습된 정보도
다시 인덱싱해야 하는 문제
군집화 모델을
트리 구조로 쌓아서
말단 노드를 분기 시키는
방식으로 극복
17
Part2. 이미지 검색 기술 개발 과정
원래 있던 정보도
라벨이 바뀐다.
이형남, 김성재, 배상현, 최광선, “다중언어 텍스트 특성 및 이미지 특성을 이용한 사
진 속 도서 객체 인식“, 한국지능정보시스템학회 추계공동학술대회, 2019, 41~42.
33%
68%
72%
이미지 검색 시스템 정확도 달성 결과
18
Part2. 이미지 검색 기술 개발 과정
*라즈베리 파이급의 서버 자원으로 Top5 72% 정확도 달성
기술적 성과
19
Part3
문제점1-
무거운 AI 서버 때문에 타 기능에 영향
➔ AI 기능 부하가 타 기능 부하로 이어진다.
➔ AI와 관련 없는 기능 업데이트에도
빌드가 오래 걸린다.
Part3. 기술적 성과
20
문제점2-
크롤러, 훈련 서버의 배치 잡이
타 기능에 영향
➔ 잦은 삽입으로 타 용도의 DB 기능 마비
MSA를 도입해 타 기능으로 인한 부하 예방
해결책-
MSA를 통해 기능 단위 서비스 분할
➔ 각 서비스가 서로 영향을 주지 않음
*MSA(Microservice Architecture)
Part3. 기술적 성과
Kubernetes를 통해 과부하 및 통합 관리 문제 해결
21
문제점1-
MSA를 적용하더라도
사용자 요청이 몰릴 경우
여전히 과부하 문제가 발생한다
문제점2-
여러 서비스들의 통합 관리가 어렵다
➔ 장애 추적, 모니터링, 로그 확인
해결책-
AWS EKS를 이용하여 해결
* AWS EKS (Amazon Elastic Kubernetes Service)
문제점1-
OpenCV에 대한 직접 접근 불가
*OpenCV: 컴퓨터 비전 기술의 핵심 오픈소스
Part3. 기술적 성과
22
문제점2-
적절한 Logging 툴이 없음
Flutter 적용에 따른 기술적 난관 극복
해결책1-
MethodChannel을 이용해
네이티브 액티비티/뷰 컨트롤러에 접근
*Flutter: 모바일 크로스 플랫폼 프레임워크
해결책2-
개발용 로그 API를 만들어
서버를 통해 디버깅 로그 확인
(1단계) Text Detection
딥러닝 기반의 EAST 알고리듬 채택
*Text Detection: 이미지 속의 글자 영역 검출 기술
도서 스크랩 기술 개발
(2단계) Text Recognition
오픈소스 tesseract-ocr 채택
*Text Recognition: 이미지 속의 글자를 텍스트로 변환하는 기술
23
Part3. 기술적 성과
모바일 환경에서 실시간 마스킹을 위한
영상처리 알고리듬 직접 개발
촬영 시 도서 마스킹 기술
Rescaling /GrayScale
Median Filter
Gaussian Filter X2
Edge Capture
Unsharpning Filter
Adaptive Binarization
Morphology
Contouring
24
Part3. 기술적 성과
25
Part4
프로젝트 수행과정
월별 프로젝트 수행과정
Part4. 프로젝트 수행 과정
26
5월
팀 구성
6월
기획평가
7월
연구 / 개발
8월
9월
기술 블로그 오픈
10월
논문 프로시딩
11월
베타테스트
중간평가
기술 블로그 운영
https://medium.com/team-red
컴퓨터 비전, 검색, MSA, AWS, Flutter
기술 컨퍼런스 2회 발표
(Google Developer Group) DevFest 2019
소마콘(소프트웨어 마에스트로 컨퍼런스)
기타 성과: 기술 블로그, 기술 컨퍼런스
사진
27
Part4. 프로젝트 수행 과정
Gitlab으로 통합관리
기능별 형상 관리
Milestone, Issue를 통한 프로젝트 관리
애자일 방법론(스크럼) 도입
원격 환경을 구축하여 스크럼/스프린트 회의
팀 전체가 최신 정보를 확인할 수 있는 환경 구축
프로젝트 관리 방법
28
Part4. 프로젝트 수행 과정
2015년 이후 국내 출간 도서에만 대응
➔ 지속적인 데이터 확보를 통해 극복
기획보다 실제 기술적 난이도가 높아서
일부 기능(추천 등) 미비
➔ 프로젝트 종료 이후에도
추가 작업을 통해 기능 보완 예정
현재 한계점 및 극복 방안
29
Part4. 프로젝트 수행 과정
도서 마스킹 기능이 오히려 불편하다
크롭 기능만 있는 건 어떨까
➔ 아이폰 버전 기능 탑재 완료
내(사용자)가 이용하는 서점은 따로 있다.
➔ 추가 서점 1종 반영 준비 완료
점유율 순으로 추가해 나갈 예정
사용자 피드백 반영
30
Part4. 프로젝트 수행 과정
31

Contenu connexe

Similaire à 소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다

모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 II모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 IImosaicnet
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
QlikView ppt
QlikView pptQlikView ppt
QlikView pptTomi Lee
 
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024NAVER D2
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술Taegon Kim
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture LearninguEngine Solutions
 
Dynamic Word Cloud Using Word2Vec - 2nd Presentation
Dynamic Word Cloud Using Word2Vec - 2nd PresentationDynamic Word Cloud Using Word2Vec - 2nd Presentation
Dynamic Word Cloud Using Word2Vec - 2nd PresentationMinwook Chang
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
The platform 2011
The platform 2011The platform 2011
The platform 2011NAVER D2
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysisc K
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요Youngjae Kim
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection창기 문
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection창기 문
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksSunuk Park
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기Seokjae Lee
 
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...Amazon Web Services Korea
 

Similaire à 소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다 (20)

모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 II모바일, 클라우드, 웹 환경에 필요한 DB관리 II
모바일, 클라우드, 웹 환경에 필요한 DB관리 II
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
QlikView ppt
QlikView pptQlikView ppt
QlikView ppt
 
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
[222]딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 20161024
 
Codex project
Codex projectCodex project
Codex project
 
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
Amazon Rekognition을 이용하여 인공지능 안면 인식 키오스크 만들기 - 강정희 (AWS 솔루션즈 아키텍트)
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Dynamic Word Cloud Using Word2Vec - 2nd Presentation
Dynamic Word Cloud Using Word2Vec - 2nd PresentationDynamic Word Cloud Using Word2Vec - 2nd Presentation
Dynamic Word Cloud Using Word2Vec - 2nd Presentation
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
The platform 2011
The platform 2011The platform 2011
The platform 2011
 
Lost practice : Requirement Analysis
Lost practice : Requirement AnalysisLost practice : Requirement Analysis
Lost practice : Requirement Analysis
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...
Case Study를 통해 본 데이터사이언스 협업 플랫폼의 필요성 (옥주영 컨설턴트, Hancom MDS) :: AWS Techforum ...
 

Plus de HYEONGNAM LEE

STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스
STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스
STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스HYEONGNAM LEE
 
REST가 unrest할 때, GraphQL, gRPC는 어때요?
REST가 unrest할 때, GraphQL, gRPC는 어때요?REST가 unrest할 때, GraphQL, gRPC는 어때요?
REST가 unrest할 때, GraphQL, gRPC는 어때요?HYEONGNAM LEE
 
계륵 같은 딥러닝, 실 서비스 적용기
계륵 같은 딥러닝, 실 서비스 적용기계륵 같은 딥러닝, 실 서비스 적용기
계륵 같은 딥러닝, 실 서비스 적용기HYEONGNAM LEE
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)HYEONGNAM LEE
 
Why game users drop out of blade & soul? - 2018 big contest
Why game users drop out of blade & soul? - 2018 big contestWhy game users drop out of blade & soul? - 2018 big contest
Why game users drop out of blade & soul? - 2018 big contestHYEONGNAM LEE
 

Plus de HYEONGNAM LEE (6)

STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스
STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스
STEC: 채용공고로 알아보는 IT 기술 트렌드 분석 서비스
 
REST가 unrest할 때, GraphQL, gRPC는 어때요?
REST가 unrest할 때, GraphQL, gRPC는 어때요?REST가 unrest할 때, GraphQL, gRPC는 어때요?
REST가 unrest할 때, GraphQL, gRPC는 어때요?
 
계륵 같은 딥러닝, 실 서비스 적용기
계륵 같은 딥러닝, 실 서비스 적용기계륵 같은 딥러닝, 실 서비스 적용기
계륵 같은 딥러닝, 실 서비스 적용기
 
Rnn for seq
Rnn for seqRnn for seq
Rnn for seq
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)
 
Why game users drop out of blade & soul? - 2018 big contest
Why game users drop out of blade & soul? - 2018 big contestWhy game users drop out of blade & soul? - 2018 big contest
Why game users drop out of blade & soul? - 2018 big contest
 

소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다

  • 1. 새빨간팀 이형남 . 김성재 . 배상현 책을찍다 책을 만나는 순간, 2019.11.22 1
  • 2. 프로젝트 소개 및 기능 시연 이미지 검색 기술 개발 과정 기술적 성과 프로젝트 수행 과정 1 2 3 4 2
  • 4. ‘책을찍다’ 란? 사용자가 일일이 적어서 직접 입력할 필요 없이 촬영한 책 사진을 기반으로 책과 관련된 원하는 정보를 제공받고 바로 구매할 수 있다. Part1. 프로젝트 소개 및 기능 시연 4
  • 5. 관심 책을 기록할 때, 직접 적어야 해서 어렵다 책 내용을 기록할 때, 수기로 적어야 해서 오래 걸린다. 나중에 기록을 확인할 때, 원하는 정보가 누락되어 곤란하다. “책을찍다”는 사용자들이 쉽고, 빠르고, 풍부하게 독서 생활을 할 수 있게 돕는다 책 사진을 기반으로 관심 책을 쉽게 기록할 수 있다. 책 내용을 찍은 사진으로 바로 스크랩 등록을 할 수 있다. 필요할 때 내 서재를 클릭하면 원하는 정보를 상세히 얻는다. 5 Part1. 프로젝트 소개 및 기능 시연
  • 6. 기존 업체들은 어렵고, 느리고, 불편하다 업체명 사업 분야 단 점 - 도서 리뷰 공유 - 직접 입력을 통한 검색만을 제공한다. - 독서를 위한 기술적 지원 (스크랩 등)이 이뤄지지 않는다. - “내 도서”에 대한 관리가 미흡하다. 교보문고 알라딘 - 온/오프라인 서점 책방 잉크 - 도서 추천 앱 ➔ “책을찍다”는 AI 기술을 도입하여 사용자들이 쉽고, 빠르고, 풍부하게 독서 생활을 할 수 있도록 돕는다. 6 Part1. 프로젝트 소개 및 기능 시연
  • 7. (영상1) 쉽다! 직접 입력할 필요없이 사진 찍는 것만으로 관심 도서 GET! (영상2) 빠르다! 중요 문구를 전부 입력할 필요없이 촬영만으로 스크랩! (영상3) 풍부하다! 시간이 지나도 원하는 정보를 누락없이 확인! 기능 시연 영상 7 Part1. 프로젝트 소개 및 기능 시연
  • 8. 8 “책을찍다” 전체 아키텍처 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. 프로젝트 수행 과정
  • 31. 31