JP2017519380A6 - 光学システムにおける光学性能劣化の検出および緩和のための方法および装置 - Google Patents

光学システムにおける光学性能劣化の検出および緩和のための方法および装置 Download PDF

Info

Publication number
JP2017519380A6
JP2017519380A6 JP2016556317A JP2016556317A JP2017519380A6 JP 2017519380 A6 JP2017519380 A6 JP 2017519380A6 JP 2016556317 A JP2016556317 A JP 2016556317A JP 2016556317 A JP2016556317 A JP 2016556317A JP 2017519380 A6 JP2017519380 A6 JP 2017519380A6
Authority
JP
Japan
Prior art keywords
camera
machine vision
vision system
coordinate system
cameras
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016556317A
Other languages
English (en)
Other versions
JP6299879B2 (ja
JP2017519380A (ja
Inventor
武 庄司
ジョン ドリンカード,
アンブリッシュ チャギ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority claimed from PCT/US2015/021256 external-priority patent/WO2015143037A1/en
Publication of JP2017519380A publication Critical patent/JP2017519380A/ja
Application granted granted Critical
Publication of JP6299879B2 publication Critical patent/JP6299879B2/ja
Publication of JP2017519380A6 publication Critical patent/JP2017519380A6/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

ここでの教示の一態様によれば、方法および装置はマシンビジョンシステムの稼働時動作中にマシンビジョンシステム内の機械的な位置ずれを検出し、検出された位置ずれが過度でないかぎり、検出された位置ずれにもとづいて画像処理を補償する。過度な位置ずれは、それらに基づく最悪ケース誤差を求めることによって検出することができる。最悪ケース誤差が規定された限度を超える場合、マシンビジョンシステムは故障状態に遷移する。故障状態は危険な機械の動作を中断させること、または1つ以上の他の故障状態動作を実行することを含んでよい。検出される位置ずれには、撮影に用いられる個々のカメラ内の内部位置ずれと、カメラ間の相対位置ずれとが含まれる。方法および装置は、フォーカスの稼働時検証と、不十分なフォーカス品質の検出に応答したマシンビジョンシステムの故障状態への遷移をさらに実行してもよい。
【選択図】図4

Description

本発明は概してマシンビジョンシステムまたは他のオプトエレクトロニクスシステム光学システムに含まれているであろうような光学システムに関し、特には、光学システムにおける機械的な位置ずれの検出および緩和に関する。
光学システムはさまざまな業界で広く用いられている。オプトエレクトロニクスシステムは特に、セーフティクリティカル用途などで貴重品監視および物体検知能力を提供する。一例として、産業ロボット、金属プレス、または他の危険な機械の周囲を監視し、または「見張る」とともに、見張られた危険エリアに人が進入してきたことを検知すると緊急停止信号を与えるために、シングルまたはマルチカメライメージングシステムが用いられうる。
多くのマシンビジョンシステムは、ステレオビジョンまたは視野の重複した2つ以上のカメラを含んだマルチカメライメージングを用いている。(1つ以上の)同一物体を異なる角度から見ることにより、複数のビューのそれぞれにおいて観察される物体の位置の視差(disparity)が、それら物体の距離を算出するための基礎を与える。ある例示的ケースにおいて、マシンビジョンシステムは、監視ゾーン内の物体を検出し、それら物体までの距離を算出するためにステレオ画像処理を用いる。監視ゾーンが産業機械の周囲の危険なエリアまたは空間を表し、監視エリアへの物体の不法侵入の検出をマシンビジョンシステムに依存している場合などは、そのような検出はセーフティクリティカルであろう。ここで、用語「物体」は人間を含むように広く解釈することができる。
マシンビジョンシステムの精度および全体的な性能は、複数の重要な機械的な位置合わせ(mechanical alignment)に依存する。例えば、マシンビジョンシステムのセンサヘッドまたは別のカメラアセンブリに含まれうるような、例示的なレンズ6および撮像素子8(「イメージャ8」)を示す図1を考える。適用可能な製造精度および公差の限界内で、カメラアセンブリはレンズ6と電荷結合素子(CCD)または他の画素アレイであってよいイメージャ8との相対位置を固定する
これらの重要な位置合わせは、イメージャ8の像面をレンズ6の焦点面との関係で示す図2でよく理解できる。位置ずれの問題がなければ、カメラアセンブリは像面を焦点面と平行に固定するとともに、像面を焦点面から適切な距離dに固定する。
しかし、経年変化、熱膨張、振動、衝撃などにより、レンズ6に対するイメージャ8の、光軸に直交する方向への相対的なシフトまたは平行移動といった、さまざまな種類の機械的な位置ずれが発生しうる。これら横方向への移動は、それがレンズ6とイメージャ8の一方の移動によるものか、両方の移動によるものかにかかわらず、像面の光学中心または原点Rを、光軸から離れ、焦点面の光学中心または原点Oからずれた位置に移動させる。
さらに、レンズ6および/またはイメージャ8は光軸に沿って移動しうる。軸方向平行移動(longitudinal translation)と呼ばれるこれらの移動は、レンズ6とイメージャ8との距離dを変化させる。軸方向平行移動はカメラアセンブリの倍率または焦点距離を事実上変化させる。
位置ずれの別の例として、イメージャ8は光軸周りに回転しうる。そのような回転はレンズ6から像面への画像投影を実質的に回転させる。さらに、レンズ6および/またはイメージャ8のいかなる相対的な傾きも、像面の焦点面に対する平行性を失わせるであろう。傾きは像面への像投影を変化させ、上述した他の位置ずれと同様、マシンビジョンシステムが自身のカメラで取得した画像を正確に処理するための能力を低下させる。
焦点品質および/またはコントラストという点において別の問題が生じる。レンズ6は例えば、焦点品質(focal quality)がレンズ中心で最高になり、レンズの周縁で最低になるという焦点品質プロファイルを有しうる。図3はレンズ6の焦点品質プロファイル例を示す。
通常、レンズ6の焦点品質プロファイルは、少なくとも満足すべき動作状況下ではレンズの最低焦点品質でも許容できるようなものであろうが、レンズ6および/またはイメージャ8上のもや、霧、油、汚れなどが、イメージャ8から得られる画像で観察される焦点品質および/またはコントラストを低下させるであろう。シーン照明の変化のような他の環境変化もまた、コントラストや他の画像パラメータの品質を低下させうる。
ここで開示される内容の一態様によれば、方法および装置は、マシンビジョンシステムでの機械的な位置ずれをマシンビジョンシステムの実行時動作の間に検出し、検出された位置ずれが過度でないかぎり、検出された位置ずれに基づいて画像処理を補償する。過度な位置ずれは、それらに基づく最悪ケース誤差を求めることによって検出することができる。最悪ケース誤差が規定された限度を超える場合、マシンビジョンシステムは故障状態に遷移する。故障状態は危険な機械の動作を中断させること、または1つ以上の他の故障状態動作を実行することを含んでよい。検出される位置ずれには、撮影に用いられる個々のカメラ内の内部位置ずれと、カメラ間の相対位置ずれとが含まれる。方法および装置は、焦点の実行時検証と、不十分な焦点品質が検出されたことに応じたマシンビジョンシステムの故障状態への遷移とをさらに実行してもよい。
例示的な実施形態において、実行状態で動作するマシンビジョンシステムは、ステレオカメラ対を構成し、1つ以上の基準マーカを含んだシーンを撮影する第1および第2のカメラから現フレームの画像対を取得することを含んだ方法を実施する。方法は、現在の基準マーカ位置と本来の基準マーカ位置との比較に基づいて第1および第2のカメラ内および/または間での機械的な位置ずれを推定することを含む。ここで、現在の基準マーカ位置は現フレームから決定され、本来の基準マーカ位置はマシンビジョンシステムに保存されたセットアップデータから既知である。方法はさらに、マシンビジョンシステムによるステレオビジョン処理についての最悪ケース誤差を、推定された機械的な位置ずれの関数として算出することと、最悪ケース誤差が規定された閾値を超えると判定されたことに応答してマシンビジョンシステムを動作の実行状態から動作の故障状態に遷移させることとを含む。
別の例示的な実施形態において、マシンビジョンシステムは、ステレオカメラ対を構成し、1つ以上の基準マーカを含んだシーンを撮影する第1および第2のカメラから画像を取得するインタフェース回路を含む。マシンビジョンシステムはさらに、インタフェース回路に動作可能に接続され、マシンビジョンシステムの動作の実行状態の間に、第1および第2のカメラ内および/または間の機械的な位置ずれを推定する処理回路を含む。推定は、現在の基準マーカ位置と本来の基準マーカ位置とを比較する処理回路に基づき、さらに、処理回路は、マシンビジョンシステムによるステレオビジョン処理についての最悪ケース誤差を、推定された機械的な位置ずれの関数として算出する。処理回路はさらに、最悪ケース誤差が規定された閾値を超えると判定されたことに応答して、マシンビジョンシステムを動作の実行状態から動作の故障状態に遷移させる。
本発明はこれらの機能および利点に限定されない。本技術分野に属する当業者は、以下の詳細な説明を読むことおよび添付ファイルを見ることにより、さらなる特徴および利点を認識するであろう。
カメラアセンブリ内の例示的なレンズおよび撮像素子の図であり、それらの間の重要な機械的位置合わせを示している。 図1のレンズおよび撮像素子に対応する焦点面および像面の図であり、レンズと撮像素子との間の機械的な位置ずれの別の態様を示している。 カメラレンズの焦点品質プロファイルの例を示す図である。 ここで開示する内容に従った、マシンビジョンシステムの一実施形態を示すブロック図である。 マシンビジョンシステムの実行時動作中に機械的な位置ずれを検出する方法の一実施形態の論理フロー図である。 マシンビジョンシステムの実行時動作中に機械的な位置ずれを検出する方法の別の実施形態の論理フロー図である。 ステレオカメラ対からのフレームまたはステレオ画像対に適用可能な異なる座標系間の例示的な関係を示す図である。 ステレオビジョン処理についての最悪ケース誤差を推定するために用いられる、コーナー位置決定の例を示す図である。
図4は一実施形態に係る装置10のブロック図である。装置10(以下では「マシンビジョンシステム10」と呼ぶ)は、制御部12および1つ以上のセンサヘッド(またはSH)14を含む。便宜上、センサヘッド14は1つだけ図示している。しかし、1つ以上の実施形態において、制御部12は、例えばセンサヘッド14−1,14−2,...といった2つ以上のそのようなセンサヘッド14と通信可能に接続されてよい。
センサヘッド14のそれぞれは、多視点撮影能力、例えばステレオ撮影能力を提供する。例示的な実施形態において、センサヘッド14(カメラヘッドまたはカメラユニットと呼ばれてもよい)は、ステレオカメラ対として動作する第1および第2のカメラアセンブリ16−1および16−2を含む。以下、カメラアセンブリ16−1および16−2を、単にカメラ16−1および16−2と読んだり、明瞭さのために必要でないかぎり、単に「カメラ16」や「複数のカメラ16」と呼んだりする。
各カメラ16は、1つ以上のレンズを有するレンズアセンブリ18と、レンズアセンブリ18と正確に光学的位置合わせされたイメージャ20と、イメージャ20を動作させるように構成されたプリプロセッサまたは他の処理回路であってよく、撮像素子データの読み出し、露出時間の制御などを提供する画像プロセッサ22とを含む。以下では、各レンズアセンブリ18を単に「レンズ18」と呼び、各撮像素子20を単に「イメージャ20」と呼ぶ。
センサヘッド14は、マイクロプロセッサベースの回路、ASICベースの回路、および/またはFPGAベースの回路の1つ以上を有してよいステレオ画像処理回路24をさらに含む。概して、ステレオ画像処理回路24は、カメラ16−1および16−2によって撮影されたステレオ画像についてステレオ画像相関処理を実行するように構成されたデジタル処理回路を有する。特に、1つ以上の実施形態におけるステレオ画像処理回路24は、センサヘッド14が2つより多いカメラ16を含む場合、デプスマップの生成、撮影されたシーン内の物体への距離判定など、より一般的に多視点画像処理を実行する。
例示的な実施形態において、ステレオ画像処理回路24は、カメラ16−1および16−2のそれぞれから「フレーム」と呼ばれる連続的な画像を受信する。ここで、「フレーム」または「画像」は、所与の撮影について、関与するイメージャ20からの画像データ(例えば画素データ)を含む。例えば、ステレオ画像処理回路24は、連続する撮影間隔のそれぞれの間に第1のカメラ16−1から1つ、第2のカメラ16−2から1つの、1対の画像を受信する。フレームレートまたは撮影レートは、カメラ16によって新しい画像が撮影される速度を決定する。
ステレオ画像処理回路24は2つのカメラ16−1および16−2からの対応画像対間の相関処理の実行に基づいて、撮影のための3D測距を実行する。2つのカメラ16−1および16−2は、左画像カメラおよび右画像カメラとしての動作のために、所定の離間距離を隔てて水平線上に配置されてよい。左画像と右画像とにおける、同一被写体または特徴についての画素位置に見られる「視差(disparity)」または、ずれ(displacement)は、本技術分野に属する当業者が理解するように、3D測距情報を決定するための基礎を提供する。2つのカメラ16−1および16−2間の水平距離を「基線」と呼ぶことができる。
1つ以上の実施形態において、ステレオ画像処理回路24は記憶装置26を含むか、記憶装置26に接続される。記憶装置26は、コンピュータプログラム28と、構成データ30の1つ以上の項目のための恒久的な記憶を恒久的に提供するコンピュータ可読媒体の一種、例えばフラッシュメモリ(登録商標)またはEEPROMを有するものと理解されよう。ここで、「恒久的(non-transitory)」とは、永続的または変化しない記憶装置を意味するとは限らず、不揮発性記憶装置を含みうるが、いくらかの規定された永続性を有する記憶装置を意味し、単なる伝播信号は含まれない。
一部の実施形態において、ステレオ画像処理回路24は、コンピュータプログラム28を構成するコンピュータプログラム命令の実行に基づいて、ここで説明される対応処理を実行するように特に適合される。さらに、構成データ30は例えば、監視境界または他の重大な物体検知距離を規定するために用いられる3D距離または範囲のような動作構成設定を有する。
センサヘッド14は、制御部12をセンサヘッド14に通信可能に接続する制御部インタフェース回路32を有し、それによってセンサヘッド14は画像データおよび/または得られた物体検知データを制御部12に提供することおよび、制御部12がセンサヘッド14に構成データ30および/または構成データ30を得るために用いられる情報を提供することを可能にしている。例えばテスト用などの他のシグナリングが、制御部12とセンサヘッド14との間で伝送されて良いことは言うまでも無い。
従って制御部12は、制御部12と基本的に任意数のセンサヘッド14とをインタフェースするための、対応する1つ以上のセンサヘッドインタフェース回路34を含む。制御部12はさらに、1つ以上の実施形態において、コンピュータプログラム40および構成データ42のための恒久的な記憶を提供する記憶装置38を含むか、記憶装置38に接続される処理回路36を有する。記憶装置38は、コンピュータプログラム40および構成データ42のための恒久的な記憶を提供する、フラッシュメモリまたはEEPROMといったコンピュータ可読媒体を有する。
ここで、構成データ42はユーザ(またはユーザデバイス)から受け取ってもよいし、そのような情報から得てもよく、また、構成データ42はセンサヘッド14内の構成データ30と重複したり、構成データ30の基礎を提供したりしてもよい。構成データ42は例えば、監視ゾーンの規定および、例えば、いつどのような制御信号が制御部12から出力されるかを含む、1つ以上のセンサヘッド14によって検知された物体に対して制御部12がどのように応答するかを規定する制御行動の規定を有する。そのようなシグナリングは1つ以上の制御/保全インタフェース回路44から出力され、ユーザ(ラップトップコンピュータのようなユーザデバイス)からのデータは、1つ以上の構成および/または監視インタフェース回路46を通じて交換される。
一部の実施形態において、処理回路36は1つ以上のマイクロプロセッサ、DSPS、ASIC、FPGA、または他のデジタル処理回路を有する。より広義には、処理回路36は固定回路またはプログラムされた回路、あるいは固定回路とプログラムされた回路の組み合わせを有する。例えば処理回路36が1つ以上のマイクロプロセッサまたは他のプログラマブル回路を有する少なくとも1つの実施形態において、処理回路36は、コンピュータプログラム40を構成するコンピュータプログラム命令の実行に基づいて、ここでの説明に従って動作するように特に適合される。
上述の事項を念頭において、センサヘッド14は自身の有するカメラ16−1および16−2のステレオ撮影対によって、重複する視野(FOV)50の撮影機能を提供する。もちろん、マシンビジョンシステム10は、さらに、少なくとも部分的に重複するFOV50を有する追加のカメラ16を有してもよい。構成データ42は、区切られた領域または区切られた空間を規定する3D範囲または座標によって、1つ以上の監視または危険ゾーン52を規定する。
例えば、警戒ゾーンおよび、重大な「封鎖(stop)」または閉鎖(shutdown)ゾーンが存在しうる。例えば、警戒ゾーンはマシンビジョンシステム10によって監視されている危険な機械から6mの距離から始まり、閉鎖ゾーンが始まる、機械から2mの距離まで広がるように規定されてよい。
構成の一例において、警戒ゾーン内の座標位置で検知された物体は、マシンビジョンシステム10に1つ以上の警告信号を出力させたり、および/または対応する検知データを記録させたりなどする。逆に、重大な封鎖ゾーン内の座標位置で検知された物体は、マシンビジョンシステム10に1つ以上の機械停止および/または他のセーフティクリティカル信号を出力させる。
FOV50はその中、例えばFOV50内に広がる床の一部に配置された1つ以上の参照マーカ54を有することに留意されたい。参照マーカ54(RM)は、マシンビジョンシステム10によって認識されるように既知のサイズ、色、および/またはパターンを有することができる。少なくとも1つの実施形態において、センターヘッド14内のステレオ画像処理回路24は、カメラ16−1および16−2から出力されるステレオ画像対を構成する画素データでRM54を認識するように構成される。少なくとも、画像データがセンサヘッド14から制御部12に伝送される実施形態では、同様の機能が制御部12の処理回路36に提供されてよい。構成データ30および/または42は例えば、サイズ、色、形状、パターンの詳細、およびFOV50内の位置(例えばRM54の位置に対応する座標)といった、RM54の既知もしくは予期される属性を示す情報を含む。
以上のことから、例示的な実施形態においてマシンビジョンシステム10は、第1および第2のカメラ16−1および16−2から1対の画像を取得するように構成されたインタフェース回路を含む。ここで、1対の画像は現フレーム、すなわち、カメラ16−1からの1画像とカメラ16−2からの1画像とを有する、カメラ16−1および16−2からの現在のステレオ画像対を構成する。なお、第1および第2のカメラ16−1および16−2は、1つ以上のRM54を含んだシーンを撮影するものとする。
マシンビジョンシステム10はさらに、インタフェース回路に動作可能に接続された処理回路を有する。処理回路が第1および第2のカメラ16−1および16−2を有するセンサヘッド14に統合されている場合、例えばステレオ画像処理回路24である場合、インタフェース回路はステレオ画像処理回路24内の、および/またはイメージャ20から画像データを読み出す各画像プロセッサ22内のインタフェース回路を構成するものと理解されるであろう。処理回路が制御部12に統合されている場合、例えば処理回路36である場合、インタフェース回路は制御部12をセンサヘッド14に通信可能に接続する1つ以上のインタフェース回路34を構成するものと理解されるであろう。これらの実施しうる様々な形態に関し、便宜上、処理回路は「処理回路24および/または36」または単に「処理回路24,36と呼ぶ。いずれの名称も、違う意味が記述されているか、文脈から明らかな場合を除き、「および/または」を意味するものと理解すべきである。
マシンビジョンシステムの稼働時動作(run state operation)中、処理回路24および/または36は、第1および第2のカメラ16−1および16−2の、および/またはそれらの間の機械的な位置ずれを、現在の参照マーカ位置と本来の参照マーカ位置との比較に基づいて推定するように構成される現在の参照マーカ位置は現フレームから、すなわち、現フレームを構成する画像データで観察されるように決定され、本来の参照マーカ位置はマシンビジョンシステム10に保存されるセットアップデータから既知である。例えば構成データ30および/または構成データ42がセットアップデータを含んでいる。
機械的な位置ずれの推定に関し、1つ以上の実施形態における処理回路24および/または36は、カメラごとのイメージャシフト、カメラごとの倍率変化、カメラ間の相対的な回転、およびカメラ間の倍率比の少なくとも1つを推定するように構成されることに基づいて機械的な位置ずれを推定するように構成される。カメラごとのイメージャシフト推定は、例えばレンズ18とイメージャ20との、それらを有するカメラ16の光軸に直交する方向における相対的な平行移動を表す。カメラごとの倍率変化は、レンズ18とイメージャ20との距離の変化、すなわち光軸に沿った平行移動を表し、カメラごとの倍率変化はカメラ間の倍率比の決定に用いることができる。
処理回路24および/または36の一部の実施形態は上述した位置ずれの全てを推定するように構成されるが、処理回路24および/または36がカメラごとのイメージャシフトだけを推定し、検出されたシフトを補償したり、および/または検出されたシフトに関する故障処理(fault processing)を実行したりするといったように、全部よりも少ない項目を推定することも想定される。
いずれの場合も、処理回路24および/または36は、マシンビジョンシステム10によるステレオビジョン処理に関する最悪ケース誤差を、推定された機械的なずれの関数として算出するように構成される。さらに、処理回路24および/または36は、最悪ケース誤差が規定される閾値を超えると判定されたことに応答して、マシンビジョンシステム10を動作の実行状態から動作の故障状態に遷移させるように構成される。規定される閾値は例えば、構成データ30および/または42に規定されており、カメラ16−1および16−2のいずれかの内部、またはカメラ間における過度の機械的な位置ずれが、マシンビジョンシステム10を動作の故障状態に移行させるように、最悪ケース誤差はマシンビジョンシステム10のステレオ相関性能と関連する。
1つ以上の実施形態において、処理回路24および/または36は上述した取得、推定、および算出を、マシンビジョンシステム10の規定された応答時間内に実行するように構成される。ここで規定された応答時間は、マシンビジョンシステム10によって実行されるセーフティクリティカルな物体検知機能に関連付けられる。
同じまたは他の実施形態において、処理回路24および/または36は、所与のいずれかのフレームで算出された最悪ケース誤差が規定された閾値を超えるか、マシンビジョンシステム10の動作の稼働状態が他の要因により中断されるかしない限り、取得、推定、および算出をフレームごとに繰り返すように構成される。
例えば、マシンビジョンシステム10はマシンビジョンシステム10に接続されたステレオカメラ対から、もしくは任意数のステレオカメラ対のそれぞれから出力される各フレームについて、機械的な位置ずれおよび最悪ケース誤差をチェックしてよい。この、フレームごとのチェックに従って、処理回路24および/または36は、過度の最悪ケース誤差が検出されるか、他の故障が発生するか、他の動作(マシンビジョンシステム10に入来する制御信号)が稼働状態の動作を終了または保留すべきであることを示したりしない限り、マシンビジョンシステム10の動作を稼働状態で継続する。
少なくとも一部の実施形態において、処理回路24および/または36は、第1および第2のカメラ16−1および16−2からの複数フレームにわたってフィルタ処理された機械的な位置ずれの推定値を取得するように構成される。それに対応して、処理回路24および/または36は、最悪ケース誤差をフィルタ処理された推定値から取得し、最悪ケース誤差が規定された閾値を超える場合にはマシンビジョンシステム10を動作の稼働状態から動作の故障状態へ遷移させるように構成される。
例えば、処理回路24および/または36は、複数フレームにわたってフィルタ処理された参照マーカ位置を取得し、フィルタ処理された参照マーカ位置から、第1および第2のカメラにおける、あるいはカメラ間における機械的な位置ずれを算出することによって、フィルタ処理された機械的な位置ずれを取得するように構成されることに基づいて、複数フレームにわたる機械的な位置ずれのフィルタ処理された推定値を取得するように構成される。あるいは、複数フレームにわたって参照マーカ位置をフィルタ処理するのではなく、処理回路24および/または36は、フィルタ処理された機械的な位置ずれを得るために、関連する各フレームで推定される機械的な位置ずれをフィルタ処理するように構成される。
概して、ここで想定されている少なくとも1つの実施形態において、処理回路24および/または36は、フィルタ処理された機械的な位置ずれの推定値を、第1および第2のカメラ16−1および16−2からの複数のフレームにわたって取得するように構成される。対応して、処理回路24および/または36は、第1および第2のカメラ16−1および16−2に関する、マシンビジョンシステム10によるステレオビジョン処理を、フィルタ処理された機械的な位置ずれの関数として補償するように構成される。そのような実施形態の少なくとも1つにおいて、処理回路24および/または36は、第1および第2のカメラ16−1および16−2から得られる画像対の修正(rectify)においてマシンビジョンシステム10が用いる1つ以上のキャリブレーションパラメータを適合させることによってステレオビジョン処理を補償するように構成される。
1つ以上のキャリブレーションパラメータは、検出された位置ずれを組み込むか、検出された位置ずれに依存し、また、処理回路24および/または36は、修正された座標系で第1および第2のカメラ画像間の差異判定および/または他の相関処理に用いられる、関連する1つ以上の保存値を更新する。従って、第1および第2のカメラ画像内の物体間の「明らかな」差異は、検出されたイメージャシフト、検出されたカメラ内もしくはカメラ間の倍率変化、および検出されたカメラ間の相対的な回転の変化の任意の1つ以上について補償されてよい。
図4はマシンビジョンシステム10についての有利な例示的な構成を図示するものと理解することができるが、処理回路の他の構成などを、ステレオカメラ対からのフレームを取得および処理するために用いてもよい。従って、図5に示す方法500は、図4に示したマシンビジョンシステム10の固定されたおよび/またはプログラムに基づく構成によって実施されるものと理解することができる。しかし、この例は限定的なものではなく、図5の処理は他の回路構成によって実施することができる。
さらに、方法500に示される1つ以上のステップまたは動作は、図に示唆されるものとは異なる順序で実施されてもよいし、並列処理されてもよいし、継続的に(例えば繰り返しやループ的に)実施されてもよいことが理解されよう。実際、少なくとも一部の実施形態において、マシンビジョンシステム10が稼働状態で動作している間、方法500はフレームごとにループまたは繰り返され、任意数のステレオカメラ対に関して実行される。
上述した、可能性のある構成を念頭に、方法500は、現フレームを構成する画像対を第1および第2のカメラ16−1および16−2から取得すること(ブロック502)を含む。前の通り、カメラ16−1および16−2は、1つ以上のRM54を含むシーンを撮影するステレオカメラ対を構成する。
方法500はさらに、第1および第2のカメラ16−1および16−2における、およびカメラ間の機械的な位置ずれを推定すること(ブロック504)を含む。推定処理は現在の参照マーカ位置と本来の参照マーカ位置との比較に基づき、現在の参照マーカ位置は現フレームから求められ、本来の参照マーカ位置はマシンビジョンシステムに保存されたセットデータから既知である。例えば、RM54は色、サイズ、形状、およびパターンの1つ以上について認識可能であり、現フレームを構成する画素または画像データ内で観察されるRM54のx−y位置は、RM54の本来のx−y位置と比較される。
機械的な位置ずれの推定(ブロック505)は、カメラごとの位置ずれの推定(ブロック504A)および/または、「カメラにまたがった(cross-camera)」位置ずれと呼ぶことのできるカメラ16−1および16−2間の相対的な位置ずれの推定(ブロック504B)を含む。例えば、ブロック504Aは、各カメラ16−1および16−2のイメージャシフトおよび/または倍率変化の推定を含む。ブロック504Bは、例えば、カメラ16−1および16−2間の相対的な回転および/またはカメラ16−1および16−2間の倍率比の推定を含む。
方法500はさらに、マシンビジョンシステム10によるステレオビジョン処理の最悪ケース誤差の算出(ブロック506)を含む。最悪ケース誤差は、推定された機械的な位置ずれの関数として算出され、方法500はさらに、最悪ケース誤差が規定された閾値を超えたことの判定(ブロック508のNO)に応答して、マシンビジョンシステム10を動作の稼働状態から動作の故障状態に遷移させること(512)を含む。一方で、最悪ケース誤差が規定された限度内であろうと判定された場合(ブロック508のYES)、方法500はマシンビジョンシステム10の稼働時動作を継続すること(ブロック510)を含む。
図6はマシンビジョンシステム10における機械的な位置ずれの検出および対応の別の実施形態を示す。方法600は方法500の拡張または一層詳細なバージョンとして理解することができる。図4に示したマシンビジョンシステム10に限定されないが、1つ以上の実施形態において、図4のマシンビジョンシステム10が方法600を実行するように構成されることが理解されるであろう。方法600は、1つ以上のステレオカメラ対のそれぞれについて、フレームごとに繰り返され、順番に、あるいは並行して実行することができる。また、方法600が、現フレーム値の処理だけでなく、フィルタ処理されたおよび/または過去のフレーム値の処理も含むことを理解すべきである。
ステップ1(ブロック602)で、方法600は現フレームにおけるRM54の位置を「追跡」することを含む。ここで、「追跡」は、観察されるRM位置と予期されるRM位置との比較を意味する。観察されるRM位置は、現フレームを構成する画像データで検出される位置であり、一方、予期されるRM位置は例えばマシンビジョンシステム10の本来の設定構成から既知である本来の位置である。
RM位置追跡は修正された座標を用いておこなわれてよい。ここでは、各カメラ16は、レンズひずみなどの影響を含んでいるため「そのままの(raw)」あるいは「歪んだ」座標系と呼ぶことができるカメラ座標系を有することに気付くかもしれない。従って、所与のいずれかのカメラから取得された所与のいずれかの画像を参照する際、その画像が歪んだ座標系に存在する場合と、歪んでいない座標系に存在する場合と、修正された座標系に存在する場合とがあることがわかるであろう。歪んだ座標系内の画像は、関連するカメラレンズの既知あるいは特徴的なひずみを表す構成データに基づいて、歪みのない座標に変換されてもよい。さらに、歪みのない座標系内の画像は、ステレオ画像対内の左および右画像の両方が同一の参照水平フレームを有するようにこれらの画像を修正するために用いられる、修正された座標系に変換されてよい。
処理は、現フレームに関するフレームごとの処理も表し、かつサブブロック604A、604B,604Cを含むステップ2(ブロック604)に進む。全体としてブロック604は、マシンビジョンシステム10が検出された機械的な位置ずれから生じる最悪ケース誤差が、適用可能な誤差バジェットによって許容される最悪ケース誤差を超えるかどうかを判定する「損失(loss)」テストを表す。ここで、用語「損失」は、最小物体サイズ、距離検出精度などで表される検知能力のいくつかの特定のレベルに関するマシンビジョンシステム10による物体検知能力の損失として理解することができる。
損失テストは、光軸に直交する方向および光軸に沿った方向でのカメラごとのイメージャシフト機械的な位置ずれの検出に基づく。損失テストはさらに、カメラ間の倍率比、すなわち2つのカメラ16−1および16−2間の倍率の食い違いと、カメラ16−1および16−2間の相対的な回転を求めることを含む。そして、これらの推定値はマシンビジョンシステム10によるステレオビジョン処理に関する最悪ケース誤差を求めるためと、最悪ケース誤差が規定された限界を超えるかどうかを判定するために用いられる。
もしそうであれば(ブロック604BでYES)、処理はブロック604Cに進み、マシンビジョンシステム10は動作の稼働状態から、例示的な方法では「マシン停止」状態である動作の故障状態に遷移する。ここで、「マシン停止」は、マシンビジョンシステム10が製造機器または他の機械の要素を取り囲む領域または空間を保護または監視するために用いられ、機械周囲の規定された距離または境界内に物体が侵入したことの検知、および検知能力または他の故障の検出に応答して、機械を停止させるるという例示的なシナリオを意味する。
ブロック604の処理がブロック604Bから「NO」の経路でブロック606へ進んだとすると、方法600はブロック606Aで表される、「性能低下(degradations)」についての位置ずれおよび倍率テストを含む処理を続ける。一方で、ブロック606はマシンビジョンシステム10による検知性能の低下に関するテストを表している。
これらの性能低下はマシンビジョンシステム10に関して規定された誤差バジェットによって許される遊び(allowance)の範囲内の誤差を生じさせるものと理解することができる。ここで、「誤差バジェット」はマシンビジョンシステム10の画像取得および処理フローにおける様々な部品または動作に起因する要素誤差を複数含む。ここで取り上げている機械的な位置ずれは全て誤差バジェット内の要素誤差に寄与するものと理解されるであろう。
さらに、ブロック604での損失テストは、現フレームで観察されるRM位置に基づき、フレームごとの値、すなわち、機械的な位置ずれとそれによって得られる最悪ケース誤差の算出値に対して適用されるのに対し、ブロック606での性能低下テストはフィルタ処理された値を用いて、あるいは現フレームおよび1つ以上の過去フレームからの値を用いて動作する。ここで、「値」は以下の任意の一つ以上を総称的に表すために用いられる:追跡されたRM位置、検出された機械的位置ずれ、推定された最悪ケース誤差、およびそれらの算出に用いられる任意の中間値。
ブロック604はマシンビジョンシステム10の規定された応答時間(RT)内で検知損失を検出して対応するが、ブロック606のテストは一般に、図に非限定的な例として示した5秒(5S)といった、より長い期間を費やす。ここで、マシンビジョンシステム10の「応答時間」は、マシンビジョンシステム10が、危険エリアへの物体侵入の検知および/または検知能力の損失の検出から、関連する、保護される機械のシャットダウンまでの間に満たすべき規定された反応時間である。
ブロック606の一実施形態において、マシンビジョンシステム10は、現フレームについて算出された最悪ケース誤差と、過去フレーム(例えば数秒間遡ったフレーム)について算出された最悪ケース誤差とを比較する(ブロック606A)。2つの最悪ケース誤差の差が規定された閾値を超える場合(ブロック606BでYES)、マシンビジョンシステム10は動作の稼働状態から動作の故障状態に遷移する。この処理は段階的に増加する誤差の検出および対応として理解することができる。
一方、不具合が無い場合(ブロック606BでNO)、処理はブロック606Dにおける定誤差(systematic error)除去を継続する。定誤差除去は、マシンビジョンシステム10がステレオビジョン処理で用いる1つ以上のパラメータを適合させる。例えば、FOV50内の物体までの距離を求めるため、マシンビジョンシステム10はカメラ16−1から見えるその物体とカメラ16−2から見えるその物体とのステレオ視差(stereo disparity)を求める。ここで、「ステレオ視差」は、2つの画像間での対応点の位置の差である。マシンビジョンシステム10の初期セットアップ時に、ステレオ視差は2つのカメラ16間の実際の距離、すなわち「基線」と、カメラ間の相対的な角度および位置に依存する。概して、構成データは、初期の、全体的なカメラ位置合わせを正確に表現または説明している。
キャリブレーションパラメータはセットアップ時に決定され、または読み込まれ、その後の稼働状態マシンビジョン処理、例えばステレオ対の画像の修正およびステレオ視差の算出時にマシンビジョンシステム10に用いられる。しかし、キャリブレーションパラメータはマシンビジョンシステム10のその後の動作の間に生じる機械的な位置ずれに従って不正確になっていく。
従って、ブロック606Dにおいてマシンビジョンシステム10はセットアップ状態に対する機械的な位置ずれを検出すると、自身のキャリブレーションパラメータの1つ以上を更新する。例えば、マシンビジョンシステム10は、カメラ間の相対的な回転角(例えば度単位)を反映するパラメータを維持または更新し、検出された相対的な回転角を画像修正を補償するために用いる。ここで、画像「修正(rectification)」は、ステレオ画像対からの左および右画像をカメラ間の基線に関して同一平面上にあるようにすること、すなわち、全てのエピポーラ線がカメラ16間の基線によって確立される水平軸と平行となるようにすることであると理解できる。
カメラ16−1および16−2間の相対的な回転角を継続的または反復的に推定することにより、マシンビジョンシステム10は相対的な回転角を表す、あるいは関連する1つ以上のキャリブレーションパラメータについて、更新された値を維持することが可能である。同じことはカメラ間の倍率比および倍率の不一致に関しても当てはまる。さらに、画像座標または画素行列値によって表現されてよいx−yオフセット値は、検出されたイメージャシフトを取り込むために例えば構成データ30および/または42で維持されてよく、そういった値はステレオ視差算出値などを補償するために用いられてよい。
特に、1つ以上の実施形態におけるマシンビジョンシステム10は定誤差除去処理においてフィルタ処理を用いる。すなわち、マシンビジョンシステム10は、ノイズの影響を受けているかもしれない1フレームに関する値に基づいてキャリブレーションパラメータを更新するのではなく、フィルタ処理された値を用いてもよい。例えば、マシンビジョンシステム10はフィルタ処理されたRM位置、例えばいくらかのフレーム(例えば100フレーム)に渡って観察されるようなRM位置を、機械的な位置ずれの算出に用い、それら位置ずれに基づいてキャリブレーションパラメータを更新する。あるいは、観察されるRM位置をフィルタ処理するのではなく、マシンビジョンシステム10はいくらかのフレームに渡って機械的な位置ずれをフィルタ処理し、フィルタ処理された機械的位置ずれに基づいてキャリブレーションパラメータを更新する。
図6はブロック608A、608B、および608Cを含んだブロック608を含んでいる。ブロック608Aにおいて、マシンビジョンシステム10はフォーカステストを実行する。フォーカステストに失敗した場合(ブロック608BでYES)、マシンビジョンシステム10は動作の稼働状態から動作の故障状態に遷移して処理が継続する。フォーカステストに合格した場合(ブロック608BでNO)、動作の稼働状態で処理が継続する。ブロック608はブロック606のように、ある時間枠に渡って、すなわちマシンビジョンシステム10に要求される基本応答時間よりもゆっくりと実行されてよく、また、そういったテストにフィルタ処理された値を用いたり、および/または失敗とするまでに所定数の失敗を必要としてもよい。
フォーカステストの一例において、RM54は、色、形状、パターン、背景に対するコントラストなど、フォーカステストを容易にするための1つ以上の視覚的な属性を有することを理解されたい。対応して、フォーカス状況を検出するために、マシンビジョンシステム10は1つ以上の実施形態において、(1)画像のコーナーまたはその付近に見えるようにシーン内に計画的に配置することのできるRM54のそれぞれに対応する画像データで観察される高周波画像成分を算出し、(2)画像内の最悪のボケ(blur)の程度を推定する。その程度が許容できるものとして規定されるレベルを超える場合、マシンビジョンシステム10は稼働状態からマシン停止状態もしくは他の特定の故障状態に遷移する。
さらに、撮影されるシーン内のRM配置についての要求を緩和するために、1つ以上の実施形態におけるマシンビジョンシステム10は、(1)使用されるカメラレンズの(設計によって既知であるか、工場で特徴付けられる)デフォーカス分布を特徴付ける情報を格納し、(2)画像内のいくつかのRM位置で計測された実際のデフォーカスレベルから、最悪デフォーカスレベルを推定する。つまり、マシンビジョンシステム10は、画像内でフォーカスが評価されている場所に応じてフォーカス品質を評価するために、使用されるレンズのフォーカスプロファイルを用いることができる。
上述の処理をより詳細な方法で、かつ1つ以上の例示的な実施形態に照らしてより良く理解するため、図7について検討する。ステレオ対におけるカメラ16のうち、第1のカメラまたは主カメラについて、図は修正された座標系Kp rectと、修正された画像のx−y範囲についての対応する表記{xp rect、yp rect}とを示している。図はさらに、主カメラについて、歪みのない座標系Kp dfと、歪みのない画像のx−y範囲についての対応する表記{xp df、yp df}とを示している。図はさらに、歪みのある、あるいはそのままの画像座標系Kp distと、歪みのある画像のx−y範囲についての対応する表記{xp dist、yp dist}とを示している。対応する座標系および大きさの表現が1対のカメラ16の第2のカメラまたは副カメラについても与えられ、「主」を表す「p」の代わりに「副」を表す「s」が上付き文字で示されている。
使用されるカメラ16によって提供される画像は、当初、それらカメラの、歪みのある座標系内に存在する。物体検知および他の処理のために、マシンビジョンシステム10は画像を、歪みのある座標系から、対応する歪みのない座標系に変換し、さらに歪みのない座標系から修正された座標系に変換する。
本開示の文脈において「画像」に言及する際、画像は上述した座標系のうち任意の座標系に存在してよく、および/またはいくつかの処理は1つの座標系内の画像に実行されてよい。一方、他の動作は同じ画像に対して実行されるが、別の座標系に変換した後に実行される。従って、所与のカメラ16からの現フレームで出力される所与の画像は、ビジョン処理フロー内の特定の時刻または特定の位置でどの座標系が適用可能かに応じて、RAW画像または歪みのある画像、歪みの無い画像、あるいは修正された画像と呼ぶことができる。
例えば、ここで想定される1つ以上の実施形態において、マシンビジョンシステム10は修正された画像を用いてRM位置を追跡するが、ステレオカメラ対のカメラ16間の相対的な回転を推定するには歪みのない画像を用いる。従って、ステレオカメラ対16−1および16−2によって出力される現フレームを構成する画像対を処理する際、マシンビジョンシステム10は画像対を個々の歪みのない座標系に変換し、カメラ16−1および16−2間の相対的な回転を推定するために歪みのない画像を用いる。しかし、マシンビジョンシステム10は、修正された座標系を用いて、各カメラ16−1および16−2からの画像内でのRM位置の明らかな平行移動を求める
座標系間の変換は、画像修正に用いるためのパラメータを含んだ上述したキャリブレーションパラメータを含む、上述した構成データ30および/または42に基づく。従って、修正された画像内のRM位置は、適用可能な関係に従って、歪みのない座標系および歪みのある画像座標系に変換されてよい。
より詳細には、3Dカメラ座標と画像座標Kとの関係は固有カメラ行列であり、以下の様に定義できる。
Figure 2017519380
ここで、fは焦点距離[画素]、pp = (ppx, ppy)[画素]はカメラ16の主点である。各画像座標系は自身のKを有する。座標系X = (X Y Z)Tの3D位置はKによって以下の様にx = (x y)tに射影される。この変換はピンホールカメラモデルを用いている。
Figure 2017519380
カメラ16のそれぞれについて、修正された座標系と歪みのない座標系との関係は座標系間の相対的な回転を伝達する回転行列Rを用いて表現される。さらに、主カメラ16−1の歪みのない座標系から副カメラ16−2の歪みのない座標系へ射影または変換するために、変換ベクトルtを用いてもよい。ここで、ベクトルtは主カメラ16−1の歪みのない座標系の原点と、副カメラ16−2の歪みのない座標系の原点との間の移動(shift)を表す。従って、3D座標はこれら2つのパラメータを用いて、2つのカメラ16−1および16−2の歪みのない座標系間で以下の様に変換することができる。
Figure 2017519380
歪みのない座標系と修正された座標系との関係に関して相対的な回転だけを規定しているのは、修正された座標が、ステレオカメラ対に属する画像を互いに平行とするための仮想座標であるからである。歪みのない画像と歪みのある画像との関係は、適用可能なレンズ歪みモデルおよび歪み係数kおよびpによって表すことができる。係数k=(k)は半径方向歪みに対応する。係数p=(p)は周方向歪みに対応する。
従って、歪みのない画像座標xdf=(xdfdfTは以下の様に歪みのある画像座標xdist=(xdistdistTに変換することができる。
Figure 2017519380
カメラ16−1と16ー2で、あるいはそれらの間で、図4に示した例のような機械的な移動が生じる場合、マシンビジョンシステム10で用いられる1つ以上のキャリブレーションパラメータにおける変化にマッピングすると仮定することができる。これに対応して、図8は、「コーナー移動ベクトル」の利用に基づいて、マシンビジョンシステム10によるステレオビジョン処理についての最悪ケース誤差を求めるための例示的なアプローチを示している。
まず、マシンビジョンシステム10はステレオカメラ対16−1および16−2からフレーム、すなわち左または右画像、あるいは主および副画像を構成する画像対を取得する。マシンビジョンシステム10はこれらの画像を、使用されるカメラ16−1および16−2の修正された座標系に変換し、修正された画像内で観察されるRM位置と、セットアップからのそれらの本来の位置との差を求め、カメラ16の光軸に対するイメージャ20の垂直シフトまたはオフセットと、カメラ16の倍率比とを含む、カメラごとの位置ずれを求めるために、それらの差を用いる。これらの検出値は、既知の、あるいはセットアップ時に決定される、対応するパラメータに関して決定もしくは表すことができる。
マシンビジョンシステム10はカメラごとに求めた倍率値からカメラ16−1と16−2との相対倍率比を求め、さらにカメラ16−1と16−2との相対的な回転量を求める。ここで、相対的な回転量の推定は、観察されるRM位置を、修正された座標系から、対応する歪みのない座標系に変換するマシンビジョンシステム10に基づく。マシンビジョンシステム10は、自身のRM位置追跡から求められた機械的な位置ずれ、すなわちカメラごとの移動およびカメラ間の倍率比および相対的な回転の推定値を、マシンビジョンシステム10によるステレオビジョン処理についての最悪ケース誤差を推定するために用いる。
特に、1つ以上の実施形態におけるマシンビジョンシステム10は、ステレオ視差誤差は画像のコーナーで最悪となることが予期されるため、最悪ケース誤差を推定するために「コーナー移動ベクトル」を用いる。図8における主カメラの列をみると、コーナー移動ベクトル処理は、修正された座標系内のコーナー位置である「点A」から始まる。マシンビジョンシステム10は点Aを修正された座標系から、主カメラ16の歪みのない座標系内の「点B」に変換し、さらに「点B」を、主カメラ16の歪みのある座標系内の「点C」に変換する。
そしてマシンビジョンシステム10は、主カメラ16について求めたカメラごとの位置ずれを点Cに適用し、それによって点Cを、歪みのある座標系内の「点D」へ移動させる。そこから、マシンビジョンシステム10は点Dを歪みのない座標系に変換して戻して「点E」として変換し、点Eを修正された座標系に「点F」として変換する。
そしてマシンビジョンシステム10は、主カメラ16の修正された座標系内の点Aと点Fとのx−y位置の差に基づいて、第1コーナー移動ベクトルを算出する。点Aはxp corner_rect、点Fはxp corner_rect_addと表すことができる。そして、第1コーナー移動ベクトルは以下の様に表すことができる。
Figure 2017519380
マシンビジョンシステム10はまた、副カメラ16のカメラごとの位置ずれだけでなく、主および副カメラ16間の相対的な回転も考慮した第2のコーナー移動ベクトルを算出する。まず、マシンビジョンシステム10は、「点H」を得るために、主カメラ16の歪みのない座標系から点Bを副カメラ16の歪みのない座標系に射影する。点Bはxp corner_dfと、点Hはxs_p corner_dfと表記することができ、観察されるRM位置の評価に基づいてマシンビジョンシステム10によって求められた相対的な回転量を調整したように、xs_p corner_dfは上述したX=RX+t変換を適用することにより取得されることが理解されよう。
そしてマシンビジョンシステム10は、「点I」を得るために、副カメラ16の歪みのない座標系内の点Hを移動させる。具体的には、点Hは主および副カメラ16間で検出された相対的な回転量に従って移動される。そしてマシンビジョンシステム10は、点Iを、副カメラ16の歪みのある座標系内の「点J」に変換する。そしてマシンビジョンシステム10は点Jを、歪みのある座標系内の「点K」に移動させる。ここで、移動量は、副カメラ16についてマシンビジョンシステム10によって求められたカメラごとの位置ずれの関数として算出される。続く処理では、マシンビジョンシステム10が、「点L」を得るために点Kを副カメラの歪みのない座標系から変換する。そして点Lは、「点M」を得るために副カメラ16の修正された座標系に変換される。マシンビジョンシステム10はさらに、点Hを副カメラの歪みのない座標系から副カメラの修正された座標系に変換することに基づいて、副カメラ16の修正された座標系内の「点N」を得る。
点Nは主および副カメラ16の相対的な回転を考慮しておらず、その代わりに機械的な位置ずれなしに対応するコーナー「移動」を考慮している。しかし、点Mは主および副カメラ16間の相対的な回転と、副カメラ16のカメラごとの位置ずれとの両方を考慮している。第2の移動ベクトルは点MおよびNのx−y位置の差として算出される。点Mをxs_p corner_rect_opt_add、点Nをxs_p corner_rectと表すと、第2の移動ベクトルは以下の様に表すことができる。
Figure 2017519380
従って、マシンビジョンシステムのセットアップ時に存在する位置ずれについてのエピポーラ誤差および視差は以下の様に表すことができる。
Figure 2017519380
ここで、xp corner_rectは図8の点A、xs_p corner_rectは図8の点Nであり、セットアップ状態の間に算出されたものである。マシンビジョンシステム10の稼働動作中におけるこれらの位置ずれの程度や性質の変化は、エピポーラ誤差および視差を変化させる。従って、マシンビジョンシステム10の稼働動作中の任意の時点についてのエピポーラ誤差および視差は以下の様に表すことができる。
Figure 2017519380
ここで、xp corner_rect_addは図8の点F、xs_p corner_rect_opt_addは図8の点Mである。
従って、稼働動作中のマシンビジョンシステム10によるステレオビジョン処理についての最悪ケース誤差は、マシンビジョンシステム10のセットアップ状況に対するエピポーラ誤差および視差の変化または差として理解することができる。これらの観点からみると、最悪ケース誤差は以下の様に表すことができる。
Figure 2017519380
簡単な置換により、errworstが第1コーナー移動ベクトルと第2コーナー移動ベクトルとの差であることが分かる。すなわち、
Figure 2017519380
従って、図5のブロック508におけるフレームごとの処理に関して、および/または図6のブロック604におけるフレームごとの処理に関して、1つ以上の実施形態においてマシンビジョンシステム10は、機械的な位置ずれ(本明細書において「機械的な位置ずれ」の意味は、カメラごとの、およびカメラにまたがる(カメラ間の)位置ずれならびにここで説明した差を広く包含する)を求め、第1および第2のコーナー移動ベクトルを算出するためにこれら求めた機械的な位置ずれを用い、最悪ケース誤差を算出するためにこれらコーナー移動ベクトルを用いることが理解されよう。
しかし、このフレームごとの誤差判定は、1つ以上の実施形態において、フレーム間の変化に対して動作するように構成される。例えば、機械的位置ずれの「有効」な判定を有する過去のフレームを「t−n」で表し、現フレームを「t」で表すとする。そして、現フレームについての機械的な位置ずれ判定もまた有効であるとすると、現フレームについての最悪ケース誤差が許容限度内か否かに関する判定は、以下の様に表されるフレーム間変動について実行することができる。
Figure 2017519380
ここで、nは、例えば直前のフレームが有効であれば例えば1に等しく、その前のフレームが有効であれば2に等しく、以下同様である。
従って、一部の実施形態においてブロック508におけるYES/NO判断および/またはブロック604BにおけるYES/NO判断は、最悪ケース誤差についてのフレーム間変化が規定された限度内か否かの判定の関数とされてもよい。故障検出についてのこのアプローチについては、さらにいくつかのコメントが該当する。
第1に、フレーム間変化の追跡に基づく故障検出は、本質的にかつそれ自体ではゆっくりと変化する位置ずれを考慮しない。従って、図6のブロック606Bにおける故障検出は、例えば、同じタイプの変化評価を実施することができるが、現フレームについての最悪ケース誤差と、過去の(例えば3秒前)のフレームからの最悪ケース誤差とを比較することができる。もちろん、最悪ケース誤差値はフィルタ処理を用いてブロック606Bで算出してもよいが、それでもやはりマシンビジョンシステム10は、現フレームにおいて求められた最悪ケース誤差と、過去(例えば90または100フレーム前)に求められた最悪ケース誤差との比較によって、徐々に変化する位置ずれを検出して対応する。
第2に、フレーム間変化の決定についての先の説明において、「有効」なフレームを用いることを述べた。フレームは、そのフレームについて行われた機械的な位置ずれ判定が規定された限度内であれば有効と見なすことができ、それらの限界は、所与のいずれかのフレームにおいて求められた機械的な位置ずれが、マシンビジョンシステム10によって用いるには不正確であると見なされる程度に大きすぎるもしくは非常に大きな変化を表すかどうかの判定に用いることのできる、デルタまたは許容オフセットとして規定されてよい。
これらのことを踏まえ、1つ以上の実施形態および図8に示した位置ラベルに関して、処理回路24および/または36は、第1のコーナー移動ベクトルをカメラ16−1および16−2のステレオ対の第1のカメラ16−1のイメージャシフトおよび倍率変化の関数として算出し、第2のコーナー移動ベクトルを第2のカメラ16−2のイメージャシフトおよび倍率変化の関数として、さらには第1および第2のカメラ16−1および16−2間の相対的な回転量および倍率比の関数として算出し、第1および第2のコーナー移動ベクトルの差を求め、そしてこの差を、セットアップデータから既知である本来の第1および第2のコーナー移動ベクトルの差と比較する(例えば、上述したdruntime-dsetupの判定)ように構成される。
上述した処理は、第1のカメラ16−1についての本来の画像コーナー位置(点A)を、第1のカメラ16−1の修正された座標系から歪みのない座標系に変換し(点B)、第1のカメラ16−1の歪みのない座標系から歪みのある座標系に変換する(点C)ことによって、変換されたコーナー位置(点F)を取得するように構成されることに基づいて、第1のコーナー移動ベクトルを算出する処理回路24および/または36に基づく。ここで、第1のカメラ16−1の歪みのある座標系は、第1のカメラ16−1のレンズ歪みを反映した、第1のカメラ16ー1のそのままの座標系である。
処理回路24および/または36はさらに、第1のカメラ16−1に関する移動されたコーナー位置(点D)を、変換されたコーナー位置(点C)および第1のカメラ16−1について推定された機械的な位置ずれの関数として算出し、移動されたコーナー位置(点D)を第1のカメラ16−1の歪みのある座標系から修正された座標系に変換して戻す(すなわち、点Eに変換し、さらに点Fに変換する)ことにより、第1のカメラ16ー1についての移動され変換されたコーナー位置(点F)を得るように構成される。そこから、処理回路24および/または36は第1のコーナー移動ベクトルを、移動され変換されたコーナー位置(点F)と、本来の画像コーナー位置(点A)との差として算出するように構成される。
さらに、処理回路24および/または36は、第1のカメラ16−1についての本来の画像コーナー位置(点A)を第1のカメラ16−1の修正された座標系から第1のカメラ16−1の歪みのない座標系に変換することに基づいて、変換されたコーナー位置(点B)を取得し、変換されたコーナー位置(点B)を第2のカメラ16−2の歪みのない座標系に射影することにより、射影されたコーナー位置(点H)を求めるように構成されることに基づいて、第2のコーナー移動ベクトルを算出するように構成される。
そして処理回路24および/または36は、射影されたコーナー位置を第2のカメラ16−2の修正された座標系に変換することによって第2の変換されたコーナー位置(点N)を取得するとともに、射影されたコーナー位置(点H)を第1および第2のカメラ16−1および16−2間の相対的な回転量の関数として移動させることによって第3の変換されたコーナー位置(点I)を取得し、この移動後に、射影されたコーナー位置(点I)を、第2のカメラ16−2の歪みのある座標系に変換する(点J)。
そして処理回路24および/または36は、第3の変換されたコーナー位置(点J)を、第2のカメラについて推定された推定イメージャシフトおよび推定倍率変化の関数として歪みのある座標気内で移動させ(これで点Kが得られる)、さらに、第2のカメラの歪みのある座標系内での移動(点K)後に、第3の変換されたコーナー位置を、第2のカメラ16−2の歪みのない座標系に変換し(点L)、さらに第2のカメラ16ー2の修正された座標系に変換する(点M)ことにより、第4の変換されたコーナー位置(点M)を取得する。そして処理回路24および/または36は、第2のコーナー移動ベクトルを、第2の変換されたコーナー位置(点N)および第4の変換されたコーナー位置(点M)との差として算出する。
さらに、上述したように、処理回路24および/または36は、1つ以上の実施形態において、RM54のボケ(blurring)を検出するために現フレームまたはいくつかのフレームを評価し、規定された閾値を超えるボケのレベルを検出したことに応じてマシンビジョンシステム10を動作の稼働状態から動作の故障状態へ遷移させるように構成される。ボケは、レンズの劣化および/またはほこり、油分などの均質な汚染によって生じうる。そのような実施形態の少なくとも1つにおいて、処理回路24および/または36は、規定されたボケ閾値を、関連する画像または複数の画像内のRM54の位置と、第1および第2のカメラ16−1および16−2のレンズ18について既知の、対応するフォーカス品質プロファイルとの関数として適合させるように構成される。
さらに、マシンビジョンシステム10は、カメラ16−1および16−2のステレオ対によって撮影されるシーンに所定数のRM54が存在することを要求するように構成されてもよい。そのような実施形態において、処理回路24および/または36は、例えば各フレームにおいて画像データを評価し、最低限必要な数のRM54が視認できるかどうかを判定し、もし視認できなければ動作の稼働状態から動作の故障状態へ遷移するように構成される。
特に、先の説明および関連する図面で提示される教示の利益を享受する当業者は、開示された1つ以上の発明の変形物および他の実施形態を想起するであろう。例えば、ここでの教示は任意数のステレオカメラ対や、3つ以上のカメラの使用に適用可能であり、例えば視野が重複する3つ、4つ、またはさらに多くのカメラにおける、またそれらカメラ間における位置ずれを、3D測距および物体検知に用いることができる。
従って、1つ以上の発明は開示される特定の実施形態に限定されるべきでなく、変形物および他の実施形態は本開示の範囲に含まれるべきであることを理解すべきである。ここでは特定の用語が用いられているかもしれないが、それらは汎用的かつ説明的な意味でのみ用いられており、限定目的で用いられてはいない。

Claims (30)

  1. 稼働状態で動作しているマシンビジョンシステムにおける動作方法であって、前記方法が、
    1つ以上の参照マーカを含んだシーンを撮影するステレオカメラ対を構成する第1および第2のカメラから、現フレームを構成する画像対を取得することと、
    現在の参照マーカ位置と本来の参照マーカ位置との比較に基いて、前記第1および第2のカメラにおける、および/またはカメラ間における機械的な位置ずれを推定することと、ここで、前記現在の参照マーカ位置は前記現フレームから求められ、前記本来の参照マーカ位置は前記マシンビジョンシステムに保存されたセットアップデータから既知であり、
    前記マシンビジョンシステムによるステレオビジョン処理についての最悪ケース誤差を、前記推定された機械的な位置ずれの関数として算出することと、
    前記最悪ケース誤差が規定された閾値を超えるとの判定に応答して、前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態に遷移させることと、を有する方法。
  2. 前記取得することと、前記推定することと、前記算出することと、前記遷移させることとを、前記マシンビジョンシステムの規定された応答時間内に実行することをさらに有し、前記規定された応答時間が、前記マシンビジョンシステムによって実行されるセーフティクリティカル物体検知機能に関連付けられる、請求項1に記載の方法。
  3. 所与のいずれかのフレームについて算出された前記最悪ケース誤差が前記規定され閾値を超えるか、前記マシンビジョンシステムの動作の前記稼働状態が別の要因により中断されない限り、請求項1に記載の前記方法をフレームごとに繰り返すことをさらに有する、請求項1に記載の方法。
  4. 前記第1および第2のカメラからのいくつかのフレームにわたる前記機械的な位置ずれのフィルタ処理された推定値を取得することと、フィルタ処理された最悪ケース誤差を前記フィルタ処理された推定値から取得することと、前記フィルタ処理された最悪ケース誤差が規定された閾値を超えた場合に前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態に遷移させることと、をさらに有する請求項1に記載の方法。
  5. いくつかのフレームにわたる前記機械的な位置ずれの前記フィルタ処理された推定値を取得することが、
    いくつかのフレームにわたってフィルタ処理された参照マーカ位置を取得し、前記フィルタ処理された参照マーカ位置から、前記第1および第2のカメラにおける、またカメラ間における前記機械的な位置ずれを算出することにより、前記機械的な位置ずれの前記フィルタ処理された推定値を取得することと、
    前記フィルタ処理された前記機械的な位置ずれを取得するために、前記いくつかのフレームのそれぞれにおいて推定された前記推定された機械的な位置ずれをフィルタ処理することと、の一方を有する、請求項4に記載の方法。
  6. 前記第1および第2のカメラからのいくつかのフレームにわたる前記機械的な位置ずれのフィルタ処理された推定値を取得することと、前記第1および第2のカメラに関する前記マシンビジョンシステムによるステレオビジョン処理を、フィルタ処理された機械的な位置ずれの関数として補償することと、をさらに有する、請求項1に記載の方法。
  7. 前記ステレオビジョン処理を補償することが、前記第1および第2のカメラから取得された画像対の修正において前記マシンビジョンシステムによって用いられる1つ以上のキャリブレーションパラメータを適合させることを含む、請求項6に記載の方法。
  8. 前記現フレーム内に必要最小数の参照マーカが現れないと判定されたことに応答して、前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態へ遷移させることをさらに有する、請求項1に記載の方法。
  9. 前記機械的な位置ずれを推定することが、カメラごとのイメージャシフト、カメラごとの倍率変化、前記カメラ間の相対的な回転、および前記カメラ間の倍率比のうち、少なくとも1つを推定することを有する、請求項1に記載の方法。
  10. 前記相対的な回転および前記倍率比を推定することが、
    前記第1のカメラからの画像で観察される1つ以上の参照マーカ位置を、前記第2のカメラの座標系に射影することにより、1つ以上の射影された位置を取得することと、
    前記射影された位置を、前記第2のカメラからの前記画像で観察される対応する参照マーカ位置と比較することと、を有する、請求項9に記載の方法。
  11. 前記最悪ケース誤差を推定することが、
    第1のコーナー移動ベクトルを、前記第1のカメラの前記イメージャシフトおよび前記倍率変化の関数として算出することと、
    第2のコーナー移動ベクトルを、前記第2のカメラの前記イメージャシフトおよび前記倍率変化の関数として、さらに前記第1および第2のカメラ間の前記相対的な回転の関数として算出することと、
    前記第1および第2のコーナー移動ベクトルの差を求めることと、
    前記差を、前記セットアップデータから既知の、本来の第1および第2のコーナー移動ベクトルに対応する基準差と比較することと、を有する、請求項9に記載の方法。
  12. 前記第1のコーナー移動ベクトルを算出することが、
    前記第1カメラに関する本来の画像コーナー位置を、修正された座標系から前記第1のカメラの歪みのない座標系に変換し、前記歪みのない座標系から前記第1のカメラの歪みのある座標系に変換することにより、変換されたコーナー位置を取得することと、ここで、前記第1のカメラの前記歪みのある座標系は前記第1のカメラのレンズ歪みを反映する、前記第1のカメラについてのそのままの座標系であり、
    前記第1のカメラについての移動されたコーナー位置を、前記変換されたコーナー位置および前記第1のカメラについての前記推定された機械的な位置ずれの関数として算出することと、
    前記移動されたコーナー位置を、前記第1のカメラの前記歪みのある座標系から前記修正された座標系に変換して戻すことにより、前記第1のカメラについての移動され変換されたコーナー位置を取得することと、
    前記第1のコーナー移動ベクトルを、前記移動され変換されたコーナー位置および前記本来の画像コーナー位置との前記差として算出することと、を有する、請求項11に記載の方法。
  13. 前記第2のコーナー移動ベクトルを算出することが、
    前記第1のカメラについての本来の画像コーナー位置の、前記第1のカメラの修正された座標系から前記第1のカメラの歪みのない座標系への変換に基づいて、変換されたコーナー位置を求め、前記変換されたコーナー位置を、前記第2のカメラの前記歪みのない座標系に射影することにより、射影されたコーナー位置を取得することと、
    前記射影されたコーナー位置を前記第2のカメラの修正された座標系に変換することにより、第2の変換されたコーナー位置を取得することと、
    前記射影されたコーナー位置を前記第1および第2のカメラの相対的な回転の関数として移動させることにより、第3の変換されたコーナー位置を取得し、前記移動させることの後に、前記射影されたコーナー位置を前記第2のカメラの歪みのある座標系に変換し、前記第3の変換されたコーナー位置を前記歪みのある座標系内で前記第2のカメラについて推定された、前記推定されたイメージャシフトおよび前記推定された倍率変化の関数として移動させることと、
    前記第3の変換されたコーナー位置を、前記第2のカメラの前記歪みのある座標系内で前記移動させることの後に、前記第2のカメラの前記歪みのない座標系に変換し、さらに前記第2のカメラの前記修正された座標系に変換することにより、第4の変換されたコーナー位置を取得することと、
    前記第2のコーナー移動ベクトルを、前記第2の変換されたコーナー位置と前記第4の変換されたコーナー位置との前記差として算出することと、を有する、請求項11に記載の方法。
  14. 前記参照マーカのボケを検出するために前記現フレームあるいはいくつかのフレームを評価することと、ブレのレベルが規定された閾値を超えることの検出に応答して前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態へ遷移させることと、をさらに有する、請求項1に記載の方法。
  15. 所与の参照マーカに関し、前記規定された閾値を、前記関連する1つ以上の画像内の該参照マーカの位置と、前記第1および第2のカメラのレンズに関して既知である、対応するフォーカス品質プロファイルとの関数として適合させることをさらに有する、請求項14に記載の方法。
  16. マシンビジョンシステムであって、
    1つ以上の参照マーカを含んだシーンを撮影するステレオカメラ対を構成する第1および第2のカメラから、現フレームを構成する画像対を取得するように構成されたインタフェース回路と、
    前記インタフェース回路に動作可能に接続された処理回路であって、前記処理回路が、前記マシンビジョンシステムの動作の稼働状態中に、
    現在の参照マーカ位置と本来の参照マーカ位置との比較に基いて、前記第1および第2のカメラにおける、および/またはカメラ間における機械的な位置ずれを推定し、ここで、前記現在の参照マーカ位置は前記現フレームから求められ、前記本来の参照マーカ位置は前記マシンビジョンシステムに保存されたセットアップデータから既知であり、
    前記マシンビジョンシステムによるステレオビジョン処理についての最悪ケース誤差を、前記推定された機械的な位置ずれの関数として算出し、
    前記最悪ケース誤差が規定された閾値を超えるとの判定に応答して、前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態に遷移させる、ように構成される、マシンビジョンシステム。
  17. 前記処理回路が、前記取得することと、前記推定することと、前記算出することとの前記動作を、前記マシンビジョンシステムの規定された応答時間内に実行するように構成され、前記規定された応答時間が、前記マシンビジョンシステムによって実行されるセーフティクリティカル物体検知機能に関連付けられる、請求項16に記載のマシンビジョンシステム。
  18. 前記処理回路が、所与のいずれかのフレームで算出された前記最悪ケース誤差が規定された閾値を超えるか、前記マシンビジョンシステムの動作の前記稼働状態が別の要因により中断されるかしない限り、取得することと、推定することと、および算出することとの前記動作をフレームごとに繰り返すように構成される、請求項16に記載のマシンビジョンシステム。
  19. 前記処理回路が、前記第1および第2のカメラからのいくつかのフレームにわたる前記機械的な位置ずれのフィルタ処理された推定値を取得し、フィルタ処理された最悪ケース誤差を前記フィルタ処理された推定値から取得し、前記フィルタ処理された最悪ケース誤差が規定された閾値を超えた場合に前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態に遷移させるように構成される、請求項16に記載のマシンビジョンシステム。
  20. 前記処理回路が、
    いくつかのフレームにわたってフィルタ処理された参照マーカ位置を取得し、前記フィルタ処理された参照マーカ位置から、前記第1および第2のカメラにおける、またカメラ間における前記機械的な位置ずれを算出することにより、前記機械的な位置ずれの前記フィルタ処理された推定値を取得し、
    前記フィルタ処理された機械的な位置ずれを取得するために、前記いくつかのフレームのそれぞれにおいて推定された前記推定された機械的な位置ずれをフィルタ処理する、
    ように構成されることに基づいて、いくつかのフレームにわたる前記機械的な位置ずれの前記フィルタ処理された推定値を取得するように構成される、請求項19に記載のマシンビジョンシステム。
  21. 前記処理回路が、前記第1および第2のカメラからのいくつかのフレームにわたる前記機械的な位置ずれのフィルタ処理された推定値を取得し、前記第1および第2のカメラに関する前記マシンビジョンシステムによるステレオビジョン処理を、フィルタ処理された機械的な位置ずれの関数として補償する、ように構成される、請求項16に記載のマシンビジョンシステム。
  22. 前記処理回路が、前記第1および第2のカメラから取得された画像対の修正において前記マシンビジョンシステムによって用いられる1つ以上のキャリブレーションパラメータを適合させることにより、前記ステレオビジョン処理を補償するように構成される、請求項21に記載のマシンビジョンシステム。
  23. 前記処理回路が、前記現フレーム内に必要最小数の参照マーカが現れないと判定されたことに応答して、前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態へ遷移させるように構成される、請求項16に記載のマシンビジョンシステム。
  24. 前記処理回路が、カメラごとのイメージャシフト、カメラごとの倍率変化、前記カメラ間の相対的な回転、および前記カメラ間の倍率比のうち、少なくとも1つを推定するように構成されることに基づいて、前記機械的な位置ずれを推定するように構成される、請求項16に記載のマシンビジョンシステム。
  25. 前記処理回路が、
    前記第1のカメラからの画像で観察される1つ以上の参照マーカ位置を、前記第2のカメラの座標系に射影することにより、1つ以上の射影された位置を取得し、
    前記射影された位置を、前記第2のカメラからの前記画像で観察される対応する参照マーカ位置と比較する、ように構成されることに基づいて、前記相対的な回転および前記倍率比を推定するように構成される、請求項24に記載のマシンビジョンシステム。
  26. 前記処理回路が、
    第1のコーナー移動ベクトルを、前記第1のカメラの前記イメージャシフトおよび前記倍率変化の関数として算出し、
    第2のコーナー移動ベクトルを、前記第2のカメラの前記イメージャシフトおよび前記倍率変化の関数として、さらに前記第1および第2のカメラ間の前記相対的な回転の関数として算出し、
    前記第1および第2のコーナー移動ベクトルの差を求め、
    前記差を、前記セットアップデータから既知の、本来の第1および第2のコーナー移動ベクトルに対応する基準差と比較する、
    ように構成されることに基づいて、前記最悪ケース誤差を推定するように構成される、請求項24に記載のマシンビジョンシステム。
  27. 前記処理回路が、
    前記第1カメラに関する本来の画像コーナー位置を、修正された座標系から前記第1のカメラの歪みのない座標系に変換し、前記歪みのない座標系から前記第1のカメラの歪みのある座標系に変換することにより、変換されたコーナー位置を取得し、ここで、前記第1のカメラの前記歪みのある座標系は前記第1のカメラのレンズ歪みを反映する、前記第1のカメラについてのそのままの座標系であり、
    前記第1のカメラについての移動されたコーナー位置を、前記変換されたコーナー位置および前記第1のカメラについての前記推定された機械的な位置ずれの関数として算出し、
    前記移動されたコーナー位置を、前記第1のカメラの前記歪みのある座標系から前記修正された座標系に変換して戻すことにより、前記第1のカメラについての移動され変換されたコーナー位置を取得し、
    前記第1のコーナー移動ベクトルを、前記移動され変換されたコーナー位置および前記本来の画像コーナー位置との前記差として算出する、
    ように構成されることに基づいて、前記第1のコーナー移動ベクトルを算出するように構成される、請求項26に記載のマシンビジョンシステム。
  28. 前記処理回路が、
    前記第1のカメラについての本来の画像コーナー位置の、前記第1のカメラの修正された座標系から前記第1のカメラの歪みのない座標系への変換に基づいて、変換されたコーナー位置を求め、前記変換されたコーナー位置を、前記第2のカメラの前記歪みのない座標系に射影することにより、射影されたコーナー位置を取得し、
    前記射影されたコーナー位置を前記第2のカメラの修正された座標系に変換することにより、第2の変換されたコーナー位置を取得し、
    前記射影されたコーナー位置を前記第1および第2のカメラの相対的な回転の関数として移動させることにより、第3の変換されたコーナー位置を取得し、前記移動させることの後に、前記射影されたコーナー位置を前記第2のカメラの歪みのある座標系に変換し、前記第3の変換されたコーナー位置を前記歪みのある座標系内で前記第2のカメラについて推定された、前記推定されたイメージャシフトおよび前記推定された倍率変化の関数として移動させ、
    前記第3の変換されたコーナー位置を、前記第2のカメラの前記歪みのある座標系内で前記移動させることの後に、前記第2のカメラの前記歪みのない座標系に変換し、さらに前記第2のカメラの前記修正された座標系に変換することにより、第4の変換されたコーナー位置を取得し、
    前記第2のコーナー移動ベクトルを、前記第2の変換されたコーナー位置と前記第4の変換されたコーナー位置との前記差として算出する、
    ように構成されることに基づいて、前記第2のコーナー移動ベクトルを算出するように構成される、請求項26に記載のマシンビジョンシステム。
  29. 前記処理回路が、前記参照マーカのボケを検出するために前記現フレームあるいはいくつかのフレームを評価し、ブレのレベルが規定された閾値を超えることの検出に応答して前記マシンビジョンシステムを動作の前記稼働状態から動作の故障状態へ遷移させるように構成される、請求項16に記載のマシンビジョンシステム。
  30. 所与の参照マーカに関し、前記処理回路が、前記規定された閾値を、前記関連する1つ以上の画像内の該参照マーカの位置と、前記第1および第2のカメラのレンズに関して既知である、対応するフォーカス品質プロファイルとの関数として適合させるように構成される、請求項16に記載のマシンビジョンシステム。
JP2016556317A 2014-03-21 2015-03-18 光学システムにおける光学性能劣化の検出および緩和のための方法および装置 Active JP6299879B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461968470P 2014-03-21 2014-03-21
US61/968,470 2014-03-21
PCT/US2015/021256 WO2015143037A1 (en) 2014-03-21 2015-03-18 Method and apparatus for detecting and mitigating optical impairments in an optical system

Publications (3)

Publication Number Publication Date
JP2017519380A JP2017519380A (ja) 2017-07-13
JP6299879B2 JP6299879B2 (ja) 2018-04-11
JP2017519380A6 true JP2017519380A6 (ja) 2018-06-07

Family

ID=53200282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556317A Active JP6299879B2 (ja) 2014-03-21 2015-03-18 光学システムにおける光学性能劣化の検出および緩和のための方法および装置

Country Status (5)

Country Link
US (1) US10085001B2 (ja)
EP (1) EP3120325B1 (ja)
JP (1) JP6299879B2 (ja)
CN (1) CN106416241B (ja)
WO (1) WO2015143037A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10412369B2 (en) * 2015-07-31 2019-09-10 Dell Products, Lp Method and apparatus for compensating for camera error in a multi-camera stereo camera system
CN107292810B (zh) * 2016-03-30 2020-01-24 上海弼智仿生高科技有限公司 一种视觉系统的图像处理方法及系统
CN110612427A (zh) * 2017-04-01 2019-12-24 惠普发展公司,有限责任合伙企业 表面高度测量系统
TWI630377B (zh) * 2017-04-18 2018-07-21 亞迪電子股份有限公司 熱像檢測裝置
US10268203B2 (en) * 2017-04-20 2019-04-23 GM Global Technology Operations LLC Calibration validation for autonomous vehicle operations
EP3441788A1 (en) * 2017-08-08 2019-02-13 Koninklijke Philips N.V. Apparatus and method for generating a representation of a scene
JP6920159B2 (ja) * 2017-09-29 2021-08-18 株式会社デンソー 車両の周辺監視装置と周辺監視方法
WO2019078813A1 (en) * 2017-10-16 2019-04-25 Hewlett-Packard Development Company, L.P. 3D PRINTER
WO2020068407A1 (en) 2018-09-27 2020-04-02 Snap Inc. Separable distortion disparity determination
DE102018220236A1 (de) * 2018-11-26 2020-05-28 Heidelberger Druckmaschinen Ag Schnelle Bildentzerrung für Bildinspektion
US20200262080A1 (en) * 2019-02-14 2020-08-20 InTune Products LLC Comprehensive model-based method for gantry robot calibration via a dual camera vision system
MX2022004162A (es) 2019-10-07 2022-07-12 Boston Polarimetrics Inc Sistemas y metodos para el aumento de sistemas de sensores y sistemas de formacion de imagenes con polarizacion.
CN113723266B (zh) * 2021-08-25 2022-11-22 贵州航天林泉电机有限公司 一种无刷电机冲片筛选系统及方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3869876B2 (ja) 1995-12-19 2007-01-17 キヤノン株式会社 画像計測方法及び画像計測装置
US5862517A (en) 1997-01-17 1999-01-19 Fox Sports Productions, Inc. System for re-registering a sensor during a live event
JP4172554B2 (ja) * 1998-03-12 2008-10-29 富士重工業株式会社 ステレオカメラの調整装置
US6674892B1 (en) * 1999-11-01 2004-01-06 Canon Kabushiki Kaisha Correcting an epipolar axis for skew and offset
US6728582B1 (en) * 2000-12-15 2004-04-27 Cognex Corporation System and method for determining the position of an object in three dimensions using a machine vision system with two cameras
US20020168091A1 (en) * 2001-05-11 2002-11-14 Miroslav Trajkovic Motion detection via image alignment
US7382400B2 (en) 2004-02-19 2008-06-03 Robert Bosch Gmbh Image stabilization system and method for a video camera
JP2006294854A (ja) 2005-04-11 2006-10-26 Nikon Corp マーク検出方法、位置合わせ方法、露光方法、プログラム及びマーク計測装置
EP1901225A1 (en) * 2005-05-10 2008-03-19 Olympus Corporation Image processing device, image processing method, and image processing program
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
KR100834637B1 (ko) * 2006-11-27 2008-06-02 삼성전자주식회사 스테레오 카메라 장치에서 이미지들을 정렬하기 위한 장치및 방법
US8208013B2 (en) * 2007-03-23 2012-06-26 Honeywell International Inc. User-adjustable three-dimensional display system and method
JP4442661B2 (ja) 2007-08-29 2010-03-31 オムロン株式会社 3次元計測方法および3次元計測装置
JP4851406B2 (ja) * 2007-08-31 2012-01-11 富士フイルム株式会社 多眼撮影システムにおける調整用画像表示方法および多眼撮影システム
US20090128621A1 (en) * 2007-11-21 2009-05-21 Charles Gregory Passmore System and/or method for automated stereoscopic alignment of images
DE102008040985B4 (de) 2008-08-05 2021-05-27 Robert Bosch Gmbh Verfahren zur Kalibrierung eines Mehrkamerasystems
US8442304B2 (en) * 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
GB2478164A (en) * 2010-02-26 2011-08-31 Sony Corp Calculating misalignment between a stereoscopic image pair based on feature positions
WO2011132364A1 (ja) * 2010-04-19 2011-10-27 パナソニック株式会社 立体画像撮影装置および立体画像撮影方法
JP5870510B2 (ja) * 2010-09-14 2016-03-01 株式会社リコー ステレオカメラ装置、校正方法およびプログラム
JP2012083412A (ja) * 2010-10-07 2012-04-26 Sony Corp 画像処理装置、画像処理方法、およびプログラム
WO2012068064A1 (en) * 2010-11-15 2012-05-24 Image Sensing Systems, Inc. Hybrid traffic sensor system and associated method
JP5503578B2 (ja) * 2011-03-10 2014-05-28 パナソニック株式会社 物体検出装置及び物体検出方法
US8797387B2 (en) * 2011-04-27 2014-08-05 Aptina Imaging Corporation Self calibrating stereo camera
CN103649994B (zh) * 2011-07-05 2016-11-16 欧姆龙株式会社 用于投影体监测的方法和装置
US20130016186A1 (en) * 2011-07-13 2013-01-17 Qualcomm Incorporated Method and apparatus for calibrating an imaging device
JP6102930B2 (ja) 2011-10-14 2017-03-29 オムロン株式会社 射影空間監視のための方法および装置
TWI432883B (zh) * 2012-03-12 2014-04-01 Silicon Motion Inc 立體取像方法、立體影像攝影機、與立體影像攝影機水平校正機台
US20130335579A1 (en) * 2012-06-15 2013-12-19 Palo Alto Research Center Incorporated Detection of camera misalignment
US9060164B2 (en) * 2012-09-12 2015-06-16 Xerox Corporation Intelligent use of scene and test pattern analyses for traffic camera diagnostics
US9384551B2 (en) * 2013-04-08 2016-07-05 Amazon Technologies, Inc. Automatic rectification of stereo imaging cameras
KR102203687B1 (ko) * 2013-12-30 2021-01-15 엘지이노텍 주식회사 스테레오 카메라 장치 및 그의 렉티피케이션 방법

Similar Documents

Publication Publication Date Title
JP6299879B2 (ja) 光学システムにおける光学性能劣化の検出および緩和のための方法および装置
JP2017519380A6 (ja) 光学システムにおける光学性能劣化の検出および緩和のための方法および装置
TWI543611B (zh) 影像接合方法及具有影像接合功能的攝影系統
WO2013038656A1 (ja) 投影像自動補正システム、投影像自動補正方法およびプログラム
KR20150101749A (ko) 객체의 3차원 형상을 산출하는 장치 및 방법
EP3205084A1 (en) Image processing method
US11928805B2 (en) Information processing apparatus, information processing method, and storage medium for defect inspection and detection
JP2011049733A (ja) カメラキャリブレーション装置および映像歪み補正装置
JP2017142613A (ja) 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
WO2017042998A1 (ja) 車載用ステレオカメラ装置、およびその補正方法
JP2018004918A5 (ja)
JP6970568B2 (ja) 車両の周辺監視装置と周辺監視方法
JP2017219635A5 (ja)
JP7121269B2 (ja) 測距カメラ
US9113148B2 (en) Three-dimensional measurement system and method
Lemkens et al. Multi RGB-D camera setup for generating large 3D point clouds
JP2011185720A (ja) 距離取得装置
JP2014202661A (ja) 測距装置
JP6867487B2 (ja) 撮像装置
JP7414850B2 (ja) ロボットシステム
KR101819576B1 (ko) 광학식 손떨림 보정의 검사 장치 및 검사 방법
JP6501512B2 (ja) フォーカス制御装置、フォーカス制御方法およびフォーカス制御プログラム
JP5046004B2 (ja) 非接触振動計測システム、非接触振動計測方法及びコンピュータプログラム
JP2019164837A (ja) 情報処理システム、情報処理方法及び情報処理プログラム
TW201935912A (zh) 影像處理方法,電子裝置及非暫態電腦可讀取儲存媒體