JP2024508359A - カメラキャリブレーションのためのクロススペクトル特性マッピング - Google Patents

カメラキャリブレーションのためのクロススペクトル特性マッピング Download PDF

Info

Publication number
JP2024508359A
JP2024508359A JP2023543163A JP2023543163A JP2024508359A JP 2024508359 A JP2024508359 A JP 2024508359A JP 2023543163 A JP2023543163 A JP 2023543163A JP 2023543163 A JP2023543163 A JP 2023543163A JP 2024508359 A JP2024508359 A JP 2024508359A
Authority
JP
Japan
Prior art keywords
image
pixel
feature
camera
model
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.)
Pending
Application number
JP2023543163A
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2024508359A publication Critical patent/JP2024508359A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/48Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/246Calibration of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

方法は、第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、実世界シーンの第2の画像を取り込むことと、第1の画像において少なくとも1つの特徴を識別することと、機械学習(ML)モデルを使用して、第1の画像において識別された少なくとも1つの特徴と一致する第2の画像内の少なくとも1つの特徴を識別することと、一致した少なくとも1つの特徴に基づいて、第1の画像および第2の画像内の画素を3次元(3D)空間内の光線にマッピングすることと、マッピングに基づいて第1のカメラと第2のカメラとをキャリブレーションすることとを含む。

Description

