(57)【要約】【課題】機械学習を利用した被写体検出において、主被写体のボケ量や鮮明度に適した被写体検出を実現可能な画像処理装置および画像処理方法、ならびに撮像装置を提供すること。【解決手段】機械学習に基づいて生成されたパラメータを用いて、画像データに対して被写体検出処理を適用する。被写体検出処理には、予め記憶された複数のパラメータから選択したパラメータを用いる。そして、被写体のボケ量や鮮明度に応じて、異なるパラメータを用いて被写体検出処理を適用する。【選択図】図２
2019186911.tif 000002
【特許請求の範囲】
【請求項１】
機械学習に基づいて生成されたパラメータを用いて、画像データに対して被写体検出処理を適用する被写体検出手段と、
前記被写体検出処理に用いるパラメータを複数記憶する記憶手段と、
前記記憶手段が記憶するパラメータから、前記被写体検出手段で用いるパラメータを選択する選択手段と、
を有し、
前記選択手段は、被写体のボケ量または鮮明度に応じて、異なるパラメータを選択することを特徴とする画像処理装置。
【請求項２】
前記選択手段は、主被写体が決定されている場合と、決定されていない場合とで、異なるパラメータを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択手段は、前記主被写体が決定されている場合には第１のパラメータを選択し、前記主被写体が決定されていない場合には第２のパラメータを選択し、前記第２のパラメータは、前記第１のパラメータよりも、ボケ量の大きな被写体の検出に適したパラメータであることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記選択手段は、前記主被写体が決定されている場合には第１のパラメータを選択し、前記主被写体が決定されていない場合には第２のパラメータを選択し、
前記第１のパラメータは、被写体の検出漏れの抑制よりも被写体の誤検出の抑制を優先した被写体検出処理を行うためのパラメータであり、
前記第２のパラメータは、被写体の誤検出の抑制よりも被写体の検出漏れの抑制を優先した被写体検出処理を行うためのパラメータであることを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記選択手段は、前記主被写体が決定されている場合であっても、前記主被写体が所定期間継続して検出されない場合には前記第２のパラメータを選択することを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記選択手段は、前記主被写体が決定されている場合であっても、前記主被写体のボケ量が閾値以上である場合には前記第２のパラメータを選択することを特徴とする請求項３から５のいずれか１項に記載の画像処理装置。
【請求項７】
主被写体の領域に必要な被写体検出の確からしさを、前記第２のパラメータを用いて検出された被写体領域については、前記第１のパラメータを用いて検出された被写体領域よりも高く設定することを特徴とする請求項３から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記選択手段は、被写体の動きが大きいと判定される場合と判定されない場合とで、異なるパラメータを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記選択手段は、被写体の動きが大きいと判定される場合には第１のパラメータを選択し、前記被写体の動きが大きいと判定されない場合には第２のパラメータを選択し、前記第１のパラメータは、前記第２のパラメータよりも、動きの大きな被写体の検出に適したパラメータであることを特徴とする請求項１または８に記載の画像処理装置。
【請求項１０】
前記選択手段は、前記画像処理装置の位置姿勢変化が大きいと判定される場合と判定されない場合とで、異なるパラメータを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記選択手段は、前記画像処理装置の位置姿勢変化が大きいと判定される場合には第１のパラメータを選択し、前記画像処理装置の位置姿勢変化が大きいと判定されない場合には第２のパラメータを選択し、前記第１のパラメータは、前記第２のパラメータよりも、前記画像処理装置の位置姿勢変化が大きい場合の被写体の検出に適したパラメータであることを特徴とする請求項１または１０に記載の画像処理装置。
【請求項１２】
前記選択手段は、前記画像データのノイズ量が大きいと判定される場合と判定されない場合とで、異なるパラメータを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項１３】
前記選択手段は、前記画像データのノイズ量が多いと判定される場合には第１のパラメータを選択し、前記画像データのノイズ量が多いと判定されない場合には第２のパラメータを選択し、前記第１のパラメータは、前記第２のパラメータよりも、ノイズの多い画像データに対する被写体の検出に適したパラメータであることを特徴とする請求項１または１２に記載の画像処理装置。
【請求項１４】
前記パラメータが、コンボリューショナル・ニューラル・ネットワーク（ＣＮＮ）で用いる結合係数であることを特徴とする請求項１から１３のいずれか１項に記載の画像処理装置。
【請求項１５】
前記パラメータを外部から取得するための取得手段を有することを特徴とする請求項１から１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記取得手段は、無線通信、有線通信、あるいは、着脱可能な記憶メディアを介して前記パラメータを外部から取得し、前記記憶手段は前記取得手段が取得した前記パラメータを記憶することを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
撮像素子と、
請求項１から１６のいずれか１項に記載の画像処理装置と、を有する撮像装置であって、
前記画像処理装置の被写体検出手段は、前記撮像素子によって得られる画像に対して被写体検出処理を適用する、
ことを特徴とする撮像装置。
【請求項１８】
決定された主被写体の領域が合焦するように焦点調節を行う焦点調節手段と、
前記主被写体の領域が適正露出となるように露出条件を決定する決定手段と、
の少なくとも１つをさらに有することを特徴とする請求項１７に記載の撮像装置。
【請求項１９】
前記撮像素子が、露出制御用の画像を取得するための撮像素子であることを特徴とする請求項１７または１８に記載の撮像装置。
【請求項２０】
画像処理装置が実行する画像処理方法であって、
機械学習に基づいて生成されたパラメータを用いて、画像に対して被写体検出処理を適用する被写体検出工程と、
前記被写体検出処理に用いるパラメータを複数記憶する記憶手段から、前記被写体検出工程で用いるパラメータを選択する選択工程と、
を有し、
前記選択工程では、被写体のボケ量または鮮明度に応じて、異なるパラメータを選択することを特徴とする画像処理方法。
【請求項２１】
コンピュータを、請求項１から１６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項２２】
撮像装置が有するコンピュータを、請求項１７から１９のいずれか１項に記載の撮像装置が有する画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、ならびに撮像装置に関し、特に被写体検出技術に関する。
【背景技術】
【０００２】
画像から特定の被写体パターンを自動的に検出する被写体検出技術は非常に有用である。特許文献１には、撮影した画像から人物の顔のような特定の被写体パターンに該当する領域を検出し、検出した領域に焦点や露出を最適化させる撮像装置が開示されている。
【０００３】
また、深層学習と呼ばれる手法を用いて、画像中の被写体を学習、認識することが知られている（非特許文献１）。コンボリューショナル・ニューラル・ネットワーク（ＣＮＮ）は、深層学習の代表的な手法である。一般的にＣＮＮは、画像の局所の特徴を空間的に統合する畳み込み層、特徴量を空間方向へ圧縮するプーリング層またはサブサンプリング層、さらに、全結合層、出力層などが組み合わされた多層構造を有する。ＣＮＮは多層構造による段階的な特徴変換を通じて、複雑な特徴表現を獲得することができるため、特徴表現に基づいて画像中の被写体のカテゴリ認識や被写体検出を高精度に行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３１８５５４号公報
【非特許文献】
【０００５】
【非特許文献１】Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ”ImageNet classification with deep convolutional neural networks”, NIPS'12 Proceedings of the 25th International Conference on Neural Information Processing Systems - Volume 1, PP.1097-1105
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のように、撮影画像から検出された被写体領域に焦点を合わせる撮像装置においては、被写体検出に対する要求が、主被写体（焦点を合わせる被写体）の決定前後で異なる。主被写体の決定前では、ボケの大きさにかかわらず、検出対象の被写体を漏れなく検出できた方がよい。一方、主被写体の決定後は、ボケの大きな被写体は検出しなくてよい。
【０００７】
しかしながら、従来、機械学習を利用した被写体検出において、主被写体の決定前に適した被写体検出と、主被写体の決定後に適した被写体検出とを実現させるための手法は提案されていなかった。換言すれば、主被写体のボケ量（もしくは鮮明度）に適した被写体検出を行うための手法は提案されていなかった。主被写体のボケ量や鮮明度は、合焦度合いに限らず、被写体ブレや手ぶれの程度や、画像ノイズの大きさなどによっても変化する。
【０００８】
本発明はこのような従来技術の課題に鑑みてなされたものである。本発明の目的は、機械学習を利用した被写体検出において、主被写体のボケ量や鮮明度に適した被写体検出を実現可能な画像処理装置および画像処理方法、ならびに撮像装置を提供することにある。
【課題を解決するための手段】
【０００９】
上述の目的は、機械学習に基づいて生成されたパラメータを用いて、画像に対して被写体検出処理を適用する被写体検出手段と、被写体検出処理に用いるパラメータを複数記憶する記憶手段と、記憶手段が記憶するパラメータから、被写体検出手段で用いるパラメータを選択する選択手段と、を有し、選択手段は、主被写体が決定されている場合と、決定されていない場合とで、異なるパラメータを選択することを特徴とする画像処理装置によって達成される。また、同様の構成において、選択手段は、ブレが大きいと類推されるか否か、位置姿勢変化が大きいか否か、画像に施されたゲインが大きいか否かで異なるパラメータを選択することを特徴とする画像処理装置によって達成される。
【発明の効果】
【００１０】
本発明によれば、機械学習を利用した被写体検出において、主被写体の決定前に適した被写体検出と、主被写体の決定後に適した被写体検出とを実現可能な画像処理装置および画像処理方法、ならびに撮像装置を提供することができる。また、主被写体の動き状況、撮像装置の動き状況、撮影条件に応じて適した被写体検出を実現可能な画像処理装置および画像処理方法ならびに撮像装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る画像処理装置の一例としてのデジタル一眼レフカメラの模式的な垂直断面図。
【図２】第１実施形態に係るデジタル一眼レフカメラの機能構成例を示すブロック図。
【図３】第１実施形態に係る撮影動作の概要に関するフローチャート。
【図４】第１実施形態に係る被写体検出処理に関するフローチャート。
【図５】第１実施形態に係る被写体検出部が用いるＣＮＮの構成例を示す模式図。
【図６】図５のＣＮＮの一部の構成の示す模式図。
【図７】第２〜第４実施形態に係るデジタル一眼レフカメラの機能構成例を示すブロック図。
【図８】第２実施形態に係る動きベクトル算出処理の一例を示す模式図。
【図９】第２実施形態に係る被写体検出処理に関するフローチャート。
【図１０】第３実施形態に係る被写体検出処理に関するフローチャート。
【図１１】第４実施形態に係る被写体検出処理に関するフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の例示的な実施形態について詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１３】
以下の実施形態では、本発明をデジタル一眼レフカメラ（ＤＳＬＲ）で実施する場合に関して説明する。しかし、本発明は画像データを取り扱うことの可能な任意の電子機器で実施可能であり、デジタル一眼レフカメラは本発明に係る画像処理装置の一例に過ぎない。本発明を実施可能な電子機器には例えばパーソナルコンピュータ、スマートフォン、タブレット端末、ゲーム機、ロボットなどが含まれるが、これらに限定されない。
【００１４】
《第１実施形態》
●（撮像装置の構成）
図１は本実施形態に係るデジタル一眼レフカメラ（ＤＳＬＲ）１００の垂直断面図である。また、図２はＤＳＬＲ１００の機能構成例を示すブロック図である。全図を通じて同じ参照番号は同じ構成要素を指す。
【００１５】
ＤＳＬＲ１００は、本体１０１と、本体１０１に着脱可能な撮影レンズ１０２（交換レンズ）とを有する。本体１０１と撮影レンズ１０２の着脱部（マウント）にはそれぞれマウント接点群１１５が設けられている。撮影レンズ１０２を本体１０１に装着すると、マウント接点群１１５が接触し、撮影レンズ１０２と本体１０１との電気的な接続が確立する。
【００１６】
システム制御部２０１は、１つ以上のプログラマブルプロセッサと、ＲＯＭ２０１１、ＲＡＭ２０１２を有し、ＲＯＭ２０１１に記憶されているプログラムをＲＡＭ２０１２に読み込んで実行することにより、本体１０１および撮影レンズ１０２の動作を制御する。ＲＯＭ２０１１には、システム制御部２０１が実行するプログラムのほか、各種の設定値、ＧＵＩデータなどが記憶されている。
【００１７】
撮影レンズ１０２には合焦距離を調節するフォーカスレンズ１１３と、本体１０１に入射する光量を調整する絞り１１４（およびこれらを駆動するモータやアクチュエータなど）が設けられる。フォーカスレンズ１１３や絞り１１４の駆動は、マウント接点群１１５を通じてカメラ本体１０１が制御する。
【００１８】
メインミラー１０３およびサブミラー１０４は、クイックリターンミラーを構成する。メインミラー１０３の一部は、撮影レンズ１０２から入射する光束をファインダー光学系（図の上方）に向かう光束と、サブミラー１０４に向かう光束に分離するために反射率（透過率）が制御されている。
【００１９】
図１は光学ファインダー使用時（非撮影時）の状態を示しており、メインミラー１０３が撮影レンズ１０２から入射する光束の光路中に位置している。この状態では、メインミラー１０３の反射光がファインダー光学系に入射し、ペンタプリズム１０７によって屈曲された光束はアイピース１０９から出射する。したがって、ユーザはアイピース１０９を覗くことにより、光学被写体像を見ることができる。
【００２０】
また、メインミラー１０３の透過光はサブミラー１０４で反射されてＡＦセンサ１０５に入射する。ＡＦセンサ１０５は、撮影レンズ１０２の二次結像面をラインセンサー上に形成し、位相差検出方式による焦点検出に利用可能な１対の像信号（焦点検出用信号）を生成する。生成された焦点検出用信号はシステム制御部２０１へ送信される。システム制御部２０１は、焦点検出用信号を用いてフォーカスレンズ１１３のデフォーカス量を求め、デフォーカス量に基づいてフォーカスレンズ１１３の駆動方向および駆動量を制御する。
【００２１】
ピント板１０６は、ファインダー光学系内の撮影レンズ１０２の予定結像面に配置される。アイピース１０９を覗いたユーザは、ピント板１０６に形成された光学像を観察する。なお、光学像のほか、シャッタースピード、絞り値などの撮影情報も併せて提供することができる。
【００２２】
測光センサー１０８は、入射する光束から像信号（露出制御用信号）を生成し、システム制御部２０１へ送信する。システム制御部２０１は、受信した露出制御用信号を用いて自動露出制御を行ったり、後述する被写体検出部２０４による被写体検出を制御したりする。測光センサー１０８は、光電変換部を備える画素が２次元状に配置された撮像素子である。被写体検出部２０４は、測光センサー１０８が出力する像信号に対して被写体検出処理を適用するものとするが、撮像素子１１１が出力する像信号に対して被写体検出処理を適用してもよい。
【００２３】
撮像素子１１１の露光時、メインミラー１０３およびサブミラー１０４は、撮影レンズ１０２から入射する光束の光路の外に移動する。また、フォーカルプレーンシャッター１１０（以下、単にシャッターという）が開く。
【００２４】
撮像素子１１１には、光電変換部を備える画素が２次元状に配置されており、撮影レンズ１０２が形成する被写体光学像を各画素で光電変換し、画像信号をシステム制御部２０１に送信する。システム制御部２０１は、受信した画像信号から画像データを生成して画像記憶部２０２へ保存するとともに、ＬＣＤ等の表示部１１２に表示する。また、撮像素子１１１で生成された画像データは、被写体検出のために被写体検出部２０４にも供給されてもよい。なお、システム制御部２０１は、画像データを用い、コントラスト方式による焦点検出を行ってもよい。なお、システム制御部２０１は、画像データを用い、コントラスト方式による焦点検出を行ってもよい。
【００２５】
操作部２０３は、本体１０１および撮影レンズ１０２が備え、ユーザが操作可能な入力デバイス群の総称である。レリーズボタン、電源スイッチ、方向キー、決定ボタン、メニューボタン、動作モードの選択ダイヤルなどが操作部２０３に含まれる入力デバイスの具体例であるが、これらに限定されない。操作部２０３の操作は、システム制御部２０１が検知する。レリーズボタンは半押し操作でオンするスイッチＳＷ１と、全押し操作でオンするスイッチＳＷ２とを有する。
【００２６】
例えば、レリーズボタンの半押し操作（ＳＷ１のオン）が検出されると、システム制御部２０１は、静止画撮影準備動作を開始する。撮影準備動作は例えば自動焦点検出（ＡＦ）や自動露出制御（ＡＥ）に関する動作である。また、レリーズボタンの全押し操作（ＳＷ２のオン）を検出すると、システム制御部２０１は、静止画の撮影および記録動作を実行する。システム制御部２０１は、撮影によって得られた画像を、表示部１１２に一定時間表示する。
【００２７】
また、動画撮影時（撮影スタンバイ状態や動画記録中）、システム制御部２０１は、撮影によって得られた動画を、表示部１１２にリアルタイムに表示することにより、表示部１１２を電子ビューファインダー（ＥＶＦ）として機能させる。表示部１１２をＥＶＦとして機能させる際に表示する動画像およびそのフレーム画像を、ライブビュー画像もしくはスルー画像と呼ぶ。静止画と動画の何れを撮影するかは操作部２０３を通じて選択可能であり、システム制御部２０１は、静止画撮影時と動画撮影時とで、カメラ本体１０１および撮影レンズ１０２の制御方法を切り替える。
【００２８】
被写体検出部２０４は、ＧＰＵ(Graphic Processing Unit)で構成される。ＧＰＵは、元々は画像処理用のプロセッサであるが、複数の積和演算器を有し、行列計算を得意としているため、学習用の処理を行うプロセッサとしても用いられることが多い。そして、深層学習を行う処理においても、ＧＰＵが用いられることが一般的である。例えば、被写体検出部２０４として、ＮＶＩＤＩＡ社のＪｅｔｓｏｎ  ＴＸ２  ｍｏｄｕｌｅを用いることができる。なお、被写体検出部２０４として、ＦＰＧＡ(Field-Programmable Gate Array)やＡＳＩＣ(Application Specific Integrated Circuit）などを用いてもよい。
【００２９】
被写体検出部２０４は、学習モデル記憶部２０５が複数記憶する学習モデルのうち、システム制御部２０１が選択した１つの学習モデルを用いて、供給される画像データに対して被写体検出処理を適用する。被写体検出処理の詳細については後述する。学習モデル記憶部２０５は例えば書き換え可能な不揮発性メモリであってよく、ＲＯＭ２０１１の一部であってもよい。本実施形態において学習モデル記憶部は、被写体検出に求められる特性に応じた検出学習モデル２０６，２０７を記憶する。システム制御部２０１は、被写体検出部２０４が検出した被写体の領域から主被写体の領域を決定し、主被写体の領域に焦点や露出を最適化させる。具体的には、主被写体の領域が適正露出となるように露出条件を決定したり、主被写体の領域が合焦するように焦点調節したりすることができるが、これらに限定されない。
【００３０】
（被写体検出における辞書切り替え）
本実施形態のＤＳＬＲ１００（システム制御部２０１）は、被写体検出部２０４が検出した被写体の領域を露出条件の決定や焦点検出に用いる。より具体的には、システム制御部２０１は、被写体検出部２０４が検出した被写体の中から主被写体を決定し、主被写体の領域を露出条件の決定や焦点検出に用いる。したがって、主被写体の決定の前後で、被写体検出に要求される特性は異なる。なお、主被写体は、システム制御部２０１が予め定められた条件（例えば被写体領域の位置や大きさ）に従って決定してもよいし、ユーザの選択に従って決定してもよい。
【００３１】
主被写体の決定前に撮影される画像は、例えば画面中央が合焦するように焦点調節された画像であり、ユーザが主被写体としたい被写体には合焦していない場合がある。そのため、主被写体の決定前に実施する被写体検出では、ボケ量が大きくても検出対象の被写体が検出できることが要求される。換言すれば、誤検出の抑制よりも検出漏れの抑制を優先した被写体検出が要求される。
【００３２】
一方、主被写体が決定されると、その後は主被写体の領域が合焦するように焦点検出が行われるため、その後得られる画像における主被写体のボケ量は小さくなる。そのため、主被写体の決定後は、検出対象の被写体であっても、ボケ量の大きい被写体を検出する価値が低下する。換言すれば、検出漏れの抑制よりも誤検出の抑制を優先した被写体検出が要求される。
【００３３】
ボケ量の大きい被写体を検出しようとするほど、対象の被写体が写っていない領域を誤検出する確率が増加する傾向にある。これは、被写体のボケ量が大きくなるほど、被写体に類似した画像のバリエーションが増加するとともに、被写体の特徴が失われるからである。このように、主被写体の決定前は、ボケ量の小さい被写体から大きい被写体までを検出することが重要であって、主被写体の決定後は、誤検出を抑制し、ボケ量の小さい被写体を正確に検出することが重要である。
【００３４】
本実施形態の被写体検出部２０４は、予め機械学習を通じて生成された学習モデルに基づく処理パラメータを用いた被写体検出を画像に適用する。本実施形態では学習モデル記憶部２０５が、主被写体決定前の被写体検出用の検出学習モデル２０６と、主被写体決定後の被写体検出用の検出学習モデル２０７とを記憶している。主被写体決定前の被写体検出用の検出学習モデル２０６は、ボケ量の小さい被写体から大きい被写体の画像を用いた機械学習によって生成されている。また、主被写体決定後の被写体検出用の検出学習モデル２０７は、ボケ量の小さい被写体画像を重視した機械学習によって生成されている。
【００３５】
そして、システム制御部２０１は、主被写体の決定前後で、被写体検出部２０４が用いる学習モデルを切り替えることにより、被写体検出部２０４における被写体検出の特性を切り替える。システム制御部２０１は、主被写体の決定前には主被写体決定前の被写体検出用の検出学習モデル２０６を、主被写体の決定後には主被写体決定後の被写体検出用の検出学習モデル２０７を用いるように切り替える。
【００３６】
（撮像動作）
次に、図３および図４を参照して、本実施形態のＤＳＬＲ１００の撮影動作について説明する。
図３は撮影動作の概要に関するフローチャートであり、各ステップの処理はシステム制御部２０１のプログラマブルプロセッサがＲＯＭ２０１１からＲＡＭ２０１２に読み込まれたプログラムを実行することによって実現される。ここでは、本体１０１の電源がＯＮであり、撮影スタンバイ状態であるものとする。撮影スタンバイ状態でシステム制御部２０１は、例えば動画撮影を行い、得られた動画を表示部１１２に表示させることでＥＶＦとして機能させるなど、予め定められた動作を実行している。
【００３７】
Ｓ３０１でシステム制御部２０１は、レリーズボタンが有するスイッチＳＷ１およびＳＷ２の状態を検出し、スイッチＳＷ１とＳＷ２のいずれかがオンであれば処理をＳ３０２に進める。一方、スイッチＳＷ１とＳＷ２のいずれもオフであれば、システム制御部２０１はＳ３０１を繰り返し実行する。
【００３８】
Ｓ３０２でシステム制御部２０１は、測光センサー１０８の露光処理（電荷蓄積）を行う。測光センサー１０８の露光処理は所謂電子シャッターによって所定時間電荷蓄積を行うことによって実現される。システム制御部２０１は、測光センサー１０８の動作を制御して、所定時間電荷蓄積を行い、測光センサー１０８から画像信号（露出制御用信号）を読み出す。また、システム制御部２０１は、ＡＦセンサー１０５についても露光処理（電荷蓄積）を行い、画像信号（焦点検出用信号）を読み出す。
【００３９】
Ｓ３０３でシステム制御部２０１は、露出制御用信号を被写体検出部２０４に供給し、被写体検出結果を被写体検出部２０４から取得する。また、システム制御部２０１は、被写体検出結果に基づいて主被写体を決定する。主被写体は任意の方法で決定することができ、システム制御部２０１が自動的に決定してもよいし、検出された被写体の領域をユーザに示し、ユーザが選択した領域の被写体を主被写体と決定してもよい。システム制御部２０１が自動的に主被写体を決定する場合、例えば被写体の領域の位置や大きさに基づいて決定することができる。例えば、画像の中心に一番近い被写体や、領域が一番大きい被写体を主被写体に決定することができる。なお、被写体検出の信頼度や過去の検出結果など、他の条件を考慮したり、複数の条件を組み合わせて考慮したりして主被写体を決定することもできる。被写体検出処理の詳細については図４を用いて後述する。
【００４０】
Ｓ３０４でシステム制御部２０１は、選択可能な焦点検出領域のうち、Ｓ３０３で決定した主被写体の位置に最も近い焦点検出領域を選択する。そして、Ｓ３０２で読み出した焦点検出用信号のうち、選択した焦点検出領域に関する焦点検出用信号から、選択した焦点検出領域の焦点状態（デフォーカス量および方向）を検出する。
【００４１】
なお、Ｓ３０３で被写体が検出されなかった場合、システム制御部２０１は、選択可能な全ての焦点検出領域についての焦点状態（デフォーカス量および方向）を、焦点検出用信号に基づいて求める。そして、最も近い距離に被写体が存在する焦点検出領域を選択する。
【００４２】
Ｓ３０５でシステム制御部２０１は、Ｓ３０４で選択した焦点検出領域の焦点状態に基づいてフォーカスレンズ１１３の位置を制御することにより、撮影レンズ１０２の合焦距離を調節する。
【００４３】
Ｓ３０６でシステム制御部２０１は、Ｓ３０２で読み出した露出制御用信号を用いて撮影条件（絞り値（ＡＶ値）、シャッタスピード（ＴＶ値）、ＩＳＯ感度（ＩＳＯ値））を決定する。撮影条件の決定方法に特に制限は無いが、ここでは、露出制御用信号に基づいて得られる輝度（Ｂｖ値）に対応する撮影条件を、予め記憶されたプログラム線図を参照して決定するものとする。なお、被写体検出処理によって検出された被写体領域の輝度を用いて撮影条件を決定するようにしてもよい。
【００４４】
Ｓ３０７でシステム制御部２０１は、スイッチＳＷ２の状態を検出し、スイッチＳＷ２がオンであれば処理をＳ３０８へ進め、スイッチＳＷ２がオフであれば処理をＳ３０１に戻す。
【００４５】
Ｓ３０８でシステム制御部２０１は、静止画の撮影処理を実行する。システム制御部２０１は、撮影レンズ１０２からの光束と交差しない位置にメインミラー１０３およびサブミラー１０４を移動させるとともに、Ｓ３０６で決定したシャッタースピードに従ってシャッター１１０を駆動する。これにより、撮影レンズ１０２が形成する光学像によって撮像素子１１１が露光される。撮像素子１１１は各画素が露光期間に蓄積した電荷を電圧に変換した画像信号を生成する。システム制御部２０１は撮像素子から画像信号を読み出し、Ａ／Ｄ変換、ノイズ低減、ホワイトバランス調整、色補間など、予め定められた画像処理を適用することにより画像データを生成する。システム制御部２０１は、生成した画像データを画像データファイルとして画像記憶部２０２に保存したり、画像データに基づく表示用画像信号を生成して表示部１１２に表示したりする。その後、システム制御部２０１は処理をＳ３０１に戻す。
【００４６】
（被写体検出の処理の流れ）
次に、図４に示すフローチャートを用いて、図３のＳ３０３の被写体検出処理の詳細について説明する。
Ｓ４０１でシステム制御部２０１は、主被写体が決定済みであるか否か判定し、決定済みと判定されなければＳ４０２へ、決定済みと判定されればＳ４０３へ、処理を進める。
【００４７】
Ｓ４０２でシステム制御部２０１（選択手段）は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、主被写体決定前の被写体検出用の検出学習モデル２０６を選択し、被写体検出処理用のパラメータとして被写体検出部２０４に設定する。主被写体決定前の被写体検出用の検出学習モデル２０６は、幅広いボケ量に対応して被写体を検出するための学習モデルであり、検出対象の被写体について小さいボケ量から大きいボケ量まで幅広いボケ量の画像を用いた機械学習によって得られた学習モデルである。検出学習モデル２０６を用いることにより、ボケ量が大きくても検出対象の被写体を検出可能な被写体検出が実現できる。
【００４８】
Ｓ４０３でシステム制御部２０１（選択手段）は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、主被写体決定後の被写体検出用の検出学習モデル２０７を選択し、被写体検出処理用のパラメータとして被写体検出部２０４に設定する。主被写体決定後の被写体検出用の検出学習モデル２０７は、ボケ量の小さい被写体を検出するための学習モデルであり、検出対象の被写体について、小さいボケ量の画像を重視して用いた機械学習によって得られた学習モデルである。検出学習モデル２０７を用いることにより、ボケ量が小さな検出対象の被写体を精度良く検出可能な被写体検出が実現できる。
【００４９】
また、Ｓ４０２およびＳ４０３でシステム制御部２０１は、Ｓ３０２で読み出した露出制御用信号に対してＡ／Ｄ変換やノイズ低減処理などを行って生成した画像データを被写体検出部２０４に供給する。そして、システム制御部２０１は、処理をＳ４０４に進める。
【００５０】
Ｓ４０４で被写体検出部２０４は、露出制御用信号に基づく画像データに対して、システム制御部２０１からＳ４０２またはＳ４０３において設定された検出学習モデルを用いて被写体検出処理を適用する。被写体検出部２０４は、検出結果を表す情報をシステム制御部２０１に供給する。検出結果を表す情報には、被写体が検出されたか否か（検出数）や、検出した被写体領域に関する情報（例えば位置や大きさ）が含まれてよい。被写体検出部２０４は、被写体検出にＣＮＮを用いる。ＣＮＮの詳細については後述する。
【００５１】
Ｓ４０５でシステム制御部２０１は、被写体検出の結果、被写体が１つ以上検出されていれば、検出された被写体から主被写体を決定する。主被写体の決定方法については先に述べたとおりである。
【００５２】
ここでは、主被写体の決定後は、ボケ量の小さい被写体の画像を重視した機械学習で得られた検出学習モデル２０７を用いて被写体検出を行うものとして説明した。しかし、主被写体の決定後であっても、主被写体が所定期間継続して検出されない場合には、幅広いボケ量に対応して被写体を検出するための学習モデルである検出学習モデル２０６を用いるように構成してもよい。主被写体が所定期間継続して検出されない（見失った）場合、主被写体のボケ量が大きくなっている可能性があるためである。
【００５３】
また、主被写体の決定後であっても、主被写体に合焦していないと判断される期間についても、検出学習モデル２０６を用いる構成としてもよい。主被写体に合焦する前は、主被写体のボケ量が大きい状態である可能性があるためである。あるいは、主被写体のボケ量が閾値以上である場合には検出学習モデル２０６を用いる構成としてもよい。あるいは、スイッチＳＷ１がオンになる前においても、検出学習モデル２０６を用いて被写体検出を行う構成としてもよい。
【００５４】
なお、検出学習モデル２０６を用いた場合、誤検出よりも検出漏れを抑制することを優先した被写体検出が行われる。そのため、被写体検出に検出学習モデル２０６を用いている場合は、被写体検出に検出学習モデル２０７を用いている場合よりも、Ｓ４０５において、主被写体を決定する際に必要な検出信頼度の閾値を厳しく設定することができる。つまり、主被写体の領域に必要な被写体検出の確からしさ（検出信頼度）を、検出学習モデル２０６を用いて検出された被写体領域については、検出学習モデル２０７を用いて検出された被写体領域よりも高く設定することができる。これにより、誤検出された被写体を主被写体として決定し、適切でない領域に焦点調節や露出制御を最適化してしまうことを抑制できる。
【００５５】
（被写体検出部の詳細）
次に、被写体検出部２０４について説明する。本実施形態では、被写体検出部２０４をＣＮＮ（コンボリューショナル・ニューラル・ネットワーク）の１種であるネオコグニトロンで構成する。被写体検出部２０４の基本的な構成について、図５および図６を用いて説明する。図５に入力された２次元画像データから被写体を検出するＣＮＮの基本的な構成を示す。処理の流れは、左端を入力とし、右方向に処理が進んでいく。ＣＮＮは、特徴検出層（Ｓ層）と特徴統合層（Ｃ層）と呼ばれる２つの層をひとつのセットとし、それが階層的に構成されている。なお、Ｓ層は従来技術で説明した畳み込み層に、Ｃ層は同プーリング層またはサブサンプリング層に対応する。
【００５６】
ＣＮＮでは、まずＳ層において１つ前の階層で検出された特徴をもとに次の特徴を検出する。またＳ層において検出した特徴をＣ層で統合し、その階層における検出結果として次の階層に伝える構成を有する。
Ｓ層は特徴検出細胞面からなり、特徴検出細胞面ごとに異なる特徴を検出する。また、Ｃ層は特徴統合細胞面からなり、１つ前の階層の特徴検出細胞面での検出結果をプーリングもしくはサブサンプリングする。以下では、特に区別する必要がない場合、特徴検出細胞面および特徴統合細胞面を総称して特徴面と呼ぶ。本実施形態では、最終階層である出力層（ｎ階層目）ではＣ層は用いずＳ層のみで構成している。
【００５７】
特徴検出細胞面での特徴検出処理、および特徴統合細胞面での特徴統合処理の詳細について、図６を用いて説明する。１つの特徴検出細胞面は複数の特徴検出ニューロンにより構成され、個々の特徴検出ニューロンは１つ前の階層のＣ層に所定の構造で結合している。また１つの特徴統合細胞面は、複数の特徴統合ニューロンにより構成され、個々の特徴統合ニューロンは同じ階層のＳ層に所定の構造で結合している。
【００５８】
図６に示した、Ｌ階層目のＳ層のＭ番目の細胞面内において、位置（ξ, ζ）の特徴検出ニューロンの出力値を
【数１】
2019186911.tif 000003
と表記する。また、Ｌ階層目のＣ層のＭ番目の細胞面内において、位置(ξ, ζ)の特徴統合ニューロンの出力値を
【数２】
2019186911.tif 000004
と表記する。その時、それぞれのニューロンの結合係数を
【数３】
2019186911.tif 000005
とすると、各出力値は以下のように表すことができる。
【００５９】
[数式１]
【数４】
2019186911.tif 000006
[数式２]
【数５】
2019186911.tif 000007
ここで、数式１におけるｆは活性化関数であり、例えばロジスティック関数や双曲正接関数などのシグモイド関数である。また、
【数６】
2019186911.tif 000008
は、Ｌ階層目のＳ層のＭ番目の細胞面における、位置(ξ, ζ)の特徴検出ニューロンの内部状態を表す。数式２は活性化関数を用いておらず、単純な線形和で表されている。
【００６０】
数式２のように活性化関数を用いない場合、ニューロンの内部状態
【数７】
2019186911.tif 000009
と出力値
【数８】
2019186911.tif 000010
とは等しい。また、数式１の
【数９】
2019186911.tif 000011
を特徴検出ニューロンの結合先出力値と呼び、数式２の
【数１０】
2019186911.tif 000012
を特徴統合ニューロンの結合先出力値と呼ぶ。
【００６１】
ここで、数式１及び数式２におけるξ，ζ，ｕ，v，nについて説明する。位置(ξ, ζ)は入力画像における位置座標に対応しており、例えば出力値
【数１１】
2019186911.tif 000013
が大きい場合、入力画像の画素位置(ξ, ζ)に、Ｌ階層目のＳ層のＭ番目の細胞面が検出する特徴が存在する可能性が高いことを意味する。またｎは数式１において、Ｌ−１階層目のＣ層のｎ番目の細胞面を意味しており、統合先特徴番号と呼ぶ。基本的にＬ−１階層目のＣ層に存在する全ての細胞面について積和演算を行う。（ｕ, ｖ）は、結合係数の相対位置座標であり、検出する特徴のサイズに応じて有限の範囲（ｕ, ｖ）において積和演算を行う。このような有限な（ｕ, ｖ）の範囲を受容野と呼ぶ。また受容野の大きさを、以下では受容野サイズと呼び、結合している範囲の横画素数×縦画素数で表す。
【００６２】
また数式１において、Ｌ＝１つまり最初の階層のＳ層では、数式１中の
【数１２】
2019186911.tif 000014
は、入力画像
【数１３】
2019186911.tif 000015
である。ちなみにニューロンや画素の分布は離散的であり、結合先特徴番号も離散的なので、ξ，ζ，ｕ，ｖ，ｎは離散的な値をとる。ここでは、ξ，ζは非負整数、ｎは自然数、ｕ，ｖは整数とし、何れも有限な範囲を有する。
【００６３】
数式１中の
【数１４】
2019186911.tif 000016
は、所定の特徴を検出するための結合係数であり、結合係数を適切な値に調整することによって、所定の特徴を検出可能になる。この結合係数の調整が学習であり、ＣＮＮの構築においては、さまざまなテストパターンを用いて、
【数１５】
2019186911.tif 000017
が適切な出力値になるように、結合係数を繰り返し徐々に修正していくことで結合係数を調整する。
【００６４】
次に、数式２中の
【数１６】
2019186911.tif 000018
は、２次元のガウシアン関数を用いており、以下の数式３のように表すことができる。
[数式３]
【数１７】
2019186911.tif 000019
ここでも、（ｕ，ｖ）は有限の範囲を有し、特徴検出ニューロンの場合と同様、範囲を受容野、範囲の大きさを受容野サイズと呼ぶ。ここではＬ階層目のＳ層のＭ番目の特徴のサイズに従って、受容野サイズの値を適宜設定することができる。数式３中のσは特徴サイズ因子であり、受容野サイズに応じて適宜定めることができる定数であってよい。例えば、受容野の一番外側の値がほぼ０とみなせるような値になるように特徴サイズ因子σを設定することができる。このように、本実施形態の被写体検出部２０４は、上述した演算を各階層で行い、最終階層（ｎ階層目）のＳ層において被写体検出を行うＣＮＮによって構成される。
【００６５】
（被写体検出の学習方法）
結合係数
【数１８】
2019186911.tif 000020
の具体的な調整（学習）方法について説明する。被写体検出部２０４に直接的に学習を行わせても良いし、被写体検出部２０４と等価なＣＮＮの機能を有するクラウドや外部のエッジコンピュータ上において学習を行わせるようにしてもよい。クラウドやエッジコンピュータ上で学習を行った場合には、ＤＳＬＲ１００が生成された学習モデルを無線通信、有線通信、あるいは、着脱可能な記憶メディアを介して取得し、学習モデル記憶部２０５に記憶させるようにすればよい。学習は、ＣＮＮに特定の入力画像（テストパターン）を与えて得られるニューロンの出力値と、教師信号（そのニューロンが出力すべき出力値）との関係に基づいて、結合係数
【数１９】
2019186911.tif 000021
を修正することである。本実施形態の学習では、最終階層（ｎ階層目）の特徴検出層Ｓについては最小二乗法を用いて結合係数を修正する。また、他の階層（１〜ｎ−１階層目）の特徴検出層Ｓについては、誤差逆伝搬法を用いて結合係数を修正する。最小二乗法や誤差逆伝搬法を用いた結合係数の修正手法は例えば非特許文献１に記載されるような公知技術を用いることができるため、詳細についての説明は省略する。
【００６６】
検出すべきパターンと、検出すべきでないパターンとを、学習用のテストパターンとして多数用意する。各テストパターンは、画像データと、対応する教師信号とを有する。検出すべきパターンに該当する画像データについては、最終階層の特徴検出細胞面において、検出対象のパターンが存在する領域に対応するニューロンの出力が１となるような教師信号とする。一方、検出すべきでないパターンに該当する画像データについては、検出すべきでないパターンが存在する領域に対応するニューロンの出力が−１となるような教師信号を与える。
【００６７】
本実施形態では、被写体検出を実施する時期により、望ましい被写体検出の特性が異なることに着目し、被写体検出に用いるパラメータ（機械学習によって生成した学習モデル）を、被写体検出を実施する時期に応じて切り替える構成とした。そのため、１つの学習モデルを用いる構成と比較して、より適切な被写体検出結果を得ることができる。具体的には、検出対象の被写体（例えば人物の顔）について、さまざまなボケ量（小さいボケ量から大きいボケ量まで）の画像データを用いたテストパターンによる機械学習により、主被写体決定前の被写体検出用の検出学習モデル２０６を用意する。また、検出対象の被写体について、小さいボケ量の画像データを重点的に用いたテストパターンによる機械学習により、主被写体決定後の被写体検出用の検出学習モデル２０７を用意する。
【００６８】
そして、主被写体の決定前には検出学習モデル２０６を、決定後には検出学習モデル２０７を用いることにより、主被写体の決定前に適した被写体検出と、主被写体の決定後に適した被写体検出とを実現できる。そのため、検出された被写体のうち、特定の被写体の領域を用いる処理を適切に実行することができる。
【００６９】
《第２実施形態》
次に、本発明の第２実施形態について説明する。図７は、本実施形態に係るＤＳＬＲ１００の機能構成例を示すブロック図であり、第１実施形態と同様の構成については図２と同じ参照数字を付してある。ただし、測光センサー１０８は、像信号を生成する際に、像信号の輝度値が所定の範囲に含まれるように像信号にゲインを適用する点で第１実施形態と異なる。測光センサー１０８が像信号に適用したゲインの大きさは、測光センサー１０８からシステム制御部２０１に通知される。また、学習モデル記憶部２０５は、記憶している検出学習モデルの種類が第１実施形態と異なる。
【００７０】
位置姿勢変化取得部７０１は、例えばジャイロ、加速度センサ、電子コンパス等の位置姿勢センサを有し、ＤＳＬＲ１００の位置姿勢変化を表す信号を出力する。システム制御部２０１は、位置姿勢変化取得部７０１が出力した信号をＲＡＭ２０１２に格納する。
【００７１】
動きベクトル検出部７０２は、２フレーム分の画像データを用いて動きベクトルを検出する。検出した動きベクトルの情報はシステム制御部２０１に出力する。システム制御部２０１は、動きベクトルの情報をＲＡＭ２０１２に格納する。ベクトル検出処理の詳細については後述する。その他の各部については第１実施形態と同様のため、説明を省略する。
【００７２】
（動きベクトル算出処理の詳細）
動きベクトル検出部７０２における、動きベクトル算出処理の詳細について説明する。図８は、動きベクトル検出部７０２に供給される２フレーム分の画像を模式的に示した図である。ここで、２フレーム分の画像は、同じ視点から異なるタイミングで撮影された画像であり、現フレームをフレームt、１つ前のフレームをフレームt-1とするフレームt-1内の複数の位置に対して、フレームtとのマッチング処理を行う。そして、フレームt-1上の点
【数２０】
2019186911.tif 000022
を始点、それらに対応するフレームt上の点
【数２１】
2019186911.tif 000023
を終点とする、ｉ個のベクトルｖiを以下のように算出する。
【数２２】
2019186911.tif 000024
ただし、ベクトルの第一成分を画像の横方向、第二成分を画像の縦方向とする。
【００７３】
（被写体検出における辞書切り替え）
フレーム間の動きベクトルに基づいて現フレーム内の被写体領域を検出しようとした場合、動きベクトルが大きいほど誤検出の確率が増加する。これは、動きベクトルが大きい被写体は画像のブレが大きく、ボケ量の大きい場合と同様、被写体に類似した画像のバリエーションが増加するとともに、被写体の特徴が失われるからである。
【００７４】
被写体検出部２０４は、予め機械学習を通じて生成された学習モデルに基づく処理パラメータを用いた被写体検出処理を画像に適用する。具体的には、被写体検出部２０４は、学習モデル記憶部２０５に記憶された学習モデルのうち、主被写体動きベクトル小用の検出学習モデル７０３と主被写体動きベクトル大用の検出学習モデル７０４とを参照する。主被写体動きベクトル小用の検出学習モデル７０３は、被写体ブレ量の小さい被写体画像を重視した機械学習によって生成されている。また、主被写体動きベクトル大用の検出学習モデル７０４は、被写体ブレ量の大きい被写体画像を重視した機械学習によって生成されている。
【００７５】
そして、システム制御部２０１は、主被写体の動きベクトルの大きさに応じて、主被写体動きベクトル小用の検出学習モデル７０３と主被写体動きベクトル大用の検出学習モデル７０４のどちらを被写体検出部２０４で用いるかを切り替える。主被写体の動きベクトルの大きさに応じて被写体検出処理に用いる学習モデルを切り替えることにより、システム制御部２０１は主被写体検出部２０４における被写体検出処理の特性を切り替える。より具体的には、システム制御部２０１は、主被写体の動きベクトルが大きい判定されなければ検出学習モデル７０３を、主被写体の動きベクトルが大きいと判定されれば検出学習モデル７０４を用いるように切り替える。動きベクトルの大きさを判定するための閾値は、例えば予め実験的に定めることができる。
【００７６】
（被写体検出の処理の流れ）
次に、図９に示すフローチャートを用いて、本実施形態のＤＳＬＲ１００が撮影動作で行う被写体検出処理の詳細について説明する。本実施形態のＤＳＬＲ１００の撮影動作は第１実施形態と同様であるため、以下で説明する被写体検出処理は、図３のＳ３０３で実施される。なお、ここでは既に主被写体が決定されており、動きベクトル検出部７０２は例えば撮影スタンバイ状態で撮影される動画のフレーム画像を用いて、前フレームにおける主被写体領域内の点を始点とする動きベクトルを１つ以上検出しているものとする。
【００７７】
Ｓ９０１でシステム制御部２０１は、ＲＡＭ２０１２を参照して主被写体の動きベクトルの大きさを算出する。そして、システム制御部２０１は、算出した大きさを予め定めた閾値と比較し、閾値より大きければ動きベクトルが大きいと判定する。システム制御部２０１は、主被写体の動きベクトルが大きいと判定されればＳ９０３へ、判定されなければＳ９０２へ、それぞれ処理を進める。
【００７８】
Ｓ９０２でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、動きベクトル小用の検出学習モデル７０３を選択し、被写体検出処理用のパラメータとして被写体検出部２０４に設定する。検出学習モデル７０３を用いることにより、被写体ブレが小さな検出対象の被写体を精度よく検出可能な被写体検出が実現できる。
【００７９】
Ｓ９０３でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、動きベクトル大用の検出学習モデル７０４を選択し、被写体検出処理用パラメータとして被写体検出部２０４に設定する。検出学習モデル７０４を用いることにより、被写体ブレが大きくても検出対象の被写体を検出可能な被写体検出が実現できる。
【００８０】
また、Ｓ９０２およびＳ９０３でシステム制御部２０１は、Ｓ３０２で読みだした露出制御用信号に対してＡ／Ｄ変換やノイズ低減処理などを行って生成した画像データを被写体検出部２０４に供給する。そして、システム制御部２０１は、処理をＳ９０４に進める。
【００８１】
Ｓ９０４で被写体検出部２０４は、露出制御用信号に基づく画像データに対して、システム制御部２０１からＳ９０２またはＳ９０３で設定された検出学習モデルを用いて被写体検出処理を適用する。被写体検出部２０４は、検出結果を表す情報をシステム制御部２０１に供給する。検出結果を表す情報や、ＣＮＮを用いた被写体検出の具体的な処理は第１実施形態と同様であってよい。
【００８２】
Ｓ９０５でシステム制御部２０１は、被写体検出の結果、被写体が１つ以上検出されていれば、検出された被写体から主被写体を決定する。主被写体の決定方法についても第１実施形態と同様であってよい。
【００８３】
Ｓ９０６で動きベクトル検出部７０２は、前述の方法によりＳ９０５で決定した主被写体の動きベクトルを算出する。
【００８４】
本実施形態では、主被写体の動きベクトルの大きさ応じて望ましい被写体検出の特性が異なることに着目し、被写体検出に用いるパラメータ（機械学習によって生成した学習モデル）を、主被写体の動きベクトルの大きさに応じて切り替える構成とした。そのため、１つの学習モデルを用いる構成と比較して、より適切な被写体検出結果を得ることができる。具体的には、検出対象の被写体（例えば人物の顔）について、小さい被写体ブレ量の画像データを重点的に用いたテストパターンによる機械学習により、動きベクトル小用の検出学習モデル７０３を用意する。また、検出対象の被写体について、大きい被写体ブレ量の画像データを重点的に用いたテストパターンによる機械学習により、動きベクトル大用の検出学習モデル７０４を用意する。
【００８５】
そして、主被写体の動きベクトルが大きいと判定される場合には検出学習モデル７０４を、大きいと判定されない場合には検出学習モデル７０３を用いて被写体検出処理を実行するよう、検出学習モデルを切り替える。これにより、主被写体の動きベクトルの大きさ（すなわち、被写体像のブレ量の大きさ）に適した被写体検出を実現できる。そのため、検出された被写体のうち、特定の被写体の領域を用いる処理を適切に実行することができる。
【００８６】
《第３実施形態》
次に、本発明の第３実施形態について説明する。本実施形態は、被写体検出に用いる学習モデルの切り替え方法以外は第２実施形態と同様に実施することができる。そのため、以下では学習モデルの切り替え方法に関して重点的に説明する。
【００８７】
（被写体検出における辞書切り替え）
本実施形態では、被写体検出処理に用いる学習モデルを、撮像装置（ＤＳＬＲ１００）の位置姿勢変化の大きさに応じて切り替える。撮像装置の位置姿勢変化が大きい場合には、手ぶれが大きくなるため、被写体領域の誤検出が起こりやすくなる。これは、撮像装置の位置姿勢変化が大きい場合はボケ量の大きい場合と同様に、被写体に類似した画像のバリエーションが増加するとともに、被写体の特徴が失われるからである。
【００８８】
本実施形態の被写体検出部２０４は、予め機械学習を通じて生成された学習モデルに基づく処理パラメータを用いた被写体検出を画像に適用する。本実施形態では学習モデル記憶部２０５から、位置姿勢変化小用の検出学習モデル７０５と、位置姿勢変化大用の検出学習モデル７０６を参照する。位置姿勢変化小用の検出学習モデル７０５は、手ブレ量が小さい場合の被写体画像を重視した機械学習によって生成されている。また、位置姿勢変化大用の検出学習モデル７０６は、手ブレ量が大きい場合の被写体画像を重視した機械学習によって生成されている。
【００８９】
そして、システム制御部２０１は、位置姿勢変化の大きさに応じて、被写体検出部２０４が用いる学習モデルを切り替えることにより、被写体検出部２０４における被写体検出の特性を切り替える。より具体的には、位置姿勢変化が大きいと判定されない場合には、位置姿勢変化小用の検出学習モデル７０５を、位置姿勢変化が大きいと判定される場合には、位置姿勢変化大用の検出学習モデル７０６を用いるように切り替える。位置姿勢変化の大きさを判定するための閾値は、例えば予め実験的に定めることができる。
【００９０】
（被写体検出の処理の流れ）
次に、図１０に示すフローチャートを用いて、本実施形態のＤＳＬＲ１００が撮影動作で行う被写体検出処理の詳細について説明する。本実施形態のＤＳＬＲ１００の撮影動作は第１実施形態と同様であるため、以下で説明する被写体検出処理は、図３のＳ３０３で実施される。
【００９１】
Ｓ１００１でシステム制御部２０１は、ＲＡＭ２０１２を参照して、位置姿勢変化取得部７０１から得られた位置姿勢変化を予め定めた閾値と比較し、閾値より大きければ位置姿勢変化が大きいと判定する。システム制御部２０１は、ＤＳＬＲ１００の位置姿勢変化が大きいと判定されればＳ１００３へ、判定されなければＳ１００２へ、それぞれ処理を進める。
【００９２】
Ｓ１００２でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、位置姿勢変化小用の検出学習モデル７０５を選択し、被写体検出処理用のパラメータとして被写体検出部２０４に設定する。検出学習モデル７０５を用いることにより、手ブレが小さな検出対象の被写体を精度よく検出可能な被写体検出が実現できる。
Ｓ１００３でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、位置姿勢変化大用の検出学習モデル７０６を選択し、被写体検出処理用パラメータとして被写体検出部２０４に設定する。検出学習モデル７０６を用いることにより、手ブレが大きくても検出対象の被写体を検出可能な被写体検出が実現できる。
【００９３】
また、Ｓ１００２およびＳ１００３でシステム制御部２０１は、Ｓ３０２で読みだした露出制御用信号に対してＡ／Ｄ変換やノイズ低減処理などを行って生成した画像データを被写体検出部２０４に供給する。そして、システム制御部２０１は、処理をＳ１００４に進める。
【００９４】
Ｓ１００４で被写体検出部２０４は、露出制御用信号に基づく画像データに対して、システム制御部２０１からＳ１００２またはＳ１００３で設定された検出学習モデルを用いて被写体検出処理を適用する。被写体検出部２０４は、検出結果を表す情報をシステム制御部２０１に供給する。検出結果を表す情報や、ＣＮＮを用いた被写体検出の具体的な処理は第１実施形態と同様であってよい。
【００９５】
本実施形態では、撮像装置の位置姿勢変化の大きさに応じて望ましい被写体検出の特性が異なることに着目し、被写体検出に用いるパラメータ（機械学習によって生成した学習モデル）を、位置姿勢変化の大きさに応じて切り替える構成とした。そのため、１つの学習モデルを用いる構成と比較して、より適切な被写体検出結果を得ることができる。具体的には、検出対象の被写体（例えば人物の顔）について、手ブレ量が小さい場合の画像データを重点的に用いたテストパターンによる機械学習により、位置姿勢変化小用の検出学習モデル７０５を用意する。また、検出対象の被写体について、手ブレ量が大きい場合の画像データを重点的に用いたテストパターンによる機械学習により、位置姿勢変化大用の検出学習モデル７０６を用意する。
【００９６】
そして、位置姿勢変化が大きいと判定される場合には検出学習モデル７０６を、大きいと判定されない場合には検出学習モデル７０５を用いて被写体検出処理を実行するよう、検出学習モデルを切り替える。これにより、位置姿勢変化の大きさ（すなわち、被写体像のブレ量の大きさ）に適した被写体検出を実現できる。そのため、検出された被写体のうち、特定の被写体の領域を用いる処理を適切に実行することができる。
【００９７】
《第４実施形態》
次に、本発明の第４実施形態について説明する。本実施形態は、被写体検出に用いる学習モデルの切り替え方法以外は第２実施形態と同様に実施することができる。そのため、以下では学習モデルの切り替え方法に関して重点的に説明する。
【００９８】
（被写体検出における辞書切り替え）
本実施形態では、被写体検出処理に用いる学習モデルを、被写体検出に用いる画像データのノイズ量の大きさに応じて切り替える。より具体的には、被写体検出処理に用いる学習モデルを、被写体検出部２０４に供給される画像データ（測光センサー１０８が生成する像信号）に適用されるゲイン（信号増幅率）の大きさに応じて切り替える。
【００９９】
大きなゲインが適用された画像データに対して被写体検出処理を適用した場合、被写体領域の誤検出が起こりやすくなる。これは、画像データにゲインを適用することで、ノイズも増幅され、画像のＳ／Ｎ比が低下し、被写体に類似した画像のバリエーションが増加するとともに、被写体の特徴が失われるからである。
【０１００】
本実施形態の被写体検出部２０４は、予め機械学習を通じて生成された学習モデルに基づく処理パラメータを用いた被写体検出を画像に適用する。本実施形態では学習モデル記憶部２０５から、ゲイン小用の検出学習モデル７０７と、ゲイン大用の検出学習モデル７０８を参照する。ゲイン小用の検出学習モデル７０７は、ノイズが小さい場合の被写体画像を重視した機械学習によって生成されている。また、ゲイン大用の検出学習モデル７０８は、ノイズが大きい場合の被写体画像を重視した機械学習によって生成されている。
【０１０１】
そして、システム制御部２０１は、被写体検出部２０４に供給される画像データに適用されたゲインの大きさに応じて、被写体検出部２０４が用いる学習モデルを切り替えることにより、主被写体検出部２０４における被写体検出の特性を切り替える。より具体的には、画像データに施されたゲインが大きいと判定される場合には、ゲイン大用の検出学習モデル７０８を、画像に施されたゲインが大きいと判定されない場合には、ゲイン小用の検出学習モデル７０７を用いるように切り替える。ゲインの大きさを判定するための閾値は、例えば予め実験的に定めることができる。なお、被写体検出を撮像素子１１１で得られた画像データに対して実施する場合、システム制御部２０１は例えば撮影感度に対応するゲインの大きさを判定することができる。
【０１０２】
（被写体検出の処理の流れ）
次に、図１１に示すフローチャートを用いて、本実施形態のＤＳＬＲ１００が撮影動作で行う被写体検出処理の詳細について説明する。本実施形態のＤＳＬＲ１００の撮影動作は第１実施形態と同様であるため、以下で説明する被写体検出処理は、図３のＳ３０３で実施される。
【０１０３】
Ｓ１１０１でシステム制御部２０１は、測光センサー１０８が像信号に適用したゲインの大きさを予め定めた閾値と比較し、閾値より大きければゲインが大きいと判定する。システム制御部２０１は、ゲインが大きいと判定されればＳ１１０３へ、判定されなければＳ１１０２へ、それぞれ処理を進める。
【０１０４】
Ｓ１１０２でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、ゲイン小用の検出学習モデル７０７を選択し、被写体検出処理用のパラメータとして被写体検出部２０４に設定する。検出学習モデル７０７を用いることにより、ノイズが小さい場合に検出対象の被写体を精度よく検出可能な被写体検出が実現できる。
【０１０５】
Ｓ１１０３でシステム制御部２０１は、学習モデル記憶部２０５に複数記憶されている学習モデルのうち、ゲイン大用の検出学習モデル７０８を選択し、被写体検出処理用パラメータとして被写体検出部２０４に設定する。検出学習モデル７０８を用いることにより、ノイズが大きい場合でも検出対象の被写体を検出可能な被写体検出が実現できる。
【０１０６】
また、Ｓ１１０２およびＳ１１０３でシステム制御部２０１は、Ｓ３０２で読みだした露出制御用信号に対してＡ／Ｄ変換やノイズ低減処理などを行って生成した画像データを被写体検出部２０４に供給する。そして、システム制御部２０１は、処理をＳ１１０４に進める。
【０１０７】
Ｓ１１０４で被写体検出部２０４は、露出制御用信号に基づく画像データに対して、システム制御部２０１からＳ１１０２またはＳ１１０３で設定された検出学習モデルを用いて被写体検出処理を適用する。被写体検出部２０４は、検出結果を表す情報をシステム制御部２０１に供給する。検出結果を表す情報や、ＣＮＮを用いた被写体検出の具体的な処理は第１実施形態と同様であってよい。
【０１０８】
本実施形態では、画像データのノイズの量に応じて望ましい被写体検出の特性が異なることに着目し、被写体検出に用いるパラメータ（機械学習によって生成した学習モデル）を、画像データに適用されたゲインの大きさに応じて切り替える構成とした。そのため、１つの学習モデルを用いる構成と比較して、より適切な被写体検出結果を得ることができる。具体的には、検出対象の被写体（例えば人物の顔）について、ノイズが少ない画像データを重点的に用いたテストパターンによる機械学習により、ゲイン小用の検出学習モデル７０７を用意する。また、検出対象の被写体について、ノイズが多い画像データを重点的に用いたテストパターンによる機械学習により、ゲイン大用の検出学習モデル７０８を用意する。
【０１０９】
そして、被写体検出を行う画像データに適用されたゲインが大きいと判定される場合には検出学習モデル７０８を、大きいと判定されない場合には検出学習モデル７０７を用いて被写体検出処理を実行するよう、検出学習モデルを切り替える。これにより、ノイズが少ない場合に適した被写体検出と、ノイズが多い場合に適した被写体検出とを実現できる。そのため、検出された被写体のうち、特定の被写体の領域を用いる処理を適切に実行することができる。
【０１１０】
（その他の実施形態）
上述の実施形態では、主被写体の領域に露出や焦点調節を最適化する撮像装置に本発明を適用した例について説明した。しかし、主被写体領域の利用目的は撮影に限定されない。例えば、主被写体領域（もしくは主被写体領域以外の領域）に画像処理を適用する場合など、他の任意の目的に用いることができる。したがって、本発明において撮影に関する構成は必須ではない。また、上述の実施形態では、２種類の学習モデルを切り替えて用いる構成について説明したが、３種類以上の学習モデルを切り替えて用いてもよい。
【０１１１】
以上、被写体検出処理の対象となる被写体のボケ量や鮮明度が異なり得る状況の例として、合焦度合い、被写体の動きの大きさ、撮像装置の位置姿勢変化の大きさ、画像データのノイズの多さに着目した実施形態を説明した。しかし、他の条件に応じて検出学習モデルを切り替えるように構成してもよい。
【０１１２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又はコンピュータ読み取り可能な記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータの１以上のプロセッサがプログラムを実行することでも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１１３】
上述の実施形態は本発明の理解を助けることを目的とした具体例に過ぎず、いかなる意味においても本発明を上述の実施形態に限定する意図はない。特許請求の範囲に規定される範囲に含まれる全ての実施形態は本発明に包含される。
【符号の説明】
【０１１４】
１００…デジタル一眼レフカメラ、１０１…本体、１０２…レンズ、１０８…測光センサー、１１１…撮像素子、２０４…被写体検出部、２０６…主被写体決定前の被写体検出処理用の検出学習モデル、２０７…主被写体決定後の被写体検出処理用の検出学習モデル
【図１】
2019186911.tif 000025
【図２】
2019186911.tif 000026
【図３】
2019186911.tif 000027
【図４】
2019186911.tif 000028
【図５】
2019186911.tif 000029
【図６】
2019186911.tif 000030
【図７】
2019186911.tif 000031
【図８】
2019186911.tif 000032
【図９】
2019186911.tif 000033
【図１０】
2019186911.tif 000034
【図１１】
2019186911.tif 000035