티몬이 대량의 딜을 자동 등록하는 시스템을 도입하면서, 상품 정보에 색상 태그가 없을 때 이미지에서 색상을 추출하는 과제를 수행한 기록이다. 수작업으로 일일이 속성을 기입하는 것이 거의 불가능해 자동 추출이 필요했다. 아주 나이브한 접근에서 시작해 딥러닝으로 성능을 개선하는 과정을 순서대로 공유한다.
핵심 포인트- 문제를 단순화하면 상품 이미지를 입력했을 때 그 이미지에 포함된 상품의 색상 값을 출력하는 함수를 작성하는 일이다.
- 사람에게는 아주 직관적이고 간단한 일이지만 기계가 자동으로 수행하게 만드는 것은 그렇지 않다.
- 가장 쉽게 시도해볼 접근은 색상 히스토그램에서 가장 큰 비중을 차지하는 값을 상품 색상으로 쓰는 것이다.
- 이 방식은 직관적이고 구현이 간단해 실행 속도가 빠르지만, 조금만 테스트해보면 실제 서비스에 쓸 품질이 안 나온다.
- 실제 상품 이미지는 단색으로 이뤄지지 않아 다양한 색상 스펙트럼을 몇 개의 대표 색상으로 뽑는 작업을 히스토그램만으로 하기 어렵다.
상세 정리- 도입 배경: 딥러닝을 실제 서비스에 활용하는 사례가 IT 기업을 중심으로 늘고 있으며 과학기술·의료·예술·이커머스로도 확대되는 추세라는 맥락에서 출발한다.
- 요구사항의 출처: 대량 딜 자동 등록 시스템에서 상품의 다양한 속성을 자동 추출해야 했고, 그중 명시적 색상 태그가 없는 경우가 이 과제의 대상이다.
- 히스토그램 방식의 문제 1: 색상 스펙트럼이 넓은 실제 이미지를 소수의 대표 색으로 축약하기 어렵다.
- 히스토그램 방식의 문제 2: 배경이 차지하는 영역이 크면 배경색이 대표 색상으로 뽑힐 수 있고, 상품 이미지 특성상 상품과 배경을 구분하기 어려운 경우가 많아 상황이 더 나빠진다.
- 저자는 히스토그램 방법론에 이외에도 근본적인 문제가 많지만, 서비스에 쓸 품질을 얻으려면 위 두 가지는 반드시 해결해야 한다고 정리한다.
- 해결 순서: 먼저 대표 색상을 뽑는 문제에 집중한 뒤 배경 분리 문제로 넘어가는 구성을 예고한다.
왜 읽나상품 이미지에서 속성을 자동 추출해야 하는 커머스 엔지니어에게, 히스토그램 같은 단순 접근이 왜 실서비스 품질에 못 미치는지와 개선 경로의 출발점을 보여준다.