Just Focus Judgment | 合焦判定

EOS-1D X EF400/2.8L IS II USM + 1.4xExtIII ISO:5000 F:4 Tv:1/1250s
写真の合焦判定を高周波成分の量だけで判定すれば良いと考えている方もいますが、私たち人間が写真の合焦判定を高周波成分の量だけで判断している訳ではありません。 判っている人は判ってる事ですが...




ピントの変化

SONY ILCE-9 FE 100-400mm F4.5-5.6 GM OSS ISO:12800 F:5.6 Tv:1/1250s
この写真は SONY ILCE-9 で連写した写真の一駒目で、選手の眼付近にピントが合っています。 焦点距離が100mmだし絞りがF5.6なので被写界深度が深めですが、通り過ぎる選手にもちゃんとピントが合う事があるのが判ります。 パソコンの評価結果も合焦判定が出ています。

SONY ILCE-9 FE 100-400mm F4.5-5.6 GM OSS ISO:12800 F:5.6 Tv:1/1250s
こちらは連写2駒目ですが、カメラが距離環を繰り出し過ぎてピントが甘くなっています。 SONY ILCE-9 なので、こんな事はままありますが、PCの評価結果も△判定です。

コントラスト評価方式のオートフォーカスは距離環を動かしながら高周波コントラスト値を評価し、高周波コントラスト値がピークになる距離環位置を合焦とするので、高周波コントラスト値の絶対値で評価する訳ではありません。 また、高周波コントラスト値の変化がピークにならないと合焦位置の判断が出来ないのです。

つまり、撮影されてしまった一枚の静止画はピントを変化させる事ができないので、合焦判定には人間の思考と同じ様な判断アルゴリズムを加えないと判定できません。 僕は二次元フーリエ変換による着目点の周波数特性を算出し、自分が合焦判定する過程をソフトウェアに込みこむ事で写真のピント判定をしています。

どの部分でピントを判定するか

EOS-1D X EF400/2.8L IS II USM  ISO:4000 F:2.8 Tv:1/1250s
なつかしいマービンと成美ちゃん。 成美ちゃんが小さい頃は章一郎先生の家に下宿してたっけ....おっと、感慨にふけってる場合じゃない。

人物が写っている写真は顔にピントを合わせるのが基本なので、評価する写真の部分も顔になる。 ところが、いちいち手動で顔部分を指定するのは面倒くさいので、顔を検出して自動的に評価すれば楽だよね。
という事で、画像ビュアーアプリに顔を検出させて評価する様にしてみたけど、私のプログラムではどんな顔でもだれの顔でも検出できる訳じゃないので、まだまだ認識率が低くてだめですねぇ。

EOS-1D X Mark II EF400/2.8L IS II USM  ISO:2500 F:2.8 Tv:1/1250s
こっちは柴田選手との演技。 評価する部分は顔ならどこでも良いという訳じゃなく、眼を検出して眼を中心に評価する様にしてある。 また、顔が複数ある場合は女性顔が優先で、綺麗な人物を評価する様に...嘘です。 一番大きい顔を優先にしているだけで、「女性顔」「綺麗顔」はまだ実装できていない。

SONY ILCE-9 FE 100-400mm F4.5-5.6 GM OSS ISO:12800 F:5.6 Tv:1/1250s
一枚の写真で複数の場所を評価してみた。 カメラが追尾している選手はぎりぎり合焦しているけど、観客のご婦人は合焦していないという判定です。

ISO:12800という高感度で撮影しているため、ノイズによってザラザラしています。 このザラザラを有効な高周波成分として認識しちゃうと何でもかんでも合焦になってしまうので、自分のピント判定と同じ様にノイズ成分を排除する必要がある。

顔以外のピント判定

EOS-1D Mark III EF400mm F2.8L IS USM ISO:400 F:5.6 Tv:1/320s
人物の顔以外の評価はやっかいで、自分のピント判定をプログラムに組み込むのも難しい。 この写真は手前のお姉さんにピントを合わせたので、評価部分は高周波成分もコントラストも無いお尻部分だけど、パソコンは合焦と判定してくれている。 逆に、高周波成分もコントラストもある奥のお姉さんの足元は非合焦判定していて、そこそこの精度は出ている。

SONY DSC-RX10M4(361mm) ISO:1250 F:4 Tv:1/1250s
こちらは真冬の屋外スケートリンクで娘を撮影した写真だけど、ちゃんと顔にピントが合っている判定だし、コントラストが低い足元氷面位置も合焦判定となっている。 一方、コントラストが高めの奥の氷面は非合焦判定を下してくれた。 難しいシーンでも上手く判断できるところまでは持ってこれている。

まとめ

僕の旧式パソコンで検出処理を行うと結構な演算時間を要する。 最近のカメラは顔検出しているのだから、EXIFに検出顔情報を記録してくれたら大変助かる。 ソニーのカメラは検出顔情報を8人分まで記録してくれるけど、連写に設定すると顔追尾しているのに検出情報を記録してくれないのが残念だ。
SONY機は単写なら顔情報が記録される(グレイ枠がカメラの検出顔)

実は、僕のプログラムはピントが合っていない木漏れ日写真が苦手です。 自分自身がピント判定をする場合は経験から画像を認識して、これはピントが合っていないと判断できるけど、単純なパソコンのプログラムだとシャープにピントが合ったカエルの卵と同じ判定になってしまう。
ぼけた木漏れ日を合焦と誤認してしまう
判定精度を上げるには機械学習などで合焦パターンを覚えさせる必要がある。 まだまだボケ老人になってる場合じゃない。

Sponsored Link
Sponsored Link
Sponsored Link