【要約】数万枚のイラストからAIを使って理想のイラストを探す画像検索エンジンを作ってみた話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
イラスト愛好家が、膨大なコレクションから特定の属性を持つ画像を効率的に探せない問題に直面した。具体的には、以下の技術的課題が挙げられる。
- ・CLIPによる直接比較の限界:日本語非対応や、画像全体の情報に局所的特徴が埋もれる問題により、類似度スコアが30%程度に留まった。
- ・絵柄検索の精度不足:汎用モデルがアニメドメインに最適化されておらず、AI生成画像特有のパターンを誤検知する。
- ・計算リソースの制約:グラム行列を用いたスタイル抽出は、高次元な相関計算によりVRAM不足を引き起こす。
// Approach
検索精度と計算リソースの制約を両立するため、以下の多角的な手法を採用した。
- ・タグ付けによる情報の圧縮:WD14 Taggerを用い、画像をテキストタグへ変換した。これによりマルチモーダルの問題を回避し、類似度を95%以上に高めた。
- ・AdaINによるスタイル抽出:グラム行列の代わりに、チャンネルの平均と標準偏差のみを抽出するAdaINを採用した。これによりメモリ消費を抑え、絵柄検索を実現した。
- ・クエリの最適化:対称的な単語の誤判定を防ぐため、予測されるクエリリストをソースコードにハードコーディングした。
// Result
イラストの局所的特徴と絵柄の両面において、実用的な検索精度を実現した。
- ・検索精度の向上:タグ付け手法により、特定の属性検索における類似度スコアが最大95%以上に達した。
- ・リソース効率の改善:AdaINの導入により、限られたVRAM環境下でもスタイル抽出が可能となった。
- ・今後の展望:タガーモデルの語彙力不足を補うため、色の識別精度向上を計画している。
Senior Engineer Insight
> 汎用モデルの限界を、ドメイン特化型のタガーや軽量な統計量(AdaIN)で補完する設計は非常に合理的だ。特に、高次元な相関計算を避け、統計量に落とし込む判断は、リソース制約のある現場では必須の知見である。ただし、タグの語彙力に精度が依存する点は、運用上のボトルネックとなる。実戦投入には、色情報などのメタデータの拡充や、検索クエリの正規化プロセスが不可欠だ。