IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7604416画像処理装置、撮像装置、画像処理方法およびプログラム
<>
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図1
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図2
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図3
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図4
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図5
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図6
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図7
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図8
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図9
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図10
  • 特許-画像処理装置、撮像装置、画像処理方法およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-13
(45)【発行日】2024-12-23
(54)【発明の名称】画像処理装置、撮像装置、画像処理方法およびプログラム
(51)【国際特許分類】
   H04N 23/60 20230101AFI20241216BHJP
   H04N 23/667 20230101ALI20241216BHJP
   G06T 7/00 20170101ALI20241216BHJP
   H04N 23/611 20230101ALI20241216BHJP
【FI】
H04N23/60 500
H04N23/667
G06T7/00 350B
H04N23/611
【請求項の数】 22
(21)【出願番号】P 2022051873
(22)【出願日】2022-03-28
(65)【公開番号】P2023144747
(43)【公開日】2023-10-11
【審査請求日】2023-09-07
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】辻 良介
(72)【発明者】
【氏名】鈴木 香菜子
【審査官】櫃本 研太郎
(56)【参考文献】
【文献】国際公開第2020/137602(WO,A1)
【文献】特開2016-206352(JP,A)
【文献】特開2008-197153(JP,A)
【文献】特開2021-184564(JP,A)
【文献】特開2015-012487(JP,A)
【文献】特開2018-087864(JP,A)
【文献】国際公開第2020/138497(WO,A1)
【文献】特許第6785481(JP,B2)
【文献】特開2017-102748(JP,A)
【文献】特開2008-288684(JP,A)
【文献】特開2018-093359(JP,A)
【文献】特開2020-205482(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222-5/257、7/18、
23/00、23/40-23/76、
23/90-23/959
G03B 15/00-15/16
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域であって、前記第1の画像データで検出された前記第1の領域の位置及び大きさに基づいて処理された画像データで前記第2の領域の検出を行い、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項2】
前記第1の画像データで検出された前記第1の領域の位置及び大きさに基づいて処理された画像データは、前記第1の画像データで検出された前記第1の領域の位置及び大きさに基づいた領域でトリミングされた画像データであることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1、第2の検出手段はそれぞれ予め機械学習された第1の学習済みモデル、予め機械学習された第2の学習済みモデルを用いていることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記第2の学習済モデルは、前記第1の領域として検出されるべき被写体を背景とする画像を入力画像とし、当該入力画像における前記第2の領域の位置情報をアノテーションとして学習したモデルであることを特徴とする請求項に記載の画像処理装置。
【請求項5】
前記第1の学習済モデルは、前記第1の領域として検出されるべき被写体と背景を含む画像を入力画像とし、当該入力画像における前記第1の領域の位置情報をアノテーションとして学習したモデルであることを特徴とする請求項に記載の画像処理装置。
【請求項6】
前記追尾手段は予め機械学習された第3の学習済みモデルを用いて前記被写体の追尾を行うことを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
【請求項7】
前記第3の学習済みモデルは、追尾に適した特徴量が抽出されるように学習したモデルであることを特徴とする請求項に記載の画像処理装置。
【請求項8】
前記第1の領域は、前記第2の領域よりも広いことを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
【請求項9】
前記第1及び第2の検出手段が検出する被写体とは異なる被写体の少なくとも一部の領域をそれぞれ検出する第3及び第4の検出手段と、
撮像モードを設定する設定手段と、
前記設定手段により設定される撮影モードに応じて前記第1、第2、第3、第4の検出手段を切替える制御手段と、を有することを特徴とする請求項1乃至のいずれか1項に記載の画像処理装置。
【請求項10】
前記第1及び第2の領域は乗り物の少なくとも一部に対応する領域であり、前記第2の領域は前記第1の領域より狭いことを特徴とする請求項に記載の画像処理装置。
【請求項11】
前記第3の検出手段は人の少なくとも一部に対応する第3の領域を検出し、前記第4の検出手段は人とは異なる動物の少なくとも一部に対応する第4の領域を検出し、
前記制御手段は、前記第1の検出手段による検出を行う画像データでは前記第4の検出手段による検出は行わないことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の検出手段により前記第1の領域が検出されず前記第2の検出手段により前記第2の領域が検出されている場合、前記第2の画像データにおいて、前記第1の画像データで検出された前記第2の領域の位置及び大きさに基づく領域で前記第2の領域の検出を行い、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項13】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域および前記第2の領域の少なくともどちらか一方が検出されており、前記第1の領域が現在の画像データ内に収まらないと判断された場合、取得した画像データからトリミングを行わずに前記第2の領域を検出し、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項14】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第2の領域が検出されており、第2の画像データにおける検出結果において前記第1の領域が検出されている場合、前記第2の画像データにおける前記第1の領域と前記第2の領域の大きさの関係が前記第1の画像データにおける前記第1の領域と過去の前記第2の領域の大きさの関係と同様になるように前記画像データにトリミングを行い、前記第2の領域を検出し、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項15】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の領域または前記第2の領域が検出されている前記第1の画像データを用いて前記第1の領域及び前記第2の領域の移動量を算出し、第2の画像データにおいて前記第1の領域または前記第2の領域が存在すると予測される領域を前記取得手段により取得された画像データからトリミングして画像データを生成し、前記第2の領域の検出を行い、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項16】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の領域または前記第2の領域が検出されている前記第1の画像データを含む複数の画像データを比較し、前記第1の領域または前記第2の領域が時間の経過とともに大きくなっていると判断された場合、第2の画像データにおいて前記第2の領域の検出を行い、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項17】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第1の領域及び前記第2の領域が検出されている前記第1の画像データを含む過去の或る複数の画像データを比較し、前記第1の領域と前記第2の領域の大きさの遷移から現在の画像における前記第1の領域と前記第2の領域の大きさの関係を推測し、前記第2の画像データについて、過去の前記第1の領域と過去の前記第2の領域の大きさの関係と同様になるように前記取得手段により取得された画像データにトリミングを行い、前記第2の領域を検出し、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項18】
画像データを取得する取得手段と、
画像データから被写体の第1の領域を検出する第1の検出手段と、
画像データから被写体の第2の領域を検出する第2の検出手段と、
前記被写体を追尾する追尾手段と、を有し
前記第2の検出手段は、
第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域で前記第2の領域の検出を行い、
前記第2の画像データにおいて前記第1の領域が検出されておらず、前記第1の画像データにおいて前記第1の領域が検出されている場合でも、前記第1の画像データと前記第2の画像データから算出された画像データの変化量が或る閾値以上となった場合、前記第2の領域の検出を行わず、
前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置。
【請求項19】
撮像素子と、
請求項1乃至18のいずれか1項に記載の画像処理装置と、
を有することを特徴とする撮像装置。
【請求項20】
撮像された画像データを取得する取得工程と、
画像データから被写体の第1の領域を検出する第1の検出工程と、
画像データから被写体の第2の領域を検出する第2の検出工程と、
前記被写体に追尾を行う追尾工程と、を有し、
前記第2の検出工程において、
第1の画像データにおいて前記第1の検出工程にて前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、
前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域であって、前記第1の画像データで検出された前記第1の領域の位置及び大きさに基づいて処理された画像データで前記第2の領域の検出を行い、
前記追尾工程において、前記第1、第2の検出工程による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする画像処理装置の制御方法。
【請求項21】
請求項20に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項22】
請求項20に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定の被写体を検出する被写体検出処理を実行可能な画像処理装置、撮像装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
デジタルカメラ等の撮像装置で撮像された画像データから、特定の被写体を検出するために機械学習を行った学習済モデルに基づいて被写体検出の画像処理を行う技術がある。特許文献1では、被写体の特定の領域を自動的に検出した後、その領域に対し、その領域に含まれるさらに狭い領域検出を行うことで特定被写体の局所的な領域を検出することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-197795号公報
【非特許文献】
【0004】
【文献】“Fully-Convolutional Siamese Networks fоr Object Tracking”,arXiv 2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1では、特定被写体の全体領域を検出できていなければ局所的な領域を検出できない。
【0006】
上記課題に鑑み、本発明は、特定被写体の全体領域および局所領域を精度よく検出可能な画像処理装置、撮像装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の画像処理装置は、画像データを取得する取得手段と、画像データから被写体の第1の領域を検出する第1の検出手段と、画像データから被写体の第2の領域を検出する第2の検出手段と、前記被写体を追尾する追尾手段と、を有し、前記第2の検出手段は、第1の画像データにおいて前記第1の検出手段が前記第1の領域を検出しているとき、前記第1の領域に対応する領域で前記第2の領域の検出を行い、前記第1の画像データにおいて前記第1の領域が検出され、前記第1の画像データより後に撮像された第2の画像データにおいて前記第1の領域が検出されない場合、前記第1の画像データにおいて検出された前記第1の領域よりも広い領域であって、前記第1の画像データで検出された前記第1の領域の位置及び大きさに基づいて処理された画像データで前記第2の領域の検出を行い、前記追尾手段は前記第1、第2の検出手段による検出結果の少なくとも一方を用いて前記被写体の追尾を行うことを特徴とする。
【発明の効果】
【0008】
本発明によれば、被写体の全体領域および局所領域を精度よく検出することができる。
【図面の簡単な説明】
【0009】
図1】撮像装置の外観図。
図2】システム制御部と各部との関係を示す図。
図3】ユーザーによる検出対象設定方法の一例について示す図。
図4】本実施形態の処理の流れを示すフローチャート。
図5】全体領域との局所領域の位置関係の一例を示す図。
図6】被写体撮影時の撮像画像の時系列変化を示す図。
図7】被写体検出に用いる画像データのトリミング方法の一例を示す図。
図8】一つのフレームに対する複数の辞書データの切り替えシーケンスの一例を示す図。
図9】本実施形態の処理に追尾処理を加えた流れを示すフローチャート。
図10】追尾処理の流れを示すフローチャート。
図11】辞書データの切り替えシーケンスに追尾を加えた一例を示す図。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の好適な実施形態を説明する。
【0011】
図1(a)、(b)に本発明を適用可能な装置の一例としての撮像装置100の外観図を示す。図1(a)は撮像装置100の前面斜視図であり、図1(b)は撮像装置100の背面斜視図である。
【0012】
図1において、表示部28は画像や各種情報を表示する、カメラ背面に設けられた表示部である。タッチパネル70aは、表示部28の表示面(操作面)に対するタッチ操作を検出することができる。ファインダー外表示部43は、カメラ上面に設けられた表示部であり、シャッター速度や絞りをはじめとするカメラの様々な設定値が表示される。シャッターボタン61は撮影指示を行うための操作部である。モード切替スイッチ60は各種モードを切り替えるための操作部である。端子カバー40は外部機器と撮像装置100とを接続する接続ケーブル等のコネクタ(不図示)を保護するカバーである。
【0013】
メイン電子ダイヤル71は操作部70に含まれる回転操作部材であり、このメイン電子ダイヤル71を回すことで、シャッター速度や絞りなどの設定値の変更等が行える。電源スイッチ72は撮像装置100の電源のON及びOFFを切り替える操作部材である。サブ電子ダイヤル73は操作部70に含まれ、操作部70に含まれる回転操作部材であり、選択枠の移動や画像送りなどを行える。十字キー74は操作部70に含まれ、上、下、左、右部分をそれぞれ押し込み可能な十字キー(4方向キー)である。十字キー74の押した部分に応じた操作が可能である。SETボタン75は操作部70に含まれ、押しボタンであり、主に選択項目の決定などに用いられる。
【0014】
動画ボタン76は、動画撮影(記録)の開始、停止の指示に用いられる。AEロックボタン77は操作部70に含まれ、撮影待機状態で押下することにより、露出状態を固定することができる。拡大ボタン78は操作部70に含まれ、撮影モードのライブビュー表示において拡大モードのON、OFFを行うための操作ボタンである。拡大モードをONとしてからメイン電子ダイヤル71を操作することにより、LV画像の拡大、縮小を行える。再生モードにおいては再生画像を拡大し、拡大率を増加させるための拡大ボタンとして機能する。再生ボタン79は操作部70に含まれ、撮影モードと再生モードとを切り替える操作ボタンである。撮影モード中に再生ボタン79を押下することで再生モードに移行し、記録媒体200に記録された画像のうち最新の画像を表示部28に表示させることができる。メニューボタン81は、操作部70に含まれ、メニューボタン81が押されると各種の設定可能なメニュー画面が表示部28に表示される。ユーザーは、表示部28に表示されたメニュー画面と、十字キー74やSETボタン75を用いて直感的に各種設定を行うことができる。
【0015】
タッチバー82はタッチ操作を受け付けることが可能なライン状のタッチ操作部材(ラインタッチセンサー)であり、グリップ部90を握った右手の親指で操作可能な位置に配置されている。タッチバー82はタップ操作(タッチして所定期間以内に移動せずに離す操作)、左右へのスライド操作(タッチした後、タッチしたままタッチ位置を移動する操作)などを受け付け可能である。タッチバー82はタッチパネル70aとは異なる操作部材であり、表示機能は備えていない。
【0016】
通信端子10は撮像装置100がレンズ側(着脱可能)と通信を行う為の通信端子である。接眼部16は、接眼ファインダー(覗き込み型のファインダー)の接眼部であり、ユーザーは、接眼部16を介して内部のEVF29に表示された映像を視認することができる。接眼検知部57は接眼部16に撮影者が接眼しているか否かを検知する接眼検知センサーである。蓋83は記録媒体200を格納したスロットの蓋である。グリップ部90は、ユーザーが撮像装置100を構えた際に右手で握りやすい形状とした保持部である。グリップ部90を右手の小指、薬指、中指で握ってデジタルカメラを保持した状態で、右手の人差指で操作可能な位置にシャッターボタン61、メイン電子ダイヤル71が配置されている。また、同じ状態で、右手の親指で操作可能な位置に、サブ電子ダイヤル73、タッチバー82が配置されている。
【0017】
図2(a)は、本実施形態による撮像装置100の構成例を示すブロック図である。図2において、レンズユニット150は、交換可能な撮影レンズを搭載するレンズユニットである。レンズ103は通常、複数枚のレンズから構成されるが、ここでは簡略して一枚のレンズのみで示している。通信端子6はレンズユニット150が撮像装置100側と通信を行う為の通信端子であり、通信端子10は撮像装置100がレンズユニット150側と通信を行う為の通信端子である。レンズユニット150は、この通信端子6,10を介してシステム制御部50と通信し、内部のレンズシステム制御回路4によって絞り駆動回路2を介して絞り1の制御を行い、AF駆動回路3を介して、レンズ103の位置を変位させることで焦点を合わせる。
【0018】
シャッター101は、システム制御部50の制御で撮像部22の露光時間を自由に制御できるフォーカルプレーンシャッターである。
【0019】
撮像部22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。撮像部22は、システム制御部50にデフォーカス量情報を出力する撮像面位相差センサーを有していてもよい。A/D変換器23は、アナログ信号をデジタル信号に変換する。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換するために用いられる。
【0020】
画像処理部24は、A/D変換器23からのデータ、又は、メモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理を行う。画像処理部24により得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理を行う。
【0021】
A/D変換器23からの出力データは、画像処理部24及びメモリ制御部15を介して、或いは、メモリ制御部15を介してメモリ32に直接書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、表示部28、EVF29に表示するための画像データを格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
【0022】
また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。D/A変換器19は、メモリ32に格納されている画像表示用のデータをアナログ信号に変換して表示部28、EVF29に供給する。こうして、メモリ32に書き込まれた表示用の画像データはD/A変換器19を介して表示部28、EVF29により表示される。表示部28、EVF29は、LCDや有機EL等の表示器上に、D/A変換器19からのアナログ信号に応じた表示を行う。A/D変換器23によって一度A/D変換されメモリ32に蓄積されたデジタル信号をD/A変換器19においてアナログ変換し、表示部28またはEVF29に逐次転送して表示することで、ライブビュー表示(LV表示)を行える。以下、ライブビューで表示される画像をライブビュー画像(LV画像)と称する。
【0023】
ファインダー外液晶表示部43には、ファインダー外表示部駆動回路44を介して、シャッター速度や絞りをはじめとするカメラの様々な設定値が表示される。
【0024】
不揮発性メモリ56は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのプログラムのことである。
【0025】
システム制御部50は、少なくとも1つのプロセッサーまたは回路からなる制御部であり、撮像装置100全体を制御する。前述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ52には、例えばRAMが用いられ、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等が展開される。また、システム制御部50はメモリ32、D/A変換器19、表示部28等を制御することにより表示制御も行う。
【0026】
システムタイマー53は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
【0027】
操作部70はシステム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は操作部70に含まれる操作部材であり、システム制御部50の動作モードを静止画撮影モード、動画撮影モード、再生モード等のいずれかに切り替える。静止画撮影モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッター速度優先モード(Tvモード)、プログラムAEモード(Pモード)、がある。また、撮影シーン別の撮影設定となる各種シーンモード、カスタムモード等がある。モード切替スイッチ60より、ユーザーは、これらのモードのいずれかに直接切り替えることができる。あるいは、モード切替スイッチ60で撮影モードの一覧画面に一旦切り換えた後に、表示された複数のモードのいずれかを選択し、他の操作部材を用いて切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
【0028】
第1シャッタースイッチ62は、撮像装置100に設けられたシャッターボタン61の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備動作を開始する。
【0029】
第2シャッタースイッチ64は、シャッターボタン61の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから記録媒体200に撮像された画像を画像ファイルとして書き込むまでの一連の撮影処理の動作を開始する。
【0030】
操作部70は、ユーザーからの操作を受け付ける入力部としての各種操作部材である。操作部70には、少なくとも以下の操作部が含まれる。シャッターボタン61、メイン電子ダイヤル71、電源スイッチ72、サブ電子ダイヤル73、十字キー74、SETボタン75、動画ボタン76、AFロックボタン77、拡大ボタン78、再生ボタン79、メニューボタン81、タッチバー82。その他の操作部材70bは、ブロック図において個別に記載していない操作部材をまとめて表したものである。
【0031】
電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。電源部30は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
【0032】
記録媒体I/F18は、メモリカードやハードディスク等の記録媒体200とのインターフェースである。記録媒体200は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【0033】
通信部54は、無線または有線ケーブルによって接続し、映像信号や音声信号の送受信を行う。通信部54は無線LAN(Local Area Network)やインターネットとも接続可能である。また、通信部54は、Bluetooth(登録商標)やBluetooth Low Energyでも外部機器と通信可能である。通信部54は撮像部22で撮像した画像(LV画像を含む)や、記録媒体200に記録された画像を送信可能であり、また、外部機器から画像やその他の各種情報を受信することができる。
【0034】
姿勢検知部55は重力方向に対する撮像装置100の姿勢を検知する。姿勢検知部55で検知された姿勢に基づいて、撮像部22で撮影された画像が、撮像装置100を横に構えて撮影された画像であるか、縦に構えて撮影された画像であるかを判別可能である。システム制御部50は、姿勢検知部55で検知された姿勢に応じた向き情報を撮像部22で撮像された画像の画像ファイルに付加したり、画像を回転して記録したりすることが可能である。姿勢検知部55としては、加速度センサーやジャイロセンサーなどを用いることができる。姿勢検知部55である、加速度センサーやジャイロセンサーを用いて、撮像装置100の動き(パン、チルト、持ち上げ、静止しているか否か等)を検知することも可能である。
【0035】
図2(b)は、画像処理部24の有する本実施形態に特徴的な構成について図示したものである。画像処理部24は、画像データ生成部201、被写体検出部202、検出履歴記憶部203、辞書データ記憶部204、辞書データ選択部205を有する。画像データ生成部201、被写体検出部202、検出履歴記憶部203、辞書データ記憶部204および辞書データ選択部205は、システム制御部50の一部であってもよいし、画像処理部24およびシステム制御部50とは別途に設けられてもよい。画像データ生成検出履歴記憶該画像処理装置は、例えば、スマートフォンやタブレット端末等に搭載されてもよい。
【0036】
画像処理部24はA/D変換器23から出力されたデータに基づき生成した画像データを画像処理部24内の画像データ生成部201に送る。
【0037】
画像データ生成部201は後述する辞書データ選択部205で全体領域検出用辞書データが選択されている場合、入力される画像データを用いて、被写体検出部202で全体領域検出に使用する画像データを生成し、被写体検出部202に送る。一方、辞書データ選択部205で局所領域検出用辞書データが選択されている場合、後述する検出履歴記憶部203の検出履歴に基づいて被写体検出部202で局所領域検出に使用する画像データを生成し、被写体検出部202に送る。各検出用画像データの具体的な生成方法は後述する。
【0038】
被写体検出部202は、画像データ生成部201から入力された画像データに対し、辞書データ記憶部204に記憶された機械学習により生成される辞書データの中から辞書データ選択部205で決定された辞書データを受け取って被写体検出を行う。被写体検出部202は検出結果として前記画像データに含まれる被写体の位置等を推定し、前記推定結果を検出履歴記憶部203および図2(b)に図示した構成の外に出力する。
【0039】
本実施形態では、被写体検出部202は、機械学習されたCNNにより構成され、特定被写体の全体領域検出および局所領域検出を行う。全体領域検出および局所領域検出が可能な被写体は辞書データ記憶部204に記憶された辞書データに基づく。本実施形態では、被写体検出部202は、全体領域検出および局所領域検出とで異なるCNN(コンボリューショナル・ニューラル・ネットワーク)により構成される。さらに検出可能な被写体によって異なるCNNにより構成されていてもよい。被写体検出部202は、GPU(グラフィックス・プロセッシング・ユニット)やCNNによる推定処理に特化した回路で実現されてもよい。
【0040】
CNNの機械学習は、任意の手法で行われ得る。例えば、サーバ等の所定のコンピュータが、CNNの機械学習を行い、撮像装置100は、学習されたCNNを、所定のコンピュータから取得してもよい。本実施形態では、所定のコンピュータが学習用の画像データを入力とし、学習用の画像データに対応する被写体の位置情報等を教師データ(アノテーション)とした教師あり学習を行うことで、被写体検出部202のCNNの学習が行われる。以上により、学習済みのCNNが生成される。CNNの学習は、撮像装置100または上述した画像処理装置で行われてもよい。
【0041】
上述したように、被写体検出部202は、機械学習により学習されたCNN(学習済みモデル)を含む。被写体検出部202は、画像データを入力として、被写体の位置やサイズ、信頼度等を推定し、推定した情報を出力する。CNNは、例えば、畳み込み層とプーリング層とが交互に積層された層構造に、全結合層および出力層が結合されたネットワークであってもよい。この場合、CNNの学習としては、例えば、誤差逆伝搬法等が適用され得る。また、CNNは、特徴検出層(S層)と特徴統合層(C層)とをセットとした、ネオコグニトロンのCNNであってもよい。この場合、CNNの学習としては、「Add-if Silent」と称される学習手法が適用され得る。
【0042】
被写体検出部202には、学習済みのCNN以外の任意の学習済みモデルが用いられてもよい。例えば、サポートベクタマシンや決定木等の機械学習により生成される学習済みモデルが、被写体検出部202に適用されてもよい。また、被写体検出部202は、機械学習により生成される学習済みモデルでなくてもよい。例えば、被写体検出部202には、機械学習を用いない任意の被写体検出手法が適用されてもよい。
【0043】
検出履歴記憶部203は画像データにおける被写体検出部202で検出された被写体検出履歴を記憶し、システム制御部50は、履歴を画像データ生成部201および辞書データ選択部205に送る。本実施形態では、被写体検出履歴として検出に使用した辞書データ、検出回数、検出被写体の位置および検出被写体が含まれた画像データの識別子が含まれるが、これらのデータの中の少なくとも1つを記憶する構成でもよい。
【0044】
辞書データ記憶部204は特定の被写体の検出用辞書データが記憶され、システム制御部50は、辞書データ選択部205で選択された辞書データを辞書データ記憶部204より読み出し、被写体検出部202に送る。各辞書データは、例えば、特定の被写体の各領域の特徴が登録されたデータである。さらに、複数種類の被写体を検出するために、被写体ごとおよび被写体の領域ごとの辞書データを用いてもよい。従って、辞書データ記憶部204には、複数の辞書データが記憶される。辞書データ記憶部204は、「人物」を検出するための辞書データや「動物」を検出するための辞書データ、「乗物」を検出するための辞書データなど、複数種類の被写体検出用辞書データを記憶する。さらに「動物」とは別に動物の中でも形状が特殊で検出の需要が高い「鳥」を検出するための辞書データも記憶する。
【0045】
さらに「乗物」を検出するための辞書データを「自動車」、「バイク」、「鉄道」、「飛行機」などさらに細分化して個別に記憶することができる。
【0046】
本実施形態ではさらに、上記特定の被写体ごとに全体領域検出用辞書データと局所領域検出用辞書データを用意する。特定の被写体の全体領域とは、文字通り被写体全体を含む領域として設定されていてもよいし、被写体の中心部分、すなわち本体を含む領域として設定されていてもよい。例えば「乗物」にかかる被写体の全体領域であれば自動車やバイクの「車体」、鉄道の「先頭車両」、飛行機の「胴体部」など、被写体の種類ごとに定めることができる。また局所領域の定義としては、全体領域で特定された被写体における一部の領域を示す。例えば全体領域としての「人の顔全体」に対して局所領域としての「人の瞳」、もしくは全体領域としての「動物の顔全体」に対して局所領域としての「瞳」のように、全体領域に含まれるものとして設定される。「鳥」に対しても同様に「鳥の全体領域」あるいは「鳥の顔全体」を全体領域として「鳥の瞳」が局所領域として検出対象であり専用の辞書データが記憶されている。また、全体領域としての「バイクの車体全体」と局所領域としてのバイクの車体からはみ出した「ドライバのヘルメット」のように局所領域が全体領域に含まれていない位置関係でもよい。
【0047】
さらに、「自動車の車体全体」と自動車の中でも「フォーミュラーカー」に限定した「ドライバのヘルメット」のように被写体の全体領域に対して必ずしも局所領域が存在しない関係でもよい。
【0048】
上述した通り、局所領域検出用の辞書データは全体領域で検出した被写体中の一部の領域であることを前提としている。従って、本実施形態では、局所領域の検出に用いる辞書データは、全体領域として検出される被写体を背景とする画像を入力画像、同画像中の局所領域の位置または大きさをアノテーションとして学習させて生成する。
【0049】
辞書データ記憶部204に記憶された複数の辞書データによって検出された被写体の全体領域は焦点検出領域として用いることができる。例えば手前に障害物が存在し、奥に被写体が存在する構図において、検出された全体領域内に焦点を合わせることで被写体に焦点を合わせることが可能となる。
【0050】
しかし、例えば全体領域内の深度差が大きい場合、全体領域内のさらにどこにピントを合わせるかという問題が生じる。前述した問題に対し、局所領域検出を用いて範囲を限定することで鉄道の「運転席」や航空機の「コックピット」のような、全体領域と領域内の深度情報だけでは不明な、より詳細な位置に焦点を合わせることが可能となる。さらに、バイクなどの「乗物」の場合、人が乗っている場合と乗っていない場合で合わせたい焦点位置が異なる場合が考えられる。全体領域を「バイクの車体全体」、局所領域を「ドライバのヘルメット」とした辞書データを用いて全体領域検出と局所領域検出を行うことで、同じ被写体に対してドライバの有無で焦点を合わせる位置を切り替えることが可能となる。
【0051】
また、本実施形態では検出に被写体検出部202で使用される複数の辞書データは機械学習により生成されたものであるが、ルールベースにより生成された辞書データを併用してもよい。ルールベースにより生成された辞書データとは、例えば設計者が決めた、検出したい被写体の画像または当該被写体に特有な特徴量が記憶されたものである。当該辞書データの画像または特徴量を、撮像され得られた画像データの画像または特徴量と比較することで、当該被写体を検出することが出来る。ルールベースの辞書データは、機械学習により学習済モデルが設定するモデルより煩雑でないため、データ容量も少なく、ルールベースの辞書データを用いた被写体検出は、学習済モデルのそれよりも処理速度も早い(処理負荷も低い)。
【0052】
辞書データ選択部205では検出履歴記憶部203に保存された検出履歴に基づき、次に使用する辞書データを選択し、辞書データ記憶部204に通知する。
【0053】
本実施形態では、辞書データ記憶部204に複数種類の被写体ごとおよび被写体の領域ごとの辞書データが個別に記憶されており、同一の画像データに対して複数の辞書データを切り替えて複数回被写体検出を行う。辞書データ選択部205は検出履歴記憶部203に保存された検出履歴や後述するユーザーの選択に基づき辞書データの切り替えシーケンスを決定し、決定したシーケンスに沿って、使用する辞書データを決定する。辞書データの切り替えシーケンスの例については後述する。
【0054】
辞書データ記憶部204において複数種類の被写体および被写体の領域を検出するための辞書データは個別に記憶される。辞書データ選択部205で選択する辞書データは、これまでに検出された被写体の有無やその時に使用した辞書データの種類、優先して検出する被写体の種類、およびそれらの組み合わせに応じて切り替える。前述した優先して検出する被写体の種類はユーザーがあらかじめ選択してもよい。また、表示部28に表示されたライブビュー画面内の被写体をユーザーが指定する方法を用いてもよい。さらに、局所領域検出を行うかについても前述した全体領域検出用辞書データの種類ごともしくは一括でユーザーがあらかじめ選択してもよい。このときシステム制御部20は、前述したユーザーの選択や辞書データ選択部205が選択した辞書データの情報を表示部28に表示させてもよい。
【0055】
一例として、ユーザーが表示部28に表示されたメニュー画面から優先して検出する被写体の種類および局所領域検出を行うか否かを選択する例を図3に示す。図3(a)は表示部28に表示される検出被写体選択の設定画面を示し、ユーザーは操作部70への操作により検出可能な特定の被写体(例えば、乗物、動物、人物)から優先して検出する被写体を選択する(本実施形態では「乗物」を選択)。図3(b)では表示部28に表示される局所領域検出を行うか否かの設定画面を示し、ユーザーは操作部70への操作により局所領域検出ON/OFFを選択する(本実施形態では局所領域検出ONを選択)。図3(c)は優先被写体の設定、局所領域検出の設定が行われた状態で表示部28に表示されるライブビュー画面を示している。優先する被写体の選択の結果が被写体アイコン301、局所領域検出を行うか否か(あるいは検出した結果を表示するか否か)の選択の結果が局所領域検出ON/OFFアイコン302として表示部28に表示される。これによりユーザーはライブビュー画面において自分の行った設定を確認することができる(本実施形態では優先して検出する被写体として乗物を、局所領域検出はONを選択した場合の動作を後述する)。
【0056】
図4は、本実施形態の撮像装置100が行う本発明の特徴的な処理の流れを示すフローチャートである。本フローチャートの各ステップは、システム制御部50あるいはシステム制御部50の指示により各部が実行する。本フローチャートの開始時、撮像装置100は電源がONされライブビューの撮像モードで、操作部70を介した操作により静止画あるいは動画の撮像(記録)開始が指示できる状態であるものとする。
【0057】
図4のステップS401からステップS413までの一連の処理は、撮像装置100の撮像部22により1フレーム分(1枚の画像データ)の撮像が行われる際の処理であるものとする。しかしこれに限らず、ステップS401からステップS413までの一連の処理が、複数フレーム間で行われてもよい。すなわち、第1のフレームで被写体検出された結果が第2のフレーム以降のいずれかのフレームから反映されるなどしてもよい。
【0058】
ステップS401では、システム制御部50は撮像部22により撮像され、A/D変換部23により出力された撮像画像データを取得する。
【0059】
ステップS402では、画像処理部24は処理しやすい画像サイズ(例えばQVGA)に合わせて画像データをリサイズし、リサイズした画像データを画像データ生成部201に送る。
【0060】
ステップS403では、辞書データ選択部205は被写体検出に使用する辞書データを選択し、選択した辞書データが何であるかの選択情報を辞書データ記憶部204及び画像データ生成部201に送る。
【0061】
ステップS404では、システム制御部50が、ステップS403で辞書データ選択部205により全体領域検出用辞書データが選択されたか否かを判定する。ステップS404でYesと判定した場合、ステップS405に進み、Noと判定した場合、ステップS408に進む。
【0062】
ステップS405では、全体領域検出用辞書データが選択されていることに応じて、画像データ生成部201が画像全体の領域に対して被写体検出部202に入力するサイズにリサイズする処理を行い、リサイズされた画像データを被写体検出部202に送る。
【0063】
ステップS406では、被写体検出部202は辞書データ記憶部204に保存された特定の被写体(物体)の領域全体を検出するための全体領域検出用の辞書データを用いて検出した被写体の位置やサイズ、信頼度等の情報をシステム制御部50に出力する。このとき、被写体検出部202の出力および使用した辞書データの種別、検出に使用した画像データの識別子は検出履歴記憶部203に保存される。さらに、このとき、システム制御部50は、被写体検出部202が出力した情報の一部あるいは全部を表示部28に表示させてもよい。また、使用した辞書データに応じて前述した表示の方法を変えても良い。
【0064】
ステップS407では、検出履歴記憶部203に保存された検出履歴から同一の識別子を持つ画像データ(同一フレームの画像データ)に対して必要なすべての辞書データで検出を行ったかを判定する。判定結果がYesの場合、処理を終了し、Noの場合はステップS403に戻り、次に使用する辞書データを選択する。
【0065】
ステップS408では、局所領域検出機能がONになっているかを判定し、Yesの場合、ステップS409に進み、Noの場合、ステップS407に進む。
【0066】
ステップS409では、検出履歴記憶部203に保存された検出履歴からこれから検出を行う画像データと同一の識別子を持つ画像データの過去の検出において全体領域が検出されているかを確認する。Yesの場合、処理をステップS410に進め、Noの場合、ステップS412に進む。
【0067】
ステップS410では検出履歴記憶部203に保存された、これから検出を行う画像データと同一の識別子を持つ(同一フレームの)画像データの全体領域の検出結果を基に、画像データ生成部201で被写体検出用画像データのトリミング処理を行う。具体的には、被写体の全体領域が検出された領域から所定の画角分(画素数分)広い領域をトリミング領域として設定する。検出された全体領域からどれくらい広めにトリミング領域を設定するかは対象となる被写体(物体)に応じて異なる大きさや割合に設定してもよい。ステップS410ではさらにトリミング処理を行った画像データを被写体検出部202の入力サイズに合わせてリサイズし、被写体検出部202に送る。
【0068】
ステップS411では、被写体検出部202は辞書データ記憶部204に保存された局所領域検出用の辞書データを用いて検出した被写体の位置やサイズ、信頼度等の情報をシステム制御部50に出力する。このとき、被写体検出部202の出力および使用した辞書データの種別、検出に使用した画像データの識別子は検出履歴記憶部203に保存される。さらにこのとき、システム制御部50は、被写体検出部202が出力した情報の一部または全部を表示部28に表示させてもよい。また、使用した辞書データに応じて前述した表示の方法を変えても良い。
【0069】
ステップS412では検出履歴記憶部203に保存された検出履歴から過去フレームにおいて同一被写体の全体領域または局所領域の検出結果があるか否かの確認を行う。過去フレームとは、本実施形態では同一の識別子を持つフレームに対して時系列で1つ前に撮像され画像処理部24に出力された画像データに対応するフレームを指すが、時系列的に前のフレームであれば遡るフレーム数は問わない。ステップS412の判定でYesの場合、処理をステップS413に進める。Noの場合、処理をステップS407に進める。
【0070】
ステップS413では、必要に応じて被写体検出部202に入力する画角に対応するトリミング処理を行う。本実施形態では検出履歴記憶部203に保存された過去の画像データにおける検出結果を基に画像データ生成部201で画像データのトリミング処理を行う。さらにステップS413では前記トリミング処理を行った画像データを被写体検出部202の入力サイズに合わせてリサイズし、被写体検出部202に送る。
【0071】
ステップ409、ステップS410、ステップS412およびステップS413により、機械学習により生成された辞書データを用いた局所領域検出の性能向上が期待される。
【0072】
前述した局所領域検出の性能向上と、ステップS412およびステップS413の関連性について説明する。本実施形態では、ステップS412において検出履歴記憶部203に保存された検出履歴からこれから検出を行う画像データと同一の識別子を持つ画像データにおいて過去に被写体の全体領域が検出されているかを確認する。過去に被写体の全体領域が検出されていた場合には、ステップS41において前述の通り、画像全体の画角に対応する領域でリサイズを行うか、過去に検出された被写体の全体領域の位置、広さに基づいて画像データのリサイズを行う。
【0073】
ここで機械学習による辞書データは、特定の被写体が存在する大量の画像データから特定の被写体の共通する特徴を抽出することで生成することができる。共通する特徴には例えば被写体の大きさ、位置、色などに加えて背景など、特定の被写体外の領域も含まれる。従って、検出される被写体が存在する背景が限定的であるほど、少ない学習で検出性能(検出精度)が上がりやすい。一方で背景に依らずに特定の被写体を検出させようと学習させると、撮影シーンへの汎用性は高いが検出精度が高くなりにくい。辞書データ生成に使用する画像データが多く、多様であるほど検出性能は高くなる傾向にある。一方で、検出に使用する画像データにおいて検出する被写体の検出領域の大きさや位置を一定に制限することで、辞書データ生成に必要な画像データの数や多様性を絞っても検出性能を上げることは可能である。また、被写体の一部が画像データ外に見切れている場合は被写体の持つ特徴の一部が失われた状態であるため、検出性能は低くなる。
【0074】
また、一般的に被写体の領域が大きいほど含まれる特徴は多い。前述する機械学習された辞書データを用いた検出では、その辞書データで検出したい特定の被写体以外にも似た特徴を持つ物体を特定の被写体と誤検出する可能性がある。局所領域として定義される領域は、全体領域と比較して狭い領域である。領域が狭いほどその領域が含む特徴量は減少し、特徴量が少ないほど似た特徴を持つ物体は多くなり、誤検出が増える。
【0075】
図5は全体領域を自動車の「車体全体」とし、局所領域を「ドライバのヘルメット」と定義した場合の全体領域との局所領域の位置関係の一例を示す図である。図5において局所領域502は全体領域501に内包される。図5(a)に同一車体が異なる位置、距離および背景に存在する2枚の画像データを示す。また、図5(b)に前述した2枚の画像データを自動車の全体領域を基にトリミングした画像を示す。図5(a)に比べ、図5(b)の2枚の画像のように全体領域を基にトリミングすることで局所領域の位置、サイズ、背景のバリエーションを絞った画像データを生成することが可能となる。
【0076】
全体領域検出の履歴の有無に関係無く画像データ全体(画角全体)から局所領域検出を行う場合、様々な撮影シーン(被写体も背景も)の画像データを用意し、誤検出を防ぎつつ局所領域を検出する辞書データを生成しなければならない。一方で、本実施形態では、過去フレームにおいて被写体の全体領域が検出されていたシーンが検出されなくなった、すなわち被写体の全体領域が撮像画角から見切れるほど大きくなったシーンでは画像全体から局所領域も検出する。なぜならこのとき被写体は十分に大きく画像全体から局所領域を検出しても背景領域の大半が被写体の領域であると想定され、背景が被写体である前提で学習された辞書データを用いても十分に高い性能で検出が可能だからである。あるいは、他の実施形態として、過去フレームで検出された被写体の全体領域の位置、広さを基に現在の処理対象フレームをトリミングした画像データを局所領域検出に使用することで、誤検出を減らし、検出性能を向上させることが可能である。また、本実施形態における局所領域用の学習済モデルでは、検出に使用する画像データのバリエーションを削減できるため学習に使用する画像データおよびアノテーションデータの量を削減することが可能である。
【0077】
次に、前述した局所領域検出の性能向上と、ステップS412の関連性について説明する。本実施形態では、検出履歴記憶部203に保存された検出履歴にこれから検出を行う画像データと同一の識別子を持つ画像データにおいて全体領域が検出された履歴が存在しない場合に、過去の履歴を参照して局所領域検出を行うか否かを判定する。
【0078】
図6は全体領域をバイクの「車体全体」とし、局所領域を「ドライバのヘルメット」と定義した場合の全体領域との局所領域の位置関係の一例を示す図である。図6において局所領域602は全体領域601に内包されない。図6図6(a)から図6(c)に向かって被写体が接近してくる場合の撮像画像データの時系列変化を示している。図6(a)は被写体が小さいため局所領域を検出できず、図6(c)は被写体の一部が見切れているため全体領域を検出できない例を示している。図6のように被写体が奥から手前へ接近してくるような状況において、図6(c)に対する図6(b)のように近傍の時刻にいて被写体の全体領域もしくは局所領域が検出されていた場合、次の画像データにおいても被写体が存在する可能性が高い。そこで、システム制御部50は検出履歴記憶部203に記憶された過去フレームの画像データの検出履歴を読み出し、近傍の時刻における画像データにおいて全体領域もしくは局所領域が検出されていたか否かを判定する。いずれかの領域が検出されていた場合に限り、特定の画像データにおいて被写体全体領域を検出できなかった場合も局所領域を検出する。局所領域を検出する条件として、図6のように被写体が近づいてきている場合を想定し、被写体の全体領域が時刻ごとに(時間の経過とともに)大きくなっていたか否かを判定してもよい。さらに、例えば過去の画像データからの画像全体あるいは被写体の全体領域の変化量を算出することでシーン切り替え判定を行ってもよい。その結果、シーンが大きく切り替わった場合は近傍の時刻における画像データにおいて全体領域もしくは局所領域が検出されていても局所領域検出を行わないとしてもよい。ここでは、近傍の時刻における画像データと現在の画像データを比較し、画像データの変化量が或る閾値以上となる場合にシーンが大きく切り替わったと判定する。
【0079】
局所領域が存在する可能性の高い画像データに対してのみ局所領域検出の機会を増やすことで、局所領域が存在しない場合や局所領域に似た他の物体が存在する場合に誤った領域を局所領域と判定する機会を減らし、局所領域検出の性能を向上させることができる。
【0080】
また、前述した局所領域検出の性能向上と、ステップS413の関連性について説明する。本実施形態では、検出履歴記憶部203に保存された検出履歴に処理対象の画像データ(第2の画像データ)と同一の識別子を持つ画像データにおいて全体領域が検出された履歴が存在するかを判定する。その結果履歴が存在しない場合に過去画像(第1の画像データ)の全体領域もしくは局所領域の検出履歴に基づいて検出処理を行う。
【0081】
図7(a)(b)(c)は図6(a)(b)(c)と同様全体領域をバイクの「車体全体」とし、局所領域を「ドライバのヘルメット」と定義した場合の全体領域701との局所領域702の位置関係の一例を示す図である。どちらの図も撮像画像データの時系列変化を示している。また、図7(c)は車体の一部が見切れているため、全体領域を検出することができない例を示している。図7(c)に対する図7(a)(b)のように過去の近傍の時刻に置いて被写体の全体領域もしくは局所領域が検出されていた場合、次の時刻の画像データにおいても被写体が存在する可能性が高い。さらに検出履歴記憶部203に保存された特定の被写体における過去に検出された全体領域と局所領域の位置関係、検出領域の大きさから移動量を算出することで図7(c)において被写体の存在する可能性の高い位置を推測することができる。図7(d)は前述した過去の検出履歴を基に図7(c)の画像データを局所領域が一定の大きさで一定の位置に収まるように画像データをトリミングした例である。図7(d)のように過去の履歴を基に画像データのトリミングを行うことで、被写体の特徴に類似した物体が画像データ内に存在する可能性を減らし、検出しやすい画像データを生成することができ、検出性能を向上させることができる。
【0082】
トリミング範囲は図7に示した例のように過去に検出された全体領域と局所領域の位置関係および移動量から次の被写体の位置を予測して決めてもよい。また、近傍の時刻にいて局所検出が行われていない場合や、全体領域と局所領域の位置関係が時刻ごとに変化することを考慮して、全体領域の検出結果のみを使用してトリミング範囲を決めてもよい。さらに、図6(c)で示した例のように被写体が撮像装置に向かって近づいてくる場合など、被写体の動きによっては、過去フレームの全体領域の位置に基づいてトリミングを行うことで局所領域がトリミング後の画像に収まらない場合も考えられる。そのため、検出履歴記憶部203に記憶された過去の画像データ(第1の画像データ)に対する検出履歴を確認する。結果、近傍の時刻における画像データにおいて検出された全体領域および局所領域の位置や大きさの遷移から全体領域が画像データ内に収まっていないことを判断した場合に、トリミングを行わずに局所検出を行ってもよい。
【0083】
次に、図4のステップS403にて行われる撮像装置100による1フレーム(1枚の画像データ)に対する複数の辞書データの切り替えシーケンスについて説明する。辞書データ記憶部204に複数の辞書データが記憶されている場合、1フレームに対して複数の辞書で検出を行うことが可能である。一方で、撮像スピードや処理速度の問題で順次撮像された画像が出力され、処理するライブビューモードにおける画像や動画記録の際の動画データにおいて、1フレームに対して行える被写体検出回数は限られることが考えられる。
【0084】
このとき、使用する辞書データの種類や順番は、例えば過去に検出された被写体の有無やその時に使用した辞書データの種類、優先して検出する被写体の種類、局所領域検出をするか否かに応じて決定するとよい。辞書データの切り替えシーケンスによっては特定の被写体がフレーム内に含まれる際に該当する被写体検出用の辞書データが選択されず、検出機会を逃す可能性がある。そのため、設定やシーンに合わせて辞書データの切り替えシーケンスも切り替えが必要である。
【0085】
例として1フレームに対して3回まで被写体検出を行える(あるいは3個の並列して処理可能な検出器を有する)構造において、乗物が優先して検出する被写体に選択されている場合の辞書データ切り替えシーケンスの一例を図8に示す。V0、V1はそれぞれ1フレーム分の垂直同期期間を示し、人物頭部、乗り物1(バイク)、乗り物2(自動車)など矩形で囲まれたブロックは1つの垂直同期期間内に時系列で3つの辞書データ(学習済モデル)を用いた被写体検出が行えることを示すものである。
【0086】
図8(a)は1フレームにおいてすでに検出されている被写体が存在しない場合の辞書データ切り替えの例であり、人物の頭部全体、乗物1(バイク)全体、乗物2(自動車)全体の順で辞書データを切り替えている。例えば、切り替えシーケンスを持たず、図3(a)のようにメニュー画面からユーザーが選択した被写体を検出可能な辞書データを常時使用する場合、乗物が写っている際は乗物を、それ以外は人物と、シーンごとに優先検出被写体設定を切り替える手間が生じる。また、いつ乗物が来るか不明な場合、乗物に気づいてから優先検出被写体設定を切り替えていては、撮影が間に合わない恐れもある。これに対し、本実施形態では図8(a)のように特定の被写体が検出されていない期間においては比較的被写体になりやすい検出対象である「人物の頭部」については常時検出を行い、その他は優先検出被写体設定に応じて辞書データを切り替える。これにより優先検出被写体設定切り替えの回数を減らすことが可能になる。
【0087】
図8(b)は前フレームでバイクを検出した場合の次のフレームにおける辞書データの切り替え例であり、乗物1(バイク)全体、人物の頭部全体、乗り物1(バイク)局所の順で辞書データを切り替えている。辞書データの切り替えについて検出については必ずしも前述の順番である必要はない。例えば、前述の辞書データ切り替え例における人物の頭部全体辞書データをシーンに合わせて、例えばバイクを撮影するシーンでバイク以外に被写体として選ばれやすい辞書データに切り替えてもよい。図8(b)の例は撮影モードとして「乗り物優先」の設定が行われた場合のシーケンスと考えてもよい。またこのとき、乗り物と並列して検出する可能性が低い「動物」、「鳥」、およびこれらの局所領域の辞書データによる検出は行わないように制御してもよい。これにより結果的に所望の被写体への検出精度が上がる。
【0088】
図8(c)は前フレームで人物の頭部が検出された場合の辞書データ切り替え例であり、人物の頭部全体、乗り物1(バイク)全体、人物の瞳の順で辞書データを切り替えている。ここで人物の瞳は人物の頭部全体に対する局所領域である。2つ目の辞書データとして乗物1(バイク)全体を行うことで、人物の局所領域の検出を行っていても、優先検出被写体に設定された乗物がフレーム内に入った時に乗物全体領域を検出することができる。
【0089】
図8のように、辞書データ記憶部204に記憶された複数の辞書データのうち、どれかの辞書データで被写体が検出されるまでは複数種類の全体領域検出用辞書データを併用する。その後全体領域が検出される可能性が高い場合は検出する被写体を絞って局所領域検出用辞書データを併用することで検出率を上げることが可能となる。
【0090】
図8(d)は2フレームにわたって複数の全体領域検出用辞書データを切り替えて被写体検出を行う場合の辞書データ切り替え例である。図8(a)(b)(c)で示した例のような1フレーム毎に同じ辞書切り替えシーケンスを使用するのではない。例えば、過去の検出履歴が無く、優先して検出する被写体を設定しない場合には図8(d)で示した例のような複数のフレームにわたる辞書切り替えシーケンスを使用する。ここでいずれかの辞書データで全体領域が検出された後に、図8で示した例のような辞書切り替えシーケンスに切り替えてもよい。
【0091】
また、ユーザーが表示部28に表示されたライブビュー画面内のどこかの領域を指定した際、指定された領域から被写体を特定するために、図8(d)で示した例のような複数のフレームにわたる辞書切り替えシーケンスを使用してもよい。
【0092】
図8(e)は局所領域検出OFFが選択されている場合の辞書データの切り替え例であり、乗物1(バイク)全体のみ行うシーケンスである。
【0093】
ユーザーが優先して検出する被写に乗物を選択し、さらに局所領域検出OFFを選択している場合、ユーザーが撮影したい被写体は、ドライバではなく、車体であると推測できる。機械学習により生成された辞書データは検出対象物と類似の物体を検出対象物と誤検出する可能性がある。図8(b)に示した乗物が優先して検出する被写体に選択されている場合の辞書データ切り替えシーケンスを基に局所領域検出のみ行わないよう変更する。このときヘルメットは人物の頭部と似た形状と持つため、人物の頭部全体領域検出用辞書データによって人物の頭部全体領域として検出される可能性がある。図8(e)に示すように、検出したい対象によっては使用する辞書データの種類を絞ることで検出精度低下を防止することができる。
【0094】
以上、特定の被写体において全体領域と局所領域を検出する場合に関して説明した。続いて被写体の全体領域や局所領域を推定する方法として、全体領域、局所領域の検出とともに追尾手段を備える実施例に関して説明する。画像内の特定の被写体を追尾するための技術としては、輝度や色情報を利用するものやテンプレートマッチングなどが存在するが、近年、CNNを利用した技術が、高精度な追尾技術として注目を集めている。
【0095】
非特許文献1は、画像内の特定の被写体を追尾するための方法の1つである。追尾対象が映った画像と、探索範囲となる画像を、重みが同一のCNNにそれぞれ入力し、CNNから得られたそれぞれの特徴量同士の相互相関を計算することによって、探索範囲の画像中で追尾対象が存在する位置を特定するものである。
【0096】
図2の被写体検出部202で追尾処理が実行され、辞書データ記憶部204に「人物」や「乗物」の辞書データとは別に「追尾」の辞書データを備えるものとする。なお、「追尾」は、任意の被写体に適用可能であり、追尾の初期値は、「人物」や「乗物」の辞書データによる被写体検出結果に基づくものとする。追尾の最初の1フレームは、被写体検出の検出領域に基づき、CNNから得られた特徴量をテンプレートとして検出履歴記憶部203に登録する。以降のフレームでは登録したテンプレートと入力された画像とから、テンプレートマッチングによって被写体領域を推定する。
【0097】
図9は、図4のフローチャートに対して追尾処理を加えたものである。本フローチャートの各ステップは、図4と同様に、システム制御部50あるいはシステム制御部50の指示により各部が実行する。本フローチャートの開始時、撮像装置100は電源がONされライブビューの撮像モードで、操作部70を介した操作により静止画あるいは動画の撮像(記録)開始が指示できる状態であるものとする。
【0098】
ステップS901からステップS907までは、ステップS401からステップS407と同様のため説明を省略する。ステップS904ではシステム制御部50がステップS903で辞書データ選択部205により全体領域検出用辞書データが選択されたか否かを判定する。ステップS904にてYesと判定した場合、ステップS905に進み、Noと判定した場合、ステップS908に進む。ステップS908ではシステム制御部50が辞書データ選択部205にて追尾用辞書データが選択されたか否かを判定する。ステップS908でYesと判定した場合、ステップS909に進み、Noと判定した場合、ステップS910に進む。ここで、本実施例における被写体検出部202における追尾処理には「人物」や「乗物」の辞書データによる被写体検出結果が必要である。したがって、ステップS906における全体領域の検出結果、もしくは後述するステップS913の局所領域の検出結果が事前に得られていない場合、追尾用辞書データは選択されないことになる。その場合、「人物」や「乗物」の辞書データによる被写体の全体領域、局所領域が検出されるまでは「追尾」の辞書データを用いない検出フローが繰り返されることになる。
【0099】
ステップS909では、追尾用辞書データが選択されていることに応じて、被写体検出部202で追尾処理を行う。被写体検出部202は辞書データ記憶部204に保存された追尾用の辞書データを用いて検出した被写体の位置やサイズ、信頼度等の情報をシステム制御部50に出力する。このとき、被写体検出部202の出力および使用した辞書データの種別、検出に使用した画像データの識別子は検出履歴記憶部203に保存される。さらにこのとき、システム制御部50は、被写体検出部202が出力した情報の一部または全部を表示部28に表示させてもよい。また、使用した辞書データに応じて前述した表示の方法を変えても良い。
【0100】
被写体検出部202にて実行される図9のステップS90の追尾の処理の流れに関し
ては、図10を用いて説明する。
【0101】
ステップS1001では、システム制御部50が検出履歴記憶部203に保存された検出履歴から追尾初期フレームであるかを判定する。ここで追尾初期フレームとは、被写体が出現したタイミングや被写体が切り替わったタイミングにおけるフレームのことを指す。例えば、新たに「人物」や「乗物」の辞書データによって被写体の全体領域や局所領域の検出が成功したフレームが該当する。追尾初期フレームであれば(ステップS1001でYESと判定)、ステップS1002に進む。
【0102】
ステップS1002では、検出履歴記憶部203に保存された、これから追尾を行う画像データと同一の識別子を持つ(同一フレームの)画像データの全体領域、もしくは局所領域の検出結果を基に、画像データ生成部201で追尾用画像データのトリミング処理を行う。具体的には、被写体の全体領域、もしくは局所領域が検出された領域が所定サイズになるようにトリミングする。
【0103】
ステップS1003では画像データ生成部201でさらにトリミング処理を行った画像データを被写体検出部202の入力サイズに合わせてリサイズし、被写体検出部202に送る。
【0104】
ステップS1004では、被写体検出部202において、CNNで特徴抽出を行う。このCNNでは、追尾に適した特徴量が抽出されるように事前に学習されており、追尾用の辞書データとして、その重み係数や動作パラメータが辞書データ記憶部204に記憶されている。ステップS1005では、ステップS1004で抽出された特徴量の部分領域をテンプレートとして、検出履歴記憶部203に登録する。追尾初期フレームの場合は、これで追尾処理が終了となる。
【0105】
ステップS1001で追尾処理が2フレーム目以降(追尾初期フレームではない)の場合は、ステップS1006へ進む。ステップS1006では、検出履歴記憶部203に保存された、直前のフレームの追尾領域に基づき、画像データ生成部201で追尾用画像データのトリミング処理を行う。ここでは初期フレーム時と同様に、追尾領域が所定サイズになるようにトリミングする。ステップS1007では画像データ生成部201がさらにトリミング処理を行った画像データを被写体検出部202の入力サイズに合わせてリサイズし、被写体検出部202に送る。
【0106】
ステップS1008では、辞書データ記憶部204に記憶されている追尾用の辞書データに基づき、被写体検出部202がトリミング処理された画像にデータに対してCNNで特徴抽出を行う。
【0107】
ステップS1009では、ステップS1008にて抽出した特徴量と、検出履歴記憶部203に登録されているテンプレートの特徴量とを相関演算することによって、追尾領域を推定する。この推定した結果を追尾結果として処理を終了する。この追尾処理ではステップS1006にて被写体領域に基づきトリミングがされているので、時間経過による被写体のサイズ変化を少なくしており、これによって追尾性能を向上させている。
【0108】
ステップS909の追尾処理が終われば、ステップS907へ進む。ステップS907では、システム制御部50が検出履歴記憶部203に保存された検出履歴から同一の識別子を持つ画像データ(同一フレームの画像データ)に対して必要なすべての辞書データで検出を行ったかを判定する。判定結果がYesの場合、処理を終了し、Noの場合はステップS903に戻り、次に使用する辞書データを選択する。
【0109】
ステップS910では、システム制御部50は局所領域検出機能がONになっているか否かを判定し、Yesの場合、ステップS911に進み、Noの場合、ステップS907に進む。
【0110】
ステップS911では、検出履歴記憶部203に保存された検出履歴からこれから検出を行う画像データと同一の識別子を持つ画像データにおいて全体領域の検出結果または追尾結果があるかをシステム制御部50が確認する。Yesの場合、処理をステップS912に進め、Noの場合、ステップS914に進む。なお、ステップS906での全体領域検出の信頼度が低い状態、ステップS909での追尾の信頼度が低い状態は、結果なしとして判定する。
【0111】
ステップS912では検出履歴記憶部203に保存された、これから検出を行う画像データと同一の識別子を持つ(同一フレームの)画像データの全体領域の検出結果または追尾結果を基に、画像データ生成部201で被写体検出用画像データのトリミング処理を行う。具体的には、被写体の全体領域が検出された領域、もしくは追尾領域から所定の画角分(画素数分)広い領域をトリミング領域として設定する。検出された全体領域及び追尾領域からどれくらい広めにトリミング領域を設定するかは、対象となる被写体(物体)に応じて異なる大きさや割合で設定してもよい。加えてステップS912では画像データ生成部201がさらにトリミング処理を行った画像データを被写体検出部202の入力サイズに合わせてリサイズし、被写体検出部202に送る。なお、全体検出結果と追尾結果の両方がある場合は、全体検出結果の方を優先して扱うものとする。
【0112】
ステップS913では、被写体検出部202は辞書データ記憶部204に保存された局所領域検出用の辞書データを用いて検出した被写体の位置やサイズ、信頼度等の情報をシステム制御部50に出力する。このとき、被写体検出部202の出力および使用した辞書データの種別、検出に使用した画像データの識別子は検出履歴記憶部203に保存される。さらにこのとき、システム制御部50は、被写体検出部202が出力した情報の一部または全部を表示部28に表示させてもよい。また、使用した辞書データに応じて前述した表示の方法を変えても良い。
【0113】
次いで、ステップS907へ進む。ステップS907において、同一フレームで全体領域検出、追尾、局所領域検出が完了していれば、YESと判定され、処理を終了する。
【0114】
ステップS914からステップS915までの処理は、ステップS412からステップS413までの処理と同様のため説明を省略する。
【0115】
図4の処理の流れと比較して、図9の処理の流れでは、全体領域の追尾処理が加わっている。これによって、全体領域を推定する能力が向上している。これに伴いステップS910においてYESと判定される確率が高くなる。つまり、過去フレームの検出履歴に基づきトリミングおよびリサイズを行うのではなく、同一フレームの検出または追尾結果に基づき、トリミングおよびリサイズを行うケースが増える。被写体が動体の場合、過去よりも同じフレームの検出追尾情報に基づいて、画像生成したほうが局所検出の精度は向上する。
【0116】
次に、図9のステップS903にて行われる撮像装置100による1フレーム(1枚の画像データ)に対する複数の辞書データの切り替えシーケンスについて説明する。例として、図8での説明と同様に、1フレームに対して3回まで被写体検出を行える(あるいは3個並列して処理可能な検出器を有する)構造において、乗物が優先して検出する被写体に選択されている場合の辞書データ切り替えシーケンスの一例を図11に示す。図8に対して、図11では、追尾のブロックが追加されている。図11(a)、(c)、(d)は、図8と同様のため、説明を省略する。
【0117】
図11(b)は前フレームでバイクを検出した場合の次のフレームにおける辞書データの切り替え例であり、乗物1(バイク)全体、追尾、乗り物1(バイク)局所の順で辞書データを切り替えている。追尾では、初期フレームでは、乗物1(バイク)全体の検出領域に基づき、テンプレート登録を行い、2フレーム以降では、テンプレートマッチングにより、追尾対象の領域を推定する。これによって、乗物1(バイク)全体の推定手段が、被写体検出と追尾の2種類となって、検出率が向上する。
【0118】
図11(e)は局所領域検出OFFが選択されている場合の辞書データの切り替え例であり、乗物1(バイク)全体、追尾の順で辞書データを切り替えている。ユーザーが優先して検出する被写体に乗物を選択し、さらに局所領域検出OFFを選択している場合、ユーザーが撮影したい被写体は、ドライバではなく、車体であると推測できる。図8(e)に対して、追尾処理を加えたことによって、検出率の向上ができる。
【0119】
なお、上述した説明では、被写体検出部202が「バイク」や「人物」といった特定カテゴリの物体を検出して、検出された領域に基づいて追尾する方法に関して説明したが、ユーザーが指定した任意の物体を追尾する方法があってもよい。
【0120】
特定カテゴリの物体検出では、「バイク」や「人物」など検出したい特定のカテゴリの対象を学習することで対象の検出を実現している。辞書データは特定カテゴリ毎に備え、撮影の状況に応じて辞書データ選択部205が使用する辞書を切り替えることで特定の被写体の検出を可能としている。一方で、任意物体の検出では、様々なカテゴリの物体の情報を用いた学習を行うことで、物体のカテゴリに依存せず、様々なカテゴリの物体を同時に検出することを可能としている。この物体候補検出では、1つの辞書データで様々なカテゴリに対応することができる。ただし、物体候補検出は様々なカテゴリの物体に対応できる反面、画像中の物体らしい領域を複数検出した場合に、その中から1つの追尾対象を決定することは難しい。そこで、一つの解決策として、ユーザーから指定された位置に対応した物体候補領域を追尾領域とする方法を説明する。ユーザーからの指定は、例えば撮像装置100のタッチパネル70aを介して入力することが可能である。
【0121】
図11(f)に、ユーザーによる位置入力がされた際の辞書データの切り替え例を示す。
【0122】
図11(f)のV0のタイミングは、ユーザーによる位置指定があったタイミングであり、V0で決定された対象をV1以降で追尾処理する例を示している。V0のタイミングでは、ユーザーによる位置入力が発生したことをトリガーとして、辞書データ選択部205が辞書データ記憶部204に記憶されている物体候補辞書を選択し、その辞書を用いて被写体検出部202で物体候補の検出を行う。また、被写体検出部202は指定された位置に近い検出物体候補を追尾対象とする。次いで、辞書データ選択部205は辞書データ記憶部204の追尾辞書を選択して、被写体検出部202でテンプレート登録を行う。V1以降では、辞書データ選択部205では、追尾辞書を選択し、登録されたテンプレートに基づき追尾処理を行う。ユーザーによる位置入力された際の辞書データの切り替えは、検出する被写体の設定によらず共通とする。また、ユーザーが指定した物体を追尾していることから、追尾対象の自動切換えは不要とし、他の特定物体の辞書データによる被写体検出は実施していない。
【0123】
処理の流れとしては図9で説明したものと同様となる。ステップS90では、ユーザーによる位置入力があった場合は、物体候補辞書を選定し、ステップS904でYESと判定して、ステップS903で全体領域の画像によって物体候補の検出処理が行われる。次いで、ステップS90でNOと判定され、ステップS903に戻り、追尾辞書が選択される。次いで、ステップS904NOと判定され、ステップS90でYESと判定され、ステップS90で追尾処理を行う。次いで、ステップS90ではYESと判定され、処理を終了する。この流れが図11(f)に示すV0タイミングでの処理となる。図11(f)のV1以降の処理では、ステップS901、ステップS902、ステップS903、ステップS904、ステップS90、ステップS90、ステップS90の順に進み処理を終了する。
【0124】
以上、撮像装置100による1フレーム(1枚の画像データ)に対する複数の辞書データの切り替えシーケンスについて説明した。
【0125】
[その他の実施形態]
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【0126】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0127】
100 撮像装置
28 表示部
50 システム制御部
201 画像データ生成部
202 被写体検出部
203 検出履歴記憶部
204 辞書データ記憶部
205 辞書データ選択部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11