제21회: 이미지와 텍스트를 횡단 검색 – 멀티모달 검색으로 실현하는 차세대 지식 관리

들어가며

지금까지의 글에서는 텍스트 기반 문서의 검색을 중심으로 다루어 왔습니다. 그러나 기업의 지식에는 텍스트 이외의 콘텐츠도 많이 포함되어 있습니다. 제품 사진, 설계 도면, 프레젠테이션 슬라이드 이미지, 화이트보드 사진 – 이러한 “이미지”도 검색할 수 있다면 지식 활용의 가능성은 더욱 넓어질 것입니다.

이 글에서는 텍스트와 이미지를 횡단적으로 검색할 수 있는 멀티모달 검색 환경의 구축을 소개합니다.

대상 독자

  • 이미지를 포함한 문서 검색에 어려움을 느끼는 분

  • 벡터 검색의 응용에 관심이 있는 분

  • 멀티모달 AI의 개념을 이해하고 싶은 분

멀티모달 검색이란

멀티모달 검색은 서로 다른 종류의 데이터(텍스트, 이미지, 오디오 등)를 횡단적으로 검색하는 기술입니다.

예를 들어 “빨간 스포츠카 디자인”이라는 텍스트로 검색하면 해당 개념에 부합하는 이미지가 검색 결과에 표시됩니다. 텍스트에서 이미지를, 혹은 이미지에서 텍스트를 검색할 수 있는 구조입니다.

CLIP 모델

멀티모달 검색의 기반이 되는 것이 CLIP(Contrastive Language-Image Pre-Training)과 같은 모델입니다. CLIP은 텍스트와 이미지를 동일한 벡터 공간으로 변환하여 텍스트와 이미지 간의 유사도를 계산할 수 있게 합니다.

Fess에서의 멀티모달 검색

Fess는 멀티모달 검색 플러그인을 통해 텍스트와 이미지의 횡단 검색을 실현할 수 있습니다.

구성 요소

멀티모달 검색의 구성은 다음과 같습니다.

  1. CLIP 서버: 텍스트와 이미지를 벡터로 변환

  2. OpenSearch: 벡터를 KNN(K-Nearest Neighbor)으로 검색

  3. Fess: 크롤링, 인덱싱, 검색 UI를 제공

설정 절차

1. CLIP 서버 준비

CLIP 모델을 실행할 서버를 준비합니다. GPU를 사용할 수 있는 환경이 권장됩니다.

Docker Compose로 CLIP 서버를 추가할 수 있습니다.

2. 플러그인 설치

Fess의 멀티모달 검색 플러그인을 설치합니다.

3. KNN 인덱스 설정

OpenSearch에서 벡터 검색을 수행하기 위해 KNN 인덱스를 설정합니다. 벡터의 차원 수는 사용하는 CLIP 모델에 맞춰 설정합니다.

4. 크롤링 설정

이미지를 포함하는 디렉터리나 웹사이트를 크롤링 대상으로 설정합니다. 이미지 파일(PNG, JPEG, GIF 등)도 크롤링 대상으로 수집됩니다.

검색 경험

텍스트로 이미지 검색

“제품 외관 사진”, “회의 화이트보드”, “설계 도면” 등의 텍스트로 검색하면 개념적으로 일치하는 이미지가 검색 결과에 표시됩니다.

검색 결과에는 썸네일 이미지가 표시되어 시각적으로 원하는 이미지를 찾을 수 있습니다.

텍스트와 이미지의 혼합 결과

멀티모달 검색에서는 텍스트 문서와 이미지가 혼합된 검색 결과가 반환됩니다. Rank Fusion(제18회 참조)을 사용하여 텍스트 검색과 이미지 검색의 결과를 통합합니다.

활용 사례

제조업: 부품 및 제품 이미지 검색

제조업에서는 방대한 수의 부품 사진과 제품 이미지를 관리하고 있습니다. 텍스트로 “원형 금속 부품”이라고 검색하거나 특정 부품의 사진에서 유사한 부품을 검색함으로써 과거의 설계 자산을 활용할 수 있습니다.

디자인 팀: 디자인 에셋 관리

디자인 팀에서는 로고, 아이콘, 사진 소재, 목업 등의 시각적 에셋을 대량으로 관리하고 있습니다. “파란색 그라데이션 배경”과 같은 자연어로 검색할 수 있으므로 에셋 발견이 용이해집니다.

연구 개발: 실험 데이터 검색

연구개발 부문에서는 실험 결과의 그래프, 현미경 사진, 측정 데이터의 이미지를 관리하고 있습니다. 이러한 이미지를 검색 가능하게 함으로써 과거의 실험 데이터 참조가 용이해집니다.

도입 시 고려 사항

하드웨어 요건

멀티모달 검색은 CLIP 모델 실행에 컴퓨팅 리소스가 필요합니다.

  • 권장: GPU 서버(NVIDIA GPU)

  • 최소: CPU에서도 동작 가능하나 인덱싱 속도가 저하됨

인덱싱 시간은 모델의 처리 속도에 의존하므로 대량의 이미지를 인덱싱할 경우 GPU 환경을 강력히 권장합니다.

지원 이미지 형식

일반적인 이미지 형식(JPEG, PNG, GIF, BMP, TIFF 등)을 지원합니다. PDF 내의 이미지나 오피스 문서 내의 삽입 이미지에 대해서는 크롤링 설정에 따라 다릅니다.

단계적 도입

멀티모달 검색은 기존의 텍스트 검색 환경에 추가하는 형태로 도입할 수 있습니다.

  1. 먼저 이미지가 많은 디렉터리나 사이트를 대상으로 시험 도입

  2. 검색 품질과 이용 상황을 확인

  3. 대상을 단계적으로 확대

정리

이 글에서는 멀티모달 검색을 통한 이미지와 텍스트의 횡단 검색을 소개했습니다.

  • 멀티모달 검색의 개념(CLIP에 의한 텍스트와 이미지의 통합 벡터 공간)

  • Fess에서의 멀티모달 검색 구성과 설정

  • 텍스트로 이미지 검색, 이미지로 유사 이미지 검색의 경험

  • 제조업, 디자인, 연구개발에서의 활용 사례

  • GPU 요건과 단계적 도입 접근 방식

다음 회에서는 검색 데이터 분석을 통한 조직의 지식 시각화에 대해 다룹니다.

참고 자료