(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122298
(43)【公開日】2024-09-09
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
H04N 23/60 20230101AFI20240902BHJP
H04N 23/56 20230101ALI20240902BHJP
H04N 23/45 20230101ALI20240902BHJP
H04N 23/90 20230101ALI20240902BHJP
H04N 23/73 20230101ALI20240902BHJP
G01B 11/25 20060101ALI20240902BHJP
G01B 11/245 20060101ALI20240902BHJP
【FI】
H04N23/60 500
H04N23/56
H04N23/45
H04N23/90
H04N23/73
G01B11/25 H
G01B11/245 H
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023029762
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】320008672
【氏名又は名称】i-PRO株式会社
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】内海 信之介
(72)【発明者】
【氏名】畑瀬 雄一
(72)【発明者】
【氏名】河野 治彦
【テーマコード(参考)】
2F065
5C122
【Fターム(参考)】
2F065AA04
2F065AA53
2F065BB15
2F065CC11
2F065DD02
2F065FF01
2F065FF05
2F065FF07
2F065FF09
2F065GG22
2F065GG23
2F065HH07
2F065JJ03
2F065JJ05
2F065JJ26
2F065MM06
2F065PP22
5C122DA16
5C122EA54
5C122FA18
5C122FB17
5C122FH11
5C122FH18
5C122GG01
5C122GG03
5C122GG04
5C122HA82
5C122HA88
5C122HB01
5C122HB02
(57)【要約】
【課題】精度よく距離情報を得ると共に、小型化及び簡素化を実現した画像処理装置を提供する。
【解決手段】画像処理装置は、対象物に構造化光を投影する構造化照明と、対象物を含む撮像領域を撮像する第1撮像ユニットと、第1撮像ユニットと異なる位置から撮像領域を撮像する第2撮像ユニットと、構造化照明、第1撮像ユニット、及び第2撮像ユニットを制御する画像処理モジュールとを備える。画像処理モジュールは、構造化照明を点灯し、かつ第1露光時間で、第1撮像ユニット及び第2撮像ユニットそれぞれに、撮像領域の第1画像を撮像させる第1撮像処理と、構造化照明を消灯し、かつ前記第1露光時間より長い第2露光時間で、第1撮像ユニット及び第2撮像ユニットそれぞれに、撮像領域の第2画像を撮像させる第2撮像処理と、第1画像及び第2画像を用いて対象物までの距離情報を演算する演算処理とを実行する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
対象物に構造化光を投影する構造化照明と、
前記対象物を含む撮像領域を撮像する第1撮像ユニットと、
前記第1撮像ユニットと異なる位置から前記撮像領域を撮像する第2撮像ユニットと、
前記構造化照明、前記第1撮像ユニット、及び前記第2撮像ユニットを制御する画像処理モジュールとを備え、
前記画像処理モジュールは、
前記構造化照明を点灯し、かつ第1露光時間で、前記第1撮像ユニット及び前記第2撮像ユニットそれぞれに、前記撮像領域の第1画像を撮像させる第1撮像処理と、
前記構造化照明を消灯し、かつ前記第1露光時間より長い第2露光時間で、前記第1撮像ユニット及び前記第2撮像ユニットそれぞれに、前記撮像領域の第2画像を撮像させる第2撮像処理と、
前記第1画像及び前記第2画像を用いて前記対象物までの距離情報を演算する演算処理とを実行する、画像処理装置。
【請求項2】
前記第1撮像ユニット及び前記第2撮像ユニットと異なる位置から前記撮像領域を撮像する第3撮像ユニットを備え、
前記第1撮像ユニット及び前記第2撮像ユニットの間の第1基線長は、前記第1撮像ユニット及び前記第3撮像ユニットの間の第2基線長とは異なる、請求項1に記載の画像処理装置。
【請求項3】
前記第1撮像ユニット、前記第2撮像ユニット、及び前記第3撮像ユニットは、同一直線上に配置されている、請求項2に記載の画像処理装置。
【請求項4】
前記画像処理モジュールは、
前記第1撮像処理において、前記第1撮像ユニット、前記第2撮像ユニット、及び前記第3撮像ユニットそれぞれに、前記第1露光時間で前記第1画像を撮像させ、
前記第2撮像処理において、前記第1撮像ユニット、前記第2撮像ユニット、及び前記第3撮像ユニットそれぞれに、前記第2露光時間で前記第2画像を撮像させる、請求項2に記載の画像処理装置。
【請求項5】
前記画像処理モジュールは、
前記構造化照明を点灯し、かつ前記第1露光時間で、前記第1撮像ユニット前記第3撮像ユニットそれぞれに、前記撮像領域の第3画像を撮像させる第3撮像処理と、
前記構造化照明を消灯し、かつ前記第2露光時間より長い第3露光時間で、前記第1撮像ユニット及び前記第3撮像ユニットそれぞれに、前記撮像領域の第4画像を撮像させる第4撮像処理をさらに実行し、
前記演算処理において、前記第1画像、前記第2画像、前記第3画像、及び前記第4画像を用いて前記距離情報を演算する、請求項2に記載の画像処理装置。
【請求項6】
前記構造化光は、可視波長であり、
前記第1撮像ユニット及び前記第2撮像ユニットそれぞれは、可視波長の光を受光して画像を生成するイメージセンサを備える、請求項1に記載の画像処理装置。
【請求項7】
前記第1撮像ユニット及び前記第2撮像ユニットそれぞれは、
可視光を受光するセル及び赤外光を受光するセルを有するイメージセンサと、
前記イメージセンサに入射する光のうち、特定波長領域の光を遮断し、前記特定波長領域とは異なる波長の光を透過する光学フィルタと、
前記イメージセンサに入射する光の光路上に、前記光学フィルタを進退可能に配置するフィルタ駆動部とを備える、請求項1に記載の画像処理装置。
【請求項8】
前記構造化光は、赤外波長であり、
前記特定波長領域は、可視波長領域であり、
前記画像処理モジュールは、
前記第1撮像処理において、前記光学フィルタを前記イメージセンサに入射する光の光路上に配置し、
前記第2撮像処理において、前記光学フィルタを前記イメージセンサに入射する光の光路から外れた位置に配置する、請求項7に記載の画像処理装置。
【請求項9】
前記構造化光は、赤外波長であり、
前記特定波長領域は、赤外波長領域であり、
前記画像処理モジュールは、
前記第1撮像処理において、前記光学フィルタを前記イメージセンサに入射する光の光路から外れた位置に配置し、
前記第2撮像処理において、前記光学フィルタを前記イメージセンサに入射する光の光路上に配置する、請求項7に記載の画像処理装置。
【請求項10】
前記光学フィルタは、
周方向の一部分が前記特定波長領域の光を遮断し、かつ前記特定波長領域から外れた光を透過し、
周方向の他の部分が前記特定波長領域の光を透過し、かつ前記特定波長領域から外れた光を遮断する、円盤形状であって、
前記画像処理モジュールは、繰り返し実行する前記第1撮像処理及び前記第2撮像処理と同期させて、前記イメージセンサに入射する光の光路上に前記周方向の一部分または前記周方向の他の部分が配置されるように、前記光学フィルタを回転させる、
請求項7に記載の画像処理装置。
【請求項11】
前記画像処理装置には、構造化光の投影範囲に可視光を照射する照明装置が接続され、
前記画像処理モジュールは、
前記第1撮像処理において、前記照明装置を消灯させ、
前記第2撮像処理において、前記照明装置を点灯させる、請求項1に記載の画像処理装置。
【請求項12】
前記構造化照明、前記第1撮像ユニット、及び前記第2撮像ユニットを収容する第1筐体を備え、
前記画像処理モジュールは、
前記構造化照明、前記第1撮像ユニット、及び前記第2撮像ユニットを制御するプロセッサモジュールと、
前記プロセッサモジュールを収容すると共に、ケーブルによって前記第1筐体に接続された第2筐体とを備える、請求項1に記載の画像処理装置。
【請求項13】
前記画像処理モジュールは、
前記第1撮像ユニットによって撮像された前記第1画像及び前記第2画像を合成し、且つ前記第2撮像ユニットによって撮像された前記第1画像及び前記第2画像を合成して、一対の合成画像を生成する生成処理を実行し、
前記演算処理において、一対の前記合成画像を用いて前記距離情報を演算する、請求項1に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
近年、工場のオートメーション化の促進や自動車の自動運転技術の進展に伴い、自己位置推定と周囲環境把握技術における物体検知の精度向上が求められている。このような課題を解決することを目的として、特許文献1には、構造化照明を用いてステレオ測距を行い、距離情報を出力するビジュアルポジショニングシステムが開示されている。
【0003】
特許文献1に記載のビジュアルポジショニングシステムは、投光照明に同期する第1カメラで撮像した画像と、構造化照明に同期する第2カメラで撮像した画像とに基づいて距離情報を出力する。そして、第1カメラ及び第2カメラとしては、単眼またはステレオカメラを採用することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載のビジュアルポジショニングシステムでは、投光照明下に適した撮像条件の第1カメラと、構造化照明下に適した撮像条件の第2カメラとを別々に用意する必要があるので、装置の小型化や簡素化が難しいという課題がある。
【0006】
本発明は、上記した実情に鑑みてなされたものであり、その目的は、精度よく距離情報を得ると共に、小型化及び簡素化を実現した画像処理装置を提供することにある。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、本発明に係る画像処理装置は、対象物に構造化光を投影する構造化照明と、前記対象物を含む撮像領域を撮像する第1撮像ユニットと、前記第1撮像ユニットと異なる位置から前記撮像領域を撮像する第2撮像ユニットと、前記構造化照明、前記第1撮像ユニット、及び前記第2撮像ユニットを制御する画像処理モジュールとを備え、前記画像処理モジュールは、前記構造化照明を点灯し、かつ第1露光時間で、前記第1撮像ユニット及び前記第2撮像ユニットそれぞれに、前記撮像領域の第1画像を撮像させる第1撮像処理と、前記構造化照明を消灯し、かつ前記第1露光時間より長い第2露光時間で、前記第1撮像ユニット及び前記第2撮像ユニットそれぞれに、前記撮像領域の第2画像を撮像させる第2撮像処理と、前記第1画像及び前記第2画像を用いて前記対象物までの距離情報を演算する演算処理とを実行する。
【発明の効果】
【0008】
本発明によれば、精度よく距離情報を得ると共に、小型化及び簡素化を実現することができる。なお、上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】第1実施形態に係る画像処理装置の外観斜視図である。
【
図2】第1実施形態に係る画像処理装置のハードウェア構成である。
【
図3】深度マップ生成処理1のフローチャートである。
【
図4】深度マップ生成処理1における撮像ユニット及び構造化照明14の動作タイミングを示す図である。
【
図5】第1画像及び第2画像から生成される合成画像のイメージ図である。
【
図6】深度マップ生成処理2のフローチャートである。
【
図7】深度マップ生成処理2における撮像ユニット及び構造化照明の動作タイミングを示す図である。
【
図8】第2実施形態に係る画像処理装置のハードウェア構成である。
【
図10】イメージセンサ及び光学フィルタの位置関係を示す図である。
【
図11】深度マップ生成処理3のフローチャートである。
【
図12】深度マップ生成処理3における撮像ユニット、光学フィルタ、及び構造化照明の動作タイミングを示す図である。
【
図13】光路上に対して光学フィルタを進退させる構成の他の例を示す図である。
【
図14】第3実施形態に係る画像処理装置のハードウェア構成である。
【
図15】深度マップ生成処理4のフローチャートである。
【
図16】深度マップ生成処理4における撮像ユニット、構造化照明、及び照明装置の動作タイミングを示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら発明の実施形態を説明するが、本実施形態は、汎用性の高い画像処理装置を実現することで、国連の提唱する持続可能な開発目標(SDGs:Sustainable Development Goals)の「9.産業と技術革新の基盤をつくろう」に貢献する。
【0011】
[第1実施形態]
[第1実施形態に係る画像処理装置100の全体構成]
図1は、第1実施形態に係る画像処理装置100の外観斜視図である。
図2は、第1実施形態に係る画像処理装置100のハードウェア構成である。
図1に示すように、画像処理装置100は、撮像装置1と、画像処理モジュール2とを含む。撮像装置1及び画像処理モジュール2は、別体として構成されている。より詳細には、撮像装置1の構成部品は、第1筐体10に収容されている。一方、画像処理モジュール2の構成部品は、第2筐体20に収容されている。そして、第1筐体10及び第2筐体20は、電気信号を伝送するケーブル3によって接続されている。
【0012】
撮像装置1は、異なる視点から撮像した視差画像を生成する装置である。撮像装置1は、例えば、ロボットアーム(図示省略)の先端に取り付けられる。また、撮像装置1は、ロボットアームの進行方向に位置する対象物を撮像して、視差画像を生成する。そして、撮像装置1は、生成した視差画像をケーブル3を通じて画像処理モジュール2に送信する。
【0013】
画像処理モジュール2は、例えば、ロボットアームの移動を制御するロボットアーム制御装置に接続される。画像処理モジュール2は、ケーブル3を通じて撮像装置1から取得した視差画像に基づいて、ロボットアームの進行方向に位置する対象物までの距離を示す距離情報を演算する。そして、画像処理モジュール2は、演算した距離情報をロボットアーム制御装置に出力する。なお、「対象物」とは、撮像装置1の撮像範囲に存在するあらゆる物体(例えば、壁、床、天井、目標物、障害物、周辺物、人など)を指す。また、対象物とは、単一の物体を指すのではなく、撮像装置1の撮像範囲に存在する複数の物体の総称である。
【0014】
ロボットアーム制御装置は、画像処理モジュール2から取得した距離情報に基づいて、障害物を避けてロボットアームを目標位置に到達させる。より詳細には、ロボットアーム制御装置は、画像処理モジュール2から取得した距離情報に基づいて、位置推定及び障害物特定を実行する。位置推定とは、後述する深度マップに基づいて、周囲の環境内におけるロボットアームの位置を推定する処理であり、背景も含めて全体が鮮明な画像が必要となる。障害物特定とは、ロボットアームの移動の障害となる可能性のある障害物を特定する処理であり、構造化光が鮮明に映っている画像が必要となる。
【0015】
但し、画像処理装置100は、ロボットアームに搭載されることに限定されず、フロア内を自動走行する搬送ロボット等、視差画像に基づいて画像内の対象物との距離を計測し、計測した結果を利用して動作する装置に搭載されてもよい。また、画像処理装置100は、撮像装置1及び画像処理モジュール2に別体として構成されることに限定されず、単一の筐体に纏めて収容されていてもよい。
【0016】
図2に示すように、撮像装置1は、第1撮像ユニット11、第2撮像ユニット12、第3撮像ユニット13(以下、単に「撮像ユニット11、12、13」と表記する。)と、構造化照明14と、インタフェースモジュール15とを備える。撮像装置1は、画像処理モジュール2でステレオ測距を実行するために、撮像ユニット11~13のうちの2つを1組として視差画像を撮像する装置である。また、撮像装置1は、構造化照明14を点灯させた状態または消灯させた状態で、撮像ユニット11~13に画像を撮像させる。
【0017】
図1に示すように、撮像ユニット11~13及び構造化照明14は、第1筐体10の表面(同一面)に露出している。また、撮像ユニット11~13及び構造化照明14は、左右方向に離間して配置されている。さらに、撮像ユニット11~13及び構造化照明14は、左右方向に延びる直線L上(すなわち、同一直線上)に配置されている。第1実施形態に係る構造化照明14は、隣り合う撮像ユニット11、12の間に配置されている。また、撮像ユニット11は、第1筐体10の表面において撮像ユニット12を挟んで撮像ユニット13とは反対側に配置されている。
【0018】
撮像ユニット11、12の間の基線長L1(光軸間の距離)は、撮像ユニット11、13の間の基線長L2と異なる。より詳細には、第2基線長L2は、第1基線長L1より長く設定されている。基線長L1、L2は、ステレオ測距を実行する対象との距離に応じて設定される。第1実施形態では、撮像装置1からの距離が0.3m~6mまでの対象物を測距するために基線長L1を60mmとし、撮像装置1からの距離が1m~10mまでの対象物を測距するために基線長L2を100mmとしている。但し、具体的な数値は前述の例に限定されない。
【0019】
撮像ユニット11は、光学レンズ11aと、イメージセンサ11bとを一体化したカメラユニットである。光学レンズ11aは、撮像装置1の外部の光を集光して、イメージセンサ11bに入射させる。イメージセンサ11bは、光学レンズが集光した光を光電変換して、画像データを出力する。イメージセンサ11bは、例えば、CMOS(Complementary Metal-Oxide-Semiconductor)やCCD(Charge-Coupled Device)である。撮像ユニット12、13についても同様である。
【0020】
構造化照明14は、構造化光を投影するプロジェクタである。構造化照明14は、例えば、VCSEL(Vertical Cavity Surface Emitting Laser)等のレーザ光によって、構造化光を実現する。構造化光とは、予め定められたパターン(例えば、円形や多角形のドットパターン、ストライプパターン)の濃淡を持つ光を指す。なお、ドットの配置、密度、大きさ、ストライプの間隔、太さ等は、必ずしも一様である必要はない。
【0021】
構造化照明14は、撮像ユニット11、12、13の撮像領域(画角)内に構造化光を投影する。換言すれば、撮像ユニット11、12、13は、互いに異なる位置から構造化光が投影された対象物を撮像する。すなわち、撮像ユニット11、12、13それぞれの撮像領域は、少なくとも一部が互いに重なり合っている。本明細書において、「撮像領域」と表記するときは、撮像ユニット11、12(または、撮像ユニット11、13)の撮像領域の互いに重なり合う領域を指すものとする。そして、構造化照明14が出力する光の波長領域は、イメージセンサ11b、12b、13bの感度領域に重なる。一例として、構造化照明14が可視波長(例えば、400nm以上、780nm未満)の光を出力する場合、イメージセンサ11b、12b、13bも可視波長の光を受光(光電変換)して画像データを生成する。他の例として、構造化照明14が赤外波長(例えば、780nm以上、940nm未満)の光を出力する場合、イメージセンサ11b、12b、13bも赤外波長の光を受光(光電変換)して画像データを生成する。
【0022】
インタフェースモジュール15には、撮像ユニット11、12、13及び構造化照明14が接続される。また、インタフェースモジュール15は、ケーブル3の一端が接続される端子を有する。すなわち、インタフェースモジュール15は、撮像ユニット11、12、13及び構造化照明14を、画像処理モジュール2に接続する。そして、インタフェースモジュール15は、撮像ユニット11、12、13に撮像を指示する撮像信号、構造化照明14の点灯及び消灯を指示する構造化信号を、画像処理モジュール2から受信して撮像ユニット11、12、13及び構造化照明14に伝送する。また、インタフェースモジュール15は、撮像ユニット11、12、13が生成した画像データを、画像処理モジュール2に伝送する。
【0023】
画像処理モジュール2は、撮像信号及び構造化信号を撮像装置1に送信することによって、撮像装置1による画像データの生成を制御する。また、画像処理モジュール2は、撮像装置1から取得した画像データを用いて距離情報を演算する。さらに、画像処理モジュール2は、演算した距離情報をロボットアーム制御装置に出力する。
図2に示すように、画像処理モジュール2は、インタフェースモジュール21と、プロセッサモジュール22とを備える。
【0024】
インタフェースモジュール21には、プロセッサモジュール22が接続される。また、インタフェースモジュール21は、ケーブル3の他端が接続される端子を有する。さらに、インタフェースモジュール21は、ロボットアーム制御装置に接続される。すなわち、インタフェースモジュール21は、プロセッサモジュール22を、撮像装置1及びロボットアーム制御装置に接続する。そして、インタフェースモジュール21は、プロセッサモジュール22から取得した撮像信号及び構造化信号を撮像装置1に伝送し、撮像装置1から取得した画像データをプロセッサモジュール22に伝送し、プロセッサモジュール22が演算した距離情報をロボットアーム制御装置に伝送する。
【0025】
インタフェースモジュール15、21は、例えば、SerDes(SERializer/DESerializer)である。より詳細には、インタフェースモジュール15は、撮像ユニット11、12、13から出力された画像データ(パラレル信号)をシリアル信号に変換して、ケーブル3に出力する。また、インタフェースモジュール21は、ケーブル3から取得したシリアル信号をパラレル信号に変換して、プロセッサモジュール22に出力する。
【0026】
プロセッサモジュール22は、撮像装置1の動作を制御すると共に、撮像装置1が撮像した視差画像から距離情報を演算して、深度マップを生成する。プロセッサモジュールは、例えば、1つのチップ上に各種の電子部品が集積された集積回路製品(SoC)である。プロセッサモジュール22は、例えば、プログラムを記憶するメモリと、メモリに記憶されたプログラムを実行することによって、後述する処理を実現するCPUとを備える。
【0027】
深度マップとは、例えば、撮像装置1が撮像した画像内の各対象物までの距離を示す二次元配列である。より詳細には、深度マップは、撮像装置1が撮像した画像の各画素について、撮像装置1からの距離を示す距離情報の集合体である。つまり、本実施例において、距離情報とは、撮像装置1が撮像した画像に含まれる画素毎に、撮像装置1から撮像装置1が撮像した画像内の対象物までの距離を示した情報に相当する。より詳細には、距離情報は、イメージセンサ11b、12b(または、イメージセンサ11b、13b)を結ぶ線分上の点(典型的には、中点)から対象物までの距離を示す。撮像装置1が撮像した視差画像に基づいて各画素の距離情報を演算し、演算した距離情報を二次元配列にマッピングすることによって、深度マップが生成される。深度マップを生成する方法は既に周知なので、詳細な説明は省略する。但し、プロセッサモジュール22は、演算した距離情報を深度マップの形式に編集して出力する必要はない。
【0028】
[深度マップ生成処理1]
図3~
図5を参照して、第1実施形態に係る画像処理装置100が実行する深度マップ生成処理1を説明する。
図3は、深度マップ生成処理1のフローチャートである。
図4は、深度マップ生成処理1における撮像ユニット11、12、13及び構造化照明14の動作タイミングを示す図である。
図5は、第1画像及び第2画像から生成される合成画像のイメージ図である。
【0029】
まず、画像処理モジュール2は、構造化照明14を点灯させた状態で、撮像ユニット11、12、13それぞれに、第1露光時間Aで第1画像を撮像させる(S11)。これにより、ステップS11では、互いに視差を有する3つの第1画像が生成される。第1画像は、例えば
図5の上図に示すように、構造化光(ドットパターン)が投影された被写体を撮像した画像である。第1画像内の構造化光は、撮像装置1からの距離が近い対象物ほど鮮明になり、撮像装置1からの距離が遠くなるほど不鮮明になる。ステップS11の処理は、第1撮像処理の一例である。
【0030】
次に、画像処理モジュール2は、ステップS11が終了した後に、構造化照明14を消灯させた状態で、撮像ユニット11、12、13それぞれに、第2露光時間Bで第2画像を撮像させる(S12)。これにより、ステップS12では、互いに視差を有する3つの第2画像が生成される。第2画像は、例えば
図5の中図に示すように、自然光の下で(すなわち、構造化光が投影されていない)被写体を撮像した画像である。ステップS12の処理は、第2撮像処理の一例である。
【0031】
なお、第2露光時間B(例えば、10msec)は、第1露光時間A(例えば、1msec)より長く設定される。第1露光時間Aを短くすることにより、構造化光を投影した被写体を撮像する際に、外光の影響を抑えることができる。また、第2露光時間Bを長くすることにより、撮像装置1からの距離が遠い被写体までを鮮明に撮像することができる。但し、露光時間A、Bの具体的な数値は、前述の例に限定されない。
【0032】
次に、画像処理モジュール2は、ステップS11で撮像された第1画像と、ステップS12で撮像された第2画像とを合成して、合成画像を生成する(S13)。より詳細には、画像処理モジュール2は、撮像ユニット11によって撮像された第1画像及び第2画像を合成し、撮像ユニット12によって撮像された第1画像及び第2画像を合成し、撮像ユニット13によって撮像された第1画像及び第2画像を合成して、3つの合成画像を生成する。ステップS13の処理は、生成処理の一例である。
【0033】
画像処理モジュール2は、例えば、周知のハイダナミックレンジ合成によって、第1画像及び第2画像を生成する。これにより、第1画像と第2画像とを比較して、コントラストの差が大きい(換言すれば、空間周波数が高い)領域同士が合成されて、合成画像が生成される。これにより、例えば
図5の下図において、撮像装置1から近く構造化光が強く投影されることで空間周波数が高くなる領域(例えば、人に相当する像領域)や、構造化光を投影しないと空間周波数が低くなる領域(例えば、無地の床、壁、天井、机の天板に相当する領域)は第1画像が採用される。また、撮像装置1から遠方にあり構造化光を投影しなくても鮮明に撮影すれば空間周波数が高くなる領域(例えば、文字や図柄が表されたホワイトボードやポスターに相当する領域、床、壁、天井のつなぎ目や机のエッジに相当する領域)は第2画像が採用される。
【0034】
次に、画像処理モジュール2は、ステップS13で生成した3つの合成画像を用いて各画素の距離情報を演算し、深度マップを生成する(S14)。より詳細には、画像処理モジュール2は、撮像ユニット11、12を用いて生成した一対の合成画像(視差画像)に基づいて、近距離用の深度マップを生成する。また、画像処理モジュール2は、撮像ユニット11、13を用いて生成した一対の合成画像(視差画像)に基づいて、長距離用の深度マップを生成する。ステップS14の処理は、演算処理の一例である。そして、画像処理モジュール2は、生成した深度マップをロボットアーム制御装置に出力する。
【0035】
画像処理モジュール2は、予め定められたフレームレートで、ステップS11~S14の処理を繰り返し実行する。例えば、フレームレートを60fpsとすれば、1/60sec間隔でステップS11~S14の処理が繰り返される。
【0036】
[深度マップ生成処理2]
図6は、深度マップ生成処理2のフローチャートである。
図7は、深度マップ生成処理2における撮像ユニット11、12、13及び構造化照明14の動作タイミングを示す図である。なお、深度マップ生成処理1との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0037】
まず、画像処理モジュール2は、構造化照明14を点灯させた状態で、撮像ユニット11、12それぞれに、第1露光時間Aで第1画像を撮像させる(S21)。これにより、ステップS21では、互いに視差を有する2つの第1画像が生成される。ステップS21の処理は、第1撮像処理の一例である。
【0038】
次に、画像処理モジュール2は、ステップS21が終了した後に、構造化照明14を消灯させた状態で、撮像ユニット11、12それぞれに、第2露光時間Bで第2画像を撮像させる(S22)。これにより、ステップS22では、互いに視差を有する2つの第2画像が生成される。ステップS22の処理は、第2撮像処理の一例である。
【0039】
次に、画像処理モジュール2は、ステップS22が終了した後に、構造化照明14を点灯させた状態で、撮像ユニット11、13それぞれに、第1露光時間Aで第3画像を撮像させる(S23)。これにより、ステップS23では、互いに視差を有する2つの第3画像が生成される。第3画像は、第1画像と同様に、構造化光が投影された被写体を撮像した画像である。ステップS23の処理は、第3撮像処理の一例である。
【0040】
次に、画像処理モジュール2は、ステップS23が終了した後に、構造化照明14を消灯させた状態で、撮像ユニット11、13それぞれに、第3露光時間Cで第4画像を撮像させる(S24)。これにより、ステップS24では、互いに視差を有する2つの第4画像が生成される。第4画像は、第2画像と同様に、自然光の下で(すなわち、構造化光が投影されていない)被写体を撮像した画像である。ステップS24の処理は、第4撮像処理の一例である。
【0041】
すなわち、ステップS21~S24は、異なるタイミングで実行される。また、第3露光時間C(例えば、14msec)は、第2露光時間B(例えば、10msec)より長く設定される。これより、長距離用の深度マップを生成するための第4画像が、短距離用の深度マップを生成するための第2画像と比較して、距離が遠い被写体が鮮明になる。但し、第3露光時間Cの具体的な数値は、前述の例に限定されない。また、前述の例では、ステップS21、S23の第1露光時間Aを同一に設定されているが、ステップS23の露光時間をステップS21より長く設定してもよい。
【0042】
なお、ステップS21~S24の実行順序は、
図6の例に限定されない。他の例として、画像処理モジュール2は、ステップS21、S23、S22、S24の順に撮像処理を実行してもよい。また、ステップS21、S23の処理は同時に実行されてもよい。すなわち、画像処理モジュール2は、
図3のステップS11、
図6のステップS22、S24の順に撮像処理を実行してもよい。
【0043】
次に、画像処理モジュール2は、第1画像及び第2画像を合成して合成画像を生成し、第3画像及び第4画像を合成して合成画像を生成する(S25)。より詳細には、画像処理モジュール2は、ステップS21、S22で撮像ユニット11によって撮像された第1画像及び第2画像を合成し、ステップS21、S22で撮像ユニット12によって撮像された第1画像及び第2画像を合成し、ステップS23、S24で撮像ユニット11によって撮像された第3画像及び第4画像を合成し、ステップS23、S24で撮像ユニット13によって撮像された第3画像及び第4画像を合成して、4つの合成画像を生成する。ステップS25の処理は、生成処理の一例である。
【0044】
次に、画像処理モジュール2は、ステップS25で生成した4つの合成画像を用いて各画素の距離情報を演算し、深度マップを生成する(S26)。より詳細には、画像処理モジュール2は、第1画像及び第2画像を合成した一対の合成画像(視差画像)に基づいて、近距離用の深度マップを生成する。また、画像処理モジュール2は、第3画像及び第4画像を合成した一対の合成画像(視差画像)に基づいて、長距離用の深度マップを生成する。ステップS26の処理は、演算処理の一例である。そして、画像処理モジュール2は、生成した深度マップをロボットアーム制御装置に出力する。
【0045】
[第1実施形態の作用効果]
第1実施形態によれば、第1撮像処理及び第2撮像処理において、構造化照明14の点灯及び消灯と、露光時間A、Bとを切り替える。これにより、構造化光の下での第1画像と、自然光の下での第2画像とを、同一の撮像ユニット11~13で撮像することができるので、撮像装置1の小型化及び簡素化を実現できる。
【0046】
また、第1露光時間Aを短くすることにより、構造化光を投影した被写体を撮像する際に、外光の影響を抑えることができる。さらに、第2露光時間Bを長くすることにより、撮像装置1からの距離が遠い被写体までを鮮明に撮像することができる。これにより、距離画像の演算精度を向上させることができる。
【0047】
また、第1実施形態によれば、撮像ユニット11、12の間の基線長L1と、撮像ユニット11、13の間の基線長L2とを異ならせることによって、近距離用の深度マップと、長距離用の深度マップとを適切に生成することができる。
【0048】
ここで、深度マップ生成処理1によれば、撮像ユニット11~13に同じタイミングで撮像させるので、深度マップ生成処理2と比較してフレームレートを高くすることができる。一方、深度マップ生成処理2によれば、近距離用の第2画像を撮像する際の第2露光時間B(S22)と、長距離用の第4画像を撮像する際の第3露光時間C(S24)とを、測距対象の距離に応じて調整することができる。
【0049】
また、第1実施形態によれば、撮像ユニット11~13及び構造化照明14を直線Lに配置することによって、直線Lと直交する方向の撮像装置1のサイズを小型化することができる。さらに、撮像装置1及び画像処理モジュール2を別体とすることによって、撮像装置1がさらに小型化されるので、ロボットアームの軽量化を実現できる。
【0050】
なお、深度マップ生成処理1、2において、撮像ユニット11~13のうちの1つの動作を省略してもよい。また、第1実施形態に係る画像処理装置100において、撮像ユニット11~13のうちの1つを省略してもよい。すなわち、画像処理装置100は、少なくとも2つの撮像ユニットを備えていればよい。
【0051】
[第2実施形態]
[第2実施形態に係る画像処理装置100の全体構成]
図8~
図13を参照して、第2実施形態に係る画像処理装置100を説明する。
図8は、第2実施形態に係る画像処理装置100のハードウェア構成である。
図9は、イメージセンサ11bのセルの例を示す図である。
図10は、イメージセンサ11b、12b及び光学フィルタ11c、12cの位置関係を示す(より詳細には、イメージセンサ11b、12bの背面側から光軸方向に見た)図である。なお、第1実施形態との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0052】
図8に示すように、第2実施形態に係る画像処理装置100は、撮像ユニット13が省略されている点で、第1実施形態と相違する。また、第2実施形態に係る撮像ユニット11、12は、光学フィルタ11c、12cと、フィルタ駆動部11d、12dとを備える点で、第1実施形態と相違する。
【0053】
第2実施形態に係るイメージセンサ11bは、
図9に示す画素16を格子状に配列して構成されている。画素16は、青色光を受光するセルBと、緑色光を受光するセルGと、赤色光を受光するセルRと、赤外光を受光するセルIRとを含み、各セルが格子状(本実施形態では、6×6)に配列されている。すなわち、第2実施形態に係るイメージセンサ11bは、可視光及び赤外光の両方を光電変換して画像データを生成することができる。イメージセンサ12bについても同様である。
【0054】
光学フィルタ11cは、イメージセンサ11bに入射する光の光路(以下、単に「光路」と表記する。)上に配置されている。一例として、光学フィルタ11cは、光学レンズ11a及びイメージセンサ11bの間の光路上に配置されていてもよい。他の例として、光学フィルタ11cは、光学レンズ11aを挟んでイメージセンサ11bと反対側の光路上に配置されていてもよい。
【0055】
図10に示すように、第2実施形態に係る光学フィルタ11cは、円盤形状の外形を呈する。そして、光学フィルタ11cは、第1部分11eと、第2部分11fとを有する。第1部分11eは、円盤形状の周方向の一部分に相当する扇型の部分である。そして、第1部分11eは、特定波長領域の光を遮断し、特定波長領域とは異なる波長の光を透過する。第2部分11fは、円盤形状の周方向の他の部分に相当する扇型の部分である。そして、第2部分11fは、特定波長領域の光を透過し、特定波長領域とは異なる波長の光を遮断する。
【0056】
フィルタ駆動部11dは、画像処理モジュール2の制御に従って、光学フィルタ11cを回転させる駆動力を発生させるモータである。フィルタ駆動部11dは、光学フィルタ11cを回転させることによって、第1部分11eを光路上に配置した状態(
図10の状態A)と、第2部分11fを光路上に配置した状態(
図10の状態B)とを切り替える。
【0057】
例えば、構造化照明14が赤外波長の構造化光を投影し、特定波長領域を可視波長領域とした場合、第1撮像ステップ(S31)において、第1部分11eが光路上に配置する(換言すれば、第2部分11fが光路上から外れた位置に配置する)。一方、第2撮像ステップ(S32)において、第2部分11fが光路上に配置する(換言すれば、第1部分11eが光路上から外れた位置に配置する)。
【0058】
すなわち、光学フィルタ11cは、ステップS31の実行中に第1部分11eが光路上に配置され、ステップS32の実行中に第2部分11fが光路上に配置されるように、第1部分11e及び第2部分11fの中心角が設定される。そして、フィルタ駆動部11dは、1fps(例えば、1/60sec)で1回転する速度で、光学フィルタ11cを回転させる。光学フィルタ12c及びフィルタ駆動部12dの構成は、前述した光学フィルタ11c及びフィルタ駆動部11dと共通する。
【0059】
第2実施形態に係る画像処理モジュール2(プロセッサモジュール22)は、光学フィルタ11c、12cの駆動(回転)を指示する回転信号を撮像装置1(フィルタ駆動部11d、12d)に出力する。より詳細には、画像処理モジュール2は、繰り返し実行する
図11のステップS31、S32に同期させて、光路上に第1部分11eまたは第2部分11fが配置されるように、フィルタ駆動部11d、12dを制御して光学フィルタ11c、12cを回転させる。
【0060】
[深度マップ生成処理3]
図11は、深度マップ生成処理3のフローチャートである。
図12は、深度マップ生成処理3における撮像ユニット11、12、光学フィルタ11c、12c、及び構造化照明14の動作タイミングを示す図である。なお、深度マップ生成処理1、2との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0061】
まず、画像処理モジュール2は、構造化照明14を点灯させ且つ光学フィルタ11c、12cの第1部分11e、12eを光路上に配置した状態で、撮像ユニット11、12それぞれに、第1露光時間Aで第1画像を撮像させる(S31)。なお、光学フィルタ11c、12cの第1部分11e、12eは、ステップS31の開始以前に光路上に進入し、ステップS31の終了以降に光路上から退出すればよく、ステップS31の開始及び終了と同時でなくてもよい。換言すると、光学フィルタ11c、12cの第1部分11e、12eは、第1画像を撮像するタイミングにおいて光路上に配置されていればよい。ステップS31の処理は、第1撮像処理の一例である。
【0062】
次に、画像処理モジュール2は、ステップS31が終了した後に、構造化照明14を消灯させ且つ光学フィルタ11c、12cの第2部分11f、12fを光路上に配置した状態で、撮像ユニット11、12それぞれに、第2露光時間Bで第2画像を撮像させる(S32)。なお、光学フィルタ11c、12cの第2部分11f、12fは、ステップS32の開始以前に光路上に進入し、ステップS32の終了以降に光路上から退出すればよく、ステップS32の開始及び終了と同時でなくてもよい。換言すると、光学フィルタ11c、12cの第2部分11f、12fは、第2画像を撮像するタイミングにおいて光路上に配置されていればよい。ステップS32の処理は、第2撮像処理の一例である。
【0063】
次に、画像処理モジュール2は、第1画像及び第2画像を合成して合成画像を生成して、合成画像を生成する(S33)。より詳細には、画像処理モジュール2は、撮像ユニット11によって撮像された第1画像及び第2画像を合成し、撮像ユニット12によって撮像された第1画像及び第2画像を合成して、2つの合成画像を生成する。ステップS33の処理は、生成処理の一例である。
【0064】
次に、画像処理モジュール2は、ステップS33で生成した一対の合成画像(視差画像)を用いて各画素の距離情報を演算し、深度マップを生成する(S34)。ステップS34の処理は、演算処理の一例である。そして、画像処理モジュール2は、生成した深度マップをロボットアーム制御装置に出力する。
【0065】
[第2実施形態の作用効果]
第2実施形態によれば、可視光及び赤外光の両方に感度を有するイメージセンサ11b、12bを採用すると共に、光学フィルタ11c、12cを用いてイメージセンサ11b、12bに到達する光の波長を切り替えることによって、第1画像及び第2画像を鮮明に撮像することができる。特に、赤外波長の構造化光の下で第1画像を撮像することによって、外光の影響を低減することができる。
【0066】
また、第2実施形態によれば、第1撮像処理及び第2撮像処理に同期させて、円盤形状の光学フィルタ11c、12cを一方向に回転させるので、シンプルな構成でイメージセンサ11b、12bに到達する光の波長を切り替えることができる。
【0067】
なお、第1部分11e、12e及び第2部分11f、12fが遮断及び透過する波長の組み合わせは、前述の例に限定されない。他の例として、構造化照明14が赤外波長の構造化光を投影し、特定波長領域を赤外波長領域とした場合、第1撮像ステップ(S31)において、第2部分11fが光路上に進入する(換言すれば、第1部分11eが光路上から退出する)。一方、第2撮像ステップ(S32)において、第1部分11eが光路上に進入する(換言すれば、第2部分11fが光路上から退出する)。
【0068】
また、光学フィルタ11cの具体的な構成は、
図10の例に限定されない。他の例として、光学フィルタ11cは、特定波長領域の光を遮断し、特定波長領域から外れた光を透過する第1部分11eと、全ての波長領域の光を透過する第2部分11fとで構成されていてもよい。さらに他の例として、光学フィルタ11cは、第1部分11eに相当する扇型の外形を呈していてもよい。光学フィルタ12cについても同様である。
【0069】
さらに、イメージセンサ11bに入射する光の光路に対して、光学フィルタ11c、12cを進退させる具体的な構成は、
図10の例に限定されない。
図13は、光路上に対して光学フィルタ11c、12cを進退させる構成の他の例を示す図である。
【0070】
図13に示す光学フィルタ11cは、特定波長領域の光を遮断し、前記特定波長領域から外れた光を透過する。なお、光学フィルタ11cの外形は、矩形、円形など、任意の形状を採用できる。そして、フィルタ駆動部11dは、光路に直交する方向に光学フィルタ11cをスライドさせることによって、光路上に対して光学フィルタ11cを進退させてもよい。光学フィルタ12cについても同様である。
【0071】
[第3実施形態]
[第3実施形態に係る画像処理装置100の全体構成]
図14~
図16を参照して、第3実施形態に係る画像処理装置100を説明する。
図14は、第3実施形態に係る画像処理装置100のハードウェア構成である。なお、第1及び第2実施形態との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0072】
図14に示すように、第3実施形態に係る画像処理装置100は、撮像ユニット13が省略されている点で、第1実施形態と相違する。また、第3実施形態に係る画像処理装置100は、照明装置30に接続されている点で、第1実施形態と相違する。
【0073】
照明装置30は、構造化照明14による構造化光の投影範囲(換言すれば、撮像ユニット11、12の撮像領域)に可視光を照射する。照明装置30が照射するのは、投影パターンを含まない単純光である。また、照明装置30が照射するのは、拡散しながら進行する拡散光である。照明装置30は、所謂「フラッシュ装置」である。また、第3実施形態に係る画像処理モジュール2(プロセッサモジュール22)は、照明装置30の点灯及び消灯を指示する照明信号を出力する。
【0074】
[深度マップ生成処理4]
図15は、深度マップ生成処理4のフローチャートである。
図16は、深度マップ生成処理4における撮像ユニット11、12、構造化照明14、及び照明装置30の動作タイミングを示す図である。なお、深度マップ生成処理1、2、3との共通点の詳細な説明は省略し、相違点を中心に説明する。
【0075】
まず、画像処理モジュール2は、構造化照明14を点灯させ且つ照明装置30を消灯させた状態で、撮像ユニット11、12それぞれに、第1露光時間Aで第1画像を撮像させる(S41)。ステップS41の処理は、第1撮像処理の一例である。
【0076】
次に、画像処理モジュール2は、ステップS41が終了した後に、構造化照明14を消灯させ且つ照明装置30を点灯させた状態で、撮像ユニット11、12それぞれに、第2露光時間Bで第2画像を撮像させる(S42)。ステップS42の処理は、第2撮像処理の一例である。
【0077】
次に、画像処理モジュール2は、第1画像及び第2画像を合成して、合成画像を生成する(S43)。より詳細には、画像処理モジュール2は、撮像ユニット11によって撮像された第1画像及び第2画像を合成し、撮像ユニット12によって撮像された第1画像及び第2画像を合成して、2つの合成画像を生成する。ステップS43の処理は、生成処理の一例である。
【0078】
次に、画像処理モジュール2は、ステップS43で生成した一対の合成画像(視差画像)を用いて各画素の距離情報を演算し、深度マップを生成する(S44)。ステップS44の処理は、演算処理の一例である。そして、画像処理モジュール2は、生成した深度マップをロボットアーム制御装置に出力する。
【0079】
[第3実施形態の作用効果]
第3実施形態によれば、第1画像を撮像する際には照明装置30を消灯して周囲を暗くし、第2画像を撮像する際には照明装置30を点灯して周囲を明るくする。これにより、外光の影響を抑えた第1画像と、鮮明な第2画像とを得ることができる。
【0080】
[その他の実施形態]
第1~第3実施形態は、任意の組み合わせで組み合わせることができる。すなわち、第2実施形態に係る光学フィルタ11c、12c及びフィルタ駆動部11d、12dを、第1実施形態及び第3実施形態に適用してもよい。また、第3実施形態に係る照明装置30を、第1実施形態及び第2実施形態に適用してもよい。
【0081】
以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0082】
本開示は、カメラで撮像した画像からの距離情報の演算精度を向上させると共に、小型化及び簡素化を実現した画像処理装置として有用である。
【符号の説明】
【0083】
1 撮像装置
2 画像処理モジュール
3 ケーブル
10 :第1筐体
11 :第1撮像ユニット
11a,12a,13a 光学レンズ
11b,12b,13b イメージセンサ
11c,12c 光学フィルタ
11d,12d :フィルタ駆動部
11e 第1部分
11f 第2部分
12 第2撮像ユニット
13 第3撮像ユニット
14 構造化照明
15,21 インタフェースモジュール
16 画素
20 第2筐体
21 インタフェースモジュール
22 プロセッサモジュール
30 照明装置
100 画像処理装置