(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 7/593 20170101AFI20240521BHJP
G01B 11/00 20060101ALI20240521BHJP
G01B 11/245 20060101ALI20240521BHJP
【FI】
G06T7/593
G01B11/00 H
G01B11/245 H
(21)【出願番号】P 2020075240
(22)【出願日】2020-04-21
【審査請求日】2023-02-13
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(74)【代理人】
【識別番号】100110607
【氏名又は名称】間山 進也
(72)【発明者】
【氏名】一村 リサ
(72)【発明者】
【氏名】木船 英明
(72)【発明者】
【氏名】橋本 崇
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】特表2009-509779(JP,A)
【文献】特開2002-008040(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G01B 11/00 - 11/30
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
異なる視点から対象物が撮影された複数の画像を取得する取得手段と、
前記画像
に設定される関心領域に基づいて、前記画像
における
前記関心領域中の対象物
として認識される領域の重心位置を計算する計算手段と、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定する判定手段と、
前記重心位置に基づいて、前記画像中に前記関心領域を再設定する設定手段と
を含む、情報処理装置。
【請求項2】
前記異なる視点の前記複数の画像は、それぞれ、複数のフレームで構成される時系列で与えられており、前記
関心領域は、過去の時点のフレームで計算された重心位置に基づいて、現在のフレームに対し設定さ
れる、請求項1に記載の情報処理装置。
【請求項3】
前記隠蔽が発生した画像を除外して、前記複数の画像のうちから三次元計測で使用する少なくとも2つの画像を選択する選択手段
をさらに含む、請求項2に記載の情報処理装置。
【請求項4】
前記選択手段により選択された、異なる視点での少なくとも2つの画像に基づいて、三次元計測を行う計測手段
をさらに含み、前記設定手段は、前記三次元計測により得られる前記対象物の距離に基づいて、前記関心領域の大きさを変化させることを特徴とする、請求項3に記載の情報処理装置。
【請求項5】
異なる視点から対象物が撮影された複数の画像を取得する取得手段と、
前記画像の部分領域に基づいて、前記画像中における対象物の重心位置を計算する計算手段と、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定する判定手段と
を含み、前記重心位置の時間変化に関連した特性値は、重心速度の変化であり、前記判定手段による判定は、前記重心速度の変化に対する閾値条件に基づく
、情報処理装置。
【請求項6】
異なる視点から対象物が撮影された複数の画像を取得する取得手段と、
前記画像の部分領域に基づいて、前記画像中における対象物の重心位置を計算する計算手段と、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定する判定手段と
を含み、前記重心位置の時間変化に関連した特性値は、重心加速度の変化であり、前記判定手段による判定は、前記重心加速度の変化に対する閾値条件に基づく
、情報処理装置。
【請求項7】
それぞれ異なる位置に配置された複数の撮像装置と、
前記複数の撮像装置で撮影された複数の画像を取得する取得手段と、
前記画像
に設定される関心領域に基づいて、前記画像
における
前記関心領域中の対象物
として認識される領域の重心位置を計算する計算手段と、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定する判定手段
と、
前記重心位置に基づいて、前記画像中に前記関心領域を再設定する設定手段と
を含む、情報処理システム。
【請求項8】
前記撮像装置は、それぞれ、同期装置からの信号に基づいてタイミング同期して撮影を行う高速ビジョンカメラである、請求項7に記載の情報処理システム。
【請求項9】
情報処理方法であって、コンピュータが、
異なる視点から対象物が撮影された複数の画像を取得するステップと、
前記画像
に設定される関心領域に基づいて、前記画像
における
前記関心領域中の対象物
として認識される領域の重心位置を計算するステップと、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定するステップ
と、
前記重心位置に基づいて、前記画像中に前記関心領域を再設定するステップと
を実行する、情報処理方法。
【請求項10】
コンピュータを、
異なる視点から対象物が撮影された複数の画像を取得する取得手段、
前記画像
に設定される関心領域に基づいて、前記画像
における
前記関心領域中の対象物
として認識される領域の重心位置を計算する計算手段
、
前記重心位置の時間変化に関連した特性値に基づいて、前記画像各々において対象物の隠蔽が発生したかを判定する判定手段
、および
前記重心位置に基づいて、前記画像中に前記関心領域を再設定する設定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
従来より、工場での部品組み立てや高精度のアライメント調整のために、動物体の三次元計測が行われている。三次元計測には、ステレオカメラを含む撮像システムを用いるものが知られている。
【0003】
上述した三次元計測では、対象物をステレオカメラで撮影した画像を用いる。三次元計測において、環境や対象物が時々刻々と変動する場合、しばしば、オクルージョン(画像内において対象物が障害物に隠蔽されてしまう事象)が生じ、対象物の距離の算出が困難となる可能性がある。
【0004】
オクルージョンに関連して、例えば、特開2003‐150940号公報(特許文献1)に開示される従来技術が知られている。特許文献1は、1つの基準カメラからの基準画像と少なくとも1つの比較カメラからの比較画像とを使用して対応点探索を行うステレオ画像処理装置が開示される。特許文献1は、基準画像内のターゲット画素と、比較画像内の対応の画素値の相違度に基づいて、オクルージョンが発生しているカメラペアを検出して、そのカメラペアを対応点探索から除外する構成が開示されている。しかしながら、特許文献1は、画像における対象物の隠蔽の発生を効率的に判定するという点で開示するものではない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、上記点に鑑みてなされたものであり、本開示は、画像における対象物の隠蔽の発生を効率的に判定することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示では、上記課題を解決するために、下記特徴を有する情報処理装置を提供する。情報処理装置は、異なる視点から対象物が撮影された複数の画像を取得する取得手段を含む。情報処理装置は、また、画像の部分領域に基づいて、画像中における対象物の重心位置を計算する計算手段を含む。情報処理装置は、重心位置の時間変化に関連した特性値に基づいて、画像各々において対象物の隠蔽が発生したかを判定する判定手段とを含む。
【発明の効果】
【0007】
上記構成により、画像における対象物の隠蔽の発生を効率的に判定することが可能となる。
【図面の簡単な説明】
【0008】
【
図1】1または複数の実施形態による三次元計測システムの全体構成図。
【
図2】三次元計測システムにて発生し得るオクルージョン(対象物の障害物による隠蔽)を説明する図。
【
図3】1または複数の実施形態による三次元計測装置として用いることができる、パーソナルコンピュータのハードウェア構成図。
【
図4】第1の実施形態による三次元計測装置の機能ブロック図。
【
図5】第1の実施形態による三次元計測装置が実行する、オクルージョンに対処しながら三次元計測を行う三次元計測処理を示すフローチャート。
【
図6】特定の実施形態による三次元計測装置における関心領域の初期設定およびステレオペアからの画像の除外を説明する図。
【
図7】特定の実施形態による三次元計測装置における対象物のトラッキング手法を説明する概略図。
【
図8】第1の実施形態による三次元計測装置が生成する、重心位置および重心速度の時系列を模式的に表すグラフ。
【
図9】対象物および障害物の輝度が同程度である場合のトラッキングの様子を示す図。
【
図10】障害物の輝度が対象物の輝度よりも低い場合のトラッキングの様子を示す図。
【
図11】対象物が静止し、障害物が移動している場合に実測した重心位置および重心速度を示すグラフ。
【
図12】第2の実施形態による三次元計測装置が実行する、オクルージョンに対処しながら三次元計測を行う三次元計測処理を示すフローチャート。
【
図13】第2の実施形態による三次元計測装置が生成する、重心位置および重心速度の時系列を模式的に表すグラフ。
【
図14】対象物が静止し、障害物が移動している場合に実測した重心加速度を示すグラフ。
【
図15】三次元計測システムにて2つ以上の高速ビジョンカメラで発生し得るオクルージョン(対象物の障害物による隠蔽)を説明する図。
【
図16】第3の実施形態による三次元計測装置が実行する、オクルージョンに対処しながら三次元計測を行う三次元計測処理を示すフローチャート。
【
図17】第4の実施形態による三次元計測装置が実行する、オクルージョンに対処しながら三次元計測を行う三次元計測処理の一部を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、情報処理システムおよび情報処理装置の一例として、それぞれ、複数の高速ビジョンカメラ160と、対象物の三次元計測を行う三次元計測装置110とを含み構成される三次元計測システム100、および、該三次元計測装置110を参照しながら説明する。
【0010】
図1は、1または複数の実施形態による三次元計測システム100の全体構成を示す。
図1に示すように、三次元計測システム100は、三次元計測装置110と、カメラ同期装置150と、それぞれ三次元計測装置110およびカメラ同期装置150に接続される複数の高速ビジョンカメラ160a~160zとを含み構成される。
【0011】
複数の高速ビジョンカメラ160a~160zは、それぞれ異なる位置にそれぞれ所定の方向を向くように配置されており、異なる視点から、対象物102を被写体として撮影するよう構成されている。したがって、複数の高速ビジョンカメラ160a~160zによって撮像された複数の画像間では、視差が生じる。好ましくは、複数の高速ビジョンカメラ160a~160zは、それぞれ、対象物102が移動可能な範囲がカバーされるように視野が設定される。各高速ビジョンカメラ160は、カメラ同期装置150から入力されるタイミング信号に基づいて、視野内の対象物102を撮影し、撮影した画像を三次元計測装置110に入力する。
【0012】
高速ビジョンカメラ160は、30fps~60fps程度の通常のカメラよりも高速に画像を撮像する撮像装置であり、典型的には、1000fps程度のフレームレートを実現するものが好ましく用いられる。この高速なフレームレートに起因して、高速ビジョンカメラ160は、高速に動く動物体でも対応が可能である。各高速ビジョンカメラ160は、外部のカメラ同期装置150によってシャッターが同期されているため、同時刻に同フレームの撮影が可能とされる。
【0013】
カメラ同期装置150は、各高速ビジョンカメラ160のシャッター同期を外部から制御する。外部のカメラ同期装置150を複数の高速ビジョンカメラ160に繋げ、プログラムにてマスタ‐スレーブ設定をすることにより、外部トリガの入出力によりシャッター同期が可能となる。
【0014】
三次元計測装置110は、対象物102を複数の高速ビジョンカメラ160a~160zで撮影して得られた複数の画像に基づいて、対象物102の奥行を含めた三次元計測を行う。本実施形態による三次元計測装置110は、詳細を後述するように、三次元計測を行う際に、対象物102の障害物による隠蔽(以下、オクルージョンという場合がある。)が発生していないかを判定するとともに、オクルージョンが生じた高速ビジョンカメラ160の画像を、三次元計測で使用する画像群から除外するよう構成されている。
【0015】
図2は、三次元計測システムにて発生し得るオクルージョンを説明する。
図2(A)は、ある時点での第1~第3の高速ビジョンカメラ160a~160cにより対象物102を撮影している状態を示す。
図2(B)は、
図2(A)の時点より後の、対象物102が移動した状態で第1~第3の高速ビジョンカメラ160a~160cにより対象物102を撮影している状態を示す。
【0016】
図2(A)の時点では、3つの高速ビジョンカメラ160a~160c各々で撮影された画像170a~170cにおいては、
図2中に描かれているように、障害物104が、第2の高速ビジョンカメラ160bの視野内に入っているものの、オクルージョンは、いずれの高速ビジョンカメラ160においても生じていない。
【0017】
しかしながら、対象物102が移動し、
図2(B)の状態となった時点では、第2の高速ビジョンカメラ160bの画像170bにおいて、対象物172bが障害物174bに隠れてしまっており、オクルージョンが発生している。このとき、対象物102が障害物104に隠されたことに起因して、第2の高速ビジョンカメラ160bで撮影される画像170bを三次元計測で使用する画像群から除外すること(ステレオ法で、ステレオペアとして用いないこと)が好ましい。
図1に示す三次元計測装置110は、なんらかの原因に起因した対象物102のオクルージョンの発生を効率的に判定し、オクルージョンが生じた高速ビジョンカメラ160の画像を除外するよう構成される。
【0018】
なお、以下に説明する実施形態では、障害物104は、高速ビジョンカメラ160の視野に対して十分に小さく、複数の高速ビジョンカメラ160のうちの少なくとも2台は、オクルージョンが生じないよう配置されているものとして説明を続ける。したがって、
図2の3つの高速ビジョンカメラ160a~160cを用いる例では、オクルージョンが生じる高速ビジョンカメラ160は1台のみである。
【0019】
また、対象物102は、説明の便宜上、再帰性反射材で作成されたマーカである場合を例として説明するが、マーカが別の対象物(例えば、工場での部品組み立てにおける部品など)に貼り付けられていて、その貼り付けられたマーカを検知することとしてもよい。また、認識される対象物102は、再帰性反射材で作成されたマーカに限定されるものでもなく、撮像された画像から認識可能なものであれば、いかなる形態の物体を対象物とすることができる。
【0020】
以下、三次元計測システム100の機能の詳細について説明する前に、三次元計測装置110のハードウェア構成について説明する。
【0021】
図3は、本実施形態による三次元計測装置110として用いることができるパーソナルコンピュータのハードウェア構成を示す。ここでは、パーソナルコンピュータ500のハードウェア構成について説明する。
【0022】
図3に示されているように、パーソナルコンピュータ500は、汎用なコンピュータによって構築されており、
図3に示されているように、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、HDD(Hard Disk Drive)504、HDDコントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、データバス510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0023】
これらのうち、CPU501は、パーソナルコンピュータ500全体の動作を制御する。ROM502は、IPL(Initial Program Loader)等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HDD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHDD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0024】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RWメディア513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0025】
以下、
図4を参照しながら、三次元計測装置110の機能構成について説明する。
図4は、第1の実施形態による三次元計測装置110の機能ブロックを示す。
【0026】
図4に示すように、三次元計測装置110は、複数台の高速ビジョンカメラ(
図4ではHSVと示されている。)160から、視点の異なる画像の入力を受ける画像入力部210と、入力された画像中で所定の対象物102を探索する対象探索部220と、画像中で対象物102を追跡するトラッキング部230と、画像中の障害物104による対象物102のオクルージョンの発生を判定する隠蔽判定部240と、画像入力部210に入力された、視点の異なる複数の画像に基づいて、三次元計測を行う三次元計測部250と、三次元計測のためのキャリブレーションを行う校正部260とを含み構成される。
【0027】
画像入力部210は、複数台の高速ビジョンカメラ160各々で撮像された画像の入力を受けて、取得した複数の高速ビジョンカメラ160の画像を、順次、対象探索部220に渡す。高速ビジョンカメラ160各々で撮像される画像の複数のフレームから構成される時系列データが、高速ビジョンカメラ160の台数分だけ入力されることになる。
【0028】
対象探索部220は、各画像中から、所定の対象物102を探索する。対象物102が、高輝度領域として背景や他の物体から識別可能な場合は、例えば二値化して、二値化画像中で対象物の輪郭を探索することができる。
【0029】
トラッキング部230は、画像中の対象物102の位置の追跡を行う。トラッキング部230は、より詳細には、重心計算部232と、領域設定部234とを含み構成される。
【0030】
重心計算部232は、関心領域(ROI;Region Of Interest)と参照される所定の部分領域の画像情報に基づいて、各フレーム内において対象物102の重心位置を計算する。関心領域は、対象探索部220で求められた対象物102の輪郭に応じた大きさの矩形領域として設定され得る。画像処理を関心領域内のみで行うことにより、計算量を大幅に削減することが可能となる。重心位置は、高速ビジョンカメラ160の撮影画像の座標系において計測される。各高速ビジョンカメラ160について計算された重心位置は、時系列データとして、隠蔽判定部240に入力される。重心計算部232は、本実施形態において、対象物の重心位置を計算する計算手段を構成する。
【0031】
領域設定部234は、重心計算部232で求められた重心位置を中心として関心領域(ROI)を設定する。関心領域は、過去の時点(典型的には前回)のフレームで計算された重心位置に基づいて、現在のフレームに対し設定されるものであり、随時更新される。領域設定部234は、本実施形態において、対象物の重心位置に基づいて、画像中に関心領域を設定する設定手段を構成する。
【0032】
隠蔽判定部240は、複数台の高速ビジョンカメラ160により撮影される複数の画像各々におけるオクルージョンの発生の有無を判定し、オクルージョンが発生した画像を除外する。説明する第1の実施形態による隠蔽判定部240は、より詳細には、重心速度算出部242と、ステレオペア選択部244とを含み構成される。
【0033】
重心速度算出部242は、各高速ビジョンカメラ160について、与えられる重心位置の時系列データに基づいて、重心速度を算出する。重心速度も時系列データとして計算される。隠蔽判定部240は、重心速度算出部242により算出された重心速度の時間変化に基づいて、オクルージョンの発生の有無を判定する。隠蔽判定部240は、オクルージョンが発生したかを判定する判定手段を構成する。なお、説明する第1の実施形態においては、対象物の重心速度の変化が、本実施形態において、重心位置の時間変化に関連した特性値として、オクルージョン判定に用いられる。オクルージョンの発生の有無の判定は、重心速度の変化に対する閾値条件に基づくことができる。
【0034】
ステレオペア選択部244は、複数台の高速ビジョンカメラ160で得られる複数の画像のうち、オクルージョンが発生したと判定された画像を除外して、残りの画像群から、三次元計測で用いるステレオペアを選択する。ステレオペア選択部244は、本実施形態において、三次元計測で使用する少なくとも2つの画像を選択する選択手段を構成する。
【0035】
三次元計測部250は、三角測量の原理を使用して三次元計測を行う。三次元計測は、説明する実施形態では、ステレオ法を用いることができる。ステレオ法の三次元計測は、高速ビジョンカメラ160で得られる2つの画像から得られる特徴点の視差に基づいて行われる。なお、ステレオ法であれば、特徴点のある一部のみ比較すればよく、計算方法も単純なため、処理時間を短縮することができる。三次元計測部250は、選択された、略同時点で異なる視点で撮影された少なくとも2つの画像に基づいて三次元計測を行う、計測手段を構成する。
【0036】
カメラ同期装置150は、各高速ビジョンカメラ160のシャッター同期を外部から行う。
【0037】
校正部260は、各高速ビジョンカメラ160の校正処理を行う。校正部260は、より詳細には、補正変換用行列計算部262と、基礎行列計算部264とを含み構成される。補正変換用行列計算部262は、補正変換用行列を計算する。基礎行列計算部264は、基礎行列を計算する。補正変換用行列と基礎行列が求められると、三次元計測に必要な射影行列Pnが求められる。
【0038】
ステレオ法の三次元計測では、下記式(1)および(2)の連立方程式を解くことにより、画素位置での距離が導出される。なお、下記式中、m~は、画像座標(u,v)(重心位置)の同次形であり、Pは射影行列であり、X~
wはワールド座標(Xw、Yw、Zw)の同次形である。また、下記式(1)および(2)中でチルダ(~)のアクセントが付された変数には、本文中においては、m~やX~
wのように表記する。また、ステレオ法による三次元計測およびそのための校正処理は、既存の技術を用いて適宜実施できるため、これ以上の詳細な説明には立ち入らない。
【0039】
【0040】
以下、
図5を参照しながら、第1の実施形態による三次元計測装置110が実行する、オクルージョンに対処しながら三次元計測を行う処理について説明する。
図5は、三次元計測処理を示すフローチャートである。
【0041】
図5に示す三次元計測処理は、動物体を対象物とし、障害物が対象物に重なってオクルージョンが生じると、対象物の重心位置が急変することを利用して、オクルージョン判定を行う処理である。
図5では、n台の高速ビジョンカメラ160を用いるものとして説明する。
【0042】
図5に示す処理は、例えば、オペレータからの三次元計測開始の指示に応答して、ステップS100から開始する。
【0043】
ステップS101では、三次元計測装置110は、校正部260により、各高速ビジョンカメラ160の初期設定を行い、補正変換用行列および基礎行列を求め、三次元計測に必要な射影行列Pnを求める。
【0044】
ステップS102では、三次元計測装置110は、複数の高速ビジョンカメラ160から、最初のフレームの複数の画像を取得する。ステップS103では、三次元計測装置110は、各高速ビジョンカメラ160について、画像全体から、対象物の輪郭を検索し、面積を導出する。特定の実施形態においては、各画像において、画像全体が二値化され、対象物の輪郭が探索される。ここでは、ノイズを含めて面積が複数個導出されるため、最大面積のものを、その画像に写っている対象物とする。ステップS104では、三次元計測装置110は、ステップS103で求めた最大面積を各高速ビジョンカメラ160の画像間で比較し、著しく異なるものを除外する。ステップS105では、三次元計測装置110は、残った画像でそれぞれ、面積に応じて決定したサイズの関心領域(ROI)を設定する。
【0045】
なお、説明する実施形態では、各高速ビジョンカメラ160の画像間で最大面積が著しく異なるものを除外するものとして説明した。しかしながら、これに限定されるものではない。他の実施形態では、対象物が球体である場合などは、全画像に関心領域を設定し、その関心領域が略正方形に該当しないものを除外することとしてもよい。
【0046】
図6は、特定の実施形態による三次元計測装置における関心領域の初期設定およびステレオペアからの画像の除外を説明する。
図6においては、各画像において、対象物172の輪郭領域が求められ、最大面積が著しく異なる中央の画像が除外されている。また、各輪郭領域を包含するように、関心領域(ROI)176が設定されている。
【0047】
再び、
図5を参照すると、ステップS106では、三次元計測装置110は、残ったN-1台の高速ビジョンカメラ160の画像からステレオペアを選択する。ステップS105でのステレオペアの選択は、選んだ2台の高速ビジョンカメラ160が設置された角度に基づいて行うことができる。各高速ビジョンカメラ160の配置および視野の向きは、適宜、事前に設定されており、三次元計測装置110に与えられているものとする。ステレオペアのカメラの間隔(基線長)を広げれば広げるほど、視差が大きく取れるため、奥行き(Z方向)の測定精度を高めることができるが、反対に画像面内(XY方向)の分解能が落ちることになる。そのため、90度前後の角度に近いペアを選択することが好ましい。
【0048】
ステップS107では、三次元計測装置110は、ステレオペアの画像各々において、関心領域の画像情報に基づいて、対象物の重心位置(x,y)を計算するとともに、重心位置のX方向およびY方向の変化量から重心速度vを計算する。
【0049】
ステップS108では、三次元計測装置110は、ステップS107で求めた重心速度vに基づいて、重心速度の変化v1を導出し、所定の閾値α1と比較する。重心速度の変化v1が、所定の閾値α1以上であれば、重心位置(x、y)が急変したことになるので、オクルージョンが発生したと判定する。
【0050】
ステップS108で、重心速度の変化v1が所定の閾値α1以上であると判定された場合(NO)は、ステップS112へ処理が分岐される。ステップS112では、三次元計測装置110は、オクルージョンありと判定した画像を除外し、残りのN-1台の高速ビジョンカメラ160から画像を取得した後、ステップS106へ処理を戻す。なお、
図5に示す実施形態では、オクルージョンありと判定された場合、次のフレームへ処理を進める。
【0051】
一方、ステップS108で、重心速度の変化v1と閾値α1を比較した結果、重心速度の変化v1が閾値α1より小さいと判定された場合(YES)は、オクルージョンの発生はないと判定し、ステップS109へと処理が進められる。なお、閾値α1の詳細については後述する。
【0052】
ステップS109では、三次元計測装置110は、ステレオペアの画像各々から求められた重心位置(x,y)とステップS101で求めた射影行列Pnとを用いて、三角測量の原理で三次元計測を実行する。ステップS110では、三次元計測装置110は、計算された対象物の重心位置を中心として関心領域を再設定する。関心領域の再設定に関しては、
図7を参照しながら詳細を後述する。
【0053】
ステップS111では、三次元計測装置110は、ステレオペアとして選んだ2台の高速ビジョンカメラ160から次のフレームの複数の画像を取得し、ステップS107へ処理をループさせる。
【0054】
上記フローでは、実質的に、ステップS103~ステップS106での一連の処理と、ステップS108、ステップS112およびステップS106の一連の処理とで2種類のオクルージョン判定手法が行われる。前者の判定は、あくまでも初期設定のためのステップであり、後者が、主要なオクルージョン判定手法である。オクルージョンが生じていない間は、各画像の重心位置のみを用いて三次元計測およびトラッキングのループを回すことができるので、計算が単純であり高速性を実現することが可能である。
【0055】
以下、
図7を参照しながら、対象物をトラッキングしながら関心領域を再設定する手法について説明する。
図7は、特定の実施形態による三次元計測装置における対象物のトラッキング手法を説明する概略を示す。
【0056】
動物体のトラッキング手法は、Self-Windowing(I. Ishii, et al., ”Self Windowing for High Speed Vision”, IEEE International Conference on Robotics & Automation, 1999)と呼ばれる手法を好適に用いることができ、以下、本手法でトラッキングを行うものとして説明する。
【0057】
図7において、310,320,330,340,350は、ある高速ビジョンカメラ160について時系列で撮影したフレームの画像を表している。フレーム310,320,330,340,350の間は、1フレームではなく、所定のフレーム数だけ間隔があけられている。
【0058】
まず第1フレーム310では、対象物312が黒色の物体として写されている。第2フレーム320では、対象物322のモーメントが導出され、重心位置(x、y)(図中、白色の点324で表される。)が計算される。第3フレーム330では、その重心位置(x、y)334を中心とした関心領域336が設定される。関心領域336のサイズは、対象物332の大きさに合わせたサイズとなる。第4フレーム340では、時間が経過し対象物342の位置が移動している様子を表している。第3フレーム330で求めた関心領域346内で重心位置(x、y)344が計算される。第5フレーム350では、第4フレームで求めた重心位置(x,y)354を中心とした新たな関心領域356が設定されている。
【0059】
従来は、画像全体を計算してトラッキングを行うことが主流であった。しかしながら、本実施形態においては、好ましくは高速ビジョンカメラ160が用いられることから、画像情報の連続性が高く、予測処理などを行わずに関心領域を絞ってトラッキングすることが可能となる。したがって、画像全体の情報を読み取る必要がなく、処理時間を大幅に削減可能であり、画像のサイズにも依存しない方法ということができる。また、前フレームの関心領域の画像と入力画像のみから関心領域の設定を更新することができるので、簡単化された対応付けを同時に実現できる。
【0060】
図8は、第1の実施形態による三次元計測装置が生成する、重心位置および重心速度の時系列を模式的に表すグラフである。
図8は、動物体の速度変化が比較的小さい場合を例示する。
図8(A)は、時間tに対する重心位置(x,y)(画面内での絶対位置)の経時変化を示し、
図8(B)は、重心位置の変化を合成して求めた重心速度vの経時変化を示している。
【0061】
図8に示すように、動物体の速度変化が比較的小さい場合は、オクルージョンが生じるタイミングまで、つまり関心領域内に障害物が入り込む時間t1まで、重心位置(x,y)は、ほぼ線形となっている。一方、オクルージョンが生じると、重心位置(x,y)に大きな変動が生じる。重心速度vについてみると、時間t1までは、微小な速度変化v1が生じている。しかしながら、オクルージョンが生じたタイミング以降は、オクルージョン発生前の微小な速度変化v1より大きな変化が生じている。したがって、所定の期間にわたり、平均的な重心速度vをモニタしながら、重心の平均速度を基準として、閾値±α1(>通常時に観測される重心速度の微小な変化幅より大きな所定の上限および下限)を設けることにより、好適にオクルージョンの発生を捕捉することが可能となる。なお、閾値α1の具体的な値は、判定感度を優先するか、誤判定防止を優先するかに応じて選定すればよい。
【0062】
図9は、対象物と障害物の輝度が同程度である場合のトラッキングの様子を示す。
図9に示すように対象物と障害物とが同程度の輝度である場合、オクルージョンが発生したとき、392および398並びに402および408で示すように対象物と障害物とが重なった一体の物体として画像処理では認識される。したがって、オクルージョンが発生する前は、対象物の重心が検出され、対象物の移動速度に応じて重心が所定の速度で移動していたのに対し、オクルージョンが発生した直後には、対象物と障害物とが重なった一体の物体の重心位置に移動し、重心位置が大きく変動することになる。
【0063】
図10は、障害物の輝度が、対象物の輝度よりも低い場合のトラッキングの様子を示す。
図10に示すように対象物が障害物の輝度と大きく異なる場合、オクルージョンが発生したとき、442および452に示すように、対象物が障害物に単純に対象物が隠れ、対象物の面積が減ったように認識される。したがって、オクルージョンが発生する前は、対象物の全体の重心が検出され、対象物の移動速度に応じて重心が所定の速度で移動していたのに対し、オクルージョンが発生した直後には、障害物に隠された部分を除く対象物の部分の重心位置となり、重心位置が大きく変動することになる。
【0064】
また、
図9および
図10に示すように、関心領域396,446内に障害物398,448が入ってきた瞬間から関心領域の位置が動くことになる。
【0065】
図11は、対象物が静止し、障害物が移動している場合の実測した重心位置(x,y)および重心速度vを示すグラフである。なお、
図11は、直径約10mmの再起性反射材をフレームレートが1000fpsの高速ビジョンカメラを用いて撮影した実験に基づくものである。
図11(A)は、重心位置(x、y)と重心速度vの時系列を表したものであり、
図11(B)は、重心速度vの縦軸の倍率を拡大した図である。なお、対象物が静止し、障害物が移動している状態で撮影を行ったものである。
【0066】
図11を参照すると明らかなように、オクルージョン発生時間まで、重心位置(x、y)および重心速度vの変化(速度変化v1として示してある)は、微小であり、一方で、オクルージョン発生後から大きな変動が生じていることがわかる。このことから、重心速度vの変化を特性値として、重心速度vの変化に対し所定の閾値条件を設けることによって、好適にオクルージョンを検知することが可能であることが理解される。
【0067】
上述した第1の実施形態では、対象物の重心速度の変化が、重心位置の時間変化に関連した特性値として、オクルージョン判定に用いられていた。しかしながら、オクルージョン判定に用いることができる特性値としては、対象物の重心速度の変化に限定されるものではない。以下、
図4および
図12~
図14を参照しながら、第2の実施形態による、オクルージョンに対処しながら三次元計測を行う三次元計測処理を説明する。第2の実施形態は、対象物の重心加速度の変化をオクルージョン判定に用いる特性値として用いるものである。なお、以下、相違点を中心に説明し、特に説明がない限り、第1の実施形態と同様の構成を備えるものとする。
【0068】
第2の実施形態において、
図4に示す重心速度算出部242は、重心速度vを算出するとともに、各高速ビジョンカメラ160について、算出した重心速度の時系列データに基づいて、重心加速度aを算出する。重心加速度aも時系列データとして計算される。隠蔽判定部240は、重心速度算出部242により算出された重心加速度の時間変化a2に基づいて、オクルージョンの発生の有無を判定する。なお、説明する第2の実施形態においては、対象物の重心加速度の変化a2が、本実施形態において、重心位置の時間変化に関連した特性値として、オクルージョン判定に用いられる。オクルージョンの発生の有無の判定は、重心加速度の変化a2に対する閾値条件に基づくことができる。
【0069】
以下、
図12を参照しながら、第2の実施形態による三次元計測装置110が実行する、オクルージョンに対処しながら三次元計測を行う処理について説明する。
図12は、第2の実施形態による三次元計測処理を示すフローチャートである。
【0070】
図12に示す三次元計測処理は、重心速度の変化が比較的に大きい動物体を対象物として、障害物が対象物に重なってオクルージョンが生じると、対象物の重心位置が急変することを利用して、オクルージョン判定を行う処理である。
図12では、n台の高速ビジョンカメラ160を用いるものとして説明する。
【0071】
ステップS200~ステップS206の処理、および、ステップS209~ステップS212の処理は、
図5に示したステップS100~ステップS106の処理およびステップS109~ステップS112の処理と同様であるため、以下、相違点を説明する。
【0072】
ステップS207では、三次元計測装置110は、ステレオペアの画像各々において、関心領域の画像情報に基づいて、対象物の重心位置(x,y)および重心速度vを計算するとともに、さらに重心加速度aを計算する。
【0073】
ステップS208では、三次元計測装置110は、ステップS207で求めた重心加速度aに基づいて、重心加速度の変化a2を導出し、所定の閾値α2と比較する。重心加速度の変化a2が、所定の閾値α2以上であれば重心位置(x、y)が急変したことになり、オクルージョンが発生したと判定する。ステップS208で、重心加速度の変化a2が所定の閾値α2以上であると判定された場合(NO)は、ステップS212へ処理を分岐させる。ステップS208で、重心加速度の変化a2と閾値α2を比較した結果、重心加速度の変化a2が閾値α2より小さいと判定された場合(YES)は、オクルージョンの発生はないと判定し、ステップS209へと処理が進められる。
【0074】
図13は、第2の実施形態による三次元計測装置が生成する、重心速度および重心加速度の時系列を模式的に表すグラフである。
図13は、動物体の速度変化が比較的大きい場合を例示する。
図13(A)は、時間tに対する重心速度vの経時変化を示し、
図13(B)は、重心加速度aの経時変化を示している。また、灰色線は、オクルージョンが生じていない時を示し、黒線は、オクルージョンが生じたときを例示している。
【0075】
動物体の速度変化が大きい場合、オクルージョンが生じたとき、つまり、関心領域内に障害物が入り込むと、
図13(A)のように、重心速度に変動が生じる。時間t2直前のときは、速度変化v3が小さいので、速度変化v3からもオクルージョン判定が可能であるが、時間t1直前のように速度変化v2が大きい場合にオクルージョンが生じると、速度変化v2だけでは閾値を設けるのが難しくなる。重心加速度aは、
図13(B)に示すようにオクルージョンが生じていない時間t1まで、微小な加速度変化a2が生じている。しかしながら、オクルージョンが生じると重心加速度の変化a2より大きな変動が生じる。
【0076】
したがって、所定の期間にわたり、平均的な重心加速度aを監視しながら、重心の平均加速度を基準として、閾値±α2(通常時に観測される重心加速度の微小な変化幅a2より大きな所定の上限および下限)を設けることにより、好適にオクルージョンの発生を捕捉することが可能となる。なお、閾値α2の具体的な値は、判定感度を優先するか、誤判定防止を優先するかに応じて選定すればよい。
【0077】
図14は、対象物が静止し、障害物が移動している場合の実測した重心加速度aを示すグラフである。なお、対象物が静止し、障害物が移動している状態で撮影を行ったものであり、実験条件も、
図11の場合と同様である。
【0078】
図14を参照すると明らかなように、オクルージョン発生時間まで、重心加速度aの変化(加速度変化a2として示してある)は、微小であり、一方で、オクルージョン発生後から大きな変動が生じていることがわかる。このことから、対象物が非等速に動くことを考慮して、重心加速度aの変化を特性値として、重心加速度aの変化に対し所定の閾値条件を設けることによって、好適にオクルージョンを検知することが可能であることが理解される。なお、障害物の輝度が低い場合でも関心領域の重心位置、重心速度および重心加速度は同様の変動を見せるため、同様の方法で判定することが可能である。
【0079】
上述した第1の実施形態および第2の実施形態では、オクルージョンが生じていない間は、各画像の重心位置のみを用いて三次元計測およびトラッキングのループを回すことができるので、計算が単純であり高速性を実現することが可能であった。一方で、オクルージョンの生じる高速ビジョンカメラ160が1台であることを想定していた。以下、
図15および
図16を参照しながら、第3の実施形態によるオクルージョンに対処しながら三次元計測を行う三次元計測処理を説明する。第3の実施形態は、オクルージョンの生じる高速ビジョンカメラ160が複数台発生する可能性に対処可能なものである。
【0080】
なお、以下、相違点を中心に説明し、特に説明がない限り、第2の実施形態と同様の構成を備えるものとする。また、第3の実施形態は、第2の実施形態を基本とするものとして説明するが、同様の変更を第1の実施形態に適用してもよいことは言うまでもない。
【0081】
図15は、三次元計測システムにて2つ以上の高速ビジョンカメラで発生し得るオクルージョン(対象物の障害物による隠蔽)を説明する。第1実施形態および第2実施形態では、オクルージョンの生じるカメラが1台であることを想定しているが、第3の実施形態では、オクルージョンの生じるカメラが複数台発生する可能性にも対処する。
【0082】
例えば、
図15(A)に示すように、第2の高速ビジョンカメラ160bにオクルージョンが発生し、かつ、他の高速ビジョンカメラ160a,160c,160dにはオクルージョンが生じていない状態で対象物が移動したとする。そして、
図15(B)に示すように、対象物102が移動した結果、第3の高速ビジョンカメラ160cにも障害物が写り込んでで、オクルージョンありと判定されるにも関わらず、第2の高速ビジョンカメラ160bでも未だオクルージョンが発生したままの場合がある。このような場合、オクルージョン有りの状態からオクルージョン無しの状態への判定は行われないため、対象物102に対する関心領域の再設定が必要となる。ここでは、新たにオクルージョンありと判定された第3の高速ビジョンカメラ160cを除いた残りの高速ビジョンカメラ160a,160b,160dで、対象物の輪郭を再度検索して新たに関心領域を再設定する。
【0083】
そして、その関心領域を各高速ビジョンカメラ160で比較し、明らかにサイズが異なるものをオクルージョンがあると判定しステレオペアから除外する。これより、オクルージョンが生じた高速ビジョンカメラ160を除いた新たなステレオペアが選択可能となる。なお、この画像全体の画素を探索する処理は重心位置計測より計測時間がかかるため、常時のループからは外すことで、高速性を実現することができる。
【0084】
以下、
図16を参照しながら、第3の実施形態による三次元計測装置110が実行する、オクルージョンに対処しながら三次元計測を行う処理について説明する。
図16は、第3の実施形態による三次元計測処理を示すフローチャートである。
【0085】
ステップS300~ステップS312の処理の内容自体は、
図12に示したステップS200~ステップS212の処理と同様である。一方で、オクルージョンが生じた際にループさせる位置が異なる。第3の実施形態では、ステップS308で、重心加速度の変化a2が所定の閾値α2以上であると判定された場合(NO)は、ステップS312へ処理が分岐される。ステップS312では、三次元計測装置110は、オクルージョンありと判定した画像を除外し、残りのN-1台の高速ビジョンカメラ160から画像を取得した後、ステップS306ではなく、ステップS303へ処理を戻す。
【0086】
このように、オクルージョンが発生したことを検知した場合に、オクルージョンありと判定された画像を除外した残りの画像にて対象物を再探索する。これにより、
図15に示すような、複数の高速ビジョンカメラ160でオクルージョンが発生し得る場合でも、適切なステレオペアを選択することができる。また、オクルージョンが発生しない限り、ステップS307~S311のループを回ることになるため、関心領域の画像処理のみで完結するため、高速性も実現できる。
【0087】
上述した第1~第3の実施形態では、関心領域は、当初設定されたサイズで固定されていた。一方で、対象物102は、高速ビジョンカメラ160に対し、近づいたり遠ざかったりする可能性がある。以下、
図17を参照しながら、第4の実施形態によるオクルージョンに対処しながら三次元計測を行う三次元計測処理を説明する。第4の実施形態は、関心領域のサイズを適切な大きさに調整するものである。
【0088】
なお、以下、相違点を中心に説明し、特に説明がない限り、第3の実施形態と同様の構成を備えるものとする。また、第4の実施形態は、第3の実施形態を基本とするものとして説明するが、同様の変更を第1または第2の実施形態に適用してもよいことは言うまでもない。
【0089】
図17は、第4の実施形態による三次元計測処理を示すフローチャートである。ステップS400~ステップ410の処理、および、ステップSS412~ステップS413の処理は、
図16に示したステップS300~ステップS412の処理と同様である。
図17に示すフローチャートでは、あらたに、ステップS411のステップが追加されている。
【0090】
ステップS411では、三次元計測装置110は、三次元計測をした結果として得られる、対象物の距離の変化に応じて関心領域の大きさを変更する。距離が縮まっている場合、すなわち対象物が高速ビジョンカメラ160に近づいている場合は、関心領域の大きさを前回より大きくし、距離が遠のいている場合、すなわち対象物が高速ビジョンカメラ160から遠ざかっている場合は、関心領域の大きさを前回より小さくするように設定する。これにより、距離方向にも対象物のトラッキングが可能となり、三次元に動く対象物であっても、関心領域のサイズを最低限に小さくすることができる。このため、オクルージョン判定をより精度良く行うことが可能となる。サイズ変更の度合いは、距離の変化に応じて定めればよい。
【0091】
以上説明した実施形態によれば、画像における対象物の隠蔽の発生を効率的に判定することが可能な情報処理装置、情報処理システム、情報処理方法およびプログラムを提供することが可能となる。
【0092】
特に、上述した実施形態による三次元計測によれば、オクルージョンが発生した場合でも、高速かつ精度の良い三次元計測を実現することができる。そして、そのオクルージョンの判定は、対象物の重心位置の時間変化に基づくため、全画像情報の比較を行ったり、全画像情報を用いる場合と比較して、計算リソースや処理時間を削減することが可能である。好ましい実施形態では、関心領域内での画像処理のみで多くの処理が完結するので、計算リソースおよび処理時間の観点から、より一層有利である。特に、オクルージョン判定にカメラ間の対象範囲の画素値全ての比較演算が必要な技術と比較して有利である。
【0093】
なお、説明する実施形態では、情報処理システムの一例として、複数の高速ビジョンカメラ160、三次元計測装置110およびカメラ同期装置150を含む三次元計測システム100をもって説明してきた。しかしながら、情報処理システムは、上記の構成に限定されるものではなく、コンポーネントの追加や削除が行われてもよい。例えば、三次元計測装置110およびカメラ同期装置150の機能を兼ねそろえる装置を設け、三次元計測装置110およびカメラ同期装置150を省略してもよい。他の実施形態では、複数の高速ビジョンカメラ160、三次元計測装置110およびカメラ同期装置150に加えて、対象物102を物理的に操作するロボットアームなどのロボティック装置、ロボット装置を制御する制御コントローラを含み構成されてもよい。その際に、三次元計測装置110および制御コントローラの機能を兼ねそろえる装置を設けてもよい。
【0094】
なお、説明する実施形態では、対象物が移動し、障害物が静止しているものとして説明するが、対象物が静止し、障害物が移動している場合や、対象物および障害物が共に移動する場合などに対しても適用可能であることは言うまでもない。また、説明する実施形態では、n台の高速ビジョンカメラ160が固定されており、対象物が移動しているものとして説明するが、n台の高速ビジョンカメラ160と対象物との相対的な位置関係が変動する限り、いかなる構成に対しても適用可能である。
【0095】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0096】
実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、三次元計測装置は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0097】
以上、本発明の実施形態および実施例について説明してきたが、本発明の実施形態および実施例は上述した実施形態および実施例に限定されるものではなく、他の実施形態、他の実施例、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0098】
100…三次元計測システム、102…対象物、104…障害物、110…三次元計測装置、150…カメラ同期装置、160…高速ビジョンカメラ、170…画像、172…対象物、174…障害物、210…画像入力部、220…対象探索部、230…トラッキング部、232…重心計算部、234…領域設定部、240…隠蔽判定部、242 …重心速度算出部、244…ステレオペア選択部、250…三次元計測部、260…校正部、262…補正変換用行列計算部、264…基礎行列計算部、500…パーソナルコンピュータ、501…CPU、502…ROM、503…RAM、504…HDD、505…HDDコントローラ、506…ディスプレイ、508…外部機器接続I/F、509…ネットワークI/F、511…キーボード、512…ポインティング・デバイス、514…DVD-RWドライブ、513…DVD-RWメディア、516…メディアI/F、515…記録メディア
【先行技術文献】
【特許文献】
【0099】