JP2022006612A - 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 - Google Patents
学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 Download PDFInfo
- Publication number
- JP2022006612A JP2022006612A JP2020108950A JP2020108950A JP2022006612A JP 2022006612 A JP2022006612 A JP 2022006612A JP 2020108950 A JP2020108950 A JP 2020108950A JP 2020108950 A JP2020108950 A JP 2020108950A JP 2022006612 A JP2022006612 A JP 2022006612A
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- drive
- learning
- unit
- control unit
- 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
- 230000013016 learning Effects 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims description 47
- 238000003384 imaging method Methods 0.000 title claims description 13
- 238000004519 manufacturing process Methods 0.000 title claims description 8
- 238000010801 machine learning Methods 0.000 claims abstract description 169
- 230000003287 optical effect Effects 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims abstract description 13
- 238000012937 correction Methods 0.000 claims description 19
- 230000020169 heat generation Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 39
- 238000007726 management method Methods 0.000 description 32
- 230000001133 acceleration Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 26
- 238000001514 detection method Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000004381 surface treatment Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Landscapes
- Lens Barrels (AREA)
- Camera Bodies And Camera Details Or Accessories (AREA)
- Studio Devices (AREA)
Abstract
【課題】例えば、省資源の点で有利な学習装置を提供する。【解決手段】光学部材(103)の駆動を制御する制御部(210、220)を有する学習装置(200)であって、制御部(210、220)は、光学部材(103)の駆動に関する機械学習を行う機能を有し、制御部(210、220)は、機械学習に関する許容条件が満たされる場合に機械学習を行う。【選択図】図6
Description
本発明は、学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法に関する。
従来、静止画撮影および動画撮影が可能な撮像装置が知られている。静止画撮影の際には、フォーカスレンズ群、ズームレンズ群、および絞りなどの光学部材を高速に駆動するのが好ましい。一方、動画撮影の際には、当該光学部材を駆動するためのアクチュエータの駆動音が記録されるのは好ましくない。このように、撮像装置においては、光学部材の駆動速度および位置決め精度、消費電力、ならびに駆動音などの種々の性能に対する要求や優先度は、撮影状況に応じて変化しうる。
特許文献1には、実際に撮影されている状況で機械学習を行う機能を有する撮像装置が開示されている。
アクチュエータの制御に対して機械学習を行うには、数百から数千回の学習(アクチュエータの駆動)が必要となりうる。その結果、機器や電池を消耗しうる。
本発明は、例えば、省資源の点で有利な学習装置を提供することを目的とする。
本発明の一側面としての学習装置は、光学部材の駆動を制御する制御部を有する学習装置であって、前記制御部は、前記駆動に関する機械学習を行う機能を有し、前記制御部は、前記機械学習に関する許容条件が満たされる場合に、前記機械学習を行う。
本発明の他の目的及び特徴は、以下の実施例において説明される。
本発明によれば、例えば、省資源の点で有利な学習装置を提供することができる。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。
まず、図1を参照して、本発明の実施例1における機械学習機能付き撮像システム(学習システム)について説明する。図1は、本実施例における撮像システム(カメラシステム)10のブロック図である。
撮像システム10は、カメラ本体(撮像装置または学習装置)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を介して光軸と直交する方向に移動し、手振れ等に起因する像振れを低減する。像振れ補正レンズ104の位置は、像揺れ補正レンズ検出部113により検出される。
フォーカスレンズ駆動部105、ズームレンズ駆動部107、絞り駆動部109、および像振れ補正レンズ駆動部112はそれぞれ、例えば超音波モータなどの振動波モータを備えて構成されている。なお本実施例は、超音波モータを用いているが、これに限定されるものではなく、ボイスコイルモータ、DCモータ、ステッピングモータなどの他のモータを用いてもよい。
フォーカスレンズ検出部106、ズームレンズ検出部108、絞り検出部110、および像揺れ補正レンズ検出部113はそれぞれ、例えばポテンションメータやエンコーダである。また、各駆動部がステッピングモータなど、所定の駆動量をフィードバック無しに駆動できるモータを備えている場合、所定位置を検出する検出手段を設けてもよい。この場合、フォトインタラプタなどの検出センサを設けた所定位置まで光学部材を初期駆動し、初期駆動後にモータ駆動量に基づいて光学部材の位置を特定するように構成してもよい。揺れセンサ111は、レンズ装置100の揺れを検出するセンサであり、例えばジャイロである。
レンズマイコン(レンズマイクロコンピュータ)120は、NN制御部121、レンズ情報決定部122、NNデータ記憶部123、動作ログ管理部124、制御部125、および通信部126を有する。NN制御部121は、絞りユニット103の位置を制御する。NN制御部121は、内部にニューラルネットワーク(以後NN)アルゴリズムが実装され、機械学習パラメータを用いてNNアルゴリズムにより駆動指令を決定する。
レンズ情報決定部122は、NN制御部121で用いられるレンズ装置情報を決定する。NNデータ記憶部123は、ウエイト(機械学習モデル、学習済みモデル)を保持する。動作ログ管理部124は、フォーカスレンズ101や絞りユニット103などの光学部材の駆動制御に関係する動作ログ情報を管理する。制御部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は、ユーザがカメラ本体200を操作するための操作部である。
カメラマイコン210は、カメラ本体200を制御する制御マイコンである。カメラマイコン210は、制御部211および通信部212を有する。制御部211は、信号処理回路203からの画像データおよび操作部206からのユーザの操作情報に基づいて、レンズ装置100への駆動指令を行う。また制御部211は、学習プロセッサ220に対して、指令や情報伝達の制御を行う。通信部212は、レンズ装置100との通信を行う。通信部212は、制御部211からの駆動指令を制御コマンドとして、レンズ装置100へ送信する。また通信部212は、レンズ装置100からの情報の受信も行う。
学習プロセッサ220は、プロセッサ(CPU、GPU)および記憶装置(ROM、RAM、HDD)を備えて構成される。学習プロセッサ220は、機械学習部221、動作ログ保持部222、報酬管理部223、および、機器制約管理部224の機能を有する。学習プロセッサ220の記憶装置は、これらの制御をするためのプログラム、および、動作ログ保持部222が保持している動作ログ情報を記憶している。また記憶装置は、報酬管理部223が管理する報酬情報、機器制約管理部224が管理する機器制約情報などを記憶している。なお、報酬情報および機器制約報酬情報については後述する。
次に、撮像システム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に送信する。フォーカスの駆動指令を受信した制御部125は駆動信号を決定し、フォーカスレンズ駆動部105へ駆動信号を出力する。
以上により、制御部211からの駆動指令に従い、フォーカスレンズ101が駆動される。従って、制御部211は、画像データのコントラストの明暗差が最も大きくなるように、フォーカスレンズ101を動かすことで適切なAF制御を行うことができる。
次に、カメラ本体200がレンズ装置100の絞りユニット103を制御する方法について説明する。制御部211は、信号処理回路203から出力された画像データに基づいて、露出制御を行う。具体的には、制御部211は、画像データの輝度値が所望の値となるように、目標となるF値を決定する。制御部211は、決定したF値を駆動指令として通信部212に出力する。通信部212は、制御部211から駆動指令を受け取ると、F値の駆動指令を制御コマンドに変換し、マウント300の通信接点部を介してレンズ装置100へ送信する。通信部126は、通信部212からの制御コマンドを受信するとF値の駆動指令に変換し、制御部125に出力する。
本実施例の絞り制御は、絞り検出部110としての絞りユニット103のモータ回転角検出センサを用いて、モータ回転角の検出結果に応じてモータ駆動波形を制御する進角制御である。このとき、通信部126は介してF値の駆動指令を受信すると、モータ駆動量に変換してNN制御部121に出力する。NN制御部121は、モータ駆動量を受信すると、NNデータ記憶部123に記憶されている学習済みのウエイトを用いて進角値と駆動電圧を決定し、制御部125に出力する。制御部125はNN制御部121から受信した進角値と駆動電圧を参照し、現在モータを駆動している電気角を用いて駆動波を決定し、絞り駆動部109に駆動信号を出力する。なお、NN制御部121が進角値を決定する方法については、後述する。
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が駆動され、ユーザがズームを操作することができる。
次に、レンズ装置100が防振を行う方法について説明する。制御部125は、揺れセンサ111から出力されたレンズ装置100の揺れ信号に基づいて、レンズ装置100の揺れを打ち消すように、像揺れ補正レンズ目標位置を決定する。制御部125は、像揺れ補正レンズ検出部113が検出した像揺れ補正レンズ位置に基づいて駆動信号を決定し、像振れ補正レンズ駆動部112へ駆動信号を出力する。以上により、防振が正しく制御され、撮像素子201にて撮影された像揺れを防ぐことができる。
絞り制御には、4つの要求事項がある。それは、位置精度、速度(駆動時間)、消費電力、および静音である。それぞれの要求事項をバランスよく制御することが求められる。以下、各要求事項について説明する。
位置精度は、所望の光量を撮像センサ(撮像素子)に届けるために、絞りユニットの絞り羽根をどれだけ正確に駆動できるかを表す指標である。最終的に目標位置に誤差少なく駆動させることに加えて、目標位置到達後の光量変化が少ないことも求められる。目標位置到達後の光量変化は、絞り羽根が揺れることで生じ、モータの減速制御を工夫し、絞り羽根および機構にかかる減速Gを穏やかにすることで改善することが分かっている。
絞り制御では、駆動時間の短縮化が求められる。絞りユニット103を高速で駆動することで、駆動時間を短縮することができる。絞りユニット103の駆動時間が短ければ撮影シーケンスが速やかに進めることが可能となり、その結果、静止画撮影コマ数を向上させることが可能となる。
消費電力は、絞りユニット103を駆動するために消費する電力のことである。消費電力は、絞りユニット103の駆動時間、駆動電圧、および駆動速度に応じて変化する。すなわち駆動時間が長い場合、駆動速度が速い場合などに消費電力が多くなる。一方、消費電力を抑えることでバッテリ容量を有効活用することが可能になり、1回の充電で撮影可能な枚数を増やすことやバッテリの更なる小型化が可能になる。
絞り駆動の際に、振動や摩擦などで駆動音が発生する。駆動音は、駆動速度または駆動加速度変化に応じて変化する。すなわち駆動速度が速いとき、駆動加速度変化が多い場合に駆動音が大きくなる傾向がある。周囲環境が静かな場所での撮影においては、駆動音を不快に感じ、更に動画撮影時は録音も同時に行われるため、撮影映像に不要となる駆動音が収録されてしまう問題が発生する。従って、撮影状況によっては駆動音をできるだけ少なくする静音が要求される。
次に、図2を参照して、絞りユニット103の位置精度と速度、消費電力、静音の関係につい説明する。図2は、絞り制御に要求される位置精度と速度との関係を示す図である。図2(a)、(b)、(c)はそれぞれ、開放からの絞り込みの際の光量変化と駆動波形の時系列変化を表している。各図は駆動波形の条件それぞれ次のように変えている。すなわち図2(a)は高電圧での高速駆動、図2(b)は高電圧での低速駆動、図2(c)は低電圧での低速駆動をそれぞれ示す。
図2(a)に示されるように、高電圧、高速で駆動すると、駆動にかかる時間taは短い時間で済むが、駆動後の光量変化(バウンド)が大きく出る。これは、モータの駆動は停止しているが、その先の駆動機構および絞り羽根のイナーシャによる揺り戻しが発生して、絞り羽根がバタついているためである。羽根の位置決め精度により、絞りユニット103の開口精度が決まるため、絞り羽根の位置決めの精度を位置精度とする。駆動後の光量バウンドについては、露光時間やISO設定の関係も絡みあって、撮影結果への影響度が変わる。例えば露光時間が長い場合においては光量バウンドによる撮影画像内での露出差が目立たない傾向があるが、露光時間が短い場合においては撮影画像内での露出差が目立ちやすい傾向がある。
高電圧高速駆動の図2(a)の条件では、駆動時間が短くなるが、光量バウンドによる露光への影響が大きくなる。これは、高速連写に求められる要求である、短時間駆動と露出安定性に相反する効果となる。このため、高速連写においては、双方の影響のバランスをとる必要がある。また、このとき駆動音は大きく、駆動にかかる電力も大きくなる傾向となる。このような場合、例えば図2(b)に示されるように、駆動速度を下げることで駆動時間は多少長く(ta<tb)なる代わりに、光量バウンドが軽減される傾向となる。このとき、駆動音は図2(a)に比べて小さくなる。
図2(c)は、駆動電圧を下げ、駆動速度も下げた場合の光量変化を示している。この場合、駆動時間が長く(tb<tc)なる代わりに、さらに光量バウンドがさらに小さくなる。駆動速度は遅くなるが、駆動電圧を下げることで電力が小さくなり、光量バウンドが少なく、駆動音も小さくなるため、動画モードでの絞り駆動に向いているといえる。
前述のように、位置精度、速度、消費電力、および静音の各項目は、光量バウンド、駆動時間、消費電力、駆動騒音という形で複雑に絡み合う関係となっている。このとき、撮影シーンによってはユーザにとって優先度の下がる項目があるため、撮影シーンに応じて、好適な駆動方法を変化させることが可能となる。
次に、レンズ装置情報について説明する。レンズ装置情報は、絞り制御において、撮影映像が受ける影響を示す情報である。絞り制御における要求事項をバランスよく制御するには、絞り制御で求められる位置精度、速度を決めるためのレンズ装置情報に基づいて絞り制御を行う必要がある。レンズ装置情報は、レンズ情報決定部122により決定される。レンズ装置情報は、例えば、絞り駆動量と実現F値対応表などの情報である。レンズ情報決定部122は、現在F値を決定する。またレンズ情報決定部122は、フォーカスレンズ位置とズームレンズ位置との関係を示す不図示の変換テーブルを保持し、フォーカスレンズ位置、ズームレンズ位置、および絞り位置に基づいて現在F値を決定する。これらのレンズ装置情報に基づいて絞り制御を行うことで、絞り制御の際に撮影画像が受ける影響を加味して、位置精度、速度、消費電力、および静音のそれぞれの要求事項をバランスよく制御することができる。なお、レンズ装置情報を用いて絞り制御を行うNNアルゴリズムについては後述する。
次に、NN制御部121がNNアルゴリズムを用いて駆動指令を決定する方法について説明する。NN制御部121には、NNアルゴリズムが実装されている。NN制御部121は、NNデータ記憶部123に記録されたNNの特徴量、結合重み付け係数であるウエイト(機械学習モデル)を参照し、参照したウエイトを用いてNNアルゴリズムにより駆動指令を決定する。ウエイトの製造方法については後述する。
図4は、ニューラルネットワークの入出力を示す図であり、本実施例の学習モデルを用いたNN制御部121の入出力の構造を示す概念図である。X1は、制御部125から出力された絞り駆動の駆動指令目標位置である。X2は、絞り検出部110から得られた絞りモータ回転角から求められる現在位置(積算値)である。X3は、絞り検出部110から得られた絞りモータ回転角とモータ励磁している電気角との差分である進角である。Y1は、絞り進角値である。以上により、絞りの駆動指令、フォーカスレンズ101の現在位置、焦点深度、およびフォーカス敏感度を入力として、学習済モデルの出力として駆動信号が決定される。NN制御部121がNNアルゴリズムを用いて決定した進角設定により、絞りユニット103を制御することができる。
次に、ウエイト(機械学習モデル)の製造方法について説明する。ユーザが操作部206を介して機械学習実施を示す操作を行うと、機械学習実施の指令が制御部211を介して機械学習部221に伝えられる。機械学習部221は機械学習実施の指令を受けると、機械学習を開始する。
次に、図3を参照して、機械学習の流れを説明する。図3は、機械学習方法を示すフローチャートである。まずステップS101において、機械学習部221は、制御部211に対して、ウエイトの初期値を出力する。制御部211は、機械学習部221からウエイトの初期値を受け取ると、通信部212からレンズ装置100へウエイトの初期値を送信する。レンズ装置100は、通信部126にてウエイトの初期値を受信すると、受信したウエイトの初期値を制御部125を介してNNデータ記憶部123に設定する。
続いてステップS102において、機械学習部221は、制御部211に対して、絞りユニット103の進角設定および動作ログ情報の取得要求を行う。制御部211は、機械学習部221から絞りユニット103の進角設定および動作ログ情報の取得要求を受けると、通信部212からレンズ装置100へ絞りユニット103の進角設定および動作ログ情報の取得要求を行う。レンズ装置100は、通信部126にて絞りユニット103の駆動指令を受信すると、制御部125を介してNN制御部121に対して絞りユニット103の駆動指令を行う。NN制御部121は、NNデータ記憶部123に保持されたウエイトに基づいて、絞りユニット103の進角値を算出する。ここで機械学習部221は、絞りユニット103の駆動指令として、予め学習用に決められた開始位置から停止位置まで特定の駆動パターンを保持し、保持している駆動パターンに従い駆動指令を行う。またレンズ装置100は、通信部126にて動作ログ情報の取得要求を受信すると、動作ログ管理部124に対して動作ログ情報の出力要求を行う。動作ログ管理部124は、動作ログ情報の出力要求を受けると、絞りユニット103の駆動時における動作ログ情報を、制御部125および通信部126を介してカメラ本体200に送信する。
続いてステップS103において、機械学習部221は、報酬管理部223が保持している報酬情報および動作ログ保持部222が保持している動作ログ情報に基づいて、NNアルゴリズムの制御結果を点数化する。なお、報酬情報、動作ログ情報、および制御結果の点数化については後述する。
続いてステップS104において、機械学習部221は、NNアルゴリズム制御結果の累計点数が最大化されるようにウエイトを更新する。ウエイトの更新には誤差逆伝搬法(Backpropagation)を使用するが、本実施例はこれに限定されるものではない。生成されたウエイトは、ステップS101と同様の手順で、NNデータ記憶部123に設定される。
続いてステップS105において、機械学習部221は、ウエイトの学習が完了したか否かを判定する。学習完了は、学習(ウエイトの更新)の反復回数が規定値に達したか、または、更新時の動作ログ情報中の累計点数の変化量が規定値より小さいかなどにより判定することができる。機械学習部221は、学習が完了していないと判定した場合、ステップS101へ戻り機械学習を続ける。一方、機械学習部221は、学習が完了したと判定した場合、機械学習を終了する。
機械学習の具体的なアルゴリズムとしては、本実施例のとおり、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)が挙げられる。また、最近傍法、ナイーブベイズ法、決定木、および、サポートベクターマシンなどが挙げられる。適宜、上記アルゴリズムのうち利用できるものを用いて本実施形態に適用することができる。
ところで、GPUはデータをより多く並列処理することで効率的な演算を行うことができる。このため、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合、GPUで処理を行うことが有効である。そこで、機械学習部221による処理にはCPUに加えてGPUを用いてもよい。具体的には、学習モデルを含む学習プログラムを実行する場合、CPUとGPUが協働して演算を行うことで学習を行う。なお機械学習部221の処理は、CPUまたはGPUのみにより演算が行われてもよい。
次に、動作ログ情報について説明する。動作ログ情報は、NNアルゴリズムの制御結果を点数化する上で、点数を決める対象となる制御結果情報である。動作ログ管理部124は、図4に示されるX1~X3およびY1であるNNアルゴリズムの入出力情報を、NNアルゴリズムの制御周期ごとに収集して記録する。また、絞り駆動部109の消費電力を測定する電力検出部(不図示)を設け、動作ログ管理部124は、絞り駆動部109の消費電力、および撮像素子201を介して取得できる光量データを、動作ログ情報として記録する。
また動作ログ管理部124は、NN制御部121に入力された駆動指令や絞り検出部110によって検出される絞りの位置情報も動作ログ情報として記録する。また動作ログ管理部124は、駆動指令から決定される絞りの目標位置及び位置情報、位置精度Eを決定し、動作ログ情報として記録する。更に動作ログ管理部124は、絞りの位置情報から、絞りユニット103の速度および加速度を算出し、動作ログ情報として記録する。
動作ログ管理部124は、記録した動作ログ情報を、制御部125、通信部126を介してカメラ本体200に送信する。カメラ本体200は、動作ログ情報を通信部212にて受信すると、制御部211を介して動作ログ保持部222に記録される。
次に、図5を参照して、報酬情報について説明する。図5は、報酬情報の説明図である。報酬情報は、NNアルゴリズムの制御結果を点数化する上で、点数の基準となる情報である。報酬情報は、NNアルゴリズム制御結果に対して、点数の境界値とその境界値毎に割り当てられた点数の情報を持つ。
図5(a1)、(b1)、(c1)、(d1)はそれぞれ、NNアルゴリズム制御結果を示す項目である位置精度、速度、加速度、および消費電力に対して、学習時において、時間経過と点数の境界値との関係を示している。図5(a1)、(b1)、(c1)、(d1)の横軸は、時間経過を示す。図5(a2)、(b2)、(c2)、(d2)はそれぞれ、位置精度、速度、加速度、および消費電力に対しての報酬情報のデータ構造を示している。報酬情報のデータは、複数の境界値と、境界値で区切られた領域で獲得できる点数で構成される。
NNアルゴリズムは、制御結果の獲得点数が高得点となるように学習されるため、境界値が各対象となる項目の目標に近い程、より高精度な制御となるように学習される。例えば、位置精度の境界値が0に近い値になる程、位置精度が0に近づく制御となるように学習される。また他の項目に比べ、点数を高く設定することにより、他の項目よりも学習の優先度が高いことを示す。例えば、位置精度よりも消費電力の点数を高くすることで、位置精度よりも消費電力を優先させる制御となるように学習される。本実施例では、2点の境界値と3点の点数で構成される例を示す。
図5(a1)の縦軸は、絞りの目標位置と現在位置との差である位置精度Eの値を示している。位置精度Eの正の方向は、目標位置に対して、現在位置が開放側にある場合を示し、負の方向は、目標位置に対して、現在位置が絞り込み側にある場合を示す。位置精度Eが0に近い程、駆動制御における位置精度が高いことを示している。このとき、評価する対象は、駆動後の光量バウンドなので、駆動停止時点(Tp2)よりも前の時間帯の差分時間は、報酬0でカウントするものとする。
図5(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の範囲内のときは、図5(a2)が示す点数SE1、点数SE2、点数SE3が報酬として与えられる。ここで点数SE1、点数SE2、点数SE3の点数の関係は点数SE1>点数SE2>点数SE3となり、位置精度Eが0に近い程高い点数となるように設定される。
図5(a1)に示されるように、位置精度に対して、任意の時間TP1、TP2、Tp3、Tp4における位置精度Eはそれぞれ、採点範囲外、AE2、範囲AE1、範囲AE3の範囲内である。従って、任意の時間TP1、TP2、Tp3、Tp4において、獲得できる報酬はそれぞれ点数0、点数SE2、点数SE1、点数SE3となる。ここで例えば、E1は±0.1EV、E2は±0.2EVの値が設定される。つまり絞り羽根(絞りユニット103)の目標位置に対して、現在位置が目標精度内に制御されていれば、高い得点が加算され、目標精度外となるにつれて低い点数が加算される。また絞り羽根が目標位置に近い程、獲得できる点数が多くなる。
図5(b1)の縦軸は、絞りユニット103(絞りのモータのロータ)の駆動速度Vの値を示している。駆動速度Vの正の方向は絞り込み方向への駆動速度を示し、負の方向は開放方向への駆動速度を示している。駆動速度Vが0に近い程、駆動音が小さくなる。図5(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の範囲内のときは、図5(b2)が示す点数SV1、点数SV2、点数SV3が報酬として与えられる。ここで点数SV1、点数SV2、点数SV3の点数の関係は点数SV1>点数SV2>点数SV3となり、駆動速度Vが0に近い程、高い点数となるように設定される。このとき、評価するのは絞りユニット103のモータを駆動している区間であるため、Tp2よりも前の時間の速度の報酬を計算する。
図5(b1)に示されるように、駆動音に対して、任意の時間TP1、TP2、Tp3、Tp4における駆動速度Vはそれぞれ、範囲AV3、範囲AV1、評価範囲外、評価範囲外である。従って、任意の時間TP1、TP2、Tp3、Tp4において、獲得できる報酬はそれぞれ点数SV3、点数SV1、点数0、点数0となる。ここで例えば、V1、V2は駆動速度と駆動音の関係により決定され、駆動速度を遅く制御する程、獲得できる点数が多くなるように点数が設定される。一般的に、駆動速度が遅い程、駆動音が小さくなる。このため、獲得した点数が高い程、静音を重視した制御が行えていることを示す。
図5(c1)の縦軸は、絞りユニット103(ロータ)の駆動加速度Aの値を示している。駆動加速度Aの正の方向は絞り込み方向への駆動加速度を示し、負の方向は開放方向への駆動加速度を示している。駆動加速度Aが0に近い程、駆動音が小さくなる。図5(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の範囲内のときは、図5(c2)に示される点数SA1、点数SA2、点数SA3が報酬として与えられる。ここで点数SA1、点数SA2、点数SA3の点数の関係は点数SA1>点数SA2>点数SA3となり、駆動加速度Aが0に近い程、高い点数となるように設定される。駆動加速度Aに関しても、絞りユニット103のモータ(ロータ)の駆動中を評価すべきなので、Tp2よりも前の時刻のデータに関して報酬評価を行う。
図5(c1)に示されるように、駆動音に対して、任意の時間TP1、TP2、Tp3、Tp4における駆動加速度Aはそれぞれ、範囲AA2、範囲外、範囲外、範囲外である。従って、任意の時間TP1、TP2、Tp3、Tp4において、獲得できる報酬はそれぞれ点数SA2、点数0、点数0、点数0となる。ここで例えば、A1、A2は駆動加速度と駆動音の関係により決定され、駆動加速度を小さく制御する程、獲得できる点数が多くなるように点数が設定される。一般的に、駆動加速度が小さい程、駆動音が小さくなる。このため、獲得した点数が高い程、静音を重視した制御が行えていることを示す。
図5(d1)の縦軸は、絞りユニット103の消費電力Pの値を示している。消費電力Pが0に近い程、消費電力が小さくなる。図5(d2)は、消費電力の報酬情報である消費電力報酬情報RPのデータ構造を示している。消費電力報酬情報RPは消費電力の報酬範囲を決めるP1、P2と、報酬範囲において獲得できる点数SP1、点数SP2、点数SP3により構成される。P1、P2はそれぞれ消費電力Pの報酬として与えられる点数の境界値を示している。ここで、0~P1の範囲の時は範囲AP1とする。また、P1~P2の範囲の時は範囲AP2とする。また、範囲AP1、範囲AP2以外の時は範囲AP3とする。消費電力Pがそれぞれ範囲AP1、範囲AP2、範囲AP3の範囲内のときは、図5(d2)に示される点数SP1、点数SP2、点数SP3が報酬として与えられる。ここで点数SP1、点数SP2、点数SP3の点数の関係は点数SP1>点数SP2>点数SP3となり、消費電力Pが0に近い程、高い点数となるように設定される。
図5(d1)に示されるように、消費電力に対して、任意の時間Tp1、Tp2、Tp3、Tp4における消費電力Pはそれぞれ、範囲AP3、範囲AP1、範囲AP1、範囲AP1の範囲内である。従って、任意の時間Tp1、Tp2、Tp3、Tp4において、獲得できる報酬はそれぞれ点数SP3、点数SP1、点数SP1、点数SP1となる。ここで例えば、P1、P2は任意に決定され、消費電力を小さく制御する程、獲得できる点数が多くなるように点数が設定される。従って、獲得した点数が高くなる程、低消費電力を重視した制御が行えていることを示す。
以上のように、位置制御誤差、速度、加速度、および消費電力等の制御結果に対して、点数化する為の報酬情報が設定される。前述の報酬情報を用いて、学習時の絞りユニット103などの光学部材の駆動の際に、動作ログ情報に基づきNNアルゴリズムの制御結果を単位時間毎に点数化し、単位時間毎の点数を累計することで、NNアルゴリズム制御結果の累計点数を決定することができる。また、位置制御誤差、速度、加速度、および消費電力のそれぞれの得点を加算することで、NNアルゴリズムのトータルとしての制御結果を点数化することができる。
本実施例では、消費電力を制御結果として使用している例を示しているが、速度、加速度、および消費電力の関係から、速度および加速度の結果を用いて消費電力に対する報酬情報を設定してもよい。また本実施例では、境界値の数を固定としているが、必要に応じて可変してもよい。また本実施例では、点数を境界値により決定しているが、位置精度E、駆動速度V、駆動加速度A、消費電力Pを点数に変換する変換関数を用いて点数化する方法でもよい。この場合、報酬情報として境界値ではなく、変換関数およびその係数が報酬情報として設定される。
本実施例において、学習プロセッサ220は、プロセッサ(CPU、GPU)および記憶装置(ROM、RAM、HDD)を備えて構成される。プロセッサは、機械学習部221、動作ログ保持部222、報酬管理部223、および機器制約管理部224の各種処理を実行する。記憶装置には、これらの制御をするためのプログラム、動作ログ保持部222が保持している動作ログ情報が記憶されている。また、報酬管理部223が管理している報酬情報、および、機器制約管理部224が管理している機器制約情報などが保持されている。
制御部125は、ズームレンズ102、絞りユニット103、および像振れ補正レンズ104のそれぞれの位置を制御するともに、学習プロセッサ220およびカメラ本体200との情報伝達を制御する。NN制御部121は、絞りユニット103の位置を制御する。操作部206は、ユーザがカメラ本体200を操作するための操作部である。
本実施例において、レンズ情報決定部122は、レンズの制約情報として、絞りユニット103の駆動回数上限値を保持している。駆動回数上限値には、絞りユニット103の性能品質を保証できる駆動回数が設定されている。駆動回数上限値は、カメラ本体200とレンズ装置100との接続時などのタイミングで通信部126を介して機器制約管理部224に通知されている。動作ログ管理部124は、絞りユニット103を駆動した回数を記録保持している。
本実施例では、機械学習開始時において、機械学習部221は機械学習の開始可否判定を行う。機械学習開始は、撮像システム10が操作されていない時間が所定の時間以上経過したことにより開始するものとするが、これは一例に過ぎず、ユーザによるメニュー操作など、各種別の手段であってもよい。
次に、図6を参照して、機械学習開始時に、機械学習部221で実施される機械学習開始可否判定について説明する。図6は、本実施例における機械学習可否判定を示すフローチャートである。図6の各ステップは、機械学習開始時に主に機械学習部221より実行される。
まずステップS201において、機械学習部221は、レンズ装置100の動作ログ管理部124から、通信部212を介して絞りユニット103の駆動回数(絞り駆動回数ログ)を取得する。続いてステップS202において、機械学習部221は、機器制約管理部224から、絞りユニット103の駆動回数上限値を取得する。続いてステップS203において、機械学習部221は、これから実施する機械学習のために絞りユニット103を駆動させる回数(事前設定値)を不図示のROMから取得する。
続いてステップS204において、機械学習部221は、機械学習を実施した際の駆動回数(学習後の駆動回数)を求める。この駆動回数は、機械学習を行ったとした場合の絞りユニット103の駆動回数であり、例えば、通常駆動(通常モード)における駆動回数と機械学習(学習モード)における駆動回数の合計であるが、これに限定されるものではない。そして機械学習部221は、機械学習を実施した際の駆動回数が絞りユニット103の駆動回数上限値(所定の回数)を上回るか否かを判定する。機械学習を実施した際の駆動回数が絞りユニット103の駆動回数上限値よりも小さい場合、ステップS205へ進む。ステップS205において、機械学習部221は、機械学習を実行する。一方、ステップS204にて機械学習を実施した際の駆動回数が絞りユニット103の駆動回数上限値を上回る場合、機械学習部221は、機械学習開始不可と判定し、機械学習を実施せずそのまま終了する。
以上のように、本実施例において、学習装置(カメラ本体200)は、光学部材の駆動を制御する制御部制御部(カメラマイコン210、学習プロセッサ220)を有する。制御部は、光学部材の駆動に関する機械学習を行う機能を有する。また制御部は、機械学習に関する許容条件(所定の条件)が満たされる場合に、機械学習を行う(機械学習に関する所定の条件に基づいて、機械学習を行うか否かを判定する)。
好ましくは、許容条件は、機械学習に要する光学部材の駆動回数に関する。より好ましくは、制御部は、駆動回数が閾値(所定の回数)を超えない場合は機械学習を行い、駆動回数が閾値を超える場合は機械学習を行わない。また本実施例はこれに限定されるものではなく、例えば、制御部は、駆動回数が閾値を超える場合、駆動回数が閾値を超えないように駆動回数を減らすようにしてもよい。
好ましくは、制御部は、動作モードとして、通常モード(通常撮影モード)および学習モードを有し、制御部は、学習モードで動作している場合に機械学習を行う。また好ましくは、光学部材は、開口絞り(絞りユニット103)、フォーカスレンズ群(フォーカスレンズ101)、ズームレンズ群(ズームレンズ102)、および像振れ補正レンズ群(像振れ補正レンズ104)のうち少なくとも一つを含む。
このような処理により、機械学習の実施によって、駆動品質保証の駆動回数を超えて、絞りユニット103の動作品質が損なわれる可能性を回避することが可能となる。なお、本実施例の方法に限定されるものではなく、駆動上限回数と現在の駆動回数との差分量を求めることで、機械学習のための絞り駆動回数を決定する方式であってもよい。
次に、本発明の実施例2におけるレンズ学習システムについて説明する。本実施例のレンズ学習システムは、制御部125が、機械学習時のNN制御部121の出力結果(出力値)を制限するNN制御出力リミッタ(不図示の出力制限手段)を有する点で、実施例1のレンズ学習システムとは異なる。本実施例のレンズ学習システムの他の構成は、実施例1のレンズ学習システム(図1に示される撮像システム10)と同様である。
レンズ情報決定部122は、機械学習時の制約条件として、学習時制約情報を記憶している。本実施例における学習時制約情報は、機械学習時に絞りユニット103の駆動速度を制約する情報である。図7は、学習時制約情報の一例を示す図である。図7に示されるように、駆動速度の制約条件は、絞りユニット103の駆動位置(範囲)ごとにおける、駆動上限速度を規定している。図7中では、絞りユニット103における位置をステッピングモータの駆動ステップ単位で表現している。開放端を0ステップ目とするとき、駆動ステップ量を絞り込み方向に加算、開放方向に減算する形で駆動量を積算した値で、絶対位置を管理する。このとき、所望の範囲における上限速度Vが規定されている。
制御部125は、NN制御部121から出力される進角値を受信した際、進角値のリミット処理を行う。ここで、図8を参照して、制御部125における進角値のリミット処理を説明する。図8(a)は、NN出力リミット処理を示すフローチャートである。図8(b)、(c)は、進角値リミット処理を示すフローチャートである。
NN出力リミット処理では、NN制御部121から出力される進角値に対し、リミット要否を判定し、必要に応じてリミット処理(進角値リミット処理)を行う。まず前提条件として、制御部125は、絞り検出部110から絞りモータのロータ回転角を受信している。まず、図8(a)のステップS301において、制御部125は、絞り検出部110から受信したロータ回転角を積算することで、現在位置を算出、保持する。続いてステップS302において、制御部125は、ロータ回転角の単位時間当たりの変化量から現在速度を算出し、保持する。続いてステップS303において、制御部125は、レンズ情報決定部122から学習時制約情報として駆動速度制約の情報を取得する。
続いてステップS304において、制御部125は、現在位置における現在速度が上限速度に達しているか否かを判定する。現在速度が上限速度に達していない場合、制御部125は、NN出力リミット処理を終了する。一方、現在速度が上限速度に達している場合、ステップS305へ進み、制御部125は、受信した進角値に対してリミット処理を行う。
次に、図8(b)を参照して、本実施例における進角値のリミット処理(ステップS305)について詳述する。まずステップS305a1において、制御部125は、前回の進角値(現在進角値)を取得する。続いてステップS305a2において、制御部125は、今回受信した進角値(今回進角値)が前回の進角値(現在進角値)よりも増加しているか否かを判定する。今回進角値が現在進角値よりも増加している場合、ステップS305a3へ進み、制御部125は前回進角値にリミットする。一方、今回進角値が現在進角値よりも減少している場合、ステップS305a4へ進み、制御部125は今回進角値を用いて制御を行う。
図8(c)は、本実施例における別の進角値のリミット処理を示す。まずステップS305b1において、制御部125は、前回進角変更時の現在速度と今回の現在速度とに基づいて加速度を求める。続いてステップS305b2において、制御部125は、加速しているか否かを判定する。加速している場合、ステップS305b3へ進み、制御部125は、現在進角値を所定量減算した進角値を適用する。一方、加速していない場合、ステップS305b4へ進み、制御部125は、現在進角値をそのまま使用する。
好ましくは、NN制御部121から受信した進角値にリミット処理を行ったことをフラグなどで学習LOGに記録し、報酬計算時にペナルティ処理することで、制約条件に当たる出力を出さないようにNN制御部121を学習させることができる。
機械学習中のNN制御部121からは、通常動作時には使用しないような様々な進角値が出力される可能性がある。進角値が急激な変化した場合や、所定の範囲を超えた値を適用した場合、ステッピングモータが脱調する可能性がある。このような基本的な制約項目は、通常動作時にもリミッタとして常に適用されている。ただし、機械学習時にNN制御部121から出力される進角値をそのまま制御に利用すると、通常動作時とは異なるケアが必要である。例えば、絞りユニット103の端付近では速度や加速度を制約したいのが一般的である。端付近において、端方向に高速で駆動させると、停止しきれずに駆動部を端にぶつけてしまう(端当たり)可能性が高いからである。
また、絞りユニット103の機構設計によっては、特定の駆動領域において絞り羽根の摺動摩擦が増大するため、高速もしくは激しい加減速によって絞り羽根のエッジ部や表面処理を大きく損耗させてしまう可能性がある。このように、機械学習時においては学習完了時に比べ、駆動制御が未熟なために、絞りユニット103の損耗を早めてしまう駆動制御を行う可能性がある。
本実施例において、制御部(出力制限手段)は、機械学習において光学部材を駆動するための出力値が閾値(所定の出力値)を超える場合は、出力値が閾値を超えないようにして(所定の出力値以下の出力値で)駆動を制御する。なお、出力制限手段は、レンズマイコン120の制御部125に設けられているが、カメラマイコン210に設けてもよい。本実施例によれば、機械学習時においてNN制御部から出力された演算結果に対し駆動リミットを設けることでユニット損耗を軽減する処理を実現することが可能となる。
次に、本発明の実施例3におけるレンズ学習システムについて説明する。本実施例のレンズ学習システムは、機械学習時の駆動方法を機械学習部で制限する点で、実施例1のレンズ学習システムとは異なる。本実施例のレンズ学習システムの他の構成は、実施例1のレンズ学習システム(図1に示される撮像システム10)と同様である。
本実施例において、動作ログ管理部124は、絞りユニット103の駆動回数を記憶している。駆動回数は、絞りユニット103での場所ごとの駆動回数が積算保持される。本実施例では、絞り込み量1段相当単位で駆動回数を積算して保持される。例えば、絞り込み段数7段の絞りとしたとき、開放端から3段絞り込みの区間を駆動した場合、開放端から1段目、1段目から2段目、2段目から3段目の3つのセクションの駆動回数保存領域の駆動回数パラメータがそれぞれ1ずつ積算される。よってこの場合、3段目から4段目、以降、7段目までの駆動回数は積算されない。このような方法で、絞りユニット103の領域ごとの駆動回数を管理している。
機械学習開始時において、本実施例の機械学習部221は、NN制御部121のNNデータを学習するために学習駆動させる範囲を決定するが、このときの駆動範囲を、最も駆動回数が少なくなる領域を選択する。このような方法により、絞りユニット103の特定の部分に対して偏って損耗させてしまうことを軽減することができる。
次に、本実施例における別の駆動制限方法を説明する。実施例2でも説明したように、絞りユニット103の機構設計によっては、特定の駆動領域において絞り羽根の摺動摩擦が増大するため、高速もしくは激しい加減速によって絞り羽根のエッジ部や表面処理を大きく損耗させる可能性がある。また、駆動端付近で機械学習を行うと、駆動機構を端当たりさせてしまう可能性もあるため、端付近は不定な制御を高頻度で行うことが好ましくない領域である。このように、機械学習のために積極的には使用したくない領域(制限領域情報)をレンズ情報決定部122に保持させ、レンズ起動時などのタイミングで通信部126を介して機器制約管理部224に制限領域情報として保持しておく。機械学習開始時において、機械学習部221は、NN制御部121のNNデータを学習するために学習駆動させる範囲を決定するが、このときの駆動範囲を、制限領域情報で制限する領域以外の領域を選択する。このような方法により、機械学習のための機構の駆動において、機構の損耗や破損リスクを低下させることが可能となる。
次に、本実施例における別の制限方法として、駆動頻度を制限する方法について説明する。絞りユニット103のモータ制御において、高速、高トルクな駆動性能を発揮させるため、高い電圧(電流)で駆動波を生成して駆動するケースがある。このような制御を採用する場合、長時間通電することを想定しておらず、長時間通電し続けていると、モータコイルの温度上昇により絶縁性能が低下し、恒久的な出力低下につながるリスクがある。通常の撮影動作では、カメラシーケンスの設計や、通電監視処理によってモータコイルの温度がそもそも上昇しないよう設計されている。しかし、機械学習においては、反復学習回数が多いことから学習時間短縮のため、密に駆動させたい要求がある。このとき、発熱を抑えるために駆動頻度をケアする必要がある。
本実施例においては、レンズ情報決定部122は、絞りユニットにおける連続通電時間制約情報を保持しており、レンズ起動時などのタイミングで通信部126を介して機器制約管理部224に通知する。また、動作ログ管理部124は、機械学習時における絞り駆動の平均速度情報を有しており、機械学習完了の際にその情報を更新する。
機械学習開始時において、機械学習部221は、NN制御部121のNNデータを学習するために学習駆動させる範囲を決定するが、このときの駆動にかかる時間について、動作ログ管理部124から機械学習時の絞り駆動の平均速度情報を取得する。前記平均速度情報と、機械学習のために駆動させる駆動ステップ数とを用いて推定駆動時間を算出することで、前記連続通電時間制約情報と推定駆動時間から、連続駆動が可能なセット数を算出する。そして、所定のインターバル時間を適用することで、機械学習のために駆動させるシーケンスを生成し機械学習を実行する。
以上のように、本実施例において、制御部は、光学部材の駆動範囲における複数の領域のそれぞれでの光学部材の駆動回数に基づいた複数の領域のうちの少なくとも一つで駆動を制御して機械学習を行う。好ましくは、少なくとも一つの領域は、複数の領域のうち駆動回数が最小である領域を含む。また好ましくは、少なくとも一つの領域は、複数の領域のうち駆動回数が最大である領域を除く領域である。また好ましくは、許容条件は、光学部材の駆動による発熱に関する。本実施例によれば、機械学習において、絞りを連続駆動させることによる駆動機構を損耗させてしまう可能性を低減することができる。
次に、図9を参照して、本発明の実施例4におけるレンズ学習システムについて説明する。図9は、本実施例における撮像システム(レンズ学習システム)10aのブロック図である。本実施例のレンズ学習システムは、電池消耗を考慮して機械学習を行う。本実施例のレンズ学習システムは、カメラ本体200の内部に、電源部230および電源管理部231を有する点で、実施例1のレンズ学習システム(図1に示される撮像システム10)とは異なる。
電源部230は、充電式電池や、コンセントから電源供給するための外部電源接続ユニットを装着することができる。電源管理部231は、電源部230に装着された電源種類の判別、および装着された電源の場合には電源残量(電源の電荷の残量)を測定し、電源種別および電源残量情報を制御部211に通知する。
機器制約管理部224は、機械学習の制約情報として、機械学習を実施するために必要な電池残量値(機械学習時電源情報)を保持している。機械学習時電源情報は、電池残量(電池の電荷の残量)0ではなく、ある程度写真の撮影や、動画撮影、記録が可能な時間がゆとりをもって設定されていることが好ましい。機械学習時電源情報の設定が、機械学習を行うことで電池を消耗してしまい、肝心の撮影ができなくなってしまうことを軽減するためである。
次に、電池消耗を考慮した機械学習の第一の実施例を説明する。機械学習開始時に、機械学習部221は制御部211から電源残量情報を取得する。機械学習部221は、機器制約管理部224から機械学習時電源情報を取得し、電源残量情報と比較することで、電源残量情報が機械学習時電源情報よりも少ない場合においては、機械学習を中断する。
このような制御により、機械学習を実施したことによって、実際に撮影を行う際に電池切れで撮影ができなくなる可能性を低減することができる。
このような制御により、機械学習を実施したことによって、実際に撮影を行う際に電池切れで撮影ができなくなる可能性を低減することができる。
次に、図10を参照して、電池消耗を考慮した機械学習に関して別の方法を説明する。機械学習開始時において、機械学習の実施可否の判定は、前述のように行われるものとする。本実施例では、機械学習開始可能なレベルで電源残量がある場合において、機械学習を実施している途中で電池を著しく消耗してしまう可能性を低減する方法について説明する。
図10は、本実施例における電源残量と機械学習終了判定の説明図である。図10の上側のグラフは、縦軸が総報酬、横軸が学習回数で、機械学習1試行毎の総報酬点数がプロットされているものである。このとき、総報酬点数は、機械学習1試行内での総報酬加算点数であって、それまでの学習の全ての報酬を加算したものではない。図10中のSthは、合格基準スコアで、本実施例においては、総報酬がSthを超えていたら、機械学習成功と判定する。Tpは所定の学習回数で、本実施例の場合は、通常の機械学習で当初設定する反復回数である。通常は、総報酬が基準スコアを上回っても、より良い成果を求めて、さらに機械学習を続ける方法がある。そのような場合における機械学習終了判定方法は複数ある。例えば、反復学習の回数が規定回数に達した段階で、合格基準に到達したか確認する方法などがある。他の手段としては、総報酬のスコアの上昇率を計算し、傾きが基準以下になった場合(学習効果の傾きがサチュレーションしている場合)に、学習終了を判定する方法がある。なお、本実施例の一般方式は、前者の方法を想定しているが、上記双方において、電源残量を考慮するものでなない。
図10中の下図は、縦軸が電源残量、横軸が学習回数で、上図と学習回数の軸を合わせて記載している。学習の反復回数を重ねるたびに電源残量が減少している様子が見て取れる。図10中のPthは、機械学習実施可否を判定する電源残量の閾値(機械学習時電源情報)である。
本実施例において、機械学習部221は、機械学習を1回試行するたびに、電源残量を確認し、学習終了判定を行う。機械学習を1回試行したら、機械学習部221は制御部211から電源残量情報を取得する。電源残量情報が、図10中の下図のPthを下回った段階で、機械学習終了手続きを行う。図10のケースでは、電源残量がPthを下回るのが学習回数Tnのタイミングで、このときの総報酬がSnである。これは、合格基準スコアSthを超えているため、機械学習成功といえる。本実施例の制御の特徴は、電源残量がPthを下回ったタイミングで機械学習終了手続きに入る点である。前述のとおり、通常は、総報酬がSnを上回るか、規定回数学習を反復させるか、総報酬の進捗率で判定するかなど、電源事情に関係なく学習を継続する。
以上のように、本実施例において、許容条件(所定の条件)は、駆動のための電池の残量に関する。好ましくは、制御部は、残量が閾値(所定の量)よりも多い場合は機械学習を行い、残量が閾値よりも少ない場合は機械学習を行わない。本実施例によれば、電源残量を許容量以上残した状態で機械学習を打ち切ることが可能となる。
なお各実施例は、絞りユニット103を駆動対象とする絞り制御を説明したが、これに限定されるものではなく、フォーカスレンズ101、ズームレンズ102、または像振れ補正レンズ104などの光学部材を駆動対象とする制御にも適用可能である。駆動音は、絞りユニット103以外の光学部材をアクチュエータにより駆動する場合も同様に問題となる。位置精度においても、ズームレンズ102に関しては、画角変化における被写体の拡大変化量の関係により要求される位置精度が決定される。また、ズームレンズ駆動量と画角変化量との関係においても位置精度が決定される。像振れ補正レンズ104に関しては、焦点距離と映像のシフト量の関係の情報から、位置精度が決定される。フォーカスレンズ101に関しては、被写界深度と光学便感度の関係から位置精度が決定される。また、各光学部材の駆動機構に関しても、各実施例と同様の手法により、駆動機構の損耗を低減することが可能である。
(その他の実施例)
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
各実施例によれば、例えば、省資源の点で有利な学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法を提供することができる。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
各実施例において、学習装置はカメラ本体200に設けられているが、これに限定されるものではなく、学習装置をレンズ装置100に設けてもよい。
200 カメラ本体(学習装置)
210 カメラマイコン(制御部)
220 学習プロセッサ(制御部)
210 カメラマイコン(制御部)
220 学習プロセッサ(制御部)
Claims (18)
- 光学部材の駆動を制御する制御部を有する学習装置であって、
前記制御部は、前記駆動に関する機械学習を行う機能を有し、
前記制御部は、前記機械学習に関する許容条件が満たされる場合に、前記機械学習を行うことを特徴とする学習装置。 - 前記許容条件は、前記機械学習に要する前記光学部材の駆動回数に関することを特徴とする請求項1に記載の学習装置。
- 前記制御部は、
前記駆動回数が閾値を超えない場合は、前記機械学習を行い、
前記駆動回数が前記閾値を超える場合は、前記機械学習を行わないことを特徴とする請求項2に記載の学習装置。 - 前記制御部は、前記駆動回数が閾値を超える場合、前記駆動回数が前記閾値を超えないように前記駆動回数を減らすことを特徴とする請求項2に記載の学習装置。
- 光学部材の駆動を制御する制御部を有する学習装置であって、
前記制御部は、前記駆動に関する機械学習を行う機能を有し、
前記制御部は、前記機械学習において前記光学部材を駆動するための出力値が閾値を超える場合は、前記出力値が前記閾値を超えないようにして前記駆動を制御することを特徴とする学習装置。 - 光学部材の駆動を制御する制御部を有し、
前記制御部は、前記駆動に関する機械学習を行う機能を有し、
前記制御部は、前記光学部材の駆動範囲における複数の領域のそれぞれでの前記光学部材の駆動回数に基づいた前記複数の領域のうちの少なくとも一つで前記駆動を制御して前記機械学習を行うことを特徴とする学習装置。 - 前記少なくとも一つの領域は、前記複数の領域のうち前記駆動回数が最小である領域を含むことを特徴とする請求項6に記載の学習装置。
- 前記少なくとも一つの領域は、前記複数の領域のうち前記駆動回数が最大である領域を除く領域であることを特徴とする請求項6に記載の学習装置。
- 前記許容条件は、前記光学部材の駆動による発熱に関することを特徴とする請求項1に記載の学習装置。
- 前記許容条件は、前記駆動のための電池の残量に関することを特徴とする請求項1に記載の学習装置。
- 前記制御部は、
前記残量が閾値よりも多い場合は、前記機械学習を行い、
前記残量が前記閾値よりも少ない場合は、前記機械学習を行わないことを特徴とする請求項10に記載の学習装置。 - 前記制御部は、動作モードとして、通常モードおよび学習モードを有し、
前記制御部は、前記学習モードで動作している場合に前記機械学習を行うことを特徴とする請求項1乃至11のいずれか一項に記載の学習装置。 - 前記光学部材は、開口絞り、フォーカスレンズ群、ズームレンズ群、および像振れ補正レンズ群のうち少なくとも一つを含むことを特徴とする請求項1乃至12のいずれか一項に記載の学習装置。
- 撮像素子と、
請求項1乃至13のいずれか一項に記載の学習装置と、を有することを特徴とする撮像装置。 - 光学部材と、
請求項1乃至13のいずれか一項に記載の学習装置と、を有することを特徴とするレンズ装置。 - 光学部材の駆動を制御し、前記駆動に関する機械学習を行う学習方法であって、
前記機械学習は、前記機械学習に関する許容条件が満たされる場合に行うことを特徴とする学習方法。 - 請求項16に記載の学習方法をコンピュータに実行させることを特徴とするプログラム。
- 光学部材の駆動を制御し、前記駆動に関する機械学習を行って、機械学習モデルを製造する製造方法であって、
前記機械学習は、前記機械学習に関する許容条件が満たされる場合に行うことを特徴とする製造方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020108950A JP2022006612A (ja) | 2020-06-24 | 2020-06-24 | 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020108950A JP2022006612A (ja) | 2020-06-24 | 2020-06-24 | 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022006612A true JP2022006612A (ja) | 2022-01-13 |
Family
ID=80110323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020108950A Pending JP2022006612A (ja) | 2020-06-24 | 2020-06-24 | 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022006612A (ja) |
-
2020
- 2020-06-24 JP JP2020108950A patent/JP2022006612A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9153243B2 (en) | Imaging device, program, memory medium, and noise reduction method | |
JP2010139666A (ja) | 撮像装置 | |
US11762165B2 (en) | Lens apparatus, image pickup apparatus, control method, and computer-readable storage medium | |
JP5335408B2 (ja) | 焦点調節装置及び方法 | |
JP5932226B2 (ja) | 撮像装置 | |
JP2022006612A (ja) | 学習装置、撮像装置、レンズ装置、学習方法、プログラム、および製造方法 | |
US11843851B2 (en) | Optical apparatus and generating method | |
JP2022151257A (ja) | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム | |
US11849218B2 (en) | Lens apparatus, image pickup apparatus, camera apparatus, controlling method, and computer-readable storage medium | |
JP2010156850A (ja) | 焦点調節装置及び方法 | |
JP5322629B2 (ja) | 自動焦点検出装置及びその制御方法、撮像装置 | |
JP4981758B2 (ja) | 焦点調節装置及び方法 | |
US11594984B2 (en) | Control apparatus for vibration motor, vibration apparatus having the same, and control method of vibration motor | |
JP2022151256A (ja) | 制御装置、撮像装置、レンズ装置、制御方法、およびプログラム | |
JP5017195B2 (ja) | 焦点調節装置及び方法 | |
JP2013125159A (ja) | レンズ装置および撮像装置 | |
JP2021173820A (ja) | 処理装置、光学装置、撮像装置、処理方法およびプログラム | |
JP6069853B2 (ja) | 焦点検出装置 | |
JP2021136648A (ja) | レンズ装置、撮像装置、処理装置、処理方法、およびプログラム | |
JP6399851B2 (ja) | 撮像装置、その制御方法、および制御プログラム | |
JP2013122565A (ja) | レンズ装置および撮像装置 | |
JP5202292B2 (ja) | 撮像装置、撮像装置の制御方法、プログラム及び記憶媒体 | |
JP5602774B2 (ja) | 撮像装置およびその制御方法、レンズユニットおよびその制御方法 | |
JP5913902B2 (ja) | 自動焦点調節装置及び自動焦点調節方法 | |
JP7398907B2 (ja) | 像振れ補正システム及び方法、撮像装置及び撮像システム |