・アルゴリズムベースと学習ベースの考え方
プログラムを処理するときに、
最近は学習ベースで実装、など言われることが多くなりました。
アルゴリズムベースとは、エンジニアやプログラマが考案したルールに沿って
処理結果を出力する方法です。
ルールベースと言われることもあります。
例えばカメラでの話で考えると、
露出制御(AE)のマルチ測光でのアルゴベースはこんな感じになっています。
1:画像全体の平均輝度が118になるように、シャッター速度、ISO、F値を決定する。
2:画像上部が明るい時はおそらく空なので、平均輝度を求めるときに画面上部の重みを下げる
3:曇天の場合はアンダーになりやすいので、露出を+0.3段上げる。
4:画像全体が一様面の場合は118にすると暗く見えるので露出を*0.5段上げる
5:顔検出したときは顔の露出が適正になるようにする
上はある例として、5つほど挙げました。
こういったルールをいろいろ考案して、
どのようなシーンでも最適な露出になるようにAEエンジニアが考えています。
しかし、こういったルールはAEに詳しくないと考えられません。
上部が空になることが多いので重みを下げるとか。
こういった経験を積むには何年もかかる。
こういったアルゴベースを図にするとこんな感じです。
曇天度が閾値を超えたら、曇天として判定する、など
いくつものパラメータで調整をしていきます。
曇天判断されたら+〇EV上げる、などもパラメータの一つです。
しかしこのパラメータ数は人間がやるには限度があり、
せいぜい100個くらいでしょう。
また、あるシーンを改善すると、別の似たシーンで悪くなるなど
トレードオフが発生しがち。
こういった問題点を解決する手法の一つが、
学習ベースと言われるものです。
AIベースだとか、ディープラーニングだとかニューラルネットワークだとか言われます。
学習ベースであればAEにそれほど詳しくなくても実装可能です。
たくさんの画像とそれの適正露出のセット(学習データベース)を用意して
ニューラルネットワークに学習させます。
ニューラルネットワークでは人間が設定不能な大量な数のパラメータを設定してくれます。
アルゴベースだと条件分岐の閾値やその後にかけるおもみなどがパラメータ。
学習ベースだと、各ノードやニューロンすべてにパラメータを持つ。
今後、こういった学習ベースに置き換わっていくと
大事なものが、学習に使うデータセットです。
このデータセットを作成するのは統計学的な知見が必要です。
また、特定のシーンでAEがおかしいなどの問題が発生したときに、
どういったデータを追加して学習すればよいか、など考慮する必要があります。
エンジニアは、データサイエンティストという職種に変わっていくことに。
« ・花火の打ちあがる高さの計算 | トップページ | ・各社光害カットフィルターを実写確認 »
「写真講座」カテゴリの記事
- ・面内ブレ(ブラー)を防ぐ(2024.09.12)
- ・星をより輝くように見える現像方法 (疑似ソフトフィルター)(2024.09.01)
- ・アトムレンズの黄変を直す2(2024.08.12)
- ・laowa 10mmF2.8 ZERO-Dを確認(2024.07.31)
- ・laowa 45mm F0.95で星撮影/ホタル撮影(2024.07.28)
コメント