JP2022151256A - 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム - Google Patents
制御装置、撮像装置、レンズ装置、制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2022151256A JP2022151256A JP2021054242A JP2021054242A JP2022151256A JP 2022151256 A JP2022151256 A JP 2022151256A JP 2021054242 A JP2021054242 A JP 2021054242A JP 2021054242 A JP2021054242 A JP 2021054242A JP 2022151256 A JP2022151256 A JP 2022151256A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- information
- lens
- unit
- focus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Lens Barrels (AREA)
- Structure And Mechanism Of Cameras (AREA)
- Studio Devices (AREA)
Abstract
【課題】例えば、機械学習に有利な制御装置を提供する。【解決手段】制御装置(210)は、機械学習を実行するかを判断する判断部(213)と、機械学習により得られた学習済モデルに基づいて、光学部材(101~104)の駆動を制御する制御部(211)とを有する。【選択図】図1
Description
本発明は、制御装置、撮像装置、レンズ装置、制御方法、およびプログラムに関する。
静止画撮像時の速写性を実現するには、オートフォーカス、絞り、または電動ズームなどの高速動作が必要である。一方、動画撮像時には、当該高速動作においてはアクチュエータの作動音が大きくなり、当該作動音がノイズとして記録されうる。
特許文献1には、静止画を撮像する第1の撮像モードか動画を撮像する第2の撮像モードかに応じて、アクチュエータの作動モードを選択する撮像装置が開示されている。特許文献1に開示された撮像装置によれば、撮像モードに応じた速度および作動音でアクチュエータを駆動することができる。
機械学習により得られた学習済モデルを用いて光学部材の駆動を制御する場合、機械学習を行うのに、アクチュエータの駆動量が多大となりうる。その結果、機械学習時間の増大や消費電力の増大、駆動部の消耗、ユーザが意図しないタイミングでの機械学習の実行、ユーザが意図しない駆動性能の変化が懸念されうる。
本発明は、例えば、機械学習に有利な制御装置を提供することを目的とする。
本発明の一側面としての制御装置は、機械学習を実行するかを判断する判断部と、前記機械学習により得られた学習済モデルに基づいて、光学部材の駆動を制御する制御部とを有する。
本発明の他の目的及び特徴は、以下の実施形態において説明される。
本発明によれば、例えば、機械学習に有利な制御装置を提供することができる。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
〔実施形態1〕
<機械学習機能付き撮像システムの構成>
まず、図1を参照して、本発明の実施形態1における撮像システム(カメラシステム)10の構成について説明する。図1は、撮像システム10のブロック図である。撮像システム10は、カメラ本体(撮像装置)200と、カメラ本体200に着脱可能な交換レンズ(レンズ装置)100とを備えて構成される。
〔実施形態1〕
<機械学習機能付き撮像システムの構成>
まず、図1を参照して、本発明の実施形態1における撮像システム(カメラシステム)10の構成について説明する。図1は、撮像システム10のブロック図である。撮像システム10は、カメラ本体(撮像装置)200と、カメラ本体200に着脱可能な交換レンズ(レンズ装置)100とを備えて構成される。
カメラ本体200と交換レンズ100は、結合機構であるマウント300を介して機械的および電気的に接続されている。カメラ本体200は、マウント300に設けられた不図示の電源端子部を介して、交換レンズ100に電源を供給する。また、カメラ本体200と交換レンズ100は、マウント300に設けられた不図示の通信端子部を介して相互に通信を行う。本実施形態において、交換レンズ100はカメラ本体200に対して着脱可能であるが、これに限定されるものではなく、撮像装置とレンズ装置とが一体的に構成されていてもよい。
交換レンズ100は、撮像光学系を有する。撮像光学系は、撮像素子により撮られる像を形成するための光学部材として、焦点調節を行うフォーカスレンズ101、変倍を行うズームレンズ102、光量を調節する絞りユニット103、および像振れ補正レンズ104を含む。フォーカスレンズ101とズームレンズ102は、不図示のレンズ保持枠によって保持されている。レンズ保持枠は、不図示のガイド軸により光軸OAに沿った方向(光軸方向)に移動可能にガイドされている。フォーカスレンズ101は、フォーカスレンズ駆動部105により光軸方向に移動する。フォーカスレンズ101の位置は、フォーカスレンズ検出部106により検出される。ズームレンズ102は、ズームレンズ駆動部107により光軸方向に移動する。ズームレンズ102の位置は、ズームレンズ検出部108により検出される。絞りユニット103は、絞り羽根を備えて構成され、絞り駆動部109により駆動され光量調節動作を行う。絞りユニット103のF値(絞り値)は、絞り検出部110により検出される。像振れ補正レンズ104は、像振れ補正レンズ駆動部112により光軸OAと直交する方向に移動し、手振れなどに起因する像振れを低減する。像振れ補正レンズ104の位置は、像振れ補正レンズ検出部113により検出される。
フォーカスレンズ駆動部105、ズームレンズ駆動部107、絞り駆動部109、および像振れ補正レンズ駆動部112は、例えば超音波モータ(振動波モータ)を有する。ただし、各駆動部は、超音波モータに限定されるものではなく、ボイスコイルモータ、DCモータ、またはステッピングモータなどの他のモータを有していてもよい。フォーカスレンズ検出部106、ズームレンズ検出部108、絞り検出部110、および像揺れ補正レンズ検出部113は、例えばポテンションメータやエンコーダである。また、各駆動部がステッピングモータなどの所定の駆動量をフィードバック無しに駆動可能なモータを有する場合、所定位置を検出する検出手段を設けてもよい。この場合、フォトインタラプタなどの検出センサを設けた所定位置まで光学部材を初期駆動し、初期駆動後は、モータ駆動量に基づいて光学部材の位置を特定してもよい。揺れセンサ111は、交換レンズ100の揺れを検出する検出部であり、例えばジャイロである。
レンズマイコン(レンズマイクロコンピュータ)120は、NN制御部121、レンズ装置情報決定部122、NNデータ記憶部123、動作ログ管理部124、制御部125、および通信部126を有する。NN制御部121は、フォーカスレンズ101の位置を制御する制御部である。NN制御部121は、その内部にニューラルネットワーク(NN)アルゴリズムが実装され、機械学習パラメータを用いてNNアルゴリズムにより駆動指令を決定する。レンズ装置情報決定部122は、NN制御部121で使用するレンズ装置情報を決定し管理する。NNデータ記憶部123は、ウエイトを保持する記憶部である。動作ログ管理部124は、フォーカスレンズ101の駆動制御に関係する動作ログ情報を管理する管理部である。制御部125は、ズームレンズ102、絞りユニット103、および像振れ補正レンズ104のそれぞれの位置を制御するとともに、カメラ本体200との情報伝達を制御する制御部である。制御部125は、例えば、制御対象への目標位置または速度と現在の制御対象位置または速度との偏差に対して、PID制御により駆動指令を生成し、制御を行う。通信部126は、カメラ本体200と通信する通信部である。なお、NNアルゴリズム、ウエイト、レンズ装置情報、動作ログ情報については後述する。
カメラ本体200は、撮像素子(撮像部)201、A/D変換回路202、信号処理回路203、記録部204、表示部205、操作部206、カメラマイコン(カメラマイクロコンピュータ)210、および学習プロセッサ220を有する。撮像素子201は、交換レンズ100から入射した光を映像電気信号に変換する光電変換素子であり、例えばCCDセンサやCMOSセンサである。A/D変換回路202は、撮像素子201から出力された映像電気信号をデジタル信号に変換する。信号処理回路203は、A/D変換回路202から出力されたデジタル信号を映像データに変換する。記録部204は、信号処理回路203から出力された映像データを記録する。表示部205は、信号処理回路203から出力された映像データを表示する。操作部206は、ユーザが撮像システム10を操作するための操作部である。
カメラマイコン210は、カメラ本体200を制御する制御マイコン(制御装置)である。カメラマイコン210は、制御部211、通信部212、および機械学習実行判定部(判断部)213を有する。制御部211は、信号処理回路203からの映像データおよび操作部206からのユーザの操作情報に基づいて、交換レンズ100への駆動指令を行う。また制御部211は、学習プロセッサ220に対しての指令や情報伝達の制御を行う。通信部212は、交換レンズ100との通信を行う。通信部212は、制御部211からの駆動指令を制御コマンドとして、交換レンズ100へ送信する。また通信部212は、交換レンズ100からの情報を受信する。
学習プロセッサ220は、プロセッサ(CPU、GPU)および記憶装置(ROM、RAM、HDD)を有する。プロセッサは、機械学習部221、動作ログ保持部222、報酬管理部223、機器制約報酬管理部224、およびユーザ要望報酬管理部225を有する。記憶装置は、プロセッサの各部を制御するためのプログラムを記憶している。また記憶装置は、動作ログ保持部222が保持する動作ログ情報、報酬管理部223が管理する報酬情報、機器制約報酬管理部224が管理する機器制約報酬情報を記憶している。また記憶装置は、ユーザ要望報酬管理部225が管理するユーザ要望報酬情報やユーザ要望報酬変換情報などを記憶している。なお、報酬情報、機器制約報酬情報、ユーザ要望報酬情報、およびユーザ要望報酬変換情報については、後述する。機械学習実行判定部213は、機械学習部221が機械学習を実行するか否かを判定する。なお、この判定の詳細については後述する。
<撮像画像記録および表示>
次に、撮像システム10における撮像画像記録および表示について説明する。交換レンズ100に入射した光は、フォーカスレンズ101、ズームレンズ102、絞りユニット103、および像振れ補正レンズ104を通過し、撮像素子201に結像する。撮像素子201に結像した光は、撮像素子201にて映像電気信号に変換され、A/D変換回路202にてデジタル信号に変換され、信号処理回路203にて映像データに変換される。信号処理回路203から出力される映像データは、記録部204に記録される。また表示部205は、信号処理回路203から出力される映像データに基づいて映像を表示する。
次に、撮像システム10における撮像画像記録および表示について説明する。交換レンズ100に入射した光は、フォーカスレンズ101、ズームレンズ102、絞りユニット103、および像振れ補正レンズ104を通過し、撮像素子201に結像する。撮像素子201に結像した光は、撮像素子201にて映像電気信号に変換され、A/D変換回路202にてデジタル信号に変換され、信号処理回路203にて映像データに変換される。信号処理回路203から出力される映像データは、記録部204に記録される。また表示部205は、信号処理回路203から出力される映像データに基づいて映像を表示する。
<フォーカス制御>
次に、カメラ本体200が交換レンズ100のフォーカスを制御する方法について説明する。制御部211は、信号処理回路203から出力された映像データに基づいて、AF(オートフォーカス)制御を行う。具体的には、制御部211は、映像データのコントラストの明暗差が最も大きくなるように、フォーカスレンズ101を動かして、撮像被写体にピントが合うように制御する。制御部211は、フォーカスレンズ101を動かすためのフォーカス駆動量を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、フォーカス駆動の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、フォーカス駆動の駆動指令に変換し、制御部125を介してNN制御部121に出力する。NN制御部121は、フォーカス駆動の駆動指令が入力されると、NNデータ記憶部123に記憶されている学習済みのウエイトを用いて駆動信号を決定し、フォーカスレンズ駆動部105へ駆動信号を出力する。なお、NN制御部121が駆動信号を決定する方法については、後述する。
次に、カメラ本体200が交換レンズ100のフォーカスを制御する方法について説明する。制御部211は、信号処理回路203から出力された映像データに基づいて、AF(オートフォーカス)制御を行う。具体的には、制御部211は、映像データのコントラストの明暗差が最も大きくなるように、フォーカスレンズ101を動かして、撮像被写体にピントが合うように制御する。制御部211は、フォーカスレンズ101を動かすためのフォーカス駆動量を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、フォーカス駆動の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、フォーカス駆動の駆動指令に変換し、制御部125を介してNN制御部121に出力する。NN制御部121は、フォーカス駆動の駆動指令が入力されると、NNデータ記憶部123に記憶されている学習済みのウエイトを用いて駆動信号を決定し、フォーカスレンズ駆動部105へ駆動信号を出力する。なお、NN制御部121が駆動信号を決定する方法については、後述する。
以上のように、制御部211からの駆動指令に従い、フォーカスレンズ101が駆動される。従って、制御部211は、映像データのコントラストの明暗差が最も大きくなるように、フォーカスレンズ101を動かすことで適切なAF制御を行うことができる。
<絞り制御>
次に、カメラ本体200が交換レンズ100の絞りユニット103を制御する方法について説明する。制御部211は、信号処理回路203から出力された映像データに基づいて、露出制御を行う。具体的には、制御部211は、映像データの輝度値が一定となるように、目標となるF値を決定する。制御部211は、決定したF値を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、F値の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、F値の駆動指令に変換し、制御部125に出力する。制御部125は、F値の駆動指令が入力されると、絞り検出部110が検出した絞りユニット103のF値に基づいて駆動信号を決定し、絞り駆動部109へ駆動信号を出力する。以上のように、映像データの輝度値が一定となるように、F値が制御され、適切な露光制御を行うことができる。
次に、カメラ本体200が交換レンズ100の絞りユニット103を制御する方法について説明する。制御部211は、信号処理回路203から出力された映像データに基づいて、露出制御を行う。具体的には、制御部211は、映像データの輝度値が一定となるように、目標となるF値を決定する。制御部211は、決定したF値を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、F値の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、F値の駆動指令に変換し、制御部125に出力する。制御部125は、F値の駆動指令が入力されると、絞り検出部110が検出した絞りユニット103のF値に基づいて駆動信号を決定し、絞り駆動部109へ駆動信号を出力する。以上のように、映像データの輝度値が一定となるように、F値が制御され、適切な露光制御を行うことができる。
<ズーム制御>
次に、カメラ本体200が交換レンズ100のズームを制御する方法について説明する。ユーザは、操作部206を介してズーム操作を行う。制御部211は、操作部206から出力されたズーム操作量が入力されると、ズームレンズ102を動かすためのズーム駆動量を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、ズーム駆動の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、ズーム駆動の駆動指令に変換し、制御部125に出力する。制御部125は、ズーム駆動の駆動指令が入力されると、ズームレンズ検出部108が検出したズームレンズ位置に基づいて駆動信号を決定し、ズームレンズ駆動部107へ駆動信号を出力する。以上のように、操作部206に入力されたズーム操作に従い、ズームレンズ102が駆動され、ユーザがズームを操作することができる。
次に、カメラ本体200が交換レンズ100のズームを制御する方法について説明する。ユーザは、操作部206を介してズーム操作を行う。制御部211は、操作部206から出力されたズーム操作量が入力されると、ズームレンズ102を動かすためのズーム駆動量を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、ズーム駆動の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介して交換レンズ100へ送信する。通信部126は、通信部212からの制御コマンドを受信すると、ズーム駆動の駆動指令に変換し、制御部125に出力する。制御部125は、ズーム駆動の駆動指令が入力されると、ズームレンズ検出部108が検出したズームレンズ位置に基づいて駆動信号を決定し、ズームレンズ駆動部107へ駆動信号を出力する。以上のように、操作部206に入力されたズーム操作に従い、ズームレンズ102が駆動され、ユーザがズームを操作することができる。
<防振制御>
次に、交換レンズ100が防振を行う方法について説明する。制御部125は、揺れセンサ111から出力された交換レンズ100の揺れ信号を元に、交換レンズ100の揺れを打ち消すように、像揺れ補正レンズ目標位置を決定する。制御部125は像振れ補正レンズ検出部113が検出した像振れ補正レンズ位置に基づいて駆動信号を決定し、像振れ補正レンズ駆動部112へ駆動信号を出力する。以上のように、防振が正しく制御され、撮像素子201にて撮像された像振れを防ぐことができる。
次に、交換レンズ100が防振を行う方法について説明する。制御部125は、揺れセンサ111から出力された交換レンズ100の揺れ信号を元に、交換レンズ100の揺れを打ち消すように、像揺れ補正レンズ目標位置を決定する。制御部125は像振れ補正レンズ検出部113が検出した像振れ補正レンズ位置に基づいて駆動信号を決定し、像振れ補正レンズ駆動部112へ駆動信号を出力する。以上のように、防振が正しく制御され、撮像素子201にて撮像された像振れを防ぐことができる。
<フォーカスレンズ制御に要求される4つの指標>
フォーカスレンズ制御には、4つの要求事項がある。それは、位置精度、速度、消費電力、および静音である。それぞれの要求事項をバランスよく制御することが求められる。以下、各要求事項について説明する。
フォーカスレンズ制御には、4つの要求事項がある。それは、位置精度、速度、消費電力、および静音である。それぞれの要求事項をバランスよく制御することが求められる。以下、各要求事項について説明する。
<フォーカスレンズ制御に要求される位置精度>
位置精度は、フォーカスレンズ101を目標位置へ駆動する際に、目標位置に対してどれだけ正確にフォーカスレンズ101を駆動できるかを表す指標である。以下、図2を参照して、位置精度について説明する。図2(a)、(b)は位置精度の説明図であり、図2(a)は焦点深度が浅い場合(a)におけるフォーカスレンズ101とピント位置との関係を示し、図2(b)は焦点深度が深い場合におけるフォーカスレンズ101とピント位置との関係を示している。図2(a)、(b)は、レンズ構成は同じで、F値のみ異なる場合を示し、共通のものに対しては同符号を付している。
位置精度は、フォーカスレンズ101を目標位置へ駆動する際に、目標位置に対してどれだけ正確にフォーカスレンズ101を駆動できるかを表す指標である。以下、図2を参照して、位置精度について説明する。図2(a)、(b)は位置精度の説明図であり、図2(a)は焦点深度が浅い場合(a)におけるフォーカスレンズ101とピント位置との関係を示し、図2(b)は焦点深度が深い場合におけるフォーカスレンズ101とピント位置との関係を示している。図2(a)、(b)は、レンズ構成は同じで、F値のみ異なる場合を示し、共通のものに対しては同符号を付している。
フォーカスレンズ目標位置Gは、光軸上の主被写体の点物体Sが、撮像素子201上に合焦するフォーカスレンズ位置を示している。フォーカスレンズ位置Cは、フォーカスレンズ目標位置Gを目標に駆動した後のフォーカス位置を示している。フォーカスレンズ位置Cは、フォーカスレンズ目標位置Gに対して、制御誤差Eの分だけ点物体S側の位置となっている。ピント位置Bpは、フォーカスレンズ位置がフォーカスレンズ位置Cの時の点物体Sの結像位置を示している。錯乱円δは撮像素子201の錯乱円である。
図2(a)のF値Faは、図2(b)のF値Fbよりも明るい値(小さい値)である。従って、図2(a)の焦点深度幅2Faδは、図2(b)の焦点深度幅2Fbδよりも狭い範囲である。図2(a)の光線Ca、光線Gaは、それぞれフォーカスレンズ位置C、フォーカスレンズ目標位置Gにおける点物体Sの光線のうち一番外側の光線を示している。また、図2(b)の光線Cb、光線Gbは、それぞれフォーカスレンズ位置C、フォーカスレンズ目標位置Gにおける点物体Sの光線のうち一番外側の光線を示している。
図2(a)において、点像直径Iaは、フォーカスレンズ101が、フォーカスレンズ位置Cにあるときの点物体Sの撮像素子201上の点像の直径を示す。図2(b)において、点像直径Ibは、フォーカスレンズが、フォーカスレンズ位置Cにあるときの点物体Sの撮像素子201上の点像の直径を示す。図2(a)において、ピント位置Bpは焦点深度幅2Faδの範囲外となっている。また、点像直径Iaは、錯乱円δより大きく、中心の画素に収まらず、隣の画素へ光が入射している。このため図2(a)において、フォーカスレンズ位置Cでは点物体Sは非合焦となる。
一方、図2(b)において、ピント位置Bpは焦点深度幅2Fbδの範囲内にある。また、点像直径Ibは、錯乱円δより小さく、中心の画素に全ての光線が集光している。このため図2(b)において、フォーカスレンズ位置Cでは点物体Sは合焦となる。
以上のように、同じ位置精度を達成したとしても、撮像条件により、非合焦、合焦が変化する。つまり撮像条件により、求められる位置精度が変化する。
<フォーカスレンズ制御に要求される速度>
速度は、フォーカスレンズ101を駆動する際の移動速度である。移動速度は、単位時間あたりの移動量と考えることで移動量に置き換えることができる。また、ピントが合っている位置の光軸方向の移動量のことをピント移動量、移動速度をピント移動速度とする。フォーカスレンズ移動量は、ピント移動量と比例関係にある。この比例定数をフォーカス敏感度という。フォーカス敏感度はレンズの構成する光学系の位置関係によって変化する。ピント移動量ΔBp、フォーカス敏感度Se、フォーカスレンズ移動量ΔPは、以下の式(1)で表される関係となる。
速度は、フォーカスレンズ101を駆動する際の移動速度である。移動速度は、単位時間あたりの移動量と考えることで移動量に置き換えることができる。また、ピントが合っている位置の光軸方向の移動量のことをピント移動量、移動速度をピント移動速度とする。フォーカスレンズ移動量は、ピント移動量と比例関係にある。この比例定数をフォーカス敏感度という。フォーカス敏感度はレンズの構成する光学系の位置関係によって変化する。ピント移動量ΔBp、フォーカス敏感度Se、フォーカスレンズ移動量ΔPは、以下の式(1)で表される関係となる。
ピント移動量ΔBp=フォーカス敏感度Se×フォーカスレンズ移動量ΔP ・・・(1)
次に、図3(a)、(b)を参照して、フォーカスレンズ制御に要求される速度について説明する。図3(a)はフォーカス敏感度Sが大きい場合におけるフォーカスレンズ101とピント位置との関係を示し、図3(b)はフォーカス敏感度Sが小さい場合におけるフォーカスレンズ101とピント位置との関係を示している。図3(a)、(b)は、レンズ構成は同じで、レンズと点物体Sとの距離が異なる場合を示している。なお、図3(a)、(b)で共通のものに対しては同符号を付す。
次に、図3(a)、(b)を参照して、フォーカスレンズ制御に要求される速度について説明する。図3(a)はフォーカス敏感度Sが大きい場合におけるフォーカスレンズ101とピント位置との関係を示し、図3(b)はフォーカス敏感度Sが小さい場合におけるフォーカスレンズ101とピント位置との関係を示している。図3(a)、(b)は、レンズ構成は同じで、レンズと点物体Sとの距離が異なる場合を示している。なお、図3(a)、(b)で共通のものに対しては同符号を付す。
図3(a)において、ピント位置Bp1からピント位置Bp2へ移動させる場合、フォーカスレンズ101をフォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ移動する必要がある。このとき、フォーカスレンズ101の移動量ΔPaとピント移動量ΔBpは、式(1)で表される関係となる。
図3(b)において、ピント位置Bp1からピント位置Bp2へ移動させる場合、フォーカスレンズ101をフォーカスレンズ位置Pb1からフォーカスレンズ位置Pb2へ移動する必要がある。このとき、フォーカスレンズ101の移動量ΔPaとピント移動量ΔBpは、式(1)で表される関係となる。
図3(a)、(b)に示されるように、図3(a)のフォーカス敏感度は図3(b)のフォーカス敏感度より小さいため、同じピント移動量ΔBp動かすために必要となるフォーカスレンズ101の移動量は、図3(a)のほうが大きい。つまり、図3(a)の場合に比べ、図3(b)の場合は、単位時間当たりのフォーカス移動量を少なくできるため、結果としてフォーカスレンズ駆動速度が遅くしても、ピント移動速度としては同じになる。
以上のように、特定のピント移動速度を達成するために必要となるフォーカスレンズ駆動速度は、撮像条件により異なる。つまり撮像条件により、求められるフォーカスレンズ駆動速度が変化する。
<フォーカスレンズ制御に要求される消費電力>
消費電力は、フォーカスレンズ101を駆動するために消費する電力である。消費電力は、フォーカスレンズ101の駆動時間、駆動速度、または駆動加速度変化に応じて変化する。つまり駆動時間が長い場合、駆動速度が速い場合、駆動加速度変化が多い場合に消費電力が多くなる。一方、消費電力を抑えることでバッテリ容量を有効活用することが可能になり、メリットとして1回の充電で撮像可能な枚数を増やすことやバッテリの更なる小型化が可能になる。
消費電力は、フォーカスレンズ101を駆動するために消費する電力である。消費電力は、フォーカスレンズ101の駆動時間、駆動速度、または駆動加速度変化に応じて変化する。つまり駆動時間が長い場合、駆動速度が速い場合、駆動加速度変化が多い場合に消費電力が多くなる。一方、消費電力を抑えることでバッテリ容量を有効活用することが可能になり、メリットとして1回の充電で撮像可能な枚数を増やすことやバッテリの更なる小型化が可能になる。
<フォーカスレンズ制御に要求される静音>
フォーカスレンズ101の駆動時に、振動や摩擦などで駆動音が発生する。駆動音は、駆動速度または駆動加速度変化に応じて変化する。つまり駆動速度が速い場合、駆動加速度変化が多い場合に駆動音が多くなる。また、フォーカスレンズが停止する時間が長い程、駆動音が発生しない時間が多くなる。周囲環境が静かな場所での撮像においては、駆動音を不快に感じ、更に動画撮像時は録音も同時に行われるため、撮像画像に不要となる駆動音が収録されてしまう問題が発生する。従って、撮像状況によっては駆動音をできるだけ少なくする静音が要求される。
フォーカスレンズ101の駆動時に、振動や摩擦などで駆動音が発生する。駆動音は、駆動速度または駆動加速度変化に応じて変化する。つまり駆動速度が速い場合、駆動加速度変化が多い場合に駆動音が多くなる。また、フォーカスレンズが停止する時間が長い程、駆動音が発生しない時間が多くなる。周囲環境が静かな場所での撮像においては、駆動音を不快に感じ、更に動画撮像時は録音も同時に行われるため、撮像画像に不要となる駆動音が収録されてしまう問題が発生する。従って、撮像状況によっては駆動音をできるだけ少なくする静音が要求される。
<位置精度と、速度、消費電力、および静音との関係>
次に、図4(a)、(b)を参照して、位置精度と、速度、消費電力、および静音との関係について説明する。図4(a)、(b)は、位置精度と、速度、消費電力、および静音との関係の説明図である。図4(a)は焦点深度が浅い場合において動きのある被写体に合焦し続けるためのフォーカスレンズ制御を示し、図4(b)は焦点深度が深い場合において動きのある被写体に合焦し続けるためのフォーカスレンズ制御を示している。図4(a)、(b)において、横軸は時間(時間経過)を示し、縦軸はフォーカスレンズ位置を示す。フォーカスレンズ位置が上側に行くと無限方向にピントが合い、下側に行くと至近方向にピントが合う方向となる。なお、図4(a)、(b)で共通のものに対してはも同符号を付す。
次に、図4(a)、(b)を参照して、位置精度と、速度、消費電力、および静音との関係について説明する。図4(a)、(b)は、位置精度と、速度、消費電力、および静音との関係の説明図である。図4(a)は焦点深度が浅い場合において動きのある被写体に合焦し続けるためのフォーカスレンズ制御を示し、図4(b)は焦点深度が深い場合において動きのある被写体に合焦し続けるためのフォーカスレンズ制御を示している。図4(a)、(b)において、横軸は時間(時間経過)を示し、縦軸はフォーカスレンズ位置を示す。フォーカスレンズ位置が上側に行くと無限方向にピントが合い、下側に行くと至近方向にピントが合う方向となる。なお、図4(a)、(b)で共通のものに対してはも同符号を付す。
フォーカスレンズ目標位置Gは、被写体の像が撮像素子201上に集光させる時のフォーカスレンズ位置を示している。図4(a)、(b)の焦点深度はそれぞれ2Faδ、2Fbδである。図4(a)において、フォーカスレンズ目標位置Gを基準に、ピント位置が焦点深度の無限側の境界となるフォーカスレンズ位置をGalimI、至近側の境界となるフォーカスレンズ位置をGalimMで示す。図4(b)において、フォーカスレンズ目標位置Gを基準に、ピント位置が焦点深度の無限側の境界となるフォーカスレンズ位置をGblimI、至近側の境界となるフォーカスレンズ位置をGblimMで示す。図4(a)、(b)のCa、Cbはそれぞれ被写体が焦点深度内に収まるように制御されたフォーカスレンズ位置を示している。
図4(a)は焦点深度が深いため、フォーカスレンズがCaの示す軌跡に制御されたとしても、被写体がピントから外れることはない。一方、図4(b)は焦点深度が深いため、図4(a)の場合に比べ、フォーカスレンズCbの軌跡をフォーカスレンズ目標位置Gとの偏差が少ない軌跡で制御する必要がある。つまり、図4(a)、(b)共に被写体がピントから外れることはないが、図4(a)のCaのほうが、図4(b)のCbよりも駆動量、駆動速度を少なくできる。従って、求められる位置精度が低い撮像条件下においては、低速、低消費電力、静音でフォーカスレンズを制御することができる。
<速度と、位置精度、消費電力、および静音との関係>
次に、図5(a)、(b)を参照して、速度と、位置精度、消費電力、および静音との関係について説明する。図5(a)、(b)において、横軸は時間(時間経過)を示し、縦軸はフォーカスレンズ位置を示す。図5(a)は、図3(a)が示すフォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ、時間T0~T1の間に駆動したフォーカスレンズ位置Caの変化を示している。同様に、図5(b)は、図3(b)が示すフォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ、時間T0~T1の間に駆動したフォーカスレンズ位置Cbの変化を示している。図3(a)、(b)に示されるように、フォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ移動したときのピント移動量は、フォーカスレンズ位置Pb1からフォーカスレンズ位置Pb2へ移動したときのピント移動量と同じである。なお、図5(a)、(b)のCa、Cbの傾きはフォーカスレンズ速度を示す。
次に、図5(a)、(b)を参照して、速度と、位置精度、消費電力、および静音との関係について説明する。図5(a)、(b)において、横軸は時間(時間経過)を示し、縦軸はフォーカスレンズ位置を示す。図5(a)は、図3(a)が示すフォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ、時間T0~T1の間に駆動したフォーカスレンズ位置Caの変化を示している。同様に、図5(b)は、図3(b)が示すフォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ、時間T0~T1の間に駆動したフォーカスレンズ位置Cbの変化を示している。図3(a)、(b)に示されるように、フォーカスレンズ位置Pa1からフォーカスレンズ位置Pa2へ移動したときのピント移動量は、フォーカスレンズ位置Pb1からフォーカスレンズ位置Pb2へ移動したときのピント移動量と同じである。なお、図5(a)、(b)のCa、Cbの傾きはフォーカスレンズ速度を示す。
図5(a)、(b)に示されるように、時間T0~T1の間に同じピント移動量ΔBp動かす為のフォーカスレンズ移動速度は、CaはCbに比べ早くフォーカスレンズ101を動かす必要がある。また、Caは速度が速いため、目標位置であるPa2到達後、位置が安定するまでにある程度に時間が必要となる。一方、Cbは速度が遅いため、目標位置であるPb2に到達後、直ぐに位置が安定する。これは位置精度に影響する。また、フォーカスレンズを早く駆動し、停止時において、加速度変化が大きくなる為、CaはCbに比べ、消費電力が多くなり、駆動音も大きくなる。従って、求められる速度が低い撮像条件下においては、高い位置精度、低消費電力、および静音でフォーカスレンズ101を制御することができる。
<レンズ装置情報>
次に、レンズ装置情報について説明する。レンズ装置情報は、フォーカスレンズ制御において、撮像画像が受ける影響を示す情報である。
次に、レンズ装置情報について説明する。レンズ装置情報は、フォーカスレンズ制御において、撮像画像が受ける影響を示す情報である。
以上のように、フォーカスレンズ制御における要求事項をバランスよく制御するには、フォーカスレンズ制御で求められる位置精度、速度を決めるためのレンズ装置情報に基づいてフォーカスレンズ制御を行う必要がある。レンズ装置情報は、レンズ装置情報決定部122により決定される。レンズ装置情報は、例えば、焦点深度やフォーカス敏感度の情報である。レンズ装置情報決定部122は、現在のF値と錯乱円の情報から式(1)で表されるように、焦点深度を決定する。またレンズ装置情報決定部122は、フォーカス敏感度とフォーカスレンズ位置、ズームレンズ位置の関係を示す不図示の変換テーブルを保持し、フォーカスレンズ位置、ズームレンズ位置からフォーカス敏感度を決定する。これらのレンズ装置情報に基づいてフォーカスレンズ制御を行う。これにより、撮像画像が受ける影響を加味して、位置精度、速度、消費電力、静音のそれぞれの要求事項をバランスよく制御することができる。なお、レンズ装置情報を用いてフォーカスレンズ制御を行うNNアルゴリズムについては後述する。
<NNアルゴリズムとウエイト>
次に、NN制御部121がNNアルゴリズムを用いて駆動指令を決定する方法について説明する。NN制御部121は、NNアルゴリズムを実装している。NN制御部121は、NNデータ記憶部123に記録されたNNの特徴量、結合重み付け係数であるウエイトを参照し、参照したウエイトを用いてNNアルゴリズムにより駆動指令を決定する。なお、ウエイトの製造方法については後述する。
次に、NN制御部121がNNアルゴリズムを用いて駆動指令を決定する方法について説明する。NN制御部121は、NNアルゴリズムを実装している。NN制御部121は、NNデータ記憶部123に記録されたNNの特徴量、結合重み付け係数であるウエイトを参照し、参照したウエイトを用いてNNアルゴリズムにより駆動指令を決定する。なお、ウエイトの製造方法については後述する。
図6は、本実施形態の学習モデルを用いたNN制御部121の入出力の構造を示す概念図(ニューラルネットワークの入出力の説明図)である。X1は、制御部125から出力されたフォーカス駆動の駆動指令目標位置である。現在位置X2は、フォーカスレンズ検出部106から得られたフォーカスレンズ101の現在位置である。X3は、レンズ装置情報としての焦点深度である。X4は、レンズ装置情報としてのフォーカス敏感度である。Y1は、フォーカスレンズ101の駆動信号である。以上により、フォーカス駆動の駆動指令、フォーカスレンズ101の現在位置、焦点深度、フォーカス敏感度を入力として、学習済モデルの出力として駆動信号が決定される。NN制御部121がNNアルゴリズムを用いて決定した駆動信号により、フォーカスレンズ101の制御を行う。
<ウエイトの製造方法>
次に、ウエイトの製造方法について説明する。ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、機械学習を実行するか否かを判定する。そして機械学習実行判定部213は、機械学習を実行する場合、機械学習実施の指令を機械学習部221に伝える。機械学習部221は、機械学習実施の指令を受けると、機械学習を開始する。
次に、ウエイトの製造方法について説明する。ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、機械学習を実行するか否かを判定する。そして機械学習実行判定部213は、機械学習を実行する場合、機械学習実施の指令を機械学習部221に伝える。機械学習部221は、機械学習実施の指令を受けると、機械学習を開始する。
図7を参照して、機械学習の流れを説明する。図7は、機械学習のフローチャートである。ここでは、ユーザは動画撮像中には機械学習を停止させ、撮像を行っていないときに機械学習を実施させるものとする。
まずステップS101において、ユーザは、操作部206を用いて機械学習実行判定部213が行う機械学習の実行判定の条件(機械学習を実行するか否かを判定するための条件)を設定する。ユーザは、例えば、動画撮像中には機械学習を停止させ、撮像を行っていないときに機械学習を実施させるように設定する。
続いてステップS102において、機械学習実行判定部213は、機械学習の実行判定に使用する機械学習実行判定情報を取得する。ここで機械学習実行判定情報とは、撮像モード情報(動作状態)、すなわち動画撮像中(録画中)か否かに関する情報であり、カメラマイコン210から取得することができる。
続いてステップS103において、機械学習実行判定部213は、撮像モード情報に基づいて、機械学習を実行するか否かを判定する。撮像モード情報が録画中であり、機械学習を実行しない場合、機械学習を終了させる。一方、撮像モード情報が録画中ではなく、機械学習を実行する場合、ステップS104に遷移する。なお、機械学習実行判定部213が行う実行判定の詳細については、後述する。
続いてステップS104において、機械学習部221は、制御部211へ、ウエイトの初期値を出力する(機械学習パラメータの初期化)。制御部211は、機械学習部221からウエイトの初期値を受け取ると、通信部212から交換レンズ100へウエイトの初期値を送信する。交換レンズ100は、通信部126にてウエイトの初期値を受信すると、受信したウエイトの初期値を、制御部125を介してNNデータ記憶部123に設定する。
続いてステップS105において、機械学習部221は、制御部211へ、フォーカスレンズ101の駆動指令および動作ログ情報の取得要求を行う。制御部211は、機械学習部221からフォーカスレンズ101の駆動指令および動作ログ情報の取得要求を受けると、通信部212から交換レンズ100へ、フォーカスレンズ101の駆動指令および動作ログ情報の取得要求を行う。交換レンズ100は、通信部126を介してフォーカスレンズ101の駆動指令を受信すると、制御部125を介してNN制御部121に対してフォーカスレンズ101の駆動指令を行う。NN制御部121は、NNデータ記憶部123に保持されたウエイトに基づいて、フォーカスレンズ101の駆動を制御する。ここで機械学習部221は、フォーカスレンズ101の駆動指令として、予め学習用に決められた開始位置から停止位置まで特定の駆動パターンを保持し、保持している駆動パターンに従い駆動指令を行う。または機械学習部221は、AF(オートフォーカス)制御を実行し、フォーカスレンズ101の駆動指令を行ってもよい。また交換レンズ100は、通信部126にて動作ログ情報の取得要求を受信すると、動作ログ管理部124に対して動作ログ情報の出力要求を行う。動作ログ管理部124は動作ログ情報の出力要求を受けると、フォーカスレンズ101の駆動時における動作ログ情報を、制御部125および通信部126を介してカメラ本体200に送信する。
続いてステップS106において、機械学習部221は、報酬管理部223が保持している報酬情報および動作ログ保持部222が保持している動作ログ情報に基づいて、NNアルゴリズムの制御結果を点数化する。なお、報酬情報、動作ログ情報、および制御結果の点数化については後述する。
続いてステップS107において、機械学習部221は、NNアルゴリズム制御結果の累計点数が最大化されるようにウエイトを更新する(機械学習パラメータ更新)。本実施形態において、ウエイトの更新には誤差逆伝搬法(Backpropagation)を使用するが、これに限定されるものではない。生成されたウエイトは、ステップS104と同様の手順で、NNデータ記憶部123に設定される。
続いてステップS108において、機械学習部221は、ウエイトの学習(機械学習)が完了したか否かを判定する。学習完了は、学習(ウエイトの更新)の反復回数が規定値に達したか、または、更新時の動作ログ情報中の累計点数の変化量が規定値より小さいかなどにより判定することができる。機械学習部221は学習未完と判定した場合、ステップS102へ戻り、再び、機械学習実行判定部213による機械学習実行判定を実施する。一方、機械学習部221は学習完了と判定した場合、機械学習を終了させる。
機械学習の具体的なアルゴリズムとしては、本実施形態のように、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)が挙げられる。また、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシンなどが挙げられる。適宜、前述のアルゴリズムのうち利用できるものを用いて本実施形態に適用することができる。
GPUはデータをより多く並列処理することで効率的な演算を行うことができる。このため、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合、GPUで処理を行うことが有効である。そこで、機械学習部221による処理には、CPUに加えてGPUを用いてもよい。具体的には、学習モデルを含む学習プログラムを実行する場合に、CPUとGPUが協働して演算を行うことで学習を行う。なお、機械学習部221の処理はCPUまたはGPUのみにより演算が行われてもよい。
<機械学習の実行判定の方法>
前述のように、本実施形態では、機械学習実行判定部213が用いる機械学習実行判定情報が撮像モード情報である場合のウエイトの製造方法について説明したが、これに限定されるものではない。ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、制御部125から入力された機械学習実施の指令の他に、機械学習実行の判定に必要な情報を取得する。これら取得した情報に基づいて、機械学習実行判定部213は機械学習を実行するか否かを決定し、その結果を機械学習部221へ伝える。以下、機械学習実行の判定に必要な情報毎に機械学習実行判定部213が行う判定について、詳述する。
前述のように、本実施形態では、機械学習実行判定部213が用いる機械学習実行判定情報が撮像モード情報である場合のウエイトの製造方法について説明したが、これに限定されるものではない。ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、制御部125から入力された機械学習実施の指令の他に、機械学習実行の判定に必要な情報を取得する。これら取得した情報に基づいて、機械学習実行判定部213は機械学習を実行するか否かを決定し、その結果を機械学習部221へ伝える。以下、機械学習実行の判定に必要な情報毎に機械学習実行判定部213が行う判定について、詳述する。
(撮像モードによる機械学習の実行・停止)
機械学習実行判定部213は、カメラマイコン210から撮像モードを取得する。撮像モードは、例えば、動画撮像中、静止画撮像中、または撮像停止中にそれぞれ対応するモードであり、カメラ本体200が現在、撮像を行っているか否かを示す。撮像モードが動画撮像中(動画撮像モード)または静止画撮像中(静止画撮像モード)の場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、撮像モードが撮像停止中(停止モード)の場合、機械学習実行判定部213は、機械学習を実行すると判定する。以上のように、撮像中に機械学習に伴うフォーカスレンズ101の駆動が開始され、ユーザが望む映像を撮像することができなくなるという状況を回避することができる。
機械学習実行判定部213は、カメラマイコン210から撮像モードを取得する。撮像モードは、例えば、動画撮像中、静止画撮像中、または撮像停止中にそれぞれ対応するモードであり、カメラ本体200が現在、撮像を行っているか否かを示す。撮像モードが動画撮像中(動画撮像モード)または静止画撮像中(静止画撮像モード)の場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、撮像モードが撮像停止中(停止モード)の場合、機械学習実行判定部213は、機械学習を実行すると判定する。以上のように、撮像中に機械学習に伴うフォーカスレンズ101の駆動が開始され、ユーザが望む映像を撮像することができなくなるという状況を回避することができる。
(デマンド接続による機械学習の実行・停止)
機械学習実行判定部213は、レンズマイコン120から交換レンズ100にフォーカスデマンドが接続されているか否かの情報を取得する。機械学習実行判定部213は、フォーカスデマンドが接続されている場合、機械学習を実行しない(機械学習を停止する)と判定する。一方、機械学習実行判定部213は、フォーカスデマンドが接続されていない場合、機械学習を実行すると判定する。以上のように、ユーザがデマンド操作によってフォーカスレンズ101を駆動させたいときに、機械学習に伴うフォーカスレンズ101の駆動が開始され、フォーカスレンズ101がユーザ操作できなくなる状況を回避することができる。なお、ここではデマンド接続情報を機械学習実行判定に用いるが、デマンド操作による駆動命令の有無を機械学習実行判定に用いてもよい。
機械学習実行判定部213は、レンズマイコン120から交換レンズ100にフォーカスデマンドが接続されているか否かの情報を取得する。機械学習実行判定部213は、フォーカスデマンドが接続されている場合、機械学習を実行しない(機械学習を停止する)と判定する。一方、機械学習実行判定部213は、フォーカスデマンドが接続されていない場合、機械学習を実行すると判定する。以上のように、ユーザがデマンド操作によってフォーカスレンズ101を駆動させたいときに、機械学習に伴うフォーカスレンズ101の駆動が開始され、フォーカスレンズ101がユーザ操作できなくなる状況を回避することができる。なお、ここではデマンド接続情報を機械学習実行判定に用いるが、デマンド操作による駆動命令の有無を機械学習実行判定に用いてもよい。
(電力情報による機械学習の実行・停止)
機械学習実行判定部213は、カメラ本体200がバッテリ駆動中または電源駆動中のいずれであるかに関する情報を取得する。カメラ本体200がバッテリ駆動中の場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、カメラ本体200が電源駆動中の場合、機械学習実行判定部213は、機械学習を実行すると判定する。以上のように、カメラ本体200の電力供給に余裕があるときのみ機械学習を実行することができる。なお、ここではカメラ本体200の電力情報(消費電力)を機械学習実行判定に用いるが、交換レンズ100の電力情報を機械学習実行判定に用いてもよい。
機械学習実行判定部213は、カメラ本体200がバッテリ駆動中または電源駆動中のいずれであるかに関する情報を取得する。カメラ本体200がバッテリ駆動中の場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、カメラ本体200が電源駆動中の場合、機械学習実行判定部213は、機械学習を実行すると判定する。以上のように、カメラ本体200の電力供給に余裕があるときのみ機械学習を実行することができる。なお、ここではカメラ本体200の電力情報(消費電力)を機械学習実行判定に用いるが、交換レンズ100の電力情報を機械学習実行判定に用いてもよい。
(駆動情報による機械学習の実行・停止)
機械学習実行判定部213は、フォーカスレンズ駆動部105からの駆動情報(アクチュエータの動作状態)を取得する。駆動情報にフォーカスレンズ駆動部105の劣化の兆候がある場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、駆動情報にフォーカスレンズ駆動部105の劣化の兆候がない場合、機械学習実行判定部213は、機械学習を実行すると判定する。ここで、フォーカスレンズ駆動部105の劣化の兆候とは、NN制御部121から出力されたフォーカスレンズ駆動位置命令(駆動指令情報)と、フォーカスレンズ検出部106が検出したフォーカスレンズ位置情報との差(誤差δ)に基づいて判定される。すなわち機械学習実行判定部213は、誤差δが所定の値(閾値α)以上である場合、フォーカスレンズ駆動部105の劣化の兆候があると判定する。以上のように、フォーカスレンズ検出部106に摩耗や破損の虞がある場合には機械学習を停止し、摩耗や破損の可能性がない場合にのみ機械学習を実施することができる。
機械学習実行判定部213は、フォーカスレンズ駆動部105からの駆動情報(アクチュエータの動作状態)を取得する。駆動情報にフォーカスレンズ駆動部105の劣化の兆候がある場合、機械学習実行判定部213は、機械学習を実行しない(機械学習を停止する)と判定する。一方、駆動情報にフォーカスレンズ駆動部105の劣化の兆候がない場合、機械学習実行判定部213は、機械学習を実行すると判定する。ここで、フォーカスレンズ駆動部105の劣化の兆候とは、NN制御部121から出力されたフォーカスレンズ駆動位置命令(駆動指令情報)と、フォーカスレンズ検出部106が検出したフォーカスレンズ位置情報との差(誤差δ)に基づいて判定される。すなわち機械学習実行判定部213は、誤差δが所定の値(閾値α)以上である場合、フォーカスレンズ駆動部105の劣化の兆候があると判定する。以上のように、フォーカスレンズ検出部106に摩耗や破損の虞がある場合には機械学習を停止し、摩耗や破損の可能性がない場合にのみ機械学習を実施することができる。
ここでは、フォーカスレンズ駆動位置命令と、フォーカスレンズ位置情報との誤差δが閾値α以上である場合に劣化の兆候があるものと判定するが、これに限定されるものではない。例えば、フォーカスレンズ駆動位置命令の微分値と、フォーカスレンズ位置情報の微分値(速度情報)との誤差δdが閾値β以上である場合に劣化の兆候があるものと判定してもよい。なお、フォーカスレンズ位置情報や速度情報に限定されるものではなく、光学部材の駆動状態を示す他の情報を用いてもよい。
(ユーザ入力による機械学習の実行・停止)
機械学習実行判定部213は、操作部206からの入力情報を取得する。機械学習を停止する旨の入力情報を取得した場合、機械学習実行判定部213は、機械学習実行不可と判定する。一方、機械学習を実行する旨の入力情報を取得した場合、機械学習実行判定部213は、機械学習実行可能と判定する。以上のように、ユーザが操作部206を用いて機械学習の停止もしくは実行を指示した場合、無条件で機械学習を停止もしくは実行することができる。
機械学習実行判定部213は、操作部206からの入力情報を取得する。機械学習を停止する旨の入力情報を取得した場合、機械学習実行判定部213は、機械学習実行不可と判定する。一方、機械学習を実行する旨の入力情報を取得した場合、機械学習実行判定部213は、機械学習実行可能と判定する。以上のように、ユーザが操作部206を用いて機械学習の停止もしくは実行を指示した場合、無条件で機械学習を停止もしくは実行することができる。
またユーザは、操作部206を用いて、機械学習実行判定部213が機械学習実行の判定に使用する情報を選択することができる。例えば、駆動情報による機械学習実行判定は行うが、電力情報による機械学習実行判定は行わないなどの設定をしてもよい。なお、機械学習実行中に機械学習実行判定部213が停止判定を行った場合、その時点でのウエイトではなく、ウエイトの初期値を用いてフォーカスレンズ101の駆動を制御する。これは、学習途中のウエイトでフォーカスレンズ101の駆動制御をおこなった場合、正しい駆動制御を行うことができない可能性があるからである。
<動作ログ情報>
次に、動作ログ情報について説明する。動作ログ情報は、NNアルゴリズムの制御結果を点数化する上で、点数を決める対象となる制御結果情報である。
次に、動作ログ情報について説明する。動作ログ情報は、NNアルゴリズムの制御結果を点数化する上で、点数を決める対象となる制御結果情報である。
動作ログ管理部124は、図6に示されるX1~X4、Y1であるNNアルゴリズムの入出力情報を、NNアルゴリズムの制御周期毎に収集し記録する。また、不図示のフォーカスレンズ駆動部105の消費電力を測定する為の電力検出部を設け、動作ログ管理部124は、フォーカスレンズ駆動部105の消費電力も動作ログ情報として記録する。
また動作ログ管理部124は、NN制御部121に入力された駆動指令やフォーカスレンズ検出部106によって検出されるフォーカスレンズの位置情報も動作ログ情報として記録する。更に動作ログ管理部124は、駆動指令から決定されるフォーカスレンズ101の目標位置および位置情報、位置精度Eを決定し、動作ログ情報として記録する。更に動作ログ管理部124は、フォーカスレンズの位置情報から、フォーカスレンズの速度及び加速度を算出し、動作ログ情報として記録する。
動作ログ管理部124は、記録した動作ログ情報を、制御部125、通信部126を介してカメラ本体200に送信する。カメラ本体200は、動作ログ情報を通信部212にて受信すると、制御部211を介して動作ログ保持部222に記録される。
<報酬情報および制御結果の点数化>
報酬情報は、NNアルゴリズムの制御結果を点数化する上で、点数の基準となる情報である。報酬情報は、NNアルゴリズム制御結果に対して、点数の境界値とその境界値毎に割り当てられた点数の情報を持つ。図8(a1)~(d2)を参照して、報酬情報について説明する。図8(a1)~(d2)は、報酬情報の説明図である。図8(a1)、(b1)、(c1)、(d1)はそれぞれ、NNアルゴリズム制御結果を示す項目である位置精度、速度、加速度、消費電力に対して、学習時において、時間経過と点数の境界値との関係を示している。図8(a1)、(b1)、(c1)、(d1)において、横軸は時間(時間経過)を示し、縦軸はそれぞれ位置精度、速度、加速度、消費電力を示す。図8(a2)、(b2)、(c2)、(d2)は、位置精度、速度、加速度、消費電力に対しての報酬情報のデータ構造を示している。報酬情報のデータは、複数の境界値と、境界値で区切られた領域で獲得できる点数で構成される。
報酬情報は、NNアルゴリズムの制御結果を点数化する上で、点数の基準となる情報である。報酬情報は、NNアルゴリズム制御結果に対して、点数の境界値とその境界値毎に割り当てられた点数の情報を持つ。図8(a1)~(d2)を参照して、報酬情報について説明する。図8(a1)~(d2)は、報酬情報の説明図である。図8(a1)、(b1)、(c1)、(d1)はそれぞれ、NNアルゴリズム制御結果を示す項目である位置精度、速度、加速度、消費電力に対して、学習時において、時間経過と点数の境界値との関係を示している。図8(a1)、(b1)、(c1)、(d1)において、横軸は時間(時間経過)を示し、縦軸はそれぞれ位置精度、速度、加速度、消費電力を示す。図8(a2)、(b2)、(c2)、(d2)は、位置精度、速度、加速度、消費電力に対しての報酬情報のデータ構造を示している。報酬情報のデータは、複数の境界値と、境界値で区切られた領域で獲得できる点数で構成される。
NNアルゴリズムは、制御結果の獲得点数が高得点となるように学習されるため、境界値が各対象となる項目の目標に近い程、より高精度な制御となるように学習される。例えば、位置精度の境界値が0に近い値になる程、位置精度が0に近づく制御となるように学習される。また他の項目に比べ、点数を高く設定する事により、他の項目よりも学習の優先度が高いことを示す。例えば、位置精度よりも消費電力の点数を高くすることで、位置精度よりも消費電力を優先させる制御となるように学習される。本実施形態では、2点の境界値と3点の点数で構成される例を示す。
図8(a1)の縦軸はフォーカスレンズ101の目標位置と現在位置との差である位置精度Eの値を示している。位置精度Eの正の方向は、目標位置に対して、現在位置が無限側にある場合を示し、負の方向は、目標位置に対して、現在位置が至近側にある場合を示す。位置精度Eが0に近い程、駆動制御における位置精度が高いことを示している。
図8(a2)は、位置精度の報酬情報である位置精度報酬情報REのデータ構造を示している。位置精度報酬情報REは位置精度の報酬範囲を決めるE1、E2と、報酬範囲において獲得できる点数SE1、点数SE2、点数SE3により構成される。E1、E2はそれぞれ位置精度Eの報酬として与えられる点数の境界値を示している。ここで、E1×-1~E1の範囲の時は範囲AE1とする。また、範囲AE1を除くE2×-1~E2の範囲AE2とする。また、範囲AE1、範囲AE2以外の時は範囲AE3とする。位置精度Eがそれぞれ範囲AE1、範囲AE2、範囲AE3の範囲内のときは、図8(a2)が示す点数SE1、点数SE2、点数SE3が報酬として与えられる。ここで点数SE1、点数SE2、点数SE3の点数の関係は点数SE1>点数SE2>点数SE3となり、位置精度Eが0に近い程高い点数となるように設定される。
図8(a1)に示されるように、位置精度に対して、任意の時間TP1、TP2、Tp3における位置精度Eは夫々範囲AE2、範囲AE3、範囲AE1の範囲内である。従って、任意の時間TP1、TP2、Tp3において、獲得できる報酬はそれぞれ点数SE2、点数SE3、点数SE1となる。ここで例えば、E1は±Fδ/2、E2は±Fδの値が設定される。つまり、フォーカスレンズの目標位置に対して、現在位置が焦点深度内に制御されていれば、高い得点が加算され、焦点深度外となった場合に低い点数が加算される。またフォーカスレンズが目標位置に近い程、獲得できる点数が多くなる。
図8(b1)の縦軸は、フォーカスレンズ101の駆動速度Vの値を示している。駆動速度Vの正の方向は無限方向への駆動速度を示し、負の方向は至近方向への駆動速度を示している。駆動速度Vが0に近い程、駆動音が小さくなる。
図8(b2)は、速度の報酬情報である速度報酬情報RVのデータ構造を示している。速度報酬情報RVは速度の報酬範囲を決めるV1、V2と、報酬範囲において獲得できる点数SV1、点数SV2、点数SV3により構成される。V1、V2はそれぞれ駆動速度Vの報酬として与えられる点数の境界値を示している。ここで、V1×-1~V1の範囲の時は範囲AV1とする。また、範囲AV1を除くV2×-1~V2の範囲AV2とする。また、範囲AV1、範囲AV2以外の時は範囲AV3とする。駆動速度Vがそれぞれ範囲AV1、範囲AV2、範囲AV3の範囲内のときは、図8の(b2)が示す点数SV1、点数SV2、点数SV3が報酬として与えられる。ここで点数SV1、点数SV2、点数SV3の点数の関係は点数SV1>点数SV2>点数SV3となり、駆動速度Vが0に近い程、高い点数となるように設定される。
図8(b1)に示されるように、駆動音に対して、任意の時間TP1、TP2、Tp3における駆動速度Vは夫々範囲AV2、範囲AV3、範囲AV1の範囲内である。従って、任意の時間TP1、TP2、Tp3において、獲得できる報酬はそれぞれ点数SV2、点数SV3、点数SV1となる。ここで例えば、V1、V2は駆動速度と駆動音の関係が決定され、駆動速度を遅く制御する程、獲得できる点数が多くなるように点数が設定される。一般的に、駆動速度が遅い程、駆動音が小さくなる為、獲得した点数が高い程、静音を重視した制御を実行できていることを示す。
図8(c1)の縦軸は、フォーカスレンズ101の駆動加速度Aの値を示している。駆動加速度Aの正の方向は無限方向への駆動加速度を示し、負の方向は至近方向への駆動加速度を示している。駆動加速度Aが0に近い程、駆動音が小さくなる。
図8(c2)は、加速度の報酬情報である加速度報酬情報RAのデータ構造を示している。加速度報酬情報RAは加速度の報酬範囲を決めるA1、A2と、報酬範囲において獲得できる点数SA1、点数SA2、点数SA3により構成される。A1、A2はそれぞれ駆動加速度Aの報酬として与えられる点数の境界値を示している。ここで、A1×-1~A1の範囲の時は範囲AA1とする。また、範囲AA1を除くA2×-1~A2の範囲AV2とする。また、範囲AA1、範囲AA2以外の時は範囲AA3とする。駆動加速度Aがそれぞれ範囲AA1、範囲AA2、範囲AA3の範囲内のときは、図8(c2)に示される点数SA1、点数SA2、点数SA3が報酬として与えられる。ここで点数SA1、点数SA2、点数SA3の点数の関係は点数SA1>点数SA2>点数SA3となり、駆動加速度Aが0に近い程、高い点数となるように設定される。
図8(c1)に示されるように、駆動音に対して、任意の時間TP1、TP2、Tp3における駆動加速度Aは夫々範囲AA1、範囲AA3、範囲AA2の範囲内である。従って、任意の時間TP1、TP2、Tp3において、獲得できる報酬はそれぞれ点数SA1、点数SA3、点数SA2となる。ここで例えば、A1、A2は駆動加速度と駆動音の関係が決定され、駆動加速度を小さく制御する程、獲得できる点数が多くなるように点数が設定される。一般的に、駆動加速度が小さい程、駆動音が小さくなるため、獲得した点数が高い程、静音を重視した制御を実行できていることを示す。
図8(d1)の縦軸は、フォーカスレンズ101の消費電力Pの値を示している。消費電力Pが0に近い程、消費電力が小さくなる。図8(d2)は、消費電力の報酬情報である消費電力報酬情報RPのデータ構造を示している。消費電力報酬情報RPは消費電力の報酬範囲を決めるP1、P2と、報酬範囲において獲得できる点数SP1、点数SP2、点数SP3により構成される。P1、P2はそれぞれ消費電力Pの報酬として与えられる点数の境界値を示している。ここで、0~P1の範囲の時は範囲AP1とする。また、P1~P2の範囲の時は範囲AP2とする。また、範囲AP1、範囲AP2以外の時は範囲AP3とする。消費電力Pがそれぞれ範囲AP1、範囲AP2、範囲AP3の範囲内のときは、図8の(d2)が示す点数SP1、点数SP2、点数SP3が報酬として与えられる。ここで点数SP1、点数SP2、点数SP3の点数の関係は点数SP1>点数SP2>点数SP3となり、消費電力Pが0に近い程、高い点数となるように設定される。
図8(d1)に示されるように、消費電力に対して、任意の時間TP1、TP2、TP3における消費電力Pは夫々範囲AP1、範囲AP3、範囲AP2の範囲内である。従って、任意の時間TP1、TP2、TN3において、獲得できる報酬はそれぞれ点数SP1、点数SP3、点数SP2となる。ここで例えば、P1、P2は任意に決定され、消費電力を小さく制御する程、獲得できる点数が多くなるように点数が設定される。従って、獲得した点数が高くなる程、低消費電力を重視した制御を実行できていることを示す。
以上のように、位置制御誤差、速度、加速度、消費電力などの制御結果に対して、点数化するための報酬情報が設定される。報酬情報を用いて、学習時のフォーカスレンズ駆動において、動作ログ情報に基づいてNNアルゴリズムの制御結果を単位時間毎に点数化し、単位時間毎の点数を累計する。これにより、NNアルゴリズム制御結果の累計点数を決定することができる。また、位置制御誤差、速度、加速度、および消費電力のそれぞれの得点を加算することで、NNアルゴリズムのトータルとしての制御結果を点数化することができる。なお、ここでは消費電力を制御結果として使用している例を示しているが、速度、加速度と消費電力の関係から、速度、加速度の結果を用いて消費電力に対しての報酬情報を設定してもよい。
本実施形態では、境界値の数を固定としているが、必要に応じて可変してもよい。また本実施形態では、点数を境界値により決定しているが、位置精度E、駆動速度V、駆動加速度A、および消費電力Pを点数に変換する変換関数を用いて点数化してもよい。この場合、報酬情報として、境界値ではなく、変換関数およびその係数が報酬情報として設定される。
<機器制約報酬情報、ユーザ要望報酬情報、およびユーザ要望報酬変換情報>
次に、図9を参照して、機器制約報酬情報およびユーザ要望報酬情報について説明する。図9は、機器制約報酬情報およびユーザ要望報酬情報のデータ構造の説明図である。機器制約報酬情報は、位置精度報酬情報REb、速度報酬情報RVb、加速度報酬情報RAb、および消費電力報酬情報RPbで構成されている。ユーザ要望報酬情報は、位置精度報酬情報REu、速度報酬情報RVu、加速度報酬情報RAu、および消費電力報酬情報RPuで構成されている。位置精度報酬情報REbおよび位置精度報酬情報REuは、図8(a2)に示される位置精度報酬情報REと同じデータ構造である。速度報酬情報RVbおよび速度報酬情報RVuは、図8(b2)に示される速度報酬情報RVと同じデータ構造である。加速度報酬情報RAbおよび加速度報酬情報RAuは、図8(c2)に示される加速度報酬情報RAと同じデータ構造である。消費電力報酬情報RPbおよび消費電力報酬情報RPuは、図8(d2)に示される消費電力報酬情報RPと同じデータ構造である。
次に、図9を参照して、機器制約報酬情報およびユーザ要望報酬情報について説明する。図9は、機器制約報酬情報およびユーザ要望報酬情報のデータ構造の説明図である。機器制約報酬情報は、位置精度報酬情報REb、速度報酬情報RVb、加速度報酬情報RAb、および消費電力報酬情報RPbで構成されている。ユーザ要望報酬情報は、位置精度報酬情報REu、速度報酬情報RVu、加速度報酬情報RAu、および消費電力報酬情報RPuで構成されている。位置精度報酬情報REbおよび位置精度報酬情報REuは、図8(a2)に示される位置精度報酬情報REと同じデータ構造である。速度報酬情報RVbおよび速度報酬情報RVuは、図8(b2)に示される速度報酬情報RVと同じデータ構造である。加速度報酬情報RAbおよび加速度報酬情報RAuは、図8(c2)に示される加速度報酬情報RAと同じデータ構造である。消費電力報酬情報RPbおよび消費電力報酬情報RPuは、図8(d2)に示される消費電力報酬情報RPと同じデータ構造である。
機器制約報酬情報は、交換レンズ100に固有の報酬情報である。機器制約報酬情報は、交換レンズ100に応じて予め決められた報酬情報が機器制約報酬管理部224に保持されている。ユーザ要望報酬情報は、ユーザ要望に応じて変更可能な報酬情報である。ユーザ要望報酬情報は、ユーザ要望報酬管理部225にて、ユーザ設定により変更されたユーザ要望とユーザ要望報酬変換情報により決定される。報酬管理部223は、機器制約報酬情報とユーザ要望報酬情報とを合わせた情報を報酬情報として管理する。
機器制約報酬情報は、機器として、最低限守るべき制御を規定するための報酬情報であるため、ユーザ要望報酬情報よりも境界値で決定する範囲が広く、期待する目標から逸脱する場合に負の値を含む低い点数が設定される。ユーザ要望報酬情報は、ユーザ設定により可変可能であり、ユーザ設定により変更されたユーザ要望とユーザ要望報酬変換情報により決定される。
NNアルゴリズムの学習には、図8に示されるように、機器制約報酬情報およびユーザ要望報酬情報のそれぞれの報酬情報に基づいて制御結果の点数が決定し、それぞれの点数を加算した点数が最終的な制御結果の点数として決定される。
次に、図10(a)~(c)を参照して、ユーザ設定によりユーザ要望報酬情報を決定する方法について説明する。図10(a)~(c)は、ユーザ要望報酬変換情報のデータ構造の説明図である。
図10(a)は、位置精度ユーザ要望報酬変換情報UREuのデータ構造を示している。位置精度ユーザ要望報酬変換情報UREuは各レベル毎に、境界値、点数が異なる複数の位置精度報酬情報REuで構成されている。
図10(b)は、静音ユーザ要望報酬変換情報URSuのデータ構造を示している。静音ユーザ要望報酬変換情報URSuは、速度ユーザ要望報酬変換情報URVu、加速度ユーザ要望報酬変換情報URAuで構成されている。速度ユーザ要望報酬変換情報URVu、加速度ユーザ要望報酬変換情報URAuはレベル毎に、境界値、点数が異なる複数の速度報酬情報RVu、加速度報酬情報RAuで構成されている。
図10(c)は、消費電力ユーザ要望報酬変換情報URPuのデータ構造を示している。消費電力ユーザ要望報酬変換情報URPuは各レベル毎に、境界値、点数が異なる複数の消費電力報酬情報RPuで構成されている。
位置精度ユーザ要望報酬変換情報UREu、静音ユーザ要望報酬変換情報URSu、消費電力ユーザ要望報酬変換情報URPuはレベル1、レベル2、レベル3の順にユーザ要望が高くなるように境界値、点数の値が決定されている。具体的にはレベル1は、他に比べ、境界値が各項目の目標に近い値となっている。また点数については高い点数となっている。
図1に示される操作部206によりユーザが設定した位置精度、静音、および消費電力の各レベル情報は、制御部211を介して、ユーザ要望報酬管理部225に伝達される。ユーザ要望報酬管理部225は、自身が保持している図10(a)~(c)に示されるユーザ要望報酬変換情報から、ユーザが設定した位置精度、静音、消費電力の各レベル情報に基づきユーザ要望報酬情報を決定する。
以上のように、ユーザ設定により変更されたユーザ要望とユーザ要望報酬情報を元にNNアルゴリズムの学習が実施され、ユーザ設定に応じて最適な制御が行えるNNアルゴリズムが生成される。生成されたNNアルゴリズムは、カメラ本体200から交換レンズ100に送られ、NNデータ記憶部123で記憶され、フォーカス駆動制御に使用される。
<フォーカス以外の例>
なお本実施形態では、光学部材としてのフォーカスレンズを駆動対象としたフォーカス制御を説明したが、これに限定されるものではなく、ズーム、IS、絞りなどの他の光学部材にも適用可能である。静音、消費電力については、光学部材をアクチュエータにより駆動する場合は共通の課題を有している。位置精度においては、ズームにおいては、画角変化における被写体の拡大変化量の関係により要求される位置精度が決定される。またズームレンズ駆動量と画角変化量との関係においても位置精度が決定される。ISにおいては、焦点距離と映像のシフト量の関係の情報から、位置精度が決定される。絞りにおいては、絞り駆動量と映像の輝度変化量の関係から位置精度が決定される。
なお本実施形態では、光学部材としてのフォーカスレンズを駆動対象としたフォーカス制御を説明したが、これに限定されるものではなく、ズーム、IS、絞りなどの他の光学部材にも適用可能である。静音、消費電力については、光学部材をアクチュエータにより駆動する場合は共通の課題を有している。位置精度においては、ズームにおいては、画角変化における被写体の拡大変化量の関係により要求される位置精度が決定される。またズームレンズ駆動量と画角変化量との関係においても位置精度が決定される。ISにおいては、焦点距離と映像のシフト量の関係の情報から、位置精度が決定される。絞りにおいては、絞り駆動量と映像の輝度変化量の関係から位置精度が決定される。
<他のレンズ装置情報>
また、レンズ装置情報として、フォーカス敏感度、焦点深度、モータ電流を例に説明したが、姿勢差、温度、周囲音量も有用である。姿勢差については、レンズ、絞りを駆動するときの重力の影響が変化するため、姿勢差に応じてモータに必要な駆動トルクも変化する。温度については、レンズ、絞りの駆動連結部に使用される潤滑油の特性が変化するため、温度に応じてモータに必要な駆動トルクも変化する。周囲音量については、モータの駆動音を抑える為に、レンズ、絞り駆動速度を制限している場合においても、モータの駆動音が周囲音量に対して小さい範囲であれば、駆動速度の制限を外しても撮像画像に影響しない。従って、周囲音量に応じて、駆動速度の最高速制限を変化させる制御が有用となる。
また、レンズ装置情報として、フォーカス敏感度、焦点深度、モータ電流を例に説明したが、姿勢差、温度、周囲音量も有用である。姿勢差については、レンズ、絞りを駆動するときの重力の影響が変化するため、姿勢差に応じてモータに必要な駆動トルクも変化する。温度については、レンズ、絞りの駆動連結部に使用される潤滑油の特性が変化するため、温度に応じてモータに必要な駆動トルクも変化する。周囲音量については、モータの駆動音を抑える為に、レンズ、絞り駆動速度を制限している場合においても、モータの駆動音が周囲音量に対して小さい範囲であれば、駆動速度の制限を外しても撮像画像に影響しない。従って、周囲音量に応じて、駆動速度の最高速制限を変化させる制御が有用となる。
〔実施形態2〕
次に、図11を参照して、本発明の実施形態2における撮像システム(カメラシステム)10aの構成について説明する。図11は、撮像システム10aのブロック図である。撮像システム10aは、交換レンズ100aとカメラ本体200aとを備えて構成される。
次に、図11を参照して、本発明の実施形態2における撮像システム(カメラシステム)10aの構成について説明する。図11は、撮像システム10aのブロック図である。撮像システム10aは、交換レンズ100aとカメラ本体200aとを備えて構成される。
実施形態1では、機械学習が実行されるとき、機械学習部221は、フォーカスレンズ101に駆動指令を送信する。このときの駆動指令は、学習用に予め決められた開始位置から停止位置まで特定の駆動パターンを保持し、保持している駆動パターンに従い駆動指令を行う。またはAF(オートフォーカス)制御を実行し、フォーカスレンズ101の駆動指令を行う方法でもよかった。すなわちフォーカスレンズ101は、機械学習時に機械学習部221により自動的に駆動される。
一方、本実施形態では、ユーザがズームデマンドなどの操作部材を用いてズームレンズ102を駆動させているときにバックグラウンドで機械学習部221が機械学習を実行する。すなわち、ユーザが手動でズームレンズ102を駆動しているときに機械学習部221が機械学習を行う。また、レンズ装置情報と、機械学習実行判定部213が機械学習の実行判定に使用する情報も実施形態1とは異なっており、制御対象もズームレンズ102としている。なお本実施形態において、実施形態1と同一の構成については共通の記号を付与し、その説明は省略する。
温度検出部1101は、ズームレンズ102の温度を検出する。姿勢差検出部1102は、交換レンズ100aの水平面に対する角度(姿勢角、姿勢)を検出する。NN制御部1103は、ズームレンズ102の位置を制御する。NN制御部1103は、内部にNNアルゴリズムを実装しており、機械学習パラメータを用いてNNアルゴリズムにより駆動指令を決定する。動作ログ管理部1104は、ズームレンズ102の駆動制御に関係する動作ログ情報を管理する。
<レンズ装置情報>
次に、実施形態1とは異なるレンズ装置情報について説明する。レンズ装置情報は、ズームレンズ制御において、撮像画像が受ける影響を示す情報である。ズームレンズ制御における要求事項をバランスよく制御するには、実施形態1のフォーカスレンズ制御と同様に、位置精度、速度を決めるためのレンズ装置情報に基づいてズームレンズ制御を行う必要がある。レンズ装置情報は、レンズ装置情報決定部122により決定される。レンズ装置情報決定部122は、例えば、ズームレンズ102の移動速度や交換レンズ100aの姿勢角、ズームレンズ102の温度である。
次に、実施形態1とは異なるレンズ装置情報について説明する。レンズ装置情報は、ズームレンズ制御において、撮像画像が受ける影響を示す情報である。ズームレンズ制御における要求事項をバランスよく制御するには、実施形態1のフォーカスレンズ制御と同様に、位置精度、速度を決めるためのレンズ装置情報に基づいてズームレンズ制御を行う必要がある。レンズ装置情報は、レンズ装置情報決定部122により決定される。レンズ装置情報決定部122は、例えば、ズームレンズ102の移動速度や交換レンズ100aの姿勢角、ズームレンズ102の温度である。
移動速度については、レンズの移動速度が変化すると駆動トルクが変化するため、速度に応じてモータに必要な駆動トルクも変化する。姿勢角については、レンズを駆動するときの重力の影響が変化するため、姿勢角に応じてモータに必要な駆動トルクも変化する。また温度については、レンズの駆動連結部に使用される潤滑油の特性が変化するため、温度に応じてモータに必要な駆動トルクも変化する。これらのレンズ装置情報をもとに、ズームレンズ制御を行うことで、ズームレンズ制御で撮像画像が受ける影響を加味して、それぞれの要求事項をバランスよく制御することができる。
<ウエイトの製造方法>
次に、実施形態1とは異なるウエイトの製造方法について説明する。ユーザがズームデマンドなどの操作部材を用いて、ズームレンズ102の駆動操作を行っているときに、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、機械学習を実行するか否かを判定し、実行する場合は機械学習実施の指令を機械学習部221に伝える。機械学習部221は機械学習実施の指令を受けると、機械学習を開始する。
次に、実施形態1とは異なるウエイトの製造方法について説明する。ユーザがズームデマンドなどの操作部材を用いて、ズームレンズ102の駆動操作を行っているときに、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、機械学習を実行するか否かを判定し、実行する場合は機械学習実施の指令を機械学習部221に伝える。機械学習部221は機械学習実施の指令を受けると、機械学習を開始する。
次に、図12を参照して、本実施形態における機械学習の流れを説明する。図12は、機械学習のフローチャートである。ここでは、駆動速度x[cm/s]かつ姿勢角y[°]の場合のズームレンズ102の駆動特性をユーザが改善させたいために機械学習を実施させるものとする。
まずステップS201において、ユーザは、操作部206を用いて機械学習実行判定部213が行う機械学習の実行判定の条件(機械学習を実行するか否かを判定するための条件)を設定する。ここで、ユーザは駆動速度x[cm/s]かつ姿勢角y[°]の場合に機械学習を実施させるように設定する。なお、ここでは駆動速度x[cm/s]と姿勢角y[°]のみを設定したが、それぞれの許容範囲を設定してもよい。
続いてステップS202において、ユーザはズームデマンドなどの操作部材を用いてズームレンズ102の駆動操作を開始し、ズームレンズ102はズームレンズ駆動部107によって駆動する。このとき、ズームデマンドは制御部125を介してNN制御部1103に対してズームレンズ102の駆動指示を行う。NN制御部1103は、NNデータ記憶部123に保持されたウエイトの初期値に基づいて、ズームレンズ102の駆動制御を行う。
続いてステップS203において、機械学習実行判定部213は、ズームレンズ検出部108により検出されたズームレンズ102の駆動速度を取得する。続いてステップS204において、機械学習実行判定部213は、姿勢差検出部1102により検出された交換レンズ100aの姿勢角を取得する。
続いてステップS205において、機械学習実行判定部213は、ステップS203とステップS204にて取得したズームレンズ102の駆動速度と交換レンズ100aの姿勢角を判定する。すなわち機械学習実行判定部213は、ステップS201にて設定された駆動速度x[cm/s]とステップS203にて取得したズームレンズ102の駆動速度とが等しい(略一致する)か否かを判定する。また機械学習実行判定部213は、ステップS201にて設定された姿勢角y[°]とステップS204にて取得した交換レンズ100aの姿勢角とが等しい(略一致する)か否かを判定する。設定された駆動速度と取得した駆動速度とが等しく、かつ設定された姿勢角と取得した姿勢角とが等しい場合、機械学習実行判定部213は、機械学習を実行すると判定し、ステップS206に遷移する。一方、前述の条件を満たさない場合、機械学習実行判定部213は、機械学習を実行しないと判定し、本フローを終了する。なお、機械学習実行判定部213が行う実行判定の詳細については、後述する。
続いてステップS206において、機械学習部221は、制御部211へウエイトの初期値を出力する。制御部211は、機械学習部221からウエイトの初期値を受け取ると、通信部212を介して交換レンズ100へウエイトの初期値を送信する。交換レンズ100は、通信部126にてウエイトの初期値を受信すると、受信したウエイトの初期値を、制御部125を介してNNデータ記憶部123に設定する。
続いてステップS207において、機械学習部221は、制御部211へ、ズームレンズ102の動作ログ情報の取得要求を行う。制御部211は、機械学習部221からズームレンズ102の動作ログ情報の取得要求を受けると、通信部212から交換レンズ100へズームレンズ102の動作ログ情報の取得要求を行う。交換レンズ100は、通信部126にてズームレンズ102の駆動指令を受信すると、動作ログ管理部124に対して動作ログ情報の出力要求を行う。動作ログ管理部124は動作ログ情報の出力要求を受けると、ズームレンズ102の駆動時における動作ログ情報を制御部125および通信部126を介してカメラ本体200に送信する。
続いてステップS208において、機械学習部221は、報酬管理部223が保持する報酬情報、および動作ログ保持部222が保持する動作ログ情報に基づいて、NNアルゴリズムの制御結果を点数化する。続いてステップS203において、機械学習部221は、NNアルゴリズム制御結果の累計点数が最大化されるようにウエイトを更新する。ウエイトの更新には、誤差逆伝搬法(Backpropagation)を使用するが、本実施形態はこれに限定されるものではない。生成されたウエイトは、ステップS206と同様の手順でNNデータ記憶部123に設定される。
続いてステップS210において、機械学習部221は、ウエイトの学習が完了したか否かを判定する。学習完了は、学習(ウエイトの更新)の反復回数が規定値に達したか、または、更新時の動作ログ情報中の累計点数の変化量が規定値より小さいかなどにより判定することができる。機械学習部221は、学習未完と判定した場合、ステップS203へ戻り、再び、駆動速度および姿勢角を取得し、機械学習実行判定部213による機械学習実行判定を実施する。一方、機械学習部221は、学習完了と判定した場合、機械学習を終了させる。
機械学習の具体的なアルゴリズムとしては、本実施形態のように、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)が挙げられる。また、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシンなどが挙げられる。適宜、前述のアルゴリズムのうち利用可能なアルゴリズムを用いて本実施形態に適用することができる。
GPUはデータをより多く並列処理することで効率的な演算を行うことができるため、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合にはGPUで処理を行うことが有効である。そこで、機械学習部221による処理には、CPUに加えてGPUを用いてもよい。具体的には、学習モデルを含む学習プログラムを実行する場合に、CPUとGPUが協働して演算を行うことで学習を行う。なお、機械学習部221の処理はCPUまたはGPUのみにより演算が行われてもよい。
<機械学習の実行判定の方法>
本実施形態では、機械学習実行判定部213が用いる機械学習実行判定情報がズームレンズ102の駆動速度および交換レンズ100aの姿勢角である場合のウエイトの製造方法について説明したが、これに限定されるものではない。
本実施形態では、機械学習実行判定部213が用いる機械学習実行判定情報がズームレンズ102の駆動速度および交換レンズ100aの姿勢角である場合のウエイトの製造方法について説明したが、これに限定されるものではない。
ユーザがズームデマンドなどの操作部材を用いて駆動操作を行っているとき、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、制御部125から入力された機械学習実施の指令のほかに、機械学習実行の判定に必要な情報を取得する。これら取得した情報に基づいて、機械学習実行判定部213は機械学習を実行するか否かを決定し、その結果を機械学習部221へ伝える。ここでは、機械学習実行の判定に必要な情報毎に機械学習実行判定部213が行う判定について詳細を記述する。
(撮像モードによる機械学習の実行・停止)
機械学習実行判定部213は、カメラマイコン210から撮像モードを取得する。撮像モードは例えば、動画撮像中・静止画撮像中・撮像停止中であり、カメラ本体200aが現在、撮像を行っているか否かを示す。機械学習実行判定部213は、撮像モードが動画撮像中・静止画撮像中の場合は機械学習実行不可と判定し、撮像停止中の場合は機械学習実行可能と判定する。以上のように、撮像中にズームレンズ102の駆動制御にかかわる機械学習が実行され、駆動特性が変化してしまうことを回避することがえきる。
機械学習実行判定部213は、カメラマイコン210から撮像モードを取得する。撮像モードは例えば、動画撮像中・静止画撮像中・撮像停止中であり、カメラ本体200aが現在、撮像を行っているか否かを示す。機械学習実行判定部213は、撮像モードが動画撮像中・静止画撮像中の場合は機械学習実行不可と判定し、撮像停止中の場合は機械学習実行可能と判定する。以上のように、撮像中にズームレンズ102の駆動制御にかかわる機械学習が実行され、駆動特性が変化してしまうことを回避することがえきる。
(電力情報による機械学習の実行・停止)
機械学習実行判定部213は、カメラ本体200aがバッテリ駆動しているか、電源駆動しているかの情報を取得する。機械学習実行判定部213は、カメラ本体200aがバッテリ駆動している場合は機械学習実行不可と判定し、電源駆動している場合は機械学習実行可能と判定する。以上のように、カメラ本体200aの電力供給に余裕があるときのみ機械学習を実行することができる。なお、ここではカメラ本体200aの電力情報を機械学習実行判定に用いたが、交換レンズ100aの電力情報を機械学習実行判定に用いてもよい。
機械学習実行判定部213は、カメラ本体200aがバッテリ駆動しているか、電源駆動しているかの情報を取得する。機械学習実行判定部213は、カメラ本体200aがバッテリ駆動している場合は機械学習実行不可と判定し、電源駆動している場合は機械学習実行可能と判定する。以上のように、カメラ本体200aの電力供給に余裕があるときのみ機械学習を実行することができる。なお、ここではカメラ本体200aの電力情報を機械学習実行判定に用いたが、交換レンズ100aの電力情報を機械学習実行判定に用いてもよい。
(レンズ位置による機械学習の実行・停止)
機械学習実行判定部213は、ズームレンズ検出部108からズームレンズ位置χを取得する。機械学習実行判定部213は、機械学習を実施したいレンズ位置がα、許容範囲が±dである場合に、ズームレンズ位置χが、(α+d)>χ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したいレンズ位置αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある位置だけの駆動特性をユーザが改善させたい場合に、あるレンズ位置範囲のみで機械学習を実行することができる。また、機械学習を実施したいレンズ位置αはひとつの値だけではなく、複数の値でもよい。
機械学習実行判定部213は、ズームレンズ検出部108からズームレンズ位置χを取得する。機械学習実行判定部213は、機械学習を実施したいレンズ位置がα、許容範囲が±dである場合に、ズームレンズ位置χが、(α+d)>χ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したいレンズ位置αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある位置だけの駆動特性をユーザが改善させたい場合に、あるレンズ位置範囲のみで機械学習を実行することができる。また、機械学習を実施したいレンズ位置αはひとつの値だけではなく、複数の値でもよい。
(駆動速度による機械学習の実行・停止)
機械学習実行判定部213は、NN制御部121からズームレンズ駆動部107へ出力されたズームレンズ駆動速度命令νを取得する。機械学習実行判定部213は、機械学習を実施したい駆動速度がα、許容範囲が±dである場合に、ズームレンズ駆動速度命令νが、(α+d)>ν>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい駆動速度αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある速度だけの駆動特性をユーザが改善させたいときに、ある駆動速度範囲のみで機械学習を実行することができる。なお、ここでは、ズームレンズ駆動速度命令を機械学習実行判定部213での機械学習の実行判定に使用したが、これに限定されるものではない。例えば、ズームレンズ検出部108で検出されたズームレンズ駆動速度を使用してもよい。また、機械学習を実施したい駆動速度αはひとつの値だけではなく、複数の値でもよい。
機械学習実行判定部213は、NN制御部121からズームレンズ駆動部107へ出力されたズームレンズ駆動速度命令νを取得する。機械学習実行判定部213は、機械学習を実施したい駆動速度がα、許容範囲が±dである場合に、ズームレンズ駆動速度命令νが、(α+d)>ν>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい駆動速度αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある速度だけの駆動特性をユーザが改善させたいときに、ある駆動速度範囲のみで機械学習を実行することができる。なお、ここでは、ズームレンズ駆動速度命令を機械学習実行判定部213での機械学習の実行判定に使用したが、これに限定されるものではない。例えば、ズームレンズ検出部108で検出されたズームレンズ駆動速度を使用してもよい。また、機械学習を実施したい駆動速度αはひとつの値だけではなく、複数の値でもよい。
(温度条件による機械学習の実行・停止)
機械学習実行判定部213は、温度検出部1101からズームレンズ102の温度情報τを取得する。機械学習実行判定部213は、機械学習を実施したい温度がα、許容範囲が±dである場合に、温度情報τが、(α+d)>τ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい温度αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある温度だけの駆動特性をユーザが改善させたいときに、ある温度範囲のみで機械学習を実行することができる。機械学習を実施したい温度αは一つの値だけではなく、複数の値でもよい。
機械学習実行判定部213は、温度検出部1101からズームレンズ102の温度情報τを取得する。機械学習実行判定部213は、機械学習を実施したい温度がα、許容範囲が±dである場合に、温度情報τが、(α+d)>τ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい温度αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある温度だけの駆動特性をユーザが改善させたいときに、ある温度範囲のみで機械学習を実行することができる。機械学習を実施したい温度αは一つの値だけではなく、複数の値でもよい。
(姿勢差条件による機械学習の実行・停止)
機械学習実行判定部213は、姿勢差検出部1102から交換レンズ100の姿勢角情報θを取得する。機械学習実行判定部213は、機械学習を実施したい姿勢角がα、許容範囲が±dである場合に、姿勢角情報θが、(α+d)>θ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい姿勢角αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある姿勢角だけの駆動特性をユーザが改善させたいときに、ある姿勢角範囲のみで機械学習を実行することができる。機械学習を実施したい姿勢角αは一つの値だけではなく、複数の値でもよい。
機械学習実行判定部213は、姿勢差検出部1102から交換レンズ100の姿勢角情報θを取得する。機械学習実行判定部213は、機械学習を実施したい姿勢角がα、許容範囲が±dである場合に、姿勢角情報θが、(α+d)>θ>(α-d)の範囲内に収まっているときにのみ機械学習実行可能と判定する。また、ユーザは操作部206を用いて、機械学習を実施したい姿勢角αと許容範囲±dを自由に設定することができる。以上のように、ズームレンズ102のある姿勢角だけの駆動特性をユーザが改善させたいときに、ある姿勢角範囲のみで機械学習を実行することができる。機械学習を実施したい姿勢角αは一つの値だけではなく、複数の値でもよい。
本実施形態において、レンズ位置、駆動速度、温度条件、および姿勢差条件による機械学習の実行・停止は、それぞれの条件を組み合わせて実行・停止判定を行うこともできる。例えば、レンズ位置が特定の値かつ駆動速度が特定の値であるときのみに機械学習を行うことや、前項で述べたように駆動速度が特定の値かつ姿勢差条件が特定の値であるときのみに機械学習を行うこともできる。
<フォーカス以外の例>
なお本実施形態では、ズームレンズ102を駆動対象としたズーム制御を説明したが、フォーカス、IS、または絞りなどの他の光学部材の制御にも適用可能である。
〔実施形態3〕
次に、図13を参照して、本発明の実施形態3における撮像システム(カメラシステム)10bの構成について説明する。図13は、撮像システム10bのブロック図である。撮像システム10bは、交換レンズ100bとカメラ本体200bとを備えて構成される。
なお本実施形態では、ズームレンズ102を駆動対象としたズーム制御を説明したが、フォーカス、IS、または絞りなどの他の光学部材の制御にも適用可能である。
〔実施形態3〕
次に、図13を参照して、本発明の実施形態3における撮像システム(カメラシステム)10bの構成について説明する。図13は、撮像システム10bのブロック図である。撮像システム10bは、交換レンズ100bとカメラ本体200bとを備えて構成される。
本実施形態は、機械学習実行判定部213が機械学習の実行判定に使用する情報として撮像画像に基づいて生成された情報を用いる点で、実施形態1および実施形態2と異なる。すなわち本実施形態において、実施形態1との差は、機械学習実行判定情報に撮像情報が使われる点である。以下、実施形態1との差について説明する。なお本実施形態において、実施形態1および実施形態2と同一の構成については共通の記号を付与し、その説明は省略する。
撮影情報決定部1201は、被写体情報や撮像情報の輝度情報などを機械学習実行判定部213が判定可能な形に情報を変換し、決定する。
<撮像情報>
撮像情報は、カメラ本体200bが撮像した画像から得られる情報である。本実施形態では、実施形態1および実施形態2のレンズ装置情報に加え、撮像情報を用いることで、更に機械学習実行判定部213がユーザにとって最適な機械学習の実行判定を行うことができる。撮像情報は、信号処理回路203で得られた画像を制御部211にて解析した値である。撮像情報は、例えば、カメラ本体200bにて検出した被写体情報、撮像情報の輝度情報などである。撮像情報決定部1201は、被写体情報や撮像情報の輝度情報などを機械学習実行判定部213が判定可能な形に情報を変換、決定する。撮像情報を用いることで、機械学習実行判定部213がより適切な機械学習の実行判定を行うことができる。
撮像情報は、カメラ本体200bが撮像した画像から得られる情報である。本実施形態では、実施形態1および実施形態2のレンズ装置情報に加え、撮像情報を用いることで、更に機械学習実行判定部213がユーザにとって最適な機械学習の実行判定を行うことができる。撮像情報は、信号処理回路203で得られた画像を制御部211にて解析した値である。撮像情報は、例えば、カメラ本体200bにて検出した被写体情報、撮像情報の輝度情報などである。撮像情報決定部1201は、被写体情報や撮像情報の輝度情報などを機械学習実行判定部213が判定可能な形に情報を変換、決定する。撮像情報を用いることで、機械学習実行判定部213がより適切な機械学習の実行判定を行うことができる。
<機械学習の実行判定の方法>
ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、制御部125から入力された機械学習実施の指令の他に、機械学習実行の判定に必要な情報を取得する。これら取得した情報に基づいて、機械学習実行判定部213は機械学習を実行するか否かを決定し、その結果を機械学習部221へ伝える。ここでは、撮像情報に基づいて機械学習実行判定部213が行う判定について詳述する。
ユーザが操作部206から機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習実行判定部213に伝えられる。機械学習実行判定部213は、制御部125から入力された機械学習実施の指令の他に、機械学習実行の判定に必要な情報を取得する。これら取得した情報に基づいて、機械学習実行判定部213は機械学習を実行するか否かを決定し、その結果を機械学習部221へ伝える。ここでは、撮像情報に基づいて機械学習実行判定部213が行う判定について詳述する。
(撮像情報による機械学習の実行・停止)
機械学習実行判定部213は、撮像情報決定部1127から撮像情報を取得する。撮像情報は例えば被写体情報であり、カメラ本体200が現在、どのような映像を撮像しているのか、という情報を示す。機械学習実行判定部213は、撮像情報に基づいて機械学習を実行するか否かを判定する。機械学習実行判定部213の判定基準は、ユーザが操作部206を用いて、自由に設定することができる。
機械学習実行判定部213は、撮像情報決定部1127から撮像情報を取得する。撮像情報は例えば被写体情報であり、カメラ本体200が現在、どのような映像を撮像しているのか、という情報を示す。機械学習実行判定部213は、撮像情報に基づいて機械学習を実行するか否かを判定する。機械学習実行判定部213の判定基準は、ユーザが操作部206を用いて、自由に設定することができる。
ここで、図14を参照して、ユーザが設定できる機械学習実行判定部213の判定基準の例について説明する。図14は、機械学習の実行判定の説明図である。
図14(a1)は静止した被写体を示し、図14(a2)には動いている被写体を示している。ここで、ユーザは操作部206を用いて、機械学習実行判定部213に「被写体が動いているときに機械学習を実行する」という判定基準を設定したとする。
交換レンズ100bから入射した光は撮像素子201で映像電気信号に変換され、A/D変換回路202と信号処理回路203を介して制御部211に至る。制御部211では、フレーム毎の映像信号から動きベクトルを算出する。例えば、被写体が図14(a1)である場合は動きベクトルの大きさは0である。一方、被写体が図14(a2)である場合は動きベクトルの大きさはA(A>0とする)である。撮像情報決定部1201は、この動きベクトルを制御部1125から受け取り、機械学習実行判定に適した形に変換し、決定する。撮像情報決定部1201は制御部1125から受け取った機械学習実行判定情報に基づいて、機械学習の実行判定を行う。ここでは、「被写体が動いているときに機械学習を実行する」という判定基準であるため、被写体が動きベクトルを検出することができた図14(a2)の場合は機械学習を実行し、検出することができなかった図14(a1)の場合は機械学習を実行しない。
次に、ユーザが機械学習実行判定部213に「被写体の輝度が一定以上のときのみ機械学習を実行する」という判定基準を設定したとする。図14(b1)は輝度がある値以上の被写体を示し、図14(b2)は輝度がある値以下の被写体を示している。制御部1125では、映像信号から被写体を検出し、ピクセル毎の輝度情報を算出する。撮像情報決定部1127は、この輝度情報を制御部1125から受け取り、機械学習実行判定に適した形に変換、決定する。撮像情報決定部1201は制御部1125から受け取った機械学習実行判定情報に基づいて、機械学習の実行判定を行う。ここでは、「被写体の輝度が一定以上のときのみ機械学習を実行する」という判定基準であるため、被写体の輝度がある値以上である図14(b1)の場合は機械学習を実行し、ある値以下である図14(b2)の場合は機械学習を実行しない。
<フォーカス以外の例>
なお本実施形態では、実施形態1と同様に、フォーカスレンズ101を駆動対象としたフォーカス制御を説明したが、ズーム、IS、または絞りなどの他の光学部材の制御にも適用可能である。静音、消費電力については、光学部材をアクチュエータにより駆動する場合は共通の課題を有している。位置精度においては、ズームにおいては、画角変化における被写体の拡大変化量の関係により要求される位置精度が決定される。またズームレンズ駆動量と画角変化量との関係においても位置精度が決定される。ISにおいては、焦点距離と映像のシフト量の関係の情報から、位置精度が決定される。絞りにおいては、絞り駆動量と映像の輝度変化量の関係から位置精度が決定される。
なお本実施形態では、実施形態1と同様に、フォーカスレンズ101を駆動対象としたフォーカス制御を説明したが、ズーム、IS、または絞りなどの他の光学部材の制御にも適用可能である。静音、消費電力については、光学部材をアクチュエータにより駆動する場合は共通の課題を有している。位置精度においては、ズームにおいては、画角変化における被写体の拡大変化量の関係により要求される位置精度が決定される。またズームレンズ駆動量と画角変化量との関係においても位置精度が決定される。ISにおいては、焦点距離と映像のシフト量の関係の情報から、位置精度が決定される。絞りにおいては、絞り駆動量と映像の輝度変化量の関係から位置精度が決定される。
以上のように、実施形態1では、機械学習部221が駆動指令を送信する機械学習において、機械学習実行判定部213が行う機械学習の実行判定の例を説明した。実施形態2では、ユーザが駆動指令を送信し、バックグラウンドで実施される機械学習において、機械学習実行判定部213が行う機械学習の実行判定の例を説明した。実施形態3では、実施形態1で機械学習実行判定部213が行っていた判定に映像情報(撮像情報)を用いる例を説明した。
各実施形態において、制御装置(カメラマイコン210)は、判断部(機械学習実行判定部213)および制御部211を有する。判断部は、機械学習を実行するかを判断する。制御部は、機械学習により得られた学習済モデルに基づいて(すなわち、学習済モデルの重み値を有する機械学習モデルからの出力に基づいて)、光学部材の駆動を制御する。なお判断部は、カメラマイコン210に代えて、学習プロセッサ220に設けられていてもよい。
好ましくは、判断部は、光学部材を含むレンズ装置(交換レンズ100、100a)の消費電力、レンズ装置の動作状態、レンズ装置の姿勢、またはレンズ装置の温度に関する情報に基づいて、機械学習を実行するかを判断する。また好ましくは、判断部は、レンズ装置に接続されたアクセサリ、光学部材を駆動するアクチュエータの動作状態、または光学部材の駆動状態に関する情報に基づいて、機械学習を実行するかを判断する。
好ましくは、判断部は、ユーザにより設定された条件(判定条件)に基づいて、機械学習を実行するかを判断する。また好ましくは、判断部は、ユーザによる指示に基づいて、機械学習を実行するかを判断する。また好ましくは、判断部は、レンズ装置がバッテリから電源を供給されている場合、記機械学習を実行しないと判断する。また好ましくは、判断部は、レンズ装置が撮像に使用されている場合、機械学習を実行しないと判断する。また好ましくは、判断部は、レンズ装置と通信可能な操作装置が接続されている場合、機械学習を実行しないと判断する。
好ましくは、判断部は、機械学習の実行中に機械学習を停止するかを判断する。また好ましくは、制御部は、判断部による判断結果に関する情報を表示部205に表示させる。
なお各実施形態において、制御装置は撮像装置(カメラ本体200、200a)に設けられているが、これに限定されるものではない。制御装置の機能の少なくとも一つを、レンズ装置に設けてもよい。また、制御装置の機能の少なくとも一つを、撮像装置と無線通信または有線通信で通信可能な遠隔装置に設けてもよい。この場合、撮像装置と制御装置とにより撮像システムが構成される。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施形態によれば、例えば、機械学習に有利な制御装置、撮像装置、レンズ装置、制御方法、およびプログラムを提供することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
210…カメラマイコン(制御装置)
211 制御部
213 機械学習実行判定部(判断部)
211 制御部
213 機械学習実行判定部(判断部)
Claims (14)
- 機械学習を実行するかを判断する判断部と、
前記機械学習により得られた学習済モデルに基づいて、光学部材の駆動を制御する制御部とを有することを特徴とする制御装置。 - 前記判断部は、前記光学部材を含むレンズ装置の消費電力、前記レンズ装置の動作状態、前記レンズ装置の姿勢、前記レンズ装置の温度、前記レンズ装置に接続されたアクセサリ、前記光学部材を駆動するアクチュエータの動作状態、前記光学部材の駆動状態のうち少なくとも一つに関する情報に基づいて、前記機械学習を実行するかを判断することを特徴とする請求項1に記載の制御装置。
- 前記判断部は、ユーザにより設定された条件に基づいて、前記機械学習を実行するかを判断することを特徴とする請求項1または2に記載の制御装置。
- 前記判断部は、ユーザによる指示に基づいて、前記機械学習を実行するかを判断することを特徴とする請求項1乃至3のいずれか一項に記載の制御装置。
- 前記判断部は、前記レンズ装置がバッテリから電源を供給されている場合、前記機械学習を実行しないと判断することを特徴とする請求項2に記載の制御装置。
- 前記判断部は、前記レンズ装置が撮像に使用されている場合、前記機械学習を実行しないと判断することを特徴とする請求項2に記載の制御装置。
- 前記判断部は、前記レンズ装置と通信可能な操作装置が接続されている場合、前記機械学習を実行しないと判断することを特徴とする請求項2に記載のレンズ装置。
- 前記判断部は、前記機械学習の実行中に前記機械学習を停止するかを判断することを特徴とする請求項1乃至7のいずれか一項に記載の制御装置。
- 前記制御部は、前記判断部による判断結果に関する情報を表示部に表示させることを特徴とする請求項1乃至8のいずれか一項に記載の制御装置。
- 撮像素子と、
前記撮像素子により撮られる像を形成するための光学部材の駆動を制御する請求項1乃至9のいずれか一項に記載の制御装置とを有することを特徴とする撮像装置。 - 撮像素子を有する撮像部と、
前記撮像部と通信する請求項1乃至9のいずれか一項に記載の制御装置とを有することを特徴とする撮像装置。 - 光学部材と、
前記光学部材の駆動を制御する請求項1乃至9のいずれか一項に記載の制御装置とを有することを特徴とするレンズ装置。 - 機械学習を実行するかを判断するステップと、
前記機械学習により得られた学習済モデルに基づいて、光学部材の駆動を制御するステップとを有することを特徴とする制御方法。 - 請求項13に記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021054242A JP2022151256A (ja) | 2021-03-26 | 2021-03-26 | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021054242A JP2022151256A (ja) | 2021-03-26 | 2021-03-26 | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022151256A true JP2022151256A (ja) | 2022-10-07 |
Family
ID=83465126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021054242A Pending JP2022151256A (ja) | 2021-03-26 | 2021-03-26 | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022151256A (ja) |
-
2021
- 2021-03-26 JP JP2021054242A patent/JP2022151256A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10244170B2 (en) | Image-shake correction apparatus and control method thereof | |
JP5183135B2 (ja) | 交換レンズおよび光学機器 | |
US11762165B2 (en) | Lens apparatus, image pickup apparatus, control method, and computer-readable storage medium | |
JP5948645B2 (ja) | レンズ制御装置およびレンズ制御装置を備えた交換レンズ | |
JP5868109B2 (ja) | 光学機器、レンズ鏡筒および自動焦点調節方法 | |
US20160147040A1 (en) | Optical instrument and control method for lens | |
JP6525813B2 (ja) | 撮像装置、制御方法、プログラム及び記憶媒体 | |
US11843851B2 (en) | Optical apparatus and generating method | |
US11849218B2 (en) | Lens apparatus, image pickup apparatus, camera apparatus, controlling method, and computer-readable storage medium | |
JP2022151256A (ja) | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム | |
JP2022151257A (ja) | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム | |
JP2021136648A (ja) | レンズ装置、撮像装置、処理装置、処理方法、およびプログラム | |
JP2021173820A (ja) | 処理装置、光学装置、撮像装置、処理方法およびプログラム | |
JP6512814B2 (ja) | 制御装置、光学機器、撮像装置、制御方法、プログラム、および、記憶媒体 | |
JP2010278779A (ja) | 撮像装置および撮像装置の制御方法 | |
JP2022006612A (ja) | 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 | |
JP6592289B2 (ja) | 撮像装置及びその制御方法、プログラム、記憶媒体 | |
JP5017195B2 (ja) | 焦点調節装置及び方法 | |
JP6711641B2 (ja) | レンズ駆動装置、撮像装置、その制御方法、および制御プログラム | |
JP2013122565A (ja) | レンズ装置および撮像装置 | |
JP6399851B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
WO2023058347A1 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2020091415A (ja) | レンズ制御装置、及びその制御方法 | |
JP2023129144A (ja) | 制御装置、レンズ装置、撮像装置、制御方法、及びプログラム | |
JP2021071708A (ja) | 防振装置及び方法、及び撮像装置 |