oppai-detect 3

25
Oppai-Detect 3 yusukebe 2010/11/26 GXEB #01 @ NAVER JAPAN

Upload: yusuke-wada

Post on 21-Apr-2017

23.485 views

Category:

Entertainment & Humor


2 download

TRANSCRIPT

Page 1: Oppai-Detect 3

Oppai-Detect 3

yusukebe 2010/11/26

GXEB #01 @ NAVER JAPAN

Page 2: Oppai-Detect 3

自己紹介 •  Yusuke Wada(和田裕介) •  1981/12/23 •  Kamakura, Japan. •  Wadit Inc. •  Perl Engineer •  Founder of YourAVHost etc.

h"p://youravhost.net/

Page 3: Oppai-Detect 3

Oppai-Detect

画像のおっぱい部分を自動認識させる挑戦

Page 4: Oppai-Detect 3

目的 •  おっぱいが好きだ •  おっぱい画像をたくさん集めたい •  収集の精度を高めたい •  おっぱい部分を自動で検出したい

Page 5: Oppai-Detect 3

応用例 •  放送禁止画像の検出 – 画像投稿サイト

•  スパム対策 •  子供向けサイトフィルタリング

•  おっぱい画像の収集

Page 6: Oppai-Detect 3

手法 •  OpenCVを使用 – Intelが開発・公開したオープンソースの画像処理向けのライブラリ

– パターン認識として物体検出(Object-Detection)の機能を備えている

•  学習(Training) •  認識・検出(Detection)

Page 7: Oppai-Detect 3

OpenCVによる顔検出の例 •  Using “haarcascade_frontalface_alt2.xml”

use Image::ObjectDetect; use Imager; 

my $file = $ARGV[0] or die 'Filename is needed!'; my $img = Imager‐>new; $img‐>read( file => $file ) or die $img‐>errstr; my $cascade  = './haarcascade_frontalface_alt2.xml'; my $detector = Image::ObjectDetect‐>new($cascade); my @faces    = $detector‐>detect($file); for my $face (@faces) {     $img = $img‐>box(         xmin   => $face‐>{x},         xmax   => $face‐>{x} + $face‐>{width},         ymin   => $face‐>{y},         ymax   => $face‐>{y} + $face‐>{height},         color  => 'red',         filled => 0,     ) or die $img‐>errstr; } $img‐>write( file => 'out.jpg' ) or die $img‐>errstr; 

Page 8: Oppai-Detect 3

Result

Page 9: Oppai-Detect 3

今回のチャレンジ 1. 画像を集める 2. 学習ツール作成 3. ひたすらおっぱいを囲む

おっぱい画像を集めて おっぱいの場所を指定して 学習ソフトに学習させて 検出のためのデータを作る

Page 10: Oppai-Detect 3

Term of Images •  Positive Image – 対象物が写っている画像 – 精度を求めるには7000-8000枚

•  Negative Image – 対象物が写っていない画像 – 3000枚

Page 11: Oppai-Detect 3

1. 画像を集める •  「いかにして大量のおっぱい画像を集めるか」 •  Web API の制限 –  Google Ajax Search

•  最大件数64枚

– Yahoo 画像検索 API •  最大件数1,000枚

•  10,000枚以上は集めたい –  AV女優名のリストを使って解決

•  「AV女優A おっぱい」 •  「AV女優B おっぱい」 •  …

Page 12: Oppai-Detect 3

use Acme::Porn::JP; •  http://github.com/yusukebe/Acme-Porn-JP

use Acme::Porn::JP; 

…; 

my $porn = Acme::Porn::JP‐>new; my $actress_list = $porn‐>actress(); for my $actress ( @$actress_list ){     search("$query $actress”); } 

…; 

$ perl ‐MAcme::Porn::JP ‐e '$p = Ace::Porn::JP‐>new; print scalar @{$p‐>actress};’ 4502 

Page 13: Oppai-Detect 3

29,065枚

Page 14: Oppai-Detect 3

Haartrainingツールによる学習 1.  positive.dat/negative.dat の作成 2.  $ opencv_createsamples ‐info positive.dat ‐

vec a.vec 3.  $ opencv_haartraining ‐data haarcascade ‐

vec a.vec ‐bg negative.dat ‐nstages 20  

positive.dat [filename] [# of objects] [[x y width height] [... 2nd object] ...] images/01.jpg 1 140 100 45 45 

nega2ve.dat images/neg‐01.jpg images/neg‐02.jpg 

Page 15: Oppai-Detect 3

学習ツール作成 •  positive.datとnegative.datを作る •  収集した画像に対象物があったら囲む – その部分の座標と画像名をpositive.datに書き込む – もし対象物が無かったらnegative.datへ

•  閲覧・囲み作業をWebブラウザで行う •  HTTP/Webアプリ – use Plack;

•  Javascriptフロントエンド – strokeRect/HTML5

Page 16: Oppai-Detect 3

Haartraining-App •  http://github.com/yusukebe/Haartraining-App yusuke@macmini:~/work/oppai‐detect/temp/Haartraining‐App$ tree ./ ./ |‐‐ data |   |‐‐ images |   |   `‐‐ 000001.jpg |   |‐‐ negative.dat |   `‐‐ positive.dat |‐‐ haartraining.psgi `‐‐ html     |‐‐ haartraining.js     `‐‐ index.html 

3 directories, 6 files 

$ plackup haartraining.psgi  HTTP::Server::PSGI: Accepting connections at http://0:5000/ 

Page 17: Oppai-Detect 3

ひたすらおっぱいを囲む

Page 18: Oppai-Detect 3

Haartraining-App デモ

Page 19: Oppai-Detect 3

opencv_haartrainingによる学習 •  Positive Image 2,000枚 •  Negative Image 2,000枚 •  nstage 10 stages

Mac mini / OSX 10.5 2.26 GHz Intel Core 2 Duo OpenCV 2.1.0 ソースからコンパイル

Page 20: Oppai-Detect 3

Oppai-Detect デモ

Page 21: Oppai-Detect 3
Page 22: Oppai-Detect 3

実験結果 •  正面で画像サイズが的確なら認識される •  誤認識はある – へそ – 膨らんでいる部位

Page 23: Oppai-Detect 3

考察 •  おっぱい画像の学習 – おっぱいにもたくさんある • 正面乳/横乳/下乳/上乳/微乳/巨乳…

– どこまでがおっぱいか?

•  学習に対するコスト – ソーシャルな力を利用したい

Page 24: Oppai-Detect 3

今後 •  多様なおっぱいに対するポリシー策定 •  学習アプリの運用化 •  「みんなで作るOppai-Detect」?

Page 25: Oppai-Detect 3

Oppai-Detect End.