JP2021182697A - 撮像装置、撮像装置の制御方法及びプログラム - Google Patents
撮像装置、撮像装置の制御方法及びプログラム Download PDFInfo
- Publication number
- JP2021182697A JP2021182697A JP2020087597A JP2020087597A JP2021182697A JP 2021182697 A JP2021182697 A JP 2021182697A JP 2020087597 A JP2020087597 A JP 2020087597A JP 2020087597 A JP2020087597 A JP 2020087597A JP 2021182697 A JP2021182697 A JP 2021182697A
- Authority
- JP
- Japan
- Prior art keywords
- line
- sight
- learning
- user
- determined
- 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
- Indication In Cameras, And Counting Of Exposures (AREA)
- Position Input By Displaying (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】ユーザの意図する被写体を精度よく認識するとともに、ユーザの利便性を向上させる。【解決手段】撮像装置100は、スルー画像をファインダ内の表示素子108に表示する。ユーザの操作により表示素子108上の視線位置が確定された場合、撮像装置100は、視線位置の座標情報を取得する。また、確定された視線位置により指定されるAF枠に対してAF動作を行い、AF枠位置の座標情報を取得する。また、撮像装置100は、確定された視線位置に移動するまでの視線位置の移動軌跡を表す視線移動パターンを取得する。さらに、撮像装置100は、以上のようにして取得した各データを用いて視線位置を補正するための補正量を算出する。そして、撮像装置100は、視線移動パターンと、補正量とを対応付けた学習データを学習して学習済モデルを生成する。撮像装置100は、学習済モデルから出力された推定データを基に視線位置の補正量を取得する。【選択図】図6
Description
本発明は、ユーザの視線位置を検出可能な撮像装置、撮像装置の制御方法及びプログラムに関する。
近年カメラの自動化・インテリジェント化が進み、手動で被写体位置を入力せずとも、ファインダを覗くユーザの視線位置を検出してユーザが意図する被写体を認識し、焦点制御を行う技術が提案されている。また、ユーザの視線位置を検出する際に、ユーザの意図した視線位置とカメラが認識するユーザの視線位置の間に生じるずれを補正するキャリブレーションに関する技術が提案されている。
特許文献1では、撮影前にファインダ内に指標を表示し、ユーザにその指標を注視するよう指示を出し、その注視状態において、ユーザの視線位置を検出し、該指標位置とのずれ量を検出する作業を行う。その後の撮影時に、検出されたずれ量だけユーザの視線位置を補正することにより、キャリブレーションを行うことが記載されている。また、特許文献2では、被写体の移動ベクトル(オプティカルフロー)と、視線の移動ベクトルを比較して一致度合を判定し、ユーザが実際に注視している点と視線位置の差異を自動でキャリブレーションすることが記載されている。
特許文献1では、撮影前にファインダ内に指標を表示し、ユーザにその指標を注視するよう指示を出し、その注視状態において、ユーザの視線位置を検出し、該指標位置とのずれ量を検出する作業を行う。その後の撮影時に、検出されたずれ量だけユーザの視線位置を補正することにより、キャリブレーションを行うことが記載されている。また、特許文献2では、被写体の移動ベクトル(オプティカルフロー)と、視線の移動ベクトルを比較して一致度合を判定し、ユーザが実際に注視している点と視線位置の差異を自動でキャリブレーションすることが記載されている。
上述の特許文献1では、ユーザの体勢等によりカメラが認識するユーザの視線位置が変わるため、頻繁にキャリブレーションを行わねばならず、煩雑となるという問題がある。また、上述の特許文献2では、補正量が予め決められた一定の判定条件に基づいて決められているが、視線の動き方が被写体位置等により変わるため、判定条件を満たさず、ユーザの意図する被写体を捉えられないケースがある。
本発明は、上述した課題に鑑みてなされたものであり、ユーザの意図する被写体を精度よく認識するとともに、ユーザの利便性を向上させることを目的とする。
本発明の撮像装置は、撮像画像を表示する表示部に対するユーザの視線位置を検出する検出手段と、前記撮像画像の被写体の位置に表示枠を重畳表示するように制御する表示制御手段と、ユーザの操作により前記視線位置が確定された場合に、確定された前記視線位置により指定された前記表示枠の位置を用いて焦点を合わせる合焦手段と、確定された前記視線位置に移動するまでの前記視線位置の移動軌跡を所定のパターンに分類する分類手段と、前記分類手段により得られた結果と、確定された前記視線位置と、前記合焦手段により合焦された合焦位置との関係性を学習する学習手段と、前記学習手段により得られた結果に基づいて、前記検出手段により検出される前記視線位置を補正するための補正量を取得する取得手段と、を有することを特徴とする。
本発明によれば、ユーザの意図する被写体を精度よく認識することができるとともに、ユーザの利便性を向上させることができる。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
<撮像装置の全体構成>
図1は、本発明を適用可能な撮像装置100の全体構成例を示す図である。撮像装置100は、例えばデジタルスチルカメラである。撮像装置100は、ファインダを覗くユーザの視線位置を検出する視線検出機能を有する。
図1は、本発明を適用可能な撮像装置100の全体構成例を示す図である。撮像装置100は、例えばデジタルスチルカメラである。撮像装置100は、ファインダを覗くユーザの視線位置を検出する視線検出機能を有する。
撮像装置100は、撮像レンズ101及び撮像素子102を有する。撮像レンズ101は、ズームレンズ、フォーカスレンズを含むレンズ群である。撮像素子102は、CCD等であって、撮像レンズ101によって導かれた光学像を結像面に結像させ、電気信号に変換する。
撮像装置100は、CPU103、メモリ104、GPU(Graphics Processing Unit)105、及びFPGA(Field Programmable Gate Array)106を内蔵する。CPU103は、カメラ100の全体を制御する制御部である。メモリ104は、RAM、ROM、HDD等であって、プログラムを記憶したり、撮像素子102により撮像された画像(撮像画像)や後述する学習処理を行う際に必要な学習データ等を記録したりする。GPU105及びFPGA106は、CPU103と並列して学習処理を行う際に用いられる制御部である。
視線検知用センサー107は、ファインダ近傍に設けられており、ユーザがファインダを覗いたことを検知するためのセンサーである。視線検知用センサー107は、検知結果をCPU107へ出力する。表示素子108は、液晶画面等で構成されており、ファインダの内部に設けられている。表示素子108は、表示部の一例である。表示素子駆動回路109は、表示素子108を駆動して表示素子108の画面上に撮像された画像を表示する。接眼レンズ110は、表示素子108に表示された画像を拡大して観察するために用いられる。レリーズボタン111は、撮影する際にユーザにより操作される。
112a〜112bは、従来より一眼レフカメラ等に用いられている光源の角膜反射による反射像と瞳孔の関係から視線方向を検出するためのユーザの眼球113を照明するための光源で、赤外発光ダイオードからなり、接眼レンズ110の回りに配置されている。照射された眼球像と照明光源112a〜112bの角膜反射による像は、接眼レンズ110を透過し、光分割器114で反射され、受光レンズ115によってCCD等の光電素子列を2次元的に配した眼球用撮像素子116上に結像される。受光レンズ115はユーザの眼球113の瞳孔と眼球用撮像素子116を共役な結像関係に位置付けている。眼球用撮像素子116上に結像された眼球と、照明光源112a〜112bの角膜反射による像の位置関係から視線方向が検出可能である。
<撮像装置のハードウェア構成>
図2は、図1の撮像装置100のハードウェアの構成例を示す図である。図1と同一のものは同一番号を付している。
図2は、図1の撮像装置100のハードウェアの構成例を示す図である。図1と同一のものは同一番号を付している。
図2に示す通り、CPU103には、撮像素子102、メモリ104、視線検出回路201、測光回路202、信号入力回路203、表示素子駆動回路109、照明光源駆動回路205、及びGPU105が接続されており、これらのデバイスを制御している。
撮像素子102は、電気信号を画像データとしてCPU103に出力する。
視線検出回路201は、眼球用撮像素子116からの撮像データに基づいて、視線検出情報を演算し、CPU103に出力する。CPU103は、視線検出情報と表示素子108の表示座標との対応関係に基づいて、表示素子108上のユーザの視線位置を表す視線位置検出結果を取得する。CPU103は、検出手段の一例である。
撮像素子102は、電気信号を画像データとしてCPU103に出力する。
視線検出回路201は、眼球用撮像素子116からの撮像データに基づいて、視線検出情報を演算し、CPU103に出力する。CPU103は、視線検出情報と表示素子108の表示座標との対応関係に基づいて、表示素子108上のユーザの視線位置を表す視線位置検出結果を取得する。CPU103は、検出手段の一例である。
測光回路202は、測光センサーの役割も兼ねる撮像素子102から得られる電気信号に基づいて、被写界の輝度情報を演算し、CPU103に出力する。
信号入力回路203は、レリーズボタン111等の操作部材と接続されており、ユーザが操作部材を操作した操作信号を受け付け、CPU103に出力する。
信号入力回路203は、レリーズボタン111等の操作部材と接続されており、ユーザが操作部材を操作した操作信号を受け付け、CPU103に出力する。
表示素子駆動回路109は、CPU103の制御により、表示素子108に表示する処理を実行する。表示素子駆動回路109は、撮像素子102で撮像された画像を表示素子108に逐次表示することで、ライブビュー表示を行う。以下、ライブビューで表示される画像をスルー画像と称する。また、CPU103は、表示素子駆動回路109を制御して、スルー画像に重畳させて、視線位置検出結果としての視線位置に視線枠を表示する。更に、CPU103は、スルー画像に対して被写体を検出する処理を実行する。CPU103は、表示素子駆動回路109を制御して、スルー画像に重畳させて、検出した被写体の位置にAF枠を表示する。CPU103は表示制御手段の一例である。AF枠は表示枠の一例である。
照明光源駆動回路205は、CPU103の制御により、ユーザの視線方向を検出する際に使用する照明光源112a〜112bを駆動する処理を実行する。
GPU105は、FPGA106と接続されており、CPU103の制御により、学習処理を平行処理する。なお、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合には、データをより多く並列処理することで効率的な演算を行うことができるため、GPU105やFPGA106で処理を行うことが有効である。
GPU105は、FPGA106と接続されており、CPU103の制御により、学習処理を平行処理する。なお、ディープラーニングのような学習モデルを用いて複数回に渡り学習を行う場合には、データをより多く並列処理することで効率的な演算を行うことができるため、GPU105やFPGA106で処理を行うことが有効である。
<撮像装置の機能構成>
図3は、図2のハードウェア構成図で示したハードウェアとプログラムを利用することで実現される撮像装置100の機能構成例を示す図である。図1及び図2と同一のものは同一番号を付している。
CPU103は、メモリ104に記憶されるプログラムを実行することにより、CPU103に接続される各デバイスを制御して、学習処理・推定処理を行う学習・推定部301、視線位置検出結果を修正する視線位置検出結果修正部302として機能する。
図3は、図2のハードウェア構成図で示したハードウェアとプログラムを利用することで実現される撮像装置100の機能構成例を示す図である。図1及び図2と同一のものは同一番号を付している。
CPU103は、メモリ104に記憶されるプログラムを実行することにより、CPU103に接続される各デバイスを制御して、学習処理・推定処理を行う学習・推定部301、視線位置検出結果を修正する視線位置検出結果修正部302として機能する。
まず、学習・推定部301(CPU103)が、学習処理を行う際に必要な学習データを取得する際に行う処理について説明する。学習データは、入力データと教師データとからなる。本実施形態では、入力データとして、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を取得する。
学習・推定部301(CPU103)は、視線検出回路201を介して得られる眼球用撮像素子116からの撮像データを解析して、眼球113の特徴やまつ毛の特徴等の眼球情報を取得する。そして、取得した眼球情報に基づいて、ユーザを識別し、識別されたユーザ毎に視線IDを割り当てる。メモリ104には、視線IDに対応付けてユーザの眼球情報が記憶される。CPU103は、ユーザ識別手段の一例である。
学習・推定部301(CPU103)は、視線検出回路201を介して得られる眼球用撮像素子116からの撮像データを解析して、眼球113の特徴やまつ毛の特徴等の眼球情報を取得する。そして、取得した眼球情報に基づいて、ユーザを識別し、識別されたユーザ毎に視線IDを割り当てる。メモリ104には、視線IDに対応付けてユーザの眼球情報が記憶される。CPU103は、ユーザ識別手段の一例である。
また、学習・推定部301(CPU103)は、撮像信号記憶部303によって記憶される視線検出情報の時系列データを解析して、ユーザの視線位置が所定時間に移動する移動軌跡の特徴を取得する。そして、取得した移動軌跡の特徴に基づいて、予めプログラムされた視線移動パターンに分類する。CPU103は、分類手段の一例である。視線移動パターンの分類に関しては、図5で詳細な説明をする。
また、学習・推定部301(CPU103)は、ユーザが視線位置を確定した際の視線枠の中心座標(視線確定時中心座標)を取得する。本実施形態では、学習・推定部301が信号入力回路203を介して操作信号を受信したタイミングで、視線位置を確定させる。
また、学習・推定部301(CPU103)は、検出された被写体に対して表示されるAF枠のうち、確定された視線位置によって指定されるAF枠の位置に合わせて焦点制御を行う。CPU103は、合焦手段の一例である。学習・推定部301は、焦点制御に用いられたAF枠の中心座標を合焦位置中心座標として取得する。
また、学習・推定部301(CPU103)は、検出された被写体に対して表示されるAF枠のうち、確定された視線位置によって指定されるAF枠の位置に合わせて焦点制御を行う。CPU103は、合焦手段の一例である。学習・推定部301は、焦点制御に用いられたAF枠の中心座標を合焦位置中心座標として取得する。
学習・推定部301(CPU103)は、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標の関係性を学習する。そして、学習・推定部301は、学習処理によって得られた結果に基づいて、視線位置検出結果を補正するための補正量を取得する。CPU103は、学習手段、取得手段の一例である。
視線位置検出結果修正部302(CPU103)は、学習・推定部301により得られた視線位置検出結果を補正するための補正量を用いて、視線位置検出結果を修正する。CPU103は、修正手段として機能する。
本実施形態において学習・推定部301(CPU103)は、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を入力データとして収集する。また、学習・推定部301は、視線確定時中心座標と合焦位置中心座標の差異情報に基づいて算出される補正量を教師データとして収集する。そして、学習・推定部301は、入力データと教師データとをセットとする学習データを用いて、視線位置検出結果の補正量を出力するための学習済モデルを生成する。なお、学習用入力データとしては、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標のすべての項目を用いなくてもよい。例えば、これらのうちの1又は複数の項目を適宜選択して用いてもよい。
また、学習・推定部301(CPU103)は、視線ID、視線移動パターン、被写界輝度を推定用入力データとし、生成された学習済モデルへ入力して推定を行う。学習・推定部301は、学習済モデルから出力された推定データを基に出力データである視線位置検出結果の補正量を取得する。なお、推定用入力データとしては、学習の際に用いた項目が望ましい。
また、学習・推定部301(CPU103)は、視線ID、視線移動パターン、被写界輝度を推定用入力データとし、生成された学習済モデルへ入力して推定を行う。学習・推定部301は、学習済モデルから出力された推定データを基に出力データである視線位置検出結果の補正量を取得する。なお、推定用入力データとしては、学習の際に用いた項目が望ましい。
本実施形態において、学習・推定部301は、CPU103に加えてGPU105やFPGA106を用い協働して演算を行うことで効率的に処理を実行する。なお、学習・推定部301は、CPU103、GPU105、及びFPGA106の何れかより演算が行われても良い。
メモリ104は、CPU103の制御により、視線検出回路201から得られる視線検出情報と、撮像素子102から得られる電気信号とを時系列で記憶する撮像信号記憶部303として機能する。また、メモリ104は、CPU103の制御により、学習データや学習済モデルを記憶する学習データ記憶部304として機能する。
<学習データに関する説明>
図4は、学習データの一例を示す図である。
学習用データIDは、学習データの管理番号であり、図6のフローチャートの処理を実行するたびに増えていく。
本実施形態では、入力データ401として、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を用いる。また、教師データ402として、補正量xと補正量yを用いる。詳細を後述する。
図4は、学習データの一例を示す図である。
学習用データIDは、学習データの管理番号であり、図6のフローチャートの処理を実行するたびに増えていく。
本実施形態では、入力データ401として、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を用いる。また、教師データ402として、補正量xと補正量yを用いる。詳細を後述する。
視線IDは、ユーザを識別するためのIDである。視線IDは、ユーザ毎に補正量を学習させるために用いられる。
視線移動パターンは、上述の視線移動パターンに分類した結果を示す情報である。本実施形態では、予めプログラムされた視線移動パターンの種類に対応する分類番号で表される。
視線移動パターンは、上述の視線移動パターンに分類した結果を示す情報である。本実施形態では、予めプログラムされた視線移動パターンの種類に対応する分類番号で表される。
被写界輝度は、スルー画像の輝度情報であり、測光回路202から出力される。本実施形態において、被写界輝度は、真っ暗な状態を1とし、白飛びした状態を8とした8段階で分類される。本実施形態では一例として、8段階で分類しているが、分類数を限定するものではない。
前述したとおり、ユーザの視線方向を認識する際に、瞳孔に反射する赤外光の反射像を利用しているが、被写界の明るさにより瞳孔の大きさが変わるため、検出位置検出結果が変化してしまう可能性がある。そこで、被写界輝度を学習することで、被写界の明るさを加味した補正量を算出することができ、視線位置の検出精度を向上させることが可能になる。
前述したとおり、ユーザの視線方向を認識する際に、瞳孔に反射する赤外光の反射像を利用しているが、被写界の明るさにより瞳孔の大きさが変わるため、検出位置検出結果が変化してしまう可能性がある。そこで、被写界輝度を学習することで、被写界の明るさを加味した補正量を算出することができ、視線位置の検出精度を向上させることが可能になる。
視線確定時中心座標及びAF合焦位置の中心座標は、前項で説明したとおりである。
教師データは、視線確定時中心座標と合焦位置中心座標の差異情報に基づいて算出される補正量である。水平方向の補正量を補正量xとし、垂直方向の補正量を補正量yとする。本実施形態では、予めプログラムされた条件により、視線移動パターンと視線確定時中心座標により導出される係数を掛けて算出しているが、この手法に限定するものではない。
<視線移動パターンの分類に関する説明>
図5を参照して、視線移動パターンの分類に関して説明する。
本実施形態では、視線検出回路201により検出された視線検出情報が、CPU103の制御によりメモリ104に蓄積される。視線検出情報は、表示素子108に表示されるスルー画像が更新されるたびに取得される。
本実施形態において、CPU103は、ユーザの視線検出開始時から視線確定時までの視線検出情報をメモリ104から読み出して、読み出した視線検出情報の時系列データを予めプログラムされた条件により、所定の視線移動パターンに分類する。
図5を参照して、視線移動パターンの分類に関して説明する。
本実施形態では、視線検出回路201により検出された視線検出情報が、CPU103の制御によりメモリ104に蓄積される。視線検出情報は、表示素子108に表示されるスルー画像が更新されるたびに取得される。
本実施形態において、CPU103は、ユーザの視線検出開始時から視線確定時までの視線検出情報をメモリ104から読み出して、読み出した視線検出情報の時系列データを予めプログラムされた条件により、所定の視線移動パターンに分類する。
図5(a)〜図5(f)は、視線移動パターンの例を示す。視線枠は十字記号で示す。視線検出開始時の視線位置は、視線初期位置506であり、点線の十字記号で示す。視線の移動軌跡505は、直線又は曲線の矢印で示す。また、視線確定時の視線位置507は、実線の十字記号で示す。この実線の十字記号の中心位置が、視線確定時中心座標に相当する。検出された被写体(顔)501,502に表示されるAF枠503,504は、実線の四角枠で示す。AF動作を行ったAF枠503を、太線の四角枠で示す。この太線の四角枠の中心位置が、合焦位置中心座標に相当する。
図5(a)は、分類番号1のパターンであり、左斜め上に視線が動くパターンである。視線初期位置506から左上の被写体501へ直線に視線を動かし、AF枠503の中心位置より下側に視線確定した例である。
図5(b)は、分類番号2のパターンであり、右斜め上に視線が動くパターンである。左斜め上に視線が動くパターンである。視線初期位置506から右上の被写体502へ直線に視線を動かし、AF枠503の中心位置よりやや左側に視線確定した例である。
図5(c)は、分類番号3のパターンであり、上左に曲がりながら視線が動くパターンであり。視線初期位置506から右上の被写体502へ視線を動かしたのちに、左上の被写体501へ視線を動かして、視線が曲線状に移動した例である。視線確定時の視線位置507は、AF枠503の中心位置より右側にある。
図5(d)は、分類番号4のパターンであり、右上に曲がりながら視線が動くパターンである。視線初期位置506から右下へ視線を動かしたのちに、右上の被写体502へ視線を動かして、視線が曲線状に移動した例である。視線確定時の視線位置507は、AF枠503の中心位置より下側にある。
図5(e)は、分類番号5のパターンであり、右横に視線が動くパターンである。視線初期位置506から右へ平行に視線を動かし、AF枠503の中心位置よりやや左側に視線確定した例である。
図5(f)は、分類番号6のパターンであり、左横に視線が動くパターンである。視線初期位置506から左へ平行に視線を動かし、AF枠503の中心位置よりやや右側に視線確定した例である。また、視線初期位置506から、視線確定時の視線位置507まであまり移動していない例でもある。
なお視線移動パターンは、図5(a)〜図5(d)に示すパターンに限られるものではない。
図5(b)は、分類番号2のパターンであり、右斜め上に視線が動くパターンである。左斜め上に視線が動くパターンである。視線初期位置506から右上の被写体502へ直線に視線を動かし、AF枠503の中心位置よりやや左側に視線確定した例である。
図5(c)は、分類番号3のパターンであり、上左に曲がりながら視線が動くパターンであり。視線初期位置506から右上の被写体502へ視線を動かしたのちに、左上の被写体501へ視線を動かして、視線が曲線状に移動した例である。視線確定時の視線位置507は、AF枠503の中心位置より右側にある。
図5(d)は、分類番号4のパターンであり、右上に曲がりながら視線が動くパターンである。視線初期位置506から右下へ視線を動かしたのちに、右上の被写体502へ視線を動かして、視線が曲線状に移動した例である。視線確定時の視線位置507は、AF枠503の中心位置より下側にある。
図5(e)は、分類番号5のパターンであり、右横に視線が動くパターンである。視線初期位置506から右へ平行に視線を動かし、AF枠503の中心位置よりやや左側に視線確定した例である。
図5(f)は、分類番号6のパターンであり、左横に視線が動くパターンである。視線初期位置506から左へ平行に視線を動かし、AF枠503の中心位置よりやや右側に視線確定した例である。また、視線初期位置506から、視線確定時の視線位置507まであまり移動していない例でもある。
なお視線移動パターンは、図5(a)〜図5(d)に示すパターンに限られるものではない。
以上のように、視線の動きは、ユーザの意図する被写体の位置よりずれた位置で確定される。例えば、ユーザの意図する被写体の位置から少し行き過ぎた位置で確定さる場合や、ユーザの意図する被写体の位置より少し手前で確定される場合がある。そのため、意図しない被写体にAF位置が合ってしまう可能性がある。例えば、図5(a)と図5(c)、及び図5(b)と図5(d)は、同じ被写体に視線を合わせるが、視線の動き方により、AF枠の中心位置に対する視線確定時の視線位置の相対的位置が異なる。そこで、視線の移動パターンを事前にプログラムしておき、分類分けした移動パターンを学習することで、視線移動のパターン毎に、視線位置を補正するための補正量を算出する。これにより視線位置のパターンに応じて、ユーザの意図する被写体を精度よく認識できるようになる。
<学習データを取得するフロー>
図6は、本実施形態の学習データを取得する処理を示すフローチャートである。本フローチャートに示す処理は、CPU103が、メモリ104に格納されたプログラムを実行することにより実現される。本フローチャートに示す処理は、撮像装置100の電源がONされると開始される。本フローチャートに示す処理は、主として学習・推定部301によって実行される。
図6は、本実施形態の学習データを取得する処理を示すフローチャートである。本フローチャートに示す処理は、CPU103が、メモリ104に格納されたプログラムを実行することにより実現される。本フローチャートに示す処理は、撮像装置100の電源がONされると開始される。本フローチャートに示す処理は、主として学習・推定部301によって実行される。
ステップS601において、CPU103は、視線検知用センサー107から出力された検知結果に基づいて、ユーザがファインダを覗いたこと(接眼状態)を検知したか否かを判定する。CPU103が接眼状態であると判定した場合、処理はステップS602へ進む。CPU103が非接眼状態であると判定した場合、接眼状態になるまで処理は待機する。
ステップS602において、CPU103は、表示素子駆動回路109を制御して、撮像素子102から取得したスルー画像を表示素子108に表示する。ユーザはファインダ内の表示素子108に表示されたスルー画像を見ることで被写体の視認を行う。またこの時CPU103は、撮像素子102からの電気信号や、視線検出回路201からの視線検出情報の収集を開始し、メモリ104に蓄積する。
ステップS603において、CPU103は、ユーザの操作により視線位置が確定したか否かの判定を行う。例えば、ユーザはスルー画像中の意図する被写体に視線を合わせている状態で、所定のボタン等の操作部材を操作して視線位置を確定させる。CPU103は信号入力回路203を介して所定のボタンからの操作信号を受信すると、視線位置が確定したことを検知する。CPU103が視線位置が確定したと判定した場合、処理はステップS604へ進む。CPU103が視線位置が確定していないと判定した場合、処理はステップS601へ戻る。
ステップS604において、CPU103は、AF位置が確定したか否かの判定を行う。例えば、CPU103はステップS603で確定された視線位置により指定されるAF枠に対してAF動作を行ったか否かを判定する。CPU103がAF位置が確定したと判定した場合、処理はステップS605へ進む。CPU103がAF位置が確定していないと判定した場合、AF動作を再度行うなどして、AF位置が確定するまでそのまま待機する。
ステップS605において、CPU103は、スルー画像上に表示されるAF枠の数や位置、AF枠の位置とステップS603で確定された視線位置との位置関係等を解析して、学習データの取得に適したシーンか否かの判定を行う。CPU103が学習データの取得に適したシーンであると判定した場合、処理はステップS606へ進む。学習データの取得に適さないシーンであると判定した場合、本フローチャートの処理が終了する。なお、学習データに適したシーンか否かの判定に関する詳細は、図7を用いて後述する。
ステップS606において、CPU103は、視線検出回路201を介して得られる眼球用撮像素子116からの撮像データを解析し、ユーザの眼球113の特徴点等により、ユーザを識別する。本実施形態では、事前に登録されているユーザの眼球情報と、特徴点とを比較することにより、視線IDを取得する。その後処理は、ステップS607の処理へ進む。
ステップS607において、CPU103は、図5で詳細を説明したとおり、メモリ104に蓄積された視線検出情報を解析し、S603で確定された視線位置に移動するまでの視線位置の移動軌跡を視線移動パターンに分類し、分類番号を取得する。その後処理は、ステップS608へ進む。
ステップS607において、CPU103は、図5で詳細を説明したとおり、メモリ104に蓄積された視線検出情報を解析し、S603で確定された視線位置に移動するまでの視線位置の移動軌跡を視線移動パターンに分類し、分類番号を取得する。その後処理は、ステップS608へ進む。
ステップS608において、CPU103は、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を取得する。被写界輝度は、測光回路202から取得する。視線確定時中心座標は、ステップS603で視線位置が確定された際の、視線枠の座標情報である。合焦位置中心座標は、ステップS604でAF位置が確定された際の、AF枠位置の座標情報である。その後処理は、ステップS609へ進む。
ステップS609において、CPU103は、ステップS606〜S608で取得した入力データに基づいて、教師データとしての補正量x、補正量yを算出する。その後処理は、ステップS610へ進む。
ステップS610において、CPU103は、ステップS606〜S610で取得した入力データ及び教師データの組を学習データとして、メモリ104に記憶する。その後本フローチャートの処理を終了する。
ステップS610において、CPU103は、ステップS606〜S610で取得した入力データ及び教師データの組を学習データとして、メモリ104に記憶する。その後本フローチャートの処理を終了する。
以上のような図6のフローチャートに示す処理を繰り返し実行することにより、メモリ104には学習データが複数記憶される。その後複数の学習データを用いて学習処理が実行される。学習処理の詳細については図8にて後述する。
<学習に使用するシーンの条件に関する説明>
学習に使用するシーンは、スルー画像中の主被写体が明確な場合のみである。例えば、スルー画像から顔が1つだけ検出されて、主被写体を間違う可能性が低いシーンや、スルー画像から複数の顔が検出されたとしても距離が離れており、主被写体を間違う可能性が低いシーンである。
学習に使用するシーンは、スルー画像中の主被写体が明確な場合のみである。例えば、スルー画像から顔が1つだけ検出されて、主被写体を間違う可能性が低いシーンや、スルー画像から複数の顔が検出されたとしても距離が離れており、主被写体を間違う可能性が低いシーンである。
図7には、学習に適したシーンと学習に適さないシーンの例を示す。
図7(a)は、学習に適さないシーンである。顔701,702が複数検出されており、且つ顔701,702に対応するAF枠703,704が近距離に存在する。さらに、視線確定時の視線位置705がAF枠703,704の中間等にある場合は、特に視線位置検出の検出誤差により、意図しない方の被写体にAF位置が合っている可能性がある。そのため学習データに使用すると精度が低下してしまう可能性があるため、学習データには適さない。
一方、図7(b)は、学習に適したシーンである。顔701が一つしか検出されていないため、AF枠703は一つだけである。この場合には、視線確定時の視線位置705が意図した被写体にAF位置が合っている可能性が高い。この様なシーンを選び学習することで、学習精度を向上させることが可能になる。
図7(a)は、学習に適さないシーンである。顔701,702が複数検出されており、且つ顔701,702に対応するAF枠703,704が近距離に存在する。さらに、視線確定時の視線位置705がAF枠703,704の中間等にある場合は、特に視線位置検出の検出誤差により、意図しない方の被写体にAF位置が合っている可能性がある。そのため学習データに使用すると精度が低下してしまう可能性があるため、学習データには適さない。
一方、図7(b)は、学習に適したシーンである。顔701が一つしか検出されていないため、AF枠703は一つだけである。この場合には、視線確定時の視線位置705が意図した被写体にAF位置が合っている可能性が高い。この様なシーンを選び学習することで、学習精度を向上させることが可能になる。
<学習方法に関する説明>
図8は、本実施形態の学習モデルを用いた入出力の構造を示す概念図である。
学習・推定部301(CPU103)は、学習モデル(Neuralnetwork)802を、図6のフローチャートに示す処理にて得られた学習データにより学習させることにより、視線位置検出結果の補正量803を出力するための学習済モデルを生成する。前述のとおり、入力データ801としては、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を用いる。具体的には、CPU103は、複数の学習データを用いてサポートベクタマシン(SVM)等のアルゴリズムを用いて学習させることにより学習済モデルを生成する。
図8は、本実施形態の学習モデルを用いた入出力の構造を示す概念図である。
学習・推定部301(CPU103)は、学習モデル(Neuralnetwork)802を、図6のフローチャートに示す処理にて得られた学習データにより学習させることにより、視線位置検出結果の補正量803を出力するための学習済モデルを生成する。前述のとおり、入力データ801としては、視線ID、視線移動パターン、被写界輝度、視線確定時中心座標、及び合焦位置中心座標を用いる。具体的には、CPU103は、複数の学習データを用いてサポートベクタマシン(SVM)等のアルゴリズムを用いて学習させることにより学習済モデルを生成する。
機械学習の具体的なアルゴリズムとしては、上記のSVMの他に、最近傍法、ナイーブベイズ法、決定木等が挙げられる。また、ニューラルネットワークを利用して、学習するための特徴量、結合重み付け係数を自ら生成する深層学習(ディープラーニング)も挙げられる。適宜、上記アルゴリズムのうち利用できるものを用いて本実施形態に適用することができる。
学習・推定部301(CPU103)は、誤差検出部と、更新部とを備えてもよい。誤差検出部は、入力層に入力される入力データに応じてニューラルネットワークの出力層から出力される出力データと、教師データとの誤差を得る。誤差検出部は、損失関数を用いて、ニューラルネットワークからの出力データと教師データとの誤差を計算するようにしてもよい。更新部は、誤差検出部で得られた誤差に基づいて、その誤差が小さくなるように、ニューラルネットワークのノード間の結合重み付け係数等を更新する。この更新部は、例えば、誤差逆伝播法を用いて、結合重み付け係数等を更新する。誤差逆伝播法は、上記の誤差が小さくなるように、各ニューラルネットワークのノード間の結合重み付け係数等を調整する手法である。
なお、学習・推定部301(CPU103)は、学習済モデルを用いて処理を行う構成に代えて、ルックアップテーブル(LUT)等のルールベースの処理を行う構成でもよい。その場合には、CPU103は、例えば、視線に関するデータと視線検出位置の補正量との関係を予めLUTとして生成し、生成したLUTをメモリ104等に格納する。CPU103は、格納されたLUTを参照して、視線に関するデータを用いて視線検出位置の補正量を推定する。つまり、CPU103は、前述の学習・推定部301(CPU103)と同様の処理を行う。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1または複数のプロセッサーまたは回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータまたは分離した複数のプロセッサーまたは回路のネットワークを含みうる。プロセッサーまたは回路は、中央演算処理装置(CPU)、マイクロプロセッシングユニット(MPU)、グラフィクスプロセッシングユニット(GPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)を含みうる。また、プロセッサーまたは回路は、デジタルシグナルプロセッサ(DSP)、データフロープロセッサ(DFP)、またはニューラルプロセッシングユニット(NPU)を含みうる。
<視線位置を修正するフロー>
図9は、本実施形態の学習データを利用して、視線位置を修正する処理を示すフローチャートである。本フローチャートの示す処理は、CPU103が、メモリ104に格納されたプログラムを実行することにより実現される。本フローチャートに示す処理は、撮像装置100の電源がONされると開始される。
図9は、本実施形態の学習データを利用して、視線位置を修正する処理を示すフローチャートである。本フローチャートの示す処理は、CPU103が、メモリ104に格納されたプログラムを実行することにより実現される。本フローチャートに示す処理は、撮像装置100の電源がONされると開始される。
ステップS901において、CPU103は、視線検知用センサー107から出力された検知結果に基づいて、ユーザがファインダを覗いたこと(接眼状態)を検知したか否かを判定する。CPU103が接眼状態であると判定した場合、処理はステップS902へ進む。CPU103が非接眼状態であると判定した場合、接眼状態になるまで処理は待機する。
ステップS902において、CPU103は、表示素子駆動回路109を制御して、撮像素子102から取得したスルー画像を表示素子108に表示する。ユーザはファインダ内の表示素子108に表示されたスルー画像を見ることで被写体の視認を行う。またこの時CPU103は、撮像素子102からの電気信号や、視線検出回路201からの視線検出情報の収集を開始し、メモリ104に蓄積する。その後処理は、ステップS903へ進む。
ステップS903において、CPU103は、図5で詳細を説明したとおり、メモリ104に蓄積された視線検出情報を解析し、視線移動パターンを分類し、分類された視線移動パターンの分類番号を取得する。また、CPU103は、前述の図6のステップS606やS608と同様にして、視線ID、被写界輝度を取得する。その後処理は、ステップS904へ進む。
ステップS904において、CPU103は、S903で取得された視線移動パターン、視線ID、及び被写界輝度を学習済モデルに入力して、視線位置検出結果の補正量を取得する。そして、CPU103は、取得した補正量を、ステップS902にて取得した視線位置検出情報に加算して、視線位置検出結果を更新する。その後処理は、ステップS905へ進む。
ステップS905において、CPU103は、ステップS904にて補正量が加算された視線位置検出結果を基に、表示素子駆動回路109を介して表示素子108にユーザの視線枠を表示する指示を出す。その後本フローチャートの処理が終了する。
以上のような図9のフローチャートに示す処理により、ユーザの特徴や、被写界の明るさ、視線の動き方に応じて、視線位置検出結果を補正するための最適な補正量を取得することができる。従って、ユーザの意図する被写体を精度よく認識することができるようになる。
以上のような本実施形態の撮像装置100によれば、ユーザ毎に異なる視線位置の移動軌跡の特徴と注視点のずれの関係性を学習し、ユーザの特徴に応じて視線検出結果に反映させる事で、ユーザが意図する被写体を精度よく認識することができる。また、ユーザ毎にキャリブレーション動作を行う必要がなくなり、ユーザの利便性も向上する。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1又は複数のプロセッサ又は回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータ又は分離した複数のプロセッサ又は回路のネットワークを含みうる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータがプログラムを読出し実行する処理でも実現可能である。コンピュータは、1又は複数のプロセッサ又は回路を有し、コンピュータ実行可能命令を読み出し実行するために、分離した複数のコンピュータ又は分離した複数のプロセッサ又は回路のネットワークを含みうる。
100:撮像装置、102:撮像素子、13:CPU、104:メモリ、107:視線検知用センサー、108;表示素子、116:眼球用撮像素子
Claims (8)
- 撮像画像を表示する表示部に対するユーザの視線位置を検出する検出手段と、
前記撮像画像の被写体の位置に表示枠を重畳表示するように制御する表示制御手段と、
ユーザの操作により前記視線位置が確定された場合に、確定された前記視線位置により指定された前記表示枠の位置を用いて焦点を合わせる合焦手段と、
確定された前記視線位置に移動するまでの前記視線位置の移動軌跡を所定のパターンに分類する分類手段と、
前記分類手段により得られた結果と、確定された前記視線位置と、前記合焦手段により合焦された合焦位置との関係性を学習する学習手段と、
前記学習手段により得られた結果に基づいて、前記検出手段により検出される前記視線位置を補正するための補正量を取得する取得手段と、
を有することを特徴とする撮像装置。 - 前記学習手段は、前記分類手段により得られた結果と、確定された前記視線位置と前記合焦位置との差異に基づいて算出される前記補正量とを対応付けた学習データを学習して学習済モデルを生成することを特徴とする請求項1に記載の撮像装置。
- 前記学習データは、前記撮像画像の輝度情報がさらに対応付けられること特徴とする請求項2に記載の撮像装置。
- 前記撮像画像を視認するユーザの眼球に関する眼球情報を取得して、取得した前記眼球情報に基づいて、ユーザを識別するユーザ識別手段をさらに有し、
前記学習データは、前記ユーザ識別手段により得られた結果がさらに対応付けられることを特徴とする請求項2又は3に記載の撮像装置。 - 前記学習手段は、前記撮像画像上に表示される前記表示枠の数、前記表示枠の位置、及び前記表示枠の位置と確定された前記視線位置との位置関係のうちの少なくともいずれか一方を解析することにより、前記合焦位置を学習に使用するか否かを判定することを特徴とする請求項1乃至4何れか1項に記載の撮像装置。
- 前記取得手段により取得された前記補正量を用いて、前記検出手段により検出された前記視線位置を修正する修正手段をさらに有することを特徴とする請求項1乃至5何れか1項に記載の撮像装置。
- 撮像画像を表示する表示部に対するユーザの視線位置を検出する検出ステップと、
前記撮像画像の被写体の位置に表示枠を重畳表示するように制御する表示制御ステップと、
ユーザの操作により前記視線位置が確定された場合に、確定された前記視線位置により指定された前記表示枠の位置を用いて焦点を合わせる合焦ステップと、
確定された前記視線位置に移動するまでの前記視線位置の移動軌跡を所定のパターンに分類する分類ステップと、
前記分類ステップにより得られた結果と、確定された前記視線位置と、前記合焦ステップにより合焦された合焦位置との関係性を学習する学習ステップと、
前記学習ステップにより得られた結果に基づいて、前記検出ステップにより検出される前記視線位置を補正するための補正量を取得する取得ステップと、
を含むことを特徴とする撮像装置の制御方法。 - 請求項1乃至6何れか1項に記載の撮像装置の各手段としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020087597A JP2021182697A (ja) | 2020-05-19 | 2020-05-19 | 撮像装置、撮像装置の制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020087597A JP2021182697A (ja) | 2020-05-19 | 2020-05-19 | 撮像装置、撮像装置の制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021182697A true JP2021182697A (ja) | 2021-11-25 |
Family
ID=78606876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020087597A Pending JP2021182697A (ja) | 2020-05-19 | 2020-05-19 | 撮像装置、撮像装置の制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021182697A (ja) |
-
2020
- 2020-05-19 JP JP2020087597A patent/JP2021182697A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9149179B2 (en) | System and method for identifying eye conditions | |
JP6049518B2 (ja) | 画像処理装置、内視鏡装置、プログラム及び画像処理装置の作動方法 | |
US8147064B2 (en) | Fundus camera | |
JP2014188223A5 (ja) | 画像処理装置、内視鏡装置、プログラム及び画像処理装置の作動方法 | |
JP5171468B2 (ja) | 撮像装置及び撮像装置の制御方法 | |
JP2007081682A (ja) | 画像処理装置、画像処理方法、及び、情報処理装置が実行可能なプログラム | |
JP6812387B2 (ja) | 画像処理装置及び画像処理方法、プログラム、記憶媒体 | |
US11496668B2 (en) | Image capture apparatus and control method thereof | |
KR102087787B1 (ko) | 인공수정체 삽입시 보여지는 시야를 시뮬레이션 하는 시스템 및 방법 | |
JP2021182697A (ja) | 撮像装置、撮像装置の制御方法及びプログラム | |
JP6241107B2 (ja) | 視線方向検出装置および視線方向検出方法 | |
US20220329740A1 (en) | Electronic apparatus, method for controlling electronic apparatus, and non-transitory computer readable storage medium | |
JP4786734B2 (ja) | カメラ | |
JP2022048077A (ja) | 画像処理装置およびその制御方法 | |
JP7122916B2 (ja) | 撮像装置およびその制御方法、プログラムならびに記憶媒体 | |
JP4391637B2 (ja) | カメラ | |
JP2022023643A (ja) | 視線位置処理装置、撮像装置、学習装置、視線位置処理方法、学習方法、及びプログラム | |
JP2020065173A (ja) | 画像処理装置、学習装置、画像処理方法、学習方法およびプログラム | |
JP2023053615A (ja) | 撮像装置、撮像装置の制御方法及びプログラム | |
JP7483247B2 (ja) | 検査対象分類システム、検査対象分類方法および検査対象分類プログラム | |
US11930266B2 (en) | Line-of-sight detection apparatus, imaging apparatus, line-of-sight detection method, and non-transitory computer-readable storage medium | |
JP7358130B2 (ja) | 電子機器およびその制御方法 | |
JP2022165239A (ja) | 撮像装置及びその制御方法、並びにプログラム | |
WO2022091664A1 (ja) | 電子機器およびその制御方法 | |
US20230336862A1 (en) | Electronic device, control method, and non-transitory computer readable medium |