2024年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
無料ブログはココログ

« ・花火の打ちあがる高さの計算 | トップページ | ・各社光害カットフィルターを実写確認 »

2021年10月 7日 (木)

・アルゴリズムベースと学習ベースの考え方

プログラムを処理するときに、
最近は学習ベースで実装、など言われることが多くなりました。

アルゴリズムベースとは、エンジニアやプログラマが考案したルールに沿って
処理結果を出力する方法です。
ルールベースと言われることもあります。

 

例えばカメラでの話で考えると、
露出制御(AE)のマルチ測光でのアルゴベースはこんな感じになっています
 


1:画像全体の平均輝度が118になるように、シャッター速度、ISO、F値を決定する。

Resize176965

平均輝度118の画像。


2:画像上部が明るい時はおそらく空なので、平均輝度を求めるときに画面上部の重みを下げる
Resize176963

3:曇天の場合はアンダーになりやすいので、露出を+0.3段上げる。
Resize176964

4:画像全体が一様面の場合は118にすると暗く見えるので露出を*0.5段上げる

 

5:顔検出したときは顔の露出が適正になるようにする


上はある例として、5つほど挙げました。
こういったルールをいろいろ考案して、
どのようなシーンでも最適な露出になるようにAEエンジニアが考えています。
しかし、こういったルールはAEに詳しくないと考えられません。
上部が空になることが多いので重みを下げるとか。
こういった経験を積むには何年もかかる。

こういったアルゴベースを図にするとこんな感じです。

4_20211007192901

曇天度が閾値を超えたら、曇天として判定する、など
いくつものパラメータで調整をしていきます。
曇天判断されたら+〇EV上げる、などもパラメータの一つです。
しかしこのパラメータ数は人間がやるには限度があり、
せいぜい100個くらいでしょう。

また、あるシーンを改善すると、別の似たシーンで悪くなるなど
トレードオフが発生しがち。

こういった問題点を解決する手法の一つが、
学習ベースと言われるものです。
AIベースだとか、ディープラーニングだとかニューラルネットワークだとか言われます。

学習ベースであればAEにそれほど詳しくなくても実装可能です。

Ai_argo-2

たくさんの画像とそれの適正露出のセット(学習データベース)を用意して
ニューラルネットワークに学習させます。
ニューラルネットワークでは人間が設定不能な大量な数のパラメータを設定してくれます。
Ai_argo-1
アルゴベースだと条件分岐の閾値やその後にかけるおもみなどがパラメータ。
学習ベースだと、各ノードやニューロンすべてにパラメータを持つ。

今後、こういった学習ベースに置き換わっていくと
大事なものが、学習に使うデータセットです。
このデータセットを作成するのは統計学的な知見が必要です。
また、特定のシーンでAEがおかしいなどの問題が発生したときに、
どういったデータを追加して学習すればよいか、など考慮する必要があります。

エンジニアは、データサイエンティストという職種に変わっていくことに。

« ・花火の打ちあがる高さの計算 | トップページ | ・各社光害カットフィルターを実写確認 »

写真講座」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ・花火の打ちあがる高さの計算 | トップページ | ・各社光害カットフィルターを実写確認 »