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

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

▶ ソニーセミコンダクタソリューションズ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】撮像装置および画像処理方法
(51)【国際特許分類】
   G06T 7/254 20170101AFI20240326BHJP
   G06T 7/00 20170101ALI20240326BHJP
   H04N 7/18 20060101ALI20240326BHJP
   H04N 23/60 20230101ALI20240326BHJP
【FI】
G06T7/254 B
G06T7/00 350C
H04N7/18 D
H04N23/60 100
【請求項の数】 9
(21)【出願番号】P 2021015918
(22)【出願日】2021-02-03
(65)【公開番号】P2022119005
(43)【公開日】2022-08-16
【審査請求日】2023-06-08
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】桑原 彬任
(72)【発明者】
【氏名】甲斐 斉
(72)【発明者】
【氏名】小沢 裕幸
【審査官】堀井 啓明
(56)【参考文献】
【文献】米国特許出願公開第2019/0213420(US,A1)
【文献】特開2009-117956(JP,A)
【文献】特開2008-109552(JP,A)
【文献】特開2004-228770(JP,A)
【文献】特開2013-9050(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06V 10/00-20/90
G06V 30/418
G06V 40/16
G06V 40/20
H04N 7/18
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
複数の画素が2次元に並んだ、画像を撮像する撮像部と、
前記撮像部が出力する第1の解像度の撮像画像から、前記第1の解像度よりも解像度の低い第2の解像度の輝度値を示す画像を生成し、前記第2の解像度の輝度値を示す画像を用いて、前記撮像画像におけるオブジェクトの位置を検出する検出部と、
前記検出部により検出された前記位置に基づき、前記撮像画像から前記オブジェクトを含む、前記第1の解像度よりも解像度の低い所定の解像度の認識用画像を生成する生成部と、
前記生成部により生成された前記認識用画像に対して前記オブジェクトを認識する認識処理を行う認識部と、
を備え
前記撮像部と前記検出部と前記生成部と前記認識部とは、単一のチップ内に配置されており、
記撮像画像は、前記オブジェクトを含む第1の画像と、前記第1の画像に対応する背景画像を有し、
前記検出部は、
前記第1の画像が前記第2の解像度の輝度値を示す画像に変換された第2の画像と、前記背景画像が前記第2の解像度の輝度値を示す画像に変換された検出用背景画像との差分を用いて、前記撮像画像におけるオブジェクトの位置を検出し、
前記生成部は、
前記撮像画像から前記検出部により検出された前記位置に基づき前記オブジェクトに対応する領域を切り出し、前記オブジェクトの前記撮像画像における大きさが前記所定の解像度の前記認識用画像に対して大きい場合に、前記領域の画像を縮小して前記オブジェクトの全体を含む前記所定の解像度の前記認識用画像を生成する、
撮像装置。
【請求項2】
前記検出部は、
前記撮像画像から検出された前記位置と、前記撮像画像に対して過去の1以上の撮像画像から検出された前記位置とに基づき、前記撮像画像に対して未来の撮像画像における前記位置を予測する、
請求項に記載の撮像装置。
【請求項3】
前記検出部は、
前記オブジェクトの位置を示す位置情報を少なくとも2フレーム分記憶可能なメモリを有し、
前記撮像画像が前記オブジェクトを含まない場合に対応する画像を変換した前記第2の解像度の画像と、前記撮像画像を前記第2の解像度の画像に変換した検出用画像との差分から検出した、前記位置情報と、該位置情報を検出したフレームの1フレーム前の前記位置情報とに基づき、前記撮像画像に対して1フレーム未来の撮像画像における前記位置を予測する、
請求項に記載の撮像装置。
【請求項4】
前記生成部は、
記検出部により検出された前記位置を、前記認識用画像と共に前記認識部に渡す、
請求項1に記載の撮像装置。
【請求項5】
前記認識用画像の背景部分を除去して前記認識部に出力する背景除去部をさらに備え、
前記背景除去部は、
前記検出部により検出された前記位置に基づき前記生成部により前記撮像画像から生成された、前記オブジェクトを含む前記所定の解像度の画像から、前記撮像画像が前記オブジェクトを含まない場合に対応する画像における、前記位置に基づく前記オブジェクトに対応する領域の前記所定の解像度の画像を前記背景部分の画像として差し引いて生成した画像に対し、閾値に基づき前記背景部分の判定処理を行い、前記背景部分の画素領域に含まれる画素の画素値を所定の画素値で置換した画像を、前記背景部分が除去された前記認識用画像として前記認識部に出力する、
請求項1に記載の撮像装置。
【請求項6】
前記背景除去部は、
前記背景部分の画像を記憶する背景画像メモリを有する、
請求項に記載の撮像装置。
【請求項7】
前記認識部は、
機械学習により学習されたモデルに基づき前記オブジェクトの認識を行う、
請求項1に記載の撮像装置。
【請求項8】
前記認識部は、
DNN(Deep Neural Network)を用いて前記オブジェクトの認識を行う、
請求項に記載の撮像装置。
【請求項9】
プロセッサによリ実行される、
複数の画素が2次元に並んだ、画像を撮像する撮像部が出力する第1の解像度の撮像画像から、前記第1の解像度よりも解像度の低い第2の解像度の輝度値を示す画像を生成し、前記第2の解像度の輝度値を示す画像を用いて、前記撮像画像におけるオブジェクトの位置を検出する検出ステップと、
前記検出ステップにより検出された前記位置に基づき、前記撮像画像から前記オブジェクトを含む、前記第1の解像度よりも解像度の低い所定の解像度の認識用画像を生成する生成ステップと、
前記生成ステップにより生成された前記認識用画像に対して前記オブジェクトを認識する認識処理を行う認識ステップと、
を有し、
前記撮像部による前記撮像と前記検出ステップと前記生成ステップと前記認識ステップとが、単一のチップ内で実行され、
前記撮像画像は、前記オブジェクトを含む第1の画像と、前記第1の画像に対応する背景画像を有し、
前記検出ステップは、
前記第1の画像が前記第2の解像度の輝度値を示す画像に変換された第2の画像と、前記背景画像が前記第2の解像度の輝度値を示す画像に変換された検出用背景画像との差分を用いて、前記撮像画像におけるオブジェクトの位置を検出し、
前記生成ステップは、
前記撮像画像から前記検出ステップにより検出された前記位置に基づき前記オブジェクトに対応する領域を切り出し、前記オブジェクトの前記撮像画像における大きさが前記所定の解像度の前記認識用画像に対して大きい場合に、前記領域の画像を縮小して前記オブジェクトの全体を含む前記所定の解像度の前記認識用画像を生成する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、撮像装置および画像処理方法に関する。
【背景技術】
【0002】
内部にDNN(Deep Neural Network)エンジンが組み込まれたイメージセンサが知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6633216号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなイメージセンサにおいて、撮像された撮像画像に対して認識対象の物体領域を切り出して認識処理を行う場合、従来技術では、イメージセンサ外部のアプリケーションプロセッサにおいて物体認識処理を行っていた。あるいは、イメージセンサ内部のDNNエンジンにより物体認識処理を行い、その結果に基づき、イメージセンサ外部のアプリケーションプロセッサが撮像画像に対する物体領域の切り出し範囲をイメージセンサ内部のDNNエンジンに指示していた。そのため、物体位置検出、物体領域の切り出し、物体認識処理の一連の処理が完了するまでに、大幅なフレーム遅延が生じていた。
【0005】
本開示は、認識処理をより高速に実行可能とした撮像装置および画像処理方法を提供する。
【課題を解決するための手段】
【0006】
本開示に係る撮像装置は、複数の画素が2次元に並んだ、画像を撮像する撮像部と、前記撮像部が出力する第1の解像度の撮像画像から、前記第1の解像度よりも解像度の低い第2の解像度の輝度値を示す画像を生成し、前記第2の解像度の輝度値を示す画像を用いて、前記撮像画像におけるオブジェクトの位置を検出する検出部と、前記検出部により検出された前記位置に基づき、前記撮像画像から前記オブジェクトを含む、前記第1の解像度よりも解像度の低い所定の解像度の認識用画像を生成する生成部と、前記生成部により生成された前記認識用画像に対して前記オブジェクトを認識する認識処理を行う認識部と、を備え、前記撮像部と前記検出部と前記生成部と前記認識部とは、単一のチップ内に配置されており、記撮像画像は、前記オブジェクトを含む第1の画像と、前記第1の画像に対応する背景画像を有し、前記検出部は、前記第1の画像が前記第2の解像度の輝度値を示す画像に変換された第2の画像と、前記背景画像が前記第2の解像度の輝度値を示す画像に変換された検出用背景画像との差分を用いて、前記撮像画像におけるオブジェクトの位置を検出し、前記生成部は、前記撮像画像から前記検出部により検出された前記位置に基づき前記オブジェクトに対応する領域を切り出し、前記オブジェクトの前記撮像画像における大きさが前記所定の解像度の前記認識用画像に対して大きい場合に、前記領域の画像を縮小して前記オブジェクトの全体を含む前記所定の解像度の前記認識用画像を生成する
【図面の簡単な説明】
【0007】
図1】既存技術による第1の画像処理方法を説明するための模式図ある。
図2】既存技術による第2の画像処理方法を説明するための模式図である。
図3】既存技術による第2の画像処理方法を実行するためのイメージセンサの機能を説明するための一例の機能ブロック図である。
図4】既存技術による第2の画像処理方法を説明するための一例のシーケンス図である。
図5】既存技術による第3の画像処理方法を説明するための一例のシーケンス図である。
図6A】既存技術による第3の画像処理方法における各フレームの処理における、イメージセンサ内の状態を模式的に示す図である。
図6B】既存技術による第3の画像処理方法における各フレームの処理における、イメージセンサ内の状態を模式的に示す図である。
図6C】既存技術による第3の画像処理方法における各フレームの処理における、イメージセンサ内の状態を模式的に示す図である。
図7】既存技術による動き予測を説明するための模式図である。
図8】本開示の各実施形態に適用可能な撮像システムの一例の構成を示す図である。
図9】各実施形態に適用可能な撮像装置の一例の構成を示すブロック図である。
図10】本開示の各実施形態に適用可能なイメージセンサの一例の構成を示すブロック図である。
図11】各実施形態に係るイメージセンサの外観構成例の概要を示す斜視図である。
図12】第1の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。
図13】第1の実施形態に係る検出部の機能を説明するための一例の機能ブロック図である。
図14】第1の実施形態に係る位置検出用画像の例を模式的に示す図である。
図15】第1の実施形態に係る処理を説明するための一例のシーケンス図である。
図16】第2の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。
図17】第2の実施形態に係る予測・検出部の機能を説明するための一例の機能ブロック図である。
図18】第2の実施形態に係る処理を説明するための一例のシーケンス図である。
図19】第2の実施形態による動き予測を説明するための模式図である。
図20】第2の実施形態に適用可能なパイプライン処理を説明するための模式図である。
図21】第3の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。
図22】第4の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。
【0008】
以下、本開示の実施形態について、図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより、重複する説明を省略する。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について、下記の順序に従って説明する。
1.本開示の概要
2.既存技術について
2-1.既存技術による第1の画像処理方法
2-2.既存技術による第2の画像処理方法
2-3.既存技術による第3の画像処理方法
2-4.既存技術による動き予測
3.本開示の各実施形態に適用可能な構成
4.本開示に係る第1の実施形態
4-1.第1の実施形態に係る構成例
4-2.第1の実施形態に係る処理例
5.本開示に係る第2の実施形態
5-1.第2の実施形態に係る構成例
5-2.第2の実施形態に係る処理例
5-3.第2の実施形態に適用可能なパイプライン処理
6.本開示に係る第3の実施形態
7.本開示に係る第4の実施形態
【0010】
[1.本開示の概要]
本開示は、被写体を撮像し撮像画像を取得するイメージセンサに関するもので、本開示に係るイメージセンサは、撮像を行う撮像部と、撮像部により撮像された撮像画像に基づき物体認識を行う認識部とを含む。本開示では、撮像部で撮像された撮像画像に基づき、認識部の認識対象となるオブジェクトの撮像画像上での位置を検出する。検出された位置に基づき、撮像画像から、当該オブジェクトに対応する領域を含む画像を、認識部が対応可能な解像度で切り取り、認識用画像として認識部に出力する。
【0011】
本開示は、このような構成とすることで、撮像が行われ撮像画像が取得されてから、当該撮像画像に基づく認識結果が得られるまでの遅延時間(レイテンシ)を短縮できる。また、認識対象となるオブジェクトの画像上での位置は、撮像画像を、解像度が当該撮像画像より低い画像に変換した検出用画像に基づき行う。これにより、オブジェクトの位置検出処理の負荷が軽減され、当該遅延時間をより短縮することが可能である。
【0012】
[2.既存技術について]
本開示の各実施形態の説明に先んじて、理解を容易とするために、本開示の技術に関連する既存技術について概略的に説明する。
【0013】
(2-1.既存技術による第1の画像処理方法)
先ず、既存技術による第1の画像処理方法について説明する。図1は、既存技術による第1の画像処理方法を説明するための模式図ある。図1において、イメージセンサ1000は、図示されない撮像部と共に、撮像部で撮像された撮像画像1100を元画像とし、当該撮像画像1100に含まれるオブジェクトを認識する認識部1010を含む。認識部1010は、DNN(Deep Neural Network)を用いて、撮像画像に含まれるオブジェクトの認識を行う。
【0014】
ここで、DNNを用いて認識処理を行う認識器がイメージセンサ1000に組み込まれて用いられる場合、一般的には、コスト等の観点から、当該認識器が対応可能な画像の解像度(サイズ)は、所定の解像度(例えば224画素×224画素)に制限される。したがって、認識処理の対象の画像が高い解像度(例えば4000画素×3000画素)を有する場合、当該画像に基づき認識器が対応可能な解像度の画像を生成する必要がある。
【0015】
図1の例では、イメージセンサ1000において、撮像画像1100の全体を、認識部1010が対応可能な解像度に単純に縮小して、認識部1010に入力するための入力画像1101を生成している。この図1の例の場合、撮像画像1100に含まれる個々のオブジェクトが低解像度画像となるため、個々のオブジェクトの認識率が低くなってしまう。
【0016】
(2-2.既存技術による第2の画像処理方法)
次に、既存技術による第2の画像処理方法について説明する。この第2の画像処理方法および後述する第3の画像処理方法では、上述した第1の画像処理方法における個々のオブジェクトの認識率の低下を抑制するために、撮像画像1100から、認識対象となるオブジェクトが含まれる領域に対応する画像を切り出して、認識部1010に入力するための入力画像を生成する。
【0017】
図2は、既存技術による第2の画像処理方法を説明するための模式図である。図2において、イメージセンサ1000は、アプリケーションプロセッサ(以下、AP)1001のスレーブとして動作し、AP1001からの指示に応じて撮像画像1100から認識部1010に入力するための入力画像を切り出す構成となっている。
【0018】
すなわち、イメージセンサ1000は、図示されない撮像部により撮像された撮像画像1100をAP1001に渡す(ステップS1)。AP1001は、イメージセンサ1000から受け取った撮像画像1100に含まれるオブジェクトを検出し、検出されたオブジェクトの位置を示す情報を、イメージセンサ1000に返す(ステップS2)。図2の例では、AP1001は、撮像画像1100からオブジェクト1150を検出し、このオブジェクト1150の撮像画像1100内での位置を示す情報を、イメージセンサ1000に返している。
【0019】
イメージセンサ1000は、AP1001から渡された位置情報に基づき撮像画像1100から当該オブジェクト1150を切り出し、切り出されたオブジェクト1150の画像を、認識部1010に入力する。認識部1010は、この撮像画像1100から切り出されたオブジェクト1150の画像に対して認識処理を実行する。認識部1010は、当該オブジェクト1150に対する認識結果を、例えばAP1001に対して出力する(ステップS3)。
【0020】
この第2の画像処理方法によれば、撮像画像1100から切り出された画像は、撮像画像1100における細部の情報を保持している。認識部1010は、この細部の情報が保持された画像に対して認識処理を実行するため、より高い認識率で、認識結果1151を出力することができる。
【0021】
一方で、この第2の画像処理方法では、AP1001が物体位置検出処理を実行するため、イメージセンサ1000で撮像画像が取得されてから、認識部1010が認識結果1151を出力するまでの遅延時間(レイテンシ)が大きくなる。
【0022】
図3および図4を用いて、この第2の画像処理方法についてより具体的に説明する。図3は、既存技術による第2の画像処理方法を実行するためのイメージセンサ1000の機能を説明するための一例の機能ブロック図である。図3において、イメージセンサ1000は、切り出し部1011と、認識部1010と、を含む。なお、図3の例では、撮像画像1100Nを撮像する撮像部は、省略されている。
【0023】
第Nフレームの撮像画像1100Nが切り出し部1011に入力される。ここでは、撮像画像1100Nが幅4096画素、高さ3072画素の4k×3k画像であるものとされている。切り出し部1011は、AP1001から渡された位置情報に従い、撮像画像1100Nからオブジェクト1300(この例では、犬)が含まれる領域を切り出す。
【0024】
すなわち、AP1001は、フレームメモリ1002に記憶される、背景画像1200と、第(N-3)フレームの撮像画像1100(N-3)とを用いて、オブジェクト1300を検出する。より具体的には、AP1001は、第Nフレームから3フレーム前の第(N-3)フレームの撮像画像1100(N-3)をフレームメモリ1002に記憶しており、この撮像画像1100(N-3)と、フレームメモリ1002に予め記憶される背景画像1200との差分を求め、この差分に基づきオブジェクト1300を検出する。
【0025】
AP1001は、このようにして第(N-3)フレームの撮像画像1100(N-3)から検出されたオブジェクト1300の位置を示す位置情報を、イメージセンサ1000に渡す。イメージセンサ1000は、AP1001から渡された位置情報を切り出し部1011に渡す。切り出し部1011は、この第(N-3)フレームの撮像画像1100(N-3)から検出された位置情報に基づき、撮像画像1100Nから認識部1010が認識処理を行うための認識用画像1104を切り出す。すなわち、認識部1010は、第Nフレームの撮像画像1100Nに対する認識処理を、3フレーム前の第(N-3)フレームの撮像画像1100(N-3)の情報に基づき切り出された認識用画像1104を用いて実行することになる。
【0026】
図4は、既存技術による第2の画像処理方法を説明するための一例のシーケンス図である。図4において、横方向は時間の経過をフレーム単位で示す。また、縦方向は、上側がイメージセンサ1000における処理、下側がAP1001における処理をそれぞれ示している。
【0027】
第(N-3)フレームにおいて、オブジェクト1300を含む撮像画像1100(N-3)が撮像される。撮像画像1100(N-3)は、例えば切り出し部1011における画像処理(ステップS10)によりイメージセンサ1000から出力され(ステップS11)、AP1001に渡される。
【0028】
AP1001は、上述したように、イメージセンサ1000からに渡された撮像画像1100(N-3)に対して物体位置検出処理を実行する(ステップS12)。このとき、AP1001は、当該撮像画像1100(N-3)をフレームメモリ1002に記憶させ、フレームメモリ1002に予め記憶される背景画像1200との差分を求めて撮像画像1100(N-3)から背景画像1200の成分を除去する背景キャンセル処理を実行する(ステップS13)。AP1001は、この背景キャンセル処理で背景画像1200が除去された画像に対して、物体位置検出処理を行う。AP1001は、物体位置検出処理が終了すると、検出された物体(例えばオブジェクト1300)の位置を示す位置情報をイメージセンサ1000に渡す(ステップS14)。
【0029】
ここで、AP1001は、4k×3kの解像度を有する撮像画像1100(N-3)をそのまま用いて背景キャンセル処理および物体位置検出処理を実行している。対象となる画像の画素数が非常に多いため、これらの処理には長時間を要する。図4の例では、物体位置検出処理が終了してステップS14で位置情報が出力されるタイミングが、第(N-2)フレームの終端近くとなっている。
【0030】
イメージセンサ1000は、AP10011から渡された位置情報に基づき、切り出し部1011が撮像画像1100からオブジェクト1300を含む領域の画像を切り出すためのレジスタ設定値を計算する(ステップS15)。この例では、ステップS14によるAP1001からの位置情報の供給が第(N-2)フレームの終端近くとなっているため、ステップS15のレジスタ設定値の計算を、次の第(N-1)フレームの期間に実行している。
【0031】
イメージセンサ1000は、次の第Nフレームにおいて、第Nフレームの撮像画像1100Nが取得される。第(N-1)フレームで算出されたレジスタ設定値は、この第Nフレームにおいて切り出し部1011に反映される。切り出し部1011は、このレジスタ設定値に従い、第Nフレームの撮像画像1100Nに対して切り出し処理を実行し、認識用画像1104を切り出す(ステップS16)。認識部1010は、この第Nフレームの撮像画像1100Nから切り出された認識用画像1104に対して認識処理を実行し(ステップS17)、認識結果を例えばAP1001に対して出力する(ステップS18)。
【0032】
このように、既存技術による第2の画像処理方法によれば、第(N-3)フレームの撮像画像1100(N-3)をそのままAP1001に渡し、AP1001は、渡された撮像画像1100(N-3)を用いて背景キャンセル処理および物体位置検出処理を行っている。そのため、これらの処理に長時間を要し、物体位置検出結果が撮像画像1100に適用されるまでに、大幅な遅延時間が発生する。
【0033】
(2-3.既存技術による第3の画像処理方法)
次に、既存技術による第3の画像処理方法について説明する。この第3の画像処理方法は、上述したように、撮像画像1100から、認識対象となるオブジェクトが含まれる領域に対応する画像を切り出して、認識部1010に入力するための入力画像を生成する。このとき、第3の画像処理方法では、AP1001を利用せずに、イメージセンサ1000内の認識部1010の認識結果に基づき画像の切り出しを行う。
【0034】
図5、ならびに、図6A図6Bおよび図6Cを用いて、この第3の画像処理方法についてより具体的に説明する。図5は、既存技術による第3の画像処理方法を説明するための一例のシーケンス図である。なお、図5の各部の意味は、上述した図4と同様であるので、ここでの説明を省略する。また、図6A図6Bおよび図6Cは、図5のシーケンス図における各フレームの処理における、イメージセンサ1000内の状態を模式的に示す図である。
【0035】
図5のフレーム(N-2)および図6Aに示されるように、第(N-2)フレームにおいて、オブジェクト1300を含む撮像画像1100(N-2)が撮像される。撮像画像1100(N-2)は、例えば切り出し部1011における画像処理(ステップS30)により認識部1010に渡される。認識部1010は、この第(N-2)フレームの撮像画像1100(N-2)に対して認識処理を行う(ステップS31)。認識部1010は、この認識処理によりオブジェクト1300が含まれる領域を認識および検出し、この領域を示す情報を認識結果1151として出力する(ステップS32)。この認識結果1151は、例えばイメージセンサ1000が有するメモリ1012に記憶される。
【0036】
図5のフレーム(N-1)および図6Bに示されるように、次の第(N-1)フレームにおいて、イメージセンサ1000は、メモリ1012に記憶された認識結果1151に基づき(ステップS33)、例えば撮像画像1100(N-2)における物体位置を求め、求めた物体位置を示す位置情報に基づき、切り出し部1011が撮像画像1100からオブジェクト1300を含む領域の画像を切り出すためのレジスタ設定値を計算する(ステップS34)。
【0037】
図5のフレームNおよび図6Cに示されるように、イメージセンサ1000は、次の第Nフレームにおいて、第Nフレームの撮像画像1100Nが取得される。第(N-1)フレームで算出されたレジスタ設定値は、この第Nフレームにおいて切り出し部1011に反映される。切り出し部1011は、このレジスタ設定値に従い、第Nフレームの撮像画像1100Nに対して切り出し処理を実行し、認識用画像1104を切り出す(ステップS35)。認識部1010は、この第Nフレームの撮像画像1100Nから切り出された認識用画像1104に対して認識処理を実行し(ステップS36)、認識結果を例えばAP1001に対して出力する(ステップS37)。
【0038】
このように、この第3の画像処理方法では、第(N-2)フレームの撮像画像1100(N-2)に対する認識処理により得られた認識用画像1104を用いて、第Nフレームの撮像画像1100Nに対して切り出し処理を行っており、2フレーム分の遅延が発生している。さらに、第3の画像処理方法では、このように物体位置検出および物体認識を繰り返すことで、スループットも1/2になっている一方で、第3の画像処理方法では、切り出し処理にAP1001を用いないため、上述した第2の画像処理方法と比較して、遅延時間を短縮できる。
【0039】
(2-4.既存技術による動き予測)
次に、上述した第2または第3の画像処理方法を用いた場合の、高速に移動するオブジェクト1300の動き予測、すなわち、当該オブジェクト1300の未来の位置を予測する場合について説明する。
【0040】
上述したように、既存技術においては、実際に切り出しの対象となる第Nフレームの撮像画像1100Nに対して、第(N-2)フレームの撮像画像1100(N-2)、あるいは、第(N-3)フレームの撮像画像1100(N-3)に基づき切り出し領域を決定している。そのため、オブジェクト1300が高速に移動する場合、これら第(N-2)あるいは第(N-3)フレームに対して時間的に後の第Nフレームの撮像画像1100Nにおいては、オブジェクト1300の位置が、切り出し領域を決定した時点での位置とは大きく異なっている可能性がある。したがって、第Nフレームより時間的に前のフレームの情報を用いてオブジェクト1300の動きを予測し、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測できると、好ましい。
【0041】
図7は、既存技術による動き予測を説明するための模式図である。図7の例では、第(N-3)フレーム~第Nフレームの各撮像画像1100(N-3)~1100Nを重ねた様子を模式的に示している。この場合において、オブジェクト1300は、第(N-3)フレーム~第Nフレームにかけて、図の軌跡1401に示すように、各撮像画像1100(N-3)~1100Nの左下隅から出発して大きく湾曲して移動し、右下隅に到達している。
【0042】
上述した第2および第3の画像処理方法では、図4および図6に示すように、第(N-1)フレームは、切り出し部1011に対して設定するレジスタ設定値の計算が行われる。そのため、第Nフレームの直前の第(N-1)フレームの撮像画像1100(N-1)は、オブジェクト1300の動き予測には用いられない。そのため、例えば第Nフレームより時間的に前の第(N-3)および第(N-2)フレームの撮像画像1100(N-3)および1100(N-2)に基づきオブジェクト1300の動きを予測すると、図7に軌跡1400で示されるように、実際の軌跡1401とは大幅に異なる軌跡を予測してしまう可能性がある。軌跡1400によれば、オブジェクト1300は、第Nフレームの時点では、第Nフレームの撮像画像1100Nの右上付近に位置すると予測されており、実際の位置(右下隅)とは大きく異なる。
【0043】
したがって、第Nフレームの時点では、予測された位置にはオブジェクト1300が存在せず、当該予測された位置に基づき撮像画像1100Nの切り出しを行っても、切り出された領域にはオブジェクト1300が存在しないため、認識部1010は、正しくオブジェクト1300を認識できないことになる。
【0044】
[3.本開示の各実施形態に適用可能な構成]
次に、本開示の各実施形態に適用可能な構成について説明する。
【0045】
図8は、本開示の各実施形態に適用可能な撮像システムの一例の構成を示す図である。図8において、撮像システム1は、互いにネットワーク2により通信可能に接続された撮像装置10と情報処理装置11とを含む。図の例では、撮像システム1が1台の撮像装置10を含むように示されているが、撮像システム1は、それぞれネットワーク2により情報処理装置11と通信可能に接続された複数台の撮像装置10を含むことができる。
【0046】
撮像装置10は、本開示に係る撮像および認識処理を実行するもので、撮像画像に基づく認識結果を、撮像画像と共にネットワーク2を介して情報処理装置11に送信する。情報処理装置11は、例えばサーバであり、撮像装置10から送信された撮像画像および認識結果を受信し、受信した撮像画像および認識結果の保存、表示などを行う。
【0047】
このように構成された撮像システム1は、例えば監視システムに適用可能である。この場合、撮像装置10は、所定の位置に、撮像範囲を固定的とされて設置される。これはこの例に限定されず、撮像システム1を他の用途に適用させることもできるし、撮像装置10を単体で使用することも可能である。
【0048】
図9は、各実施形態に適用可能な撮像装置10の一例の構成を示すブロック図である。撮像装置10は、イメージセンサ100と、AP(アプリケーションプロセッサ)101と、CPU(Central Processing Unit)102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104と、ストレージ装置105と、通信I/F106と、を含み、これら各部がバス110で互いに通信可能に接続される。
【0049】
ストレージ装置105は、ハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体であり、プログラムや各種データを記憶する。CPU102は、ROM103やストレージ装置105に記憶されるプログラムに従い、RAM104をワークメモリに用いて動作し、この撮像装置10の全体の動作を制御する。
【0050】
通信I/F106は、外部との通信を行うためのインタフェースである。通信I/F106は、例えばネットワーク2を介した通信を行う。これにかぎらず、通信I/F106は、USB(Universal Serial Bus)などにより外部機器と直接的に接続されるものであってもよい。通信I/F106による通信は、有線通信および無線通信の何れであってもよい。
【0051】
イメージセンサ100は、本開示の各実施形態に係るもので、1チップで構成されるCMOS(Complementary Metal Oxide Semiconductor)イメージセンサであり、光学部からの入射光を受光し、光電変換を行って、当該入射光に対応する撮像画像を出力する。また、イメージセンサ100は、撮像画像に対して、撮像画像に含まれるオブジェクト認識する認識処理を実行する。AP101は、イメージセンサ100に対するアプリケーションを実行する。AP101は、CPU102と統合されてもよい。
【0052】
図10は、本開示の各実施形態に適用可能なイメージセンサ100の一例の構成を示すブロック図である。図10において、イメージセンサ100は、撮像ブロック20および信号処理ブロック30を有する。撮像ブロック20と信号処理ブロック30とは、接続線(内部バス)CL1、CL2およびCL3によって電気的に接続されている。
【0053】
撮像ブロック20は、撮像部21、撮像処理部22、出力制御部23、出力I/F24および撮像制御部25を有し、画像を撮像する。
【0054】
撮像部21は、複数の画素が2次元に並んで構成される。撮像部21は、撮像処理部22によって駆動され、画像を撮像する。すなわち、撮像部21には、光学部からの光が入射する。撮像部21は、各画素において、光学部からの入射光を受光し、光電変換を行って、入射光に対応するアナログの画像信号を出力する。
【0055】
なお、撮像部21が出力する画像(信号)のサイズ(解像度)は、例えば、幅4096画素×高さ3072画素とされる。この幅4096画素×高さ3072画素の画像を、適宜、4k×3k画像と呼ぶ。撮像部21が出力する撮像画像のサイズは、幅4096画素×高さ3072画素に限定されない。
【0056】
撮像処理部22は、撮像制御部25の制御に従い、撮像部21の駆動や、撮像部21が出力するアナログの画像信号のAD(Analog to Digital)変換、撮像信号処理等の、撮像部21での画像の撮像に関連する撮像処理を行う。撮像処理部22は、撮像部21が出力するアナログの画像信号のAD変換等によって得られるディジタルの画像信号を、撮像画像として出力する。
【0057】
ここで、撮像信号処理としては、例えば、撮像部21が出力する画像について、所定の小領域ごとに、画素値の平均値を演算すること等により、小領域ごとの明るさを求める処理や、撮像部21が出力する画像を、HDR(High Dynamic Range)画像に変換する処理、欠陥補正、現像等がある。
【0058】
撮像処理部22が出力する撮像画像は、出力制御部23に供給されると共に、接続線CL2を介して、信号処理ブロック30の画像圧縮部35に供給される。
【0059】
出力制御部23には、撮像処理部22から撮像画像が供給される他、信号処理ブロック30から、接続線CL3を介して、撮像画像等を用いた信号処理の信号処理結果が供給される。出力制御部23は、撮像処理部22からの撮像画像、および、信号処理ブロック30からの信号処理結果を、(1つの)出力I/F24から外部に選択的に出力させる出力制御を行う。すなわち、出力制御部23は、撮像処理部22からの撮像画像、または、信号処理ブロック30からの信号処理結果を選択し、出力I/F24に供給する。
【0060】
出力I/F24は、出力制御部23から供給される撮像画像、および、信号処理結果を外部に出力するI/Fである。出力I/F24としては、例えば、MIPI(Mobile Industry Processor Interface)等の比較的高速なパラレルI/F等を採用することができる。
【0061】
出力I/F24では、出力制御部23の出力制御に応じて、撮像処理部22からの撮像画像、または、信号処理ブロック30からの信号処理結果が、外部に出力される。したがって、例えば、外部において、信号処理ブロック30からの信号処理結果だけが必要であり、撮像画像そのものが必要でない場合には、信号処理結果だけを出力することができ、出力I/F24から外部に出力するデータ量を削減することができる。
【0062】
また、信号処理ブロック30において、外部で必要とする信号処理結果が得られる信号処理を行い、その信号処理結果を、出力I/F24から出力することにより、外部で信号処理を行う必要がなくなり、外部のブロックの負荷を軽減することができる。
【0063】
撮像制御部25は、通信I/F26およびレジスタ群27を有する。
【0064】
通信I/F26は、例えば、I2C(Inter-Integrated Circuit)等のシリアル通信I/F等の第1の通信I/Fであり、外部との間で、レジスタ27群に読み書きする情報等の必要な情報のやりとりを行う。
【0065】
レジスタ群27は、複数のレジスタを有し、撮像部21での画像の撮像に関連する撮像情報、その他の各種情報を記憶する。例えば、レジスタ群27は、通信I/F26において外部から受信された撮像情報や、撮像処理部22での撮像信号処理の結果(例えば、撮像画像の小領域ごとの明るさ等)を記憶する。撮像制御部25は、レジスタ群27に記憶された撮像情報に従って、撮像処理部22を制御し、これにより、撮像部21での画像の撮像を制御する。
【0066】
レジスタ群27に記憶される撮像情報としては、例えば、ISO感度(撮像処理部22でのAD変換時のアナログゲイン)や、露光時間(シャッタスピード)、フレームレート、フォーカス、撮影モード、切り出し範囲等(を表す情報)がある。
【0067】
撮影モードには、例えば、露光時間やフレームレート等が手動で設定される手動モードと、シーンに応じて自動的に設定される自動モードとがある。自動モードには、例えば、夜景や、人の顔等の各種の撮影シーンに応じたモードがある。
【0068】
また、切り出し範囲とは、撮像処理部22において、撮像部21が出力する画像の一部を切り出して、撮像画像として出力する場合に、撮像部21が出力する画像から切り出す範囲を表す。切り出し範囲の指定によって、例えば、撮像部21が出力する画像から、人が映っている範囲だけを切り出すこと等が可能になる。なお、画像の切り出しとしては、撮像部21が出力する画像から切り出す方法の他、撮像部21から、切り出し範囲の画像(信号)だけを読み出す方法がある。
【0069】
なお、レジスタ群27は、撮像情報や、撮像処理部22での撮像信号処理の結果の他、出力制御部23での出力制御に関する出力制御情報を記憶することができる。出力制御部23は、レジスタ群27に記憶された出力制御情報に従って、撮像画像および信号処理結果を選択的に出力させる出力制御を行うことができる。
【0070】
また、イメージセンサ100では、撮像制御部25と、信号処理ブロック30のCPU31とは、接続線CL1を介して、接続されており、CPU31は、接続線CL1を介して、レジスタ群27に対して、情報の読み書きを行うことができる。すなわち、イメージセンサ100では、レジスタ群27に対する情報の読み書きは、通信I/F26から行う他、CPU31からも行うことができる。
【0071】
信号処理ブロック30は、CPU(Central Processing Unit)31,DSP(Digital Signal Processor)32、メモリ33、通信I/F34、画像圧縮部35および入力I/F36を有し、撮像ブロック20で得られた撮像画像等を用いて、所定の信号処理を行う。
【0072】
信号処理ブロック30を構成するCPU31ないし入力I/F36は、相互にバスを介して接続され、必要に応じて、情報のやりとりを行うことができる。
【0073】
CPU31は、メモリ33に記憶されたプログラムを実行することで、信号処理ブロック30の制御、接続線CL1を介しての、撮像制御部25のレジスタ群27への情報の読み書き、その他の各種の処理を行う。例えば、CPU31は、プログラムを実行することにより、DSP32での信号処理により得られる信号処理結果を用いて、撮像情報を算出する撮像情報算出部として機能し、信号処理結果を用いて算出した新たな撮像情報を、接続線CL1を介して、撮像制御部25のレジスタ群27にフィードバックして記憶させる。したがって、CPU31は、結果として、撮像画像の信号処理結果に応じて、撮像部21での撮像や、撮像処理部22での撮像信号処理を制御することができる。
【0074】
また、CPU31がレジスタ群27に記憶させた撮像情報は、通信I/F26から外部に提供(出力)することができる。例えば、レジスタ群27に記憶された撮像情報のうちのフォーカスの情報は、通信I/F26から、フォーカスを制御するフォーカスドライバ(図示せず)に提供することができる。
【0075】
DSP32は、メモリ33に記憶されたプログラムを実行することで、撮像処理部22から、接続線CL2を介して、信号処理ブロック30に供給される撮像画像や、入力I/F36が外部から受け取る情報を用いた信号処理を行う信号処理部として機能する。
【0076】
メモリ33は、SRAM(Static Random Access Memory)やDRAM(Dynamic RAM)等で構成され、信号処理ブロック30の処理上必要なデータ等を記憶する。例えば、メモリ33は、通信I/F34において、外部から受信されたプログラムや、画像圧縮部35で圧縮され、DSP32での信号処理で用いられる撮像画像、DSP32で行われた信号処理の信号処理結果、入力I/F36が受け取った情報等を記憶する。
【0077】
通信I/F34は、例えば、SPI(Serial Peripheral Interface)等のシリアル通信I/F等の第2の通信I/Fであり、外部(例えば、図1のメモリ3や制御部6等)との間で、CPU31やDSP32が実行するプログラム等の必要な情報のやりとりを行う。例えば、通信I/F34は、CPU31やDSP32が実行するプログラムを外部からダウンロードし、メモリ33に供給して記憶させる。したがって、通信I/F34がダウンロードするプログラムによって、CPU31やDSP32で様々な処理を実行することができる。
【0078】
なお、通信I/F34は、外部との間で、プログラムの他、任意のデータのやりとりを行うことができる。例えば、通信I/F34は、DSP32での信号処理により得られる信号処理結果を、外部に出力することができる。また、通信I/F34は、CPU31の指示に従った情報を、外部の装置に出力し、これにより、CPU31の指示に従って、外部の装置を制御することができる。
【0079】
ここで、DSP32での信号処理により得られる信号処理結果は、通信I/F34から外部に出力する他、CPU31によって、撮像制御部25のレジスタ群27に書き込むことができる。レジスタ群27に書き込まれた信号処理結果は、通信I/F26から外部に出力することができる。CPU31で行われた処理の処理結果についても同様である。
【0080】
画像圧縮部35には、撮像処理部22から接続線CL2を介して、撮像画像が供給される。画像圧縮部35は、必要に応じて、撮像画像を圧縮する圧縮処理を行い、その撮像画像よりもデータ量が少ない圧縮画像を生成する。画像圧縮部35で生成された圧縮画像は、バスを介して、メモリ33に供給されて記憶される。画像圧縮部35は、供給された撮像画像を圧縮せずに出力することもできる。
【0081】
ここで、DSP32での信号処理は、撮像画像そのものを用いて行う他、画像圧縮部35で撮像画像から生成された圧縮画像を用いて行うことができる。圧縮画像は、撮像画像よりもデータ量が少ないため、DSP32での信号処理の負荷の軽減や、圧縮画像を記憶するメモリ33の記憶容量の節約を図ることができる。
【0082】
画像圧縮部35での圧縮処理としては、例えば、DSP32での信号処理が輝度を対象として行われ、かつ、撮像画像がRGBの画像である場合には、圧縮処理としては、RGBの画像を、例えば、YUVの画像に変換するYUV変換を行うことができる。なお、画像圧縮部35は、ソフトウエアにより実現することもできるし、専用のハードウエアにより実現することもできる。
【0083】
入力I/F36は、外部から情報を受け取るI/Fである。入力I/F36は、例えば、外部のセンサから、その外部のセンサの出力(外部センサ出力)を受け取り、バスを介して、メモリ33に供給して記憶させる。
【0084】
入力I/F36としては、例えば、出力I/F24と同様に、MIPI(Mobile Industry Processor Interface)等のパラレルI/F等を採用することができる。
【0085】
また、外部のセンサとしては、例えば、距離に関する情報をセンシングする距離センサを採用することができる、さらに、外部のセンサとしては、例えば、光をセンシングし、その光に対応する画像を出力するイメージセンサ、すなわち、イメージセンサ100とは別のイメージセンサを採用することができる。
【0086】
DSP32では、撮像画像(から生成された圧縮画像)を用いる他、入力I/F36が上述のような外部のセンサから受け取り、メモリ33に記憶される外部センサ出力を用いて、信号処理を行うことができる。
【0087】
以上のように構成される1チップのイメージセンサ100では、撮像部21での撮像により得られる撮像画像を用いた信号処理がDSP32で行われ、その信号処理の信号処理結果、および、撮像画像が、出力I/F24から選択的に出力される。したがって、ユーザが必要とする情報を出力する撮像装置を、小型に構成することができる。
【0088】
ここで、イメージセンサ100において、DSP32の信号処理を行わず、したがって、イメージセンサ100から、信号処理結果を出力せず、撮像画像を出力する場合、すなわち、イメージセンサ100を、単に、画像を撮像して出力するだけのイメージセンサとして構成する場合、イメージセンサ100は、出力制御部23を設けない撮像ブロック20だけで構成することができる。
【0089】
図11は、各実施形態に係るイメージセンサ100の外観構成例の概要を示す斜視図である。
【0090】
イメージセンサ100は、例えば、図11に示すように、複数のダイが積層された積層構造を有する1チップの半導体装置として構成することができる。図11の例では、イメージセンサ100は、ダイ51および52の2枚のダイが積層されて構成される。
【0091】
図11において、上側のダイ51には、撮像部21が搭載され、下側のダイ52には、撮像処理部22、出力制御部23、出力I/F24および撮像制御部25と、CPU31、DSP32、メモリ33、通信I/F34、画像圧縮部35および入力I/F36と、が搭載されている。
【0092】
上側のダイ51と下側のダイ52とは、例えば、ダイ51を貫き、ダイ52にまで到達する貫通孔を形成することにより、または、ダイ51の下面側に露出したCu配線と、ダイ52の上面側に露出したCu配線とを直接接続するCu-Cu接合を行うこと等により、電気的に接続される。
【0093】
ここで、撮像処理部22において、撮像部21が出力する画像信号のAD変換を行う方式としては、例えば、列並列AD方式やエリアAD方式を採用することができる。
【0094】
列並列AD方式では、例えば、撮像部21を構成する画素の列に対してADC(AD Converter)が設けられ、各列のADCが、その列の画素の画素信号のAD変換を担当することで、1行の各列の画素の画像信号のAD変換が並列に行われる。列並列AD方式を採用する場合には、その列並列AD方式のAD変換を行う撮像処理部22の一部が、上側のダイ51に搭載されることがある。
【0095】
エリアAD方式では、撮像部21を構成する画素が、複数のブロックに区分され、各ブロックに対して、ADCが設けられる。そして、各ブロックのADCが、そのブロックの画素の画素信号のAD変換を担当することで、複数のブロックの画素の画像信号のAD変換が並列に行われる。エリアAD方式では、ブロックを最小単位として、撮像部21を構成する画素のうちの必要な画素についてだけ、画像信号のAD変換(読み出しおよびAD変換)を行うことができる。
【0096】
なお、イメージセンサ100の面積が大になることが許容されるのであれば、イメージセンサ100は、1枚のダイで構成することができる。
【0097】
また、図11では、2枚のダイ51および52を積層して、1チップのイメージセンサ100を構成することとしたが、1チップのイメージセンサ100は、3枚以上のダイを積層して構成することができる。例えば、3枚のダイを積層して、1チップのイメージセンサ100を構成する場合には、図11のメモリ33を、別のダイに搭載することができる。
【0098】
[4.本開示に係る第1の実施形態]
次に、本開示に係る第1の実施形態について説明する。
【0099】
(4-1.第1の実施形態に係る構成例)
図12は、第1の実施形態に係るイメージセンサ100の機能を説明するための一例の機能ブロック図である。図12において、イメージセンサ100は、切り出し部200と、検出部201と、背景メモリ202と、認識部204と、を含む。なお、これら切り出し部200、検出部201、背景メモリ202および認識部204は、図10に示した信号処理ブロック30において、例えばDSP32により実現される。
【0100】
図示されない撮像ブロック20(図10参照)において撮像が行われ、撮像ブロック20から、第Nフレームの撮像画像1100Nが出力される。ここでは、撮像画像1100Nは、幅4096画素×高さ3072画素の4k×3k画像であるものとする。
【0101】
撮像ブロック20から出力された撮像画像1100Nは、切り出し部200および検出部201に供給される。
【0102】
検出部201は、撮像画像1100Nに含まれるオブジェクト1300の位置を検出し、検出された位置を示す位置情報を切り出し部200に渡す。より具体的には、検出部201は、撮像画像1100Nから、撮像画像1100Nの解像度を下げた検出用画像を生成し、この検出用画像に対してオブジェクト1300の位置検出を行う(詳細は後述する)。
【0103】
ここで、背景メモリ202は、撮像画像1100Nに対応する背景画像を検出用画像と同様の解像度の画像に変更した検出用背景画像が予め記憶される。検出部201は、撮像画像1100Nの解像度を下げた画像と、この検出用背景画像との差分を求め、この差分を検出用画像として用いる。
【0104】
なお、背景画像は、例えば当該イメージセンサ100が搭載される撮像装置10が監視カメラの用途として撮像範囲を固定的にして用いられる場合には、当該撮像範囲に人などが居ないデフォルトの状態で撮像を行い、そこで得られた撮像画像を適用することができる。これに限らず、ユーザによる撮像装置10に対する操作に応じて、背景画像を撮像することもできる。
【0105】
切り出し部200は、検出部201から渡された位置情報に基づき、撮像画像1100Nから、オブジェクト1300が含まれる画像を、認識部204が対応可能な所定サイズで切り出し、認識用画像1104aを生成する。すなわち、切り出し部200は、検出部201により検出された位置に基づき、入力画像からオブジェクト1300を含む所定の解像度の認識用画像を生成する生成部として機能する。
【0106】
ここでは、この認識部204が対応可能な所定サイズを、幅224画素×高さ224画素とし、切り出し部200は、撮像画像1100Nから、位置情報に基づきオブジェクト1300が含まれる領域を、幅224画素×高さ224画素のサイズで切り出して、認識用画像1104aを生成する。すなわち、認識用画像1104aは、幅224画素×高さ224画素の解像度を有する画像である。
【0107】
なお、切り出し部200は、オブジェクト1300のサイズが当該所定サイズに収まらない場合に、撮像画像1100Nからオブジェクト1300を含めて切り出した画像を、幅224画素×高さ224画素のサイズに縮小して、認識用画像1104aを生成することができる。また、切り出し部200は、撮像画像1100Nからの切り出しを行わず、撮像画像1100Nの全体を当該所定サイズに縮小して、認識用画像1104bを生成してもよい。この場合、切り出し部200は、当該認識用画像1104bに対して、検出部201から渡された位置情報を付加することができる。
【0108】
なお、以下では、切り出し部200は、認識用画像1104aおよび1104bのうち、認識用画像1104aを出力するものとして説明を行う。
【0109】
切り出し部200で撮像画像1100Nから切り出された認識用画像1104aは、認識部204に渡される。このとき、切り出し部200は、検出部201から渡された位置情報を、認識用画像1104aと共に認識部204に渡すことができる。認識部204は、例えば、機械学習により学習されたモデルに基づき、認識用画像1104に含まれるオブジェクト1300を認識する認識処理を実行する。このとき、認識部204は、機械学習の学習モデルとして、例えばDNN(Deep Neural Network)を適用することができる。認識部204によるオブジェクト1300の認識結果は、例えばAP101に渡される。認識結果は、例えばオブジェクト1300の種類や、オブジェクト1300の認識度を示す情報を含むことができる。
【0110】
なお、切り出し部200は、認識部204に認識用画像1104aに渡す際に、当該認識用画像1104aと共に、検出部201から渡された位置情報を渡すことができる。認識部204は、この位置情報に基づき認識処理を実行することで、より高精度の認識結果を取得することが可能となる。
【0111】
図13は、第1の実施形態に係る検出部201の機能を説明するための一例の機能ブロック図である。図13において、検出部201は、位置検出用画像生成部2010と減算器2012と、物体位置検出部2013と、を含む。
【0112】
位置検出用画像生成部2010は、撮像ブロック20から供給された撮像画像1100Nの解像度を下げた低解像度画像300を生成する。ここでは、位置検出用画像生成部2010が生成する低解像度画像300は、幅16画素×高さ16画素の解像度(サイズ)を有するものとする。
【0113】
例えば、位置検出用画像生成部2010は、撮像画像1100Nを、幅方向および高さ方向にそれぞれ16分割し、それぞれ幅256画素(=4096画素/16)、高さ192画素(=3072画素/16)のサイズを有する256個のブロックに分割する。位置検出用画像生成部2010は、256個の各ブロックについて、ブロックに含まれる画素の輝度値の積算値を求め、求めた積算値を正規化して、そのブロックの代表値を生成する。256個のブロックそれぞれについて求めた代表値それぞれを画素値として、幅16画素×高さ16画素の解像度(サイズ)を有する低解像度画像300を生成する。
【0114】
位置検出用画像生成部2010で生成された低解像度画像300に対して、減算器2012および背景メモリ202に記憶される低解像度背景画像301を用いて、背景キャンセル処理が行われる。低解像度画像300が減算器2012の被減算入力端に入力される。減算器2012の減算入力端には、背景メモリ202に記憶される低解像度背景画像301が入力される。減算器2012は、被減算入力端に入力された低解像度画像300と、減算入力端に入力された低解像度背景画像301との差分の絶対値を、位置検出用画像302として生成する。
【0115】
図14は、第1の実施形態に係る位置検出用画像302の例を模式的に示す図である。図14において、セクション(a)は、画像としての位置検出用画像302の例を示している。また、セクション(b)は、セクション(a)の画像を、各画素の画素値を用いて示している。また、図14のセクション(b)の例では、画素のビット深度が8ビットであるものとして、画素値を示している。
【0116】
位置検出用画像302は、低解像度画像300の背景領域(オブジェクト1300に対応する低解像度オブジェクト領域303を除いた領域)と、当該背景領域に対応する低解像度背景画像301の領域とで各画素の画素値が完全に一致する場合、図14のセクション(b)に示されるように、例えば当該背景領域は輝度値が最小値である値[0]となり、低解像度オブジェクト領域303は、値[0]と異なる値となる。
【0117】
位置検出用画像302は、物体位置検出部2013に入力される。物体位置検出部2013は、位置検出用画像302の各画素の輝度値に基づき、位置検出用画像302内での低解像度オブジェクト領域303の位置を検出する。例えば、物体位置検出部2013は、位置検出用画像302の各画素に対して閾値判定を行い、画素値が[1]以上の画素の領域を、低解像度オブジェクト領域303と判定し、その位置を求める。なお、このときの閾値に所定のマージンを持たせることも可能である。
【0118】
物体位置検出部2013は、低解像度オブジェクト領域303に含まれる各画素の位置を、撮像画像1100Nを分割した各ブロックの位置(例えばブロックの代表画素の位置)に変換することで、撮像画像1100Nにおけるオブジェクト1300の位置を求めることができる。また、物体位置検出部2013は、位置検出用画像302の各画素の輝度値に基づき、複数個のオブジェクト位置を求めることも可能である。
【0119】
物体位置検出部2013で検出された、撮像画像1100Nにおけるオブジェクト1300の位置を示す位置情報が、切り出し部200に渡される。
【0120】
(4-2.第1の実施形態に係る処理例)
図15は、第1の実施形態に係る処理を説明するための一例のシーケンス図である。なお、図15の各部の意味は、上述した図4などと同様であるので、ここでの説明を省略する。
【0121】
第(N-1)フレームにおいて、オブジェクト1300を含む撮像画像1100(N-1)が撮像される。撮像画像1100(N-1)は、例えば切り出し部200における画像処理(ステップS100)により検出部201に渡され、撮像画像1100(N-1)におけるオブジェクト1300の位置が検出される(ステップS101)。ステップS101の位置検出は、上述したように、背景キャンセル処理320により、それぞれ16画素×16画素のサイズを有する低解像度画像300と低解像度背景画像301との差分を求めた位置検出用画像302に対して行われる。
【0122】
イメージセンサ1000は、ステップS101の物体位置検出処理により検出された、撮像画像1100(N-1)におけるオブジェクト1300の位置を示す位置情報に基づき、切り出し部200が撮像画像1100からオブジェクト1300を含む領域の画像を切り出すためのレジスタ設定値を計算する(ステップS102)。ここで、ステップS101の物体位置検出処理は、処理に用いる画素数が少ないため、処理が比較的軽く、ステップS102のレジスタ設定値計算までの処理を、第(N-1)フレームの期間内に完了させることが可能である。
【0123】
ステップS101で計算されたレジスタ設定値は、次の第Nフレームにおいて、切り出し部200に反映される(ステップS103)。切り出し部200は、第Nフレームの撮像画像1100N(図示しない)に対して、レジスタ設定値に従い切り出し処理を行い(ステップS104)、認識用画像1104aを生成する。この認識用画像1104aは、認識部204に渡される。認識部204は、渡された認識用画像1104aに基づきオブジェクト1300に対する認識処理を行い(ステップS105)、認識結果を例えばAP101に対して出力する(ステップS106)。
【0124】
このように、第1の実施形態では、認識部204による認識処理に用いる認識用画像1104aを、16画素×16画素という少ない画素数の低解像度画像300を用いて検出したオブジェクト1300の位置に基づき切り出して生成している。そのため、ステップS102のレジスタ設定値計算までの処理を、第(N-1)フレームの期間内に完了させることが可能となる。そのため、第Nフレームの撮像画像1100Nに対して切り出し位置を反映させるまでのレイテンシを、1フレームとすることができ、既存技術に対して短縮できる。また、物体位置検出処理と認識処理とをそれぞれ別のパイプライン処理で実行できるため、既存技術に対してスループットを落とさずに処理を行うことができる。
【0125】
[5.本開示に係る第2の実施形態]
次に、本開示に係る第2の実施形態について説明する。第2の実施形態は、例えば第(N-2)および第(N-1)フレームといった複数の撮像画像1100(N-2)および1100(N-1)に基づく低解像度画像を用いて、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測するようにした例である。
【0126】
(5-1.第2の実施形態に係る構成例)
図16は、第2の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。図16に示すイメージセンサ100は、図12を用いて説明した第1の実施形態に係るイメージセンサ100と比較して、検出部201の代わりに予測・検出部210を有すると共に、少なくとも2つの位置情報を保持可能なメモリ211を有している。
【0127】
なお、メモリ211は過去位置情報以外の情報(例えば、過去の低解像度画像など)も併せて保持することが可能である。図16の例では、メモリ211は、位置情報を保持するための位置情報メモリ2110と、背景画像311を保持するための背景メモリ2111とを含んでいる。
【0128】
図示されない撮像ブロック20(図10参照)において撮像が行われ、撮像ブロック20から、4k×3k画像である第(N-1)フレームの撮像画像1100(N-1)が出力される。撮像ブロック20から出力された撮像画像1100(N-1)は、切り出し部200および予測・検出部210に供給される。
【0129】
図17は、第2の実施形態に係る予測・検出部210の機能を説明するための一例の機能ブロック図である。図17において、予測・検出部210は、位置検出用画像生成部2010と、物体位置検出部2013と、位置情報メモリ2110と、背景メモリ2111と、予測部2100と、を含む。これらのうち、位置検出用画像生成部2010および物体位置検出部2013は、図13を用いて説明した位置検出用画像生成部2010および物体位置検出部2013と同様であるので、ここでの詳細な説明を省略する。
【0130】
予測・検出部210は、背景メモリ2111に記憶される背景画像および位置検出用画像生成部2010から出力された撮像画像1100(N-1)から、オブジェクト1300に対応する低解像度オブジェクト領域303を検出する。ここで、位置情報(N-2)は、第(N-2)フレームの撮像画像1100(N-2)から、第1の実施形態において説明したようにして生成した、オブジェクト1300の位置を示す位置情報である。同様に、位置情報(N-1)は、第(N-1)フレームの撮像画像1100(N-1)から生成したオブジェクト1300の位置を示す位置情報である。
【0131】
予測・検出部210による処理について、より詳細に説明する。
【0132】
予測・検出部210において、メモリ211に含まれる位置情報メモリ2110は、過去のオブジェクト1300の位置を示す位置情報を少なくとも2フレーム分、格納可能とされている。
【0133】
位置検出用画像生成部2010は、撮像ブロック20から供給された、オブジェクト1300(図示しない)を含む撮像画像1100(N-1)の解像度を下げた低解像度画像310を生成し、物体位置検出部2013に出力する。
【0134】
物体位置検出部2013は、オブジェクト1300に対応する位置を検出する。検出された位置を示す情報は、第(N-1)フレームにおける位置情報(N-1)=(x1,x2,y1,y2)として、位置情報メモリ2110に渡される。図17の例では、位置情報メモリ2110は、物体位置検出部2013から渡された位置情報(N-1)を保持する。
【0135】
オブジェクト1300の位置を示す位置情報(N-1)は、次のフレームタイミングでメモリ211の領域(N-2)に移動され、第(N-2)フレームの位置情報(N-2)=(x3,x4,y3,y4)とされる。
【0136】
予測部2100に対して、位置情報メモリ2110の領域(N-1)および領域(N-2)に格納される、第(N-1)フレームにおける位置情報(N-1)および前フレーム(第(N-2)フレーム)における位置情報(N-2)が渡される。予測部2100は、物体位置検出部2013から渡された位置情報(N-1)と、メモリ211の領域(N-2)に格納される位置情報(N-2)とに基づき、未来のフレームである第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測する。
【0137】
予測部2100は、例えば、2つの位置情報(N-1)および位置情報(N-2)に基づく線形演算により、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測することができる。また、メモリ211に、さらに過去のフレームの低解像度画像を格納し、3以上の位置情報を用いて当該位置を予測することもできる。さらに、それらの低解像度画像から、オブジェクト1300の位置が各フレームで同一オブジェクトであることを判定することも可能である。これに限らず、予測部2100は、機械学習により学習されたモデルを用いて、当該位置を予測することも可能である。
【0138】
予測部2100は、予測した第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を示す位置情報(N)を、例えば切り出し部200に出力する。
【0139】
切り出し部200は、予測・検出部210から渡された、予測された位置情報に基づき、撮像画像1100(N-1)から、第Nフレームの撮像画像1100Nにオブジェクト1300が含まれると予測される位置の画像を、認識部204が対応可能な所定サイズ(例えば幅224画素×高さ224画素)で切り出し、認識用画像1104cを生成する。
【0140】
なお、切り出し部200は、オブジェクト1300のサイズが当該所定サイズに収まらない場合に、撮像画像1100(N-1)からオブジェクト1300を含めて切り出した画像を、幅224画素×高さ224画素のサイズに縮小して、認識用画像1104cを生成することができる。また、切り出し部200は、撮像画像1100Nからの切り出しを行わず、撮像画像1100(N-1)の全体を当該所定サイズに縮小して、認識用画像1104dを生成してもよい。この場合、切り出し部200は、当該認識用画像1104dに対して、予測・検出部210から渡された位置情報を付加することができる。
【0141】
なお、以下では、切り出し部200は、認識用画像1104cおよび1104dのうち、認識用画像1104cを出力するものとして説明を行う。
【0142】
切り出し部200で撮像画像1100(N-1)から切り出された認識用画像1104cは、認識部204に渡される。認識部204は、例えばDNNを用いて、認識用画像1104cに含まれるオブジェクト1300を認識する認識処理を実行する。認識部204によるオブジェクト1300の認識結果は、例えばAP101に渡される。認識結果は、例えばオブジェクト1300の種類や、オブジェクト1300の認識度を示す情報を含むことができる。
【0143】
図17は、第2の実施形態に係る予測・検出部210の機能を説明するための一例の機能ブロック図である。図17において、予測・検出部210は、位置検出用画像生成部2010と、物体位置検出部2013と、背景メモリ2111と、位置情報メモリ2110と、予測部2100と、を含む。これらのうち、位置検出用画像生成部2010および物体位置検出部2013は、図13を用いて説明した位置検出用画像生成部2010および物体位置検出部2013と同様であるので、ここでの詳細な説明を省略する。
【0144】
位置情報メモリ2110は、過去のオブジェクト1300の位置を示す位置情報を少なくとも2フレーム分、格納可能とされている。
【0145】
位置検出用画像生成部2010は、撮像ブロック20から供給された、オブジェクト1300(図示しない)を含む撮像画像1100(N-1)の解像度を下げた低解像度画像310を生成し、物体位置検出部2013に出力する。
【0146】
物体位置検出部2013は、オブジェクト1300に対応する位置を検出する。検出された位置を示す情報は、第(N-1)フレームにおける位置情報(N-1)として、位置情報メモリ2110に渡される。
【0147】
オブジェクト1300の位置を示す位置情報(N-1)は、次のフレームタイミングでメモリ211の領域(N-2)に移動され、第(N-2)フレームの位置情報(N-2)とされる。
【0148】
予測部2100に対して、位置情報メモリ2110の領域(N-1)および領域(N-2)に格納される、第(N-1)フレームにおける位置情報(N-1)および前フレーム(第(N-2)フレーム)における位置情報(N-2)が渡される。予測部2100は、物体位置検出部2013から渡された位置情報(N-1)と、メモリ211の領域(N-2)に格納される位置情報(N-2)とに基づき、未来のフレームである第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測する。
【0149】
予測部2100は、例えば、2つの位置情報(N-1)および位置情報(N-2)に基づき、線形的に第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測することができる。また、メモリ211に、さらに過去のフレームの低解像度画像を格納し、2以上の位置情報を用いて当該位置を予測することもできる。さらに、それらの低解像度画像から、オブジェクト1300の位置が各フレームで同一オブジェクトであることを判定することも可能である。なお、予測部2100は、機械学習により学習されたモデルを用いて、当該位置を予測することも可能である。
【0150】
予測部2100は、予測した第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を示す位置情報(N)を、例えば切り出し部200に出力する。
【0151】
(5-2.第2の実施形態に係る処理例)
図18は、第2の実施形態に係る処理を説明するための一例のシーケンス図である。なお、図18の各部の意味は、上述した図4などと同様であるので、ここでの説明を省略する。
【0152】
第(N-1)フレームにおいて、オブジェクト1300を含む撮像画像1100(N-1)が撮像される。所定の画像処理(ステップS130)を経て、予測・検出部210は、上述した動き予測処理330により、2つの位置情報(N-1)および位置情報(N-2)に基づき、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測し、予測された位置を示す位置情報(N)を生成する(ステップS131)。
【0153】
イメージセンサ1000は、ステップS131の物体位置検出処理により予測された、未来の撮像画像1100Nにおけるオブジェクト1300の位置を示す位置情報(N)に基づき、切り出し部200が撮像画像1100Nからオブジェクト1300を含む領域の画像を切り出すためのレジスタ設定値を計算する(ステップS132)。ここで、ステップS131の物体位置検出処理は、処理に用いる画素数が少ないため、処理が比較的軽く、ステップS132のレジスタ設定値計算までの処理を、第(N-1)フレームの期間内に完了させることが可能である。
【0154】
ステップS131で計算されたレジスタ設定値は、次の第Nフレームにおいて、切り出し部200に反映される(ステップS133)。切り出し部200は、第Nフレームの撮像画像1100N(図示しない)に対して、レジスタ設定値に従い切り出し処理を行い(ステップS144)、認識用画像1104cを生成する。この認識用画像1104cは、認識部204に渡される。認識部204は、渡された認識用画像1104cに基づきオブジェクト1300に対する認識処理を行い(ステップS155)、認識結果を例えばAP101に対して出力する(ステップS136)。
【0155】
図19は、第2の実施形態による動き予測を説明するための模式図である。なお、図19において、各部の意味は、上述した図7と同様であるので、ここでの説明を省略する。
【0156】
図7を用いて説明した第2および第3の画像処理方法では、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測するために、第Nフレームの直前の第(N-1)フレームの情報を用いることができなかった。これに対して、第2の実施形態では、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を、第Nフレームの直前の第(N-1)フレームの情報を用いて予測している。そのため、図19に軌跡1402で示されるように、実際の軌跡1401と近い軌跡を予測することが可能である。
【0157】
これにより、オブジェクト1300が高速に移動するような場合であっても、第Nフレームの撮像画像1100Nに含まれるオブジェクト1300を、より高精度に認識することが可能となる。
【0158】
(5-3.第2の実施形態に適用可能なパイプライン処理)
図18を用いて説明した処理は、物体位置予測処理と認識処理とをそれぞれ別のパイプライン処理で実行できるため、既存技術に対してスループットを落とさずに処理を行うことができる。
【0159】
図20は、第2の実施形態に適用可能なパイプライン処理を説明するための模式図である。なお、ここでは、上述した図18と共通する部分ついては、説明を省略する。
【0160】
図20において、例えば第Nフレームにおいて、イメージセンサ100は、図18を用いて説明したようにして、撮像画像1100Nに基づく物体位置予測処理(ステップS131)を実行する。また、イメージセンサ100は、予測された位置を示す位置情報(N)に基づくレジスタ設定値の計算処理(ステップS132)を実行する。ここで計算されたレジスタ設定値は、次の第(N+1)フレームにおける切り出し処理(ステップS134)に反映される(ステップS133)。
【0161】
一方、イメージセンサ100は、第Nフレームにおいて、直前の第(N-1)フレームにおいて計算されたレジスタ設定値を用いて(ステップS133)、切り出し部200における切り出し処理を実行し(ステップS134)、認識用画像1104cを生成する。認識部204は、生成された認識用画像1104cに基づきオブジェクト1300に対する認識処理を実行する(ステップS135)。
【0162】
同様の処理は、第Nフレームに続く第N+1フレーム、第N+2フレーム、…においても、同様にして繰り返される。
【0163】
上述した処理において、各フレームでは、そのフレームで撮像された撮像画像に対する物体位置予測処理(ステップS131)およびレジスタ設定値計算処理(ステップS132)と、直前のフレームで計算されたレジスタ設定値に基づく切り出し処理(ステップS134)および認識処理(ステップS135)とは、それぞれ独立した処理となっている。そのため、物体位置予測処理(ステップS131)およびレジスタ設定値計算処理(ステップS132)によるパイプライン処理と、切り出し処理(ステップS134)および認識処理(ステップS135)によるパイプライン処理とを、並列的に実行することができ、既存技術に対してスループットを落とさずに処理を行うことが可能である。なお、このパイプライン処理は、図15を用いて説明した第1の実施形態による処理にも、同様に適用可能である。
【0164】
[6.本開示に係る第3の実施形態]
次に、本開示に係る第3の実施形態について説明する。第3の実施形態は、認識部204に対して、背景画像を除去した認識用画像を渡すようにした例である。認識用画像からオブジェクト以外の背景画像を除去することで、認識部204は、オブジェクトをより高精度で認識することが可能となる。
【0165】
図21は、第3の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。図21に示すイメージセンサ100は、切り出し部200と、背景キャンセル部221と、背景メモリ222と、認識部204と、を有している。
【0166】
図示されない撮像ブロック20(図10参照)において撮像が行われ、撮像ブロック20から、4k×3k画像である第Nフレームの撮像画像1100Nが出力される。撮像ブロック20から出力された撮像画像1100Nは、切り出し部200に供給される。切り出し部200は、撮像画像1100Nを、認識部204が対応可能な解像度、例えば幅224画素×高さ224画素に縮小して認識用画像1104eを生成する。なお、切り出し部200は、縮小された認識用画像1104eを、単純に画素を間引くことで生成してもよいし、線形補間などを用いて生成してもよい。
【0167】
認識用画像1104eは、背景キャンセル部221に入力される。背景キャンセル部221には、さらに、背景メモリ222に予め格納される、幅224画素×高さ224画素のサイズの背景画像340が入力される。
【0168】
背景画像340は、第1の実施形態における説明と同様に、例えば当該イメージセンサ100が搭載される撮像装置10が監視カメラの用途として撮像範囲を固定的にして用いられる場合には、当該撮像範囲に人などが居ないデフォルトの状態で撮像を行い、そこで得られた撮像画像を適用することができる。これに限らず、ユーザによる撮像装置10に対する操作に応じて、背景画像を撮像することもできる。
【0169】
なお、背景メモリ222に格納される背景画像340は、幅224画素×高さ224画素のサイズに限定されない。例えば、背景メモリ222に対して、撮像画像1100Nと同じ4k×3kのサイズを有する背景画像341を格納してもよい。さらには、背景メモリ222には、幅224画素×高さ224画素のサイズから、4k×3kのサイズまでの任意のサイズの背景画像を格納することができる。例えば、背景キャンセル部221は、背景画像のサイズが認識用画像1104eのサイズと異なる場合には、当該背景画像を、認識用画像1104eに対応させて、幅224画素×高さ224画素のサイズの画像に変換する。
【0170】
背景キャンセル部221は、例えば、認識用画像1104eと同様の、幅224画素×高さ224画素のサイズの背景画像340を用い、切り出し部200から入力された認識用画像1104eと背景画像340との差分の絶対値を求める。背景キャンセル部221は、認識用画像1104eの各画素について、求めた差分の絶対値に対する閾値判定を行う。背景キャンセル部221は、この閾値判定の結果に応じて、例えば差分の絶対値が[1]以上の画素の領域を、オブジェクト領域、差分の絶対値が[0]の画素の領域を、背景部分と判定し、背景部分の画素の画素値を、所定の画素値(例えば、白を示す画素値)で置換する。なお、このときの閾値に所定のマージンを持たせることも可能である。この背景部分の画素の画素値が所定の画素値に置換された画像が、背景がキャンセルされた認識用画像1104fとして、認識部204に渡される。
【0171】
認識部204は、このように、背景がキャンセルされた認識用画像1104fに対して認識処理を行うことで、より高精度な認識結果を得ることができる。認識部204による認識結果は、例えばAP101に対して出力される。
【0172】
[7.本開示に係る第4の実施形態]
次に、本開示に係る第4の実施形態について説明する。第4の実施形態は、上述した第1~第3の実施形態に係る構成を組み合わせたものである。
【0173】
図22は、第4の実施形態に係るイメージセンサの機能を説明するための一例の機能ブロック図である。図21において、イメージセンサ100は、切り出し部200と、予測・検出部210と、背景メモリ222と、位置情報メモリ2110および背景メモリ2111を含むメモリ211と、背景キャンセル部221と、認識部204と、を有する。これら各部の機能は、第1~第3の実施形態で各々説明した機能と同様であるので、ここでの詳細な説明を省略する。
【0174】
図示されない撮像ブロック20(図10参照)において撮像が行われ、撮像ブロック20から、4k×3k画像である第(N-1)フレームの撮像画像1100(N-1)が出力される。撮像ブロック20から出力された撮像画像1100(N-1)は、切り出し部200および予測・検出部210に供給される。
【0175】
予測・検出部210は、供給された撮像画像1100(N-1)から、図13を用いて説明した位置検出用画像生成部2010と同様にして、例えば幅16画素×高さ16画素の低解像度画像300を生成する。また、予測・検出部210は、生成した低解像度画像300と背景メモリ2111に格納される低解像度の背景画像311との差分を求め、オブジェクト1300の位置情報(N-1)を求める。予測・検出部210は、メモリ211における位置情報メモリ2110に既に記憶される位置情報(N-1)を、第(N-2)フレーム目の位置情報(N-2)とすると共に、求めた位置情報(N-1)をメモリ211における位置情報メモリ2110に記憶する。
【0176】
予測・検出部210は、メモリ211における位置情報メモリ2110に記憶される位置情報(N-2)および位置情報(N-1)に基づき、図17を用いて説明した動き予測処理330を実行し、未来のフレームである第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置を予測する。予測・検出部210は、このようにして予測された位置を示す位置情報(N)を含む低解像度画像312を生成し、切り出し部200に渡す。
【0177】
切り出し部200は、予測・検出部210から渡された低解像度画像312に含まれる位置情報(N)に基づき、撮像画像1100(N-1)から、第Nフレームの撮像画像1100Nにオブジェクト1300が含まれると予測される位置の画像を、認識部204が対応可能な所定サイズ(例えば幅224画素×高さ224画素)で切り出し、認識用画像1104gを生成する。
【0178】
なお、切り出し部200は、オブジェクト1300のサイズが当該所定サイズに収まらない場合に、撮像画像1100Nからオブジェクト1300を含めて切り出した画像を、幅224画素×高さ224画素のサイズに縮小して、認識用画像1104aを生成することができる。また、切り出し部200は、撮像画像1100Nからの切り出しを行わず、撮像画像1100Nの全体を当該所定サイズに縮小して、認識用画像1104hを生成してもよい。この場合、切り出し部200は、当該認識用画像1104hに対して、予測・検出部210から渡された位置情報(N)を付加することができる。
【0179】
切り出し部200から出力された例えば認識用画像1104gは、背景キャンセル部221に入力される。背景キャンセル部221に対して、さらに、背景メモリ222に格納される、認識用画像1104gとサイズが対応する背景画像340が入力される。背景キャンセル部221は、認識用画像1104gと背景画像340との差分を求め、この差分の画像の各画素に対して、差分の絶対値の閾値判定を行い、例えば差分の絶対値が[1]以上の画素の領域を、オブジェクト領域、差分の絶対値が[0]の画素の領域を、背景部分と判定し、背景部分の画素の画素値を所定の画素値(例えば白を示す画素値)で置換する。この背景部分の画素の画素値が所定の画素値に置換された画像を、背景がキャンセルされた認識用画像1104iとして、認識部204に渡す。なお、このときの閾値に所定のマージンを持たせることも可能である。
【0180】
なお、背景キャンセル部221は、認識用画像1104gとサイズが異なる背景画像(例えば背景画像341)が入力された場合、当該背景画像を、認識用画像1104gとサイズが対応する画像に変換することができる。例えば、背景キャンセル部221に対して、撮像画像1100(N-1)を縮小した認識用画像1104hが入力された場合、背景キャンセル部221は、撮像画像1100(N-1)と同サイズの背景画像341を縮小し、縮小された背景画像341と、認識用画像1104hとの差分を求める。背景キャンセル部221は、この差分の画像の各画素に対して閾値判定を行い、例えば差分の絶対値が[1]以上の画素の領域をオブジェクト領域、差分の絶対値が[0]の画素の領域を背景部分と判定する。背景キャンセル部221は、背景部分と判定された領域に含まれる画素の画素値を所定の画素値(例えば、白を示す画素値)で置換する。この背景部分と判定された領域の画素の画素値が所定の画素値に置換された画像を、背景がキャンセルされた認識用画像1104jとして、認識部204に渡す。なお、このときの閾値に所定のマージンを持たせることも可能である。
【0181】
認識部204は、背景キャンセル部221から渡された、背景がキャンセルされた認識用画像1104iまたは1104jに対して、オブジェクト1300の認識処理を行う。認識処理の結果は、例えばAP101に対して出力される。
【0182】
切り出し部200は、予測された位置に基づき撮像画像1100Nから認識用画像1104gを切り出す。そして、この認識用画像1104gに対して背景キャンセル部221により背景部分がキャンセルされた認識用画像1104iが認識部204に入力される。
【0183】
第4の実施形態では、第Nフレームの撮像画像1100Nにおけるオブジェクト1300の位置予測を、4k×3k画像を縮小した例えば幅16画素×高さ16画素の画像を用いて行うため、処理の高速化が可能であり、レイテンシを短縮できる。
【0184】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0185】
なお、本技術は以下のような構成も取ることができる。
(1)
入力画像に含まれるオブジェクトの、前記入力画像における位置を検出する検出部と、
前記検出部により検出された前記位置に基づき、前記入力画像から前記オブジェクトを含む所定の解像度の認識用画像を生成する生成部と、
前記生成部により生成された前記認識用画像に対して前記オブジェクトを認識する認識処理を行う認識部と、
を備える画像処理装置。
(2)
前記検出部は、
第1の解像度の前記入力画像を、解像度が前記第1の解像度より低い第2の解像度の検出用画像に変換し、前記検出用画像に基づき前記入力画像における位置を検出する、
前記(1)に記載の画像処理装置。
(3)
前記所定の解像度は、前記第1の解像度より低く、前記第2の解像度は、前記第所定の解像度より低い、
前記(2)に記載の画像処理装置。
(4)
前記検出部は、
前記入力画像が前記オブジェクトを含まない場合に対応する画像を変換した前記第2の解像度の画像と、前記オブジェクトを含む前記入力画像を変換した前記第2の解像度の画像との差分を、前記検出用画像として用いる、
前記(2)または(3)に記載の画像処理装置。
(5)
前記検出部は、
前記入力画像から検出された前記位置と、前記入力画像に対して過去の1以上の入力画像から検出された前記位置とに基づき、前記入力画像に対して未来の入力画像における前記位置を予測する、
前記(2)に記載の画像処理装置。
(6)
前記検出部は、
前記オブジェクトの位置を示す位置情報を少なくとも2フレーム分記憶可能なメモリを有し、
前記入力画像が前記オブジェクトを含まない場合に対応する画像を変換した前記第2の解像度の画像と、前記入力画像を前記第2の解像度の画像に変換した検出用画像との差分から検出した、前記位置情報と、該位置情報を検出したフレームの1フレーム前の前記位置情報とに基づき、前記入力画像に対して1フレーム未来の入力画像における前記位置を予測する、
前記(5)に記載の画像処理装置。
(7)
前記生成部は、
前記入力画像から前記検出部により検出された前記位置に基づき前記オブジェクトに対応する領域を切り出して、前記認識用画像を生成する、
前記(1)~(6)の何れかに記載の画像処理装置。
(8)
前記生成部は、
前記オブジェクトの前記入力画像における大きさが前記所定の解像度に対して大きい場合に、前記領域の画像を縮小して前記オブジェクトの全体を含む前記所定の解像度の前記認識用画像を生成する、
前記(7)に記載の画像処理装置。
(9)
前記生成部は、
前記入力画像を前記所定の解像度の画像に縮小して、前記認識用画像を生成し、前記検出部により検出された前記位置を、前記認識用画像と共に前記認識部に渡す、
前記(1)~(5)の何れかに記載の画像処理装置。
(10)
前記認識用画像の背景部分を除去して前記認識部に出力する背景除去部をさらに備え、
前記背景除去部は、
前記検出部により検出された前記位置に基づき前記生成部により前記入力画像から生成された、前記オブジェクトを含む前記所定の解像度の画像から、前記入力画像が前記オブジェクトを含まない場合に対応する画像における、前記位置に基づく前記オブジェクトに対応する領域の前記所定の解像度の画像を前記背景部分の画像として差し引いて生成した画像に対し、閾値に基づき前記背景部分の判定処理を行い、前記背景部分の画素領域に含まれる画素の画素値を所定の画素値で置換した画像を、前記背景部分が除去された前記認識用画像として前記認識部に出力する、
前記(1)~(9)の何れかに記載の画像処理装置。
(11)
前記背景除去部は、
前記背景部分の画像を記憶する背景画像メモリを有する、
前記(10)に記載の画像処理装置。
(12)
前記認識部は、
機械学習により学習されたモデルに基づき前記オブジェクトの認識を行う、
前記(1)~(11)の何れかに記載の画像処理装置。
(13)
前記認識部は、
DNN(Deep Neural Network)を用いて前記オブジェクトの認識を行う、
前記(12)に記載の画像処理装置。
(14)
プロセッサにより実行される、
入力画像に含まれるオブジェクトの、前記入力画像における位置を検出する検出ステップと、
前記検出ステップにより検出された前記位置に基づき、前記入力画像から前記オブジェクトを含む所定の解像度の認識用画像を生成する生成ステップと、
前記生成ステップにより生成された前記認識用画像に対して前記オブジェクトを認識する認識処理を行う認識ステップと、
を有する画像処理方法。
【符号の説明】
【0186】
10 撮像装置
100 イメージセンサ
101 アプリケーションプロセッサ
200 切り出し部
201 検出部
202,222,2111 背景メモリ
204 認識部
210 予測・検出部
211 メモリ
221 背景キャンセル部
222,2111 背景メモリ
1100,1100N,1100(N-1),1100(N-2),1100(N-3) 撮像画像
1300 オブジェクト
1104,1104a、1104b,1104c,1104d,1104e,1104f,1104g,1104h,1104i,1104j 認識用画像
2110 位置情報メモリ
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22