特許第6391130号(P6391130)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテル・コーポレーションの特許一覧

<>
  • 特許6391130-カメラキャリブレーション 図000002
  • 特許6391130-カメラキャリブレーション 図000003
  • 特許6391130-カメラキャリブレーション 図000004
  • 特許6391130-カメラキャリブレーション 図000005
  • 特許6391130-カメラキャリブレーション 図000006
  • 特許6391130-カメラキャリブレーション 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6391130
(24)【登録日】2018年8月31日
(45)【発行日】2018年9月19日
(54)【発明の名称】カメラキャリブレーション
(51)【国際特許分類】
   H04N 5/232 20060101AFI20180910BHJP
   G06T 7/80 20170101ALI20180910BHJP
   G06T 7/55 20170101ALI20180910BHJP
   G01B 11/00 20060101ALI20180910BHJP
【FI】
   H04N5/232 290
   G06T7/80
   G06T7/55
   G01B11/00 H
【請求項の数】26
【全頁数】17
(21)【出願番号】特願2017-505169(P2017-505169)
(86)(22)【出願日】2015年8月6日
(65)【公表番号】特表2017-535980(P2017-535980A)
(43)【公表日】2017年11月30日
(86)【国際出願番号】US2015044021
(87)【国際公開番号】WO2016036470
(87)【国際公開日】20160310
【審査請求日】2017年3月8日
(31)【優先権主張番号】62/046,788
(32)【優先日】2014年9月5日
(33)【優先権主張国】US
(31)【優先権主張番号】14/498,801
(32)【優先日】2014年9月26日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】メロウン、マ−ティン
(72)【発明者】
【氏名】ミドルトン、ダニエル シー.
【審査官】 高野 美帆子
(56)【参考文献】
【文献】 特表2013−515959(JP,A)
【文献】 特開2009−093611(JP,A)
【文献】 特開2005−317020(JP,A)
【文献】 特開2010−027025(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/222−5/257
G01B 11/00
G06T 7/55
G06T 7/80
(57)【特許請求の範囲】
【請求項1】
画像キャリブレーションのためのシステムであって、
処理デバイスと、
前記処理デバイスによって実装されるモジュールと
を備え、前記モジュールが、
画像のセットの複数の特徴を検出し、
前記画像のセットの複数の特徴を記述し、
前記画像のセットの複数の特徴の間のマッチングを判断する、
ための特徴モジュールと、
関連する複数のカメラ位置に基づいて前記マッチングした特徴でのシフトを決定し、
前記複数のカメラ位置と前記決定したシフトとの間の第1のホモグラフィを決定し、
三次元特徴の複数のカメラへの再投影に基づいて第2のホモグラフィを決定する、
ためのホモグラフィモジュールと、
を備える、システム。
【請求項2】
製造におけるキャリブレーションからのオリジナルのホモグラフィで前記画像のセットを修正するよう構成される修正機モジュールをさらに備え、前記修正は、前記特徴モジュールによる特徴の前記検出の前に実行される、請求項1に記載のシステム。
【請求項3】
画像のセットの前記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、請求項1または2に記載のシステム。
【請求項4】
前記画像のセットの複数の前記画像が、異なる位置に配置される単一のカメラで取り込まれた画像を含む、請求項1または2に記載のシステム。
【請求項5】
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄し、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄する、よう構成される外れ値モジュールをさらに備える、
請求項1または2に記載のシステム。
【請求項6】
前記外れ値モジュールは、特徴のマッチングが3つ未満のカメラで生じた場合に外れ値を破棄するようさらに構成される、請求項5に記載のシステム。
【請求項7】
前記外れ値モジュールは、画像のセット同士の間の特徴座標の差を、取り込んだ各画像と関連する変位で割ったものを示す前記シフトのスケールを決定するようさらに構成される、請求項5に記載のシステム。
【請求項8】
前記検出された特徴を三次元で再構築するよう構成される再構築モジュールをさらに備え、前記第2のホモグラフィが、製造者によるキャリブレーションからのオリジナルの特徴座標と、前記三次元での再構築の1つまたは複数のカメラへの前記再投影に基づく特徴座標との間のホモグラフィである、請求項1または2に記載のシステム。
【請求項9】
前記三次元での再構築が、シーン深さを推定する、請求項8に記載のシステム。
【請求項10】
前記モジュールが、画像を取り込む場合に、アドホックとして動作可能である、請求項1または2に記載のシステム。
【請求項11】
画像キャリブレーションのための方法であって、
画像のセットの複数の特徴を検出するステップと、
前記画像のセットの複数の特徴を記述するステップと、
前記画像のセットの複数の特徴の間のマッチングを判断するステップと、
前記マッチングした特徴と関連する複数のカメラ位置に基づいて前記マッチングした特徴でのシフトを決定するステップと、
前記複数のカメラ位置と前記決定したシフトとの間の第1のホモグラフィを決定するステップと、
三次元特徴の複数のカメラへの再投影に基づいて第2のホモグラフィを決定するステップと、
を備える、方法。
【請求項12】
製造におけるキャリブレーションからのオリジナルのホモグラフィで前記画像のセットを修正するステップをさらに備え、前記修正は、特徴を前記検出するステップの前に実行される、請求項11に記載の方法。
【請求項13】
画像のセットの前記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、請求項11または12に記載の方法。
【請求項14】
前記画像のセットの複数の前記画像が、異なる位置に配置される単一のカメラで取り込まれた画像を含む、請求項11または12に記載の方法。
【請求項15】
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄するステップと、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄するステップと、
をさらに備える、請求項11または12に記載の方法。
【請求項16】
特徴のマッチングが3つ未満のカメラで生じる外れ値を破棄するステップをさらに備える、請求項11または12に記載の方法。
【請求項17】
画像のセット同士の間の特徴座標の差を、取り込んだ各画像と関連する変位で割ったものを示す前記シフトのスケールを決定するステップをさらに備える、請求項11または12に記載の方法。
【請求項18】
前記検出された特徴を三次元で再構築するステップをさらに備え、前記第2のホモグラフィが、製造者によるキャリブレーションからのオリジナルの特徴座標と、前記三次元での再構築の1つまたは複数のカメラへの前記再投影に基づく特徴座標との間のホモグラフィである、請求項11または12に記載の方法。
【請求項19】
前記三次元での再構築が、シーン深さを推定する、請求項18に記載の方法。
【請求項20】
前記方法が、画像を取り込む場合に、アドホックとして動作可能である、請求項11または12に記載の方法。
【請求項21】
実行されると、処理デバイスに、請求項11または12に記載の前記方法を実行させる、コンピュータプログラム。
【請求項22】
実行されると、処理デバイスに、
画像のセットの複数の特徴を検出させ、
前記画像のセットの複数の特徴を記述させ、
前記画像のセットの複数の特徴の間のマッチングを判断させ、
前記マッチングした特徴に関連する複数のカメラ位置に基づいて前記マッチングした特徴でのシフトを決定させ、
前記複数のカメラ位置と前記決定したシフトとの間の第1のホモグラフィを決定させ、
三次元特徴の複数のカメラへの再投影に基づいて第2のホモグラフィを決定させる、
コンピュータプログラム。
【請求項23】
実行されると、さらに前記処理デバイスに、製造におけるキャリブレーションからのオリジナルのホモグラフィで前記画像のセットを修正させ、前記修正が、特徴の前記検出の前に実行される、請求項22に記載のコンピュータプログラム。
【請求項24】
画像のセットの前記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、請求項22または23に記載のコンピュータプログラム。
【請求項25】
実行されると、さらに前記処理デバイスに、
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄させ、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄させる、
請求項22または23に記載のコンピュータプログラム。
【請求項26】
請求項22から25のいずれか一項に記載のコンピュータプログラムを格納したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2014年9月5日に出願され、参照により本明細書に組み込まれる、米国仮特許出願第62/046,788号の利益を主張し、2014年9月26日に出願され、参照により本明細書に組み込まれる、米国特許出願第14/498,801号の利益を主張する。
【0002】
本開示は、一般に、カメラキャリブレーションに関する。より具体的には、本開示は、画像が取り込まれるときに実行されるアドホックキャリブレーション処理について説明する。
【背景技術】
【0003】
コンピューティングデバイスは、ユーザが画像を取り込むことを可能にするために、1つまたは複数のカメラ、または他のタイプの画像取り込み装置をさらに含む。例えば、多くのスマートフォンおよびタブレット型コンピューティングデバイスは、さまざまな状況で画像を取り込むよう動作可能なカメラを含む。多くのカメラシステムは、製造中にキャリブレーションされ得る。しかし、シフト、ノイズ、および他の画質要因などのカメラシステムの許容差のために、通常の使用中に画像が取り込まれると、オンザフライまたはアドホックキャリブレーションが、日々の使用に対する消費者製品の回復機能を維持するのに役立つであろう。
【図面の簡単な説明】
【0004】
図1】コンピューティングデバイスで画像をキャリブレーションするためのキャリブレーションアプリケーションを有するコンピューティングデバイスのブロック図である。
【0005】
図2】コンピューティングデバイスで実行されるキャリブレーションを示す処理フロー図である。
【0006】
図3】カメラデバイスのキャリブレーションの前に、取り込まれた画像に存在する特徴を示すグラフである。
【0007】
図4】カメラデバイスのキャリブレーション後に、取り込まれた画像に存在する特徴を示すグラフである。
【0008】
図5】キャリブレーション中に生じる可能性のある位置合わせ補正を示す写真である。
【0009】
図6】画像取り込み装置をキャリブレーションするよう構成されるコンピュータ可読媒体の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
本明細書で開示する発明の主題は、深度カメラシステムがコンピューティングデバイスで使用されている場合はいつでも実行されるアクティブ画像補正処理の一部として工場でのキャリブレーションデータを使用するための技術に関する。オンボードキャリブレーションは、多くの利益をもたらす。例えば、キャリブレーションは、視差が使用可能画像となるように、実際の状況に基づいて工場設定から精緻化することができる。いくつかの態様において、画像を修正するように、画像から抽出した特徴を使用して画像の位置合わせを補正することができる。いくつかの態様において、シーン深さ推定を提供し、視差に対するパラメータ選択を自動化することができる。少量のノイズと良好な照明とを有する状況では、アドホックキャリブレーションは、カメラが回転する場合の小さな変化および変化する可能性のある所与のカメラの本質的な特性に対する補正を高めることができる。
【0011】
図1は、コンピューティングデバイスで画像をキャリブレーションするためのキャリブレーションアプリケーションを有するコンピューティングデバイスのブロック図である。コンピューティングデバイス100は、プロセッサ102、非一時的コンピュータ可読媒体を含むストレージデバイス104、およびメモリデバイス106を含むことができる。コンピューティングデバイス100は、グラフィカル・ユーザ・インターフェイス(GUI)で画像をレンダリングするためにディスプレイデバイス110を動作させるよう構成されるディスプレイドライバ108と、マルチカメラシステム115の1つまたは複数のカメラデバイス114を動作させるよう構成されるカメラドライバ112とを含むことができる。
【0012】
コンピューティングデバイス100は、カメラデバイス114の1つまたは複数によって取り込まれる画像をキャリブレーションするよう構成されるキャリブレーションアプリケーション116のモジュールを含む。図1に示すように、本モジュールは、特徴モジュール118およびホモグラフィモジュール120を含む。いくつかの実施形態において、キャリブレーションアプリケーション116は、修正機モジュール122、外れ値モジュール124、および再構築モジュール126を含む。モジュール118、120、122、124、および126は、ロジックであり、少なくとも部分的にハードウェアロジックを備えることができる。いくつかの例において、モジュール118、120、122、124、および126は、プロセッサ102などの処理デバイスによって実行されるよう構成されるストレージ媒体に格納される命令とすることができる。さらに他の例において、モジュール118、120、122、124、および126は、ハードウェア、ソフトウェア、およびファームウェアの組み合わせとすることができる。モジュール118、120、122、124、および126は、独立して、並列に、分散して、またはより広範囲の処理の一部として、動作するよう構成することができる。モジュール120、122、および124は、親モジュールとは別個のモジュールまたは親モジュールのサブモジュールとみなしてもよい。追加モジュールを含むこともできる。いずれの場合においても、モジュール118、120、122、124、および126は、動作を実行するよう構成される。
【0013】
特徴モジュール118は、画像のセットでの複数の特徴を検出するよう構成される。画像のセットは、異なるカメラデバイス114から取り込まれた少なくとも2つの画像とすることができる。実施形態において、画像のセットは、少なくとも3つの異なるカメラデバイス114から取り込まれた少なくとも3つの画像としてもよい。特徴モジュール118は、特徴検出アルゴリズムを使用して特徴を検出することができる。例えば、特徴モジュール118は、Features from Accelerated Segment Test(FAST)方法などの、コーナー検出方法を実施することができる。特徴モジュール118はまた、画像のセットでの複数の特徴を記述するよう構成される。1つの特徴は、各画像の情報の1つの項目である。各特徴の記述は、Fast Retina Keypoint(FREAK)方法などの特徴記述方法を使用して実施することができる。複数の特徴が検出され、記述されると、取り込まれた画像のすべて、すなわち、画像のセットに共通の特徴同士がマッチングされる。実施形態において、マッチングは、総当たりマッチングおよび単純な制約を使用して実行される。
【0014】
ホモグラフィモジュール120は、画像のセット内の画像を取り込むために使用される各カメラのカメラ位置に基づいてマッチングした特徴に関連したシフトを決定するよう構成される。射影幾何では、ホモグラフィは、射影空間が導出される元であるベクトル空間の同型写像によって誘導される射影空間の同型写像とすることができる。ホモグラフィモジュール120は、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定することができる。ホモグラフィモジュール120はまた、三次元(3D)特徴をカメラデバイス114に再投影することに基づいて、第2のホモグラフィを決定することができる。
【0015】
いくつかの実施形態において、キャリブレーションアプリケーション116は、修正機モジュール122を含む。修正機モジュール122は、工場でのキャリブレーションデータを使用するよう構成される。例えば、修正機モジュール122は、製造者が提供するオリジナルのホモグラフィで画像のセットを修正することができる。オリジナルのホモグラフィは、ストレージデバイス104に格納することができる。キャリブレーションの結果を向上するために特徴モジュール118の特徴検出の前に修正を行ってもよい。
【0016】
いくつかの実施形態において、キャリブレーションアプリケーション116は、外れ値モジュール124をさらに含む。外れ値モジュール124は、所定の閾値を超える特徴マッチング角度に基づいて、外れ値を破棄するよう構成される。外れ値モジュール124は、所定の閾値を超える特徴マッチングサイズに基づいて、外れ値を破棄してもよい。画像のセットを取り込むために少なくとも3つのカメラデバイス114が使用される場合、外れ値モジュール124は、カメラデバイス114の少なくとも3つからの画像で発生しない特徴のマッチングを破棄するよう構成される。外れ値モジュール124はまた、画像のセット同士の間の特徴座標の差を、取得した取り込まれた各画像と関連する変位で割ったものを示すシフトのスケールを決定するようさらに構成することができる。上記、および/または以下のモジュールは、単一のアプリケーションとして実現することができ、2つ以上のモジュールを、任意の所与の動作を実行するために組み合わせることができることに注意することが重要であろう。
【0017】
いくつかの実施形態において、キャリブレーションアプリケーション116は、再構築モジュール126を含む。再構築モジュール126は、検出された特徴を3Dで再構築するよう構成することができ、第2のホモグラフィが、製造者によるキャリブレーションからのオリジナルの特徴座標と、1つまたは複数のカメラへの3D再構築の再投影に基づく特徴座標との間のホモグラフィである。場合によっては、3D再構築は、シーン深さを推定する。
【0018】
上記したキャリブレーションは、本明細書では、アドホックキャリブレーションまたはオンザフライキャリブレーションと称することができる。これは、単に製造者によって行われるキャリブレーションに頼るのではなく、画像がコンピューティングデバイス100で取り込まれる場合のキャリブレーションの実施を指す。
【0019】
実施形態において、コンピューティングデバイス100は、ネットワーク132を介して遠隔コンピューティングデバイス130にコンピューティングデバイス100を接続するよう構成されるネットワークインターフェイス制御器128コンポーネントを含む。場合によっては、ネットワークインターフェイス制御器128は、システムバス134に通信可能に結合するよう構成される拡張カードである。他の場合において、ネットワークインターフェイス制御器128は、コンピューティングデバイス100などのコンピューティングデバイスのマザーボードと一体化させることができる。実施形態において、キャリブレーションアプリケーション116を、遠隔コンピューティングデバイス130の1つなどの、遠隔コンピューティングデバイスで、実行および/または格納することができる。例えば、取り込まれた画像を、キャリブレーションアプリケーション116と同様のキャリブレーションアプリケーションを有するサーバなどの、遠隔コンピューティングデバイス130に送信することができる。キャリブレーションは、ネットワーク132を介して遠隔コンピューティングデバイス130の1つまたは複数からコンピューティングデバイス100に行われてもよい。
【0020】
コンピューティングデバイス100は、本明細書で言及する場合、処理デバイス、ストレージデバイス、および表示デバイスなどのコンポーネントが単一のハウジング内に配置されるモバイルコンピューティングデバイスとすることができる。例えば、コンピューティングデバイス100は、タブレットコンピュータ、スマートフォン、ハンドヘルド・ビデオゲーム・システム、携帯電話、オールインワンのスレート・コンピューティング・デバイス、またはコンピューティングデバイスのハウジングが、ディスプレイ、ならびにストレージコンポーネントおよび処理コンポーネントなどのコンポーネントを収容するオールインワン機能を有する他の任意のコンピューティングデバイスとすることができる。
【0021】
プロセッサ102は、格納された命令を実行するよう適合されたメインプロセッサとすることができる。プロセッサ102は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成とすることができる。プロセッサ102は、複合命令セットコンピュータ(CISC)または縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、または他の任意のマイクロプロセッサ、または中央処理装置(CPU)として実現することができる。
【0022】
メモリデバイス106は、ランダム・アクセス・メモリ(RAM)(例えば、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、ゼロキャパシタRAM、シリコン−酸化物−窒化物−酸化物−シリコンSONOS、混載DRAM、拡張データ出力RAM、ダブル・データ・レート(DDR)RAM、抵抗ランダム・アクセス・メモリ(RRAM(登録商標))、パラメータ・ランダム・アクセス・メモリ(PRAM)など)、リード・オンリ・メモリ(ROM)(例えば、マスクROM、プログラマブル・リード・オンリ・メモリ(PROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)など)、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。メインプロセッサ102は、メモリ106およびストレージデバイス104を含むコンポーネントに、システムバス134(例えば、ペリフェラル・コンポーネント・インターコネクト(PCI)、インダストリ・スタンダード・アーキテクチャ(ISA)、PCIエキスプレス、HyperTransport(登録商標)、NuBusなど)を介して接続することができる。
【0023】
カメラドライバ112は、視覚情報、すなわち、言い換えると、カメラデバイス114をキャリブレーションするために使用される画像のセットの画像を取り込むよう、1つまたは複数のカメラデバイス114に指示するよう構成される。製造後のキャリブレーションを提供することによって、キャリブレーションは実世界画像を利用してキャリブレーションを強化することができる。いくつかの例において、キャリブレーションは、製造中に既に実行されたキャリブレーションデータを強化する。しかし、キャリブレーションはまた、製造者によるキャリブレーションデータを参照することなく実行してもよい。カメラデバイス114は、リアルタイムビデオまたは静止画像を取り込むよう構成された複数のビデオカメラとしてもよい。いくつかの実施形態において、キャリブレーションは、単一のカメラデバイス114に対して使用してもよく、キャリブレーションは、異なる位置で取り込まれた画像に対して実行される。いくつかの態様において、コンピューティングデバイス100は、コンピューティングデバイス100と1つまたは複数の物理的表面との間の距離を判断するよう構成される、カメラデバイス114の追加コンポーネントまたは一体型コンポーネントとしての、深度感知カメラを含む。
【0024】
図1のブロック図は、コンピューティングデバイス100が図1に示したすべてのコンポーネントを含むべきであることを示すことは意図していない。さらに、コンピューティングデバイス100は、特定の実装態様の詳細に応じて、図1に示していない任意の数の追加コンポーネントを含むことができる。
【0025】
図2は、コンピューティングデバイスで実行されるキャリブレーションを示す処理フロー図である。202において、画像のセットは、オリジナルのホモグラフィ「H」で修正される。上記のように、オリジナルのホモグラフィは、製造中に実行されるキャリブレーションによってもたらされるデータとすることができる。オリジナルのホモグラフィデータは、図1のコンピューティングデバイス100などの、コンピューティングデバイスに格納することができる。204において、特徴検出が実行され、206において、特徴記述が実行される。上記のように、204における特徴検出は、FASTを使用して実行することができ、特徴記述は、FREAKを使用して実行することができる。208において、画像のセットの2つ以上の画像で生じる特徴同士がマッチングされる。210において、閾値と一致するか、または超過する特徴として、外れ値が識別される。図1に関して上記したように、閾値は、サイズおよび角度などをもとにすることができる。図2には示していないが、外れ値はまた、所定の特徴が少なくとも3つのカメラで生じるか否かに基づいて識別してもよい。マッチングされた特徴が閾値を超える場合、それらの特徴は、外れ値として識別され、212において破棄される。210において閾値を超過しないマッチングされた特徴は、214においてカメラデバイスをキャリブレーションするために使用されるべきシフトを決定するために使用される。シフトは、カメラ位置、または互いからの相対的な変位に基づくことができる。カメラデバイスの現在位置と214において決定されたシフトとの間のホモグラフィは、216において生成される。いくつかの場合において、ホモグラフィは、ランダム・サンプル・コンセンサス(RANSAC)などの反復方法に基づいて生成される。特徴は、218において3Dで再構築することができ、現在位置と、3D特徴のカメラデバイスへの再投影に基づく最適位置との間の別のホモグラフィが発見される。
【0026】
いくつかの実施形態において、本特徴は、基準カメラと他のカメラとの間でマッチングされる。すべての対応する特徴セットで、シフトのスケールが決定される。シフトのスケールは、カメラと基準カメラとの間の特徴の座標の差を、2つのカメラの距離で割ったものとすることができる。ある特徴を利用可能とするためには、その特徴は、少なくとも3つのカメラでマッチングする必要があるであろう。言い換えると、それらのシフトのスケールは、すべてのカメラ114でマッチングする必要があるであろう。この場合、平均スケールを決定することができ、理想座標は、基準カメラでの特徴の座標に、基準カメラから他のカメラへの方向を加えたものとして、非基準カメラにマークすることができる。したがって、平均スケール、すなわちこれらの理想座標と現在座標との間の差、または言い換えると、誤差を、以下の図3で示すグラフなどのグラフにプロットすることができる。
【0027】
発見された第1のホモグラフィは、RANSACが各カメラで個別に実行されるような、すべてのカメラにおいて、RANSACを使用して外れ値を破棄することで、発見された第一のホモグラフィはすべての特徴に対して現在座標と理想座標との間にある。基準カメラがアラインメントされていない場合などには、アラインメント自体が修正されるので、時差の共通コンポーネントが除去されることに留意することが重要であろう。
【0028】
新しく発見されたホモグラフィは、すべてのカメラで検出された特徴に適用される。これにより、推定修正されたカメラマトリクスをもたらすことができる。特徴は、3Dで再構築され、3D再構築誤差からもたらされる誤差を破棄することができる。3Dで再構築された特徴は、カメラに再投影され、ホモグラフィが、それらの現在座標と、再投影から得られた座標との間で決定される。この場合も、RANSACはカメラマトリクスを改善し、一度にすべてのカメラで動作するので、RANSACを用いて行うことができる。ホモグラフィ修正マトリクスH2は、オリジナルの特徴座標と3D再構築のカメラへの再投影に基づく特徴座標との間のホモグラフィとして決定される。図4に関して以下で説明する、緑色ドットのセンターグラフは、H2が適用された場合に対応関係がどのように変化したかを示す。
【0029】
アドホック、オンザフライ、キャリブレーションの出力は、シーン深さを推定する3D再構築特徴、およびホモグラフィ修正マトリクスH2を含むことができる。H2ホモグラフィ修正マトリクスは、以下で説明する式に基づいて導出することができる。例えば、修正されたカメラマトリクスは、Kとすることができ、式1に示す。
=H×K×R 式1
【0030】
しかし、キャリブレーションが経時的に変化する場合、もはやKおよびRを有さないが、わずかに修正されたKおよびPを有する。そのため、再びKを得るために、新しいホモグラフィマトリクスHを、式2に示すように、新しいKを得るために生成する必要がある可能性がある。
=H×K×R 式2
【0031】
しかし、Hは、分からない可能性がある。画像のセットからの画像が、オリジナルHで修正された場合、式3によって示されるように、未知のマトリクスKPOに対する画像が生成される。
PO=H×K×R 式3
【0032】
POとKとの間の差は、式4で示すようにHをもたらすことができる特徴の位置合わせに基づいて観測可能である。
〜H×H×K×R 式4
【0033】
これは近似である可能性がある。結果的に、Kは、式5で示される。
=H×K×R〜H×H×K×R 式5
【0034】
式5において、KおよびRは、未知のマトリクスである。しかし、これらは、Hを決定するために必ずしも必要ではなく、オリジナルKは、一定のままであると仮定されてもよい。
【0035】
図3は、カメラデバイスのキャリブレーションの前に、取り込まれた画像に存在する特徴を示すグラフである。図3では、カメラは、画像を取り込むために使用された。理想は、302で示される。理想ドット302は、マルチカメラシステム115がキャリブレーションされた場合のベクトルの位置である。外れ値が、ドット304として示され、対応する誤差を示す。
【0036】
図4は、カメラデバイスのキャリブレーション後に、取り込まれた画像に存在する特徴を示すグラフである。図3と同様に、理想ドット302が示されるが、図3とは対照的に、外れ値404は、理想ドット302に非常に近い。図3および図4を参照すると、キャリブレーションにより、対応関係の改善をもたらすことができる。
【0037】
図5は、キャリブレーション中に生じる可能性のある位置合わせ補正を示す写真である。502では、カメラは、適切に位置合わせされておらず、一方、504では、カメラは、適切に位置合わせされている。
【0038】
図6は、画像取り込み装置をキャリブレーションするよう構成されるコンピュータ可読媒体の一例を示すブロック図である。コンピュータ可読媒体600は、コンピュータバス604を介してプロセッサ602によりアクセスされることができる。いくつかの例において、コンピュータ可読媒体600は、非一時的コンピュータ可読媒体とすることができる。いくつかの例において、コンピュータ可読媒体は、ストレージ媒体とすることができるが、搬送波および信号などを含まない。さらに、コンピュータ可読媒体600は、プロセッサ602に現在の方法のステップを実行するよう指示するためのコンピュータ実行可能命令を含むことができる。
【0039】
本明細書で説明するさまざまなソフトウェアコンポーネントは、図6に示すような、有形の、非一時的、コンピュータ可読媒体600に格納することができる。例えば、キャリブレーションアプリケーション606は、画像のセットの複数の特徴を検出し、画像のセットの複数の特徴を記述し、画像のセットの複数の特徴の間のマッチングを判断し、関連するカメラ位置に基づいてマッチングした特徴でシフトを決定し、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定し、三次元特徴のカメラへの再投影に基づいて第2のホモグラフィを決定するよう構成することができる。
【0040】
例示には、方法、本方法の動作を実行するための手段、機械によって実行された場合に、本方法の、または本明細書で説明する実施形態および例に従って仮想画像を投影する装置もしくはシステムの動作を機械に実行させる命令を含む少なくとも1つの機械可読媒体などの発明の主題を含むことができる。
【0041】
実施例1は、画像キャリブレーションのためのシステムを含む。本システムは、処理デバイス、および処理デバイスによって実施されるモジュールを含む。モジュールは、特徴モジュールおよびホモグラフィモジュールを含む。
【0042】
特徴モジュールは、画像のセットの特徴を検出し、画像のセットにおける特徴を記述する。特徴モジュールはまた、画像のセットの複数の特徴の間のマッチングを判断するよう構成することができる。
【0043】
ホモグラフィモジュールは、カメラ位置に基づいて、マッチングした特徴でのシフトを決定するよう構成される。ホモグラフィモジュールは、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定するようさらに構成される。ホモグラフィモジュールは、三次元特徴のカメラへの再投影に基づいて、第2のホモグラフィを決定するようさらに構成される。
【0044】
実施例2は、画像キャリブレーションのための方法を含む。本方法は、画像のセットの複数の特徴を検出するステップと、画像のセットの複数の特徴を記述するステップと、画像のセットの複数の特徴の間のマッチングを判断するステップと、マッチングした特徴と関連したカメラ位置に基づいてマッチングした特徴でのシフトを決定するステップとを含む。
【0045】
実施例2の方法はまた、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定するステップを含むことができる。本方法は、三次元特徴のカメラへの再投影に基づいて、第2のホモグラフィを決定するステップをさらに含むことができる。
【0046】
場合によっては、実施例2の方法は、キャリブレーションのための適切な手段によって実行してもよい。場合によっては、本手段は、実施例2の方法を実行するよう構成されるコンピュータ可読媒体を含む。
【0047】
実施例3は、画像キャリブレーションのための装置を含む。本装置は、画像のセットの複数の特徴を検出し、画像のセットの複数の特徴を記述し、画像のセットの複数の特徴の間のマッチングを判断し、マッチングした特徴と関連したカメラ位置に基づいてマッチングした特徴でのシフトを決定するための手段を含むことができる。
【0048】
実施例3の装置はまた、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定する手段を含むことができる。本手段はまた、三次元特徴をカメラに再投影することに基づいて、第2のホモグラフィを決定するよう構成することができる。
【0049】
実施例4は、処理デバイスによって実行される場合に処理デバイスに画像のセットの複数の特徴を検出させるコードを有するコンピュータ可読媒体を含む。本コードはまた、処理デバイスに、画像のセットの複数の特徴を記述させ、画像のセットの複数の特徴の間のマッチングを判断させ、マッチングした特徴と関連したカメラ位置に基づいてマッチングした特徴でのシフトを決定させることができる。本コードはさらに、処理デバイスに、カメラ位置と、決定したシフトとの間の第1のホモグラフィを決定させ、三次元特徴をカメラに再投影することに基づいて第2のホモグラフィを決定させることができる。
【0050】
実施例5は、ロジックを有する画像キャリブレーションのための装置を含む。本ロジックは、ハードウェアロジックを少なくとも部分的に含んでいてもよい。本ロジックは、画像のセットの複数の特徴を検出するステップと、画像のセットの複数の特徴を記述するステップと、画像のセットの複数の特徴の間のマッチングを判断するステップと、マッチングした特徴と関連したカメラ位置に基づいてマッチングした特徴でのシフトを決定するステップとを含む方法を実行するよう構成することができる。
【0051】
実施例5の装置はまた、カメラ位置と決定されたシフトとの間の第1のホモグラフィを決定するロジックを含むことができる。本ロジックはまた、三次元特徴をカメラに再投影することに基づいて、第2のホモグラフィを決定するよう構成することができる。
【0052】
実施形態は、実装態様または実施例である。「一実施形態(an embodiment)」、「1つの実施形態(one embodiment)」、「いくつかの実施形態」、「さまざまな実施形態」、または「他の実施形態」への明細書における参照は、その実施形態に関連して説明された特定の特徴、構造、または特性が、本技術の少なくともいくつかの実施形態に含まれるが、必ずしもすべての実施形態には含まれないことを意味する。「一実施形態」、「1つの実施形態」、または「いくつかの実施形態」がさまざまなところで記載されていても、必ずしもすべてが同じ実施形態を参照しているわけではない。
【0053】
本明細書に記載され図示されたすべての構成要素、特徴、構造、特性などは、必ず特定の1つまたは複数の実施形態に含まれる必要はない。本明細書で、構成要素、特徴、構造、または特性を含む「可能性がある(may)」、「かもしれない(might)」、「ことができる(can)」、または「であろう(could)」と例えば記載された場合、その特定の構成要素、特徴、構造、または特性が必ずしも含まれる必要はない。本明細書または特許請求の範囲が単数形の表現(aまたはan)」を付した要素に言及する場合、その要素がただ1つであるということを意味しない。本明細書または特許明細の範囲が「追加」要素に言及する場合、その追加要素が2つ以上ある可能性を除外しない。
【0054】
いくつかの実施形態が特定の実装態様を参照して記述されてきたが、いくつかの実施形態によれば、他の実装態様も可能であることに留意されたい。さらに、図面に示され、および/または本明細書に記載されている、回路要素または他の特徴の配置および/または順序は、図示され記載された特定の方法に配置される必要はない。他の多くの配置が、いくつかの実施形態により可能である。
【0055】
図面に示す各システムにおいて、いくつかの場合における要素は、それぞれ、示された要素が異なる、および/または同じであることを示すために、同じ参照符号または異なる参照符号を有する。しかし、要素は、異なる実装態様を有し、本明細書に示し、または記載したシステムのいくつかまたはすべてと共に動作するのに、充分な柔軟性を有することができる。図面に示すさまざまな要素は、同じでも、異なっていてもよい。どの要素が第1の要素と呼ばれ、どの要素が第2の要素と呼ばれるかは、任意である。
【0056】
上述の例における詳細は、1つまたは複数の実施形態のどこでも使用できることが理解されよう。例えば、上述したコンピューティングデバイスのすべての任意選択の機能はまた、本明細書に記載の方法またはコンピュータ可読媒体のいずれかに関して実装することもできる。さらに、本明細書では、実施形態を説明するためにフロー図および/または状態図を使用したかもしれないが、本技術は、それらの図または本明細書の対応する記述に限定されるものではない。例えば、フローは、図示された各ボックス、または状態、または本明細書で図示されて記述されたのと全く同じ順序で進める必要はない。
【0057】
本技術は、本明細書に記載した特定の詳細に限定されない。実際、本開示の利益を受ける当業者は、前述の記述および図面からの多くの他の変形が本技術の範囲内でなされ得ることを理解するであろう。したがって、本技術の範囲を定義するものは、添付の特許請求の範囲であって、添付の特許請求の範囲に対する任意の修正を含む。
(項目1)
画像キャリブレーションのためのシステムであって、
処理デバイスと、
上記処理デバイスによって実装されるモジュールと
を備え、上記モジュールが、
画像のセットの複数の特徴を検出し、
上記画像のセットの複数の特徴を記述し、
上記画像のセットの複数の特徴の間のマッチングを判断する、
ための特徴モジュールと、
関連するカメラ位置に基づいて上記マッチングした特徴でのシフトを決定し、
上記カメラ位置と上記決定したシフトとの間の第1のホモグラフィを決定し、
三次元特徴の上記カメラへの再投影に基づいて第2のホモグラフィを決定する、
ためのホモグラフィモジュールと、
を備える、システム。
(項目2)
製造におけるキャリブレーションからのオリジナルのホモグラフィで上記画像のセットを修正するよう構成される修正機モジュールをさらに備え、上記修正は、上記特徴モジュールによる特徴の上記検出の前に実行される、項目1に記載のシステム。
(項目3)
画像のセットの上記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、項目1から2の任意の組み合わせに記載のシステム。
(項目4)
上記画像のセットの複数の上記画像が、異なる位置に配置される単一のカメラで取り込まれた画像を含む、項目1から2の任意の組み合わせに記載のシステム。
(項目5)
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄し、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄する、よう構成される外れ値モジュールをさらに備える、
項目1から2の任意の組み合わせに記載のシステム。
(項目6)
上記外れ値モジュールは、特徴のマッチングが3つ未満のカメラで生じた場合に外れ値を破棄するようさらに構成される、項目5に記載のシステム。
(項目7)
上記外れ値モジュールは、画像のセット同士の間の特徴座標の差を、取り込んだ各画像と関連する変位で割ったものを示す上記シフトのスケールを決定するようさらに構成される、項目5に記載のシステム。
(項目8)
上記検出された特徴を三次元で再構築するよう構成される再構築モジュールをさらに備え、上記第2のホモグラフィが、製造者によるキャリブレーションからのオリジナルの特徴座標と、上記三次元での再構築の1つまたは複数のカメラへの上記再投影に基づく特徴座標との間のホモグラフィである、項目1から2の任意の組み合わせに記載のシステム。
(項目9)
上記三次元での再構築が、シーン深さを推定する、項目8に記載のシステム。
(項目10)
上記モジュールが、画像を取り込む場合に、アドホックとして動作可能である、項目1から2の任意の組み合わせに記載のシステム。
(項目11)
画像キャリブレーションのための方法であって、
画像のセットの複数の特徴を検出するステップと、
上記画像のセットの複数の特徴を記述するステップと、
上記画像のセットの複数の特徴の間のマッチングを判断するステップと、
上記マッチングした特徴と関連するカメラ位置に基づいて上記マッチングした特徴でのシフトを決定するステップと、
上記カメラ位置と上記決定したシフトとの間の第1のホモグラフィを決定するステップと、
三次元特徴の上記カメラへの再投影に基づいて第2のホモグラフィを決定するステップと、
を備える、方法。
(項目12)
製造におけるキャリブレーションからのオリジナルのホモグラフィで上記画像のセットを修正するステップをさらに備え、上記修正は、上記特徴モジュールの特徴を上記検出するステップの前に実行される、項目11に記載の方法。
(項目13)
画像のセットの上記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、項目11から12の任意の組み合わせに記載の方法。
(項目14)
上記画像のセットの複数の上記画像が、異なる位置に配置される単一のカメラで取り込まれた画像を含む、項目11から12の任意の組み合わせに記載の方法。
(項目15)
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄するステップと、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄するステップと、
をさらに備える、項目11から12の任意の組み合わせに記載の方法。
(項目16)
特徴のマッチングが3つ未満のカメラで生じる外れ値を破棄するステップをさらに備える、項目11から12の任意の組み合わせに記載の方法。
(項目17)
画像のセット同士の間の特徴座標の差を、取り込んだ各画像と関連する変位で割ったものを示す上記シフトのスケールを決定するステップをさらに備える、項目11から12の任意の組み合わせに記載の方法。
(項目18)
上記検出された特徴を三次元で再構築するステップをさらに備え、上記第2のホモグラフィが、製造者によるキャリブレーションからのオリジナルの特徴座標と、上記三次元での再構築の1つまたは複数のカメラへの上記再投影に基づく特徴座標との間のホモグラフィである、項目11から12の任意の組み合わせに記載の方法。
(項目19)
上記三次元での再構築が、シーン深さを推定する、項目18に記載の方法。
(項目20)
上記方法が、画像を取り込む場合に、アドホックとして動作可能である、項目11から12の任意の組み合わせに記載の方法。
(項目21)
実行されると、処理デバイスに、項目11から12の任意の組み合わせに記載の上記方法を実行させるためのコードを含む、コンピュータ可読媒体。
(項目22)
実行されると、処理デバイスに、
画像のセットの複数の特徴を検出させ、
上記画像のセットの複数の特徴を記述させ、
上記画像のセットの複数の特徴の間のマッチングを判断させ、
上記マッチングした特徴に関連するカメラ位置に基づいて上記マッチングした特徴でのシフトを決定させ、
上記カメラ位置と上記決定したシフトとの間の第1のホモグラフィを決定させ、
三次元特徴の上記カメラへの再投影に基づいて第2のホモグラフィを決定させる、
ためのコードを含む、コンピュータ可読媒体。
(項目23)
実行されると、上記処理デバイスに、製造におけるキャリブレーションからのオリジナルのホモグラフィで上記画像のセットを修正させるためのコードをさらに備え、上記修正が、上記特徴モジュールの特徴の上記検出の前に実行される、項目22に記載のコンピュータ可読媒体。
(項目24)
画像のセットの上記画像は、それぞれが少なくとも3つのカメラを備える異なるカメラで取り込まれた複数の画像を含む、項目22から23の任意の組み合わせに記載のコンピュータ可読媒体。
(項目25)
実行されると、上記処理デバイスに、
所定の閾値を超える特徴マッチング角度に基づいて外れ値を破棄させ、
所定の閾値を超える特徴マッチングサイズに基づいて外れ値を破棄させる、
ためのコードをさらに備える、項目22から23の任意の組み合わせに記載のコンピュータ可読媒体。
図1
図2
図3
図4
図5
図6