本明細書で開示される主題は、マルチカメラシステムを較正するための技法に関する。上で論じたように、較正は、カメラ及び他の画像取り込みデバイスの正しい機能のために重要である。しかしながら、多くの技法は、完了までに長い期間を必要とし、その期間中には、同じターゲットの複数の画像が取り込まれる。本明細書で説明される技法は、複数のターゲットを使用したマルチカメラシステムの較正を含み、カメラシステムを構成するために必要とされる画像の数を低減させることができ、それによって、較正に必要とされる時間を低減させる。
いくつかの事例において、本明細書で説明される技法は、処理デバイスによって実行可能であるコンピュータ可読コードとして実装することができる。本明細書で説明される技法は、工場の組み立て設備に統合することができる。実施形態において、本明細書で説明される技法は、マルチカメラシステムの較正に対する画像の必要数を低減させることができる。較正に必要とされる画像の数の減少は、大量生産環境における本明細書で説明される較正技法の実装を可能にすることができる。
図1は、較正されるマルチカメラシステムを有するコンピューティングデバイスのブロック図である。コンピューティングデバイス100は、プロセッサ102と、非一時的コンピュータ可読媒体を含む記憶デバイス104と、メモリデバイス106とを含むことができる。コンピューティングデバイス100は、ディスプレイデバイス110を動作させてグラフィカルユーザインターフェース(GUI:graphical user interface)において画像をレンダリングするように構成されるディスプレイドライバ108と、1又は複数のカメラデバイス114を含むマルチカメラシステム113を動作させるように構成されるカメラドライバ112とを含むことができる。
コンピューティングデバイス100は、較正アプリケーション116を含む。較正アプリケーション116は、マルチカメラシステム113を較正するように構成することができる。例において、較正アプリケーション116は、マルチカメラシステム113を較正するために使用される。較正アプリケーション116は、プロセッサ102などの処理デバイスによって実行されるように構成される、記憶媒体に記憶される命令とすることができる。更に他の例において、較正アプリケーション116は、ドライバ122を介して回転プラットフォーム120の回転モジュール118と連動して動作するように構成することができる。下でより詳細に説明されるように、回転プラットフォーム120は、複数のターゲットと関連付けられる異なる位置で画像を取り込むために回転させることができる。いくつかの事例において、較正アプリケーション116及び回転モジュール118は、コンピューティングデバイス100又は回転プラットフォーム120のいずれかで動作する同一のプログラムとして構成することができる。後者の場合、回転プラットフォーム120は、コンピューティングデバイス100を回転させること、及びマルチカメラシステム113と連動して画像を取り込むことを含む命令を実行するための論理又はソフトウェア命令及び処理デバイス、並びに、構成アプリケーション116の動作を実行するように構成される論理及び/又はソフトウェアを含むことができる。
回転モジュール118及び較正アプリケーション116は、親モジュールの別個のモジュール若しくはサブモジュール、又は個々のアプリケーションとみなすことができる。また、追加的なモジュール及び/又はアプリケーションを含むこともできる。いくつかのシナリオにおいて、コンピューティングデバイス100は、1又は複数のセンサ124を含むことができる。これらのシナリオでは、1又は複数のセンサ124を、較正中の画像取り込みにおいてエラーを引き起こす潜在的条件を検出するために使用することができる。例えば、センサ124は、コンピューティングデバイスが水平でなくなり、それによって、下で更に詳細に説明される較正プロセス中に画像を取り込む際に潜在的エラーを作り出すときを決定するように構成される、ジャイロメーターを含むことができる。別の例として、異物が所与のカメラと所与のターゲットとの間の視界を遮っているかどうかを判定するために、周辺光センサを使用することができる。
下で更に詳細に論じられるように、カメラデバイス114の較正は、2つ以上のターゲットにおいて画像を取り込むことによって提供される。回転プラットフォーム120は、複数のターゲットと関連付けられる異なる位置まで回転させるように構成することができる。回転は、自動とすることができ、又はいくつかのレベルの人間の入力を伴うことができる。例えば、オペレータは、較正プロセスを開始し、各画像が取り込まれた後に回転プラットフォーム120上のボタンを押し続けるように要求され得る。更に、画像取り込みは、自動化することもできるが、オペレータは、所与の位置において、及び所与のターゲットについて所与の画像を取り込むために、カメラデバイス114と関連付けられるシャッターボタンを押すことが有用である場合がある。
コンピューティングデバイス100は、本明細書で参照されるときには、モバイルコンピューティングデバイスとすることができ、処理デバイス、記憶デバイス、ディスプレイデバイスなどの構成要素が単一の筐体内に配置される。例えば、コンピューティングデバイス100は、タブレットコンピュータ、スマートフォン、ハンドヘルドビデオゲームシステム、携帯電話、オールインワンスレートコンピューティングデバイス、又はオールインワン機能性を有する任意のコンピューティングデバイスとすることができ、コンピューティングデバイスの筐体は、ディスプレイ、並びに記憶構成要素及び処理構成要素などの構成要素を収容する。
プロセッサ102は、記憶された命令を実行するように適合されるメインプロセッサとすることができる。プロセッサ102は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は任意の数の他の構成とすることができる。プロセッサ102は、複合命令セットコンピュータ(CISC:Complex Instruction Set Computer)若しくは縮小命令セットコンピュータ(RISC:Reduced Instruction Set Computer)プロセッサ、x86命令セット互換プロセッサ、マルチコア、又は任意の他のマイクロプロセッサ若しくは中央演算処理装置(CPU:central processing unit)として実現することができる。
メモリデバイス106としては、ランダムアクセスメモリ(RAM:random access memory)(例えば、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory)、ゼロキャパシタRAM、シリコン−酸化物−窒化物−酸化物−シリコンSONOS、組み込み型DRAM、拡張データ出力RAM、ダブルデータレート(DDR:double data rate)RAM、抵抗性ランダムアクセスメモリ(RRAM(登録商標):resistive random access memory)、パラメータランダムアクセスメモリ(PRAM:parameter random access memory)、その他)、リードオンリーメモリ(ROM:read only memory)(例えば、マスクROM、プログラマブルリードオンリーメモリ(PROM:programmable read only memory)、消去可能プログラマブルリードオンリーメモリ(EPROM:erasable programmable read only memory)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM:electrically erasable programmable read only memory)、その他)、フラッシュメモリ、又は任意の他の適切なメモリシステムを挙げることができる。メインプロセッサ102は、システムバス134(例えば、周辺構成要素相互接続(PCI:Peripheral Component Interconnect)、業界標準アーキテクチャ(ISA:Industry Standard Architecture)、PCI−Express、HyperTransport(登録商標)、NuBus、その他)を通して、メモリ106及び記憶デバイス104を含む構成要素に接続することができる。
ディスプレイドライバ108は、コンピューティングデバイス100及びディスプレイデバイス110のソフトウェア又はハードウェアとの相互作用点とすることができる。例えば、ディスプレイドライバ108は、デジタルビデオインターフェース(DVI:digital video interface)、高解像度マルチメディアインターフェース(HDMI(登録商標):high−definition multimedia interface)、及び同類のものなどのインターフェースを含むことができる。ディスプレイデバイス110は、ビルトインディスプレイ又はコンピューティングデバイス100の周辺ディスプレイとすることができる。実施形態において、ディスプレイデバイス110は、タッチ画面機能を含む。
カメラドライバ112は、1又は複数のカメラデバイス114に、視覚情報を、又は換言すれば、マルチカメラシステム113を構成するために使用される画像セットの画像を取り込むように指示するように構成される。カメラデバイス114は、リアルタイムビデオを取り込むように構成されるビデオカメラ、深度カメラ、赤外線カメラ、及び同類のものとすることができる。
図1のブロック図は、コンピューティングデバイス100が図1に示される構成要素の全てを含むことを示すことを意図しない。更に、コンピューティングデバイス100は、具体的な実現形態の詳細に応じて、図1に示されない任意の数の追加的な構成要素を含むことができる。
図2は、較正において使用される第1のターゲットを例示する図である。第1のターゲット200は、約410ミリメートル(mm)×約620mmの寸法を有することができる。図2に例示されるように、第1のターゲット200は、複数の白黒の正方形を含むチェッカーボードパターンを有することができる。第1のターゲットの正方形サイズは、約30mm×約30mmとすることができる。合計で、第1のターゲット200は、20個の正方形×13個の正方形を含むことができる。約10mmの縁が第1のターゲット200のチェッカーボードを取り囲むことができる。いくつかのシナリオにおいて、第1のターゲット200は、地上約889mmに配置されるように構成することができる。
図3は、較正において使用される第2のターゲットを例示する図である。第2のターゲット300は、約40mm×40mmの正方形サイズを含み、22個の正方形×15個の正方形を有し、第2のターゲット300の寸法は、約620mm×900mmである。第1のターゲット200と同様に、第2のターゲット300は、約10mmの縁を含む。
図4は、スタンドによって保持されたターゲットを例示する図である。上で論じたように、第1のターゲットは、地上約889mmに配置することができる。この高さは、一例として与えられる。しかしながら、第1のターゲット200は、更には第2のターゲット300も、マルチカメラシステム113と同じ高さに配置されることが重要である。
実施形態において、本明細書で説明されるターゲットは、ターゲットが歪まない、又は曲がらないことを確実にする硬い材料で作製することができる。換言すれば、本明細書で説明されるターゲットは、平坦である。
図5は、較正において使用されるマルチボードターゲットを例示する図である。図5に例示されるように、マルチボードターゲット500は、互いから約40度の角度で配置される5つの別個のチェッカーボードを含む。5つの別個のチェッカーボードの各々は、約620mm×545mmの寸法、又は7個の正方形×8個の正方形を有することができ、各正方形は、約60mm×60mmである。マルチボードターゲット500の設計は、第3のターゲット及び第4のターゲットの各々に使用することができる。図5では全てのチェッカーボードに例示されていないが、マルチボードターゲット500は、各個々のボードの外周の周囲に赤色の縁502及び白色の縁504を含むことができる。第1のターゲット200及び第2のターゲット300と同様に、マルチボードターゲット500の中心506は、マルチカメラシステムと同じである高さに配置することができる。
図6Aは、マルチボードターゲットの異なるビューを例示する図である。602には、マルチボードターゲット500の正面図が例示される。マルチボードターゲット500の表側の各々が、図5に図示されるチェッカーボード設計などの、チェッカーボード設計を有することに留意されたい。ビュー604及び606の各々は、図5のマルチボードターゲット500の側面図を例示する。
図6Bは、マルチボードターゲットの追加的なビューを例示する図である。608及び610に例示されるように、個々のボードの各々の間の角度612は、同じとすることができる。1つの例において、角度612は、約40度である。いくつかのシナリオにおいて、マルチボードターゲットの高さは、610に例示されるように、マルチボードターゲットの中心に対して90センチメートル(cm)とすることができる。614に示されるように、図1のマルチカメラシステム113などのマルチカメラシステムは、下で更に詳細に論じられるように、第3のターゲット及び第4のターゲットが使用されるシナリオの各々において、マルチボードターゲットの前方に配置することができる。
図7Aは、較正において使用される4つの異なるターゲットを含む環境を例示する図である。環境700は、第1のターゲット200と、第2のターゲット300と、第3のターゲット702及び第4のターゲット704の各々のためのマルチボードターゲットとを含む。議論を簡単にするために、ターゲットの各々に割り当てられる数字は、以下に沿ったものとすることができる。図1に関して上記のマルチカメラシステム113を有するコンピューティングデバイス100などのコンピューティングデバイスは、コンピューティングデバイス100を少なくとも部分的に取り囲むターゲットとともに位置付けることができる。図7Aには例示されていないが、コンピューティングデバイス100は、図1に関して上で説明した、回転プラットフォーム120などの回転プラットフォーム上に配置することができる。下でより詳細に説明されるように、コンピューティングデバイス100は、各ターゲットの画像を取り込むために、回転プラットフォームによって回転させることができる。
図7Aに例示されるように、ターゲット200及びターゲット300の最初の配置は、706で示される中心線から45度とすることができる。実施形態において、コンピューティングデバイス100からターゲット200までの距離は、約800mmであり、コンピューティングデバイス100からターゲット300までの距離は、約1200mmである。ターゲット702は、コンピューティングデバイス100から2230mmの距離に配置することができ、一方で、ターゲット704は、コンピューティングデバイス100から3050mmの位置に配置される。
図7Bは、第1のターゲットと関連付けられる第1の位置を含む環境を例示する図である。図7Bに例示される第1の位置710において、マルチカメラシステム114は、第1のターゲット200において第1の画像を取り込む。ターゲット200は、708で示されるように、マルチカメラシステム114の視界を中心とする。ターゲット200全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。
図7Cは、第2のターゲットと関連付けられる第2の位置を含む環境を例示する図である。図7Cに例示される第2の位置712において、タブレットのマルチカメラシステム113は、第2のターゲット300において第2の画像を取り込む。実施形態において、コンピューティングデバイス100は、第1の位置710から第2の位置712まで約90度回転する。ターゲット300全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。
図7Dは、第2のターゲットと関連付けられる第3の位置を含む環境を例示する図である。図7Dに例示される第3の位置714において、マルチカメラシステム113は、第2のターゲット300において第3の画像を取り込む。このシナリオでは、第2のターゲット300から取り込まれる2つの画像があり、1つは、図7Cの第2の位置712であり、1つは、図7Dの第3の位置714である。第2の位置712と第3の位置714との間の差は、コンピューティングデバイス100の約10度の回転とすることができる。ターゲット300全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。
図7Eは、第3のターゲットと関連付けられる第4の位置を含む環境を例示する図である。図7Eに例示される第4の位置716において、マルチカメラシステム113は、第3のターゲット702において第4の画像を取り込む。第3の位置714と第4の位置716との間の差は、コンピューティングデバイス100の約135度の回転とすることができる。ターゲット702全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。
図7Fは、第4のターゲットと関連付けられる第5の位置を含む環境を例示する図である。図7Fに例示される第5の位置718において、マルチカメラシステム113は、第4のターゲット704において第5の画像を取り込む。第4の位置716と第5の位置718との間の差は、コンピューティングデバイス100の約180度の回転とすることができる。ターゲット704全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。
図7Gは、第4のターゲットと関連付けられる第6の位置を含む環境を例示する図である。図7Fに例示される第6の位置720において、マルチカメラシステム113は、第4のターゲット704において第6の画像を取り込む。第5の位置718と第6の位置720との間の差は、コンピューティングデバイス100の約10度の回転とすることができる。ターゲット704全体を視界708の範囲内とすることができ、ターゲットの上側及び下側の等しい空間を視界708に表すことができる。このシナリオでは、第4のターゲット704から取り込まれる2つの画像があり、1つは、図7Fの第5の位置718であり、1つは、図7Gの第6の位置720である。第5の位置と第6の位置との間の差は、約10度の回転とすることができる。
図8は、ターゲットに対して異なる位置で取り込まれた6つの画像を例示する図である。図8に例示されるように、第1のターゲット200の1つの画像802、第2のターゲット300の2つの画像804、806、第3のターゲット702の1つの画像808、及び第4のターゲット704の2つの画像810、812がある。更に、図8に例示されるように、第3のターゲット702及び第4のターゲット704は、白色の縁及び赤色の縁によって構成されるマルチボードターゲットである。第3のターゲット又は第4のターゲットの画像を取り込むときには、一度に1つのチェッカーボードを取り込むことができる。したがって、本明細書で説明される技法は、他のボードに対するボードの場所によって個々のボードをともに識別することによって、マルチボードターゲットの各チェッカーボードをともに継ぎ合わせることを含む。換言すれば、マルチボードターゲットの各チェッカーボードは、個々に取り込むことができ、その後に、他のチェッカーボードが取り込まれる間は隠すことができる。次いで、チェッカーボード画像は、それらの相対的位置に基づいて、較正のためにともに継ぎ合わせることができる。
図9は、ターゲットに関連する、マルチカメラシステムを有するコンピューティングデバイスの方向を例示する図である。いくつかのシナリオにおいて、マルチカメラシステム113を有するコンピューティングデバイス100などのコンピューティングデバイスは、短軸902及び長軸904を有することができる。このシナリオにおいて、コンピューティングデバイス100の長軸904は、図9に例示されるように、ターゲットの長軸906と同じ方向に配置される。同様に、コンピューティングデバイス100の短軸902は、ターゲットの短軸908と同じ方向に配置される。
図10は、較正における照明の悪影響を例示する図である。いくつかのシナリオにおいて、過剰な照明又は不十分な照明は、較正の成功又は失敗に影響を及ぼし得る。図10に示されるように、1002における照明は、較正プロセスに悪影響を及ぼし得る。いくつかの実施形態において、照明は、約800ルクスの光強度制限によってターゲットを照明する。更に、光の過飽和を低減させるために、カメラに面するターゲットの背後に位置付けられる明るい光を除去することができる。
図11は、コンピューティングデバイスのディスプレイにおいてレンダリングされるグラフィカルユーザインターフェースを例示する図である。画像が取り込まれた後に、コンピューティングデバイス100は、較正の処理を始めることができる。これは、グラフィカルユーザインターフェース1100を介してオペレータにレンダリングすることができる。
図12は、較正の成功時に有効画面をレンダリングするためのグラフィカルユーザインターフェースを例示する図である。較正に成功した場合は、グラフィカルユーザインターフェース1200をレンダリングすることができる。
図13は、較正の失敗時に失敗画面をレンダリングするためのグラフィカルユーザインターフェースを例示する図である。較正に失敗した場合は、グラフィカルユーザインターフェース1300をレンダリングすることができ、円形の矢印を押すことで、プロセスを再開することができる。
図14は、較正を失敗させた因子の一例を例示するグラフィカルユーザインターフェースである。いくつかのシナリオにおいて、較正は、既知のエラーのため失敗する場合がある。較正アプリケーション116などのアプリケーションは、失敗した画像をグラフィカルユーザインターフェースにレンダリングすることができる。上で論じたように、図1のセンサ124などのセンサは、デバイスが水平でなかったときに画像が取り込まれたことを示すために、ジャイロメーターを含むことができる。この事例において、較正アプリケーション116は、プロセスを停止し、1400において示されるように、所与の画像が使用不可能である旨のメッセージをオペレータにレンダリングすることができる。
図15は、較正を失敗させた別の因子の一例を例示するグラフィカルユーザインターフェースである。失敗を引き起こす別の因子としては、カメラデバイス114のうちの1つなどのカメラデバイスが遮られたことが挙げられる。このシナリオにおいて、較正アプリケーション116は、図15に例示されるように、オペレータに使用不可能な画像を通知することができる。遮られた画像の検出は、いくつかのシナリオにおいて、図1に関して上で論じたように、周辺光センサを含むセンサ124を介して行うことができる。このシナリオにおいて、較正アプリケーション116は、プロセスを停止し、1500において示されるように、所与の画像が使用不可能である旨のメッセージをオペレータにレンダリングすることができる。
図16は、マルチカメラシステムを較正するように構成されたコンピュータ可読媒体の一例を示すブロック図である。コンピュータ可読媒体1600は、コンピュータバス1604を通じて、プロセッサ1600によってアクセスすることができる。いくつかの例において、コンピュータ可読媒体1600は、非一時的コンピュータ可読媒体とすることができる。いくつかの例において、コンピュータ可読媒体は、記憶媒体とすることができるが、搬送波、信号、及び同類のものを含まない。更にまた、コンピュータ可読媒体1600は、プロセッサ1602に本方法の工程を行うように指示するためのコンピュータ実行可能命令を含むことができる。
本明細書で論じられる様々なソフトウェア構成要素は、図11に示されるように、有形の非一時的なコンピュータ可読媒体1600に記憶することができる。例えば、較正アプリケーション1606は、第1のターゲットにおいて1又は複数の画像を取り込み、第2のターゲットにおいて1又は複数の画像を取り込み、第3のターゲットにおいて1又は複数の画像を取り込み、第4のターゲットにおいて1又は複数の画像を取り込み、そして、取り込まれた画像に基づいてマルチカメラシステムを較正するように構成することができる。
本明細書で説明される技法は、これらのターゲットの画像を自動的に取り込み、該画像を較正する、工場カメラ較正及びアプリケーションを含む。較正データは、試験されているデバイス上のfactoryパーティションに保存することができる。カメラは、ターゲットの方向を指し示す別個の取り付け具(モーター付リグプラットフォーム)の中に存在することになる。カメラの高さは、カメラアレイの中心が各ターゲットの中心と整列するような高さである。
較正方法工程は、第1のターゲットと整列させた取り付け具にタブレットを配置することを含むことができる。カメラアレイは、タブレットの裏にある。タッチ画面は、正面カメラを有するオペレータの右下に面している。タブレットは、取り付け具の中へ完全に挿入し、角度を持たせてはならない。タブレットの表面は、ターゲットの表面と平行でなければならない。取り付け具は、ユーザがタブレットの調整を必要としないように設定する。回転リグが始動すると、次いで、カメラシステムを、タブレットのディスプレイ上のシャッターボタンを押すことによって画像を取り込むために使用しなければならない。これらのアクションは、回転とカメラとの間のタイミングが同期するように間断なく起こらなければならない。ターゲット1において取り込まれた画像、ジグが45度回転すること、及び第2のターゲットにおいて第1の画像を取り込むことを含む、次の工程は、自動的に起こらなければならない。ジグが約10度回転し、第2のターゲットにおいて第2の画像が取り込まれる。ジグが第3のターゲットまで約135度回転し、第3のターゲットにおいて画像が取り込まれる。ジグが約180度回転し、第4のターゲットから第1の画像が取り込まれる。ジグが約10度回転し、第4のターゲットから第2の画像が取り込まれる。第4のターゲットから第2の画像が取り込まれた後に、較正を開始する。
デバイスは、較正プロセッシングが完了するのを待つ間、回転リグから取り外すことができる。較正に成功した場合は、バックアップのために、factoryパーティションから「.yml」ファイルをプルする。較正に失敗した場合は、較正プロセスを再度動作させる。
較正に成功すると、デバイス上のroot/factoryにおいて、「factorycameracalibration.yml」と称される較正ファイルを作成する。各デバイスは、一意のファイルを生成することができる。較正に失敗した場合は、いかなるファイルも作成されない。製造業者は、デバイスから較正ファイルをコピーし、それをバックアップサーバに記憶しなければならない。保管した較正は、較正プロセスを更に改善するために使用することができる。デバッギングは、アプリケーションを開始したときにマルチカメラシステムの全てのカメラがプレビューを示していることを確認することと、アプリケーションが動作しているときに第1のターゲットがプレビューウィンドウの中に正しく位置付けられていることを確認することと、ターゲットが正しい位置にあることを確認することとを含むことができる。ターゲットは、タブレットホルダーを、及びタブレットホルダーから正しい距離を直接指し示していなければならない。
全ての画像が正しく取り込まれているかどうかを確かめるために、取り込まれた画像を見るために掲示することができる。較正デバッグアプリケーションを開くことで、オペレータが、第1の較正が行われたかどうかを調べることを可能にすることができる。較正デバッグアプリケーションでは、オペレータが各ターゲットと関連付けられる画像を開くことを可能にするテキストをレンダリングすることができる。いくつかのシナリオにおいて、画像が正しく見えているが、それでも較正が失敗している場合は、更なるレビューのために、画像を分析チームに送信することができる。画像は、factoryパーティションの単一のtarファイルに記憶することができる。
カメラ較正は、複数の理由で失敗する可能性がある。いくつかの一般的な理由としては、コーナー検出の失敗、較正数値最適化が収束していないこと、正面のチェッカーボードがカメラに近過ぎる場合が挙げられる。較正の失敗が通知された場合は、較正デバッグアプリケーションをデバイスに含むことができ、また、較正プロセスをデバッグするために使用することができる。較正デバッグアプリケーションは、オペレータが、取り込まれた最後の画像セットに対する較正を再び行うことを可能にすることができ、また、重要なデバッグ情報を保存することができる。この情報は、タブレットを別のコンピューティングデバイスに接続し、コマンドラインから「adb pull」を行うことによって確認することができる。較正に失敗した理由は、タブレットのディレクトリのファイルを調べることによってデバッグすることができる。このファイルには、全ての警告テキストが書かれている。較正に失敗した場合は、「エラー」という行を視認することができ、その後にエラーメッセージが続く。
較正アプリケーションは、カメラの視界が遮られている場合、チェッカーボードに対する光の量が45度を超えて斜めになっている場合、及び/又は画像の中にぼやけがある場合に、チェッカーボードパターンの検出に失敗する。コーナー検出に成功した場合、全ての画像のコーナー上に青色の線をレンダリングすることができ、これは、デバッグフラグがアプリケーションにおいて真に設定されている場合にだけ真とすることができる。
コーナー検出に失敗した場合は、デバッグモードで較正を再度動作させた後に、結果ディレクトリの中に画像があるはずである。この画像を調べることで、アプリケーションがどのチェッカーボードの検出に失敗したのかが分かる。このファイル名の番号は、取り込み数に基づいて、0、1、又は3とすることができる。正しく検出されたボードには、青色の線がボードの内側コーナーに描かれるが、失敗したものには描かれない。また、FactoryCameraCalibration.logファイルを調べることもできる。「警告|パターンの検出に失敗しました」というタイトルを有する警告があるはずである。
正しくコーナーを検出した画像が少な過ぎる場合は、「エラー|BA中のアクティブな画像が少な過ぎます」などのメッセージを発生させることができる。正しくコーナーを検出した画像が少な過ぎることを示す別のメッセージとしては、「エラー|使用できる画像がありません」を挙げることができる。
失敗した場合に、オペレータは、チェッカーボードへの光が多過ぎる、又は少な過ぎることを確認することができ、そして、照明を調整することができる。マルチボードターゲットの底部ボードが反射している光が多過ぎる、又はチェッカーボードの頂部の光が少な過ぎる可能性がある。任意のチェッカーボードが斜めになり過ぎている場合は、角度が正しい値に設定されることを確認する。いくつかの事例において、これは、ヒンジが緩い場合に頂部/底部チェッカーボードによって起こり得る。
画像のいずれかにぼやけがある、取り込み中にジグが静止していなかった、照明の問題のためコーナーが正確に検出されなかった場合には、較正最適化が収束しない。失敗した場合に、オペレータは、ログファイルにおいて、ファイルの最後にある、「エラー|バンドル調整が設定に基づいて収束しませんでした」又は「エラー|BA中のアクティブな画像が少な過ぎます」といったメッセージを見出すことができる。オペレータはまた、ファイルの最後にある、「警告|ビューXが無効です。エラー閾値を超えています」又は「警告|ビュー番号Xがバンドル調整中に使用されていません」といった警告を視認することもできる。オペレータが、3回を超えてこれらの警告を視認した場合に、それがエラーとなる。失敗した場合には、現在の取り込みにおいて、どの画像にも誤った照明又はぼやけがなかったことを確認し、画像を再度取り込み、進行する。
正面チェッカーボードがカメラに近過ぎる場合、オペレータは、「調整シフトに提供されたアルバム上のコーナーに失敗しました(カメラX)」といった警告を視認することができる。オペレータはまた、デバッグモードにおいて再度較正を動作させた後に、結果ディレクトリの中にRectificationFailure.pngという名前の画像も視認する。この事例では、第1のチェッカーボードがカメラに近過ぎる可能性がある。チェッカーボードが頂部、右側、底部、及び左側からの画像の中央にあることを確実にする。チェッカーボードが既に中央にある場合は、チェッカーボードを約2インチ後方に移動させる。
例1は、マルチカメラシステムを較正するためのシステムを含む。本システムは、処理デバイス、及び処理デバイスによって実装されるモジュールを含む。本モジュールは、画像取り込みモジュール及び較正モジュールを含む。画像取り込みモジュールは、第1のターゲットにおいて1又は複数の画像を取り込み、第2のターゲットにおいて1又は複数の画像を取り込み、第4のターゲットにおいて1又は複数の画像を取り込むように構成される。較正モジュールは、取り込まれた画像に基づいてマルチカメラシステムを較正するためのものである。
画像取り込みモジュールは、第1のターゲットにおいて1つの画像を取り込み、第2のターゲットにおいて2つの画像を取り込むことができる。画像取り込みモジュールは、第3のターゲットにおいて1つの画像を取り込むが、第2のターゲットにおいて2つの画像を取り込むことができる。
例2は、マルチカメラシステムを較正するための方法を含む。本方法は、第1のターゲットにおいて1又は複数の画像を取り込むことと、第2のターゲットにおいて1又は複数の画像を取り込むことと、第3のターゲットにおいて1又は複数の画像を取り込むことと、第4のターゲットにおいて1又は複数の画像を取り込むこととを含む。本方法はまた、取り込まれた画像に基づいてマルチカメラシステムを較正することを含むこともできる。
いくつかの事例では、例2の方法を実行する手段を備える装置。更に、いくつかの事例では、実行可能コードを有するコンピュータ可読媒体をプロセッサによって実行することができ、また、プロセッサに例2の方法を実行させることができる。
例3は、コードを含むコンピュータ可読媒体を含み、該コードは、実行されたときに、処理デバイスに、第1のターゲットにおいて1又は複数の画像を取り込ませ、第2のターゲットにおいて1又は複数の画像を取り込ませ、第4のターゲットにおいて1又は複数の画像を取り込ませる。更に、このコードは、処理デバイスに、取り込まれた画像に基づいてマルチカメラシステムを較正させるように構成することができる。
例4は、マルチカメラシステムを較正するための装置を含む。本装置は、第1のターゲットにおいて1又は複数の画像を取り込み、第2のターゲットにおいて1又は複数の画像を取り込み、第3のターゲットにおいて1又は複数の画像を取り込み、また、第4のターゲットにおいて1又は複数の画像を取り込むための手段を含むことができる。本手段はまた、取り込まれた画像に基づいてマルチカメラシステムを較正するように構成することができる。
例5は、マルチカメラシステムを較正するための装置を含む。本装置は、ハードウェア論理を少なくとも部分的に備える論理を含む。本論理は、第1のターゲットにおいて1又は複数の画像を取り込み、第2のターゲットにおいて1又は複数の画像を取り込み、第3のターゲットにおいて1又は複数の画像を取り込み、また、第4のターゲットにおいて1又は複数の画像を取り込むように構成される。本論理はまた、取り込まれた画像に基づいてマルチカメラシステムを較正するように構成することができる。
一実施形態は、一実現形態又は一例である。明細書における「一実施形態」、「1つの実施形態」、「いくつかの実施形態」、「様々な実施形態」、又は「他の実施形態」に対する参照は、実施形態と関連して説明される特定の特徴、構造、又は特性が、本技法の、必ずしも全ての実施形態ではないが、少なくともいくつかの実施形態に含まれることを意味する。「一実施形態」、「1つの実施形態」、又は「いくつかの実施形態」の様々な出現は、必ずしも全てが同じ実施形態を指しているわけではない。
本明細書で説明され、例示される全ての構成要素、特徴、構造、特性、その他は、特定の一実施形態又は複数の実施形態に含まれる必要があるとは限らない。本明細書が、構成要素、特徴、構造、又は特性が、含まれ「得る」(may)、含まれる「場合がある」(might)、含む「ことができる」(「can」)、又は含まれる「可能性がある」(「could」)と述べている場合は、例えば、その特定の構成要素、特徴、構造、又は特性が含まれる必要はない。本明細書又は請求項が、「1つの」(「a」又は「an」)要素を参照している場合は、要素が1つだけ存在することを意味しない。本明細書又は請求項が、「1つの追加的な」要素を参照している場合は、追加的な要素が2つ以上存在する場合を排除しない。
いくつかの実施形態は、特定の実現形態を参照して説明されているが、いくつかの実施形態に従って他の実現形態が可能であることに留意されたい。加えて、図面に例示される、及び/又は本明細書で説明される回路要素又は他の特徴の配設及び/又は順序は、例示及び説明される特定の方法で配設する必要はない。いくつかの実施形態に従って数多くの他の配設が可能である。
図面に示される各システムにおいて、いくつかの事例における要素は、表される要素が異なる及び/又は類似し得ることを示唆するために、各々、同じ参照番号又は異なる参照番号を有する。しかしながら、要素は、異なる実現形態を有するように、また、本明細書で示される、又は説明されるシステムの一部又は全部とともに機能するように十分な柔軟性を有することができる。図面に示される様々な要素は、同じであっても、又は異なっていてもよい。どの要素が第1の要素として参照されるか、及びどの要素が第2の要素と称されるかは、任意である。
上述した例の詳細は、1又は複数の実施形態のどこででも使用することができることを理解されたい。例えば、上で説明したコンピューティングデバイスの全ての随意の特徴はまた、本明細書で説明される方法又はコンピュータ可読媒体のいずれかに関して実装することもできる。更に、フロー図及び/又は状態図が、実施形態を説明するために本明細書で使用されている場合があるが、本技術は、そのような図面に、又は本明細書の対応する説明に限定されない。例えば、フローは、各例示されるボックス又は状態を通して進める必要はなく、又は、本明細書で例示され、説明される順序と全く同じ順序で進める必要はない。
本技法は、本明細書に列記される特定の詳細に限定されない。実際に、本開示の利益を有する当業者は、前述の説明及び図面からの多くの他の変形を本技法の範囲内で行うことができることを認識するであろう。故に、本技法に対する任意の補正を含む以下の特許請求の範囲は、本技法の範囲を定義する。