分野
実施形態は、2台以上のカメラの幾何学的キャリブレーションに関する。
背景
幾何学的カメラキャリブレーションとは、カメラまたはカメラのセットの位置および内部パラメータ(焦点距離等)を決定するプロセスである。幾何学的キャリブレーションは、3次元(three-dimensional:3D)空間におけるカメラ画素と光線との間のマッピングを提供する。キャリブレーションは、実世界シーンで同じ点に対応する異なるカメラビューにおいて画素のペアを見つけ、各カメラの内部パラメータを調整して画素ペアを合わせることによって、決定される(たとえば、第1のカメラの画像内の画素と第2のカメラの画像内の画素とは、実世界シーンにおいて同じになるようにマッピングされる)。
概要
一般的な態様において、デバイス、システム、(コンピュータシステム上で実行可能なコンピュータ実行可能プログラムコードを格納した)非一時的なコンピュータ読取可能媒体、および/または方法は、方法でプロセスを実行可能である。方法は、第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、実世界シーンの第2の画像を取り込むことと、第1の画像において少なくとも1つの特徴を識別することと、機械学習(machine learning:ML)モデルを使用して、第1の画像において識別された少なくとも1つの特徴と一致する、第2の画像内の少なくとも1つの特徴を識別することと、一致した少なくとも1つの特徴に基づいて、第1の画像および第2の画像内の画素を、3次元(3D)空間において光線にマッピングすることと、マッピングに基づいて、第1のカメラと第2のカメラとをキャリブレーションすることとを備える。
実現例は、以下の特徴のうちの1つ以上を含み得る。たとえば、第1のカメラは近赤外(near infrared:NIR)カメラでもよく、第2のカメラは可視光カメラでもよい。MLモデルを使用して、第1の画像において少なくとも1つの特徴を識別し得る。アルゴリズムを使用して、第1の画像において少なくとも1つの特徴を識別し得る。MLモデルを使用して、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合してもよく、第2の画像の少なくとも1つの画素が第1の画像内の少なくとも1つの特徴の画素と一致する可能性に基づいて、第2の画像の少なくとも1つの画素にスコアが割り当てられ得る。アルゴリズムを使用して、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合してもよく、第2の画像の少なくとも1つの画素が第1の画像内の少なくとも1つの特徴の画素と一致する可能性に基づいて、第2の画像の少なくとも1つの画素にスコアを割り当ててもよく、目標画素の位置の予測に基づいて、第2の画像の少なくとも1つの画素に方向が割り当てられ得る。
アルゴリズムを使用して、第1の画像において少なくとも1つの特徴を識別してもよく、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合することは、第1のMLモデルを使用して、第1の画像内の少なくとも1つの特徴から、候補特徴を選択することと、第2の画像内の少なくとも1つの画素を、候補特徴の画素と照合することと、少なくとも1つの画素が第1の画像内の少なくとも1つの特徴のうちの1つと一致する可能性に基づいて、第2の画像の一致した少なくとも1つの画素にスコアを割り当てることと、第2のMLモデルを使用して、目標画素の位置の方向を予測することと、第2の画像の一致した少なくとも1つの画素に、方向を割り当てることとを含み得る。第1のカメラと第2のカメラとをキャリブレーションすることは、最も高いスコアを有する、候補特徴に関連付けられた第2の画像の一致した少なくとも1つの画素と、最も高いスコアを有する、第2の画像の一致した少なくとも1つの画素の方向とに基づいてもよく、方向は、最も高いスコアを有する、第2の画像の一致した少なくとも1つの画素と、近傍画素とに基づき得る。方法はさらに、以前のキャリブレーションに基づいて、第2の画像において少なくとも1つの検索窓を選択することを含み得る。機械学習モデルは、キャリブレーションされたマルチカメラシステムから取り込まれたデータで訓練され得る。
例示的な実施形態は、本明細書の以下の詳細な説明および添付の図面からさらに十分に理解されるであろう。添付の図面では、同様の要素は同様の参照番号によって示されている。これらの要素は例として与えられているに過ぎず、したがって例示的な実施形態を限定するものではない。
少なくとも1つの例示的な実施形態に係るカメラおよびシーンを示す図である。 少なくとも1つの例示的な実施形態に係るシーンの一部を示す2次元(two-dimensional:2D)図である。 例示的な実現例に係るカメラセンサを示す図である。 例示的な実現例に係るカメラセンサを示す図である。 少なくとも1つの例示的な実施形態に係る、画像の一部を表す2D座標系を示す図である。 少なくとも1つの例示的な実施形態に係る、画像の一部を表す2D座標系を示す図である。 少なくとも1つの例示的な実施形態に係る、図1Eの2D座標系と図1Fの2D座標系との重ね合わせを表す2D座標系を示す図である。 少なくとも1つの例示的な実施形態に係る、カメラキャリブレーション処理後の、図1Eの2D座標系と図1Fの2D座標系との重ね合わせを表す2D座標系を示す図である。 少なくとも1つの例示的な実施形態に係る、カメラキャリブレーション後の実世界シーン3D座標系を示す図である。 少なくとも1つの例示的な実施形態に係る、データフローを示すブロック図である。 少なくとも1つの例示的な実施形態に係る電話会議システムを示すブロック図である。 少なくとも1つの例示的な実施形態に係る、カメラをキャリブレーションする方法を示すブロック図である。 少なくとも1つの例示的な実施形態に係る、画素を照合する方法を示すブロック図である。 実世界シーン内の点のグラフ表現を示す図である。 少なくとも1つの例示的な実施形態に係るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
なお、これらの図面は、特定の例示的な実施形態において利用される方法、構造および/または材料の一般的な特徴を示すこと、ならびに以下に提供される記述を補足することを意図している。ただし、これらの図面は、縮尺通りではなく、任意の所与の実施形態の正確な構造特性または性能特性を正確に反映しない可能性があり、例示的な実施形態によって包含される値もしくは特性の範囲を定義または限定するものとして解釈されるべきではない。たとえば、分子、層、領域および/または構造要素の相対的な厚さならびに位置は、明瞭にするために縮小または誇張される可能性がある。さまざまな図面における同様または同一の参照番号の使用は、同様もしくは同一の要素または特徴の存在を示すことを意図している。
実施形態の詳細な説明
幾何学的カメラキャリブレーションのための特徴照合は、光スペクトルの異なる部分に感度を有するカメラを含むシステムでは困難な場合がある。たとえば、可視光カメラと近赤外(NIR)カメラとの組合わせを含むシステムである。異なる光スペクトルででは、物体の視覚的外観が大きく異なることがあるため、特徴照合が困難になる可能性がある。この問題は、実世界シーン内の点の外観が入射照明によって劇的に変化する場合があるため、照明条件が異なるスペクトルで異なる状況では、悪化する可能性がある。混合スペクトルカメラシステムのキャリブレーションでは、通常、スペクトルの異なる部分にわたって容易に検出可能な基準マーキングを有する、特別に設計されたキャリブレーションターゲットを使用する必要がある。
キャリブレーションターゲットの使用は、使用中に最小限の技術サポートを必要とするシステム(たとえば、3次元(3D)テレビ会議システム)では望ましくない場合がある。本明細書で説明する例示的な実現例は、たとえば、機械学習(ML)ベースのアプローチを使用して、たとえば、可視光画像と近赤外(NIR)画像との間で一致する特徴点を見つける問題を解決する。NIR画像において、候補特徴点のセットを選択することができる。候補特徴は、正確な位置特定が容易な画素(たとえば、コーナー、トランジション、スポット等)を表すことができる。候補特徴ごとに、検索窓が目標の赤緑青(red-green-blue:RGB)画像において定義される。候補NIR特徴に対応する可能性が高い画素に高いスコアを割り当て、他の画素では低いスコアを割り当てるMLモデル(たとえば、ニューラルネットワーク)スコアリング関数を使用して、探索窓内の各RGB画素に、スコアを割り当てることができる。
第2のMLモデル(たとえば、第2のニューラルネットワーク)は、検索窓内の画素ごとに完全一致の位置(たとえば、x,y位置)を予測するために使用することができる。検索窓内の各画素の推定オフセット(たとえば、完全一致の位置(たとえば、完全一致画素の位置)が現在のRGB画素から画像のx軸およびy軸に沿ってどの程度離れているかの予測)。検索窓内のRGB画素が十分に高いスコアを有する(たとえば、一致する可能性が高い)ことが分かった場合、RGB画素とその近傍画素との推定オフセットを平均して目標一致画素位置を見つけることができ、NIRのRGBとの一致が作成される。第1のおよび第2のMLモデルは、NIRカメラとRGBカメラとの間の正しい一致特徴ペアが正確に決定される、十分にキャリブレーションされたマルチカメラシステムから取り込まれたデータを使用して、訓練することができる。
図1Aは、少なくとも1つの例示的な実施形態に係るカメラおよびシーンを示す図である。図1Aは、異なるタイプの光源(たとえば、IRおよび可視光)に応答するカメラを含むマルチカメラシステムのキャリブレーションに使用することができる、画像において特徴を識別するために使用される実世界シーンを説明するために使用される。例示的な実現例によれば、実世界シーンは、特別に設計されたキャリブレーションターゲット(たとえば、カメラキャリブレーションプロセスで使用するために識別可能な特徴を含む)を含まない。
図1Aに示すように、シーンは、第1のカメラ5と第2のカメラ10とを含む。例として、2台のカメラが示されている。しかしながら、例示的な実現例は、3次元(3D)テレビ会議システムにおいて3台以上のカメラを含み得る。第1のカメラ5および第2のカメラ10は、壁105の床110と接触している部分を含むように示されている、シーンの画像を取り込むように構成され得る。壁はドア115を含み得る。壁105、ドア115およびドアを含むシーンは、特徴120-1,120-2,120-3を含む画像の部分を含み得る。特徴120-1,120-2,120-3を含む画像の部分の各々は、探索アルゴリズムおよび/またはMLモデル(たとえば、ニューラルネットワーク)を使用して選択可能である。MLモデルは、(実世界シーンの)画像の一部を選択するように訓練し得る。特徴120-1,120-2,120-3を含む画像の部分は、正確に位置特定され得る(もしくは位置決めされ得る)コーナー、遷移、スポットなどであり得る。特徴は、色(たとえば、NIRまたはRGB)勾配を有する隣接画素を含み得る。言い換えれば、特徴は、ある画素から少なくとも1つの隣接画素への少なくとも1つの色遷移を有する画像(たとえば、NIR画像)の部分であり得る。たとえば、特徴120-1を含む画像の部分は、ドア115のコーナー122-1を含んでもよく、特徴120-2を含む画像の部分は、識別可能なスポット(たとえば、ドアハンドル122-2)を含んでもよく、特徴120-3を含む画像の部分は、ドア115のコーナーと、ドア115から床110への遷移122-3とを含んでもよい。特徴を識別するために使用される検索アルゴリズムおよび/またはMLモデルは、特徴を識別することが最も困難な光のスペクトル(たとえば、NIR)で取り込まれた画像を使用し得る。
カメラ5(たとえば、NIRカメラ)は、カメラ5に関連する光スペクトル(たとえば、NIR)における少なくとも1つの光線130を生成するように構成された光源125を含み得る。シーンはさらに、光135と、カメラ10に関連する光スペクトル(たとえば、可視光)の少なくとも1つの光線140とを含む。光源125および光源135は、カメラの内部およびカメラの外部にそれぞれ図示されているが、例示的な実現例は、外部光源とカメラ光源とを単独でおよび組み合わせて含み得る。光線145および光線150は、実世界シーンから反射される光線であり、カメラ5およびカメラ10のセンサによってそれぞれ検出され、光線145,150に基づいて画像内に画像点(たとえば、画素)が(たとえば、カメラのセンサによって)生成される。光線145および光線150は、特徴120-1に関連する実世界シーン内の同じ点に対応し得る(または同じ点から反射される)。例示的な実現例において、キャリブレーションの前に、光線145および光線150は、カメラ5およびカメラ10の両方において同じ位置(たとえば、x,y位置)で画像内の画素を生成するために使用されないことがある。したがって、光線145に基づいてカメラ5によって生成された(画像内の)画素と、光線150に基づいてカメラ10によって生成された(画像内の)画素とを、それぞれの画像内で同じ位置に合わせるように、カメラ5とカメラ10とをキャリブレーションすることができる。
図1Bは、少なくとも1つの例示的な実施形態に係る、図1Aに示すシーンの一部を示す二次元(2D)図である。図1Bは、キャリブレーション中に使用する画素を含み得る画像の部分を説明するために使用される。例示的な実現例において、キャリブレーションに使用される画素は、第2の画像において一致する画素を有する第1の画像内の画素であってもよい。図1Bは、特徴120-1を含む、図1Aに示す画像の部分を示す。特徴120-1を含む画像の部分は、ドアのコーナー122-1を含み得る。図1Bは、特徴120-1を含む画像の部分を、2D画像の一部として示す。この2D画像は、(カメラ10を使用して取り込まれた)RGB画像でもよく、特徴120-1を含む画像の部分は、(カメラ5を使用して取り込まれた)NIR画像を使用して識別されていてもよい。この2D図は、特徴120-1を含む画像の部分においてカメラキャリブレーションで使用する画素として識別される画素であり得る画素155を示す。カメラキャリブレーションで使用する画素は、カメラ10(図1Aに図示)によって取り込まれた対応する(たとえば、一致する)画素を有する、カメラ5によって取り込まれた画像内に位置付けられた画素であり得る。
図1Cおよび図1Dは、カメラのセンサの一部および検知された光線の解釈位置を示すために使用される。図1Cは、カメラ5に関連付けられたカメラセンサを示す。図1Cに示すセンサ位置160-1は、カメラ5によって取り込まれたNIR画像(図示せず)内の画素(たとえば、NIR画素)に対応し得る。光線145は、カメラ5に、画像取り込みプロセス中に、センサ位置160-1を使用して画像内の画素(図示せず)を生成させることができる。
図1Dは、カメラ10に関連付けられたカメラセンサを示す。図1Dに示すセンサ位置160-2は、画素155(たとえば、RGB画素)に対応し得る。図1Dに示すように、光線150は、カメラ10に、画像取り込みプロセス中に、センサ位置160-2を使用して画素155を生成させることができる。
カメラ5を使用して取り込まれた画像の画素(図示せず)の位置(たとえば、x,y座標)は、画素155の画素位置と同じであるべきである。したがって、センサ位置160-1およびセンサ位置160-2は、対応する画像において同じx,y座標を有する画素を生成するために使用されるべきである。しかしながら、図1Cおよび図1Dに見られるように、センサ位置160-1およびセンサ位置160-2は、同じx,y座標を有していない。これは、キャリブレーションが必要なマルチカメラシステムを示している。言い換えれば、キャリブレーションされたマルチカメラシステムは、同じセンサ位置(たとえば、画素155とカメラ5を使用して取り込まれた一致する画素とに関連付けられたセンサ位置160-3)を有していなければならない。
図1E~図1Gは、マルチカメラシステムをキャリブレーションする前の画像上の画素の2D位置を説明するために使用される。図1Eは、(カメラ5の)センサ位置160-1に対応するX1,Y1に位置する画素165-1を有する画像の部分を表す2D座標系を示す。図1Fは、(カメラ10の)センサ位置160-2に対応するX2,Y2に位置する画素165-2を有する画像の部分を表す2次元座標系を示す。図1Gは、図1Eの2D座標系と図1Fの2D座標系との重ね合わせを表す2D座標系を示す。画素165-1と画素165-2とは、実世界シーンにおいて(一致した画素として)同じ点を表すことができる。言い換えれば、画素165-1と画素165-2とは、同じ3D座標(x,y,z座標)を有する実世界シーン内の点を表すことができる。したがって、カメラ5を使用して取り込まれた画素165-1を含む2D画像と、カメラ10を使用して取り込まれた画素165-2を含む2D画像とは、図1Gの重ね合わされた2D座標系において同じ位置(たとえば、x,y座標)を共有するべきである。図1Gで分かるように、画素165-1と画素165-2とは同じ位置を共有していない。したがって、カメラ5を使用して取り込まれた画像の画素を、カメラ10を使用して取り込まれた画像の画素と位置を合わせる(たとえば、画素165-1と画素165-2とが、それぞれの画像において同じ2D座標を有するようにする)ために、カメラをキャリブレーションするべきである。
キャリブレーションは、光線145および光線150に関連する計算が同じ目標画素位置に関連付けられるように、キャリブレーションパラメータを調整することを含み得る。目標画素位置は、画像の一部を表す2D座標系における同じ位置(たとえば、x,y座標)であるべきである。
図1Hは、マルチカメラシステムのキャリブレーション後の画像上の画素の2D位置を説明するために使用される。図1Hは、カメラキャリブレーション処理後の図1Eの2D座標系と図1Fの2D座標系との重ね合わせを表す2D座標系を示す。図1Hに示すように、画素165-1’および画素165-2’は、同じ位置X3,Y3(図1Cおよび図1Dにも示す)を共有する。画素165-1’および画素165-2’は、光線145および光線150が同じ目標画素位置に関連付けられるように、キャリブレーションパラメータが調整された後の画素165-1および画素165-2を表す。画素165-1および画素165-2を目標画素位置にキャリブレーションすることによって、光線145および光線150に関連付けられたセンサ読取値の(たとえば、カメラによる)処理において、光線が3D実世界シーン座標系において同じ点で交差しているという解釈をもたらす2D位置を解釈することができる。
図1Iは、上述のキャリブレーションされたカメラの2D画素位置に対応する空間内の点の3D位置を説明するために使用される。図1Iは、カメラキャリブレーション後の実世界シーン3D座標系を示し、点170は交点を示す。したがって、目標画素位置は、実世界シーン3D座標系内の光線(たとえば、光線145’および150’)が実世界シーン内の点(たとえば、点170)において交差するように、カメラのキャリブレーションパラメータを調整するために使用される2D座標系内の画素の位置である。
キャリブレーションパラメータを調整することにより、検知された光線(たとえば、光線145および光線150)の解釈された2D位置を、光線に関連付けられたセンサ位置が異なる2D検知位置に関連付けられるように、カメラ内で変更させることができる。キャリブレーションパラメータは、内部パラメータおよび外部パラメータを含み得る。内部パラメータは、有効焦点距離、または像面から投影中心までの距離、レンズ歪み係数、xの倍率、カメラの走査および/または取得タイミング誤差に起因する取得画像の原点のシフトを含み得る。外部パラメータは、定義されたワールド座標系に対するカメラの3D位置および向きによって定義することができる。
例示的な実現例において、内部パラメータは指定された範囲内にあるとみなされ、外部パラメータは調整される。たとえば、実世界シーン内の点のx,y,z座標を変化させるパラメータは、キャリブレーションの要素となり得る。さらに、実世界シーンにおける座標面のx軸、y軸およびz軸(たとえば向き)座標を変化させるパラメータも、キャリブレーションの要素となり得る。カメラキャリブレーションは、例示的な目的で、2つのカメラを使用して説明される。しかしながら、例示的な実現例は、3次元(3D)テレビ会議システムにおいて3台以上のカメラを含み得る。たとえば、2台以上のNIRカメラおよび/または2台以上のRGBカメラを使用することができる。さらに、例示的な目的で、単一の一致画素について説明する。例示的な実現例は、カメラキャリブレーションにおける複数(たとえば、10s,100s,1000s等)の画素の使用を含み得る。
機械学習(ML)モデル、MLモデルの使用、およびMLモデルの訓練について言及する。MLモデルは、畳み込みニューラルネットワーク、再帰的ニューラルネットワーク、決定木、ランダムフォレスト、k-近傍法などを含むアルゴリズムの使用を含み得る。たとえば、畳み込みニューラルネットワーク(convolutional neural network:CNN)は、画素の照合、画素位置の決定、画素の識別などに使用することができる。CNNアーキテクチャは、入力層、特徴抽出層(複数可)、および分類層(複数可)を含み得る。
入力は、3次元(たとえば、x,y、色)のデータ(たとえば、画像データ)を受け付け得る。特徴抽出層(複数可)は、畳み込み層(複数可)とプーリング層(複数可)とを含み得る。畳み込み層(複数可)およびプーリング層(複数可)は、画像内の特徴を見つけ、高次の特徴を漸進的に構築し得る。特徴抽出層(複数可)は学習層とすることができる。分類層(複数可)は、クラス確率またはスコア(たとえば、一致の可能性を示す)を生成し得る。
訓練(たとえば、特徴抽出層(複数可)の訓練)は、たとえば、教師あり学習と教師なし学習とを含み得る。教師あり学習は、予測変数(独立変数)の所与のセットから予測される目標/結果変数(たとえば、グランドトゥルースまたは従属変数)を含む。これらの変数のセットを使用して、入力を所望の出力にマッピング可能な関数が生成される。訓練プロセスは、モデルが訓練データに基づいて所望の精度レベルを達成するまで続けられる。教師なし学習は、機械学習アルゴリズムを使用して、ラベル付けされた応答を用いることなく、入力データからなるデータセットから推論を行う。教師なし学習にはクラスタリングが含まれることもある。他のタイプの訓練(ハイブリッド訓練および強化訓練等)を使用することもできる。
上述したように、MLモデルの訓練は、所望の精度レベルに達するまで続けることができる。精度レベルの決定は、損失関数の使用を含み得る。たとえば、損失関数は、ヒンジ損失、ロジスティック損失、負の対数尤度などを含み得る。MLモデル訓練の十分な精度レベルに達したことを示すために、損失関数を最小化することができる。正則化も使用できる。正則化によって、オーバーフィッティングを防ぐことができる。オーバーフィッティングは、重みおよび/または重みの変化を十分に小さくして訓練(たとえば、終わりのない訓練)を防ぐことによって、防ぐことができる。
図2は、少なくとも1つの例示的な実施形態に係るデータフローを示すブロック図である。データフローは、マルチカメラシステムにおけるカメラキャリブレーションに関連する。図2に示すように、データフロー200は、カメラ5、カメラ10、特徴識別器215ブロック、特徴照合220ブロック、光線から画素へのマッピング225ブロック、およびキャリブレーション230ブロックを含む。データフロー200では、第1の画像がカメラ5によって取り込まれ、第2の画像がカメラ10によって取り込まれる。各画像は、実世界シーン(たとえば、実質的に同じ実世界シーン)の画像であり得る。例示的な実現例によれば、実世界シーンは、特別に設計されたキャリブレーション対象(たとえば、カメラキャリブレーションプロセスで使用するために識別可能な特性を含む)を含まない。たとえば、各画像は、図1Aに示すシーンのものとすることができる。第1の画像はNIR画像とすることができ、第2の画像はRGB画像とすることができる。カメラ5は、第1の画像を特徴識別器215ブロックに伝達することができ、ここで、第1の画像(たとえば、NIR画像)において複数の特徴を識別することができる。たとえば、図1Aに示すように、画像の特徴120-1,120-2,120-3を含む部分は、識別された特徴122-1,122-2,122-3を含み得る。識別された複数の特徴は、特徴照合220ブロックに伝達され得る。カメラ10は、第2の画像を特徴照合215ブロックに伝達することができ、ここで、識別された複数の特徴の画素を、第2の画像内の複数の特徴の画素と照合する(たとえば、位置を特定して照合する)ことができる。たとえば、図1Bに示す画素155は、NIR画像で照合されたRGB画素であり、キャリブレーション中に使用することができる。
第1の画像と第2の画像との両方からの一致する複数の特徴は、特徴照合220ブロックから、光線から画素へのマッピング225ブロックに伝達される。光線から画素へのマッピング225ブロックは、第1の画像と第2の画像との両方に関連する複数の照合された特徴について、3D空間内の光線を2D空間内の画素にマッピングすることができる。たとえば、図1Cに示す光線145および図1Dに示す光線150は、センサ位置と対応する画素位置とに基づいて、画素にマッピングされ得る。画素にマッピングされた光線は、キャリブレーション230ブロックがカメラ5およびカメラ10をキャリブレーションするために使用することができる。キャリブレーション230ブロックは、第1の画像内の画素と第2の画像内の画素とが画像の2D空間において実質的に同じ位置になるように、(一致する特徴から)一致する画素の位置を合わせるキャリブレーションパラメータを調整することができる。たとえば、図1Hに示すような画素165-1’および画素165-2’は、位置合わせされた一致画素であり得る。
特徴識別器215ブロックは、画像において特徴を識別するように構成することができる。特徴識別器215ブロックは、コーナーおよびエッジ検出を使用し得る。コーナーおよびエッジ検出は、ハリスコーナー検出器の使用を含み得る。ハリスコーナー検出器は、信号の局所自己相関関数に基づいており、局所自己相関関数は、異なる方向に少量だけシフトされたパッチを有する信号の局所変化を測定する。入力画像においてコーナーを見つけるために、この技術は方向性のある平均強度を分析する。ハリスコーナー検出器の数学的形式は、全方向の(u,v)の変位について強度の差を特定する。
特徴識別器215ブロックは、機械学習(ML)モデルを使用して特徴を識別し得る。MLモデルは、キャリブレーションされたマルチカメラシステムを使用して取り込まれたデータ(たとえば、画像)を使用して、訓練することができる。MLモデルは、畳み込みニューラルネットワークとすることができる。MLモデルは、分類を使用して、画像の一部を、候補特徴を含む(または候補特徴である)と識別することができる。例示的な実現例において、カメラ5は、NIR画像を取り込むように構成されたNIRカメラである。NIR画像はMLモデルに入力することができる。MLモデルは、NIR画像の複数の部分についての分類を出力することができる。出力は、NIR画像の各部分の一意の識別子、NIR画像の各部分の位置および/または寸法(複数可)を含むことができ、NIR画像の各部分を、候補特徴を含むものとして、または候補特徴を含まないものとして、示すことができる。候補特徴は、正確に位置を特定する(たとえば、NIR画像内の画素(複数可)の位置を示す)ことが容易であり得る(たとえばNIR画像の)少なくとも1つの画素を含み得る(たとえば、コーナー、遷移、スポット等)。
特徴照合220ブロックは、MLモデルを使用して、第1の画像において候補特徴として識別された一致する特徴を、第2の画像において特定するように構成され得る。MLモデルは、キャリブレーションされたマルチカメラシステムを使用して取り込まれたデータ(たとえば、画像)を使用して、訓練することができる。MLモデルは、畳み込みニューラルネットワークとすることができる。MLモデルは、スコアリングを使用して、第2の画像内の画素(複数可)を、第1の画像内の画素(複数可)と一致する可能性があると識別することができる。たとえば、高いスコアはその画素が一致する可能性が高いことを示し、低いスコアはその画素が一致する可能性が低いことを示す。
例示的な実現例において、第1の画像は(カメラ5によって取り込まれた)NIR画像であり、第2の画像は(カメラ10によって取り込まれた)RGB画像である。特徴照合220ブロックは、NIR画像の各部分の一意の識別子、NIR画像の各部分の位置および/または寸法(複数可)を含むデータを受信し、NIR画像の各部分を、候補特徴を含むかまたは候補特徴を含まないものとして示し得る。候補特徴を含むNIR画像の部分を含むデータは、MLモデルに入力することができる。候補特徴を含むNIR画像の部分に関連する各画素に、MLモデルによってスコア(たとえば、一致の可能性を示すスコア)を割り当てることができる。
候補特徴ごとに、第2の画像(たとえばRGB画像)において探索窓を定義することができる。検索窓内の各画素は、MLモデルを使用してスコアを割り当てることができ、高いスコアは、候補特徴内の画素(複数可)に対応する可能性が高い画素を示し、他の画像では低いスコアを示す。第2のMLモデル(たとえば、第2のニューラルネットワーク)を使用して、検索窓内の各画素の完全一致の位置(たとえば、x,y位置)を予測することができる。検索窓内の各画素の推定オフセット(たとえば、完全一致画素が現在の画素から画像のx軸およびy軸に沿ってどの程度離れているかの予測)を生成することができる。一致画素(たとえば、基準をパスする(たとえば、閾値を上回る)スコアを有する画素)の推定オフセットを計算することができる。たとえば、検索窓内の画素が十分に高いスコアを有する(たとえば、一致する可能性が高い)ことが判明した場合、画素とその近傍画素との推定オフセットを平均して、(目標一致画素として)最良の一致画素の推定オフセットを求め、NIRのRGBとの一致を生成することができる。一致(たとえば、第2の画像またはRGB画像内の画素の位置)は、推定オフセットと共に第2のMLモデルから出力することができる。一例では、窓(複数可)は以前のキャリブレーションに基づき得る。たとえば、窓の位置および寸法は、以前のキャリブレーション中に決定された(およびメモリに格納された)窓の位置および寸法に基づき得る。
上述のMLモデル(複数可)は、キャリブレーションされたマルチカメラ(たとえば、NIRおよびRGB)システムを用いて取り込まれたデータ(たとえば、画像)を用いて訓練することができる。訓練は、候補特徴に関連する画素のスコアを生成することを含み得る。グランドトゥルースデータは、特徴の数、特徴内の画素の位置、画素スコアおよびオフセットを含み得る。訓練は、MLモデルのスコア出力が、グランドトゥルースデータとの比較に基づく基準をパスするまで、MLモデルに関連する重み(たとえば、ニューラルネットワークの重み)を調整することを含み得る。
Figure 2024508359000002
図2に戻って、キャリブレーション230ブロックは、カメラ5およびカメラ10を互いに関してキャリブレーションするように構成することができる。キャリブレーションは、(実世界における)光線に基づいてカメラ5によって生成された(画像内の)画素と、(実世界における)光線に基づいてカメラ10によって生成された(画像内の)画素とを、それぞれの画像内で同じ位置を有するように位置合わせすることを含み得る。キャリブレーションは、第1の光線(たとえば、R、光線145)および第2の光線(たとえば、R、光線150)が目標画素位置(P)に関連付けられるようにキャリブレーションパラメータを調整することを含み得る。目標画素位置は、実世界シーン座標系において、第1の光線と第2の光線との交点となる点とすることができる。第1の光線と第2の光線とが実空間(たとえば、3D空間)内の点で交差すると解釈されるようにキャリブレーションパラメータを調整することは、第1の光線と第2の光線とに関連付けられた処理済みのセンサ位置を、キャリブレーションされていないカメラ(複数可)と比較して2Dでシフトさせることを含み得る。キャリブレーションパラメータは、カメラキャリブレーション行列Mに含めることができる。したがって、キャリブレーション行列Mを修正することにより、光線R,Rが点Pで交差するように、点p1およびp2を(一致する画素として)平行移動させることができる。例示的な実現例において、一致する画素の数は多くなければならない(たとえば、数百の一致する画素)。
キャリブレーションパラメータは、内部パラメータおよび外部パラメータを含み得る。内部パラメータは、有効焦点距離、または像面から投影中心までの距離、レンズ歪み係数、xの倍率、カメラの走査および/または取得タイミング誤差に起因する取得画像の原点のシフトを含み得る。外部パラメータは、定義されたワールド座標系に対するカメラの3D位置および向きによって、定義することができる。
例示的な実現例において、内部パラメータは指定された範囲内にあるとみなされ、外部パラメータは調整される。たとえば、実世界シーン内の点のx,y,z座標を変化させるパラメータは、キャリブレーションの要素とすることができる。さらに、実世界シーンにおける座標面のx軸、y軸、z軸(たとえば、向き)座標を変化させるパラメータは、キャリブレーションの要素とすることができる。
図3は、少なくとも1つの例示的な実施形態に係るテレビ会議システムを示すブロック図である。図3に示す要素は、図2に示すようなテレビ会議システムのカメラキャリブレーションに関連する(またはカメラキャリブレーションを含む)。図3に示すように、テレビ会議システム300は、少なくとも1つのプロセッサ305と、少なくとも1つのメモリ310と、カメラインターフェイス315と、特徴識別器215ブロックと、特徴照合220ブロックと、光線から画素へのマッピング225ブロックと、キャリブレーション230ブロックとを含む。特徴識別器215ブロック、特徴照合220ブロック、光線から画素へのマッピング225ブロック、およびキャリブレーション230ブロックについては上述した。
少なくとも1つのプロセッサ305は、少なくとも1つのメモリ310に格納された命令を実行するために利用され、それによって、本明細書に記載のさまざまな特徴および機能、または追加のもしくは代替的な特徴および機能を実現することができる。少なくとも1つのプロセッサ305は、汎用プロセッサであってもよい。少なくとも1つのプロセッサ305は、グラフィック・プロセッシング・ユニット(graphics processing unit:GPU)および/またはオーディオ・プロセッシング・ユニット(audio processing unit:APU)であってもよい。少なくとも1つのプロセッサ305および少なくとも1つのメモリ310は、他のさまざまな目的のために利用されてもよい。特に、少なくとも1つのメモリ310は、本明細書に記載のモジュールのいずれか1つを実現するために使用され得る、さまざまなタイプのメモリおよび関連するハードウェアおよびソフトウェアの一例を表し得る。
少なくとも1つのメモリ310は、テレビ会議システム300に関連するデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ310は、識別された実世界シーンの特徴を使用してカメラをキャリブレーションすることに関連するコードを格納するように構成されてもよい。例示的な実現例によれば、実世界シーンは、(たとえば、カメラキャリブレーションプロセスで使用するために識別可能な特徴を含む)特別に設計されたキャリブレーション対象を含まない。たとえば、少なくとも1つのメモリ310は、少なくとも1つの訓練済みMLモデルに関連するコードを格納するように構成されてもよい。少なくとも1つのメモリ310は、プロセッサ305によって実行されるとプロセッサ305に本明細書に記載の技術の1つ以上を実行させるコードを有する、非一時的なコンピュータ読取可能媒体であってもよい。少なくとも1つのメモリ310は、共有リソースであってもよい。たとえば、モデル訓練システム300は、より大きなシステム(たとえば、サーバ、パーソナルコンピュータ、モバイルデバイス等)の要素であってもよい。したがって、少なくとも1つのメモリ310は、より大きなシステム内の他の要素に関連するデータおよび/または情報を格納するように構成されてもよい。
図4および図5は、例示的な実施形態に係る方法を示すフローチャートである。図4および図5に関して説明される方法は、装置に関連付けられたメモリ(たとえば、非一時的なコンピュータ読取可能記憶媒体)に格納され、装置に関連付けられた少なくとも1つのプロセッサによって実行されるソフトウェアコードの実行に起因して実行されてもよい。
しかしながら、専用プロセッサとして具現化されるシステムなどの代替実施形態が意図されている。専用プロセッサは、グラフィック・プロセッシング・ユニット(GPU)および/またはオーディオ・プロセッシング・ユニット(APU)とすることができる。GPUは、グラフィックカードの構成要素とすることができる。APUは、サウンドカードの構成要素とすることができる。グラフィックカードおよび/またはサウンドカードは、ビデオ/オーディオメモリ、ランダムアクセスメモリ・デジタルアナログコンバータ(random access memory digital-to-analogue converter:RAMDAC)、およびドライバソフトウェアも含み得る。ドライバソフトウェアは、上記で言及したメモリに格納されたソフトウェアコードとすることができる。ソフトウェアコードは、本明細書に記載の方法を実行するように構成することができる。
以下に記載する方法は、プロセッサおよび/または専用プロセッサによって実行されるものとして説明されるが、方法は、必ずしも同一のプロセッサによって実行されるとは限らない。換言すれば、少なくとも1つのプロセッサおよび/または少なくとも1つの専用プロセッサが、図4および図5に関して以下に説明する方法を実行してもよい。
図4は、少なくとも1つの例示的な実施形態に係るカメラをキャリブレーションする方法のブロック図を示す。図4に示すように、ステップS405では、第1の画像が第1のカメラによって取り込まれる。たとえば、第1のカメラは、第1のスペクトルの光(たとえば、IR,NIR等)に感度を有してもよく、第1の光源(たとえば、第1のカメラに関連付けられたIRまたはNIRフラッシュ)を有し得る。例示的な実現例において、第1のカメラはNIRカメラでもよく、第1の画像はNIR画像とすることができる。
ステップS410では、第2の画像が第2のカメラによって取り込まれる。たとえば、第2のカメラは、第2のスペクトルの光(たとえば、可視光)に感度を有してもよく、第2の光源(たとえば、室内光、太陽光等)を有し得る。例示的な実現例において、第2のカメラは可視光またはRGBカメラでもよく、第1の画像はRGB画像とすることができる。
ステップS415では、第1の画像において特徴が識別される。特徴識別は、コーナーおよびエッジ検出の使用を含み得る。コーナーおよびエッジ検出は、ハリスコーナー検出器の使用を含み得る。ハリスコーナー検出器は、信号の局所自己相関関数に基づいており、局所自己相関関数は、異なる方向に少量だけシフトされたパッチを有する信号の局所変化を測定する。入力画像においてコーナーを見つけるために、この技術では、方向性のある平均強度を分析する。ハリスコーナー検出器の数学的形式は、全方向の(u,v)の変位について強度の差を特定する。
あるいは、機械学習(ML)モデルを使用して画像の特徴を識別することができる。MLモデルは、キャリブレーションされたマルチカメラシステムを使用して取り込まれたデータ(たとえば、画像)を使用して、訓練することができる。MLモデルは畳み込みニューラルネットワークとすることができる。MLモデルは、分類を使用して、画像の一部が候補特徴を含む(または候補特徴である)と識別することができる。例示的な実現例において、カメラはNIR画像を取り込むように構成されたNIRカメラである。NIR画像はMLモデルに入力することができる。MLモデルは、NIR画像の複数の部分についての分類を出力することができる。出力は、NIR画像の各部分の一意の識別子、NIR画像の各部分の位置および/または寸法(複数可)を含むことができ、NIR画像の各部分を、候補特徴を含むものとして、または候補特徴を含まないものとして示すことができる。候補特徴は、正確に位置を特定する(たとえば、NIR画像内の画素(複数可)の位置を示す)ことが容易であり得る(たとえばNIR画像の)少なくとも1つの画素を含み得る(たとえば、コーナー、遷移、スポット等)。
ステップS420では、第1の画像において識別された特徴と一致する第2の画像内の特徴が特定される。たとえば、MLモデルを使用して、第1の画像において候補特徴として特定された一致特徴を、第2の画像において特定することができる。MLモデルは、キャリブレーションされたマルチカメラシステムを使用して取り込まれたデータ(たとえば、画像)を使用して、訓練することができる。MLモデルは、畳み込みニューラルネットワークとすることができる。MLモデルは、スコアリングを使用して、第2の画像内の画素(複数可)を、第1の画像内の画素(複数可)と一致する可能性があると識別することができる。たとえば、高いスコアはその画素が一致する可能性が高いと示すことができ、低いスコアはその画素が一致する可能性が低いと示すことができる。
例示的な実現例において、第1の画像はNIR画像であり、第2の画像はRGB画像である。MLモデルは、NIR画像の各部分の一意の識別子、NIR画像の各部分の位置および/または寸法(複数可)を含むデータを使用し、MLモデルへの入力として、候補特徴を含むものとしてNIR画像の各部分を示すことができる。別の実現例では、第1の画像はRGB画像であり、第2の画像はNIR画像である。
候補特徴ごとに、第2の画像(たとえばRGB画像)において探索窓を定義することができる。検索窓内の各画素は、MLモデルを使用してスコアを割り当てることができ、高いスコアは、候補特徴内の画素(複数可)に対応する可能性が高い画素を示し、他の画素では低いスコアを示す。第2のMLモデル(たとえば、第2のニューラルネットワーク)を使用して、検索窓内の各画素の完全一致の位置(たとえば、x,y位置)を予測することができる。検索窓内の各画素の推定オフセット(たとえば、完全一致画素が現在の画素から画像のx軸およびy軸に沿ってどの程度離れているかの予測)を生成することができる。一致画素(たとえば、基準をパスする(たとえば、閾値を上回る)スコアを有する画素)の推定オフセットを計算することができる。たとえば、検索窓内の画素が十分に高いスコアを有する(たとえば、一致する可能性が高い)ことが判明した場合、画素とその近傍画素との推定オフセットを平均して、(目標一致画素として)最良の一致画素の推定オフセットを求め、NIRのRGBとの一致を生成することができる。一致(たとえば、第2の画像またはRGB画像内の画素の位置)は、推定オフセットと共に第2のMLモデルから出力することができる。一例では、窓(複数可)は、以前のキャリブレーションに基づき得る。たとえば、窓の位置および寸法は、以前のキャリブレーション中に決定された(およびメモリに格納された)窓の位置および寸法に基づき得る。
Figure 2024508359000003
図4に戻り、ステップS430では、マッピングに基づいて、第1のカメラと第2のカメラとがキャリブレーションされる。たとえば、キャリブレーションは、(実世界における)光線に基づいてカメラ5によって生成された(画像における)画素と、(実世界における)光線に基づいてカメラ10によって生成された(画像における)画素とを、それぞれの画像において同じ位置を有するように位置合わせすることを含み得る。キャリブレーションは、第1の光線(たとえば、R、光線145)および第2の光線(R2、光線150)が目標画素位置(P)に関連付けられるように、キャリブレーションパラメータを調整することを含み得る。目標画素位置は、画像の一部を表す2D座標系における同じ位置(たとえば、x,y座標)とすることができる。目標画素位置は、カメラセンサ位置と、カメラセンサ位置に関連付けられた画素の処理された解釈とに関連付けることができる。
キャリブレーションは、第1の光線と第2の光線とが実空間(たとえば、3D空間)の点で交差すると解釈されるようにキャリブレーションパラメータを調整することを含むことができ、第1の光線と第2の光線とに関連付けられた処理済みのセンサ位置を、キャリブレーションされていないカメラ(複数可)と比較して2Dでシフトさせることを含み得る。キャリブレーションパラメータは、カメラキャリブレーション行列Mを含み得る。キャリブレーションパラメータは、内部パラメータおよび外部パラメータを含み得る。内部パラメータは、有効焦点距離、または像面から投影中心までの距離、レンズ歪み係数、xの倍率、カメラの走査および/または取得タイミング誤差に起因する取得画像の原点のシフトを含み得る。外部パラメータは、定義されたワールド座標系に対するカメラの3D位置および向きによって定義することができる。
例示的な実現例において、内部パラメータは指定された範囲内にあるとみなされ、外部パラメータは調整される。たとえば、実世界シーン内の点のx,y,z座標を変化させるパラメータは、キャリブレーションの要素とすることができる。さらに、実世界シーンにおける座標面のx軸、y軸、およびz軸(たとえば、向き)座標を変化させるパラメータは、キャリブレーションの要素とすることができる。
図5は、少なくとも1つの例示的な実施形態に係る画素を照合する方法のブロック図を示す。図5に示すように、ステップS505において、第1の画像から候補特徴が選択される。たとえば、候補特徴は、正確に位置を特定する(たとえば、NIR画像内の画素(複数可)の位置を示す)ことが容易であり得る(たとえばNIR画像の)少なくとも1つの画素を含み得る(たとえば、コーナー、遷移、スポット等)。候補特徴は、MLモデルを使用して識別された複数の特徴のうちの1つとすることができる。第1の画像は、第1のカメラによって取り込まれ得る。第1のカメラは、第1のスペクトルの光(たとえば、IR,NIR等)に感度を有することができ、第1の光源(たとえば、第1のカメラに関連付けられたIRまたはNIRフラッシュ)を有し得る。例示的な実現例において、第1のカメラはNIRカメラとすることができ、第1の画像はNIR画像とすることができる。別の実現例では、第1のカメラと第2のカメラとは、同じスペクトルの光に感度を有し得る。たとえば、例示的な実現例は、(たとえば、毛髪を含む画像に存在する)高反射表面および/または複雑な微細形状に関連するビュー依存効果の影響を低減することができる。
ステップS510では、第2の画像内のRGB画素が候補特徴と照合される。たとえば、MLモデルを使用して、第1の画像において候補特徴として特定された一致特徴を、第2の画像において特定することができる。第2のカメラは、第2のスペクトルの光(たとえば、可視光)に対して感度を有してもよく、第2の光源(たとえば、室内光、太陽光等)を有し得る。例示的な実現例において、第2のカメラは可視光またはRGBカメラとすることができ、第1の画像はRGB画像とすることができる。
ステップS515では、一致したRGB画素にスコアが割り当てられる。たとえば、MLモデルは、スコアリングを使用して、第2の画像内の画素(複数可)を、第1の画像内の画素(複数可)と一致する可能性があると識別することができる。たとえば、高いスコアはその画素が一致する可能性が高いと示すことができ、低いスコアはその画素が一致する可能性が低いと示すことができる。
例示的な実現例において、第1の画像はNIR画像であり、第2の画像はRGB画像である。MLモデルは、NIR画像の各部分の一意の識別子、NIR画像の各部分の位置および/または寸法(複数可)を含むデータを使用し、MLモデルへの入力として、候補特徴を含むものとしてNIR画像の各部分を示すことができる。
候補特徴ごとに、第2の画像(たとえばRGB画像)において探索窓を定義することができる。検索窓内の各画素は、MLモデルを使用してスコアを割り当てることができ、高いスコアは、候補特徴内の画素(複数可)に対応する可能性が高い画素を示し、他の画素では低いスコアを示す。
ステップS520では、目標一致画素(または目標画素)の位置の方向が予測される。たとえば、検索窓内の画素が十分に高いスコアを有する(たとえば、一致する可能性が高い)ことが判明した場合、検索窓内の各画素の推定オフセットが決定され得る。最良の一致画素とその近傍画素との推定オフセットを平均して、(目標一致画素として)最良の一致画素の位置を求め、NIRのRGBとの一致を生成することができる。
ステップS525では、一致したRGB画素に方向が割り当てられる。たとえば、第2のMLモデル(たとえば、第2のニューラルネットワーク)は、推定オフセット(たとえば、目標一致画素が現在の画素(たとえば、基準をパスする(たとえば、閾値を上回る)スコアを有する画素)から画像のx軸およびy軸に沿ってどの程度離れているかの予測)を生成することができる。一致(たとえば、第2の画像またはRGB画像における画素の位置)は、推定オフセットと共に第2のMLモデルから出力することができる。一例では、窓(複数可)は、以前のキャリブレーションに基づき得る。たとえば、窓の位置および寸法は、以前のキャリブレーション中に決定された(およびメモリに格納された)窓の位置および寸法に基づき得る。
実施形態は、デバイス、システム、(コンピュータシステム上で実行可能なコンピュータ実行可能プログラムコードを格納した)非一時的なコンピュータ読取可能媒体、および/または方法を含み得る。方法でプロセスを実行可能であり、方法は、第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、実世界シーンの第2の画像を取り込むことと、第1の画像において少なくとも1つの特徴を識別することと、機械学習(ML)モデルを使用して、第1の画像において識別された少なくとも1つの特徴と一致する、第2の画像内の少なくとも1つの特徴を識別することと、一致した少なくとも1つの特徴に基づいて、第1の画像および第2の画像内の画素を、3次元(3D)空間において光線にマッピングすることと、マッピングに基づいて、第1のカメラと第2のカメラとをキャリブレーションすることとを備える。
実現例は、以下の特徴のうちの1つ以上を含み得る。たとえば、第1のカメラは近赤外(NIR)カメラでもよく、第2のカメラは可視光カメラでもよい。MLモデルを使用して、第1の画像において少なくとも1つの特徴を識別し得る。アルゴリズムを使用して、第1の画像において少なくとも1つの特徴を識別し得る。MLモデルを使用して、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合してもよく、第2の画像の少なくとも1つの画素が第1の画像内の少なくとも1つの特徴の画素と一致する可能性に基づいて、第2の画像の少なくとも1つの画素にスコアが割り当てられ得る。アルゴリズムを使用して、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合してもよく、第2の画像の少なくとも1つの画素が第1の画像内の少なくとも1つの特徴の画素と一致する可能性に基づいて、第2の画像の少なくとも1つの画素にスコアを割り当ててもよく、目標画素の位置の予測に基づいて、第2の画像の少なくとも1つの画素に方向が割り当てられ得る。
アルゴリズムを使用して、第1の画像において少なくとも1つの特徴を識別してもよく、第1の画像内の少なくとも1つの特徴を、第2の画像内の少なくとも1つの特徴と照合することは、第1のMLモデルを使用して、第1の画像内の少なくとも1つの特徴から、候補特徴を選択することと、第2の画像内の少なくとも1つの画素を、候補特徴の画素と照合することと、少なくとも1つの画素が第1の画像内の少なくとも1つの特徴のうちの1つと一致する可能性に基づいて、第2の画像の一致した少なくとも1つの画素にスコアを割り当てることと、第2のMLモデルを使用して、目標画素の位置の方向を予測することと、第2の画像の一致した少なくとも1つの画素に、方向を割り当てることとを含み得る。第1のカメラと第2のカメラとをキャリブレーションすることは、最も高いスコアを有する、候補特徴に関連付けられた第2の画像の一致した少なくとも1つの画素と、最も高いスコアを有する、第2の画像の一致した少なくとも1つの画素の方向とに基づいてもよく、方向は、最も高いスコアを有する、第2の画像の一致した少なくとも1つの画素と、近傍画素とに基づき得る。方法はさらに、以前のキャリブレーションに基づいて、第2の画像において少なくとも1つの検索窓を選択することを含み得る。機械学習モデルは、キャリブレーションされたマルチカメラシステムから取り込まれたデータで訓練され得る。
図7は、本明細書に記載されている技術と共に使用することができるコンピュータデバイス700およびモバイルコンピュータデバイス750の一例を示す。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。コンピューティングデバイス750は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すよう意図されている。本明細書に示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載されているおよび/またはクレームされている発明の実現例を限定することを意図したものではない。
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、ストレージデバイス706と、メモリ704および高速拡張ポート710に接続する高速インターフェイス708と、低速バス714およびストレージデバイス706に接続する低速インターフェイス712とを含む。コンポーネント702,704,706,708,710および712の各々は、さまざまなバスを用いて相互接続され、共通のマザーボード上にまたは適宜他の態様で搭載されてもよい。プロセッサ702は、コンピューティングデバイス700内で実行される命令を処理し得るものであり、当該命令は、高速インターフェイス708に結合されたディスプレイ716などの外部入出力デバイス上にGUIのためのグラフィック情報を表示するための、メモリ704内またはストレージデバイス706上に格納された命令を含む。いくつかの実現例において、複数のメモリおよび複数タイプのメモリと共に、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス700が接続され、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供してもよい。
メモリ704は、コンピューティングデバイス700内に情報を格納する。一実現例において、メモリ704は、1つまたは複数の揮発性メモリユニットである。別の実現例において、メモリ704は、1つまたは複数の不揮発性メモリユニットである。また、メモリ704は、磁気ディスクまたは光ディスクなどの、別の形式のコンピュータ読取可能媒体であってもよい。
ストレージデバイス706は、コンピューティングデバイス700に大容量ストレージを提供することができる。一実現例において、ストレージデバイス706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ読取可能媒体であってもよく、またはそのようなコンピュータ読取可能媒体を含んでもよい。コンピュータプログラム製品を、情報担体において有形に具体化してもよい。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を実行する命令も含み得る。情報担体は、メモリ704、ストレージデバイス706、またはプロセッサ702上のメモリなどのコンピュータ読取可能媒体または機械読取可能媒体である。
高速コントローラ708は、コンピューティングデバイス700のための帯域幅集約型動作を管理するのに対して、低速コントローラ712は、帯域幅がそれほど集約しない動作を管理する。そのような機能の割り当ては例示に過ぎない。一実現例において、高速コントローラ708は、メモリ704、ディスプレイ716に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)結合されると共に、さまざまな拡張カード(図示せず)を受け付け得る高速拡張ポート710に結合される。この実現例において、低速コントローラ712は、ストレージデバイス706および低速拡張ポート714に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
コンピューティングデバイス700は、図に示すように多くの異なる形態で実現されてもよい。たとえば、標準的なサーバ720として、またはそのようなサーバのグループで複数回実現されてもよい。また、ラックサーバシステム724の一部として実現されてもよい。くわえて、ラップトップコンピュータ722などのパーソナルコンピュータにおいて実現されてもよい。または、コンピューティングデバイス700からのコンポーネントが、デバイス750などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス700,750のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス700,750で構成されてもよい。
コンピューティングデバイス750は、いくつかあるコンポーネントの中で特に、プロセッサ752と、メモリ764と、ディスプレイ754などの入出力デバイスと、通信インターフェイス766と、トランシーバ768とを含む。デバイス750には、ストレージをさらに提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスが設けられてもよい。コンポーネント750,752,764,754,766および768の各々は、さまざまなバスを用いて相互接続され、これらのコンポーネントのうちのいくつかは、共通のマザーボード上にまたは適宜他の態様で搭載されてもよい。
プロセッサ752は、メモリ764に格納された命令を含む、コンピューティングデバイス750内の命令を実行することができる。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス750によって実行されるアプリケーション、およびデバイス750による無線通信といった、デバイス750の他のコンポーネントの連携を提供してもよい。
プロセッサ752は、ディスプレイ754に結合された制御インターフェイス758およびディスプレイインターフェイス756を通してユーザと通信してもよい。ディスプレイ754は、たとえば、TFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)もしくはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス756は、ディスプレイ754を駆動してグラフィック情報および他の情報をユーザに表示するための適切な回路を含んでもよい。制御インターフェイス758は、ユーザからコマンドを受信し、これらのコマンドを変換してプロセッサ752に送信してもよい。くわえて、デバイス750と他のデバイスとの近接エリア通信を可能にするために、外部インターフェイス762がプロセッサ752と通信するように設けられてもよい。外部インターフェイス762は、たとえば、ある実現例では有線通信を提供してもよく、他の実現例では無線通信を提供してもよく、複数のインターフェイスが使用されてもよい。
メモリ764は、コンピューティングデバイス750内に情報を格納する。メモリ764は、1つもしくは複数のコンピュータ読取可能媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つ以上として実現されてもよい。また、拡張メモリ774が設けられて、拡張インターフェイス772を介してデバイス750に接続されてもよく、拡張インターフェイス772は、たとえばSIMM(Single In Line Memory Module:シングル・インライン・メモリ・モジュール)カードインターフェイスを含み得る。そのような拡張メモリ774は、デバイス750のための追加の記憶空間を提供してもよく、またはデバイス750のためのアプリケーションもしくは他の情報を格納してもよい。具体的には、拡張メモリ774は、上記のプロセスを実行または補完するための命令を含んでもよく、セキュアな情報も含んでもよい。このため、拡張メモリ774はたとえば、デバイス750のためのセキュリティモジュールとして設けられてもよく、デバイス750のセキュアな使用を可能にする命令を用いてプログラムされてもよい。くわえて、ハッキングできない態様でSIMMカードに識別情報を載せるなどして、セキュアなアプリケーションが追加情報と共にSIMMカードを介して提供されてもよい。
メモリは、以下に記載するように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実現例において、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を実行する命令を含む。情報担体は、たとえばトランシーバ768または外部インターフェイス762を介して受信され得る、メモリ764、拡張メモリ774、またはプロセッサ752上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
デバイス750は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス766を介して無線通信してもよい。通信インターフェイス766は、とりわけ、GSM(登録商標)音声電話、SMS、EMSもしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下で通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ768を介して行われてもよい。くわえて、ブルートゥース、Wi-Fi、または他のそのようなトランシーバ(図示せず)を用いるなどして、短距離通信が行われてもよい。くわえて、GPS(Global Positioning System:全地球測位システム)受信機モジュール770が、ナビゲーションおよび位置に関連する追加の無線データをデバイス750に提供してもよく、当該データは、デバイス750上で実行されるアプリケーションによって適宜使用されてもよい。
また、デバイス750は、ユーザからの発話情報を受信して、それを使用可能なデジタル情報に変換し得るオーディオコーデック760を用いて、可聴式に通信してもよい。オーディオコーデック760は同様に、たとえばデバイス750のハンドセットにおいて、スピーカを介するなどしてユーザのために可聴音を生成してもよい。そのような音は、音声電話からの音を含んでもよく、録音された音(たとえば、音声メッセージ、音楽ファイル等)を含んでもよく、さらに、デバイス750上で動作するアプリケーションによって生成された音を含んでもよい。
コンピューティングデバイス750は、図示されるように多くの異なる形態で実現されてもよい。たとえば、携帯電話780として実現されてもよい。また、スマートフォン782、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
例示的な実施形態はさまざまな修正例および代替的な形態を含み得るが、それらの実施形態は、図面に一例として示されており、本明細書において詳細に説明される。しかしながら、開示されている特定の形態に例示的な実施形態を限定することは意図されておらず、むしろ、例示的な実施形態は、請求項の範囲内にあるすべての修正例、均等物、および代替例をカバーすることが理解されるべきである。図面の説明全体にわたって、同様の数字は同様の要素を指す。
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子回路、集積回路、特別に設計されたASIC(application specific integrated circuit:特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせで実現されてもよい。これらのさまざまな実現例は、プログラム可能なシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムでの実現例を含み得る。このプログラム可能なシステムは、プログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装を含むことができる。このプログラム可能なシステムは、ストレージシステムとデータの送受信を行うように記憶システムに連結された少なくとも1つのプログラム可能な専用または汎用のプロセッサ、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。本明細書に記載されているシステムおよび技術のさまざまな実現例は、ソフトウェアおよびハードウェアの局面を組み合わせることができる回路、モジュール、ブロック、もしくはシステムとして、実現され得る、および/または本明細書において一般的に言及され得る。たとえば、モジュールは、プロセッサ(たとえば、シリコン基板、GaAs基板などの上に形成されたプロセッサ)またはその他のプログラム可能なデータ処理装置上で実行される機能/行為/コンピュータプログラム命令を含み得る。
上記の例示的な実施形態のうちのいくつかは、フローチャートとして示されるプロセスまたは方法として説明されている。フローチャートは動作を逐次プロセスとして説明しているが、動作のうちの多くは、並列に、同時に、または並行して行なわれ得る。さらに、動作の順序を並べ替えてもよい。プロセスは、その動作が完了すると終了し得るが、図面には含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応し得る。
その一部がフローチャートによって示されている上述の方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実現され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードとして実現された場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体のような機械またはコンピュータ読取可能媒体に格納され得る。プロセッサ(複数可)が必要なタスクを実行し得る。
本明細書に開示されている具体的な構造的および機能的詳細は、例示的な実施形態を説明するための代表的なものに過ぎない。しかしながら、例示的な実施形態は、多くの代替的な形態で具体化され、本明細書に記載されている実施形態のみに限定されると解釈されるべきではない。
「第1の」、「第2の」といった用語は、本明細書ではさまざまな要素を説明するために使用される場合があるが、これらの要素はこれらの用語によって限定されるべきではないことが理解されるであろう。これらの用語は、ある要素を別の要素から区別するために使用されているに過ぎない。たとえば、例示的な実施形態の範囲から逸脱することなく、第1の要素を第2の要素と呼ぶことができ、同様に、第2の要素を第1の要素と呼ぶことができる。本明細書において使用する場合、「および/または」という用語は、関連する列挙された項目のうちの1つ以上の任意のおよびすべての組み合わせを含む。
ある要素が別の要素に接続または結合されると称される場合、ある要素はこの他の要素に直接的に接続もしくは結合され得るか、または介在要素が存在し得ることが理解されるであろう。対照的に、ある要素が別の要素に直接的に接続または直接的に結合されると称される場合、介在要素は存在しない。要素同士の関係を説明するために使用する他の単語は同様に(たとえば、「間に」と「間に直接」、「隣接して」と「隣接して直接」等)解釈されるべきである。
本明細書において使用する専門用語は、特定の実施形態を説明するためのものに過ぎず、例示的な実施形態を限定することを意図するものではない。本明細書において使用される場合、単数形「a」、「an」および「the」は、文脈上明白に他の意味が記載されていない限り、複数形も含むことを意図している。本明細書において使用する場合、「備える(comprises, comprising)」および/または「含む(includes, including)」という用語は、記載された特徴、整数、ステップ、動作、要素、および/または構成要素の存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが、さらに理解されるであろう。
なお、いくつかの代替的な実現例では、記載された機能/行為は、図に記載された順序とは異なって発生する可能性がある。たとえば、連続して示された2つの図は、実際には同時に実行されることもあれば、関係する機能/行為によっては逆の順序で実行されることもある。
他に定義されない限り、本明細書で使用される全ての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術分野における当業者によって一般的に理解されるのと同じ意味を有する。さらに、用語、たとえば、一般的に使用される辞書において定義される用語は、関連技術の文脈における意味と一致する意味を有するものとして解釈されるべきであり、本明細書において明示的にそのように定義されない限り、理想化された意味または過度に形式的な意味で解釈されないことが理解されるであろう。
上記の例示的な実施形態および対応する詳細な説明の一部は、ソフトウェア、またはアルゴリズム、およびコンピュータメモリ内のデータビットに関する動作の記号的表現の観点から提示されている。これらの記述および表現は、当業者が、当業者以外に自分達の研究の本質を効果的に伝えるためのものである。アルゴリズムとは、本明細書で使用されているように、また一般的に使用されているように、所望の結果をもたらす自己矛盾のない一連のステップであると考えられている。ステップは、物理量の物理的操作を必要とするものである。必ずしもそうではないが、通常、これらの量は、記憶、転送、結合、比較、その他の操作が可能な光学的、電気的、磁気的信号の形をとる。このような信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、主に一般的な用法から便利であると証明されている。
上記の例示的な実施形態において、プログラムモジュールまたは機能プロセスとして実現され得る動作の行為および記号的表現(たとえば、フローチャートの形式)への言及は、特定のタスクを実行するか、または特定の抽象データ型を実現し、既存の構造要素において既存のハードウェアを使用して記述および/または実現され得るルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。このような既存のハードウェアには、1つまたは複数の中央処理装置(Central Processing Unit:CPU)、デジタル信号プロセッサ(digital signal processor:DSP)、特定用途向け集積回路、フィールドプログラマブルゲートア光線(field programmable gate array:FPGA)コンピュータなどが含まれる。
しかしながら、これらおよび類似の用語はすべて、適切な物理量と関連付けられるべきものであり、これらの量に適用される便宜的なラベルに過ぎないことを認識すべきである。特に断りのない限り、または議論から明らかなように、処理、演算、計算、決定、表示などの用語は、コンピュータシステムのレジスタおよびメモリ内の物理的な電子量として表されるデータを、コンピュータシステムのメモリもしくはレジスタ、または他のこのような情報記憶、伝送、表示装置内の物理量として同様に表現される他のデータに操作し変換する、コンピュータシステム、あるいは同様の電子計算装置の動作およびプロセスを指す。
なお、例示的な実施形態のソフトウェア実現態様は、典型的には、何らかの形態の非一時的なプログラム記憶媒体に符号化されるか、または何らかのタイプの伝送媒体を介して実現される。プログラム記憶媒体は、磁気(たとえば、フロッピーディスクもしくはハードドライブ)または光学(たとえば、コンパクトディスク読み取り専用メモリ、またはCD ROM)であってもよく、読み取り専用またはランダムアクセスであってよい。同様に、伝送媒体は、ツイストワイヤ対、同軸ケーブル、光ファイバ、または当該技術分野で知られている他の適切な伝送媒体であってもよい。例示的な実施形態は、任意の所与の実現例のこれらの態様によって限定されない。
なお、最後に、添付の特許請求の範囲には、本明細書に記載の特徴の特定の組み合わせが記載されているが、本開示の範囲は、以下に特許請求される特定の組み合わせに限定されるものではなく、その代わりに、その特定の組み合わせが現時点で添付の特許請求の範囲に具体的に列挙されているか否かにかかわらず、本明細書に開示された特徴または実現例の任意の組み合わせを包含するように及ぶ。
図1Aに示すように、シーンは、第1のカメラ5と第2のカメラ10とを含む。例として、2台のカメラが示されている。しかしながら、例示的な実現例は、3次元(3D)テレビ会議システムにおいて3台以上のカメラを含み得る。第1のカメラ5および第2のカメラ10は、壁105の床110と接触している部分を含むように示されている、シーンの画像を取り込むように構成され得る。壁はドア115を含み得る。壁105およびドア115含むシーンは、特徴120-1,120-2,120-3を含む画像の部分を含み得る。特徴120-1,120-2,120-3を含む画像の部分の各々は、探索アルゴリズムおよび/またはMLモデル(たとえば、ニューラルネットワーク)を使用して選択可能である。MLモデルは、(実世界シーンの)画像の一部を選択するように訓練し得る。特徴120-1,120-2,120-3を含む画像の部分は、正確に位置特定され得る(もしくは位置決めされ得る)コーナー、遷移、スポットなどであり得る。特徴は、色(たとえば、NIRまたはRGB)勾配を有する隣接画素を含み得る。言い換えれば、特徴は、ある画素から少なくとも1つの隣接画素への少なくとも1つの色遷移を有する画像(たとえば、NIR画像)の部分であり得る。たとえば、特徴120-1を含む画像の部分は、ドア115のコーナー122-1を含んでもよく、特徴120-2を含む画像の部分は、識別可能なスポット(たとえば、ドアハンドル122-2)を含んでもよく、特徴120-3を含む画像の部分は、ドア115のコーナーと、ドア115から床110への遷移122-3とを含んでもよい。特徴を識別するために使用される検索アルゴリズムおよび/またはMLモデルは、特徴を識別することが最も困難な光のスペクトル(たとえば、NIR)で取り込まれた画像を使用し得る。
図2は、少なくとも1つの例示的な実施形態に係るデータフローを示すブロック図である。データフローは、マルチカメラシステムにおけるカメラキャリブレーションに関連する。図2に示すように、データフロー200は、カメラ5、カメラ10、特徴識別器215ブロック、特徴照合220ブロック、光線から画素へのマッピング225ブロック、およびキャリブレーション230ブロックを含む。データフロー200では、第1の画像がカメラ5によって取り込まれ、第2の画像がカメラ10によって取り込まれる。各画像は、実世界シーン(たとえば、実質的に同じ実世界シーン)の画像であり得る。例示的な実現例によれば、実世界シーンは、特別に設計されたキャリブレーション対象(たとえば、カメラキャリブレーションプロセスで使用するために識別可能な特性を含む)を含まない。たとえば、各画像は、図1Aに示すシーンのものとすることができる。第1の画像はNIR画像とすることができ、第2の画像はRGB画像とすることができる。カメラ5は、第1の画像を特徴識別器215ブロックに伝達することができ、ここで、第1の画像(たとえば、NIR画像)において複数の特徴を識別することができる。たとえば、図1Aに示すように、画像の特徴120-1,120-2,120-3を含む部分は、識別された特徴122-1,122-2,122-3を含み得る。識別された複数の特徴は、特徴照合220ブロックに伝達され得る。カメラ10は、第2の画像を特徴照合220ブロックに伝達することができ、ここで、識別された複数の特徴の画素を、第2の画像内の複数の特徴の画素と照合する(たとえば、位置を特定して照合する)ことができる。たとえば、図1Bに示す画素155は、NIR画像で照合されたRGB画素であり、キャリブレーション中に使用することができる。

Claims (23)

  1. 第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、
    第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、前記実世界シーンの第2の画像を取り込むことと、
    前記第1の画像において少なくとも1つの特徴を識別することと、
    機械学習(ML)モデルを使用して、前記第1の画像において識別された前記少なくとも1つの特徴と一致する、前記第2の画像内の少なくとも1つの特徴を識別することと、
    一致した前記少なくとも1つの特徴に基づいて、前記第1の画像および前記第2の画像内の画素を、3次元(3D)空間において光線にマッピングすることと、
    前記マッピングに基づいて、前記第1のカメラと前記第2のカメラとをキャリブレーションすることとを備える、方法。
  2. 前記第1のカメラは近赤外(NIR)カメラであり、前記第2のカメラは可視光カメラである、請求項1に記載の方法。
  3. MLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別する、請求項1または2に記載の方法。
  4. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別する、請求項1~3のいずれか1項に記載の方法。
  5. MLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合し、
    前記第2の画像の少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴の画素と一致する可能性に基づいて、前記第2の画像の前記少なくとも1つの画素にスコアが割り当てられる、請求項1~4のいずれか1項に記載の方法。
  6. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合し、
    前記第2の画像の少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴の画素と一致する可能性に基づいて、前記第2の画像の前記少なくとも1つの画素にスコアが割り当てられ、
    目標画素の位置の予測に基づいて、前記第2の画像の前記少なくとも1つの画素に方向が割り当てられる、請求項1~5のいずれか1項に記載の方法。
  7. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別し、
    前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合することは、
    第1のMLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴から、候補特徴を選択することと、
    前記第2の画像内の少なくとも1つの画素を、前記候補特徴の画素と照合することと、
    前記少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴のうちの1つと一致する可能性に基づいて、前記第2の画像の一致した前記少なくとも1つの画素に、スコアを割り当てることと、
    第2のMLモデルを使用して、目標画素の位置の方向を予測することと、
    前記第2の画像の一致した前記少なくとも1つの画素に、前記方向を割り当てることとを含む、請求項1~6のいずれか1項に記載の方法。
  8. 前記第1のカメラと前記第2のカメラとをキャリブレーションすることは、最も高いスコアを有する、前記候補特徴に関連付けられた前記第2の画像の一致した前記少なくとも1つの画素と、最も高いスコアを有する、前記第2の画像の一致した前記少なくとも1つの画素の前記方向とに基づき、前記方向は、最も高いスコアを有する、前記第2の画像の一致した前記少なくとも1つの画素と、近傍画素とに基づく、請求項7に記載の方法。
  9. 以前のキャリブレーションに基づいて、前記第2の画像において少なくとも1つの検索窓を選択することをさらに含む、請求項1~8のいずれか1項に記載の方法。
  10. 前記機械学習モデルは、キャリブレーションされたマルチカメラシステムから取り込まれたデータで訓練される、請求項1~9のいずれか1項に記載の方法。
  11. 3次元(3D)電話会議システムであって、
    複数のコンピュータ命令を表すコードセグメントを含むメモリと、
    前記コードセグメントを実行するように構成されたプロセッサとを備え、前記複数のコンピュータ命令は、
    第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、
    第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、前記実世界シーンの第2の画像を取り込むことと、
    前記第1の画像において少なくとも1つの特徴を識別することと、
    機械学習(ML)モデルを使用して、前記第1の画像において識別された前記少なくとも1つの特徴と一致する、前記第2の画像内の少なくとも1つの特徴を識別することと、
    一致した前記少なくとも1つの特徴に基づいて、前記第1の画像および前記第2の画像内の画素を、3次元(3D)空間において光線にマッピングすることと、
    前記マッピングに基づいて、前記第1のカメラと前記第2のカメラとをキャリブレーションすることとを含む、3次元(3D)電話会議システム。
  12. 前記第1のカメラは近赤外(NIR)カメラであり、前記第2のカメラは可視光カメラである、請求項11に記載のシステム。
  13. MLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別する、請求項11または12に記載のシステム。
  14. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別する、請求項11~13のいずれか1項に記載のシステム。
  15. MLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合し、
    前記第2の画像の少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴の画素と一致する可能性に基づいて、前記第2の画像の前記少なくとも1つの画素にスコアが割り当てられる、請求項11~14のいずれか1項に記載のシステム。
  16. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合することと、
    前記第2の画像の少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴の画素と一致する可能性に基づいて、前記第2の画像の前記少なくとも1つの画素にスコアが割り当てられ、
    目標画素の位置の予測に基づいて、前記第2の画像の前記少なくとも1つの画素に方向が割り当てられる、請求項11~15のいずれか1項に記載のシステム。
  17. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別し、
    前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合することは、
    第1のMLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴から、候補特徴を選択することと、
    前記第2の画像内の少なくとも1つの画素を、前記候補特徴と照合することと、
    前記第2の画像の前記少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴のうちの1つと一致する可能性に基づいて、前記第2の画像の一致した前記少なくとも1つの画素に、スコアを割り当てることと、
    第2のMLモデルを使用して、目標画素の位置の方向を予測することと、
    前記第2の画像の一致した前記少なくとも1つの画素に、前記方向を割り当てることとを含む、請求項11~16のいずれか1項に記載のシステム。
  18. 前記第1のカメラと前記第2のカメラとをキャリブレーションすることは、最も高いスコアを有する、前記第2の画像の一致した少なくとも1つの画素と、最も高いスコアを有する、前記第2の画像の一致した前記少なくとも1つの画素の前記方向とに基づき、前記方向は、最も高いスコアを有する、前記第2の画像の一致した前記少なくとも1つの画素と、近傍画素の方向とに基づく、請求項17に記載のシステム。
  19. 以前のキャリブレーションに基づいて、前記第2の画像において少なくとも1つの検索窓を選択することをさらに含む、請求項11~18のいずれか1項に記載のシステム。
  20. 前記機械学習モデルは、キャリブレーションされたマルチカメラシステムから取り込まれたデータで訓練される、請求項11~19のいずれか1項に記載のシステム。
  21. 実行されると、コンピュータシステムのプロセッサにステップを実行させる命令を含む非一時的なコンピュータ読取可能媒体であって、前記ステップは、
    第1のスペクトルの光に感度を有し、かつ第1の光源を有する第1のカメラが、実世界シーンの第1の画像を取り込むことと、
    第2のスペクトルの光に感度を有し、かつ第2の光源を有する第2のカメラが、前記実世界シーンの第2の画像を取り込むことと、
    前記第1の画像において少なくとも1つの特徴を識別することと、
    機械学習(ML)モデルを使用して、前記第1の画像において識別された前記少なくとも1つの特徴と一致する、前記第2の画像内の少なくとも1つの特徴を識別することと、
    一致した前記少なくとも1つの特徴に基づいて、前記第1の画像および前記第2の画像内の画素を、3次元(3D)空間において光線にマッピングすることと、
    前記マッピングに基づいて、前記第1のカメラと前記第2のカメラとをキャリブレーションすることとを含む、非一時的なコンピュータ読取可能媒体。
  22. アルゴリズムを使用して、前記第1の画像内の前記少なくとも1つの特徴を識別し、
    前記第1の画像内の前記少なくとも1つの特徴を、前記第2の画像内の前記少なくとも1つの特徴と照合することは、
    第1のMLモデルを使用して、前記第1の画像内の前記少なくとも1つの特徴から、候補特徴を選択することと、
    前記第2の画像の前記少なくとも1つの画素を、前記候補特徴の画素と照合することと、
    前記第2の画像の前記少なくとも1つの画素が前記第1の画像内の前記少なくとも1つの特徴のうちの1つと一致する可能性に基づいて、前記第2の画像の一致した前記少なくとも1つの画素に、スコアを割り当てることと、
    第2のMLモデルを使用して、目標画素の位置の方向を予測することと、
    前記第2の画像の一致した前記少なくとも1つの画素に、前記方向を割り当てることとを含む、請求項21に記載の非一時的なコンピュータ読取可能媒体。
  23. 前記第1のスペクトルの光と前記第2のスペクトルの光とは、同じスペクトルの光である、請求項21または22に記載の非一時的なコンピュータ読取可能媒体。
JP2023543163A 2021-01-19 2021-01-19 カメラキャリブレーションのためのクロススペクトル特性マッピング Pending JP2024508359A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/070052 WO2022159244A1 (en) 2021-01-19 2021-01-19 Cross spectral feature mapping for camera calibration

Publications (1)

Publication Number Publication Date
JP2024508359A true JP2024508359A (ja) 2024-02-27

Family

ID=74592841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023543163A Pending JP2024508359A (ja) 2021-01-19 2021-01-19 カメラキャリブレーションのためのクロススペクトル特性マッピング

Country Status (5)

Country Link
EP (1) EP4244812A1 (ja)
JP (1) JP2024508359A (ja)
KR (1) KR20230130704A (ja)
CN (1) CN116648727A (ja)
WO (1) WO2022159244A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117336453B (zh) * 2023-11-27 2024-01-30 湖南苏科智能科技有限公司 一种安检图像转换方法、系统、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210417B2 (en) * 2013-07-17 2015-12-08 Microsoft Technology Licensing, Llc Real-time registration of a stereo depth camera array
US10540784B2 (en) * 2017-04-28 2020-01-21 Intel Corporation Calibrating texture cameras using features extracted from depth images
US10733762B2 (en) * 2018-04-04 2020-08-04 Motorola Mobility Llc Dynamically calibrating a depth sensor
CN112655023A (zh) * 2018-06-29 2021-04-13 物流及供应链多元技术研发中心有限公司 用于精确图像融合的多模态成像传感器校准方法
US10867408B1 (en) * 2018-07-23 2020-12-15 Apple Inc. Estimation of spatial relationships between sensors of a multi-sensor device
CN109040745B (zh) * 2018-08-01 2019-12-27 Oppo广东移动通信有限公司 摄像头自校准方法和装置、电子设备、计算机存储介质
WO2020024576A1 (zh) * 2018-08-01 2020-02-06 Oppo广东移动通信有限公司 摄像头校准方法和装置、电子设备、计算机可读存储介质
CN109040746B (zh) * 2018-08-01 2019-10-25 Oppo广东移动通信有限公司 摄像头校准方法和装置、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
EP4244812A1 (en) 2023-09-20
US20220277485A1 (en) 2022-09-01
CN116648727A (zh) 2023-08-25
WO2022159244A1 (en) 2022-07-28
KR20230130704A (ko) 2023-09-12

Similar Documents

Publication Publication Date Title
WO2020151166A1 (zh) 多目标跟踪方法、装置、计算机装置及可读存储介质
WO2020151167A1 (zh) 目标跟踪方法、装置、计算机装置及可读存储介质
US12008465B1 (en) Dynamic generation of data sets for training machine-trained network
US11568654B2 (en) Object recognition method and object recognition device performing the same
CN107852447A (zh) 基于设备运动和场景距离使电子设备处的曝光和增益平衡
US11600039B2 (en) Mechanism for improved light estimation
CN110865388A (zh) 摄像机与激光雷达的联合标定方法、装置及存储介质
CN110232315A (zh) 目标检测方法和装置
US20210142583A1 (en) 6-dof tracking using visual cues
US9025823B2 (en) Tracking texture rich objects using rank order filtering
CN116643291A (zh) 一种视觉与激光雷达联合剔除动态目标的slam方法
Lai et al. Laser reflectance feature assisted accurate extrinsic calibration for non-repetitive scanning LiDAR and camera systems
JP2024508359A (ja) カメラキャリブレーションのためのクロススペクトル特性マッピング
US11341736B2 (en) Methods and apparatus to match images using semantic features
US20210156697A1 (en) Method and device for image processing and mobile apparatus
CN109242782B (zh) 噪点处理方法及装置
CN117893468A (zh) 一种快速3d孔洞检测方法、系统、计算机设备及介质
An et al. Image-based positioning system using LED Beacon based on IoT central management
US12026914B2 (en) Cross spectral feature mapping for camera calibration
US20220331968A1 (en) Robot, system comprising robot and user device and controlling method thereof
WO2023281802A1 (ja) 信号処理装置および信号処理方法
US20230177712A1 (en) Simultaneous localization and mapping using cameras capturing multiple spectra of light
US20210279907A1 (en) Methods and systems for sensing obstacles in an indoor environment
US20240177329A1 (en) Scaling for depth estimation
WO2022213288A1 (zh) 一种深度图像处理方法、装置及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231207