Watson Studio에서 유사한 이미지 검색(2)

3965 단어 WatsonDeepLearning
지난번 의 기사에서는 사전 학습된 모델을 사용한 유사한 이미지 검색을 구현했습니다. 이번에는 이 모델을 더 배우고 유사한 검색의 정확성을 높이려고 시도합니다. 전회와 같이 이하 링크처의 내용을 참고로 하고 있습니다.

h tps://지후←아오. 기주 b. 이오 / 2018/04/13 / ㄱ d마 rk. HTML
htps : // 기주 b. 코 m / 지후 ← 아오 / ㄴ d 마 rk 레코 g 니치 온

유사도 학습



유사도 학습에 위 링크에서도 소개된 triplet loss 를 사용한 방법을 사용합니다. triplet 에는 anchor image(a), positive image(p), nagative image(n) 를 포함해 이것이 주어졌을 때, n 에 비해 p 가 보다 a 와 유사하다, 라고 하는 결과가 되는 것을 목표로 한다 합니다. 아래 그림과 같이 a, p, q를 각각 같은 CNN에 입력했을 때에 출력되는 특징 벡터 f(a), f(p), f(n)로부터 triplet loss(손실)을 산출하여 이것이 작아진다. 이렇게 네트워크를 학습합니다.



3.1 CNN 학습



이전에 사용한 Inception V3을 기반으로 위의 형태의 네트워크를 구축하고 triplet loss에 의한 학습을 ​​실시합니다. 다음 python 코드를 다운로드하여 zip으로 압축합니다.

여기에 설명된 대로 Experiment를 만들고 네트워크를 학습합니다.



3.1.1 history 표시(Optional)



다음 URL에서 노트북을 만듭니다.
htps : // 기주 b. 이 m/s치요다/이마게시미리 ty세아 rch/bぉb/마s r/3.1. 이 pyn b

Notebook을 실행하면 학습의 history를 볼 수 있습니다.


3.2 특징 벡터 추출



다음 python 코드를 다운로드하여 zip으로 압축합니다.

여기 에서 설명한 대로 Experiment를 만들고 특징 벡터를 추출합니다.



3.3 이미지 유사도 계산



추출된 각 이미지의 특징 벡터로부터 이미지 간의 유사도를 계산합니다.
다음 URL에서 새 Notebook을 만듭니다.

셀을 모두 실행하면 아래와 같이 Accuracy 가 표시되어 지난번 보다 개선되고 있는 것을 알 수 있습니다.


검색된 이미지는 다음과 같습니다. 제일 마지막 Query라든지는 학습의 결과, 정밀도가 오르고 있는 것 같습니다.



좋은 웹페이지 즐겨찾기