(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134193
(43)【公開日】2024-10-03
(54)【発明の名称】カメラ装置、画像処理方法、及びプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240926BHJP
H04N 23/56 20230101ALI20240926BHJP
G01C 3/06 20060101ALI20240926BHJP
G01B 11/02 20060101ALI20240926BHJP
【FI】
H04N23/60
H04N23/56
H04N23/60 500
G01C3/06 110B
G01B11/02 H
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023044379
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】320008672
【氏名又は名称】i-PRO株式会社
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】篠原 利章
【テーマコード(参考)】
2F065
2F112
5C122
【Fターム(参考)】
2F065AA02
2F065AA06
2F065AA23
2F065FF04
2F065FF08
2F065HH07
2F065JJ03
2F065JJ26
2F065PP25
2F065QQ31
2F112AC03
2F112AC06
2F112BA01
2F112CA04
2F112CA12
2F112FA35
5C122DA13
5C122DA27
5C122EA01
5C122FA17
5C122FA18
5C122FH11
5C122FH18
5C122FK37
5C122FK38
5C122FK39
5C122FK40
5C122GG05
5C122GG12
5C122GG26
5C122HA13
5C122HA35
5C122HA85
5C122HA86
5C122HB01
5C122HB02
5C122HB05
(57)【要約】
【課題】対象物までの距離を高精度に演算することが可能なカメラ装置を提供する。
【解決手段】カメラ装置は、対象物に構造化光を照射する構造化照明と、対象物を含む撮像領域を撮像する第1撮像部と、第1撮像部と異なる位置から撮像領域を撮像する第2撮像部と、構造化照明、第1撮像部、及び第2撮像部を制御する制御部とを備える。制御部は、第1構造化光を構造化照明に照射させた状態で、第1撮像部及び第2撮像部それぞれに、撮像領域の第1画像を撮像させる第1撮像処理と、第1構造化光とは空間的分布が異なる第2構造化光を構造化照明に照射させた状態で、第1撮像部及び第2撮像部それぞれに、撮像領域の第2画像を撮像させる第2撮像処理と、第1画像及び第2画像を用いて対象物までの距離情報を演算する演算処理とを実行する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
対象物に構造化光を照射する構造化照明と、
前記対象物を含む撮像領域を撮像する第1撮像部と、
前記第1撮像部と異なる位置から前記撮像領域を撮像する第2撮像部と、
前記構造化照明、前記第1撮像部、及び前記第2撮像部を制御する制御部とを備え、
前記制御部は、
第1構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第1画像を撮像させる第1撮像処理と、
前記第1構造化光とは空間的分布が異なる第2構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第2画像を撮像させる第2撮像処理と、
前記第1画像及び前記第2画像を用いて前記対象物までの距離情報を演算する演算処理とを実行する、カメラ装置。
【請求項2】
前記制御部は、
前記第1撮像処理において、第1波長の前記第1構造化光を前記構造化照明に照射させ、
前記第2撮像処理において、前記第1波長と異なる第2波長の前記第2構造化光を前記構造化照明に照射させる、請求項1に記載のカメラ装置。
【請求項3】
前記構造化照明は、
前記第1構造化光を照射する第1照明部と、
前記第2構造化光を照射する第2照明部とを備える、請求項2に記載のカメラ装置。
【請求項4】
前記構造化照明は、
白色の構造化光を照射する照明部と、
前記照明部から照射された構造化光の波長を変更する波長変更部とを備える、請求項2に記載のカメラ装置。
【請求項5】
前記波長変更部は、プリズムまたは液体レンズを含む、請求項4に記載のカメラ装置。
【請求項6】
前記構造化照明は、前記制御部から印加される電圧に応じて、構造化光の波長を切り替える発光素子を備える、請求項2に記載のカメラ装置。
【請求項7】
前記制御部は、
前記第1撮像処理において、第1偏光角の前記第1構造化光を前記構造化照明に照射させ、
前記第2撮像処理において、前記第1偏光角と異なる第2偏光角の前記第2構造化光を前記構造化照明に照射させる、請求項1に記載のカメラ装置。
【請求項8】
前記構造化照明から照射される構造化光の光路上に配置されて、前記第1偏光角の光又は前記第2偏光角の光の一方を選択的に透過し、前記第1偏光角の光又は前記第2偏光角の光の他方を遮断する第1状態と、前記第1偏光角の光又は前記第2偏光角の光の他方を選択的に透過し、前記第1偏光角の光又は前記第2偏光角の光の一方を遮断する第2状態とに切り替え可能な第1偏光部と、
前記第1撮像部及び前記第2撮像部に入射する光の光路上に配置されて、前記第1状態と前記第2状態とに切り替え可能な第2偏光部とを備える、請求項7に記載のカメラ装置。
【請求項9】
前記制御部は、
所定の空間的分布に設定した構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部に前記撮像領域を撮像させる撮像処理と、
前記撮像処理で撮像した一対の画像内において、前記対象物の同一位置と判定できる画素数を算出する算出処理と、
前記撮像処理で照射した構造化光の空間的分布と、前記算出処理で算出した画素数とを対応付けて表示装置に表示する表示処理とを、構造化光の空間的分布を変更しながら繰り返し実行し、
前記表示装置に表示させた複数の空間的分布のうちから選択された空間的分布を、前記第1構造化光及び前記第2構造化光の空間的分布として設定する設定処理を実行する、請求項1に記載のカメラ装置。
【請求項10】
前記制御部は、画像内の前記対象物の領域を特定するAI処理部を備える、請求項9に記載のカメラ装置。
【請求項11】
前記制御部は、
前記第1撮像処理を実行する度に、前記第1構造化光の空間的分布を変化させ、
前記第1撮像処理で撮像した一対の画像内において、前記対象物の同一位置と判定できる画素数を算出する算出処理と、
前記第1撮像処理で照射した構造化光の空間的分布と、前記算出処理で算出した画素数とを対応付けて表示装置に表示する表示処理とを、前記第1撮像処理を実行する度に実行し、
前記表示装置に表示させた複数の空間的分布のうちから選択された空間的分布を、次回の前記第1撮像処理で照射する前記第1構造化光の空間的分布として更新する更新処理を実行する、請求項1に記載のカメラ装置。
【請求項12】
前記制御部は、
今回の前記演算処理で演算した前記距離情報、及び今回の前記第1撮像処理または前回の前記第2撮像処理で撮像した画像に基づいて、前記対象物の大きさを特定する特定処理と、
前記特定処理で特定した前記対象物の大きさに応じて、構造化光に含まれる照射図形の密度を変更する変更処理とを実行し、
次回の前記第1撮像処理及び前記第2撮像処理において、前記変更処理で変更した密度の前記照射図形を含む構造化光を前記構造化照明に照射させる、請求項1に記載のカメラ装置。
【請求項13】
第1構造化光を対象物に照射した状態で、互いに異なる2つの視点から前記対象物を含む撮像領域を撮像する第1撮像ステップと、
前記第1構造化光とは空間的分布が異なる第2構造化光を前記対象物に照射した状態で、前記2つの視点から前記撮像領域を撮像する第2撮像ステップと、
前記第1撮像ステップ及び前記第2撮像ステップで撮像した画像を用いて、前記対象物までの距離情報を演算する演算ステップとを含む、画像処理方法。
【請求項14】
対象物に構造化光を照射する構造化照明と、
前記対象物を含む撮像領域を撮像する第1撮像部と、
前記第1撮像部と異なる位置から前記撮像領域を撮像する第2撮像部とを備えるカメラ装置のプログラムであって、
第1構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第1画像を撮像させる第1撮像処理と、
前記第1構造化光とは空間的分布が異なる第2構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第2画像を撮像させる第2撮像処理と、
前記第1画像及び前記第2画像を用いて前記対象物までの距離情報を演算する演算処理と、前記カメラ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ装置、画像処理方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1は、第1の波長を含む第1の光を照射する第1の照明装置と、第1の波長とは異なる第2の波長を含む第2の光を照射する第2の照明装置と、対象物を撮像する撮像装置とを有する画像処理装置を開示している。撮像装置は、第1の照明装置から第1の光を対象物に照射しかつ第2の照明装置から第2の光を対象物に照射した状態で対象物を撮像する。画像処理装置は、第1の波長を透過させる第1の光学フィルタを介して撮像された画素から成る濃淡画像を生成し、第2の波長を透過させる第2の光学フィルタを介して撮像された画素を含む距離画像を生成する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の撮像装置は、複雑な背景が写り込む環境でも、部品の良否判定等の画像検査を安定的かつ高速に実行できる。その一方で、特許文献1に記載の撮像装置では、背景のテクスチャが乏しい場合に、対象物までの距離を正確に認識するのが難しいという課題がある。
【0005】
本発明は、上記した実情に鑑みてなされたものであり、その目的は、対象物までの距離を高精度に演算することが可能なカメラ装置を提供することにある。
【課題を解決するための手段】
【0006】
上記の課題を解決するため、本発明に係るカメラ装置は、対象物に構造化光を照射する構造化照明と、前記対象物を含む撮像領域を撮像する第1撮像部と、前記第1撮像部と異なる位置から前記撮像領域を撮像する第2撮像部と、前記構造化照明、前記第1撮像部、及び前記第2撮像部を制御する制御部とを備え、前記制御部は、第1構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第1画像を撮像させる第1撮像処理と、前記第1構造化光とは空間的分布が異なる第2構造化光を前記構造化照明に照射させた状態で、前記第1撮像部及び前記第2撮像部それぞれに、前記撮像領域の第2画像を撮像させる第2撮像処理と、前記第1画像及び前記第2画像を用いて前記対象物までの距離情報を演算する演算処理とを実行する。
【発明の効果】
【0007】
本発明によれば、対象物までの距離を高精度に演算することが可能なカメラ装置を得ることができる。なお、上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0008】
【
図2】第1実施形態に係るカメラ装置のハードウェア構成図である。
【
図3】深度マップ生成処理1のフローチャートである。
【
図6】波長設定処理における波長選択画面の画面例である。
【
図7】第1実施形態の変形例1に係るカメラ装置のハードウェア構成図である。
【
図8】第1実施形態の変形例2に係るカメラ装置のハードウェア構成図である。
【
図9】深度マップ生成処理2のフローチャートである。
【
図10】深度マップ生成処理2における波長選択画面の画面例である。
【
図11】深度マップ生成処理3のフローチャートである。
【
図12】深度マップ生成処理3のイメージ図である。
【
図13】第4実施形態に係るカメラ装置のハードウェア構成図である。
【
図14】深度マップ生成処理4のフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら発明の実施形態を説明するが、本実施形態は、汎用性の高いカメラ装置を実現することで、国連の提唱する持続可能な開発目標(SDGs:Sustainable Development Goals)の「9.産業と技術革新の基盤をつくろう」に貢献する。
【0010】
[ロボット制御システム1の概略]
図1は、ロボット制御システム1のブロック図である。
図1に示すように、ロボット制御システム1(システム)は、カメラ装置10と、ロボットビジョンコントローラ2とを少なくとも含む。また、ロボット制御システム1は、ユーザとの間の入出力インタフェースとして機能するユーザ端末3をさらに含んでもよい。さらに、ロボット制御システム1は、制御対象のロボット4(作業機械)をさらに含んでもよい。カメラ装置10とロボットビジョンコントローラ2との間、カメラ装置10とユーザ端末3との間、ロボットビジョンコントローラ2とロボット4との間は、それぞれデータ或いは信号の入出力が互いに可能となるように接続されている。
【0011】
ロボット制御システム1は、例えば工場等の生産施設内に配置されている。ロボット制御システム1は、例えば、生産施設内に配備されているベルトコンベア上を移送されるワークの規定位置に部品を実装するロボット4を制御する。ロボット4は、例えば、ロボットビジョンコントローラ2の制御に従ってロボット4の動作を制御するロボットコントローラ5と、部品が載置されたトレイとワークとの間を移動するロボットアーム6と、ロボットアーム6の先端に取り付けられて部品を把持するエンドエフェクタ7とを備える。
【0012】
なお、本実施の形態に係るロボット制御システム1のユースケースは上述した部品搭載に限定されず、ワークへのラベル貼付、ワークへのビス打ち、部品組立、部品加工、溶接、塗装、ボンディング等に使用されてもよい。また、ロボット制御システム1は、物流ラインの作業工程(段ボール搬送、物の仕分けなど)、食品工場の作業工程(惣菜盛り付けなど)、収穫ロボットの作業工程(摘果など)、医療用や実験用ロボットの作業工程(培養、合成など)に適用することもできる。なお、本実施の形態に係るロボット4は、人と協働して作業を実行する人協働ロボットとして用いられてもよい。
【0013】
カメラ装置10は、互いに異なる2つ視点から撮像した視差画像を生成する装置である。カメラ装置10は、例えば、ロボットアーム6の先端、または、天井から吊り下げられる等してロボットアーム6を撮像可能な位置に取り付けられる。また、カメラ装置10は、ロボットアーム6の進行方向に位置する対象物を撮像して、視差画像を生成する。さらにカメラ装置10は、生成した視差画像に基づいて、ロボットアーム6の進行方向に位置する対象物までの距離を示す距離情報を演算して、深度マップを生成する。そして、カメラ装置10は、生成した深度マップをロボットビジョンコントローラ2に出力する。なお、「対象物」とは、カメラ装置10の撮像範囲に存在するあらゆる物体(例えば、壁、床、天井、目標物、障害物、周辺物、人など)を指す。また、対象物とは、単一の物体を指すのではなく、カメラ装置10の撮像範囲に存在する複数の物体の総称である。
【0014】
深度マップとは、例えば、カメラ装置10が撮像した画像内の各対象物までの距離を示す二次元配列である。より詳細には、深度マップは、カメラ装置10が撮像した画像の各画素について、カメラ装置10からの距離を示す距離情報の集合体である。すなわち、距離情報とは、カメラ装置10が撮像した画像に含まれる画素毎に、カメラ装置10からカメラ装置10が撮像した画像内の対象物までの距離を示した情報に相当する。より詳細には、距離情報は、イメージセンサ112、122を結ぶ線分上の点(典型的には、中点)から対象物までの距離を示す。カメラ装置10が撮像した視差画像に基づいて各画素の距離情報を演算し、演算した距離情報を二次元配列にマッピングすることによって、深度マップが生成される。深度マップを生成する方法は既に周知なので、詳細な説明は省略する。但し、演算した距離情報を深度マップの形式に編集して出力する必要はない。
【0015】
ロボットビジョンコントローラ2は、カメラ装置10から取得した深度マップに基づいて、位置推定及び障害物特定を実行する。位置推定とは、深度マップに基づいて、周囲の環境内におけるロボットアーム6の位置を推定する処理である。障害物特定とは、ロボットアーム6の移動の障害となる可能性のある障害物を特定する処理である。そして、ロボットビジョンコントローラ2は、位置推定及び障害物特定の結果を、ロボットコントローラ5に送信する。ロボットコントローラ5は、ロボットビジョンコントローラ2から取得して位置推定及び障害物特定の結果に基づいて、障害物を避けてロボットアーム6を目標位置に到達させる。
【0016】
ユーザ端末3は、ユーザに情報を出力(表示)する表示装置(例えば、ディスプレイ)と、ユーザの操作(指示)を受け付ける操作装置(例えば、キーボード、ポインティングデバイス、タッチパネル)とを備える。ユーザ端末3は、例えば、PC(Personal Computer)、タブレット端末などで実現される。
【0017】
[第1実施形態]
[カメラ装置10のハードウェア構成]
図2は、第1実施形態に係るカメラ装置10のハードウェア構成図である。
図2に示すように、カメラ装置10は、撮像部11、12と、構造化照明13と、照明制御部14と、SoC15とを主に備える。
【0018】
撮像部11(第1撮像部)は、光学レンズ111と、イメージセンサ112とを一体化したカメラユニットである。光学レンズ111は、カメラ装置10の外部の光を集光して、イメージセンサ112に入射させる。イメージセンサ112は、光学レンズ111が集光した光を光電変換して、画像データをメモリ151に出力する。イメージセンサ112は、例えば、CMOS(Complementary Metal-Oxide-Semiconductor)やCCD(Charge-Coupled Device)である。
【0019】
撮像部12(第2撮像部)は、光学レンズ121と、イメージセンサ122とを備える。撮像部12の構成は、撮像部11と共通するので、再度の説明は省略する。撮像部11、12は、カメラ装置10の筐体の表面に露出されている。また、撮像部11、12は、カメラ装置10の同一表面において、所定の間隔を隔てて配置されている。すなわち、撮像部11、12は、互いに異なる位置から対象物を含む撮像領域を撮像する。撮像部11、12それぞれの撮像領域は、少なくとも一部が互いに重なり合っている。本明細書において、「撮像領域」と表記するときは、撮像部11、12の撮像領域の互いに重なり合う領域を指すものとする。
【0020】
構造化照明13は、構造化光を照射するプロジェクタである。構造化照明13は、構造化光とは、予め定められた照射図形(例えば、円形や多角形のドットパターン、ストライプパターン)の濃淡を持つ光を指す。なお、ドットの配置、密度、大きさ、ストライプの間隔、太さ等は、必ずしも一様である必要はない。そして、構造化照明13は、撮像部11、12の撮像領域(画角)内に構造化光を照射する。また、そして、構造化照明13が出力する光の波長領域は、イメージセンサ112、122の感度領域に重なる。
【0021】
第1実施形態に係る構造化照明13は、第1構造化光を照射する第1照明部131と、第2構造化光を照射する第2照明部132とを備える。第1構造化光及び第2構造化光は、空間的分布が異なる構造化光である。空間的分布とは、光の波形の空間的な分布または形状(例えば、照射する光のパターンの形状、光の波長、偏光角、振幅、位相など)の総称である。なお、本開示においては、時系列で照射する光のパターンの形状が変化することも、空間的分布が異なる構造化光の一例である。そして、第1実施形態では、空間的成分の一例である「光の波長」が異なる第1構造化光及び第2構造化光を照射する例を説明する。
【0022】
照明制御部14は、SoC15の制御に従って、構造化照明13に構造化光を照射させる。より詳細には、照明制御部14は、第1構造化光及び第2構造化光の波長を設定する。また、照明制御部14は、第1照明部131及び第2照明部132の点灯及び消灯のタイミングを制御する。なお、照明制御部14の処理は、SoC15(より詳細には、CPU152)によって実現されてもよい。照明制御部14及びSoC15は、制御部の一例である。
【0023】
SoC(System-On-a-Chip)15は、集積回路により構成される1つのチップ上に各種の電子部品が集積された集積回路製品である。SoC15は、メモリ151と、CPU152と、ISP153と、AI処理部154と、外部インタフェース155とを含む。
図2では、インタフェースを便宜的に「I/F」と図示している。
【0024】
メモリ151は、RAM(Random Access Memory)と、ROM(Read Only Memory)とを少なくとも含む。メモリ151は、カメラ装置10の動作の実行に必要なプログラム及び制御用データ、更には、カメラ装置10の各部の動作中に生成されたデータもしくは情報を一時的に保持する。RAMは、例えば、カメラ装置10の各部の動作時に使用されるワークメモリである。ROMは、例えば、カメラ装置10の各部を制御するためのプログラム及び制御用データを予め記憶して保持する。
【0025】
CPU152は、カメラ装置10の全体的な動作を制御するプロセッサである。CPU152は、カメラ装置10の各部の動作を統括するための制御処理、カメラ装置10の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行う。CPU152は、メモリ151に記憶されたプログラム及び制御用データに従って動作する。CPU152は、動作時にメモリ151を使用し、CPU152が生成又は取得したデータをメモリ151に転送して一時的に保存する。
【0026】
ISP(Image Signal Processor)123は、カメラ装置10内で行われる各種の画像処理を実行するプロセッサである。ISP153は、メモリ151から画像データを読み出し、読み出した画像データを用いて各種の画像処理を行う。ISP153は、動作時にメモリ151を使用し、ISP153が生成又は取得したデータもしくは情報をメモリ151に転送して一時的に保存する。
【0027】
AI処理部154は、例えばGPU(Graphics Processing Unit)及びメモリを用いて構成されている。なお、AI処理部154は、GPUに代えて、またはGPUに加えて、DSP(Digital Signal Processor)を備えていてもよい。
【0028】
外部インタフェース155は、ロボットビジョンコントローラ2及びユーザ端末3との間で各種データの送受信を行うためのインタフェースである。すなわち、外部インタフェース155は、CPU152から取得したデータをロボットビジョンコントローラ2またはユーザ端末3に送信し、ロボットビジョンコントローラ2またはユーザ端末3から取得したデータをCPU152に送信する。
【0029】
[深度マップ生成処理1]
図3及び
図4を参照して、第1実施形態に係るカメラ装置10が実行する深度マップ生成処理1を説明する。
図3は、深度マップ生成処理1のフローチャートである。
図4は、深度マップの生成イメージを示す図である。以下、撮像部11で撮像した画像を「左画像」と表記し、撮像部12で撮像した画像を「右画像」と表記する。また、第1照明部131が照射する第1構造化光の波長を「第1波長(W1)」と表記し、第2照明部132が照射する第2構造化光の波長を「第2波長(W2)」と表記する。すなわち、W1≠W2である。W1、W2は、メモリ151に予め記憶されているものとする。
【0030】
まず、照明制御部14は、時刻t1において、第1照明部131に第1波長W1の第1構造化光を照射させる(S11)。また、CPU152は、第1照明部131に第1構造化光を照射させた状態で、撮像部11、12それぞれに撮像領域の第1画像を撮像させる(S12)。これにより、撮像部11によって第1左画像が生成され、撮像部12によって第1右画像が生成される。第1左画像及び第1右画像は、第1構造化光が照射された対象物を撮像した画像である。また、第1左画像及び第1右画像は、視差を有する画像である。さらに、第1左画像及び第1右画像は、同時(時刻t1)に撮像された画像である。ステップS11、S12の処理は、第1撮像処理(第1撮像ステップ)の一例である。
【0031】
次に、照明制御部14は、第1照明部131を消灯して、微小時間Δta待機する(S13)。そして、照明制御部14は、微小時間Δta待機した後の時刻t2において、第2照明部132に第2波長W2の第2構造化光を照射させる(S14)。また、CPU152は、第2照明部132に第2構造化光を照射させた状態で、撮像部11、12それぞれに撮像領域の第2画像を撮像させる(S15)。これにより、撮像部11によって第2左画像が生成され、撮像部12によって第2右画像が生成される。第2左画像及び第2右画像は、第2構造化光が照射された対象物を撮像した画像である。また、第2左画像及び第2右画像は、視差を有する画像である。さらに、第2左画像及び第2右画像は、同時(時刻t2)に撮像された画像である。ステップS13、S14の処理は、第2撮像処理(第2撮像ステップ)の一例である。
【0032】
次に、照明制御部14は、第2照明部132を消灯する。また、ISP153は、第1左画像及び第2左画像を合成して合成左画像を生成し、第1右画像及び第2右画像を合成して合成右画像を生成する(S16)。一例として、ISP153は、第1左画像及び第2左画像の対応する画素の画素値を単純加算することによって、合成左画像を生成してもよい。他の例として、ISP153は、第1左画像及び第2左画像の対応する画素の画素値を重み付け加算することによって、合成左画像を生成してもよい。第1左画像及び第2左画像の重み係数は、予め定められているものとする。第1右画像及び第2右画像を合成する方法も同様である。
【0033】
次に、ISP153は、ステップS16で生成した合成左画像及び合成右画像を用いて各画素の距離情報を演算し、深度マップを生成する(S17)。深度マップを生成する処理は既に周知なので、詳細な説明は省略する。そして、CPU152は、ISP153が生成した深度マップを、外部インタフェース155を通じてロボットビジョンコントローラ2に送信する。ステップS17の処理は、演算処理(演算ステップ)の一例である。
【0034】
次に、CPU152は、微小時間Δtb待機して(S18)、ステップS11以降の処理を再び実行する。微小時間Δta、Δtbは、同一でもよいし、異なっていてもよい。そして、カメラ装置10は、予め定められたフレームレートで、ステップS11~S18の処理を繰り返し実行する。例えば、フレームレートを60fpsとすれば、1/60sec間隔でステップS11~S18の処理が繰り返される。
【0035】
[波長設定処理]
図5及び
図6を参照して、深度マップ生成処理1で使用する第1波長W1及び第2波長W2を設定する処理を説明する。
図5は、波長設定処理のフローチャートである。
図6は、波長設定処理における波長選択画面の画面例である。波長設定処理は、構造化光の波長を変更して対象物WKを撮像し、対象物WK内で同一位置と判定できる画素数の多い波長を、第1波長W1及び第2波長に設定する処理である。カメラ装置10は、例えば、深度マップ生成処理1を実行する前のキャリブレーションとして、
図5に示す波長設定処理を実行する。そのため、波長設定処理は、深度マップ生成処理1の実行環境と近い環境(例えば、同じ設備、同じ照明環境)で実行されるのが望ましい。
【0036】
まず、CPU152は、変数iを初期化(i=1)する。変数iは、波長の候補を特定するための変数である(S21)。次に、CPU152は、波長W(i)を設定する(S22)。
図6の例では、波長W(i)=400nmとする。次に、CPU152は、波長W(i)の構造化光を構造化照明13に照射させた状態で、対象物WKを含む撮像領域を撮像部11、12に撮像させる(S23)。これにより、視差を有する左画像及び右画像(すなわち、視差画像)が生成される。ステップS23の処理は、撮像処理(撮像ステップ)の一例である。
【0037】
次に、AI処理部154は、ステップS23で撮像された左画像及び右画像内において、対象物WKが映っている領域(以下、「検知領域」と表記する。)を特定する(S24)。AI処理部154は、例えば、予め記憶していた対象物WKの画像と、左画像及び右画像とをパターンマッチングすることによって、検知領域を特定すればよい。ステップS23の処理は既に周知なので、詳細な説明は省略する。
【0038】
次に、ISP153は、左画像及び右画像それぞれの検知領域内において、同一位置と判定できる画素数(以下、「視差数N」と表記する。)を算出する(S25)。一対の視差画像内で同一位置を判定する処理は、距離情報を演算する際に実行される処理である。但し、検知領域のうちの影になっている部分や白飛びしている部分は、同一位置であると判定ができない可能性がある。ステップS25の処理は、算出処理(算出ステップ)の一例である。
【0039】
次に、CPU152は、ステップS22で設定した波長W(i)=400nmと、ステップS23で撮像した画像(左画像または右画像)と、ステップS25で算出した視差数Nとを、メモリ151に記憶させると共にユーザ端末3に表示させる(S26)。これにより、
図6に示すように、ユーザ端末3のディスプレイに表示される波長選択画面において、左上の領域A1が追加される。なお、視差数Nは、同一位置と判定した画素の絶対値として表示されてもよいし、検知領域の画素数を100とした場合の百分率で表示されてもよい。ステップS26の処理は、表示処理(表示ステップ)の一例である。
【0040】
次に、CPU152は、ユーザ端末3のユーザによって第1波長W1及び第2波長W2が選択されるまで(S27:No)、変数iに1を加算して(S28)、ステップS22~S26の処理を再び実行する。すなわち、CPU152は、構造化光の波長を所定の変動幅ΔW1ずつ変更しながら、ステップS22~S26の処理を繰り返し実行する。例えば、波長W(1)=400nm、波長W(2)=450nm、波長W(3)=500nm、波長W(4)=550nmとして、ステップS22~S26の処理が4回繰り返されると、波長選択画面は
図6のようになる。この場合、変動幅ΔW1=50nmである。
【0041】
波長選択画面は、変数i=1、2、3、4に対応する波長W(i)、視差数N、及び画像のセットが表示される領域A1、A2、A3、A4と、[設定]ボタンと、[次候補]ボタンとを含む。また、領域A1~A4それぞれは、チェックボックスを含む。視差数Nは、波長W(i)毎に異なる。すなわち、一対の視差画像内において、同一位置を判定しやすい(視差数が多い)波長と、同一位置を判定しにくい(視差数が少ない)波長とは、カメラ装置10が設置された環境によって変化する。
【0042】
そして、CPU152は、[次候補]ボタンが押下された場合に(S27:No)、ステップS28以降の処理を再び実行する。一方、CPU152は、領域A1~A4のチェックボックスのうちの2つを選択して[設定]ボタンが押下された場合に(S27:Yes)、選択されたチェックボックスに対応する2つの波長を、第1波長W1及び第2波長W2として設定して、メモリ151に記憶させる(S29)。ステップS29の処理は、設定処理(設定ステップ)の一例である。
【0043】
図6の例では、第1波長W1=400nm、第2波長W2=550nmとなる。一例として、ユーザ端末3のユーザは、最も視差数の多い波長(550nm)と、2番目に視差数の多い波長(400nm)とを選択すればよい。他の例として、ユーザは、2番目に多い視差数と3番目に多い視差数とが近接している場合に、最も視差数の多い波長から離れた波長を選択してもよい。さらに、選択された波長の視差数は、
図3のステップS16で画像を合成する際の重み係数として用いられてもよい。
図6の例では、第1画像の重み係数が70/160となり、第2画像の重み係数が90/160となる。
【0044】
[第1実施形態の作用効果]
第1実施形態によれば、複数の波長W1、W2の構造化光それぞれを照射した状態で視差画像を撮像するので、白色の構造化光のみを用いて視差画像を撮像する場合と比較して、対象物までの距離を高精度に演算することができる。なお、深度マップ生成処理1における構造化光の波長の数は、2つに限定されず、3つ以上でもよい。
【0045】
また、第1実施形態によれば、深度マップ生成処理1に先立って波長設定処理を実行することによって、深度マップ生成処理1の実行環境に合わせた波長W1、W2を設定することができる。これにより、対象物までの距離をさらに高精度に演算することができる。なお、波長設定処理では、波長W1、W2をユーザに選択させることに代えて、最も視差数の多い波長と、2番目に視差数の多い波長とを、CPU152が自動的に波長W1、W2に設定してもよい。
【0046】
なお、第1実施形態では、第1波長W1の第2構造化光を第1照明部131から照射し、第2波長W2の第2構造化光を第2照明部132から照射する例を説明したが、構造化照明13の具体的な構造は、
図2の例に限定されない。
【0047】
[第1実施形態の変形例]
図7及び
図8を参照して、第1構造化光及び第2構造化光を照射可能な構造化照明13A、13Bを説明する。
図7は、第1実施形態の変形例1に係るカメラ装置10Aのハードウェア構成図である。
図8は、第1実施形態の変形例2に係るカメラ装置10Bのハードウェア構成図である。なお、
図2との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0048】
図7に示すように、変形例1に係る構造化照明13Aは、照明部133と、波長変更部134とを備える。照明部133は、白色(すなわち、複数の波長の光が混在した)構造化光を照射(出力)する。波長変更部134は、照明部133から照射される構造化光の光路上に配置されて、通過させる構造化光の波長を変更する。
【0049】
一例として、波長変更部134は、構造化光の光路上に配置されるプリズムと、プリズムを回転させる回転駆動部とを備える。そして、波長変更部134は、照明制御部14の制御部に従って、第1波長W1の第1構造化光のみを通過させる第1角度と、第2波長W2の第2構造化光のみを通過させる第2角度とに、プリズムを回転させるものでもよい。
【0050】
他の例として、波長変更部134は、構造化光の光路上に配置される液体レンズと、液体レンズに電圧を印加する電圧制御部とを備える。そして、波長変更部134は、照明制御部14の制御部に従って液体レンズに印加する電圧を変更することによって、第1波長W1の第1構造化光のみを通過させる第1状態と、第2波長W2の第2構造化光のみを通過させる第2状態とに、液体レンズの屈折率を変化させるものでもよい。
【0051】
図8に示すように、変形例2に係る構造化照明13Bは、照明制御部14から印加される電圧に応じて、構造化光の波長を切り替える発光素子を備えていてもよい。発光素子としては、例えば、VCSEL(Vertical Cavity Surface Emitting Laser)等を採用することができる。また、発光素子は、MEMS(Micro Electro Mechanical Systems)技術で作製されてもよい。
【0052】
[第2実施形態]
[深度マップ生成処理2]
図9及び
図10を参照して、第2実施形態に係る深度マップ生成処理2を説明する。
図9は、深度マップ生成処理2のフローチャートである。
図10は、深度マップ生成処理2における波長選択画面の画面例である。深度マップ生成処理2は、深度マップを繰り返し生成する過程で、第1波長W1及び第2波長W3を微調整する処理である。以下、第1実施形態との共通点の詳細な説明は省略し、相違点を中心に説明する。第2実施形態に係るカメラ装置10の構成は、第1実施形態と共通する。また、
図9のステップS11~S18の処理は、第1実施形態と共通する。
【0053】
AI処理部154は、ステップS11~S18の処理を実行した後に、ステップS12で撮像された第1左画像及び第1右画像内の検知領域と、ステップS15で撮像された第2左画像及び第2右画像内の検知領域とを特定する(S31)。検知領域を特定する処理は、
図5のステップS24と共通する。
【0054】
次に、ISP153は、第1左画像及び第1右画像それぞれの検知領域内で視差数N1を算出し、第2左画像及び第2右画像それぞれの検知領域内で視差数N2を算出する(S32)。視差数N1、N2を算出する処理は、
図5のステップS25と共通する。ステップS32の処理は、算出処理(算出ステップ)の一例である。
【0055】
次に、CPU152は、ステップS11で照射した第1構造化光の第1波長W1=400nmと、ステップS12で撮像した第1画像(第1左画像または第1右画像)と、ステップS32で算出した視差数N1とを、メモリ151に記憶させると共にユーザ端末3に表示させる(S33)。これにより、
図10に示すように、ユーザ端末3のディスプレイに表示される波長選択画面において、左上の領域B1が追加される。
【0056】
同様に、CPU152は、ステップS14で照射した第2構造化光の第2波長W2=550nmと、ステップS15で撮像した第2画像(第2左画像または第2右画像)と、ステップS32で算出した視差数N2とを、メモリ151に記憶させると共にユーザ端末3に表示させる(S33)。これにより、
図10に示すように、ユーザ端末3のディスプレイに表示される波長選択画面において、右上の領域C1が追加される。ステップS33の処理は、表示処理(表示ステップ)の一例である。
【0057】
次に、CPU152は、ユーザ端末3のユーザによって第1波長W1及び第2波長W2が更新されるまで(S34:No)、第1波長W1及び第2波長W2を微小波長ΔW2ずらして(S35)、ステップS11~S18、S31~S33の処理を再び実行する。なお、微小波長ΔW2は、
図5のステップS22における変動幅ΔW1より小さいものとする。1回目の処理で第1波長W1=400nm及び第2波長W2=550nmとし、2回目の処理で第1波長W1=410nm及び第2波長W2=560nmとし、3回目の処理で第1波長W1=390nm及び第2波長W2=540nmとした場合、波長選択画面は
図10のようになる。この場合、微小波長ΔW2=±10nmである。
【0058】
波長選択画面は、各回の処理(S11~S18、S31~S33)に対応する第1波長W1、視差数N1、及び第1画像のセットが表示される領域B1、B2、B3と、各回の処理(S11~S18、S31~S33)に対応する第2波長W2、視差数N2、及び第2画像のセットが表示される領域C1、C2、C3と、[更新]ボタンと、[次候補]ボタンとを含む。また、領域B1~B3、C1~C3それぞれは、チェックボックスを含む。
【0059】
そして、CPU152は、[次候補]ボタンが押下された場合に(S34:No)、ステップS35以降の処理を実行する。一方、CPU152は、領域B1~B3のチェックボックスのうちの1つと、領域C1~C3のチェックボックスのうちの1つとを選択して、[更新]ボタンが押下された場合に(S34:Yes)、選択されたチェックボックスに対応する2つの波長を、第1波長W1及び第2波長W2として更新して、メモリ151に記憶させる(S36)。ステップS36の処理は、更新処理(更新ステップ)の一例である。
【0060】
図10の例では、第1波長W1=390nm、第2波長W2=550nmに更新される。そして、CPU152は、[更新]ボタンが押下された後、ステップS31~S35の処理を実行せずに、更新後の第1波長W1及び第2波長W2を用いてステップS11~S18の処理(すなわち、深度マップ生成処理1)を継続してもよい。なお、
図9及び
図10では、第1波長W1及び第2波長W2を同時に更新する例を説明したが、第1波長W1及び第2波長W2を個別に更新してもよい。
【0061】
[第2実施形態の作用効果]
第2実施形態によれば、深度マップ生成処理2の過程(換言すれば、ロボットアーム6を目標位置に向かって移動させる過程)において、第1波長W1及び第2波長W2が更新(微調整)される。これにより、深度マップ生成処理2の実行環境の変化(例えば、照明のON/OFF)に追従して、第1波長W1及び第2波長W2を最適化することができる。その結果、対象物までの距離をさらに高精度に演算することができる。なお、波長設定処理と同様に、波長W1、W2をユーザに選択させることに代えて、CPU152が自動的に最も視差数N1の多い波長を第1波長W1とし、最も視差数N2が多い波長を第2波長W2としてもよい。
【0062】
[第3実施形態]
[深度マップ生成処理3]
図11及び
図12を参照して、第3実施形態に係る深度マップ生成処理3を説明する。
図11は、深度マップ生成処理3のフローチャートである。
図12は、深度マップ生成処理3のイメージ図である。深度マップ生成処理3は、深度マップを繰り返し生成する過程で、構造化光に含まれる照射図形の密度を調整(変更)する処理である。以下、第1実施形態との共通点の詳細な説明は省略し、相違点を中心に説明する。第3実施形態に係るカメラ装置10の構成は、第1実施形態と共通する。また、
図11のステップS11~S18の処理は、第1実施形態と共通する。
【0063】
ISP153は、今回のステップS17で生成された深度マップ(距離情報)と、今回のステップS12で生成された第1画像またはステップS15で生成された第2画像とに基づいて、対象物WKの大きさを特定する(S41)。より詳細には、ISP153は、
図12に示すように、画像に移っている対象物WKのx方向(左右方向)の長さLxと、y方向(上下方向)の長さLyとを特定する。x方向及びy方向は、互いに直交する方向であればよい。ステップS41の処理は、特定処理(特定ステップ)の一例である。
【0064】
次に、CPU152は、ステップS41で特定した長さLx、Lyの小さい方(
図12の例では、Lx)が予め定められた閾値Lth以上か否かを判定する(S42)。そして、CPU152は、対象物WKの大きさ(Lx)が閾値Lth未満の場合に(S42:No)、照射図形の密度を高くする(S43)。一方、CPU152は、対象物WKの大きさ(Lx)が閾値Lth以上の場合に(S42:Yes)、照射図形の密度を低くする(S44)。ステップS42~S44の処理は、変更処理(変更ステップ)の一例である。
【0065】
そして、CPU152は、次回のステップS11、S14において、密度を変更した照射図形を含む構造化光を対象物に向けて照射する。すなわち、ISP153は、今回のステップS17で演算した距離情報、及び今回のステップS12、S15で撮像した画像に基づいて、対象物WKの大きさを特定する(S41)。また、CPU152は、特定した対象物WKの大きさに応じて、照射図形の密度を変更する(S42~S44)、さらに、CPU152は、次回のステップS11、S14において、変更した密度の照射図形を含む構造化光を構造化照明13に照射させる。
【0066】
これにより、ステップS11~S18、S41~S44の処理を繰り返す過程において、初期の段階(すなわち、カメラ装置10から対象物WKまでの距離が遠いとき)では照射図形の密度が高くなり(S42:No→S43)、途中(すなわち、カメラ装置10から対象物WKまでの距離が近くなると)から照射図形の密度が低くなる(S42:Yes→S44)。なお、照射図形がストライプパターンのときの「密度」とは、
図12に示すように、ストライプの幅や間隔を指す。また、照射図形がドットパターンのときの「密度」とは、単位面積当たりのドットの数を指す。
【0067】
[第3実施形態の作用効果]
第3実施形態によれば、対象物WKの大きさに応じて照射図形の密度を変更するので、対象物WKに照射図形が適切に投影される。より詳細には、対象物WKが遠い場合に照射図形の密度を高くすることによって、隣り合う照射図形の間に対象物WKが位置して、照射図形が投影されなくなるのを防止できる。一方、対象物WKが近い場合に照射図形の密度を低くすることによって、輪郭線が入り組んだ部分で輪郭線と照射図形との区別がつかなくなるのを防止できる。その結果、対象物までの距離をさらに高精度に演算することができる。なお、照射図形の密度のバリエーションは、
図11及び
図12のように2段階に限定されず、3段階以上でもよい。
【0068】
[第4実施形態]
図13及び
図14を参照して、第4実施形態に係るカメラ装置10C及び深度マップ生成処理4を説明する。
図13は、第4実施形態に係るカメラ装置10Cのハードウェア構成図である。
図14は、深度マップ生成処理4のフローチャートである。以下、第1実施形態との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0069】
[カメラ装置10Cのハードウェア構成図]
図13に示すように、第4実施形態に係るカメラ装置10Cは、照明側偏光部16(第1偏光部)と、カメラ側偏光部17(第2偏光部)とを備える。また、第4実施形態に係る構造化照明13は、白色(すなわち、複数の波長が混在した)構造化光を対象物WKに照射する。一方、カメラ装置10Cのその他の構成は、第1実施形態と共通する。
【0070】
照明側偏光部16は、構造化照明13から照射される構造化光の光路上に配置されている。また、照明側偏光部16は、構造化照明13から照射される構造化光のうち、特定の偏光角の光(例えば、第1偏光角の光)を選択的に透過し、その他の偏光角の光(例えば、第2偏光角の光)を遮断する第1状態を取ることができる。また、照明側偏光部16は、構造化照明13から照射される構造化光のうち、特定の偏光角の光(例えば、第2偏光角の光)を選択的に透過し、その他の偏光角の光(例えば、第1偏光角の光)を遮断する第2状態を取ることができる。さらに、照明側偏光部16は、照明制御部14の制御に従って、透過する偏光角を切替可能、つまり、第1状態と第2状態とを切替可能に構成されている。例えば、照明側偏光部16は、偏光角を電気的に、かつフレーム単位で変更可能な光学フィルタに相当する。
【0071】
カメラ側偏光部17は、撮像部11、12に入射する光の光路上に配置されている。また、カメラ側偏光部17は、撮像部11、12に入射する光のうち、特定の偏光角の光(例えば、第1偏光角の光)を選択的に透過し、その他の偏光角の光(例えば、第2偏光角の光)を遮断する第1状態をとることができる。また、カメラ側偏光部17は、撮像部11、12に入射する光のうち、特定の偏光角の光(例えば、第2偏光角の光)を選択的に透過し、その他の偏光角の光(例えば、第1偏光角の光)を遮断する第2状態を取ることができる。さらに、カメラ側偏光部17は、CPU152の制御に従って、透過する偏光角を切替可能、つまり、第1状態と第2状態とを切り替え可能に構成されている。例えば、カメラ側偏光部17は、光入射面の単位画素領域が4つ又は16つであるイメージセンサにおいて単位画素領域の画素それぞれに設けられかつ偏光角が異なるフィルタや、偏光角を電気的にかつフレーム単位で変更可能な光学フィルタに相当する。
【0072】
照明側偏光部16及びカメラ側偏光部17は、例えば、周知の偏光フィルタと、偏光フィルタを回転させる回転駆動部とで構成される。また、照明側偏光部16及びカメラ側偏光部17は、透過する偏光角を互いに同期して切り替えられるように構成されているのが望ましい。
【0073】
[深度マップ生成処理4]
深度マップ生成処理4では、深度マップ生成処理1のステップS11、S14に代えて、ステップS51、S54が実行される。一方、深度マップ生成処理4のステップS12、S13、S15~S18の処理は、深度マップ生成処理1と共通する。
【0074】
CPU152は、ステップS51において、照明側偏光部16及びカメラ側偏光部17が透過する偏光角を、第1偏光角θ1に設定する。これにより、構造化照明13を点灯すると、第1偏光角θ1の第1構造化光のみが対象物WKに照射される。そして、CPU152は、第1偏光角θ1の第1構造化光を構造化照明13に照射させた状態で(S51)、撮像領域の第1画像を撮像部11、12に撮像させる(S12)。
【0075】
また、CPU152は、ステップS54において、照明側偏光部16及びカメラ側偏光部17が透過する偏光角を、第1偏光角θ1と異なる第2偏光角θ2に設定する。これにより、構造化照明13を点灯すると、第2偏光角θ2の第2構造化光のみが対象物WKに照射される。そして、CPU152は、第2偏光角θ2の第2構造化光を構造化照明13に照射させた状態で(S52)、撮像領域の第2画像像を撮像部11、12に撮像させる(S15)。
【0076】
[第4実施形態の作用効果]
第4実施形態によれば、複数の偏光角θ1、θ2の構造化光それぞれを照射した状態で視差画像を撮像するので、例えば対象物WKが透明のビニールで覆われている場合などでも、対象物を適切に撮像できる。また、構造化照明13から照射される構造化光の光路上と、撮像部11、12に入射する光の光路上との両方に偏光部16、17を配置することによって、不要な光がイメージセンサ112、122に到達するのを阻止することができる。その結果、対象物までの距離をさらに高精度に演算することができる。
【0077】
なお、CPU152は、例えば、深度マップ生成処理4に先立って、「波長」を「偏光角」と読み替えて
図5に示す波長設定処理(すなわち、偏光角設定処理)を実行することによって、第1偏光角θ1及び第2偏光角θ2を設定することができる。これにより、深度マップ生成処理4の実行環境に合わせた偏光角θ1、θ2を設定することができる。
【0078】
また、CPU152は、例えば、深度マップ生成処理4において、「波長」を「偏光角」と読み替えて
図9のステップS31~S36の処理を実行することによって、第1偏光角θ1及び第2偏光角θ2を更新(微調整)することができる。これにより、深度マップ生成処理4の実行環境の変化(例えば、照明のON/OFF)に追従して、偏光角θ1、θ2を最適化することができる。
【0079】
[その他の実施形態]
なお、第1~第4実施形態は、本発明の趣旨を逸脱しない範囲において、任意の組み合わせで組み合わせることができる。
【0080】
また、SoC15及びロボットビジョンコントローラ2の役割分担は、前述の例に限定されない。すなわち、SoC15の処理の一部または全部は、ロボットビジョンコントローラ2によって実行されてもよい。また、ロボットビジョンコントローラ2の処理の一部または全部は、SoC15によって実行されてもよい。
【0081】
さらに、プログラムによって実現される各手段の一部または全部は、集積回路等のハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。
【0082】
以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0083】
本開示は、対象物までの距離を高精度に演算することが可能なカメラ装置として有用である。
【符号の説明】
【0084】
1 ロボット制御システム
2 ロボットビジョンコントローラ
3 ユーザ端末
4 ロボット
5 ロボットコントローラ
6 ロボットアーム
7 エンドエフェクタ
10,10A,10B,10C カメラ装置
11,12 撮像部
13,13A,13B 構造化照明
14 照明制御部
16 照明側偏光部
17 カメラ側偏光部
111,121 光学レンズ
112,122 イメージセンサ
131 第1照明部
132 第2照明部
133 照明部
134 波長変更部
151 メモリ
152 CPU
154 AI処理部
155 外部インタフェース