🧖♀️
[faiss] データセットから似ている顔を検索する
[faiss] データセットから似ている顔を検索する
はじめに
モデルの学習に使われていない顔データセットを用い、用意した写真と似ている顔を検索します。
今回の記事では、顔写真を1枚用意し、faiss
を用いて直接データセットから検索します。
顔データセット
find . -maxdepth 2 -type f -name *.png | wc -l
57637
約5万7千枚の顔写真が含まれるデータセットを用意しました。
顔写真
実装
実行結果
類似度: 0.4285, 名前: 大谷直子_vixw.jpg.png_align_resize_default.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/大谷直子
類似度: 0.3852, 名前: 岸本加世子_QIp1.jpg_default.png.png_0.png_0_align_resize.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/岸本加世子
類似度: 0.3835, 名前: 岸本加世子_9iBC.jpg.png_align_resize_default.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/岸本加世子
類似度: 0.3834, 名前: 岸本加世子_vByP.jpg.png_align_resize_default.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/岸本加世子
類似度: 0.3480, 名前: 宮崎美子_cdzk.jpg.png.png_0.png_0_align_resize.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/宮崎美子
類似度: 0.3460, 名前: 愛華みれ_rU0K.jpg..png_align_resize_default.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/愛華みれ
類似度: 0.3454, 名前: 愛華みれ_Trha.jpg..png_align_resize_default.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/愛華みれ
類似度: 0.3394, 名前: 宮崎美子_l4MT.jpg.png.png_0.png_0_align_resize.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/宮崎美子
類似度: 0.3333, 名前: 岸本加世子_qjSm.jpg_default.png.png_0.png_0_align_resize.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/岸本加世子
類似度: 0.3306, 名前: 宮崎美子_neJS.jpg.png.png.png_0.png_0_align_resize.png, ディレクトリ: /media/user/2TB_Movie/face_data_backup/data/宮崎美子
処理時間: 0分 41.79秒
大谷直子さん。
コサイン類似度は0.4285でした。Maxが1.0ですので、大して似ていないですが、データセットの中ではもっとも類似度が大きく出ました。
まとめ
実は今回検索対象とした女性の顔は、生成AIによって生成されたものです。
ですので、検索の結果、ヒットしなかったのはむしろ成功と言えます。
ただしもととなったLoRA(Low-Rank Adaptation)はaverage face of Japanese MILFs 日本人熟女平均顔です。
LoRAに実際の人物写真が使われた場合、その特徴を学習します。そのような場合、生成AIではどんな画像でも作れてしまいますから、マズい画像も出回ってしまうわけです。
今回の実験では、そのへんの調査のための下地作りといえます。
以上です。ありがとうございました。
Discussion