이전 글을 참고하면, CLIP이 무엇인지, 이전 기술과는 어떻게 다른 지에 대해 논했었다.
글 시작 부분에도 언급했듯이, CLIP에 대해 알아본 것은 '유사 이미지 검색 기능' 구현을 위해서였다.
오늘은 내가 어떤 기능을 구현하고자 했는지, CLIP이 어떻게 쓰이는지 흐름을 적어보겠다.
나는 지그재그, 에이블리 등등 많은 이커머스에서 사용하고 있는 유사 이미지 검색 기능을 구현하고자 했다. 특정 옷 사진을 검색하면, 그 옷과 유사한 상품을 찾아서 사용자에게 제공하는 기능을 만들고 싶었다.
흐름따라 원활한 이해를 돕기 위해, 우선 사용자 시나리오부터 설정해주었다. 사용자 시나리오는 아래와 같다.
사용자 시나리오
사용자는 빨간 니트를 사고 싶은 사용자 크푸(본인)이라고 가정하겠다.
1. 크푸는 빨간 니트 사진을 인터넷에서 서치해 검색창에 업로드 한다.
2. 업로드한 니트 사진이 분석 과정을 거쳐 '빨간 니트'로 분류된다.
3. 업로드한 빨간 니트와 유사하게 생긴 여러 개의 상품이 웹에 나타난다.
시나리오를 보면, 사용자가 업로드한 니트가 어떤 매커니즘을 통해 '빨간 니트'로 분류되고, 이와 유사한 니트가 사용자의 화면에 띄워진다.
이제 시나리오 단계별로 어떤 기능이 사용되었는지 차근차근 살펴보겠다.
사용자가 업로드한 빨간 니트 사진이 어떤 친구에 의해 '빨간 니트'로 분류되었을까? 범인은 YOLO (You live Only Once 아니다.) 다.
YOLO
YOLO는 You Only Look Once의 약자로, 이미지를 한 번만 보면 객체를 검출할 수 있다는 의미이다.
YOLO는 이미지를 보고 '빨간 니트'라는 라벨을 붙인다.
그리고 네이버 쇼핑 같은 곳에 '빨간 니트'라는 라벨명으로 검색을 한다.
이때 여러 개의 이미지가 뜰 것이다. 이미지가 뜨면 '빨간 니트'로 분류되는 상품을 찾아 내놓아야한다.
CLIP
이때 클립이 사용자가 검색한 이미지와 가장 비슷한 이미지를 찾기 위해 일하게 된다. 검색해서 걸러진 여러 개의 상품 중 가장 비슷하게 생긴(시각적 유사도) 니트들을 다시 한번 골라내 주는 역할을 하는 것이다.
조금 더 자세히 CLIP의 작동 방식에 알아보겠다.
CLIP은 이미지와 텍스트를 동일한 Vector Space 위에 같은 좌표로 뿌려두는 기술이다. 따라서 이때, 사용자가 업로드한 이미지의 특징 벡터(좌표)를 추출한다. 그리고 데이터 베이스에 저장된 수많은 상품 이미지들의 좌표 중 가장 가까운 곳에 있는 이미지를 찾아낸다. 그 결과, 텍스트 라벨이 없더라도, 사진 속 니티의 색감, 꼬임 패턴, 넥라인 등이 가장 비슷한 상품들이 우선적으로 뜨게 된다.
'🍩 AI' 카테고리의 다른 글
| [AI] AI를 공부하며 꼭 알아야 할 용어 정리 (1) | 2026.01.20 |
|---|---|
| [YOLO] YOLOv8 모델을 통해 이미지 데이터 학습시키기 (0) | 2026.01.15 |
| [AI] OpenAI의 CLIP이란? (1) | 2026.01.09 |
| [AI] K-means 클러스터링을 활용한 색상 인식하기 (0) | 2026.01.08 |
| [Data] 온프레미스와 클라우드 비교, 그리고 현재 추세는? (0) | 2026.01.08 |
크림푸딩의 개발일지