自作の全自動仕分けアプリ |
そこで、上半身(バストアップ)検出機能と顔検出機能と眼検出機能を組み込んで、人物スポーツ写真の「全自動仕分け」アプリにしてみた。
この写真はNG写真 ちゃんと☆ゼロ個だ |
AFフレームが胸に当たっていても人間がピント確認を行うのは顔や眼なので、全自動仕分けアプリも人体・顔・眼を高精度に検出出来なきゃならないのね。
上の写真はロックオンAFで撮影した写真だけど、SONY ILCE-9 はお尻が大好きなので腰にピントを合わせられてしまった。 全自動仕分けアプリは顔・眼を検出し、ピントを評価してダメ写真だとはじいている。
この写真は☆3個 でも、構図・状況的にはじきたい写真だが... |
- 人体・顔・眼を検出し、最も主被写体と思われる座標を特定する。
スポーツ写真では顔が大きく傾いていたりするので、写真をアフィン変換して斜め方向もチェックする必要がある。 - 特定された座標で画像をフーリエ変換して周波数特性を算出する。
設定したISO感度などによってノイズ量が異なるので、フーリエ変換前にメディアンフィルターなどを掛ける必要がある。 - フーリエ変換結果を精査する。
360度方向の周波数特性を確認し、高周波・中周波・低周波と分類し、「僕が合焦判断する感じ」で判定を下す。 - レーティングを付ける
非合焦は☆ゼロ個で、合焦してるなら☆1個が基本。
さらに、顔が検出されたら☆1個追加で、眼が検出されたら☆1個追加で、ガチピンなら☆1個追加という様にレーティングを付けます。
結果、最大☆数は4個という事になる。
さて、この選手を撮影した総駒数は240駒で、
☆0個:26駒(ダメ写真)
☆1個:62駒(ピントはOK)
☆2個:22駒
☆3個:79駒
☆4個:51駒(顔・眼が有ってガチピン)
という結果だった。
☆2個以上をチェックするなら152駒/240駒なので、63%までしか絞り込まれていない。 これでは最初から手動でやる方が速そうだけど、選手が何十人もいる場合は寝ている間に絞り込んでくれると有難いかも知れない。
SONY ILCE-9 で撮影してもこの程度に使える写真があるなら、操作性は別にしてEOSやNIKONを使う必要は無いだろう。
まとめ
Deep Learning は時間と忍耐が必要 |
さて、苦労して作ってきたAIだけど、写真の構図は考慮されていない。 後ろ向きとか顔が写っていない写真やピンボケ写真ははじけるけど、変な構図の写真ははじけない。
良い構図を選ぶAIも作らなきゃならないので、先は長い...僕が生きてるうちに作れるかどうか...