ごちうサーチ

19
ミクミンP @ksasao 第38回 コンピュータビジョン勉強会@関東 2017/2/11

Upload: p-kazuhiro-sasao

Post on 14-Feb-2017

2.776 views

Category:

Science


0 download

TRANSCRIPT

Page 1: ごちうサーチ

ミクミンP@ksasao

第38回 コンピュータビジョン勉強会@関東2017/2/11

Page 2: ごちうサーチ

火星や月から宇宙人の顔を見つけた Nasa の画像をクラウドで処理

https://en.wikipedia.org/wiki/Face_on_Moon_South_Pole

(Românăதமிழ்中文)

http://target.lroc.asu.edu/qm3d/o2w_3d_617653310_153_220_205_44_0/

Page 3: ごちうサーチ

飯テロ判定bot (Twitter @no_meshitero) 食事を判定する bot だが、それ以外の画像も判定

複数の画像認識クラウドサービスの結果を統合▪ Google, IBM, Microsoft, docomo

“一蘭の飯テロ画像です”

Page 4: ごちうサーチ

艦娘認識

http://bit.ly/1VEaO2H

Page 5: ごちうサーチ

アニメ「ご注文はうさぎですか?/??」の画像から元の動画の再生位置を高速検索するツール

Page 6: ごちうサーチ

タイムラインに流れてくるアニメ画像の元のシーンを知りたい

TVアニメ「ご注文はうさぎですか??」公式Twitter

https://twitter.com/usagi_anime

Page 7: ごちうサーチ
Page 8: ごちうサーチ

ご注文はうさぎですか?のスクショから何羽・何分何秒かを高速検索(数十ms程度)

Windows/Mac/Linux 対応

1期・2期 合計24話 全フレーム の画像約100万枚のインデックスを約3MBに圧縮して保持

Page 9: ごちうサーチ
Page 10: ごちうサーチ
Page 11: ごちうサーチ

画像サイズの違い、大きな劣化、ブロックノイズ、コントラスト、色合いの違い、一部改変などがあっても検索できる 実際、改変されて投稿されていることが多い キャプチャ職人の好みなどが反映

縦横比は保持される 一部切り出した画像た対象としない

似たような画像が近いベクトルとなるようなハッシュ値を計算 (dHash)

Page 12: ごちうサーチ

http://www.hackerfactor.com/blog/?/archives/529-Kind-of-Like-That.html

aHash (average hash, mean hash) と同程度に高速

pHash (perceptive hash/DCTを利用)に近い精度

dHash. Absolutely amazing... Very few false positives. For example, the image with two known matches ended up matching 6 pictures total (4 false positives). The scores were: 10, 0, 8, 10, 0, and 10. The two zeros were the correct matches; all of the false-positive matches had higher scores. As speed goes, dHash is as fast as aHash. Well, technically it is faster since it doesn't need to compute the mean color value. The dHash algorithm has all the speed of aHash with very few false-positives.

Page 13: ごちうサーチ

① 元画像 ② 9x8ピクセルに縮小

③ グレースケール化 ④ 隣接画素の輝度差の符号をビット化

Page 14: ごちうサーチ

比較したい64bitベクトル同士のハミング距離を計算し、特定の値以下のものを全検索する

8bit の場合

00010101

11000101

11010000 ハミング距離 3

64bit 中 ハミング距離4以下でほとんどの画像が検索可能

ハミング距離10くらいになると関係のない画像もヒットし始める

XOR (排他的論理和)をとる

Page 15: ごちうサーチ

ハミング距離がある値以下のものを全列挙

ハミング距離3以下の場合は 二分探索

▪ ハッシュ値でソート済みのものを対象

▪ n ビット反転させたものを二分探索で発見

ハミング距離4以上の場合は popcnt でハミング距離を計算して全データを比較

▪ 100万件程度であれば十分に高速

▪ popcnt の詳細は下記

▪ 明日使えないすごいビット演算 (@_primenumber さま)http://www.slideshare.net/KMC_JP/slide-www

Page 16: ごちうサーチ

画像ハッシュ値、シリーズ番号、話数番号、先頭からのフレーム番号を1レコードとして、画像ハッシュ値でソートしたものを gzip圧縮

メモリ上に展開しても 15MB 程度

https://github.com/ksasao/Gochiusearch/blob/master/src/ImageSearchEngine/ImageInfo.cs

Page 17: ごちうサーチ
Page 18: ごちうサーチ

アニメ1クール(四半期)はおおよそ50万枚程度のデータセットになる

dHash は単純なアルゴリズムだが高速で実装が容易で正確

データベース作成ツールなども公開していますのでお試しください https://github.com/ksasao/Gochiusearch

Page 19: ごちうサーチ

Mac版

@ailen0ada さま https://itunes.apple.com/jp/app/gochiusachi/id1110637036?mt=12

Java版

@MoeMoePig さま http://moemoepig.webcrow.jp/Gochiusearch/

アイコンデザイン

@ticktackmobile さま