#Pythonで画像の類似度を数値にする方法です
source | compare | distance |
---|---|---|
0.0 | ||
20.9 | ||
30.8 |
#膨大な画像から似た画像を探すのはたいへん
現代は画像があふれる時代ですが、似ている画像を目で探すのは大変です。
#類似度を数値化すれば、自動で探せる
画像感の類似度を数値化できれば、その数値を比較して、もっとも似ている画像をかんたんに探せます。
#機械学習モデルをつかって画像類似度を数値化してくれるimgsim
#手順
imgsimをインストールして、画像を768の数値に埋め込み、埋め込み間の差分を計算する。
import imgsim
img0 = cv2.imread("cake.jpg")
img1 = cv2.imread("pancake.jpg")
vtr = imgsim.Vectorizer()
vec0 = vtr.vectorize(img0)
vec1 = vtr.vectorize(img1)
dist = imgsim.distance(vec0, vec1)
print("distance =", dist)
distance = 20.859903
出てきた数値が小さければ小さいほど、似ていると評価されている。
以下の例で言うと、
いちごケーキといちごケーキは同じ画像なので差分が0。
いちごケーキといちごパンケーキの方が、いちごとライオンよりも似ている、ということになる。
source | compare | distance |
---|---|---|
0.0 | ||
20.9 | ||
30.8 |
🐣
フリーランスエンジニアです。
お仕事のご相談こちらまで
rockyshikoku@gmail.com
Core MLやARKitを使ったアプリを作っています。
機械学習/AR関連の情報を発信しています。