상세 컨텐츠

본문 제목

AI 기반 반려동물 사진앨범 앱 '포에버' 개발기

POST

by ESTsoft 2020. 8. 13. 10:44

본문

오늘은 이스트소프트의 인공지능(AI) 기반 반려동물 사진앨범 앱 '포에버(Pawever)'의 개발기를 소개하려고 합니다.

AI 앱 개발에서 데이터의 양과 질이 그 성능을 좌우할 만큼, 데이터의 역할이 중요한데요. 오늘은 데이터 구축 과정에 초점을 맞춰 포에버 앱의 개발과정을 소개해 보겠습니다.

 

 

 

 

포에버의 시작

반려동물을 키우는 분들이라면 많이 공감하실 것 같은데요. 반려동물 사진을 보여주려고 갤러리 앱을 키면 여러 사진이 뒤엉켜 있어 곤란한 상황이 종종 있죠! 이러한 상황에서 떠오로는 생각, '반려동물 사진만 자동으로 필터링해서 볼 수 있으면 좋지 않을까?'라는 니즈에서 포에버는 시작되었습니다.

 

         

        

앱 개발과정

먼저 강아지 사진을 자동으로 분류해 보여주는 앱을 구현하기 위해, 이스트소프트가 가진 AI 기술 중 '분류 모델'을 활용하기로 결정했는데요. AI 모델이 다양한 사진 속에서 반려견의 얼굴의 인지하고 분류해낼 수 있도록 데이터를 학습하는 과정이 필요했습니다!

앞서 언급한 것처럼 AI 앱 개발에서는 양질의 데이터를 대량 수집해 가공처리 후 학습을 거치는 과정이 중요하기 때문에
AI 개발자와 기획자, 데이터 구축 인력들이 머리를 맞대고 앱의 퍼포먼스를 높이기 위한 최적의 데이터 구축 과정을 고민했는데요~

그 결과 아래와 같은 개발과정을 거쳐 앱이 완성되었습니다. 자세한 세부 과정들은 아래에서 좀 더 자세히 살펴볼게요!

AI 데이터 구축과 활용 과정 (NIA '2019년 AI 학습용 데이터 구축' 사업 방향과 중점 사항 자료 참고)

 

1단계: AI 모델의 훈련을 위한 데이터 수집

AI 모델이 반려견 이미지를 잘 구분해낼 수 있도록 훈련을 위한 다양한 카테고리(강아지의 종, 색깔, 크기, 표정, 자세 등)의 이미지를 수집했는데요. 무려 각 카테고리당 최소 2천 장의 데이터를 수집했습니다!

이스트소프트는 지난 2016년부터 AI 신사업을 전개하면서 AI 학습에 필요한 데이터를 전문적으로 구축하는 전담 팀을 만들어서 운영 중인데요~ 바로 이 데이터인텔리전스팀의 전문 인력들이 프로젝트에 참여해, 데이터 구축 작업을 진행했습니다!

 

훈련세트 수집을 위한 카테고리 분류 및 데이터 예시

 

 

2단계: 데이터 가공(멀티태깅 작업)

수집한 데이터를 바로 AI 모델 학습에 활용하기는 어려운데요. AI가 잘 훈련을 할 수 있도록, 이 데이터가 무엇을 의미하는지 알려주는 데이터 가공 작업이 필요합니다. 예를 들어, 사진 속 강아지의 종은 진돗개고, 앉아 있다 등의 정보를 알려주는 과정이 필요한건데요.

이렇게 하나의 데이터에 데이터를 설명하는 여러 개의 태그 및 라벨을 붙이는 작업을 '
멀티태깅(multi-tagging)'이라고 합니다. 단순해 보이지만, 적게는 수십 개, 많게는 수백 개에 달하는 태깅 기준에 따라 정확히 작업을 하기 위해서는 인력과 시간이 많이 필요하게 되는데요. 이 작업을 보다 효율적으로, 정확하게 작업하기 위해 아래 이미지와 같이 어노테이션 툴(태깅 툴)을 개발했습니다!

이렇게 어노테이션 툴을 통해 멀티태깅이 완료된 데이터는 보다 데이터 품질을 높이기 위해 검수와 후처리 과정까지 거치게 되는데요. 완성된 양질의 훈련 데이터셋은 DB파일 형태로 만들어져 AI 학습에 적용할 수 있게 됩니다.

 

데이터 멀티태깅을 위한 어노테이션 툴

 

 

3단계: AI 모델 성능 평가와 데이터 보완 작업

가공된 데이터로 AI 분류 모델을 만들었다면, 이제 평가 데이터셋을 통해 모델의 성능을 평가해봐야 합니다. 최대한 다양한 데이터를 많이 수집했던 훈련 데이터셋과 달리, 평가 데이터셋은 명확한 기준을 가지고 데이터를 수집하여 AI 모델에게 '과연 이런 사진도 분류 가능할까' 라는 질문을 지속적으로 던지는 과정으로 볼 수 있습니다.

초기 평가에서는 분류 모델의 판단 오류로, 강아지가 아닌 사진을 강아지로 분류하는 여러 오분류 데이터들이 나왔는데요. 강아지가 아닌 여러 이미지를 다양하게, 많이 수집하여 '이런건 강아지가 아니다' 혹은 '이 사진엔 강아지가 없다'라고 태깅 후 학습시키는 과정이 필요했습니다. 
또한 강아지가 맞지만 종이나 표정 등 세부 특징을 잘 분류해내지 못한 경우, 그 실패 확률을 분석하여 오분류 확률이 높은 특징 카테고리의 데이터를 추가 수집해 가공 후 재학습시키는 '
데이터 보완' 과정을 거쳤습니다.

 

오분류 데이터 예시 (왼쪽부터 인형, 아기, 어두운 사진)

 


 

이러한 개발과정을 거쳐, 현재 포에버는 이미 출시를 마쳤는데요. AI 기술을 바탕으로 반려동물 사진을 자동으로 인식해 상황별, 표정별로 사진을 분류하여 앨범을 생성하는 기능을 제공하고 있습니다.

현재도 이스트소프트는 AI 분류 모델의 정확도 향상을 위해 노력하고 있는데요! 이뿐만 아니라, 포에버가 반려동물 케어, 커뮤니티 등 종합 반려동물 플랫폼으로 성장할 수 있도록 다양한 시도를 할 계획입니다. 포에버에 많은 관심 부탁드리며, 더욱 자세한 데이터 구축 과정이 궁금하다면 아래 이스트소프트 기술블로그를 참고해보세요!

 

 

AI 앱 개발을 위한 학습용 데이터 구축기

본 글은 반려동물 전용 갤러리 앱 ‘포에버(PAWEVER)’를 예시로, 이스트소프트가 인공지능 앱 개발을 위해 데이터를 구축하는 전 과정을 소개하려고 합니다. ‘데이터’ 없는 인공지능(AI)은 무용

blog.est.ai

       

관련글 더보기

댓글 영역