(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023141906
(43)【公開日】2023-10-05
(54)【発明の名称】撮像装置、撮像方法および撮像プログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20230928BHJP
G06T 7/00 20170101ALI20230928BHJP
G06V 10/70 20220101ALI20230928BHJP
【FI】
H04N5/232 290
G06T7/00 350B
G06V10/70
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022048481
(22)【出願日】2022-03-24
(71)【出願人】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】池田 将彰
【テーマコード(参考)】
5C122
5L096
【Fターム(参考)】
5C122DA11
5C122EA56
5C122FC02
5C122FH10
5C122FH11
5C122FH14
5C122FH15
5C122HA13
5C122HA35
5C122HA63
5C122HB01
5C122HB02
5C122HB05
5C122HB06
5L096BA02
5L096BA18
5L096CA02
5L096HA13
5L096JA28
5L096KA04
5L096KA15
(57)【要約】
【課題】画像認識機能の実現に伴う処理時間やメモリ領域を抑制可能な撮像装置、撮像方法および撮像プログラムを提供することを目的とする。
【解決手段】本開示に係る撮像装置は、複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、を備える。
【選択図】
図7
【特許請求の範囲】
【請求項1】
複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、
を備える、
撮像装置。
【請求項2】
前記第1処理部は、
前記指定された行を示す情報と、前記指定された行に含まれる画素の前記画素信号と、を用いて学習されたモデルを用いて、前記行ごとの前記異物の有無を推論する、
請求項1に記載の撮像装置。
【請求項3】
前記モデルは、教師あり学習により学習されたモデルである、
請求項2に記載の撮像装置。
【請求項4】
前期モデルは、教師なし学習により学習されたモデルであって、
前記第1処理部は、
前記モデルを用いて前記行ごとの異常度を求め、求めた該異常度に基づき前記行ごとの前記異物の有無を推論する、
請求項2に記載の撮像装置。
【請求項5】
当該撮像装置は、前記撮像部による撮像範囲を固定可能な取付具により固定物に取り付けて使用され、
前記第1処理部は、
当該撮像装置を使用する場合に、前記使用する状態で前記取付具により前記固定物に取り付けられた当該撮像装置の前記撮像部により出力された前記画素信号に基づき学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
請求項2に記載の撮像装置。
【請求項6】
当該撮像装置は、前記撮像部による撮像範囲を制御に従い変更可能な取付具により固定物に取り付けられて使用され、
をさらに備え、
前記第1処理部は、
当該撮像装置を使用する場合に、前記使用する状態で前記取付具により取り付けられた当該撮像装置の前記撮像部により、前記撮像範囲の変更ごとに出力された前記画素信号に基づき学習された前記撮像範囲の変更ごとの前記モデルを用いて、前記撮像範囲の変更に応じて前記行ごとの前記異物の有無を推論する、
請求項2に記載の撮像装置。
【請求項7】
前記第1処理部は、
当該撮像装置を所定の撮像条件で使用する場合に、前記所定の撮像条件に基づき前記撮像部により出力された前記画素信号に基づき予め学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
請求項2に記載の撮像装置。
【請求項8】
前記第1処理部は、
前記画素領域に対して飛び飛びに指定された前記行ごとに、前記異物の有無を推論する、
請求項1に記載の撮像装置。
【請求項9】
前記画素領域に対して飛び飛びに指定された行に対して、連続して並ぶ3以上の前記行を含む窓を設定し、前記窓に含まれる前記行ごとに前記第1処理部により前記異物の有無が推論された各推論結果に基づき、前記異物の位置を判定する第2処理部、
をさらに備える、
請求項8に記載の撮像装置。
【請求項10】
前記第2処理部は、
前記窓に含まれる前記行ごとの前記推論結果の移動平均に基づき前記異物の位置を判定する、
請求項9に記載の撮像装置。
【請求項11】
前記第1処理部は、
前記画素領域に対して設定された注目領域において飛び飛びに指定された前記行ごとに前記異物の有無を推論する、
請求項1に記載の撮像装置。
【請求項12】
前記第1処理部は、
前記画素領域に含まれる画素のうち、前記指定された行においてさらに指定された列に含まれる画素の前記画素信号に基づき、前記行ごとの前記異物の有無を推論する、
請求項1に記載の撮像装置。
【請求項13】
前記第1処理部は、
前記指定された行および前記指定された列により指定される領域の前記異物の有無を推論する、
請求項12に記載の撮像装置。
【請求項14】
プロセッサにより実行される、
複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を有する、
撮像方法。
【請求項15】
プロセッサに、
複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を実行させるための撮像プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、撮像装置、撮像方法および撮像プログラムに関する。
【背景技術】
【0002】
近年、監視用途などに用いられる小型カメラなどの撮像装置の高性能化に伴い、撮像画像に含まれる所定のオブジェクトを認識する画像認識機能を搭載する撮像装置が開発されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来では、画像認識機能を実行するために、処理時間の増大やメモリ領域の圧迫が発生してしまうという課題が存在した。
【0005】
本開示は、画像認識機能の実現に伴う処理時間やメモリ領域を抑制可能な撮像装置、撮像方法および撮像プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る撮像装置は、複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、を備える。
【図面の簡単な説明】
【0007】
【
図1】実施形態に適用可能な監視システムの一例の構成を示す模式図である。
【
図2】本開示の実施形態に係る推論処理を概略的に説明するための模式図である。
【
図3】実施形態に係る撮像装置の一例の構成を示すブロック図である。
【
図4】各実施形態に係る撮像装置のハードウェア構成の例を示す模式図である。
【
図5A】各実施形態に係る撮像装置を2層構造の積層型CISにより形成した例を示す図である。
【
図5B】各実施形態に係る撮像装置を3層構造の積層型CISにより形成した例を示す図である。
【
図6】各実施形態に適用可能なセンサ部の一例の構成を示すブロック図である。
【
図7】実施形態に係る認識処理部の機能を説明するための一例の機能ブロック図である。
【
図8】実施形態に係る学習装置の一例のハードウェア構成を示すブロック図である。
【
図9】実施形態に係る学習処理を概略的に説明するための模式図である。
【
図10A】実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。
【
図10B】実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。
【
図11A】実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。
【
図11B】実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。
【
図12】教師無し学習による機械学習モデルで算出される異常度に基づく判定を説明するための模式図である。
【
図13】実施形態に係る第1処理部による推論処理を説明するための模式図である。
【
図14】実施形態に係る、第1処理部における処理の時系列的な推移を説明するための一例のシーケンス図である。
【
図15】実施形態に適用な可能な、機械学習モデルに対して入力する画像データの入力単位を説明するための模式図である。
【
図16】実施形態に適用な可能な、機械学習モデルから出力される画像データの出力単位を説明するための模式図である。
【
図17】実施形態に係る推論処理部による推論処理を示す一例のフローチャートである。
【
図18】第2処理部による統合処理を実行する前の推論結果の例を示す模式図である。
【
図19】実施形態に係る、推論結果の移動平均算出処理をより具体的に説明するための模式図である。
【
図20A】実施形態に係る推論結果の出力方法について説明するための模式図である。
【
図20B】実施形態に係る推論結果の出力方法について説明するための模式図である。
【
図21】実施形態に係る注目領域の設定の例を示す模式図である。
【
図22】既存技術としての特許文献1に開示される技術を概略的に説明するための模式図である。
【
図23】本開示の実施形態に係る技術を既存技術と対比させて説明するための模式図である。
【
図24】実施形態の変形例に係る撮像装置の一例の構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について、図面に基づいて詳細に説明する。なお、以下の実施形態において、同一の部位には同一の符号を付することにより、重複する説明を省略する。
【0009】
以下、本開示の実施形態について、下記の順序に従って説明する。
1.実施形態
1-1.実施形態の概要
1-2.実施形態に係る構成
1-3.実施形態に係る処理
1-3-1.実施形態に係る学習処理
1-3-2.実施形態に係る推論処理の詳細
1-3-3.注目領域の設定について
1-4.既存技術との対比
2.実施形態の変形例
【0010】
(1.実施形態)
本開示の実施形態について説明する。本開示の実施形態では、撮像装置として、壁や柱、天井などの固定物に取り付けられ、固定的な撮像範囲で撮像を行う、監視カメラなどの用途に用いられる固定カメラを想定する。実施形態では、当該固定カメラにより撮像された画像において、例えばユーザに指定されたラインごとに、異物の有無を検出する。ユーザは、異物の有無の検出を行うラインを、撮像画像に対して飛び飛びのラインとして指定してよい。
【0011】
固定カメラでは、撮像画像における画素値の確率分布がある程度固定される。そのため、固定カメラが有するセンサにおいて撮像素子(画素アレイ)から読み出すラインごとの背景と行番号を機械学習により学習し、背景に対して異物を含むか否かを推論する機械学習モデルを構築する。当該機械学習モデルにおいて、当該ラインの画像における数画素のずれは、背景として学習される。ここで構築される機械学習モデルは、ラインごとすなわち1次元での畳込みを行う1次元CNN(Convolutional Neural Network)を適用でき、軽量なものとすることができる。
【0012】
なお、「背景」とは、撮像画像において、時間の経過に対して略変化しない領域やオブジェクトを指す。また、「異物」とは、「背景」に対して任意のタイミングで出現する、当該背景とは異なるオブジェクトをいう。「異物」は、人であってもよいし、動物であってもよい。また、「異物」は、自律的あるいはコントロールに従い動作する機械(ロボット)であってもよい。さらには、「異物」は、背景画像の一部としての物体が破損あるいは破壊された状態であってもよい。
【0013】
本開示の実施形態では、異物の有無の検出に係る画像認識を1ラインごとに実行するため、画像認識機能の実現に伴う処理時間やメモリ領域を抑制可能である。
【0014】
(1-1.実施形態の概要)
先ず、実施形態の概要ついて説明する。
【0015】
図1は、実施形態に適用可能な監視システムの一例の構成を示す模式図である。
図1において、監視システム1は、ネットワーク2により互いに通信可能に接続される、撮像装置10と、学習装置20と、監視装置30と、を含む。ネットワーク2は、インターネットでもよいし、特定の施設内に構築されるLAN(Local Area Network)であってもよい。これに限らず、撮像装置10と、学習装置20と、監視装置30とがケーブルなどにより直接的に接続されていてもよい。
【0016】
撮像装置10は、建物の天井などの固定物11に取付具12により取り付けられて使用される。この例では、撮像装置10は、取付具12により、撮像範囲を固定とされて取り付けられている。すなわち、この例における撮像装置10は、使用時には、常に同じ撮像範囲を撮像し続ける。
【0017】
撮像装置10は、受光した光に応じた画素信号を出力する画素が行列状の配列で配置された画素アレイを含む撮像素子と、撮像素子により撮像された撮像画像に基づき認識処理を行う認識処理部を含む。撮像装置10が含む認識処理部は、機械学習により予め学習された機械学習モデルを用いて、撮像画像における指定されたラインの画像に対して認識処理を行い、異物の有無を推論する。撮像装置10は、撮像画像と、異物の有無の推論結果とを例えばネットワーク2に対して出力することができる。
【0018】
学習装置20は、例えば一般的なコンピュータを適用することができ、撮像装置10から出力された撮像画像における、指定されたラインの画像に基づき機械学習による学習を行い、機械学習モデルを構築する。学習装置20は、撮像画像に基づき構築した機械学習モデルを、当該撮像画像を出力した撮像装置10に送信する。学習装置20は、監視システム1が複数の撮像装置10を含む場合、これら複数の撮像装置10それぞれに対して、撮像画像に基づく機械学習モデルを構築することができる。
【0019】
また、学習装置20は、例えばユーザ操作に応じて、撮像装置10に対して、認識処理を行うラインを指定することができる。学習装置20は、監視システム1が複数の撮像装置10を含む場合、これら複数の撮像装置10それぞれに対して、ユーザ操作に応じて当該ラインを指定することができる。
【0020】
なお、
図1では、撮像装置10と学習装置20とがネットワーク2を介して接続されるように示されているが、これはこの例に限定されない。例えば、撮像装置10と学習装置20とがネットワーク2を介さずに、優先あるいは無線通信により直接的に接続されていてもよい。
【0021】
監視装置30は、撮像装置10から出力された撮像画像および異物の有無の推論結果を表示装置に表示させることができる。また、監視装置30は、異物の有無の推論結果に基づきユーザに対して所定の通知を行ってよい。
【0022】
図2は、本開示の実施形態に係る推論処理を概略的に説明するための模式図である。
図2において、撮像装置10の撮像素子から出力される撮像画像40は、背景の画像に対して、例えば人である異物41a、41bおよび41cを含んでいる。また、
図2の例では、撮像装置10の撮像素子から出力される撮像画像40に対して、異物の有無の推論を行うラインが、画素アレイにおける画素配列の行r#1、r#2、…により指定される。各行r#1、r#2、…は、当該画素配列に含まれる各行に対して、飛び飛びに指定される。換言すれば、各行r#1、r#2、…は、当該画素配列に含まれる各行に対して、1行以上の間隔を開けて、各行r#1、r#2、…を指定する。
【0023】
撮像装置10は、撮像素子から、行r#1により示されるラインが読み出されると、読み出されたラインに対して異物の有無の推論処理を実行する。撮像装置10は、撮像素子から次の行r#2により示されるラインが読み出されると、読み出されたラインに対して異物の有無の推論処理を実行する。このように、撮像装置10は、各行r#1、r#2、…により示されるラインが読み出されるごとに、読み出されたラインの画像に基づき異物の有無の推論処理を実行する。
【0024】
図2の例では、撮像装置10は、行#1~#4、および、行#7により示されるラインの画像が「背景」(異物無し)であると推論している。一方、撮像装置10は、行#5および#6により示されるラインの画像は、異物41a、41bおよび41cの画像の一部を含んでいるため、「異物あり」であると推論している。撮像装置10は、各行#1~#7の推論結果をそれぞれ出力してもよいし、「異物あり」として推論された行#5および#6を含む範囲FMを、推論結果として出力してもよい。
【0025】
このように、本開示の実施形態では、異物の有無をラインごとに推論するため、処理に係る計算量および計算時間、メモリサイズを抑制することが可能である。
【0026】
なお、
図2の例では、撮像装置10が撮像画像40の上端から下端に向けてラインを読み出しているが、これはこの例に限定されない。すなわち、撮像画像40におけるラインの読み出し順は、任意でよい。また、読み出すラインの間隔は、例えば監視対象に応じて適宜に設定してよい。
【0027】
(1-2.実施形態に係る構成)
次に、実施形態に係る構成について説明する。
図3は、実施形態に係る撮像装置の一例の構成を示すブロック図である。
図3に示されるように、実施形態に係る撮像装置10は、取付具12により天井、壁、柱などの固定物11に取り付けられ、撮像範囲を固定的とされて使用される。
【0028】
図3において、撮像装置10は、センサ部100と、センサ制御部101と、視認処理部102と、メモリ103と、認識処理部104と、出力制御部105と、I/F106と、データ蓄積部130と、を含む。これらセンサ部100、センサ制御部101、視認処理部102、メモリ103、認識処理部104、出力制御部105、I/F106およびデータ蓄積部130は、例えばCMOS(Complementary Metal Oxide Semiconductor)を用いて一体的に形成されたCMOSイメージセンサ(CIS)として構成される。
【0029】
これに限らず、これらセンサ部100、センサ制御部101、視認処理部102、メモリ103、認識処理部104、出力制御部105、インタフェース106およびデータ蓄積部130の一部または全部を、互いに協働して動作する、独立したハードウェア回路により構成してもよい。
【0030】
センサ部100は、光学部120を介して受光面に照射された光に応じた画素信号を出力する。より具体的には、センサ部100は、少なくとも1つの光電変換素子を含む画素が行列状に配列される画素アレイを有する。画素アレイに行列状に配列される各画素により受光面が形成される。センサ部100は、さらに、画素アレイに含まれる各画素を駆動するための駆動回路と、各画素から読み出された信号に対して所定の信号処理を施して各画素の画素信号として出力する信号処理回路と、を含む。センサ部100は、画素領域に含まれる各画素の画素信号を、ディジタル形式の画像データとして出力する。
【0031】
以下、センサ部100が有する画素アレイにおいて、画素信号を生成するために有効な画素が配置される領域を、フレームと呼ぶ。フレームに含まれる各画素から出力された各画素信号に基づく画素データにより、フレーム画像データが形成される。また、センサ部100の画素の配列における各行をそれぞれラインと呼び、ラインに含まれる各画素から出力された画素信号に基づく画素データにより、ライン画像データが形成される。さらに、センサ部100が受光面に照射された光に応じた画素信号を出力する動作を、撮像と呼ぶ。センサ部100は、後述するセンサ制御部101から供給される撮像制御信号に従い、撮像の際の露出や、画素信号に対するゲイン(アナログゲイン)を制御される。
【0032】
センサ制御部101は、例えばマイクロプロセッサにより構成され、プログラムに従い、センサ部100からの画素データの読み出しを制御し、フレームに含まれる各画素から読み出された各画素信号に基づく画素データを出力する。センサ制御部101から出力された画素データは、視認処理部102および認識処理部104に渡される。センサ制御部101は、視認処理部102および認識処理部104の動作を、プログラムに従い制御してよい。
【0033】
また、センサ制御部101は、センサ部100における撮像を制御するための撮像制御信号を生成する。センサ制御部101は、例えば、後述する視認処理部102および認識処理部104からの指示に従い、撮像制御信号を生成する。撮像制御信号は、上述した、センサ部100における撮像の際の露出やアナログゲインを示す情報を含む。撮像制御信号は、さらに、センサ部100が撮像動作を行うために用いる制御信号(垂直同期信号、水平同期信号、など)を含む。センサ制御部101は、生成した撮像制御信号をセンサ部100に供給する。
【0034】
光学部120は、被写体からの光をセンサ部100の受光面に照射させるためのもので、例えばセンサ部100に対応する位置に配置される。光学部120は、例えば複数のレンズと、入射光に対する開口部の大きさを調整するための絞り機構と、受光面に照射される光の焦点を調整するためのフォーカス機構と、画角を調整するためのズーム機構と、を含む。光学部120は、受光面に光が照射される時間を調整するシャッタ機構(メカニカルシャッタ)をさらに含んでもよい。
【0035】
光学部120が有する絞り機構やフォーカス機構、シャッタ機構、ズーム機構は、センサ制御部101により制御するようにできる。これに限らず、光学部120における絞り、フォーカスおよびズームは、撮像装置10の外部から制御するようにもできる。また、光学部120を撮像装置10と一体的に構成することも可能である。
【0036】
視認処理部102は、センサ制御部101から渡された画素データに対して、メモリ103を用いて、人が視認するために適した画像を得るための処理を実行し、例えば一纏まりの画素データからなる画像データを出力する。例えば、視認処理部102は、ISP(Image Signal Processor)を含み、ISPが図示されないメモリに予め記憶されるプログラムを読み出して実行することで、当該視認処理部102が構成される。例えば、視認処理部102は、センサ部100から読み出された画像データをメモリ103に記憶する。視認処理部102は、メモリ103に所定量の画像データが記憶されると、メモリ103に記憶される画像データに対して所定の画像処理を実行する。
【0037】
例えば、視認処理部102は、センサ部100に含まれる各画素にカラーフィルタが設けられ、画素データがR(赤色)、G(緑色)、B(青色)の各色情報を持っている場合、デモザイク処理、ホワイトバランス処理などを実行することができる。また、視認処理部102は、視認処理に必要な画素データをセンサ部100から読み出すように、センサ制御部101に対して指示することができる。例えば、視認処理部102は、センサ制御部101に対して、センサ部100から1フレーム分の画素データを読み出すように指示してよい。視認処理部102により画素データが画像処理された画像データは、出力制御部105に渡される。
【0038】
認識処理部104は、センサ制御部101から渡された画像データに基づき、画像データによる画像に含まれるオブジェクトの認識処理を行う。本開示においては、認識処理部104は、例えばDSP(Digital Signal Processor)を含み、DSPが、教師あり学習あるいは教師無し学習により予め学習されメモリ103に学習機械学習モデルとして記憶されるプログラムを読み出して実行することで、DNN(Deep Neural Network)を用いた認識処理を行う。
【0039】
認識処理部104は、認識処理に必要な画素データをセンサ部100から読み出すように、センサ制御部101に対して指示することができる。実施形態では、認識処理部104は、センサ部100から、指定されたライン(行)の画素データを読み出すように、センサ制御部101に対して指示する。実施形態では、認識処理部104は、認識処理により、ラインごとに、異物の有無を推論する。認識処理部104によるラインごとの推論結果(認識結果)は、出力制御部105に渡される。
【0040】
出力制御部105は、例えばマイクロプロセッサにより構成され、認識処理部104から渡された各ラインの推論結果と、視認処理部102から視認処理結果として渡された画像データとを、データ蓄積部130に渡す。
【0041】
データ蓄積部130は、メモリを含み、認識処理部104から渡された各ラインの推論結果と、視認処理部102から渡された画像データとを記憶する。データ蓄積部130は、例えば撮像装置10の外部の機器からの要求に応じて、記憶した推論結果および画像データの一方または両方を、撮像装置10の外部に出力することができる。また、データ蓄積部130は、例えば学習装置20からの要求に応じて、記憶した画像データをI/F106に渡す。データ蓄積部130は、さらに、記憶した各ラインの推論結果をI/F106に渡してもよい。
【0042】
I/F106は、学習装置20とデータなどの送受信を行うためのインタフェースである。I/F106は、例えばネットワーク2に対する通信を行うインタフェースであってよい。また、撮像装置10は、撮像範囲を固定した固定カメラとして用いられるため、I/F106は、無線通信に対応していると、接触や衝撃などによる撮像範囲のブレを抑制可能となり好ましい。
【0043】
I/F106は、データ蓄積部130から渡された画像データを、学習装置20に送信する。同様に、I/F106は、データ蓄積部130から渡された画像データを、監視装置30に対して送信する。I/F106は、データ蓄積部130からラインごとの推論結果が渡された場合は、当該推論結果を学習装置20や監視装置30に対して送信してもよい。
【0044】
また、I/F106は、学習装置20から送信されたデータを受信する。例えば、I/F106は、学習装置20から送信された機械学習モデルを受信し、受信した機械学習モデルを認識処理部104に渡す。また例えば、I/F106は、学習装置20から送信された行番号を示す情報を受信し、受信した行番号を示す情報をセンサ制御部101に渡す。以下、特に記載の無い限り、「行番号を示す情報」を単に「行番号」と呼ぶ。
【0045】
図3において、学習装置20は、学習部200と、画像蓄積部201と、UI(User Interface)部202と、表示部203と、インタフェース(I/F)210と、を含む。
【0046】
I/F210は、撮像装置10とデータなどの送受信を行うためのインタフェースである。I/F210は、撮像装置10から送信された画像データを受信し、画像蓄積部201に渡す。画像蓄積部201は、I/F210から渡された画像データを、メモリなど記憶媒体に記憶させる。
【0047】
学習部200は、画像蓄積部201に記憶された画像データから、例えばUI部202により指定されたライン画像データを抽出し、機械学習により、教師あり学習あるいは教師無し学習により異物の有無の推論に関する学習を行い、機械学習モデルを構築する。学習部200は、構築した機械学習モデルを、I/F210から撮像装置10に送信する。撮像装置10において、I/F106は、学習装置20から送信された機械学習モデルを受信し、受信した機械学習モデルを認識処理部104に渡す。
【0048】
UI部202は、ユーザ操作に関するインタフェースを構成する。UI部202は、例えば学習装置20が有する入力デバイス(キーボードなど)に対するユーザ操作を受け付ける。また、UI部202は、ユーザに提示するための画像を生成し、生成した画像を表示部203に渡す。表示部203は、UI部202から渡された画像を表示装置(図示しない)に表示させるための表示制御情報を生成する。
【0049】
UI部202は、例えば、ユーザ操作により、異物の有無の推論を行うラインを示す行番号(場合によっては行番号および列番号)の情報が入力され、当該推論を行うラインが指定される。行番号は、例えば行ごとに1ずつ増加する行番号において、飛び飛びの行番号が指定される。飛び飛びの行番号とは、指定された各行番号の間に、1以上の指定されていない行番号が含まれることをいう。UI部202は、入力された行番号を、I/F210から撮像装置10に対して送信する。撮像装置10において、I/F106は、学習装置20から送信された行番号を受信し、受信した行番号を認識処理部104に渡す。
【0050】
図4は、各実施形態に係る撮像装置10のハードウェア構成の例を示す模式図である。
図4の例では、1つのチップ50に対して、
図1に示した構成のうちセンサ部100、センサ制御部101、認識処理部104、メモリ103、視認処理部102、出力制御部105、I/F106およびデータ蓄積部130が搭載されている。なお、
図4において、メモリ103、出力制御部105、I/F106およびデータ蓄積部130は、煩雑さを避けるため省略されている。なお、データ蓄積部130は、チップ50の外部に構成してもよい。
【0051】
図4に示す構成では、認識処理部104による推論結果は、図示されないI/F106を介してチップ50の外部に出力される。また、
図4の構成においては、認識処理部104は、認識に用いるための画素データ(ライン画像データ)を、センサ制御部101から、チップ50の内部のインタフェースを介して取得できる。
【0052】
上述した
図4に示す構成において、撮像装置10は、1つの基板上に形成することができる。これに限らず、撮像装置10を、複数の半導体チップが積層され一体的に形成された積層型CISとしてもよい。
【0053】
一例として、撮像装置10を、半導体チップを2層に積層した2層構造により形成することができる。
図5Aは、各実施形態に係る撮像装置10を2層構造の積層型CISにより形成した例を示す図である。
図5Aの構造では、第1層の半導体チップに画素部500aを形成し、第2層の半導体チップにメモリ+ロジック部500bを形成している。画素部500aは、少なくともセンサ部100における画素アレイを含む。メモリ+ロジック部500bは、例えば、センサ制御部101、認識処理部104、メモリ103、視認処理部102、出力制御部105およびI/F106を含む。メモリ+ロジック部500bは、さらに、センサ部100における画素アレイを駆動する駆動回路の一部または全部を含む。
【0054】
図5Aの右側に示されるように、第1層の半導体チップと、第2層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置10を1つの固体撮像素子として構成する。
【0055】
別の例として、撮像装置10を、半導体チップを3層に積層した3層構造により形成することができる。
図5Bは、各実施形態に係る撮像装置10を3層構造の積層型CISにより形成した例を示す図である。
図5Bの構造では、第1層の半導体チップに画素部500aを形成し、第2層の半導体チップにメモリ部500cを形成し、第3層の半導体チップにロジック部500b’を形成している。この場合、ロジック部500b’は、例えば、センサ制御部101、認識処理部104、視認処理部102、出力制御部105およびI/F106を含む。また、メモリ部500cは、メモリ103と、例えば認識処理部104が認識処理のために用いるメモリと、を含むことができる。当該メモリは、ロジック部500b’に含めてもよい。
【0056】
図5Bの右側に示されるように、第1層の半導体チップと、第2層の半導体チップと、第3層の半導体チップとを電気的に接触させつつ貼り合わせることで、撮像装置10を1つの固体撮像素子として構成する。
【0057】
図6は、各実施形態に適用可能なセンサ部100の一例の構成を示すブロック図である。
図6において、センサ部100は、画素アレイ部1001と、垂直走査部1002と、AD(Analog to Digital)変換部1003と、画素信号線1006と、垂直信号線VSLと、制御部1100と、信号処理部1101と、を含む。なお、
図6において、制御部1100および信号処理部1101は、例えば
図1に示したセンサ制御部101に含まれるものとすることもできる。
【0058】
画素アレイ部1001は、それぞれ受光した光に対して光電変換を行う、例えばフォトダイオードによる光電変換素子と、光電変換素子から電荷の読み出しを行う回路と、を含む複数の画素回路1000を含む。画素アレイ部1001において、複数の画素回路1000は、水平方向(行方向)および垂直方向(列方向)に行列状の配列で配置される。画素アレイ部1001において、画素回路1000の行方向の並びをラインと呼ぶ。
図6の例では、行r
1、r
2、…、r
pのそれぞれにおいて、その行r
nに含まれる複数の画素回路1000により、ラインが構成される。
【0059】
例えば、1920画素×1080ラインで1フレームの画像が形成される場合、画素アレイ部1001は、少なくとも1920個の画素回路1000が含まれるラインを、少なくとも1080ライン、含む。フレームに含まれる画素回路1000から読み出された画素信号により、1フレームの画像(画像データ)が形成される。
【0060】
ラインは、単に「行」と呼ばれることもある。また、各ラインは、ライン番号により識別することができる。ライン番号は、例えば、画素アレイ部1001の一端から他端に向けて1ずつ増加する数字を適用することができる。
図6の例では、ライン番号は、画素アレイ部1001の図において上端側の行r
1のラインが「1」とし、下端側に向けてラインごとに「2」、「3」、…、「p」のように、1ずつ増加して付加される。
【0061】
以下、センサ部100においてフレームに含まれる各画素回路1000から画素信号を読み出す動作を、適宜、フレームから画素を読み出す、などのように記述する。また、フレームに含まれるラインが有する各画素回路1000から画素信号を読み出す動作を、適宜、ラインを読み出す、あるいは、ライン画像を読み出す、などのように記述する。また、画素アレイ部1001における行番号nの行を行rnのように記述し、撮像画像から飛び飛びに指定された行r#nと区別する。
【0062】
画素アレイ部1001には、各画素回路1000の行および列に対し、行毎に画素信号線1006が接続され、列毎に垂直信号線VSLが接続される。画素信号線1006の画素アレイ部1001と接続されない端部は、垂直走査部1002に接続される。垂直走査部1002は、後述する制御部1100の制御に従い、画素から画素信号を読み出す際の駆動パルスなどの制御信号を、画素信号線1006を介して画素アレイ部1001へ伝送する。垂直信号線VSLの画素アレイ部1001と接続されない端部は、AD変換部1003に接続される。画素から読み出された画素信号は、垂直信号線VSLを介してAD変換部1003に伝送される。
【0063】
画素回路1000からの画素信号の読み出し制御について、概略的に説明する。画素回路1000からの画素信号の読み出しは、露出により光電変換素子に蓄積された電荷を浮遊拡散層(FD;Floating Diffusion)に転送し、浮遊拡散層において転送された電荷を電圧に変換することで行う。浮遊拡散層において電荷が変換された電圧は、アンプを介して垂直信号線VSLに出力される。
【0064】
より具体的には、画素回路1000において、露出中は、光電変換素子と浮遊拡散層との間をオフ(開)状態として、光電変換素子において、光電変換により入射された光に応じて生成された電荷を蓄積させる。露出終了後、画素信号線1006を介して供給される選択信号に応じて浮遊拡散層と垂直信号線VSLとを接続する。さらに、画素信号線1006を介して供給されるリセットパルスに応じて浮遊拡散層を電源電圧VDDまたは黒レベル電圧の供給線と短期間において接続し、浮遊拡散層をリセットする。垂直信号線VSLには、浮遊拡散層のリセットレベルの電圧(電圧Aとする)が出力される。その後、画素信号線1006を介して供給される転送パルスにより光電変換素子と浮遊拡散層との間をオン(閉)状態として、光電変換素子に蓄積された電荷を浮遊拡散層に転送する。垂直信号線VSLに対して、浮遊拡散層の電荷量に応じた電圧(電圧Bとする)が出力される。
【0065】
AD変換部1003は、垂直信号線VSL毎に設けられたAD変換器1007と、参照信号生成部1004と、水平走査部1005と、を含む。AD変換器1007は、画素アレイ部1001の各列(カラム)に対してAD変換処理を行うカラムAD変換器である。AD変換器1007は、垂直信号線VSLを介して画素回路1000から供給された画素信号に対してAD変換処理を施し、ノイズ低減を行う相関二重サンプリング(CDS:Correlated Double Sampling)処理のための2つのディジタル値(電圧Aおよび電圧Bにそれぞれ対応する値)を生成する。
【0066】
AD変換器1007は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器1007から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成された画素データは、センサ部100の外部に出力される。
【0067】
参照信号生成部1004は、制御部1100から入力される制御信号に基づき、各AD変換器1007が画素信号を2つのディジタル値に変換するために用いるランプ信号を参照信号として生成する。ランプ信号は、レベル(電圧値)が時間に対して一定の傾きで低下する信号、または、レベルが階段状に低下する信号である。参照信号生成部1004は、生成したランプ信号を、各AD変換器1007に供給する。参照信号生成部1004は、例えばDAC(Digital to Analog Converter)などを用いて構成される。
【0068】
参照信号生成部1004から、所定の傾斜に従い階段状に電圧が降下するランプ信号が供給されると、カウンタによりクロック信号に従いカウントが開始される。コンパレータは、垂直信号線VSLから供給される画素信号の電圧と、ランプ信号の電圧とを比較して、ランプ信号の電圧が画素信号の電圧を跨いだタイミングでカウンタによるカウントを停止させる。AD変換器1007は、カウントが停止された時間のカウント値に応じた値を出力することで、アナログ信号による画素信号を、ディジタル値に変換する。
【0069】
AD変換器1007は、生成した2つのディジタル値を信号処理部1101に供給する。信号処理部1101は、AD変換器1007から供給される2つのディジタル値に基づきCDS処理を行い、ディジタル信号による画素信号(画素データ)を生成する。信号処理部1101により生成されたディジタル信号による画素信号は、センサ部100の外部に出力される。
【0070】
水平走査部1005は、制御部1100の制御の下、各AD変換器1007を所定の順番で選択する選択走査を行うことによって、各AD変換器1007が一時的に保持している各ディジタル値を信号処理部1101へ順次出力させる。水平走査部1005は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。
【0071】
制御部1100は、センサ制御部101から供給される撮像制御信号に従い、垂直走査部1002、AD変換部1003、参照信号生成部1004および水平走査部1005などの駆動制御を行う。撮像制御信号は、垂直同期信号または外部トリガ信号と、水平同期信号と、を含んでよい。また、撮像制御信号は、画素信号の読み出しを行う行を示す行番号を含んでよい。撮像制御信号は、画素信号の読み出しを行う列を示す列番号を含んでもよい。
【0072】
制御部1100は、垂直走査部1002、AD変換部1003、参照信号生成部1004および水平走査部1005の動作の基準となる各種の駆動信号を生成する。制御部1100は、例えば、撮像制御信号に含まれる垂直同期信号または外部トリガ信号と、水平同期信号とに基づき、垂直走査部1002が画素信号線1006を介して各画素回路1000に供給するための制御信号を生成する。制御部1100は、生成した制御信号を垂直走査部1002に供給する。
【0073】
また、制御部1100は、例えば、センサ制御部101から供給される撮像制御信号に含まれる、アナログゲインを示す情報をAD変換部1003に渡す。AD変換部1003は、このアナログゲインを示す情報に応じて、AD変換部1003に含まれる各AD変換器1007に垂直信号線VSLを介して入力される画素信号のゲインを制御する。
【0074】
垂直走査部1002は、制御部1100から供給される制御信号に基づき、画素アレイ部1001の選択された画素行の画素信号線1006に駆動パルスを含む各種信号を、ライン毎に各画素回路1000に供給し、各画素回路1000から、画素信号を垂直信号線VSLに出力させる。このとき、垂直走査部1002は、制御部1100から供給される制御信号に含まれる行番号に従い、画素アレイ部1001の、行番号により指定された行rnのラインの各画素回路1000から、画素信号を読み出すことができる。
【0075】
垂直走査部1002は、例えばシフトレジスタやアドレスデコーダなどを用いて構成される。また、垂直走査部1002は、制御部1100から供給される露出を示す情報に応じて、各画素回路1000における露出を制御する。
【0076】
なお、制御部1100は、垂直走査部1002に画素信号の読み出しが指示された行rnの行番号を、センサ部100の外部に出力する。制御部1100は、さらに画素信号を読み出す列が指示された場合には、読み出しが指示された列cnを示す列番号を、センサ部100の外部に出力する。制御部1100は、画素信号を読み出す列が指示された場合、例えば各AD変換器1007の出力を制御することで、指示された列の画素信号を選択的に出力させることができる。
【0077】
このように構成されたセンサ部100は、AD変換器1007が列毎に配置されたカラムAD方式のCMOS(Complementary Metal Oxide Semiconductor)イメージセンサである。
【0078】
図7は、実施形態に係る認識処理部104の機能を説明するための一例の機能ブロック図である。
【0079】
なお、
図7において、学習装置20は、例えばUI部202に対するユーザ操作に応じて、センサ部100から読み出す行r
nを指定する行番号を生成し、生成した行番号をI/F210から撮像装置10に送信する。撮像装置10は、学習装置20から送信された行番号をI/F106により受信し、センサ部100に対する設定情報としてレジスタ107に書き込む。センサ制御部101は、レジスタ107から設定情報を読み出して、設定情報に示される行番号に示される行r
nの読み出しを指示する。また、学習装置20は、学習部200により構築された機械学習モデルを、I/F210から撮像装置10に送信する。
【0080】
図7において、認識処理部104は、推論処理部140と、ラインメモリ150と、パラメータメモリ151と、を含む。
【0081】
ラインメモリ150は、少なくともセンサ部100における1ラインに含まれる画素データを記憶可能な容量を有する。ラインメモリ150は、センサ制御部101がレジスタ107から読み出した行番号に従いセンサ部100から読み出された、当該行番号に示される1ラインに含まれる画素データを記憶する。パラメータメモリ151は、学習装置20から送信されI/F106により受信された、学習部200により構築された機械学習モデルが記憶される。
【0082】
なお、以下では、1ラインに含まれる画素データを、ライン画像データと呼び、ライン画像データによる画像をライン画像と呼ぶ。
【0083】
推論処理部140は、処理制御部141と、第1処理部142と、第2処理部143と、を含む。処理制御部141は、第1処理部142および第2処理部143の動作を制御する。
【0084】
第1処理部142は、パラメータメモリ151に記憶された機械学習モデルを用いて、ラインメモリ150に記憶されたライン画像データに対して異物の有無の推論処理を実行する。第1処理部142による異物の有無の推論結果は、当該ライン画像データに対応する行番号と共に、第2処理部143に渡される。また、推論結果は、当該ライン画像データに対応する行番号と共に、出力制御部105に渡され、データ蓄積部130に記憶される。このように、第1処理部142は、画素領域に含まれる画素のうち指定された行に含まれる画素の画素信号に基づき、行ごとに異物の有無を推論する処理部として機能する。
【0085】
第2処理部143は、データ蓄積部130に記憶された、第1処理部142による推論結果を用いて、異物の位置を判定する。例えば、第2処理部143は、データ蓄積部130から、第1処理部142によるライン(行)の推論結果と、当該推論結果が得られたライン(行)の行番号と、を取得する。第2処理部143は、行番号が飛び飛びに指定された各行のうち、連続して並ぶ3以上のライン(行)を含む組に対して、当該組に含まれるラインごとの第1処理部142による各推論結果に基づき、センサ部100により撮像された撮像画像における異物の位置を判定する。
【0086】
第2処理部143は、判定された異物の位置を示す情報を、出力制御部105を介してデータ蓄積部130に記憶させる。
【0087】
図8は、実施形態に係る学習装置20の一例のハードウェア構成を示すブロック図である。
【0088】
図8において、学習装置20は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、表示制御部2003と、ストレージ装置2004と、データI/F2005と、通信I/F2006と、を含む。このように、学習装置20は、一般的なコンピュータの構成を適用することができる。
【0089】
ストレージ装置2004は、例えばハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体である。CPU2000は、ROM2001およびストレージ装置2004に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、この学習装置20の全体の動作を制御する。
【0090】
表示制御部2003は、CPU2000から渡された表示制御情報に基づき、表示装置2020が対応可能な表示信号を生成し、表示装置2020に渡す。表示装置2020は、例えばLCD(Liquid Crystal Display)といった表示デバイスと、表示デバイスを駆動するための駆動回路とを含む。表示装置2020は、表示制御部2003から渡された表示信号に従い、表示デバイスに対して画像を表示する。
【0091】
データI/F2005は、この学習装置20と外部の機器との間でデータの送受信を行うためのインタフェースである。また、データI/F2005に対して、ユーザ操作を受け付ける入力デバイス2021を接続してよい。入力デバイス2021の種類は特に限定されないが、例えばマウスなどのポインティングデバイスや、キーボードを適用することができる。上述したUI部202は、入力デバイス2021と、表示装置2020に対する画像の表示により、ユーザインタフェースを実現してよい。
【0092】
通信I/F2006は、この学習装置20の外部に対する通信を制御する。例えば、通信I/F2006は、ネットワーク2に対する通信を制御する。通信I/F2006は、撮像装置10と無線通信などにより直接的に通信を行ってもよい。
【0093】
学習装置20において、CPU2000は、実施形態に係る機能を実現するためのプログラムが実行されることで、上述した学習部200、画像蓄積部201、UI部202および表示部203を、RAM2002における主記憶領域上に、それぞれ例えばモジュールとして構成する。
【0094】
当該プログラムは、例えば通信I/F2006を介した通信により、例えばネットワーク2を介して外部から取得し、当該学習装置20上にインストールすることが可能とされている。これに限らず、当該プログラムは、CD(Compact Disk)やDVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリといった着脱可能な記憶媒体に記憶されて提供されてもよい。
【0095】
(1-3.実施形態に係る処理)
次に、実施形態に係る処理について説明する。
【0096】
(1-3-1.実施形態に係る学習処理)
先ず、実施形態に係る学習処理について説明する。
図9は、実施形態に係る学習処理を概略的に説明するための模式図である。実施形態では、異常の有無の推論に用いる機械学習モデルとして、
図9のセクション(a)に示される、教師あり学習により構築した機械学習モデル90と、同図セクション(b)に示される、教師無し学習により構築した機械学習モデル91と、の何れも適用可能である。
【0097】
より具体的には、
図9のセクション(a)に示す機械学習モデル90は、異物の有無を示す異常ラベルが付された画像(ライン画像)を教師データとして用いた教師あり学習により、構築される。この機械学習モデル90に対して、センサ部100により撮像された撮像画像において指定された行r
nのライン画像データを入力することで、当該行r
nにおける異物の有無が推論される。
【0098】
一方、
図9のセセクション(b)に示す機械学習モデル91は、異物を含まない画像(ライン画像)を学習データとして用いた教師無し学習により、構築される。この機械学習モデル91に対して、センサ部100により撮像された撮像画像において指定された行r
nのライン画像データを入力することで、当該行r
nにおける異常度が推論される。異常度は、例えば、その行r
nに異物が含まれる度合いを示す。
【0099】
(教師あり学習について)
図10Aおよび
図10Bは、実施形態に係る教師あり学習による処理をより具体的に説明するための模式図である。
【0100】
図10Aは、教師あり学習による機械学習モデル90の構築処理を説明するための模式図である。例えば、指定された行r
nのライン画像に異物(この例では人)が含まれない画像45aに「異物無し」を示す異常ラベル92aを付加したデータと、当該行r
nのライン画像に異物が含まれる画像45bに「異物あり」を示す異常ラベル92bを付加したデータと、を教師データとして用意する。学習装置20において、学習部200は、用意された各教師データを機械学習モデル90に入力して、当該機械学習モデル90を学習させる。学習された機械学習モデル90は、学習装置20から撮像装置10に送信され、撮像装置10の推論処理部140におけるパラメータメモリ151に記憶される。
【0101】
図10Bは、教師あり学習による機械学習モデル90による推論処理を説明するための模式図である。例えば、撮像装置10の推論処理部140において、第1処理部142は、パラメータメモリ151に記憶される機械学習モデル90を読み込む。
【0102】
第1処理部142は、例えば指定された行rnに異物を含まない画像46aにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル90に入力して推論処理を行い、「異物無し」を示す異常ラベル92を取得する。また例えば、第1処理部142は、例えば指定された行rnに異物を含む画像46bにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル90に入力して推論処理を行い、「異物あり」を示す異常ラベル92を取得する。
【0103】
(教師無し学習について)
図11Aおよび
図11Bは、実施形態に係る教師無し学習による処理をより具体的に説明するための模式図である。
【0104】
図11Aは、教師無し学習による機械学習モデル91の構築処理を説明するための模式図である。例えば、指定された行r
nのライン画像に異物(この例では人)が含まれない画像45aを学習データとして用意する。学習装置20において、学習部200は、用意された教師データを機械学習モデル91に入力して、当該機械学習モデル91を学習させる。学習された機械学習モデル91は、学習装置20から撮像装置10に送信され、撮像装置10の推論処理部140におけるパラメータメモリ151に記憶される。
【0105】
図11Bは、教師無し学習による機械学習モデル91による推論処理を説明するための模式図である。例えば、撮像装置10の推論処理部140において、第1処理部142は、パラメータメモリ151に記憶される機械学習モデル91を読み込む。
【0106】
第1処理部142は、例えば指定された行rnに異物を含まない画像46aにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル91に入力して推論処理を行い、小さい値(例えば閾値以下の値)を示す異常度93aを算出する。また例えば、第1処理部142は、例えば指定された行rnに異物を含む画像46bにおいてラインメモリ150に記憶される、当該行rnのライン画像データを機械学習モデル91に入力して推論処理を行い、大きい値(例えば閾値を超える超える値)を示す異常度93bを算出する。
【0107】
なお、異常度の判定を行うための閾値は、学習部200による機械学習により設定してもよいし、ユーザが例えば学習装置20に対するユーザ操作により設定してもよい。
【0108】
図12は、
図11Bを用いて説明した、教師無し学習による機械学習モデル91で算出される異常度に基づく判定を説明するための模式図である。
図12において、横軸が異常度、縦軸があるデータについて横軸に示される異常度が算出された数を示している。
【0109】
図12の例では、あるデータについて算出された異常度の分布94aあるいは分布94bに基づき、異常度の大小を判定している。分布94aは、
図11Bにおける、画像46aにおいて指定された、異物無しの行r
nのライン画像データに基づき算出された異常度の分布の例を示している。また、分布94bは、
図11Bにおける、画像46bにおいて指定された、異物ありの行r
nのライン画像データに基づき算出された異常度の分布の例を示している。
【0110】
例えば、第1処理部142は、分布94aあるいは分布94bにおいて、異常度の代表値(最大値、中央値、平均値など)を求め、求めた代表値を閾値と比較して、異常度の大小を判定してよい。
図12の例では、第1処理部142は、代表値が閾値以下である分布94aに対応する異常度を、小さい異常度93aと判定する。一方、第1処理部142は、代表値が閾値を超えている分布94bに対応する異常度を、大きい異常度93bと判定する。
【0111】
図13は、実施形態に係る第1処理部142による推論処理を説明するための模式図である。実施形態では、第1処理部142は、CNN(Convolutional Neural Network)62による機械学習モデルを用いて、指定された行r
nのライン画像データに対する異物の有無の推論を行う。ここでは、CNN62が、
図9のセクション(a)で説明した教師あり学習により構築された機械学習モデル90によるネットワークであるものとして、説明を行う。
【0112】
図13において、行r#n-2、r#n-1、r#n、r#n+1およびr#n+2を含む画像60を考える。第1処理部142は、画像60に含まれる、推論対象として指定された行番号nである行r#nのライン画像61のライン画像データをラインメモリ150から読み出す。第1処理部142は、読み出したライン画像61のライン画像データと、当該ライン画像61の行番号nと、をCNN62に入力する。CNN62は、入力されたライン画像61のライン画像データに対して、1次元の畳込み処理を実行する。CNN62は、畳み込み処理の結果に応じて、例えば「異物あり」を示す異常ラベル92を、行番号nである行r#nの類推結果として出力する。
【0113】
このように、実施形態では、推論処理部140は、第1処理部142により、例えば画像60における水平方向の、1次元の空間特徴量に基づき異物の有無を推論する。推論処理部140は、画像60において推論対象として指定される全ての行rnのライン画像について推論処理を実行した時点で、推論結果を出力する。
【0114】
また、推論処理部140は、画像60において指定された行rnごとに推論処理を実行するため、当該推論処理に、画像60の垂直方向の画素分布情報も用いているといえる。すなわち、画像60が、垂直方向の位置に応じて異なる空間特徴量を有している場合、例えば画像60の上半分が空、下半分が地面の場合に、所定の画素値を空部分および地面部分の何れに適用するかで、当該画素値の持つ意味合いが異なってくる。これは、画像60の垂直方向の画素分布情報を利用していることを意味する。
【0115】
実施形態では、第1処理部142は、指定された行rnのラインのライン画像データを読み込んだ後、当該ラインの行番号nと、当該ラインにおける読み込み単位(後述する)の画像データとを機械学習モデル(この例ではCNN62)に入力する。第1処理部142は、入力された読み込み単位の画像データと行番号nとに基づき、当該行番号nのラインにおける水平方向の空間情報を用いると共に、当該ラインに対する垂直方向の画素分布情報を用いて、1行ごとに推論処理を行い推論結果を出力する。
【0116】
図14は、実施形態に係る、第1処理部142における処理の時系列的な推移を説明するための一例のシーケンス図である。ここでは、センサ部100により撮像された撮像画像に対して、飛び飛びの行r#10、r#11、r#12およびr#13が指定されたものとして説明を行う。
【0117】
センサ部100により、行r#10が時間t10から時間t11で読み出され、行r#10のライン画像データがラインメモリ150に記憶される。第1処理部142は、例えば時間t11においてラインメモリ150から行r#10のライン画像データを読み出し、CNN62による推論処理を実行する。CNN62による推論処理の推論結果は、行r#10の行番号rnと関連付けられて、例えば出力制御部105を介してデータ蓄積部130に記憶される。推論結果は、行ごとに、例えば異物の有無が値「0」あるいは値「1」で示す情報で表してよい。
【0118】
次に、センサ部100により、行r#11が時間t12から時間t13で読み出され、行r#11のライン画像データがラインメモリ150に記憶される。第1処理部142は、例えば時間t13においてラインメモリ150から行r#10のライン画像データを読み出し、CNN62による推論処理を実行する。
【0119】
以降、同様にして、センサ部100により、行r#12が時間t14から時間t15で読み出され、第1処理部142が時間t15からCNN62による推論処理を実行し、推論結果を出力する。さらに、センサ部100により、行r#13が時間t16から時間t17で読み出され、第1処理部142が時間t17からCNN62による推論処理を実行し、推論結果を出力する。
【0120】
センサ部100により撮像された撮像画像に対する推論処理のレイテンシは、センサ部100から、指定された最初の行r#10のライン画像データの読み出しが開始される時間t10から、指定された最後の行r#13に対する第1処理部142による推論処理が完了する時間t20までの時間となる。実施形態では、撮像画像に対して指定された行のライン画像データに対してのみ、推論処理が実行されるため、例えば撮像画像に含まれる全ての行のライン画像データを用いて推論処理を行う場合に比べて、レイテンシを小さくすることができる。
【0121】
なお、
図14では、センサ部100による1本のライン画像データの読み出しが終了してから、第1処理部142におけるCNN62による推論処理が実行されるように示しているが、これはこの例に限定されない。例えば、センサ部100は、第1処理部142による推論処理の実行中に、次のライン画像データを読み出してよい。このようにすることで、推論処理のレイテンシを更に小さくすることが可能である。
【0122】
このように、実施形態では、センサ部100から読み出された1行ごとに、第1処理部142による推論処理を実行している。そのため、推論処理に要する演算時間を行ごとに略一定とすることができると共に、演算過程を保持するメモリの容量を抑制できる。
【0123】
(機械学習モデルにおけるデータの入出力単位)
次に、実施形態に適用可能な、第1処理部142での、機械学習モデルにおけるデータの入出力単位について説明する。
【0124】
図15は、実施形態に適用な可能な、機械学習モデルに対して入力する画像データの入力単位を説明するための模式図である。
図15のセクション(a)は、画像82において指定された1行の全体の画像83を、機械学習モデルの入力単位とする例である。この場合、第1処理部142は、次の(1)~(4)に示す4通りのうち何れかを、機械学習モデルに入力する。
【0125】
(1)画像83のみ。
(2)画像83と当該画像83に対応する行番号。
(3)画像83と当該画像83に対応する列番号。
(4)画像83と当該画像83に対応する行番号および列番号。
【0126】
これらのうち、(3)および(4)において、列番号は、画像83おいて注目すべき範囲の一端および他端の列の列番号を適用してよい。
【0127】
図15のセクション(b)は、画像82において指定された1行の一部の範囲の画像84を、機械学習モデルの入力単位とする例である。この場合、第1処理部142は、次の(5)~(8)に示す4通りのうち何れかを、機械学習モデルに入力する。
【0128】
(5)画像84のみ。
(6)画像84と当該画像84に対応する行番号。
(7)画像84と当該画像84に対応する列番号。
(8)画像84と当該画像84に対応する行番号および列番号。
【0129】
これらのうち、(7)および(8)において、列番号は、画像84が含まれる行における、当該画像84に対応する範囲の一端の列の列番号c#mー1と他端の列の列番号c#m+1とを適用してよい。
【0130】
なお、
図15のセクション(a)および(b)において、上述の(3)、(4)、(7)および(8)のように、機械学習モデルに入力するデータに行番号および列番号を含めることで、当該行番号および列番号で示される範囲の画素値が正常であるか否かを判定することができる。一例として、当該範囲が「森」を撮像している範囲である場合、画素値が「緑」を示していれば正常、「緑」以外の色(人の肌の色など)を示していれば、正常ではないと判断でき、正常ではない場合には、異物ありと推論することが可能である。
【0131】
図16は、実施形態に適用な可能な、機械学習モデルから出力される画像データの出力単位を説明するための模式図である。
図16のセクション(a)は、画像82において指定された1行の全体の画像83を、推論結果の出力単位とする例である。セクション(b)は、画像82において指定された1行の一部の範囲(この例では、行r#nにおける列c#m-1~c#m+1の範囲)の画像84を、推論結果の出力単位とする例である。また、セクション(c)は、画像82において指定された1行における特定の1つの画素85(この例では、行r#nにおける列c#m)を、推論結果の出力単位とする例である。
【0132】
なお、
図16のセクション(a)~(c)の何れの例においても、機械学習モデルとして教師あり学習による機械学習モデル90を用いた場合には、推論結果として「異物あり」または「異物無し」が出力単位ごとに出力される。一方、機械学習モデルとして教師あり学習による機械学習モデル90を用いた場合には、推論結果として「異常度」が出力単位ごとに出力される。
【0133】
(1-3-2.実施形態に係る推論処理の詳細)
次に、実施形態に係る推論処理について、より詳細に説明する。
【0134】
図17は、実施形態に係る推論処理部140による推論処理を示す一例のフローチャートである。なお、
図17のフローチャートによる処理に先立って、推論対象となる1以上の行r#nが、フレーム画像における各行に対して飛び飛びに指定され、指定された各行r#nを示す情報がレジスタ107に書き込まれているものとする。
【0135】
図17において、ステップS100で、推論処理部140は、パラメータメモリ151から機械学習モデルを読み込む。次のステップS101で、センサ制御部101は、センサ部100によるフレームの読み出しを開始する。次のステップS102で、センサ制御部101は、フレームから、類推処理の対象として指定された、行r#nで示される行のライン画像データを読み出して、ラインメモリ150に記憶させる。また、センサ制御部101は、読み出した当該ライン画像データの行を示す行番号を、ライン画像データと共にラインメモリ150に記憶させる。
【0136】
なお、推論処理の対象として、行番号と共に列番号が指定されている場合、センサ制御部101は、指定された列番号を、ライン画像データおよび行番号と共に、ラインメモリ150に記憶させる。
【0137】
次のステップS103で、推論処理部140は、第1処理部142により、ラインメモリ150からライン画像データを取得する。また、ステップS103と並列的に実行可能なステップS104で、推論処理部140は、第1処理部142により、ラインメモリ150から行番号を取得する。推論処理部140は、列番号がさらに指定されている場合、ステップS104で、行番号と共に列番号を取得する。
【0138】
ステップS103およびステップS104の処理の後、処理がステップS105に移行される。
【0139】
ステップS105で、第1処理部142は、指定された行のライン画像データに対する、機械学習モデルによる推論処理を実行する。より具体的には、第1処理部142は、ステップS104で取得した行番号と、ステップS103で取得したライン画像データとを機械学習モデルに入力し、推論処理を実行する。第1処理部142は、当該行番号で示される行のライン画像データに対する推論結果を、当該行番号と共に、データ蓄積部130に記憶させる。
【0140】
次のステップS106で、推論処理部140は、ステップS101で読み出しが開始された1フレーム分の推論処理が完了したか否かを判定する。推論処理部140は、1フレーム分の推論処理が完了していないと判定した場合(ステップS106、「No」)、処理をステップS107に移行させ、次の推論対象の行r#n+1を指定する。ステップS107の処理の後、処理がステップS102に移行される。
【0141】
一方、推論処理部140は、ステップS106で1フレーム分の推論処理が完了したと判定した場合(ステップS106、「Yes」)、処理をステップS108に移行させる。ステップS108で、推論処理部140は、第2処理部143により、ステップS105でデータ蓄積部130に記憶された各行の推論結果を読み出し、読み出した各推論結果を集約する。ステップS108の処理が完了すると、
図17のフローチャートによる一連の処理が終了される。
【0142】
図17のフローチャートにおけるステップS108の、第2処理部143による推論結果の集約処理について、より具体的に説明する。
【0143】
図18は、実施形態に係る、第2処理部143による集約処理を実行する前の推論結果の例を示す模式図である。
図18の例では、撮像画像40に対して、推論処理の対象として、行r#1~r#7が指定されている。第1処理部142は、これら行r#1~r#7のそれぞれに対して、機械学習モデルにより推論処理を実行し、推論結果を取得する。
図18の例では、行r#1、r#2、r#4およびr#7に対して、推論結果として「異物無し」が取得されている。一方、行#3、r#5およびr#6に対して、推論結果として「異物あり」が取得されている。
【0144】
これらの推論結果のうち、行r#5およびr#6については、一定の範囲FMで「異物あり」の推論結果が取得されているので、撮像画像40における範囲FM内に異物が存在している可能性が高い、と判定できる。一方、行r#3については、「異物あり」の推論結果が孤立した行r#3で取得されているため、この推論結果がノイズであり誤検出の可能性がある(ERROR)、と判定できる。
【0145】
実施形態では、連続して指定される複数の行の組における各行r#nの推論結果に基づき異物の位置を判定することで、この誤検出を抑制する。例えば、当該組に含まれる各行r#nの判定結果について移動平均を適用してよい。移動平均は、整列された複数のサンプルに対して任意のサンプル数の窓を設定し、窓を複数サンプルの整列方向に移動させながら、窓に含まれるサンプルの値の平均値を求める手法である。移動平均を用いることで、複数サンプルにおけるノイズの影響を抑制することが可能である。
【0146】
一例として、「異物無し」の推論結果を値「0」、「異物あり」の推論結果を「1」でそれぞれ表し、画像において推論処理の対象として指定された複数の行r#nのうち、連続して指定されている任意数の行r#n-k、…、r#n、…、r#n+kを窓として、移動平均の値を算出する。算出した移動平均の値を閾値と比較し、移動平均の値が閾値を超えている場合、当該窓に含まれる行r#n-k、…、r#n、…、r#n+kのうち代表する行(例えば行r#n)を、「異物あり」として判定する。算出した移動平均の値が閾値以下であれば、当該窓に含まれる行r#n-k、…、r#n、…、r#n+kのうち代表する行を、「異物無し」として判定する。窓をずらしながら、窓ごとに移動平均を算出し、画像における異物の位置を判定する。
【0147】
なお、移動平均を算出するための窓に含む行数は、奇数とすると、代表する行として当該複数行r#n-k、…、r#n、…、r#n+kのうち中央の行r#nを選択することができ、好ましい。
【0148】
また、指定された行r#nのライン画像データにおける、風、振動、背景の揺れなどによる数画素程度のずれは、「背景」として学習され、「異物無し」として推論させることができる。
【0149】
図19は、実施形態に係る、推論結果の移動平均算出処理をより具体的に説明するための模式図である。
図19において、窓のサンプル数(行数)を「3」とし、異物あり/異物無しを判定する閾値を、「0.50」としている。
【0150】
なお、
図19のセクション(a)~(d)において、各行r#1~r#7は、
図18の各行r#1~r#7とそれぞれ対応している。ここでは、各行r#1~r#7に対して、連続して指定される3つの行r#n-1、r#nおよびr#n+1を含む窓を設定し、窓に含まれる各行r#n-1、r#nおよびr#n+1に基づき、移動平均を算出している。
【0151】
図19のセクション(a)では、行r#1、r#2およびr#3を含む窓について、移動平均を算出している。行r#1およびr#2は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#1、r#2およびr#3の推論結果の移動平均は、値「0.33」であり、閾値以下である。したがって、第2処理部143は、行r#1、r#2およびr#3の範囲には、異物が存在する可能性が小さいと判定する。
【0152】
図19のセクション(b)では、セクション(a)から1行分、窓をずらし、行r#2、r#3およびr#4を含む窓について、移動平均を算出している。行r#2およびr#4は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#2、r#3およびr#4の推論結果の移動平均は、値「0.33」であり、閾値以下である。したがって、第2処理部143は、行r#2、r#3およびr#4の範囲には、異物が存在する可能性が小さいと判定する。
【0153】
図19のセクション(c)では、セクション(b)から1行分、窓をずらし、行r#3、r#4およびr#5を含む窓について、移動平均を算出している。行r#2およびr#4は、推論結果が「異物無し」であり、それぞれ値「0」とされる。行r#3は、推論結果が「異物あり」であり、値「1」とされる。行r#2、r#3およびr#4の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#2、r#3およびr#4の範囲には、異物が存在する可能性が大きいと判定する。
【0154】
図19のセクション(d)では、セクション(c)から1行分、窓をずらし、行r#4、r#5およびr#6を含む窓について、移動平均を算出している。行r#4は、推論結果が「異物無し」であり、値「0」とされる。行r#5およびr#6は、推論結果が「異物あり」であり、それぞれ値「1」とされる。行r#4、r#5およびr#6の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#4、r#5およびr#6の範囲には、異物が存在する可能性が大きいと判定する。
【0155】
また、図示は省略するが、セクション(d)から1行分、窓をずらした行r#5、r#6およびr#7を含む窓では、行r#5およびr#6の推論結果が「異物あり」であり、それぞれ値「1」とされ、行r#7の推論結果が「異物無し」であり、値「0」とされる。行r#5、r#6およびr#7の推論結果の移動平均は、値「0.67」であり、閾値を超えている。したがって、第2処理部143は、行r#5、r#6およびr#7の範囲には、異物が存在する可能性が大きいと判定する。
【0156】
第2処理部143は、これらの判定結果を集約し、撮像画像40における異物の位置を判定してよい。第2処理部143は、例えば、異物が存在する可能性が小さいと判定された行r#1~r#4の範囲において、行r#3の「異物あり」の推論結果がノイズであり、異物が存在しないと判定してよい。また、第2処理部143は、例えば、異物が存在する可能性が大きいと判定された行r#3~r#7において、重複して「異物あり」の推論結果が得られている行r#5およびr#6の範囲に、異物が存在していると判定してよい。
【0157】
第2処理部143は、データ蓄積部130から、第1処理部142による各行r#1~r#7の推論結果を取得する。第2処理部143は、データ蓄積部130から取得した各行r#1~r#7の推論結果に基づき、
図19を用いて説明した移動平均を算出し、各行r#1~r#7の推論結果を集約する。第2処理部143は、集約された推論結果を、データ蓄積部130に記憶させてよい。
【0158】
実施形態に係る推論結果の集約方法について説明する。
図20Aおよび
図20Bは、実施形態に係る推論結果の集約方法について説明するための模式図である。
図20Aおよび
図20Bにおいて、撮像画像80に対して指定した各行r#1~r#7の推論結果は、行r#1~r#4および行r#7が「異物無し」、行r#5およびr#6が「異物あり」であるものとする。なお、「異物無し」と推論された行のライン画像は、背景の画像であるものとする。
【0159】
図20Aは、撮像画像80に対して指定した各行r#1~r#7の推論結果を集約せず、各行r#1~r#7ごとに出力する例である。
図20Aの例では、推論処理部140の出力95aは、各行r#1~r#7ごとの「異物無し」および「異物あり」の情報を含む。この出力95aは、例えば第1処理部142から出力される。この
図20Aに示す出力95aを適用する場合には、例えば
図17のフローチャートにおけるステップS108の処理を省略することができる。
【0160】
図20Bは、撮像画像80に対して指定した各行r#1~r#7の推論結果を集約して出力する例である。
図20Bの例では、推論処理部140の出力95bは、行r#5およびr#6に係る範囲に異物が存在することを示すものとなる。推論処理部140において、第2処理部143は、例えば
図17のフローチャートにおけるステップS108において、データ蓄積部130に記憶される各行r#1~r#7の推論結果に基づき
図19を用いて説明した移動平均を計算し、各行r#1~r#7の推論結果を集約する。
【0161】
(1-3-3.注目領域の設定について)
次に、実施形態に係る、撮像画像に対して注目領域を設定し、設定した注目領域を、「異物あり」および「異物無し」の推論を行う推論範囲とする例について説明する。
図21は、実施形態に係る注目領域の設定の例を示す模式図である。
【0162】
図21のセクション(a)~(d)において、撮像画像80に対して、垂直方向に、異物96(この例では人)が出現する可能性が高い領域bと、異物96が出現する可能性が低い領域a(この例では空)とを設定する。同様に、撮像画像80に対して、水平方向に、異物96が出現する可能性が高い領域cと、異物96が出現する可能性が低い領域dとを設定する。
【0163】
図21のセクション(a)は、撮像画像80の全体、すなわち撮像画像80の全行および全列による範囲を注目領域に設定する例である。セクション(a)の例では、垂直方向に設定された領域aおよびbと、水平方向に設定された領域cおよびdの全てが、注目領域として設定されている。
【0164】
図21のセクション(b)は、撮像画像80の一部の行と、全列とによる範囲を注目領域に設定する例である。セクション(b)の例では、垂直方向に設定された領域bと、水平方向に設定された領域cおよびdとが重複する範囲が、注目領域として設定されている。なお、水平方向の領域cは、撮像画像80に対して領域cの両端の列番号を指定することで、設定できる。
【0165】
図21のセクション(c)は、撮像画像80の全行と、一部の列とによる範囲を注目領域に設定する例である。セクション(c)の例では、垂直方向に設定された領域aおよびbと、水平方向に設定された領域cとが重複する範囲が、注目領域として設定されている。
【0166】
図21のセクション(d)は、撮像画像80の一部の行と、一部の列とによる範囲を注目領域に設定する例である。セクション(d)の例では、垂直方向に設定された領域bと、水平方向に設定された領域cとが重複する範囲が、注目領域として設定されている。
【0167】
例えば、撮像範囲を固定された固定カメラとしての撮像装置10の撮像範囲において、異物96の出現が予測される注目領域の座標が既知の場合、当該注目領域に対して推論処理の対象となる行r#nを、飛び飛びに指定する。推論処理部140において、第1処理部142は、推論処理を、設定された注目領域内に限定して実行する。第1処理部142は、撮像画像80における当該注目領域外は、推論の対象としない。
図21のセクション(b)~(d)のように、撮像画像80に対して推論範囲を示す注目領域を設定することで、推論処理に係る負荷を軽減することが可能である。
【0168】
(1-4.既存技術との対比)
次に、本開示の実施形態を、既存技術と対比させて説明する。
【0169】
図22は、既存技術としての特許文献1に開示される技術を概略的に説明するための模式図である。特許文献1では、出力画像73の走査ラインr#nの画像72を出力するために、畳み込みマスクのサイズに応じた読み込み単位の、入力画像70における走査ラインr#n-pから走査ラインr#n+pまでの注目画像71に対して、畳み込み処理を実行している。同様に、出力画像73の次の走査ラインr#n+1の画像75を出力するために、読み込み単位の、入力画像70の走査ラインr#nからr#n+p+1までの注目画像74に対して、畳み込み処理を実行している。
【0170】
すなわち、特許文献1においては、注目画像の上端または下端から順番に走査ラインを読み込んだ後、読み込み単位について畳み込み処理を行い、画像のレンダリングを行っている。したがって、特許文献1では、1本の走査ラインの画像を出力するために、入力画像70における読み込み単位に含まれる複数本の走査ラインの画像をメモリに記憶している。
【0171】
図23は、本開示の実施形態に係る技術を既存技術と対比させて説明するための模式図である。実施形態に係る撮像装置10は、上述したように、入力画像70において指定された行r#nのライン画像76のライン画像データを読み込み単位として読み込む。実施形態に係る撮像装置10は、読み込み単位のライン画像76のライン画像データと、当該ライン画像76の行番号、あるいは行番号および列番号について学習した機械学習モデルを用いて、異物の有無の推論結果76’を出力している。
【0172】
したがって、本開示の実施形態では、推論処理の実行に用いるメモリは、1ライン分の画像データを記憶可能な容量があればよく、特許文献1に対して必要なメモリ容量が少なくて済む。また、1ラインの推論結果76’を、1ラインのライン画像76のライン画像データに基づき出力するため、特許文献1に対して高速な処理が可能である。
【0173】
さらに、特許文献1によれば、入力画像70における複数行のライン画像データに基づき畳み込み処理を行っている。ここで、撮像装置が、撮像方式として、撮像素子からライン順次で露光を行うローリングシャッタ方式を適用している場合、各ラインの読み出しタイミングが異なることにより出力画像にローリング歪が発生する。この場合、このローリング歪が畳込み処理に対して影響を与えるおそれがある。
【0174】
これに対して、本開示の実施形態では、機械学習モデルを用いた推論処理が、単一行で完結する。そのため、本開示の実施形態に係る推論処理は、ローリング歪による影響を排除することが可能である。
【0175】
(2.実施形態の変形例)
次に、実施形態の変形例について説明する。上述した実施形態では、撮像装置10の撮像範囲が固定とされていた。これに対して、実施形態の変形例では、撮像装置10の撮像範囲を可変とした例である。
【0176】
図24は、実施形態の変形例に係る撮像装置の一例の構成を示すブロック図である。
図24において、実施形態の変形例に係る撮像装置10aは、
図3および
図7を用いて説明した実施形態に係る撮像装置10と同様に、取付具12aにより固定物11に取り付けられる。ここで、実施形態の変形例に適用される取付具12aは、撮像装置10aの撮像方向およびチルト角が可変とされた可動部1200を備える。取付具12aにより、撮像装置10aの撮像方向およびチルト角を変更することで、撮像装置10aの撮像範囲を変更することができる。
【0177】
可動部1200は、例えばモータなどを利用した駆動部を含み、駆動部を制御することで、撮像方向およびチルト角を変更可能とされている。可動部1200は、撮像方向およびチルト角を、取付具12aの外部からの制御に従い変更してもよいし、取付具12aの内部の駆動制御回路に設定されるプリセット情報に従い変更してもよい。例えば、可動部1200は、プリセット情報に従い、所定時間間隔で撮像方向およびチルト角のうち少なくとも一方を変更し、撮像装置10aの撮像範囲を切り替えてよい。
【0178】
可動部1200は、駆動制御信号に基づき、撮像方向およびチルト角の変更に係る駆動情報を、I/F106に渡す。
【0179】
また、実施形態の変形例に係る撮像装置10aは、センサ制御部101の制御により、撮像の際の撮像条件を、所定の制御信号に応じて変更可能とされている。変更可能な撮像条件は、例えば光学部120(
図3参照)によるズームを含む。撮像装置10aにおいて、センサ制御部101は、撮像条件を、外部からの制御に従い変更してもよいし、撮像装置10aに対して設定されたプリセット情報に従い変更してもよい。センサ制御部101は、ズームの状態を示すズーム情報を、I/F106に渡す。
【0180】
I/F106は、可動部1200から渡された駆動情報と、センサ制御部101から渡されたズーム情報と、を学習装置20に送信する。学習装置20は、撮像装置10aから送信された駆動情報およびズーム情報をI/F210により受信し、学習部200に渡す。学習部200は、撮像装置10aから送信されたライン画像データおよび行番号/列番号と、駆動情報およびズーム情報とを用いて機械学習モデルを学習させ、学習させた機械学習モデルを、I/F210から撮像装置10aに送信する。
【0181】
撮像装置10aは、学習装置20から送信された、ライン画像データおよび行番号/列番号と、駆動情報およびズーム情報とを用いて学習した機械学習モデルをI/F106により受信し、パラメータメモリ151に記憶させる。第1処理部142は、パラメータメモリ151に記憶された当該機械学習モデルを用いて、ラインメモリ150に記憶されるライン画像データに対する推論処理を実行する。これにより、撮像装置10aは、ライン画像データおよび当該ライン画像データの行番号/列番号に加えて、撮像方向、チルト角およびズーム情報を用いて、異物の有無の推論処理を実行することができる。
【0182】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0183】
なお、本技術は以下のような構成も取ることができる。
(1)
複数の画素が行列状の配列で配置された画素領域を有し、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像部と、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理部と、
を備える、
撮像装置。
(2)
前記第1処理部は、
前記指定された行を示す情報と、前記指定された行に含まれる画素の前記画素信号と、を用いて学習されたモデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(1)に記載の撮像装置。
(3)
前記モデルは、教師あり学習により学習されたモデルである、
前記(2)に記載の撮像装置。
(4)
前期モデルは、教師なし学習により学習されたモデルであって、
前記第1処理部は、
前記モデルを用いて前記行ごとの異常度を求め、求めた該異常度に基づき前記行ごとの前記異物の有無を推論する、
前記(2)に記載の撮像装置。
(5)
当該撮像装置は、前記撮像部による撮像範囲を固定可能な取付具により固定物に取り付けて使用され、
前記第1処理部は、
当該撮像装置を使用する場合に、前記使用する状態で前記取付具により前記固定物に取り付けられた当該撮像装置の前記撮像部により出力された前記画素信号に基づき学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(2)乃至(4)の何れかに記載の撮像装置。
(6)
当該撮像装置は、前記撮像部による撮像範囲を制御に従い変更可能な取付具により固定物に取り付けられて使用され、
をさらに備え、
前記第1処理部は、
当該撮像装置を使用する場合に、前記使用する状態で前記取付具により取り付けられた当該撮像装置の前記撮像部により、前記撮像範囲の変更ごとに出力された前記画素信号に基づき学習された前記撮像範囲の変更ごとの前記モデルを用いて、前記撮像範囲の変更に応じて前記行ごとの前記異物の有無を推論する、
前記(2)乃至(4)の何れかに記載の撮像装置。
(7)
前記第1処理部は、
当該撮像装置を所定の撮像条件で使用する場合に、前記所定の撮像条件に基づき前記撮像部により出力された前記画素信号に基づき予め学習された前記モデルを用いて、前記行ごとの前記異物の有無を推論する、
前記(2)乃至(6)の何れかに記載の撮像装置。
(8)
前記第1処理部は、
前記画素領域に対して飛び飛びに指定された前記行ごとに、前記異物の有無を推論する、
前記(1)乃至(7)の何れかに記載の撮像装置。
(9)
前記画素領域に対して飛び飛びに指定された行に対して、連続して並ぶ3以上の前記行を含む窓を設定し、前記窓に含まれる前記行ごとに前記第1処理部により前記異物の有無が推論された各推論結果に基づき、前記異物の位置を判定する第2処理部、
をさらに備える、
前記(8)に記載の撮像装置。
(10)
前記第2処理部は、
前記窓に含まれる前記行ごとの前記推論結果の移動平均に基づき前記異物の位置を判定する、
前記(9)に記載の撮像装置。
(11)
前記第1処理部は、
前記画素領域に対して設定された注目領域において飛び飛びに指定された前記行ごとに前記異物の有無を推論する、
前記(1)乃至(10)の何れかに記載の撮像装置。
(12)
前記第1処理部は、
前記画素領域に含まれる画素のうち、前記指定された行においてさらに指定された列に含まれる画素の前記画素信号に基づき、前記行ごとの前記異物の有無を推論する、
前記(1)乃至(11)の何れかに記載の撮像装置。
(13)
前記第1処理部は、
前記指定された行および前記指定された列により指定される領域の前記異物の有無を推論する、
前記(12)に記載の撮像装置。
(14)
プロセッサにより実行される、
複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を有する、
撮像方法。
(15)
プロセッサに、
複数の画素が行列状の配列で配置された画素領域を有する撮像部により、前記画素領域に含まれる画素から画素信号を読み出して出力する撮像ステップと、
前記画素領域に含まれる画素のうち指定された行に含まれる画素の前記画素信号に基づき、前記行ごとに異物の有無を推論する第1処理ステップと、
を実行させるための撮像プログラム。
【符号の説明】
【0184】
1 監視システム
10,10a 撮像装置
11 固定物
12,12a 取付具
20 学習装置
62 CNN
90,91 機械学習モデル
92,92a,92b 異常ラベル
93a,93b 異常度
94a,94b 分布
95a,95b 出力
96 異物
100 センサ部
101 センサ制御部
102 視認処理部
104 認識処理部
105 出力制御部
106,210 I/F
107 レジスタ
130 データ蓄積部
140 推論処理部
141 処理制御部
142 第1処理部
143 第2処理部
150 ラインメモリ
151 パラメータメモリ
200 学習部
201 画像蓄積部
202 UI部
203 表示部
1000 画素回路
1001 画素アレイ部
1002 垂直走査部
1100 制御部
1200 可動部