(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-03
(45)【発行日】2024-06-11
(54)【発明の名称】撮像装置
(51)【国際特許分類】
G03B 15/00 20210101AFI20240604BHJP
G03B 17/18 20210101ALI20240604BHJP
G06T 7/00 20170101ALI20240604BHJP
G06T 7/246 20170101ALI20240604BHJP
H04N 23/63 20230101ALI20240604BHJP
H04N 23/61 20230101ALI20240604BHJP
H04N 23/611 20230101ALI20240604BHJP
【FI】
G03B15/00 Q
G03B15/00 S
G03B15/00 V
G03B17/18
G06T7/00 350C
G06T7/246
H04N23/63 300
H04N23/61
H04N23/611
(21)【出願番号】P 2020052630
(22)【出願日】2020-03-24
【審査請求日】2023-02-07
(73)【特許権者】
【識別番号】321001056
【氏名又は名称】OMデジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110002907
【氏名又は名称】弁理士法人イトーシン国際特許事務所
(72)【発明者】
【氏名】米山 尚
【審査官】殿岡 雅仁
(56)【参考文献】
【文献】特開2017-212581(JP,A)
【文献】特開2007-042072(JP,A)
【文献】特開2018-022128(JP,A)
【文献】米国特許出願公開第2019/0130594(US,A1)
【文献】特開2013-162329(JP,A)
【文献】特開2021-132295(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 15/00 - 15/16
G02B 7/28 - 7/40
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 - 23/76
H04N 23/90 - 23/959
G06T 7/00 - 7/90
G06V 10/00 - 40/20
(57)【特許請求の範囲】
【請求項1】
被写体像を露光し、この被写体像を光電変換した画像信号を一定周期で繰り返して出力する撮像部と、
上記画像信
号から得たフレーム画像を、ディープラーニングにて特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路に入力し、上記特定被写
体の位置を所定のフレーム間隔で検出する被写体検出部と、
上記被写体検出部が検出した上記特定被写体の位置を基準にして、上記画像信号から得る画像に対して、被写体の特徴量を基に
、補間被写体位置
を出力する被写体検出補間部と、
上記画像信号から得たフレーム画像に対して、パターンマッチング法にてフレーム画像毎に上記特定被写体の追尾位置を出力する追尾位置算出部と、
上記追尾位置算出部の出力結果を、上記被写体検出補間部の出力結果を用いて修正する被写体追尾位置修正部と、
を有することを特徴とする撮像装置。
【請求項2】
上記被写体追尾位置修正部は、上記追尾位置算出部の追尾位置の結果と、上記被写体検出補間部の補間被写体位置の結果を比較し、2つの位置が所定量以上離れている場合に、上記被写体検出補間部の結果を用いて追尾位置を修正することを特徴とする請求項1に記載の撮像装置。
【請求項3】
上記被写体検出部が検出した被写体(全体)とパーツの位置関係に基づいて関連付けをする被写体関連付け判断部を有し、
上記特定被写体は、被写体関連付けされた被写体(全体)とパーツであることを特徴とする請求
項1に記載の撮像装置。
【請求項4】
上記被写体検出部が検出した被写体(全体)とパーツの位置の各々の距離を検出する被写体距離検出部をさらに有し、
上記被写体関連付け判断部は、上記被写体距離検出部が検出した被写体(全体)とパーツ間の距離に基づいて関連付けをすることを特徴とす
る請求項3に記載の撮像装置。
【請求項5】
上記被写体関連付け判断部の位置関係を判断する位置関係条件部をさらに有し、
上記位置関係条件部は、上記被写体検出部が検出した被写体の検出範囲内に、上記被写体検出部が検出したパーツの検出領域の中心位置が包有されること、または、被写体とパーツの検出領域の中心位置の距離が、規定範囲であることを条件として判断することを特徴とす
る請求項3に記載の撮像装置。
【請求項6】
上記位置関係条件部は、上記被写体検出部が検出した被写体の種別によって、被写体の検出領域の範囲を拡げる、または狭めることを特徴とする請求項5に記載の撮像装置。
【請求項7】
上記被写体関連付け判断部は、上記被写体検出部が検出した複数のパーツが関連付けられる場合、被写体とパーツの位置が最も近いパーツを関連付けることを特徴とす
る請求項3に記載の撮像装置。
【請求項8】
上記被写体検出部が検出した被写体とパーツの位置の信頼度を判断する時系列データ信頼性判断部をさらに有し、
上記被写体関連付け判断部は、対象とする被写体およびパーツの位置は、上記時系列データ信頼性判断部の判断結果に基づいて有効と判断された被写体及びパーツの位置を対象とすることを特徴とす
る請求項3に記載の撮像装置。
【請求項9】
上記時系列データ信頼性判断部は、複数フレームの画像間の被写体の位置及びパーツの位置に基づいて信頼性を判断することを特徴とする請求項8に記載の撮像装置。
【請求項10】
上記画像信号に基づく画像を表示する表示部をさらに有し、
上記表示部は、上記被写体関連付け判断部にて、関連付けられた被写体およびパーツを、他の被写体と識別して上記表示部に表示することを特徴とす
る請求項3に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体画像の中において、特定の目標物体の存在する領域を検出し、この目標物体を追尾することのできる撮像装置に関する。
【背景技術】
【0002】
特許文献1には、撮影画像に対して、周期的にニューラル・ネットワーク回路を用いて特定被写体を検出して、検出した特定被写体を追尾する追尾装置が提案されている。 ニューラル・ネットワーク回路は、入力層、中間層、出力層から構成される回路であり、予め学習された入力パターンが、ニューラル・ネットワークのパラメータとして入力されて、画像から特定被写体を検出する。ニューラル・ネットワークへ入力される画像は、予め不要な被写体を除去しておき、さらに一定の比率で縮小処理を行う。
【0003】
特許文献2には、ニューラル・ネットワークを用いた被写体検出手段を有し、入力された画像から、特定被写体のある位置(領域)とその領域の存在確率(信頼度)を検出する目標検知装置が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平9-49869号公報
【文献】米国特許第9514389号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来より、特定被写体を追尾する技術は種々提案されている。追尾性能に大きく影響する要素は、(1)目標被写体を検出するための演算処理速度、(2)画像から目標被写体を検出する確度の2つである。
【0006】
撮影画像の中から目標被写体を検出し、この目標被写体を追尾する場合、被写体の検出処理速度を速める必要がある。ニューラル・ネットワーク(特に、演算の層が多い、深層学習(ディープラーニング))を用いて、目標被写体を検出するやり方では、演算規模が大きくなってしまう。このため、目標被写体を検出することを高速化することは容易ではない。具体的には、撮影画像の中から、動きの速い目標被写体を追尾する際に、目標被写体を検出するまでの検出時間の遅れによって失敗する場合があり、また追尾被写体に対してリアルタイムに合焦することが困難になってしまう場合がある。したがって、ニューラル・ネットワークを用いて、被写体を検出する技術は、被写体検出の性能は高いが、演算規模が大きいため処理速度が遅くなり、検出時間に遅れが生じてしまう。
【0007】
また、目標被写体に対して高精度にフォーカス合焦するには、目標被写体のパーツ(部分)に対してフォーカス合焦する必要がある。例えば目標被写体がフォーミュラカーの場合、車体(ボディ)だけでなくドライバーのヘルメットやフロントバンパー等(パーツ)を検出し、検出されたパーツに合焦する必要がある。被写体の状況や撮影環境に応じて検出できるパーツが変わるため、目標被写体に対して合焦状態を維持するには、同一被写体のボディとパーツを常に関連付けしていなければならない。一方でニューラル・ネットワークを用いて目標被写体を検出する場合、ボディと複数の異なるパーツがそれぞれ関連付けされていないため同一被写体であることが判別できない。その結果、検出されたボディとそのパーツ部分を追尾対象とする場合に、目標被写体のパーツとは異なるパーツとなる被写体が誤って追尾対象と設定されてしまう場合がある。
【0008】
本発明は、このような事情を鑑みてなされたものであり、追尾する目標被写体の範囲に、目標被写体と異なるパーツを含む複数のパーツが存在する場合であっても、目標となるパーツを検出して追尾することが可能な撮像装置を提供することを目的とする。また、被写体検出を行うために処理時間がかかってしまうニューラル・ネットワークを用いた場合でも、目標被写体を確実に追尾することができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため第1の発明に係る撮像装置は、被写体像を露光し、この被写体像を光電変換した画像信号を一定周期で繰り返して出力する撮像部と、上記画像信号から得たフレーム画像を、ディープラーニングにて特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路に入力し、上記特定被写体の位置を所定のフレーム間隔で検出する被写体検出部と、上記被写体検出部が検出した上記特定被写体の位置を基準にして、上記画像信号から得る画像に対して、被写体の特徴量を基に、補間被写体位置を出力する被写体検出補間部と、上記画像信号から得たフレーム画像に対して、パターンマッチング法にてフレーム画像毎に上記特定被写体の追尾位置を出力する追尾位置算出部と、上記追尾位置算出部の出力結果を、上記被写体検出補間部の出力結果を用いて修正する被写体追尾位置修正部と、を有する。
【0010】
第2の発明に係る撮像装置は、上記被写体追尾位置修正部は、上記追尾位置算出部の追尾位置の結果と、被写体検出補間部の補間被写体位置の結果を比較し、2つの位置が所定量以上離れている場合に、被写体検出補間部の結果を用いて追尾位置を修正する。
【0011】
第3の発明に係る撮像装置は、上記第1の発明において、上記被写体検出部が検出した被写体(全体)とパーツの位置関係に基づいて関連付けをする被写体関連付け判断部を有し、上記特定被写体は、被写体関連付けされた被写体(全体)とパーツである。
【0012】
第4の発明に係る撮像装置は、上記第3の発明において、上記被写体検出部が検出した被写体(全体)とパーツの位置の各々の距離を検出する被写体距離検出部をさらに有し、上記被写体関連付け判断部は、上記被写体距離検出部が検出した被写体(全体)とパーツ間の距離に基づいて関連付けをする。
【0013】
第5の発明に係る撮像装置は、上記第3の発明において、上記被写体関連付け判断部の位置関係を判断する位置関係条件部をさらに有し、上記位置関係条件部は、上記被写体検出部が検出した被写体の検出範囲内に、上記被写体検出部が検出したパーツの検出領域の中心位置が包有されること、または、被写体とパーツの検出領域の中心位置の距離が、規定範囲であることを条件として判断する。
第6の発明に係る撮像装置は、上記第5の発明において、上記位置関係条件部は、上記被写体検出部が検出した被写体の種別によって、被写体の検出領域の範囲を拡げる、または狭める。
【0014】
第7の発明に係る撮像装置は、上記第3の発明において、上記被写体関連付け判断部は、上記被写体検出部が検出した複数のパーツが関連付けられる場合、被写体とパーツの位置が最も近いパーツを関連付ける。
第8の発明に係る撮像装置は、上記第3の発明において、上記被写体検出部が検出した被写体とパーツの位置の信頼度を判断する時系列データ信頼性判断部をさらに有し、上記被写体関連付け判断部は、対象とする被写体およびパーツの位置は、上記時系列データ信頼性判断部の判断結果に基づいて有効と判断された被写体及びパーツの位置を対象とする。
第9の発明に係る撮像装置は、上記第8の発明において、上記時系列データ信頼性判断部は、複数フレームの画像間の被写体の位置及びパーツの位置に基づいて信頼性を判断する。
【0015】
第10の発明に係る撮像装置は、上記第3の発明において、上記画像信号に基づく画像を表示する表示部をさらに有し、上記表示部は、上記被写体関連付け判断部にて、関連付けられた被写体およびパーツを、他の被写体と識別して上記表示部に表示する。
【発明の効果】
【0025】
本発明によれば、追尾する目標被写体の範囲に、目標被写体と異なるパーツを含む複数のパーツが存在する場合であっても、目標となるパーツを検出して追尾することが可能な撮像装置を提供することができる。また、被写体検出を行うために処理時間がかかってしまうニューラル・ネットワークを用いた場合でも、目標被写体を確実に追尾することができる撮像装置を提供することができる。
【図面の簡単な説明】
【0026】
【
図1A】本発明の第1実施形態に係るデジタルカメラ(以下、「カメラ」と称す)の主として電気的構成を示すブロック図である。
【
図1B】本発明の第1実施形態に係るカメラの主として電気的構成を示すブロック図である。
【
図2】本発明の第1実施形態に係るカメラの特徴検出回路の詳細を示すブロック図である。
【
図3】本発明の第1実施形態に係るカメラにおいて、フレーム画像から追尾位置を出力する回路ブロック図である。
【
図4A】本発明の第1実施形態に係るカメラにおいて、撮影シーケンスの動作を示すフローチャートである。
【
図4B】本発明の第1実施形態に係るカメラにおいて、撮影シーケンスの動作を示すフローチャートである。
【
図5】本発明の第1実施形態に係るカメラにおいて、特徴検出処理の動作を示すフローチャートである。
【
図6】本発明の第1実施形態に係るカメラにおいて、補間追尾処理の動作を示すフローチャートである。
【
図7】本発明の第1実施形態に係るカメラにおいて、入力画像からオートフォーカス(AF)を行う目標被写体を検知する動作を示すタイミング図である。
【
図8】本発明の第1実施形態に係るカメラにおいて、追尾処理の動作を示すフローチャートである。
【
図9】本発明の第1実施形態に係るカメラにおいて、入力画像から目標被写体を追尾する動作を示すタイミング図である。
【
図10】本発明の第1実施形態に係るカメラにおいて、マッチング処理による追尾とニューラル・ネットワークによる追尾を説明する図である。
【
図11】本発明の第2実施形態に係るカメラにおいて、追尾処理を行うための回路を示すブロック図である。
【
図12】本発明の第2実施形態に係るカメラにおいて、パーツと全体被写体の関連付けを説明する図である。
【
図13】本発明の第2実施形態に係るカメラにおいて、検出関連結果付け処理の動作を示すフローチャートである。
【
図14】本発明の第2実施形態に係るカメラにおいて、ボディとパーツの検出領域を説明する図である。
【
図15】本発明の第2実施形態に係るカメラにおいて、ボディとパーツの検出領域を説明する図である。
【
図16】本発明の第2実施形態に係るカメラにおいて、検出関連結果付け処理の動作の他の例を示すフローチャートである。
【
図17】本発明の第1および第2実施形態に係るカメラにおいて、追尾処理を行うための回路の他の例を示すブロック図である。
【発明を実施するための形態】
【0027】
以下、本発明の好ましい実施形態として、本発明に係る撮像装置をカメラに適用した例について説明する。このカメラは、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面等に配置した表示部にライブビュー表示する。撮影者はライブビュー表示を観察することによって、構図やシャッタタイミングを決定する。レリーズ操作時には、画像データが記録媒体に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部に再生表示することができる。
【0028】
本発明の好ましい実施形態に係るカメラの撮像部は、被写体像を露光し、光電変換された画像信号を一定周期で繰り返して出力する。またこのカメラは、ディープラーニングにて特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路を有する被写体検出部(例えば、特徴検出回路1305)を備え、この被写体検出部は、特定被写体を検出する。そして、このカメラは、被写体検出部が検出した特定被写体の位置を基準にして、画像信号から得る画像に対して、被写体の特徴量を基に、追尾位置を補間する被写体検出補間部(例えば、補間追尾回路1306)を有している。このカメラは、追尾回路等によって検出された追尾位置に対して、ニューラル・ネットワークを用いて検出された被写体位置によって、補正するようにしているので、高速かつ高精度の追尾を行うことができる。
【0029】
また、本発明の好ましい実施形態に係るカメラは、被写体検出部が被写体(全体)とパーツの位置を検出する場合に、被写体(全体)とパーツの位置関係に基づいて関連付けをする被写体関連付け判断部(例えば、検出結果関連付け処理部1305B)を有している。被写体(全体)とパーツの位置関係が関連付けられることから、追尾する目標被写体の範囲に、目標被写体と異なるパーツを含む複数のパーツが存在する場合であっても、目標となるパーツを検出して追尾することができる。
【0030】
図1Aおよび
図1Bは、第1実施形態に係るカメラの主として電気的構成を示すブロック図である。
【0031】
撮影レンズ102は、被写体Fを撮像素子114付近において結像する光学系であり、フォーカスレンズ等を含む。焦点調整機構104はフォーカスレンズを光軸方向に移動させるアクチュエータ(例えば、モータ)と、アクチュエータの駆動回路等を有する。フォーカスレンズが光軸方向に移動することによって、撮像素子114上における被写体像の合焦状態(ピント状態)が変化する。焦点調整機構104は、システムコントローラ130内のAF制御回路1302からの制御信号に基づいてオートフォーカス制御を行う。
【0032】
絞り106は、撮影レンズ102を通過した被写体光の光路中に配置されている。絞り106の絞り羽根を有し、この絞り羽根による開口径は、絞り駆動機構108によって変化し、撮像素子114上に到達する被写体光量を調節する。絞り駆動機構108は、絞り羽根の開口径が変化するように駆動するアクチュエータと、アクチュエータの駆動回路等を有する。絞り駆動機構108は、システムコントローラ130内のAE制御回路1303からの制御信号に基づいて絞り羽根の駆動制御を行う。
【0033】
メカニカルシャッタ110は、撮影レンズ102を通過した被写体光の光路中に配置されている。メカニカルシャッタ110は、シャッタ駆動機構112によって、開閉動作を行い、撮像素子114上へ被写体光が入射する時間を制御する。シャッタ駆動機構112は、シャッタ幕と、シャッタ幕駆動用のアクチュエータと、アクチュエータの駆動回路を有する。シャッタ駆動機構112は、システムコントローラ130内のAE制御回路1303からの制御信号に基づいてシャッタ幕の駆動制御を行う。
【0034】
撮像素子114は、CCDイメージセンサやCMOSイメージセンサ等のイメージセンサであり、撮影レンズ102によって結像された被写体像を光電変換し、画像信号を撮像素子IF(Interface)回路116に出力する。撮像素子IF回路116は、イメージセンサの各画素における露光時間の制御と、各画素から画素信号の読み出しを行い、画素信号をA/D変換を行って、システムコントローラに画像データを出力する。なお、システムコントローラ130が、A/D変換器を有している場合には、撮像素子IF116は、画像信号をシステムコントローラ130に出力し、システムコントローラ130がA/D変換を行うようにしてもよい。撮像素子114は、被写体像を露光し、この被写体像を光電変換した画像信号を一定周期で繰り返して出力する撮像部(撮像素子)として機能する。なお、本明細書においては、撮像素子114から読み出され、A/D変換された画像データを、「撮像素子114から取得した画像データ」と称する場合がある。
【0035】
システムコントローラ130は、CPU(Central Processing Unit)1301および各種回路を有するプロセッサである。システムコントローラ130は、各種回路として、AF制御回路1302、AE制御回路1303、画像処理回路1304、特徴検出回路1305、補間追尾回路1306、追尾回路1307、焦点検出情報取得回路1308、顔・人体検出処理回路1309、メモリ制御回路1310を有する。これらの回路は、ハードウエア回路であってもよく、またその機能の一部または全部をプログラムによって実現するようにしてもよい。
【0036】
CPU1301は、フラッシュROM134に記憶されたプログラムコードに基づいて、カメラ100の全体制御を行う。なお、前述のシステムコントローラ130を構成するプロセッサは1つ又は複数から構成される。また、プロセッサが複数、設けられている場合には、CPU130を複数設けてもよく、この場合には複数のCPUが共同して動作することによって、カメラ100の全体制御を行う。
【0037】
AF制御回路1302は、撮像素子114からの画像データに基づいて、撮影レンズ102のフォーカスレンズが合焦位置に移動するように、焦点調整機構104を通じて、AF制御を行う。焦点検出方法としては、例えば、画像データのコントラスト値(合焦評価値)がピークとなるように制御するコントラスト法がある。また、撮像素子114に位相差画素を配置し、この位相差画素からの画素データに基づいて、フォーカスレンズのデフォーカス量を算出し、このデフォーカス量に基づいてフォーカスレンズを駆動する位相差法がある。
【0038】
AE制御回路1303は、撮像素子116から画像データを入力し被写体輝度値を算出する。また、タッチパネル124またはカメラ操作スイッチ132によって設定された撮影モードや露出制御用の設定値、および算出した被写体輝度値に基づいて、露出制御用の絞り値(AV)、シャッタ速度値(Tv)、およびISO感度値(SV)を決定し、この決定した露出制御値を、絞り駆動機構108、シャッタ駆動機構112、撮像素子IF回路116に出力する。
【0039】
画像処理回路1304は、撮像素子IF回路116から出力された画像データ、またはSDRAM118に一時記憶された画像データに対して露出補正やノイズ処理、WBゲイン補正、輪郭強調、偽色補正等の様々な画像処理を施す。また、画像処理回路1304は、上述の画像処理を施した画像データに対して、記録データ形式に変換する処理(現像処理)も行う。
【0040】
特徴検出回路1305は、撮像素子IF回路116から出力された画像データを入力し、予め設定した特定被写体がある画像領域を検出する。特徴検出回路1305は、多層のニューラル・ネットワーク(推論エンジン)を有し、このニューラル・ネットワークを用いて、上述の特定被写体がある領域を検出する。この特徴検出回路1305の詳しい構成については、
図2を用いて後述する。
【0041】
特徴検出回路1305は、画像信号を、ディープラーニングにて特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路に入力し、特定被写体を検出する被写体検出部として機能する(例えば、
図4AのS11、
図4BのS37参照)。特徴検出回路1305は、複数の被写体に対して補間追尾させる被写体の優先順位を設定する優先順位設定部を有する。後述するように、特徴検出回路1305は、1つの画像から、複数の部位を同時に検出することができる。補間追尾する際に、複数の部位を同時に補間追尾処理できない場合もあることから、優先順位を設定できるようにしている。この設定は、自動的に行ってもよく、またユーザが手動設定してもよい。優先順位設定部は、被写体検出部が、生物の全身、眼を同時に被写体として検出した場合は、生物の全身または眼を補間追尾させる被写体と設定する。優先順位設定部は、被写体検出部が、乗り物の全体、乗り物のドライバーを同時に被写体として検出した場合は、乗り物の全体またはドライバーを補間追尾させる被写体と設定する(例えば、
図13、
図14等参照)。
【0042】
追尾回路1307は、撮像素子IF回路116から出力された画像データを入力し、目標被写体を探索し、例えば、パターンマッチング等によって、フレーム画像毎に目標被写体の位置を追尾する。すなわち、追尾回路1307は、目標被写体が移動している場合であっても、画像中において、目標被写体の位置を追尾する。追尾回路1307の詳細は
図3を用いて後述する。
【0043】
追尾回路1307は、画像信号から得る画像に対して、予め指定した被写体を追尾する被写体追尾部として機能する(例えば、
図4AのS17、
図4BのS43、
図8等参照)。追尾回路1307(特に追尾位置補正適否判断部1307c)は、被写体検出補間部によって被写体を補間追尾した結果を用いて、追尾位置を修正する被写体追尾位置修正部として機能する(例えば、
図8のS91参照)。被写体追尾位置修正部は、被写体追尾部の追尾結果と、被写体検出補間部の補間追尾結果に基づいて、追尾位置の修正の要否を決定する(例えば、
図8のS91参照)。被写体追尾位置修正部は、被写体追尾部が検出した追尾位置と、被写体検出補間部の補間追尾位置との距離に基づいて、追尾位置の修正の要否を決定する(例えば、
図8のS91参照)。被写体追尾位置修正部は、被写体検出部が現在の画像から検出した被写体検出結果、または過去の画像から検出された被写体検出結果に基づいて、追尾位置の修正要否を決定する(例えば、
図8のS91参照)。
【0044】
追尾補間回路1306は、特徴検出回路1305によって検出された目標被写体の位置を、フレーム画像の中において探索する。特徴検出回路1305による目標被写体の位置は、所定フレーム毎に出力されるので(後述する
図7、
図9の例では、60フレーム毎)、追尾補間回路1306は所定フレームに応じた間隔で、追尾回路1307によって検出される目標被写体の位置を補正する。補間追尾回路1306の詳細は
図3を用いて後述する。追尾補間回路1306は、被写体検出部が検出した特定被写体の位置を基準にして、画像信号から得る画像に対して、被写体の特徴量を基に、追尾位置を補間する被写体検出補間部として機能する(例えば、
図4AのS15、
図4BのS41参照)。
【0045】
被写体検出補間部は、輝度情報と、色情報と、特徴点の情報と、顔検出の情報と、人体検出の情報の内の少なくとも1つを選択して被写体を追尾補間する(例えば、
図4AのS15、
図4BのS41、
図6のS77、
図7および
図9の補間追尾処理参照)。被写体検出補間部は、被写体検出部が複数の被写体を検出した場合は、優先順位設定部において設定された優先順に従って被写体を補間追尾する(例えば、
図6のS77)。
【0046】
焦点検出情報取得回路1308は、AF制御回路1302によって検出された被写体距離情報を取得する。AF制御回路1302が、コントラスト法によってフォーカスレンズの焦点調節を行った場合には、合焦時のフォーカスレンズの位置に基づいて、被写体の距離情報を取得する。また、AF制御回路1302が、位相差法によってフォーカスレンズ焦点調節を行った場合には、フォーカスレンズのデフォーカス量に基づいて、被写体の距離情報を取得する。焦点検出情報取得回路1308は、被写体検出部が検出した被写体(全体)とパーツの位置の各々の距離を検出する被写体距離検出部として機能する。顔・人体検出処理回路1309は、画像データを入力し、人体にあたる部分の位置、顔の位置等を検出する。メモリ制御回路1310は、記録メディア128、フラッシュROM134、SDRAM118等のメモリに対する、データの読み出しや書き出しの制御を行う。
【0047】
記録メディア128は、電気的に書き換え可能な不揮発性メモリであり、カメラ100の本体に対して挿脱自在なメモリカードである。記録メディア129は画像ファイルを記録し、また画像ファイルを読み出すことができる。すなわち、撮影によって取得した画像データを記録し、また読出した画像ファイルに基づいて撮影画像を再生することができる。
【0048】
フラッシュROM134は、電気的な書き換え可能な不揮発性メモリであり、プログラムコード、制御パラメータ等を記憶する。プログラムコードは前述したように、CPU1301がカメラ100を制御する際に使用される。また制御パラメータは、カメラ100の電気的や機械的なパラメータであり、カメラ100を制御する際に使用される。
【0049】
SDRAM118は、電気的に書き換え可能な揮発性メモリであり、高速に大量のデータを一時記録し、また読み出すことができる。SDRAM118は、ワークエリア、被写体検出データLogArea、追尾画像Area、追尾データLogAreaを有する。ワークエリアは、CPU1301が処理する際に一時的に使用する記憶エリアである。被写体検出データLogAreaは、被写体を検出した際にその位置を記憶するためのエリアである。追尾画像Areaは、追尾用のパターンマッチングを行うために一時的に画像を記憶するエリアである。追尾データLogAreaは、追尾対象の位置を記録するためのエリアである。
【0050】
表示素子120は、表示用の背面パネルや、接眼部を通じて観察する電子ファインダ用の表示パネル等のディスプレイである。表示素子120としては、LCDや有機ELモニタ等を使用する。表時素子駆動回路122は、表示素子120の駆動回路であり、システムコントローラ130からの制御信号に基づいて、表示素子120の駆動制御を行う。表示素子120は、画像信号に基づく画像を表示する表示部(ディスプレイ)として機能する。また、表示素子120は、被写体追尾位置修正部によって修正した追尾位置に追尾枠とする印を表示する表示部(ディスプレイ)として機能する(例えば、
図8のS93参照)。表示部は、被写体検出部が現在の画像から検出した被写体検出結果、または過去の画像から検出された被写体検出結果に基づいて、追尾位置を示す追尾枠の表示位置を決定して表示する。
【0051】
タッチパネル124は、表示素子120の前面側に配置されており、ユーザが表示素子120の画面をタッチしたことを検出する。タッチパネル駆動回路126は、タッチパネル124の駆動回路であり、タッチパネル120がユーザのタッチを検出すると、タッチ位置等をシステムコントローラ130に出力する。
【0052】
カメラ操作スイッチ132は、ユーザの操作指示用の入力インターフェースであり、例えば、パワースイッチ、操作ダイヤル、操作釦、レリーズ釦に連動する1stレリーズSW、2ndレリーズSW等がある。ユーザがレリーズ釦を半押しすると、1stレリーズSWがオンとなり、レリーズ釦を全押しすると、2ndレリーズSWがオンとなる。また、動画釦SWは、動画釦が押されるとオンとなるスイッチである。
【0053】
次に、
図2を用いて、特徴検出回路1305について説明する。前述したように、特徴検出回路1305は、ニューラル・ネットワークにパラメータが設定され、入力画像の中から特定被写体を検出し、その位置を出力する。ニューラル・ネットワークのパラメータは、予め大量の学習データ(入力とその回答)を用いて機械学習等を行うことによって、算出することができる。この機械学習は予めなされ、学習結果であるパラメータが、特徴検出回路1305に設定される。
【0054】
特徴検出回路1305は、入力層1305a、中間層1305b、出力層1305cから構成されるニューラル・ネットワーク回路であり、特徴パラメータ1305dが特徴検出回路1305の各層に設定される。入力層1305a、中間層1305b、出力層1305cは、それぞれ画像内にある特徴パラメータの存在確立を判定するノード(節)が複数設けられている。
【0055】
入力層1305aには、入力画像INpicが入力され、この入力画像INpicに対して、特徴パラメータの有無を判定するノードを通して、状態変数を中間層1305bに出力する。中間層1305bは、畳み込み層または隠れ層とも呼ばれ、複数の層から構成される。各層にもノードが設けられており、特徴パラメータによって、状態変数を次の層に出力する。層毎にこの処理が繰り返され、最終的に出力層1305cに状態変数を出力する。出力層1305cは、中間層1305bから出力された複数の状態変数を結合し、画像の中から特定被写体が存在する領域を抽出し、この抽出結果を被写体検出位置Outposとして出力する。画像の特徴検出の場合は、入力画像に対して各種のフィルタリング処理を行い、フィルタリング処理した結果の画像に対して特徴パラメータの存在確率を判定する。
【0056】
次に、
図3を用いて、追尾回路1307と補間追尾回路1306の詳細について説明する。前述したように、追尾回路1307は、撮像素子114から所定フレームで読み出される画像データを用いて、パターンマッチング法等によって、特定被写体の追尾を行う。補間追尾回路1306は特徴検出回路1305によって所定フレーム間隔で検出される特定被写体の位置に基づいて、追尾回路1307によって検出された特定被写体の位置を、必要に応じて補正する。
【0057】
追尾回路1307は、画像メモリ1307a、追尾位置算出部1307b、追尾位置補正適否判断部1307cを有する。画像メモリ1307aは、撮像素子114からの各フレームの画像データを記憶する。画像メモリ1307aに記憶された過去フレーム画像データは、追尾位置算出部1307bによって読み出される。
【0058】
追尾位置算出部1307bは、画像メモリ1307aに記憶されている過去フレーム画像と、現フレーム画像との相関を算出し、特定被写体の位置、すなわち追尾位置を検出する。追尾位置算出部1307bは、算出した追尾位置を追尾位置補正適否判断部1307cに出力する。
【0059】
追尾位置補正適否判断部1307cは追尾位置算出部1307cが出力した追尾位置と、補間追尾回路1306が出力した補間被写体位置とを比較し、比較結果に基づいて追尾位置の補間が必要か否かを判定する。追尾位置補正的判断部1307cは、判定された追尾位置を出力する。
【0060】
補間追尾回路1306は、画像メモリ1306aおよび補間被写体位置算出部1306bを有する。画像メモリ1307aは、撮像素子114から所定フレームで読み出される画像データについて、補間被写体位置を補間したタイミング(
図7の検出用画像生成の1フレーム目)よりも後の各フレームの画像データを順次記憶する。
【0061】
補間被写体位置算出部1306bは、特徴検出回路1305が特徴検出処理部1305Aによって特徴パターンを探索し、出力した被写体検出位置を用いて、画像メモリ1306aに記憶されている各画像データに対して、被写体位置の補間処理を施す。すなわち、補間被写体位置算出部1306bは、特徴検出回路1305が検出した被写体検出位置に移動量を加えた位置を補間被写体位置として出力する。
【0062】
補間被写体位置算出部1306bにおける処理の詳細は、
図7および
図9を用いて説明するが、ここでは、概略を説明する。1フレーム目の画像を用いて、特徴検出処理がなされると、補間被写体位置検出部1306bは、2フレーム目の画像において被写体位置の補間処理を行う。補間処理は、1フレーム目における被写体位置に対して、2フレーム目における被写体の移動量を加えることによって行う。
【0063】
以後、補間被写体位置検出部1306bは、3フレーム目、・・・と順次、画像メモリ1306aに記憶されているフレーム画像を読み出し、被写体位置の補間処理を行う。現在、撮像素子114から読み出したフレーム画像の順番と、補間処理を行うフレームの順番が、一致すると、補間被写体位置算出部1306bは、補間処理によって算出した被写体位置を、補間被写体位置として、追尾回路1307内の追尾位置補正的判断部1307cに出力する。
【0064】
このように、追尾回路1307は、フレーム画像を入力する毎に、現フレーム画像や過去フレーム画像を用いて、特定被写体の位置をパターンマッチング等によって検出する。また、補間追尾回路1306は、所定フレーム間隔で特徴検出回路1305から特定被写体位置が出力されると、過去フレーム画像を順番に読出し、過去フレーム画像の中において特定被写体の位置を特徴検出処理によって求められた特定被写体位置を用いて補間処理を行っている。そして、補間被写体位置算出部1306bが、最終的な特定被写体位置を算出すると、その時の被写体位置を、補間被写体位置として、追尾位置補正適否判断部1307cに出力する。
【0065】
なお、画像メモリ1307a、1306aは、フレーム毎に全部の画像データを記憶しなくても、所定間隔でフレーム画像のデータを記憶するようにしてもよい。但し、特徴検出回路1305において、特徴検出処理を行うフレーム間隔よりも、短くなるようにする。また、追尾位置算出部1307b、追尾位置補正適否判断部1307c、補間被写体位置算出部1306cにおける演算処理の一部または全部は、ハードウエア回路で行ってもよく、またCPU1301によってソフトウエアの処理で行ってもよい。
【0066】
次に、
図4Aおよび
図4Bに示すフローチャートを用いて、本実施形態における追尾等の処理について説明する。なお、このフローは、CPU1301がフラッシュROM134に記憶されているプログラムコードに従って、カメラ100内の各部等を制御することによって実現する。
【0067】
図4Aに示すメインフローが開始すると、まず、撮影モードとして何が設定されているかを判定する(S1)。本実施形態に係るカメラ100では、カメラ操作スイッチ132またはタッチパネル124によって撮影モードが設定可能であり、ユーザは静止画モードと動画モードの何れかを設定することができる。
【0068】
ステップS1における判定の結果、静止画モードが設定されていた場合には、次に、ライブビュー表示を開始する(S3)。ここでは、CPU1301は、撮像素子114よって取得した画像データに基づいて、表示素子120にライブビュー表示を行う。なお、ライブビュー表示は、所定のフレームレートが経過する毎に、撮像素子114から画像データを取得し、画像を更新する。
【0069】
ライブビューを開始すると、次に、1stレリーズSWがオンか否かを判定する(S5)。ユーザは撮影のための準備動作を行う場合に、レリーズ釦を半押しする。ここでは、CPU1301は、レリーズ釦の半押し動作に応じて1stレリーズSWがオンとなったか否かを判定する。この判定の結果、1stレリーズSWがオフの場合には、オンになるまで待機状態となる。
【0070】
ステップS5における判定の結果、1stレリーズSWがオンとなると、次に、レリーズAFを行う(S7)。ここでは、CPU1301は、オートフォーカス(AF)動作を実行する。具体的には、AF制御回路1302は、撮像素子114からの画像データ等を用いて焦点検出を行い、この焦点検出の結果に応じて、焦点調整機構104を通じて、撮影レンズ102内のフォーカスレンズを移動させ、合焦状態にする。
【0071】
ステップS7においてAF動作を行うと、次に、追尾枠を表示する(S9)。ここでは、CPU1301は、表示素子120に表示されている画像の中で、追尾対象の被写体に追尾枠を表示させる。追尾対象の被写体は、ユーザが手動操作で指定してもよく、また顔や人体、車体、至近側の被写体等を自動的に判別して決定してもよい。
【0072】
ステップS9において追尾枠を表示すると、次に、特徴検出処理を行う(S11)。ここでは、特徴検出回路1305が、フレーム画像から予め設定された特徴を検出する。この特徴検出処理の詳しい動作については、
図5を用いて後述する。
【0073】
ステップS11において特徴検出処理を行うと、次に、特徴検出が完了したか否かを判定する(S13)。特徴検出回路1305において、ニューラル・ネットワークを用いて特定被写体を検出には、時間を要する。1フレーム分の画像データを特徴検出回路1305に入力した後に推論結果を得るまでに、撮像素子114からは所定フレーム数の画像が出力される。この間、本実施形態においては、ステップS17等において追尾処理を行う。
【0074】
ステップS13において特徴検出が完了した場合には、補間追尾処理を行う(S15)。ここでは、補間追尾回路1306が補間追尾処理を実行する。この補間追尾処理の詳しい動作については、
図6を用いて後述する。
【0075】
ステップS15において、補間追尾処理を行うと、またはステップS13における判定の結果、特徴検出が完了していない場合には、追尾処理を行う(S17)。ここでは、追尾回路1307が、1フレーム分の画像データが出力される毎に、パターンマッチング処理等によって、ステップS9において追尾枠を表示した被写体に対して追尾するための処理を実行する。なお、特定被写体は、画像から検出した全ての被写体を指すのに対して(例えば画像に複数の鳥がいる場合、特定被写体は複数の鳥を指す)、ステップS9において、追尾枠を表示した被写体は特定被写体のうち1つの被写体を指す。この追尾処理の詳しい動作については、
図8を用いて後述する。
【0076】
ステップS17において追尾処理を行うと、次に、AF処理を行う(S19)。ここでは、CPU1301は、ステップS17の追尾処理において位置を求めた追尾対象の被写体に対して合焦となるように、AF処理を実行する。
【0077】
ステップS19においてAF処理を行うと、次に、2ndレリーズSWがオンか否かを判定する(S21)。ユーザは、構図および撮影タイミングについて意図通りであれば、レリーズ釦を全押しする。このステップでは、CPU1301は、レリーズ釦の全押し動作に応じて2ndレリーズSWがオンとなったか否かを判定する。この判定の結果、2ndレリーズSWがオフの場合には、ステップS11に戻り、前述の動作を実行する。
【0078】
一方、ステップS21における判定の結果、2ndレリーズSWがオンであれば、追尾枠を非表示にする(S23)。ここでは、CPU1301は、ステップS9において表示した追尾枠を非表示にする。
【0079】
ステップS23において追尾枠を非表示にすると、次に、画像データを記録する(S25)。ここでは、CPU1301は、AE制御回路1303、絞り駆動機構108を通じて、絞り106の開口量を制御し、またAE制御回路1303、シャッタ駆動機構112を通じてメカニカルシャッタ110の開閉を制御する。メカニカルシャッタ110が開放された後、露光時間が経過し、メカニカルシャッタ110が閉鎖されると、撮像素子IF回路116は撮像素子114から画素データを読み出し、画像データをシステムコントローラ130に出力する。画像処理回路1304は、画像データに対して記録用の画像処理を施し、メモリ制御回路1310は画像処理が施された画像データを記録メディア128に記録する。
【0080】
ステップS25において画像データを記録すると、次に、TagDataへ追尾データを記録する(S27)。ここでは、メモリ制御回路1310が、画像データのTagData(メタデータ)の記録領域等に、追尾データを記録する。SDRAM118には、追尾データが記録されている。この追尾データは、画像の中において追尾対象となった被写体の位置等に関するデータである。この追尾データを画像データのTagDataの記録領域に記録する。ステップS27において、TagDataへ追尾データを記録すると、本フローを終了する。
【0081】
ステップS1に戻り、このステップにおける判定の結果、撮影モードが動画モードであった場合には、ステップS3と同様に、ライブビュー表示を開始する(S31)。続いて、動画釦SWがオンか否かを判定する(S33)。ユーザは動画撮影を開始する際には、動画釦を押す。ここでは、CPU1301は、動画釦が押されて動画釦SWがオンとなったか否かを判定する。この判定の結果、動画釦SWがオフの場合には、オンになるまで待機状態となる。
【0082】
ステップS33における判定の結果、動画釦SWがオンの場合には、ステップS9と同様に追尾枠を表示する(S35)。続いてステップS11と同様に、特徴検出処理を実行し(S37)、ステップS13と同様に、特徴検出が完了したか否かを判定する(S39)。この判定の結果、特徴検出が完了した場合には、ステップS15と同様に、補間追尾処理を行う(S41)。補間追尾処理を行うと、またはステップS39における判定の結果、特徴検出が完了していない場合には、次に、ステップS17と同様に追尾処理を行う(S43)。続いて、ステップS19と同様に、AF処理を行う(S45)。
【0083】
次に、動画データの記録を行う(S47)。ここでは、CPU1301は、AE制御回路1303、絞り駆動機構108を通じて、絞り106の開口量を制御し、またシャッタ駆動機構112を通じてメカニカルシャッタ110を開放状態にする。露出制御は、絞り値とISO感度値に基づいて制御する。撮像素子IF回路116は、所定のフレームレートに従って撮像素子114から画像データを読み出し、画像データをシステムコントローラ130に出力する。画像処理回路1304は、記録用の画像処理を施し、動画ファイルを生成する。メモリ制御回路1310は生成された動画ファイルを記録メディア128に記録する。
【0084】
動画データを記録すると、次に、ステップS27と同様に、TagDataへ追尾データを記録する(S49)。続いて、動画釦SWがオフか否かを判定する(S51)。
ユーザは、動画撮影を終了する場合には、動画釦を再度押す。ここでは、CPU1301は、動画釦を再度押したことに応じて動画釦SWがオフとなったか否かを判定する。この判定の結果、動画釦SWがオンの場合には、ステップS37に戻り、前述の動作を実行する。
【0085】
一方、ステップS51における判定の結果、動画釦SWがオフであれば、ステップS23と同様に、追尾枠を非表示にする(S53)。追尾枠を非表示にすると、本フローを終了する。
【0086】
このように、
図4Aおよび
図4Bに示すメインフローにおいては、撮像素子114から1フレーム分の画像データが出力される毎に追尾処理を行い(S17、S43)、また所定フレーム間隔で特徴検出処理を行い、特定被写体が抽出されると(S11、S13Yes、S37、S39Yes)、補間追尾処理を行っている(S15、S41)。すなわち、毎フレーム、パターンマッチング等によって追尾を行うと共に、所定フレーム間隔で特徴検出処理によって抽出された特定被写体の位置を用いて、追尾対象の位置を補正している。つまり、高精度の特徴検出処理の結果によって、追尾処理によって検出された対象被写体の位置を補正している。このため、高速かつ高精度の追尾を行うことができる。
【0087】
なお、ステップS17、S43における追尾処理は毎フレーム、行わなくてもよいが、ステップS11、S37における特徴検出処理を行うフレーム間隔よりは、狭いフレーム間隔で行うようにする。
【0088】
次に、
図5に示すフローチャートを用いて、ステップS11、S37における特徴検出処理について説明する。特徴検出処理のフローが開始すると、まず、特徴検出が完了したか否かを判定する(S61)。特徴検出処理は、最初に、特徴検出回路1305の入力層1305a(
図2参照)に、撮像素子114から取得した1フレーム分の画像データを入力する。特徴検出回路1305は、処理が終了すると、出力層1305cから結果を出力する。CPU1301は、特徴検出回路1305の出力層1305cから結果が出力されたか否かに基づいて、判定する。この判定の結果、特徴検出が終了していない場合には、このフローを終了し、元のフローに戻る。
【0089】
一方、ステップS61における判定の結果、特徴検出が終了した場合には、次に、被写体検出処理を行う(S63)。ここでは、CPU1301は、特徴検出回路1305によって検出された特定被写体の情報を抽出する。特定被写体の情報としては、例えば、特定被写体が占めている領域、特定被写体の位置、特定被写体の種類等がある。
【0090】
ステップS63において、被写体検出処理を行うと、次に、検出結果関連付け処理を行う(S65)。ここでは、CPU1301は、特定被写体に含まれる、ボディ領域とパーツ領域の情報に基づいて、両者が被写体のボディ領域とパーツ領域であれば、同じ被写体に属し、両者の関連付けを行う。この検出結果関連付け処理については、第2実施形態において詳しく説明する(例えば、
図13参照)。検出結果関連付け処理を行うと、特徴検出処理を終了し、元のフローに戻る。
【0091】
次に、
図6に示すフローチャートを用いて、ステップS15、S41における補間追尾処理について説明する。補間追尾処理のフローが開始すると、まず、被写体検出位置を取得する(S71)。ここでは、補間追尾回路1306は、特徴検出回路1305から被写体検出位置を取得する(
図3参照)。
【0092】
続いて、フレーム画像を取得する(S73)。ここでは、補間追尾回路1306内の補間被写体位置算出部1306bは、撮像素子114から1フレーム分の画像データを取得する(
図3参照)。次に、画像の取り込み処理を行う(S75)。ここでは、画像メモリ1306aは、特徴検出回路1305に入力された時点のフレーム画像から現時点に撮像されたフレームまでのフレーム画像を画像メモリに取り込み処理する。なお、この処理は、上述の期間、撮像素子114から1フレーム分の画像データが出力される毎に、順次、画像メモリ1306aが画像データを記憶すればよい。
【0093】
ステップS75において画像の取込処理を行うと、次に、補間被写体位置を算出する(S77)。ここでは、補間被写体位置算出部1306bが、特徴検出回路1305からの被写体検出位置を用いて、特徴検出回路1305に入力された時点のフレーム画像に対して、補正を行う。そして、上述の時点以後、順次、過去の画像データを読み出し、被写体位置を補正(補間)する(
図7および
図9の補間追尾処理参照)。そして、現時点に撮像されたフレーム画像に対して、被写体位置の補正(補間)が終了すると、補間被写体位置が出力される。なお、特徴検出回路1305が複数の被写体位置を検出した場合には、優先順位に従って、補間追尾の対象を決める。補間被写体位置を算出すると、補間追尾処理のフローを終了し、元のフローに戻る。
【0094】
次に、
図7に示すタイミング図を用いて、特徴検出回路1305の出力と、パターンマッチング法による特徴検知出力とを組み合わせて、入力画像から目標被写体を検知する動作について説明する。本実施形態においては、フォーカスレンズを駆動し、合焦させる画像領域を目標被写体としており、特徴検出回路1305が特定被写体を検出する。一般に、ニューラル・ネットワークを用いて、特徴検出を行う方法は、演算処理ステップが多いため処理時間が長くなり、この結果、撮像フレーム毎に特定被写体を検出することができない。そこで、特徴検出回路1305が特定被写体を検出する間に取得したフレーム画像を画像メモリ1306aに一時保存しておき、補間被写体位置算出部1306bが特定被写体を検出した際に、特徴検出回路1305が検出した特徴パターンを探索して、補間被写体位置を出力する。
【0095】
図7において、横軸は時間を示す。縦軸に記載の項目は、上から、順に、
・撮像フレームタイミング(VD信号)
・撮像の露光中のタイミング
・画像メモリへ検出用画像を登録するタイミング
・補間追尾処理を行うタイミング
・特徴検出回路1305が特定被写体を検出するタイミング
・オートフォーカス(AF)を実施するタイミング
を示す。また、
図7に示す例では、60fps(1秒間に60フレームの画像を撮像)で撮像している。
【0096】
図7において、時刻T1からT2の間で、1回目の露光が行われ、時刻T2において、露光が終了するので、1枚目の検出用画像の生成が開始される。時刻T3頃、1枚目の検出用画像の生成が完了するので、特徴検出回路1305が特定被写体の検出処理を開始する。続いて、時刻T63頃には、特定被写体の検出処理が終わる。そこで、特徴検出回路1305は、補間追尾回路1306に特徴検出結果通知を出力する。また、補間追尾回路1306内の補間被写体位置算出部1306bは、画像メモリ1306aに一時保存されている2枚目のフレーム画像を読み出し、特定被写体の特徴量を使用して、2枚目のフレーム画像の補間追尾処理を行う。2枚目のフレーム画像の補間追尾処理が終わると、次に、3枚目のフレーム画像を読み出し、同様に、補間追尾処理を行う。
【0097】
時刻T83頃まで、補間追尾処理を繰り返す。すなわち、時刻T63頃から時刻T83頃までは、補間追尾処理にて現フレームまでの被写体移動量を算出している。時刻T83頃に、80枚目のフレーム画像の補間追尾処理が終わると、次は81枚目のフレーム画像となる。しかし、この頃には、実際の検出用画像(81枚目)が生成されるので、82枚目のAF検出用の画像に対して、補間追尾結果をフィードバックする。
【0098】
このように、本実施形態においては、特徴検出回路1305の処理速度が遅いので、この処理期間中は他の特徴量を使用した追尾方法によって補っている。例えば、
図7に示す例において、ライブビュー撮影のフレームレートが60fps、特徴検出の検出レートが1fpsの場合、特徴検出が1フレーム目の処理を完了した時点で露光は62フレーム目まで進んでいる。したがって、特徴検出回路1305による検出結果に基づいて、リアルタイムに目標の被写体をフォーカシングすることができない。
【0099】
そこで、本実施形態においては、特徴検出回路1305が演算処理を行っている間の検出用画像(パターンマッチング等の入力画像)を、内部メモリ(画像メモリ1306a)に保存し、特徴検出回路1305の処理完了後に、2フレーム目から他の特徴量を使用した追尾方法を用いて、特徴検出回路1305が検出した被写体を追尾している(補間追尾)。他の特徴量としては、例えば、輝度情報等による追尾結果を利用してもよい。
【0100】
補間追尾を行っている間、リアルタイムに追尾する方法によって追尾結果を出力し、目標被写体にフォーカシングする。リアルタイムに追尾する方法としては、例えば、前述の輝度情報による追尾方法以外にも、色情報による追尾方法、特徴点の情報に基づく追尾方法、顔検出、人体検出等がある。
【0101】
次に、
図8に示すフローチャートを用いて、ステップS17、S43(
図4A、
図4B参照)における追尾処理について説明する。追尾処理のフローが開始すると、まず、追尾開始の1フレーム目か否かを判定する(S81)。追尾は1枚目のフレームにおいて、追尾対象となる被写体を決定し、以後、この対象被写体を追尾する。ここでは、CPU1301は、追尾を行うにあたって、1枚目のフレームであるか否かを判定する。
【0102】
ステップS81における判定の結果、追尾開始の1フレーム目であれば、次に、追尾情報を記憶する(S83)。ここでは、CPU1301は、追尾情報、例えば、追尾対象である顔、人体、輝度、色、または特徴点情報等を、メモリ(例えば、SDRAM118)に記憶する。
【0103】
ステップS83において追尾情報を記憶すると、またはステップS81における判定の結果、追尾開始の1フレーム目でない場合には、フレーム画像の取得を行う(S85)。ここでは、追尾回路1307が、撮像素子114から1フレーム分の画像データを取得する。
【0104】
続いて、画像の取込処理を行う(S87)。ここでは、追尾回路1307が、特徴検出回路1305に入力された時点(例えば、
図7の例では、時刻T3頃)のフレーム画像から現時点(例えば、
図7の例では、時刻T81頃)に撮像されたフレームまでのフレーム画像を、画像メモリ1307aに一時保存する。なお、この画像取込処理は、撮像素子114から1フレーム分の画像データが出力される毎に、画像メモリ1307aに一時保存する。また、画像取り込み処理は、撮像された全てのフレーム画像の内、1部のフレーム画像を画像メモリ1307aに一時保存する形態であってもよい。
【0105】
画像取込処理を行うと、次に、追尾位置を算出する(S89)。ここでは、追尾回路1307内の追尾位置算出部1307bが、前回取得したフレーム画像(画像メモリ1307aに一時保存されている)と、今回取得したフレーム画像に対して、パターンマッチング法等によって、追尾対象被写体の位置(追尾位置)を算出する。
【0106】
追尾位置を算出すると、次に、追尾位置の補正の要否判断を行う(S91)。ここでは、追尾回路1307内の追尾位置補正適否判断部1307cが、追尾位置の補正が必要か否かを判断する。この判断は、追尾回路1307の追尾位置算出部1307bが算出した追尾位置と、特徴検出回路1305からの被写体検出位置に基づいて補間追尾回路1306が補間した追尾位置を比較し、2つの被写体の位置が所定量以上、離れている場合には、追尾位置の補正が必要と判断する。追尾位置の補正が必要と判断された場合には、補間被写体位置算出部1306bによって、被写体を補間追尾した結果を用いて、追尾位置を修正する。
【0107】
追尾位置補正要否判断を行うと、次に、追尾枠の表示を更新する(S93)。ステップS89、S91において追尾位置が求められているので、ここでは、CPU1301が、表示素子120に表示する追尾枠の位置を更新する。追尾枠の表示を更新すると、元のフローに戻る。
【0108】
次に、
図9に示すタイミング図を用いて、追尾AF動作において、入力画像から目標被写体を追尾する際の動作について説明する
【0109】
図9において、横軸は時間を示す。縦軸に記載の項目は、上から、順に、
・撮像フレームタイミング(VD信号)
・撮像の露光中のタイミング
・画像メモリへ検出用画像を登録するタイミング
・追尾処理(目標被写体の追尾処理)を行うタイミング
・補間追尾処理を行うタイミング
・特徴検出回路1305が特定被写体を検出するタイミング
を示す。また、
図9に示す例においても、60fps(1秒間に60フレームの画像を撮像)で撮像している。
【0110】
図9の追尾処理においては、画像メモリ1307aに記憶されたフレーム画像データに対して、フレーム画像データ毎に、追尾させるための特定被写体の検出を行う(
図8のS89参照)。また、特徴検出処理において、特定被写体の検出結果が出力された時(61フレーム目の検出用画像が画像メモリ1307aに記憶された時、時刻T62)に、特徴検出回路1305が特定被写体の検出結果を出力する。補間追尾処理においては、 パターンマッチング法等を用いて、画像メモリ1306aに記憶された各フレーム画像の中において、特徴検出回路1305が検出した特徴パターンを探索し、特徴検出回路1305が検出したフレームから現フレームまでの目標被写体の移動量を求める。そして、追尾処理において、特徴検出回路1305が検出した特定被写体の位置に前述の目標被写体の移動量を加えて算出された被写体の位置に、追尾位置を補正するかしないかを判断する(81番目の追尾処理、
図8のS91参照)。
【0111】
図9においても、時刻T1からT2の間で、1回目の露光が行われ、時刻T2において、露光が終了するので、1枚目の検出用画像の生成が開始される。時刻T3頃に、1枚目の検出用画像の生成が完了するので、追尾回路1307は、追尾処理を開始し、時刻T4頃に2枚目の検出用画像が生成されると、追尾回路1307は追尾位置を算出する(
図8のS89参照)。以後、検出用画像が生成される毎に、追尾回路1307は追尾位置を算出する。
【0112】
一方、時刻T3頃、1枚目の検出用画像の生成が完了するので、特徴検出回路1305が特定被写体の検出処理を開始する。この特徴検出回路1305による特定被写体の検出処理は、
図7を用いて説明した通りであるので、詳しい説明は省略する。時刻T83頃に、80枚目のフレーム画像の補間追尾処理が終わると、次は81枚目のフレーム画像となる。しかし、この頃には、実際の検出用画像(81枚目)が生成されるので、81枚目の検出用画像に対して、補間追尾結果をフィードバックする。ここで補間追尾結果のフィードバックとは、検出結果を修正することである。
【0113】
このように、本実施形態においては、被写体を追跡している時に、特徴検出回路1305の検出結果を、リアルタイムで追尾処理を行っている追尾回路1307へフィードバックしている。
【0114】
次に、
図10を用いて、追尾処理における検出結果の修正について説明する。検出用画像内に同種の複数の被写体が存在する場合、特徴検出回路1305はフレーム間で異なる被写体を検出する場合がある。
図10において、実線の四角枠はパターンマッチング法によって追尾を行う場合の追尾対象を示し、破線の四角枠は特徴検出回路1305内のニューラル・ネットワークを用いて検出する追尾対象を示す。
【0115】
図10において、時刻Taには、パターンマッチング法による追尾対象と、特徴検出回路1305によって検出する追尾対象は、いずれも野鳥B1であって、同一である。しかし、時刻Tbにおいては、パターンマッチング法による追尾対象は野鳥B2であり、特徴検出回路1305によって検出する追尾対象は野鳥B1となり、両者は一致しない。
【0116】
このため、パターンマッチング法によって追尾していた被写体と、特徴検出回路1305が検出した被写体の画面内における距離を求め、この距離が所定量以上、離れている場合には、特徴検出回路1305の検出結果をパターンマッチング法による追尾処理へフィードバック、すなわち、検出位置を修正している(
図8のS91参照)。この処理によって、目標の被写体を適切に追尾することが可能となる。
【0117】
次に、追尾処理において用いられる追尾方法について説明する。輝度情報を用いた追尾方法は、N-1フレームにおいて、所定範囲の輝度分布パターンと、Nフレームにおける所定範囲の輝度分布パターンを移動させる。両輝度パターンが一致したときの移動量が追尾の移動量となる。また、色情報による追尾方法がある。この方法は、N-1フレームにおける所定範囲の色情報を抽出し、Nフレームの中から同じ色情報の領域を抽出する。同じ色情報の領域までの距離が追尾の移動量となる。また、顔・人体による追尾方法がある。これは、N-1フレームの画面の中から顔・人体を抽出し、これと同じ顔・人体をNフレームの画面の中から抽出する。同じ顔・人体の領域までの距離が追尾の移動量となる。
【0118】
ニューラル・ネットワークを有する特徴検出回路1305は、学習データに基づいて様々な被写体を検出することができる。特定被写体のパターンは様々な形で現れる。一例として、スポーツ選手等を追尾する場合のように、フレーム間で被写体形状が大きく変化する場合は、パターンマッチングによる検出が難しいため、前述した画像の色情報による追尾方法を選択するとよい。この場合には、パターンマッチングから色情報による追尾に切り替えて、追尾回路1307による追尾と、特徴検出回路1305による被写体検出の両方を利用する。一方、走行する自動車を追尾する場合等のように、フレーム間で被写体形状が大きく変化しない場合は、パターンマッチングによる追尾方法を選択するとよい。
【0119】
補間追尾回路1306において、補間対象のフレームは以下の通りである。内部メモリ(画像メモリ1306a)に保存された全フレームを対象に追尾処理をする。ただし、全フレームを対象にすることに限らず、間引きしたフレームを対象にするようにしてもよい。 あるいは、フレーム間の被写体の移動量を検出し、検出した被写体の移動量の大きさが判定閾値よりも大きい場合は、全フレームを対象に追尾処理をしてもよい。一方、検出した被写体の移動量の大きさが判定閾値よりも小さい場合は、全フレームから間引いたフレームを対象に追尾処理をしてもよい。フレームを間引くことによって、特徴検出回路1305が検出した結果(対象被写体)をフィードバックする(修正する)時間を短縮することができる。
【0120】
補間追尾回路1306において、補間追尾の優先度は以下の通りである。特徴検出回路1305は、1つの画像から、複数の部位を同時に検出することができる。例えば、特定被写体を「野鳥」としたとき、野鳥の「全身」、「頭」、「眼」を同時に検出できる場合がある。しかし、特徴検出回路1305による補間追尾が、複数部位を同時に補間追尾処理できない場合には、 あらかじめ設定した優先度に基づいて、補間追尾処理する部位を決定する。例えば、特定被写体が「野鳥」の場合、野鳥の「眼」、「頭」、「全身」の順で、補間追尾処理する部位の優先度を設定する。この場合には、野鳥の「眼」を検出できた時には、「眼」の位置に基づいて補間追尾処理をする。野鳥の「眼」を検出できない場合に、野鳥の「頭」を検出できた時には、「頭」の位置に基づいて補間追尾処理を行う。
【0121】
特徴検出回路1305における特徴検出の実行周期が所定フレーム程度(例えば、30fps)の速さが得られる場合には、特徴検出回路1305は、フレーム間で、被写体位置の移動が大きい場合等、異なる被写体を検出した時の制御方法を変更してもよい。例えば、現フレームと過去フレームに対し、特徴検出回路1305が検出した、同じ被写体間の距離が、閾値範囲内の場合のみ、特徴検出回路1305の検出結果を、追尾処理へフィードバック(検出結果の修正)をする。
【0122】
追尾対象位置の画像表示は以下の通りである。パターンマッチング等による追尾位置と特徴検出回路1305が検出した被写体位置に差がある場合には、特徴検出回路1305の検出結果をフィードバック(検出対象を修正)した時に、カメラの表示素子120(例えば、背面液晶表示部)に描画した追尾枠が、急峻に大きく移動してしまう。このため撮影者(ユーザ)に対して、見栄えが悪くなってしまう。そこで、急峻に大きく移動する場合は、追尾位置の表示(追尾枠)を、数フレームかけて徐々に移動するように描画してもよい。
【0123】
以上、説明したように、本発明の第1実施形態においては、カメラ100は、被写体像を露光し、この被写体像を光電変換した画像信号を一定周期で繰り返して出力する撮像部(例えば、撮像素子114、撮像素子IF回路116)と、画像信号を、ディープラーニングにて特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路に入力し、特定被写体を検出する被写体検出部(例えば、特徴検出回路1305)と、被写体検出部が検出した特定被写体の位置を基準にして、画像信号から得る画像に対して、被写体の特徴量を基に、追尾位置を補間する被写体検出補間部(例えば、補間追尾回路1306)を備えている。このため、目標被写体が移動する撮影を行う時に、被写体検出部がフレーム画像に対して目標被写体を検出する時間を要する場合であっても、目標被写体の位置をリアルタイムに追尾して、フォーカスレンズを合焦させることができる。
【0124】
次に、
図11ないし
図16を用いて、本発明の第2実施形態について説明する。第1実施形態に比較し、第2実施形態は被写体全体と、その部分を抽出し、両者を関連付けて、被写体の追尾を行うようにしている。
【0125】
第2実施形態における構成は、第1実施形態における
図1Aおよび
図1Bに示した構成と同様である。相違点は、特徴検出回路1305の内部構成が異なる。この点について、
図11を用いて説明する。
【0126】
図11において、補間追尾回路1306の内部構成は、
図3に示した回路構成と同様である。特徴検出回路1305は、特徴検出部1305Aに加えて検出結果関連付け処理部1305Bを有する。特徴検出部1305Aは、特定被写体を検出する際に、被写体全体(ボディ)を含む画像と、被写体の一部の領域を含む画像(パーツ)を、一度に検出することができる。検出結果関連付け処理部1305Bは、入力画像上において検出したボディとパーツの関連付けを行う処理を行う。なお、この処理を検出結果関連付け処理と称する。
【0127】
図12を用いて、検出結果関連付け処理を説明する。入力画像INpicを、特徴検出回路1305内の特徴検出部1305Aに入力すると、入力画像の被写体位置OUTposを得ることができる。入力画像INpicは、自動車全体PICtotの画像があり、さらに自動車全体PICtotの内部には、ドライバーのヘルメットがパーツ画像PICparとして存在する。特徴検出部1305Aは、全体画像とパーツ画像をそれぞれ特徴画像として、それぞれ特徴画像にある被写体検出位置情報OUTposを検出することができる。
【0128】
検出結果関連付け処理部1305Bは、被写体検出部が検出した被写体(全体)とパーツの位置関係に基づいて関連付けをする被写体関連付け判断部として機能する(例えば、
図4AのS11、
図4AのS37、
図5のS65等参照)。上述の特定被写体は、被写体関連付けされた被写体(全体)とパーツである。被写体関連付け判断部は、被写体距離検出部が検出した被写体(全体)とパーツ間の距離に基づいて関連付けをする。
【0129】
検出結果関連付け処理部1305Bは、被写体関連付け判断部の位置関係を判断する位置関係条件部をさらに有している。位置関係条件部は、被写体検出部が検出した被写体の検出範囲内に、被写体検出部が検出したパーツの検出領域の中心位置が包有されること、または、被写体とパーツの検出領域の中心位置の距離が、規定範囲であることを条件として判断する(例えば、
図13参照)。位置関係条件部は、被写体検出部が検出した被写体の種別によって、被写体の検出領域の範囲を拡げる、または狭める。
【0130】
上述の被写体関連付け判断部は、被写体検出部が検出した複数のパーツが関連付けられる場合、被写体とパーツの位置が最も近いパーツを関連付ける。検出結果関連付け処理部1305Bは、被写体検出部が検出した被写体とパーツの位置の信頼度を判断する時系列データ信頼性判断部をさらに有している。被写体関連付け判断部は、対象とする被写体およびパーツの位置は、時系列データ信頼性判断部の判断結果に基づいて有効と判断された被写体及びパーツの位置を対象とする。上述の時系列データ信頼性判断部は、複数フレームの画像間の被写体の位置及びパーツの位置に基づいて信頼性を判断する。
【0131】
第2実施形態に係るカメラの追尾の動作は、
図4A、
図4Bに示したメインフロー、およびその詳細な動作を示すフローと同様であり、ステップS65(
図5参照)の検出結果関連付け処理における詳細な処理が追加されている。そこで、
図13に示すフローチャートを用いて、検出結果関連付け処理の詳細を説明する。
【0132】
図13に示す検出結果関連付け処理が開始すると、まず、ボディ検出領域にパーツ検出領域の中心が包含されているか否かを判定する(S101)。ここでは、検出結果関連付け処理部1305Bが、特徴検出部1305Aによって検出された、ボディ検出領域とパーツ検出領域の中心位置の関係を判定する。例えば、
図14に示すように、ボディ検出領域Area_bodyの中に、パーツ検出領域Area_parの中心Cparが包含されているか否かを判定する。
【0133】
ステップS101における判定の結果、パーツ検出領域の中心位置がボディ検出領域に包含されている場合には、次に、ボディ・パーツ検出領域の中心距離が規定範囲内にあるか否かを判定する(S103)。ここでは、検出結果関連付け処理部1305Bが、特徴検出部1305Aによって検出された、ボディ検出領域の中心位置とパーツ検出領域の中心位置の関係を判定する。例えば、
図14に示すように、ボディ検出領域Area_bodyの中心Cbodyと、パーツ検出領域Area_parの中心Cparの間の距離が、規定範囲内にあるか否かを判定する。
【0134】
ステップS103における判定の結果、ボディ・パーツ検出領域の中心距離が規定範囲内にある場合には、ボディとパーツの関連付けを行う(S105)。ここでは、検出結果関連付け処理部1305Bが、検出したボディとパーツは同じ被写体の関係であると関連付けする。
【0135】
一方、ステップS101における判定の結果、パーツ検出領域の中心位置がボディ検出領域内に包含されていない場合には、またはステップS103における判定の結果、ボディ・パーツ検出領域の中心距離が規定範囲内にない場合には、ボディとパーツの関連付けをしない(S107)。ここでは、検出結果関連付け処理部1305Bが、検出したボディとパーツは同じ被写体の関係であると関連付けしない。
【0136】
ステップS105またはS107において、ボディとパーツの関連を規定すると、元のフロー、すなわち、
図5のステップS65を終了し、
図4Aまたは
図4Bのフローに戻る。
【0137】
次に、
図13に示すフローチャートにおいて行われている同一被写体か否かの判断方法について説明する。
【0138】
同一被写体か否かの第1の判断方法として、ボディとパーツの位置から判断する方法について説明する。
図13におけるフローチャートは、この第1の判断方法によって、同一被写体か否かを判断している。特徴検出部1305A内のニューラル・ネットワークから出力された特定のボディおよびパーツの位置関係が、下記2つの条件を全て満たす場合、または一方を満たす場合には、同一被写体の検出結果とみなす。
【0139】
(条件1):ボディの検出領域内にパーツの検出領域の中心位置が包含されること。
(条件2):ボディとパーツ検出領域の中心位置の距離が規定範囲内であること。
なお、条件1および条件2の何れであっても、被写体の種別によって、検出領域の範囲を拡大、または縮小してもよい。
【0140】
特徴検出部1305Aは、1つのボディに対して、複数のパーツが検出される場合がある。この場合には、上述の条件を満たす場合は、最も位置関係が近いパーツを優先して関連付けしてもよい。また、ボディとパーツの位置関係を予め定義しておき、関連付けられた位置関係が定義から外れる場合は、ボディとパーツを関連付けないと判断してもよい。
【0141】
同一被写体か否かの第2の判断方法として、ボディとパーツの時系列の位置から判断する方法について説明する。特徴検出部1305A内のニューラル・ネットワークから出力された特定のボディおよびパーツの情報を複数フレーム分保持し、連続して規定フレーム間、検出できた情報のみを対象に、下記2つの条件を満たす場合、または一方を満たす場合、同一被写体の検出結果とみなす。上述の第1の判断方法は1フレーム分の画像に対して、2つの条件で判断しているのに対して、第2の判断方法は、連続したフレームにおいて検出できた情報に基づいて判断している点で相違する。
【0142】
(条件1):ボディの検出領域内にパーツの検出領域の中心位置が包含されること。
(条件2):ボディとパーツ検出領域の中心位置の距離が規定範囲であること。
なお、条件1および条件2の何れであっても、被写体の種別によって、検出領域の範囲を拡大、または縮小してもよい。
【0143】
図15は、ボディとパーツの時系列の位置から同一の被写体か否かを判断する例を示す。
図15に示す例では、時系列の画像として、フレーム1~6の6のフレーム画像がある。各フレーム画像において、自動車がボディであり、ドライバーのヘルメットがパーツである。ボディの領域はArea_bodyであり、またパーツの領域はAreaparである。いずれのフレームにおいても、上述の条件1、2を満足していることから、各フレームにおいて、ボディ領域Area_bodyとパーツ領域Areaparは、関連付けられる。
【0144】
連続したフレーム間で同一被写体を検出できたか否かを判断として、ニューラル・ネットワークからの出力される情報において、フレーム間の位置関係やサイズの変化量や信頼性が規定範囲内であれば、連続して同一被写体を検出できたと判断する。上述の信頼性は、ニューラル・ネットワークの出力結果の信頼性や、過去フレームの関連付け結果に基づいて判断する。また、上述の規定範囲は、オプティカルフローに基づき規定範囲の閾値を変化させてもよい。なお、オプティカルフローは、フレーム画像の現在のフレーム画像から次のフレーム画像に対する、フレーム間の全体の動き量と方向のこという(グローバルベクトルともいう)。
【0145】
ニューラル・ネットワークから検出結果が得られない場合には、輝度情報や色情報に基づいて行う追尾処理によって補間した位置を用いて、連続するフレーム数の間において、同一被写体を検出できたか否かを判断する。また、1つのボディに対して、複数のパーツが条件を満たす場合には、最も位置関係が近いパーツを優先して関連付けしてもよい。或いは、関連付けないと判断してもよい。また、ボディとパーツの位置関係を予め定義し、関連付けられた位置関係が、定義から外れる場合は、ボディとパーツを関連付けないと判断してもよい。
【0146】
同一被写体か否かの第3の判断方法として、ボディとパーツのカメラからの被写体距離に基づいて判断する方法について説明する。この第3の判断方法は、ニューラル・ネットワークから出力された、特定のボディとパーツについて、ボディまでの被写体距離と、パーツまでの被写体距離が、規定範囲内である場合、同一被写体の検出結果とみなす。
【0147】
被写体距離の算出方法としては、例えば、撮像素子114に位相差センサが設けられ、AF制御回路1302が位相差法による焦点検出を行うことが出来る場合には、カメラからボディまでの被写体距離と、パーツまでの被写体距離を算出することができる。また、撮像素子114からの画像データを用いて、所謂コントラスト法によって焦点調節を行う場合には、ボディおよびパーツに合焦しているときのフォーカスレンズ位置に基づいて、カメラからボディまでの被写体距離と、パーツまでの被写体距離を算出することができる。
【0148】
次に、
図16に示すフローチャートを用いて、ステップS65(
図5参照)における検出結果関連付け処理の他の例を示す。この例は、上述の第3の判断によって、関連付け処理を行っている。
【0149】
図16の検出結果関連付け処理のフローが開始すると、まず、ボディ・パーツ検出領域の距離が規定範囲内か否かを判定する(S111)。ここでは、検出結果関連付け処理部1305Bが、特徴検出処理部1305Aによって検出されたボディとパーツのそれぞれについて、AF検出回路1301によって検出された被写体距離情報を取得する。そして、検出結果関連付け処理部1305Bは、ボディとパーツについて取得した被写体距離情報が、規定範囲内であるか否かを判定する。
【0150】
ステップS111における判定の結果、被写体距離が規定範囲内であれば、ボディとパーツを関連付けする(S113)。一方、被写体距離が規定範囲内でなければ、ボディとパーツを関連付けしない(S115)。ステップS113またはS115における処理を行うと、元のフローに戻る。
【0151】
なお、本フローにおいて、1つのボディに対して、複数のパーツが条件を満たす場合には、最も距離が近いパーツを優先して関連付けしてもよい。或いは、全く関連付けないと判断してもよい。
【0152】
本実施形態において、同一被写体と判断した場合の表示部(表示素子120)における表示方法としては、以下のように行う。同一被写体と関連付けた場合には、他の検出枠と異なる色、または異なる形状、また異なる太さで検出枠を表示してもよい。また、同一被写体と関連付けた検出結果をハイライト表示してもよい。また、同一被写体と関連付けた検出結果のボディ又はパーツのみに検出枠を表示してもよい。表示部には、被写体関連付け判断部にて、関連付けられた被写体およびパーツを、他の被写体と識別して表示する。
【0153】
以上、説明したように、本発明の第2実施形態においては、カメラ100は、被写体検出部(例えば、特徴検出部1305A)が検出した被写体(全体)とパーツの位置関係に基づいて関連付けをする被写体関連付け判断部(例えば、検出結果関連付け処理部1305B)を備え、特定被写体は、被写体関連付けされた被写体(全体)とパーツである。このため、追尾する目標被写体の範囲に、目標被写体と異なるパーツを含む複数のパーツが存在する場合であっても、目標となるパーツを検出して追尾することができる。また、目標被写体が移動する被写体を撮影する際に、フレーム画像内に、被写体全体(ボディ)と 特徴部分(パーツ)が複数存在し、特徴検出回路がそれぞれを検出する場合であっても、被写体全体(ボディ)と 特徴部分(パーツ)を関連付け処理をすることで、目標被写体の位置を誤らずに検出することができる。
【0154】
次に、
図17を用いて、第1および第2実施形態の変形例を説明する。第2実施形態では、第1実施形態に設けられている補間追尾処理部1305Aに加えて、特徴検出回路1305内に検出結果関連付け処理部1305Bを設けて、ボディ、パーツ関連付け処理を行っていた。本変形例は、特徴検出部1305Aがフレーム画像から目標被写体を検出するまでの処理時間を短時間で行うことができる場合に、補間追尾処理回路を省略している。
【0155】
第1実施形態における本変形例の構成は、
図1Bにおける補間追尾回路1306を省略し、
図3における補間追尾回路1306を省略する。また、第2実施形態において、
図11に代えて、
図17に示すように、補間追尾回路1306を省略してもよい。この場合には、特徴検出回路1305内の検出結果関連付け処理部1305Bから出力される被写体位置情報は、直接、追尾回路1307の追尾位置補正適否判断部1307cに出力される。
【0156】
以上説明したように、本発明の各実施形態や変形例における撮像装置および追尾方法は、被写体像を露光して、この被写体像を光電変換した画像信号を一定周期で繰り返して出力し(例えば、
図1の撮像素子114、
図4AのS3参照)、画像信号から、特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路によって、特定被写体を検出し(例えば、
図1の特徴検出回路1305、
図4AのS11参照)、検出した特定被写体にあるボディ部分とパーツ部分の位置関係に基づいて関連付けをしている(
図1の特徴検出回路1305、
図11の検出結果関連付け処理部1305B、
図4AのS11、
図5のS65、
図13のS105参照)。上述の特定被写体は、被写体関連付けされた被写体(全体)とパーツである。このため、追尾する目標被写体の範囲に、目標被写体と異なるパーツを含む複数のパーツが存在する場合であっても、目標となるパーツを検出して追尾することができる。
【0157】
また、本発明の各実施形態や変形例における撮像装置および追尾方法は、被写体像を露光して、この被写体像を光電変換した画像信号を一定周期で繰り返して出力し(例えば、
図1の撮像素子114、
図4AのS3参照)、画像信号を、特定被写体を検出する演算パラメータが学習されたニューラル・ネットワーク回路に入力し、特定被写体を検出し(例えば、
図1の特徴検出回路1305、
図4AのS11参照)、検出した特定被写体の位置を基準にして、画像信号から得る画像に対して、被写体の特徴量を基に、追尾位置を補間している(例えば、
図1Bの補間追尾回路1306、
図4AのS15、
図6のS77参照)。このため、被写体検出を行うために処理時間がかかってしまうニューラル・ネットワークを用いた場合でも、目標被写体を確実に追尾することができる。
【0158】
なお、本発明の各実施形態や変形例においては、システムコントローラ130は、プロセッサ内にCPU1301、AF制御回路1302、AE制御回路1303、画像処理回路1304、特徴検出回路1305、補間追尾回路1306、追尾回路1307等の種々の回路を備えていたが、これらの種々の回路はシステムコントローラ130を構成するプロセッサの外部に配置するようにしてもよい。また、これらの種々の回路や、回路内の各部は、ハードウエア回路に代えて、CPUとプログラムによってソフトウエア的に構成してもよく、ヴェリログ(Verilog)によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またDSP(Digital Signal Processor)を利用して構成してもよい。さらに、FPGA(Field Programmable Gate Array)等の集積回路で構成されたプロセッサにおける各回路部であってもよい。これらは適宜組み合わせてもよいことは勿論である。また、CPUに限らず、コントローラとしての機能を果たす素子であればよい。
【0159】
また、本発明の各実施形態や変形例においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ(PC)、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ(例えば、医療用内視鏡)、顕微鏡等の科学機器用のカメラ、工業用内視鏡、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、異なる光学システムを採用する撮影のための機器であれば、本発明を適用することができる。
【0160】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを通じてダウンロードしたものでもよい。
【0161】
また、本発明の一実施形態においては、フローチャートを用いて、本実施形態における動作を説明したが、処理手順は、順番を変えてもよく、また、いずれかのステップを省略してもよく、ステップを追加してもよく、さらに各ステップ内における具体的な処理内容を変更してもよい。
【0162】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【0163】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせによって、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0164】
102・・・撮影レンズ、104・・・焦点調節機構、106・・・絞り、108・・・絞り駆動機構、110・・・メカニカルシャッタ、112・・・シャッタ駆動機構、114・・・撮像素子、116・・・撮像素子IF回路、118・・・SDRAM、120・・・表示素子、122・・・表示素子駆動回路、124・・・タッチパネル、126・・・タッチパネル駆動回路、128・・・記録メディア、130・・・システムコントローラ、1301・・・CPU、1302・・・AF制御回路、1303・・・AE制御回路、1304・・・画像処理回路、1305・・・特徴検出回路、1305a・・・入力層、1305b・・・中間層、1305c・・・出力層、1305d・・・特徴パラメータ、1305A・・・特徴検出処理部、1305B・・・検出結果関連付け処理部、1306・・・補間追尾回路、1306a・・・画像メモリ、1306b・・・補間被写体位置算出部、1307・・・追尾回路、1307a・・・画像メモリ、1307b・・・追尾位置算出部、1307c・・・追尾位置補正適否判断部、1308・・・焦点検出情報取得回路、1309・・・顔・人体検出処理回路、1310・・・メモリ制御回路、132・・・カメラ操作スイッチ、134・・・フラッシュROM