기존 이미지 검색 방법 중 CBIR(Content-based Image Retrieval)은 쿼리 이미지를 입력받아 대상 이미지 데이터베이스에 있는 이미지들의 순위를 정해 출력합니다. CBIR은 비슷한 느낌의 이미지보다는 비슷한 색상의 이미지를 검색하는 느낌이 더 강합니다. 그렇기 때문에 사람의 눈으로 봤을 때 쿼리 이미지와 완전히 다른 이미지더라도 색이 비슷하면 출력에 포함됩니다.
따라서 딥러닝 모델을 이용하여 더 나은 이미지 검색을 할 수 있습니다.
이전 포스팅에서 딥러닝 CNNs을 이용하여 이미지 분류를 했던것처럼, 이미지 검색에도 적용해보겠습니다.
데이터셋은 The Oxford-IIIT Pet Dataset에서 다운로드 후 사용하면 됩니다.
데이터셋은 37개의 클래스로, 총 7390개의 데이터로 구성되어 있습니다.
이미지 분류는 라벨링된 데이터를 기반으로 딥러닝 모델을 이용하여 정해진 클래스별로 분류했다면, 이미지 검색은 딥러닝 모델을 이용하여 feature를 추출하고, 이것을 데이터베이스에 있는 다른 이미지들의 feature와 유사도를 계산하여 가장 유사한 이미지를 검색하는 것입니다. 여기서 데이터베이스는 흔히 알고 있는 MySQL, Oracle과 같은 RDB가 아닌 데이터가 저장된 공간이라고 생각하시면 됩니다.
실습은 InceptionV3을 이용하여 이미지의 feature를 2048개로 만들고, 유클리드 거리를 계산합니다.
이곳을 참조해 주세요.
'AI > Computer Vision' 카테고리의 다른 글
[Computer Vision] 시맨틱 분할 (Semantic Segmentation) (0) | 2023.06.25 |
---|---|
[Computer Vision] 객체 탐지 (Object Detection) (0) | 2023.06.19 |
[Computer Vision] 이미지 분류 (1) | 2023.06.15 |