2010Oppai-Detectとは?画像のおっぱい部分を自動認識させる挑戦である。筆者はおっぱいが好きだ。そこでおっぱい画像をたくさん集めたい。その際に収集の精度を高めたいと思う。そこで、おっぱい部分を自動で検出したらそれが可能になると考える。応用例Oppai-Detectの社会的に貢献できる応用例は以下である。青少年向け、サイトフィルタリングまた、これを逆手に取ればおっぱい画像が勝手にたくさん集まるという筆者の企みもある。手法Intelが開発・公開したオープンソースの画像処理ライブラリ「OpenCV」を使用した。これはパターン認識としての物体検出(Object-Detect)の機能を備えている。画像認識において、学習(Training)と検出(Detection)がOppai-Detectにおいて重要な概念である。簡単に画像からの顔検出が可能だ。以下がPerlでの実装例である。$img->errstr;上記のコードを実行した例が以下の写真である。顔の部分が自動検出され赤い枠で囲まれているのがわかる。今回のチャレンジ以下の3つの行程を行い、おっぱい画像検出用のデータを学習させることをチャレンジとした。Image」という二つの画像が必要になる。精度の高い学習には7000から8000枚の画像が必要になる。Imageとは対象物が写ってない画像である。1.画像を集める学習のためにおっぱい画像が必要になる。これは「いかにして大量のおっぱい画像を集めるか」という命題である。APIを利用して画像のURLを取得した。最大の検索結果取得件数が1,000件となり、数としては不十分である。最低でも1万件以上は集めたい。そこで、AV女優のリストを駆使して解決することにした。APIを叩くわけである。おっぱい」で検索...という具合だ。AV女優のリストには拙作のPerlモジュール「Acme::Porn::JP」を利用した。以下のコードがAcme::Porn::JPの今回のケースでのSYNOPSISである。$actress");}...;このAcme::Porn::JPの現行バージョンでは4502人のAV女優名が掲載されている。Acme::Porn::JPは以下のgithubサイトから入手できる。http://github.com/yusukebe/Acme-Porn-JPその結果29,065枚の画像を入手することができた。Haartrainingツールによる学習OpenCVに付属のHaartrainingというツールを使って画像学習ができる。「1」を今回は行えばよいことになる。画像ファイルへのパス、対象物の数、対象物の座標情報を記載するプレーンテキストファイルである。Imageの画像ファイルへのパスのリストである。今回はpositive.dat及びnegative.datを生成する学習のためのツールを作成した。その中に対象物、つまりこの場合ではおっぱいがあれば囲む作業を行う。プログラムは囲まれた部分の座標情報とファイル名をpositive.datに書き込む。した際にはnegative.datにファイル名が書き込まれることになる。画像の閲覧・囲い作業はWebブラウザでできるように考慮した。HTTPプロトコルのWebアプリケーション、またJavascriptによるフロントエンドが実装されている。これを「Haartraining-App」と名付け、githubで入手可能になっている。http://github.com/yusukebe/Haartraining-AppHaartraining-Appの一般的なディレクトリ構成は以下の通りである。アプリケーションが起動する。3.ひたすらおっぱいを囲むあとはひたすらおっぱいを囲む作業を行う。下の画像はイメージである。OpenCVコマンドラインプログラムで学習を行う。Imageが1000枚程度、対象物の数約2000個つまり「2000乳」を学習させた。学習結果としての検出ファイルを利用し、画像からのおっぱい部分の検出を実験してみた。それを使用して出力された画像の一つが以下である。上のように正面を向いたおっぱいで、画像の大きさが的確ならば比較的認識されやすいことがわかった。誤認識も見受けられ、「へそ」や腕の一部など「膨らんでいる部位」がおっぱいとして認識されてしまった。あることを非常に考えさせられた。付け加え、どこまでがおっぱいであるかという倫理的、哲学的な問題にも直面した。学習コストがかかるという印象である。多様なおっぱいに対するポリシーを策定する必要がある。次に、今回実装した学習ツールブラッシュアップしクラウド環境で運用したいと感じている。その結果Oppai-Detect学習のソーシャル化が実現され「みんなで作るOppai-Detect」が実現する。今後もおっぱいを楽しめるOppai-Detectを目指す。