(57)【特許請求の範囲】
【請求項１】
カメラで３次元剛体を捉えた２画像を入力する画像入力部と、前記２画像間の対応点を検出する対応点検出部と、前記２画像間のカメラの３次元回転行列Ｒ、及び３次元平行移動ベクトルｈから式Ｇ＝Ｒ×ｈで定義される基本行列Ｇを計算する基本行列計算部と、３次元平行移動ベクトルｈを計算する平行移動計算部、及び３次元回転行列Ｒを計算する回転計算部からなる平行移動・回転計算部と、３次元空間におけるカメラと対応点との距離ｒ、ｒ′を計算する距離計算部を備え、入力した２次元画像情報から３次元情報を復元する３次元情報復元装置において、
カメラの運動条件を入力して設定する運動条件設定部を備え、前記対応点検出部は、前記運動条件設定部が設定した運動条件の元で、前記基本行列Ｇの９個の要素
【数１】
0003729916.tif 000148
を線型展開する最小ｐ個の元
【数２】
0003729916.tif 000149
を定めて、ｐ−１個の対応点の２画像上の２次元位置を検出し、
前記基本行列計算部は、前記最小ｐ個の元
【数３】
0003729916.tif 000150
に関する連立方程式により、
【数４】
0003729916.tif 000151
を計算し、基本行列Ｇを求める計算処理を行う機能を備えていることを特徴とした３次元情報復元装置。
【請求項２】
前記運動条件設定部は、カメラの運動条件として、前記３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件を入力する運動条件入力部と、
前記運動条件入力部が入力した３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件から、前記Ｒとｈの制約条件としての運動条件を簡約化する運動条件簡約部を備えていることを特徴とした請求項１記載の３次元情報復元装置。
【請求項３】
前記運動条件入力部は、前記３次元回転行列Ｒの制約条件を、特定座標軸の回りの回転の合成、又は既知として、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内、異なる２つの合成
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内の１つ
・前記の形式の既知回転
・回転なし
の２１通りのいずれかを入力すると共に、
前記３次元平行移動ベクトルｈの制約条件を、特定座標軸に関する移動の合成、又は既知として、
・３次元空間移動
・座標平面上の移動
・前記の形式の既知移動
・座標軸上の既知移動
の１１通りのいずれかを入力する機能を備えていることを特徴とした請求項２記載の３次元情報復元装置。
【請求項４】
前記運動条件簡約部は、３次元回転行列Ｒの制約条件を、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転×Ｙ軸回転
・Ｘ軸回転
・前記の形式の既知回転
・回転なし
の７通りのいずれかに変換するための座標軸交換処理を行うＲ制約条件簡約部を備えていることを特徴とした請求項３記載の３次元情報復元装置。
【請求項５】
前記運動条件簡約部は、
Ｘ軸回転×Ｙ軸回転×Ｚ軸回転の未知回転、既知回転、回転無しの各Ｒの制約条件に対して、Ｘ，Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動の各ｈの制約条件に変換すると共に、
Ｘ軸回転の未知回転、既知回転の各Ｒの制約条件に対して、Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動、ＹＺ平面上の未知移動、既知移動、Ｙ軸上の既知移動の各ｈの制約条件に変換するｈ制約条件簡約部を備えていることを特徴とした請求項４記載の３次元情報復元装置。
【請求項６】
前記ｈ制約条件簡約部は、前記３次元平行移動ベクトルｈの制約条件に変換してから、座標軸の向きの交換処理により、座標軸上の既知移動であるｈの制約条件を座標軸上の正方向１の移動条件にする機能を備えていることを特徴とした請求項５記載の３次元情報復元装置。
【請求項７】
前記運動条件簡約部は、運動条件｛Ｒ，ｈ｝に対し、Ｕ、Ｖを既知の３次元回転行列とした場合、座標変換により運動条件｛ＵＲＶ，Ｕｈ｝に変換する座標変換部を備えていることを特徴とした請求項５記載の３次元情報復元装置。
【請求項８】
座標変換部は、３次元回転行列Ｒが既知ならば、単位行列をＩとした場合、運動条件｛Ｒ，ｈ｝を運動条件｛Ｉ，ｈ｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項９】
座標変換部は、３次元平行移動ベクトルｈが既知ならば、Ｗｈ＝Ｘ軸単位ベクトルとなる３次元回転行列Ｗを用いて、運動条件｛Ｒ，ｈ｝を運動条件｛Ｗｈ，Ｘ軸単位ベクトル｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１０】
座標変換部は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１１】
座標変換部は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＺ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１２】
座標変換部は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１３】
座標変換部は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＹ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１４】
座標変換部は、座標軸交換処理を行い、制約無し、若しくは既知の場合を除き、３次元回転行列Ｒ及び３次元平行移動ベクトルｈのそれぞれに対し、
Ｒ１：Ｘ軸回転×Ｙ軸回転×Ｚ軸回転、Ｒ２：Ｘ軸回転×Ｙ軸回転、Ｒ３：Ｘ軸回転、Ｒ４：回転無し、ｈ１：３次元空間移動、ｈ２：ＸＹ平面移動、ｈ３：ＹＺ平面移動、ｈ４：ＺＸ平面移動、ｈ５：ＸＹ平面移動（既知）、ｈ６：Ｘ軸移動（既知）、ｈ７：Ｙ軸移動（既知）とし、前記３次元回転行列Ｒと３次元平行移動ベクトルｈからなる運動条件を｛Ｒ，ｈ｝とした場合、
｛Ｒ，ｈ｝＝｛Ｒ１，ｈ２｝、｛Ｒ１，ｈ６｝、｛Ｒ２，ｈ１｝、｛Ｒ２，ｈ２｝、｛Ｒ２，ｈ３｝、｛Ｒ２，ｈ４｝、｛Ｒ２，ｈ５｝、｛Ｒ２，ｈ６｝、｛Ｒ２，ｈ７｝、｛Ｒ３，ｈ１｝、｛Ｒ３，ｈ２｝、｛Ｒ３，ｈ３｝、｛Ｒ３，ｈ５｝、｛Ｒ３，ｈ６｝、｛Ｒ３，ｈ７｝、｛Ｒ４，ｈ１｝、｛Ｒ４，ｈ２｝の１７個の運動条件のいずれかに変換する機能を備えていることを特徴とした請求項７記載の３次元情報復元装置。
【請求項１５】
前記運動条件｛Ｒ１，ｈ２｝が入力された場合、前記距離計算部は、３次元ベクトルの第１、第２成分に関する内積を（，）12で表した場合、式
【数５】
0003729916.tif 000152
（ｍ，ｍ′：単位ベクトルに正規化したベクトル）により、３次元空間におけるカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項１６】
前記運動条件｛Ｒ１，ｈ６｝が入力された場合、前記基本行列計算部は、
【数６】
0003729916.tif 000153
への展開式を
【数７】
0003729916.tif 000154
として計算し、
【数８】
0003729916.tif 000155
の計算式として
【数９】
0003729916.tif 000156
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、
前記回転計算部は、３次元回転行列Ｒの計算を行う際、基本行列Ｇが求まると３次元回転行列Ｒの第２、第３行も同時に求まることを利用し、Ｒの第１行は、式ｒ1i＝（−１）1+i ｜Ｒ1i｜（Ｒ1i：行列Ｒから第１行と第ｉ行を除いた部分行列）により、Ｒの第２行、第３行を用いて計算処理を行い、
前記距離計算部は、式
【数１０】
0003729916.tif 000157
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項１７】
前記運動条件｛Ｒ２，ｈ１｝が入力された場合、前記距離計算部はカメラと対応点との距離ｒ、ｒ′を式
【数１１】
0003729916.tif 000158
に、ｒ12＝０を固定代入してカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項１８】
前記運動条件｛Ｒ２，ｈ２｝が入力された場合、前記距離計算部は３次元ベクトルの第１、第２成分に関する内積を（，）12  で表し、式
【数１２】
0003729916.tif 000159
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項１９】
前記運動条件｛Ｒ２，ｈ３｝が入力された場合、基本行列計算部は、
【数１３】
0003729916.tif 000160
への展開式を
【数１４】
0003729916.tif 000161
として計算し、
【数１５】
0003729916.tif 000162
の計算式として、
【数１６】
0003729916.tif 000163
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部、及び回転計算部は、式
【数１７】
0003729916.tif 000164
により３次元平行移動ベクトルｈ、及び３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、３次元ベクトルの第２、第３成分に関する内積を（，）23で表し、式
【数１８】
0003729916.tif 000165
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２０】
前記運動条件｛Ｒ２，ｈ４｝が入力された場合、前記距離計算部は３次元ベクトルの第１、第３成分に関する内積を（，）13  で表し、式
【数１９】
0003729916.tif 000166
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２１】
前記運動条件｛Ｒ２，ｈ５｝が入力された場合、基本行列計算部は、
【数２０】
0003729916.tif 000167
への展開式を
【数２１】
0003729916.tif 000168
として計算し、
【数２２】
0003729916.tif 000169
の計算式として
【数２３】
0003729916.tif 000170
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、回転計算部は、式
【数２４】
0003729916.tif 000171
により３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、３次元ベクトルの第１、第２成分に関する内積を（，）12で表し、式
【数２５】
0003729916.tif 000172
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２２】
前記運動条件｛Ｒ２，ｈ６｝が入力された場合、基本行列計算部は、
【数２６】
0003729916.tif 000173
への展開式を
【数２７】
0003729916.tif 000174
として計算し、
【数２８】
0003729916.tif 000175
の計算式として
【数２９】
0003729916.tif 000176
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、
前記回転計算部は、３次元回転行列Ｒの計算を行う際、基本行列Ｇが求まると３次元回転行列Ｒの第２、第３行も同時に求まることを利用し、Ｒの第１行は、式ｒ1i＝（−１）1+i ｜Ｒ1i｜（Ｒ1i：行列Ｒから第１行と第ｉ行を除いた部分行列）により、Ｒの第２行、第３行を用いて３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、式
【数３０】
0003729916.tif 000177
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２３】
前記運動条件｛Ｒ２，ｈ７｝が入力された場合、基本行列計算部は、
【数３１】
0003729916.tif 000178
への展開式を
【数３２】
0003729916.tif 000179
として計算し、
【数３３】
0003729916.tif 000180
の計算式として
【数３４】
0003729916.tif 000181
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、
前記回転計算部は、３次元回転行列Ｒの計算を行う際、基本行列Ｇが求まると３次元回転行列Ｒの第１、第３行も同時に求まることを利用し、Ｒの第２行は、式ｒ2i＝（−１）2+i ｜Ｒ2i｜（Ｒ2i：行列Ｒから第２行と第ｉ行を除いた部分行列）により、Ｒの第２行、第３行を用いて３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、式
【数３５】
0003729916.tif 000182
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２４】
前記運動条件｛Ｒ３，ｈ１｝が入力された場合、基本行列計算部は、
【数３６】
0003729916.tif 000183
への展開式を
【数３７】
0003729916.tif 000184
として計算し、
【数３８】
0003729916.tif 000185
の計算式として
【数３９】
0003729916.tif 000186
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部、及び回転計算部は、式
【数４０】
0003729916.tif 000187
により３次元平行移動ベクトルｈ、及び３次元回転行列Ｒの計算処理を行い、
前記回転計算部は、式
【数４１】
0003729916.tif 000188
にＲ＝Ｒ３を代入して、カメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２５】
前記運動条件｛Ｒ３，ｈ２｝が入力された場合、基本行列計算部は、
【数４２】
0003729916.tif 000189
への展開式を
【数４３】
0003729916.tif 000190
として計算し、
【数４４】
0003729916.tif 000191
の計算式として
【数４５】
0003729916.tif 000192
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部、及び回転計算部は、式
【数４６】
0003729916.tif 000193
により３次元平行移動ベクトルｈ、及び３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、３次元ベクトルの第１、第２成分に関する内積を（，）12で表し、式
【数４７】
0003729916.tif 000194
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２６】
前記運動条件｛Ｒ３，ｈ３｝が入力された場合、基本行列計算部は、
【数４８】
0003729916.tif 000195
への展開式を
【数４９】
0003729916.tif 000196
として計算し、
【数５０】
0003729916.tif 000197
の計算式として
【数５１】
0003729916.tif 000198
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、基本行列Ｇが求まると、ｈ2 ＝−ｇ31、ｈ3 ＝ｇ21も同時に求まることを利用し、これにより３次元平行移動ベクトルｈを求める計算処理を行い、
前記回転計算部は、式
【数５２】
0003729916.tif 000199
により、３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、３次元ベクトルの第２、第３成分に関する内積を（，）23で表し、式
【数５３】
0003729916.tif 000200
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２７】
前記運動条件｛Ｒ３，ｈ５｝が入力された場合、基本行列計算部は、
【数５４】
0003729916.tif 000201
への展開式を
【数５５】
0003729916.tif 000202
として計算し、
【数５６】
0003729916.tif 000203
の計算式として
【数５７】
0003729916.tif 000204
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、既知の３次元平行移動ベクトルｈを使用し、
前記回転計算部は、式ｒ22＝ｇ32、ｒ23＝ｇ33／ｈ1 を用いて３次元回転行列Ｒの計算処理を行い、
前記距離計算部は、３次元ベクトルの第１、第２成分に関する内積を（，）12で表し、式
【数５８】
0003729916.tif 000205
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２８】
前記運動条件｛Ｒ３，ｈ６｝が入力された場合、基本行列計算部は、
【数５９】
0003729916.tif 000206
への展開式を
【数６０】
0003729916.tif 000207
として計算し、
【数６１】
0003729916.tif 000208
の計算式として
【数６２】
0003729916.tif 000209
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、
前記回転計算部は、式ｒ22＝ｇ32、ｒ23＝ｇ33を用いて前記基本行列Ｇと同時に求まる３次元回転行列Ｒ＝Ｒ３を用い、
前記距離計算部は、式
【数６３】
0003729916.tif 000210
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項２９】
前記運動条件｛Ｒ３，ｈ７｝が入力された場合、基本行列計算部は、
【数６４】
0003729916.tif 000211
への展開式を
【数６５】
0003729916.tif 000212
として計算し、
【数６６】
0003729916.tif 000213
の計算式として
【数６７】
0003729916.tif 000214
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、３次元平行移動ベクトルｈを既知として処理し、
前記回転計算部は、式ｒ22＝ｇ13、ｒ23＝−ｇ12を用いて前記基本行列Ｇと同時に求まる３次元回転行列Ｒ＝Ｒ３を用い、
前記距離計算部は、式
【数６８】
0003729916.tif 000215
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項３０】
前記運動条件｛Ｒ４，ｈ１｝が入力された場合、基本行列計算部は、
【数６９】
0003729916.tif 000216
への展開式を
【数７０】
0003729916.tif 000217
として計算し、
【数７１】
0003729916.tif 000218
の計算式として
【数７２】
0003729916.tif 000219
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、式ｈ1 ＝−ｇ23、ｈ2 ＝ｇ13、ｈ3 ＝−ｇ12を使用して３次元平行移動ベクトルｈを求める計算処理を行い、
前記回転計算部は、３次元回転行列Ｒを既知として処理し、
前記距離計算部は、Ｒ＝Ｉとして、式
【数７３】
0003729916.tif 000220
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【請求項３１】
前記運動条件｛Ｒ４，ｈ２｝が入力された場合、基本行列計算部は、
【数７４】
0003729916.tif 000221
への展開式を
【数７５】
0003729916.tif 000222
として計算し、
【数７６】
0003729916.tif 000223
の計算式として
【数７７】
0003729916.tif 000224
とすることで基本行列Ｇの計算処理を行い、
前記平行移動計算部は、式ｈ1 ＝−ｇ23、ｈ2 ＝ｇ13を使用して３次元平行移動ベクトルｈを求める計算処理を行い、
前記回転計算部は、３次元回転行列Ｒを既知として処理し、
前記距離計算部は、３次元ベクトルの第１、第２成分に関する内積を（，）12で表し、式
【数７８】
0003729916.tif 000225
によりカメラと対応点との距離ｒ、ｒ′の計算処理を行う機能を備えていることを特徴とした請求項１４記載の３次元情報復元装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、作業用ロボット、ＦＡ装置、監視装置などの自動制御装置、或いはＣＧデータ作成装置等に利用可能であり、２次元複数画像からの３次元形状、及び複数画像間のＴＶカメラの運動の復元等が可能な３次元情報復元装置に関する。また、本願発明の３次元情報復元装置は、前記のように、画像を入力とする自動制御装置に使用されるが、文書画像における３次元画像の取得にも有用である。
【０００２】
３次元情報の復元には、複数画像上の対応点の位置情報を用いているが、安定に抽出できる画像上の対応点が一般に少ないため、少ない対応点で３次元情報の復元ができることが望まれている。このため、少ない対応点で２次元情報から３次元情報を復元可能な３次元情報復元装置の開発が要望されていた。
【０００３】
【従来の技術】
以下、従来例について説明する。
§１：従来の３次元復元アルゴリズムの説明
従来、２次元複数画像情報から３次元形状及び運動の復元を行う３次元情報復元装置が知られていた。この３次元情報復元装置では、例えば、ＴＶカメラで３次元剛体を捉えた２画像を入力し、その２画像間の８個の対応点情報により、３次元情報を復元していた。以下、前記３次元復元のアルゴリズムの要点を説明する。なお、詳細には解説書である「金谷健一著、“画像理解−３次元認識の数理”、ｐｐ．９８〜ｐｐ．１０２、森北出版株式会社、１９９０」を参照されたい。
【０００４】
前記３次元復元のアルゴリズムの要点は次の通りである。今、ＴＶカメラの運動パラメータ（運動条件）を｛Ｒ，ｈ｝とする。この場合、Ｒは３次元回転行列で、ｈは３次元平行移動ベクトル（平行移動成分）である。ＴＶ画像における特徴点をＮベクトルで表す、Ｎベクトルｍ、距離ｒの点がＮベクトルｍ′、距離ｒ′の点に移動したとすると、次の方程式が成立する（単位ベクトルに正規化した座標の組をＮベクトルと呼ぶ）。
【０００５】
ｒｍ＝ｒ′Ｒｍ′＋ｈ
（ｍ，Ｇｍ′）＝０
Ｇ＝ｈ×Ｒ
前記式において、Ｇを基本行列と呼ぶ。定数倍だけの自由度があるｈを｜ｈ｜＝１と正規化すると、次の式と等価である。
【０００６】
｜Ｇ｜＝√２
｛Ｒ，ｈ｝とｒ、ｒ′を次の▲１▼〜▲４▼の手順で求める。
▲１▼：８個の対応点をｍa 、ｍa ′（ａ＝１，２，３，・・・８）とする。Ｇの要素に関する次の８連立方程式からＧを求める。
【０００７】
（ｍa ，Ｇｍa ′）＝０  （ａ＝１，２，３，・・・８）・・・式２−１
▲２▼：Ｇ＝（ｇ1 ，ｇ2 ，ｇ3 ）とおき、次の式によりｈを求める。
ｈ＝±Ｎ［ｇ2 ×ｇ3 ］＝±Ｎ［ｇ2 ×ｇ1 ］＝±Ｎ［ｇ1 ×ｇ2 ］・・・式２−２
▲３▼：Ｒ＝（ｒ1 ｒ2 ｒ3 ）を次の式により求める。
【０００８】
ｒ1 ＝ｇ1 ×ｈ＋ｇ2 ×ｇ3 
ｒ2 ＝ｇ2 ×ｈ＋ｇ3 ×ｇ1 
ｒ3 ＝ｇ3 ×ｈ＋ｇ1 ×ｇ2 ・・・式２−３
▲４▼：距離ｒ，ｒ′を次の式により求める。
【０００９】
ｒ＝｛（ｈ，ｍ）−（ｍ，Ｒｍ′）（ｈ，Ｒｍ′）｝／｛１−（ｍ，Ｒｍ′）2 ｝
ｒ′＝｛（ｍ，Ｒｍ′）（ｈ，ｍ）−（ｍ，Ｒｍ′）｝／｛１−（ｍ，Ｒｍ′）2 ｝・・・式２−４
§２：従来例の３次元情報復元装置の説明・・・図６参照
図６は従来例の３次元情報復元装置の構成図である。図示のように従来の３次元情報復元装置は、画像入力部１、対応点検出部２、基本行列計算部３、平行移動計算部４、回転計算部５、距離計算部６等で構成されている。
【００１０】
前記構成の３次元情報復元装置において、画像入力部１は、ＴＶカメラで３次元剛体を捉えた２画像を入力し、対応点検出部２は、画像上の８組の対応点を検出する。この場合対応点の検出は、画像処理手段により自動抽出することでも可能であり、また、オペレータが画像上の位置を指示することでも可能である。そして検出した対応点は、Ｎベクトルに変換する。
【００１１】
次に、基本行列計算部３は、ＴＶカメラの運動パラメータ（運動条件）から合成される基本行列Ｇを計算する。基本行列Ｇは、前記で示した８個の連立方程式（式２−２）から比を求めた後に、制約式｜Ｇ｜＝√２により各成分値を確定する。
【００１２】
そして、平行移動計算部４は、前記式２−２のいずれかの等式により、３次元平行移動ベクトルｈを計算する。回転計算部５は、前記式２−３により３次元回転行列Ｒを計算する。距離計算部６は、前記式２−４により対応点毎にＴＶカメラと対応点との距離ｒ、ｒ′を計算する。
【００１３】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
すなわち、８個の対応点を安定に抽出できる画像は少なく、前記従来装置における３次元情報復元処理が適用できる画像が限られてしまっていた。
【００１４】
本発明は、このような従来の課題を解決し、８個より少ない対応点により、３次元情報の復元ができるようにして、適用可能な画像の範囲を拡大することを目的とする。
【００１５】
【課題を解決するための手段】
図１は本発明の原理説明図である。本願発明は、カメラの運動は完全に自由ではなく、運動条件の制約があることが通常であることに着目し、運動条件を利用して８個未満の対応点で３次元復元できるようにしたものであり、次のように構成した。
【００１６】
(1) ：カメラで３次元剛体を捉えた２画像を入力する画像入力部１と、前記２画像間の対応点を検出する対応点検出部２と、前記２画像間のカメラの３次元回転行列Ｒ、及び３次元平行移動ベクトルｈから式Ｇ＝Ｒ×ｈで定義される基本行列Ｇを計算する基本行列計算部３と、３次元平行移動ベクトルｈを計算する平行移動計算部４、及び３次元回転行列Ｒを計算する回転計算部５からなる平行移動・回転計算部２７と、３次元空間におけるカメラと対応点との距離ｒ、ｒ′を計算する距離計算部６を備え、入力した２次元画像情報から３次元情報を復元する３次元情報復元装置において、
カメラの運動条件を入力する運動条件設定部１０を備え、前記対応点検出部２は、前記運動条件設定部１０が入力した運動条件の元で、基本行列Ｇの９個の要素
【００１７】
【数７９】
0003729916.tif 000002
【００１８】
を線型展開する最小ｐ個の元
【００１９】
【数８０】
0003729916.tif 000003
【００２０】
を定めて、ｐ−１個の対応点の２画像上の２次元位置を検出し、
前記基本行列計算部３は、前記最小ｐ個の元
【００２１】
【数８１】
0003729916.tif 000004
【００２２】
に関する連立方程式により
【００２３】
【数８２】
0003729916.tif 000005
【００２４】
を計算し、基本行列Ｇを求める計算処理を行う機能を備えている。
(2) ：前記(1) の３次元情報復元装置において、運動条件設定部１０は、カメラの運動条件として、前記３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件を入力する運動条件入力部１５と、運動条件入力部１５が入力した３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件から、前記Ｒとｈの制約条件としての運動条件を簡約化する運動条件簡約部１６を備えている。
【００２５】
(3) ：前記(2) の３次元情報復元装置において、運動条件入力部１５は、前記３次元回転行列Ｒの制約条件を、特定座標軸の回りの回転の合成、又は既知として、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内、異なる２つの合成
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内の１つ
・前記の形式の既知回転
・回転なし
の２１通りのいずれかを入力すると共に、
前記３次元平行移動ベクトルｈの制約条件を、特定座標軸に関する移動の合成、又は既知として、
・３次元空間移動
・座標平面上の移動
・前記の形式の既知移動
・座標軸上の既知移動
の１１通りのいずれかを入力する機能を備えている。
【００２６】
(4) ：前記(3) の３次元情報復元装置において、運動条件簡約部１６は、３次元回転行列Ｒの制約条件を、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転×Ｙ軸回転
・Ｘ軸回転
・前記の形式の既知回転
・回転なし
の７通りのいずれかに変換するための座標軸交換処理を行うＲ制約条件簡約部１７を備えている。
【００２７】
(5) ：前記(4) の３次元情報復元装置において、運動条件簡約部１６は、Ｘ軸回転×Ｙ軸回転×Ｚ軸回転の未知回転、既知回転、回転無しの各Ｒの制約条件に対して、Ｘ，Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動の各ｈの制約条件に変換すると共に、
Ｘ軸回転の未知回転、既知回転の各Ｒの制約条件に対して、Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動、ＹＺ平面上の未知移動、既知移動、Ｙ軸上の既知移動の各ｈの制約条件に変換するｈ制約条件簡約部１８を備えている。
【００２８】
(6) ：前記(5) の３次元情報復元装置において、ｈ制約条件簡約部１８は、前記３次元平行移動ベクトルｈの制約条件に変換してから、座標軸の向きの交換処理により、座標軸上の既知移動であるｈの制約条件を座標軸上の正方向１の移動条件にする機能を備えている。
【００２９】
(7) ：前記(5) の３次元情報復元装置において、運動条件簡約部１６は、運動条件｛Ｒ，ｈ｝に対し、Ｕ、Ｖを既知の３次元回転行列とした場合、座標変換により運動条件｛ＵＲＶ，Ｕｈ｝に変換する座標変換部１９を備えている。
【００３０】
(8) ：前記(7) の３次元情報復元装置において、座標変換部１９は、単位行列をＩとした場合、３次元回転行列Ｒが既知ならば、運動条件｛Ｒ，ｈ｝を運動条件｛Ｉ，ｈ｝に変換する機能を備えている。
【００３１】
(9) ：前記(7) の３次元情報復元装置において、座標変換部１９は、３次元平行移動ベクトルｈが既知ならば、Ｗｈ＝Ｘ軸単位ベクトルとなる３次元回転行列Ｗを用いて、運動条件｛Ｒ，ｈ｝を運動条件｛Ｗｈ，Ｘ軸単位ベクトル｝に変換する機能を備えている。
【００３２】
(10)：前記(7) の３次元情報復元装置において、座標変換部１９は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えている。
【００３３】
(11)：前記(7) の３次元情報復元装置において、座標変換部１９は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＺ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えている。
【００３４】
(12)：前記(7) の３次元情報復元装置において、座標変換部１９は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えている。
【００３５】
(13)：前記(7) の３次元情報復元装置において、座標変換部１９は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＹ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する機能を備えている。
【００３６】
(14)：前記(7) の３次元情報復元装置において、座標変換部１９は、座標軸交換処理を行い、制約無し、若しくは既知の場合を除き、３次元回転行列Ｒ及び３次元平行移動ベクトルｈのそれぞれに対し、
Ｒ１：Ｘ軸回転×Ｙ軸回転×Ｚ軸回転、Ｒ２：Ｘ軸回転×Ｙ軸回転、Ｒ３：Ｘ軸回転、Ｒ４：回転無し、ｈ１：３次元空間移動、ｈ２：ＸＹ平面移動、ｈ３：ＹＺ平面移動、ｈ４：ＺＸ平面移動、ｈ５：ＸＹ平面移動（既知）、ｈ６：Ｘ軸移動（既知）、ｈ７：Ｙ軸移動（既知）とし、前記３次元回転行列Ｒと３次元平行移動ベクトルｈからなる運動条件を｛Ｒ，ｈ｝とした場合、
｛Ｒ，ｈ｝＝｛Ｒ１，ｈ２｝、｛Ｒ１，ｈ６｝、｛Ｒ２，ｈ１｝、｛Ｒ２，ｈ２｝、｛Ｒ２，ｈ３｝、｛Ｒ２，ｈ４｝、｛Ｒ２，ｈ５｝、｛Ｒ２，ｈ６｝、｛Ｒ２，ｈ７｝、｛Ｒ３，ｈ１｝、｛Ｒ３，ｈ２｝、｛Ｒ３，ｈ３｝、｛Ｒ３，ｈ５｝、｛Ｒ３，ｈ６｝、｛Ｒ３，ｈ７｝、｛Ｒ４，ｈ１｝、｛Ｒ４，ｈ２｝の１７個の運動条件のいずれかに変換する機能を備えている。
【００３７】
（作用）
前記構成に基づく本発明の作用を、図１に基づいて説明する。
(a) ：前記(1) の作用
画像入力部１はカメラで３次元剛体を捉えた２画像を入力し、対応点検出部２は前記２画像間の対応点を検出する処理を行う。次に基本行列計算部３は、前記２画像間のカメラの３次元回転行列Ｒ、及び３次元平行移動ベクトルｈから式Ｇ＝Ｒ×ｈで定義される基本行列Ｇを計算する。
【００３８】
その後、平行移動・回転計算部２７では、平行移動計算部４が３次元平行移動ベクトルｈを計算し、回転計算部５が３次元回転行列Ｒを計算する。更に、距離計算部６では、３次元空間におけるカメラと対応点との距離ｒ、ｒ′を計算する。
【００３９】
この場合、運動条件設定部１０では、カメラの運動条件を入力し前記各部へ出力する。そして、対応点検出部２では、前記入力された運動条件の元で、基本行列Ｇの９個の要素
【００４０】
【数８３】
0003729916.tif 000006
【００４１】
を線型展開する最小ｐ個の元
【００４２】
【数８４】
0003729916.tif 000007
【００４３】
を定めて、ｐ−１個の対応点の２画像上の２次元位置を検出し、基本行列計算部３では、前記最小ｐ個の元
【００４４】
【数８５】
0003729916.tif 000008
【００４５】
に関する連立方程式により
【００４６】
【数８６】
0003729916.tif 000009
【００４７】
を計算し、基本行列Ｇを求める計算処理を行う。
(b) ：前記(2) の作用
前記運動条件設定部１０では、運動条件入力部１５により、カメラの運動条件として、前記３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件を入力する。そして、運動条件簡約部１６は、前記運動条件入力部１５が入力した３次元回転行列Ｒの制約条件、及び３次元平行移動ベクトルｈの制約条件から、前記Ｒとｈの制約条件としての運動条件を簡約化する。
【００４８】
(c) ：前記(3) の作用
前記運動条件入力部１５は、前記３次元回転行列Ｒの制約条件を、特定座標軸の回りの回転の合成、又は既知として、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内、異なる２つの合成
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内の１つ
・前記の形式の既知回転
・回転なし
の２１通りのいずれかを入力すると共に、
前記３次元平行移動ベクトルｈの制約条件を、特定座標軸に関する移動の合成、又は既知として、
・３次元空間移動
・座標平面上の移動
・前記の形式の既知移動
・座標軸上の既知移動
の１１通りのいずれかを入力する。
【００４９】
(d) ：前記(4) の作用
前記運動条件簡約部１６では、Ｒ制約条件簡約部１７により、３次元回転行列Ｒの制約条件を、
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転×Ｙ軸回転
・Ｘ軸回転
・前記の形式の既知回転
・回転なし
の７通りのいずれかに変換するための座標軸交換処理を行う。
【００５０】
(e) ：前記(5) の作用
前記運動条件簡約部１６では、ｈ制約条件簡約部１８により、Ｘ軸回転×Ｙ軸回転×Ｚ軸回転の未知回転、既知回転、回転無しの各Ｒの制約条件に対して、Ｘ，Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動の各ｈの制約条件に変換すると共に、
Ｘ軸回転の未知回転、既知回転の各Ｒの制約条件に対して、Ｙ，Ｚ軸の各座標軸交換を行い、３次元空間の未知移動、既知移動、ＸＹ平面上の未知移動、既知移動、Ｘ軸上の既知移動、ＹＺ平面上の未知移動、既知移動、Ｙ軸上の既知移動の各ｈの制約条件に変換する。
【００５１】
(f) ：前記(6) の作用
前記ｈ制約条件簡約部１８は、前記３次元平行移動ベクトルｈの制約条件に変換してから、座標軸の向きの交換処理により、座標軸上の既知移動であるｈの制約条件を座標軸上の正方向１の移動条件にする。
【００５２】
(g) ：前記(7) の作用
前記運動条件簡約部１６では、座標変換部１９により、運動条件｛Ｒ，ｈ｝に対し、Ｕ、Ｖを既知の３次元回転行列とした場合、座標変換により運動条件｛ＵＲＶ，Ｕｈ｝に変換する。
【００５３】
(h) ：前記(8) の作用
前記座標変換部１９は、３次元回転行列Ｒが既知ならば、単位行列をＩとした場合、運動条件｛Ｒ，ｈ｝を運動条件｛Ｉ，ｈ｝に変換する。
【００５４】
(i) ：前記(9) の作用
前記座標変換部１９は、３次元平行移動ベクトルｈが既知ならば、Ｗｈ＝Ｘ軸単位ベクトルとなる３次元回転行列Ｗを用いて、運動条件｛Ｒ，ｈ｝を運動条件｛Ｗｈ，Ｘ軸単位ベクトル｝に変換する。
【００５５】
(j) ：前記(10)の作用
前記座標変換部１９は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する。
【００５６】
(k) ：前記(11)の作用
前記座標変換部１９は、３次元回転行列ＲがＸ軸回転×Ｙ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＺ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する。
【００５７】
(l) ：前記(12)の作用
前記座標変換部１９は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知の３次元空間移動の場合は、ＵｈがＸＹ平面上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する。
【００５８】
(m) ：前記(13)の作用
前記座標変換部１９は、３次元回転行列ＲがＸ軸回転、かつ３次元平行移動ベクトルｈが既知のＹＺ平面上移動の場合は、ＵｈがＹ軸上移動になるＸ軸回転Ｕを選択し、運動条件｛Ｒ，ｈ｝を運動条件｛ＵＲ，Ｕｈ｝に変換する。
【００５９】
(n) ：前記(14)の作用
前記座標変換部１９は、座標軸交換処理を行い、制約無し、若しくは既知の場合を除き、３次元回転行列Ｒ及び３次元平行移動ベクトルｈのそれぞれに対し、Ｒ１：Ｘ軸回転×Ｙ軸回転×Ｚ軸回転、Ｒ２：Ｘ軸回転×Ｙ軸回転、Ｒ３：Ｘ軸回転、Ｒ４：回転無し、ｈ１：３次元空間移動、ｈ２：ＸＹ平面移動、ｈ３：ＹＺ平面移動、ｈ４：ＺＸ平面移動、ｈ５：ＸＹ平面移動（既知）、ｈ６：Ｘ軸移動（既知）、ｈ７：Ｙ軸移動（既知）とし、前記３次元回転行列Ｒと３次元平行移動ベクトルｈからなる運動条件を｛Ｒ，ｈ｝とした場合、
｛Ｒ，ｈ｝＝｛Ｒ１，ｈ２｝、｛Ｒ１，ｈ６｝、｛Ｒ２，ｈ１｝、｛Ｒ２，ｈ２｝、｛Ｒ２，ｈ３｝、｛Ｒ２，ｈ４｝、｛Ｒ２，ｈ５｝、｛Ｒ２，ｈ６｝、｛Ｒ２，ｈ７｝、｛Ｒ３，ｈ１｝、｛Ｒ３，ｈ２｝、｛Ｒ３，ｈ３｝、｛Ｒ３，ｈ５｝、｛Ｒ３，ｈ６｝、｛Ｒ３，ｈ７｝、｛Ｒ４，ｈ１｝、｛Ｒ４，ｈ２｝の１７個の運動条件のいずれかに変換する。
【００６０】
(o) ：以上のようにして、８個より少ない対応点により、３次元情報の復元が可能になる。その結果、適用可能な画像の範囲を拡大することができる。
【００６１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
§１：基本的な処理の説明
本実施の形態は、ＴＶカメラの運動は完全に自由ではなく、運動条件の制約があることが通常であることに着目し、運動条件を利用して８個未満の対応点で３次元復元できるようにしたものである。
【００６２】
運動条件を用いて基本行列Ｇを計算する一般原理は次の通りである。
前記式２−１を用いて、Ｇ＝（ｇij）、ｍij＝ｍaiｍaj′（ｉ，ｊ＝１，２，３）と記号を定めると、次の式３−０を得る（ｍai：ｍa ベクトルのｉ番目の要素）。
【００６３】
【数８７】
0003729916.tif 000010
【００６４】
基本行列Ｇの要素ｇij（ｉ，ｊ＝１，２，３）を
【００６５】
【数８８】
0003729916.tif 000011
【００６６】
とし、係数ｍij（ｉ，ｊ＝１，２，３）を
【００６７】
【数８９】
0003729916.tif 000012
【００６８】
と表すと次の式になる。
【００６９】
【数９０】
0003729916.tif 000013
【００７０】
一般の場合では、
【００７１】
【数９１】
0003729916.tif 000014
【００７２】
は線型独立であるため、対応点８個が必要である。しかし、運動条件がある場合は、
【００７３】
【数９２】
0003729916.tif 000015
【００７４】
は線型従属であることが多い。この時、
【００７５】
【数９３】
0003729916.tif 000016
【００７６】
を次の式３−２のように９個よりも少ない線型独立な
【００７７】
【数９４】
0003729916.tif 000017
【００７８】
に線型展開できる。
【００７９】
【数９５】
0003729916.tif 000018
【００８０】
【数９６】
0003729916.tif 000019
【００８１】
の内、１つは定数であり得る。前記式３−２を式３−１に代入して次の式を得る。
【００８２】
【数９７】
0003729916.tif 000020
【００８３】
前記式３−３において、
【００８４】
【数９８】
0003729916.tif 000021
【００８５】
は定数だから、９個の未知変数を持つ線型方程式である前記式３−１は、ｐ又はｐ−１個の未知変数を持つ線型方程式である前記式３−３に帰着できる。定数項を含む場合は、ｐ−１個の連立方程式を解いた後に、｜Ｇ｜＝√２と正規化する。従って、必要な対応点数はｐ−１個に減ずることになる。
【００８６】
前記処理▲１▼（従来例参照）は次のようになる。
【００８７】
【数９９】
0003729916.tif 000022
【００８８】
を計算してｐ−１個の線型連立方程式（前記式３−３）を立てて、
【００８９】
【数１００】
0003729916.tif 000023
【００９０】
を解く。式
【００９１】
【数１０１】
0003729916.tif 000024
【００９２】
を式３−２により求める。
【００９３】
【数１０２】
0003729916.tif 000025
【００９４】
はＲの要素であるｒij、ｈの要素であるｈi の単純な式で表現されることが多いため、前記処理▲２▼、▲３▼、▲４▼（従来例参照）において、ｈ、Ｒ、ｒ、ｒ′も、より直接的な計算で計算できる。
【００９５】
§２：３次元情報復元装置の説明・・・図２参照
図２は実施の形態の装置構成図である。図３は各部の構成図（その１）であり、Ａ図は運動条件設定部の全体構成図、Ｂ図は運動条件簡約部の構成図である。図４は各部の構成図（その２）であり、Ａ図は対応点検出部の構成図、Ｂ図は基本行列計算部の構成図である。以下、図２〜図４に基づいて実施の形態の装置構成について説明する。
【００９６】
図示のように３次元情報復元装置には、運動条件設定部１０と、画像入力部１と、対応点検出部２と、基本行列計算部３と、平行移動計算部４及び回転計算部５からなる平行移動・回転計算部２７と、距離計算部６と、データ格納部１１等が設けてある。
【００９７】
そして、前記運動条件設定部１０には、運動条件入力部１５と、運動条件簡約部１６が設けてあり、更に、前記運動条件簡約部１６には、Ｒ制約条件簡約部１７と、ｈ制約条件簡約部１８と、座標変換部１９が設けてある。また、対応点検出部２には、対応点数判定部２１と、対応点座標決定部２２が設けてあり、基本行列計算部３には、基本行列要素展開部２３と、展開変数計算部２４と、基本行列要素計算部２５が設けてある。
【００９８】
前記構成の３次元情報復元装置の動作は次の通りである。運動条件設定部１０は運動条件を入力して設定する処理を行う。画像入力部１はＴＶカメラで３次元剛体を捉えた２画像を入力し、対応点検出部２は、運動条件設定部１０で設定した運動条件に従い画像上の対応点を検出する。
【００９９】
基本行列計算部３は運動条件設定部１０で設定した運動条件に従い、ＴＶカメラの運動条件（運動パラメータ）から合成される基本行列Ｇを計算する。平行移動・回転計算部２７では、運動条件設定部１０で設定した運動条件に応じて、平行移動計算部４と回転計算部５の処理の順番を決定し、３次元平行移動ベクトルｈと３次元回転行列Ｒを計算する。そして、平行移動・回転計算部２７の計算結果、及び距離計算部６の計算結果はデータ格納部１１に格納する。
【０１００】
前記処理において、運動条件設定部１０では、運動条件入力部１５が運動条件の入力処理を行い、運動条件簡約部１６が前記入力した運動条件の簡約化処理を行う。この場合、運動条件簡約部１６では、Ｒ制約条件簡約部１７が３次元回転行列Ｒの簡約化処理を行い、ｈ制約条件簡約部１８が３次元平行移動ベクトルｈの簡約処理を行い、座標変換部１９が座標変換処理を行う。
【０１０１】
対応点検出部２では、運動条件設定部１０から対応点数判定部２１に運動条件が送られ、対応点数判定部２１は必要な対応点数ｐ−１を求めて、対応点数を対応点座標決定部２２へ送る。対応点座標決定部２２は、画像入力部１で入力した画像データから前記ｐ−１個の対応点の画像上の２次元座標を求めて基本行列計算部３へ送る（なお、従来の装置では、対応点検出部２は対応点数を８個と固定であった）。
【０１０２】
前記基本行列計算部３は、運動条件設定部１０から送られた運動条件（設定されせた運動条件）に応じて基本行列計算処理を行うが、この場合、基本行列要素展開部２３では、基本行列Ｇの要素
【０１０３】
【数１０３】
0003729916.tif 000026
【０１０４】
を最小の変数
【０１０５】
【数１０４】
0003729916.tif 000027
【０１０６】
に前記式３−２のように展開する。展開変数計算部２４は、対応点検出部２から送られた対応点座標を用いて線型方程式（式３−３）の係数
【０１０７】
【数１０５】
0003729916.tif 000028
【０１０８】
を計算して、ｐ−１個の線型連立方程式（式３−３）を解いて
【０１０９】
【数１０６】
0003729916.tif 000029
【０１１０】
を求める。基本行列要素計算部２５は、基本行列Ｇの要素
【０１１１】
【数１０７】
0003729916.tif 000030
【０１１２】
を式３−２により求める。
なお、具体的に制約条件が与えられた時、前記式３−２を満たす最小の
【０１１３】
【数１０８】
0003729916.tif 000031
【０１１４】
を求める一般的な方法は次の通りである。
【０１１５】
【数１０９】
0003729916.tif 000032
【０１１６】
を線型空間の要素と見なして、線型空間の理論を用いると、次の命題１、命題２を示せる。
命題１：前記式３−２を満たす
【０１１７】
【数１１０】
0003729916.tif 000033
【０１１８】
の線型独立変数である。この時、
【０１１９】
【数１１１】
0003729916.tif 000034
【０１２０】
の線型結合である（証明は省略する）。
命題２：前記式３−２において、９行ｐ列の定数行列Ａを、｛ａki｝（ｋ＝１，・・・９，ｉ＝１，・・・ｐ）と定義すると、
【０１２１】
【数１１２】
0003729916.tif 000035
【０１２２】
であるが、
【０１２３】
【数１１３】
0003729916.tif 000036
【０１２４】
の線型独立数はｐである（証明は省略する）。
前記命題１により、
【０１２５】
【数１１４】
0003729916.tif 000037
【０１２６】
の線型独立な元の個数に等しい。従って、
【０１２７】
【数１１５】
0003729916.tif 000038
【０１２８】
の線型独立な元の個数に等しい前記式３−２を満たす
【０１２９】
【数１１６】
0003729916.tif 000039
【０１３０】
を求めれば良い。
【０１３１】
【数１１７】
0003729916.tif 000040
【０１３２】
の線型独立な極大集合としてとることもできる。
【０１３３】
【数１１８】
0003729916.tif 000041
【０１３４】
の線型結合であるから、この範囲で探すことができる。
前記命題２から、
【０１３５】
【数１１９】
0003729916.tif 000042
【０１３６】
のランクがｐであることを示せば、
【０１３７】
【数１２０】
0003729916.tif 000043
【０１３８】
が最小個数であることが言える。
§３：３次元情報復元装置における基本的な計算処理の説明
前記装置における基本的な計算処理は次の通りである、この計算処理では、基本行列Ｇの要素の線型独立変数を減らせる制約条件に対して有効である。Ｇ＝ｈ×Ｒであるため、本計算処理が有効な制約条件は、剛体の運動に関するものである。剛体の運動に関する制約条件は無数にあるが、代表的な運動条件として、“座標系に従った運動条件”を扱う。以下、前記”座標系に従った運動条件”を考察し、１５３の制約条件を本質的に同等の１７の制約条件に帰着させる。
【０１３９】
前記“座標系に従った運動条件”を以下に定義する。この場合、３次元空間にＸＹＺ座標をとる。一般には、３次元回転行列Ｒは自由度３、３次元平行移動ベクトルｈは自由度２を持つが、Ｒとｈの自由度を次のように独立に制約したＴＶカメラの運動を“座標系に従った運動条件”と定義する。
【０１４０】
Ｒ：特定座標軸の回りの回転の合成、または既知
ｈ：特定座標軸に関する移動の合成、または既知
Ｒの制約条件は次の２１通りである。
【０１４１】
・Ｘ軸回転×Ｙ軸回転×Ｚ軸回転
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内、異なる２つの合成
・Ｘ軸回転、Ｙ軸回転、Ｚ軸回転の内の１つ
・前記の形式の既知回転
・回転なし
ｈの制約条件は次の１１通りである。
【０１４２】
・３次元空間移動
・座標平面上の移動
・前記の形式の既知移動
・座標軸上の既知移動
Ｇ＝ｈ×Ｒの“座標系に従った運動条件”は、Ｒとｈの制約条件の組み合わせ２３１通りから、制約無しの１通りと、Ｒとｈが共に既知である７７通りを除いた１５３通りである。運動条件の内、座標軸を入れ換えて一致する条件は本質的に同等である。“座標系に従った運動条件”から、座標軸交換により一致する運動条件は１つに絞る。
【０１４３】
“座標系に従った運動条件”は、Ｒとｈの制約条件の組み合わせであるが、Ｒの制約条件の方が複雑である。Ｒの２つの制約条件ＲｉとＲｊが同等の時、Ｒｉとｈの全ての制約条件の組み合わせと、Ｒｊとｈの全ての制約条件の組み合わせは同等である。そこで、先ず、Ｒの制約条件において、座標軸交換により一致する制約条件を１つに絞る。結果であるＲの制約条件は次の７通りである。
【０１４４】
・Ｘ軸座回転×Ｙ軸座回転×Ｚ軸座回転
・Ｘ軸回転×Ｙ軸回転
・Ｘ軸回転
・前記の形式の既知回転
・回転なし
次に、前記のＲの７個の制約条件と、ｈの全ての制約条件の組み合わせを考察して、互いに同等な制約条件を１つにまとめる。Ｒの制約条件Ｒｉが、或る座標軸野交換で一致する対称性を持っている時、ｈの制約条件ｈｊ、ｈｋがその座標軸の交換で一致するならば、制約条件（Ｒｉ，Ｒｊ）と（Ｒｉ，ｈｋ）はその座標軸の交換で一致するため同等である。Ｒの７個の制約条件の座標軸に関する対称性は次の表１の通りである。
【０１４５】
【表１】
0003729916.tif 000044
【０１４６】
前記表１の座標軸の交換でも一致しないｈの制約条件は次の表２の通りである。
【０１４７】
【表２】
0003729916.tif 000045
【０１４８】
座標軸を交換しても異なる制約条件は、Ｒの制約条件とその座標系に関する対称性（表１参照）に吸収されないｈの制約条件（表２参照）の組み合わせ５３通りから、制約無し１通りと既知の１８通りを除いた３４通りである。前記３４通りの制約条件の内、座標系を変換して一致する制約条件は同等であるから、１つに絞る。
【０１４９】
先ず、座標軸の方向を逆にして一致するｈの制約条件を１つに絞る。移動ベクトルｈは、｜ｈ｜＝１と制約されているため、１座標軸上の移動は±１の移動である。この２つのｈは座標軸の方向を逆にして一致するため、＋１の移動のみに絞る。制約条件が座標系の交換により一致する場合を次の命題３に示す。
【０１５０】
命題３：制約条件｛Ｒ，ｈ｝は、Ｕ、Ｖを既知の３次元回転行列とする時、座標変換により制約条件｛ＵＲＶ，Ｕｈ｝に一致する。特にＲが既知ならば、制約条件｛Ｒ，ｈ｝は制約条件｛Ｉ，ｈ｝と同等である。ｈが既知ならば、Ｗｈ＝Ｘ軸単位ベクトルとなる３次元回転行列Ｗを用いて、制約条件｛Ｒ，ｈ｝は、制約条件｛ＷＲ，Ｘ軸単位ベクトル｝と同等である（証明は省略する）。
【０１５１】
前記命題３を用いて、具体的な制約条件により、簡単かつ同等な制約条件を求める。ＲがＸ軸回転×Ｙ軸回転×Ｚ軸回転の場合は、ｈが既知ならばｈをＸ軸単位ベクトルに簡略化できる。ＲがＸ軸回転×Ｙ軸回転の場合はｈが既知の３次元空間移動、ＺＸ平面移動の場合は、Ｕを適当なＸ軸回転にすると、ｈをＸＹ平面上移動に簡略化できる。ｈが既知のＹＺ平面上移動、Ｚ軸上移動の場合は、Ｕを適当なＸ軸回転にすると、ｈをＹ軸上移動に簡略化できる。
【０１５２】
ＲがＸ軸回転の場合は、ｈが既知の３次元空間移動の場合は、Ｕを適当なＸ軸回転にするとｈをＸＹ平面上移動に簡略化できる。ｈが既知のＹＺ平面上移動の場合は、Ｕを適当なＸ軸回転にすると、ｈをＹ軸上移動に簡略化できる。Ｒが既知の場合は、ＲをＩに簡略化できる。更に必要ならば、座標軸を交換することにより、ｈの制約条件は、３次元空間移動若しくは、ＸＹ平面上の未知移動にまとめることができる。
【０１５３】
座標軸に従った運動条件１５３個は次の表３に示した１７個の運動条件のいずれかと同等であることが明らかになった。
【０１５４】
【表３】
0003729916.tif 000046
【０１５５】
§４：具体例による３次元復元処理の概要説明
以下、１７個の運動条件毎の３次元復元について説明する。前記基本的な計算処理を適用して、基本行列Ｇの成分を線型展開する最小個数の元を求めると、次の表４のようになる。ただし、Ｇのｉｊ成分をｇij、Ｒのｉｊ成分をｒij、ｈのｉ成分をｈi と表した。
【０１５６】
【表４】
0003729916.tif 000047
【０１５７】
一般の場合と運動条件｛Ｒ１，ｈ２｝、｛Ｒ２，ｈ１｝、｛Ｒ２，ｈ２｝、｛Ｒ２，ｈ４｝の場合は、Ｇの９個の成分は線型独立であるため、９個未満の元で線型展開できず、３次元復元のためには８対応点が必要である。
【０１５８】
前記表４に運動条件毎に３次元復元に必要な対応点も示した。必要対応点数はＧの成分を線型展開する最小個数の元から、１減じたものである。１７の運動条件の内、３条件、｛Ｒ１，ｈ２｝、｛Ｒ２，ｈ１｝、｛Ｒ２，ｈ２｝、｛Ｒ２，ｈ４｝を除いた１３条件で従来よりも少ない対応点で３次元復元できることが判明した。
【０１５９】
前記のように、元の１５３通りの運動条件は、「座標軸に従った運動条件」であるが、簡単化により最終的に１７個の運動条件について処理すれば良いことが判明した。以下、前記各運動条件の意味について説明する。
【０１６０】
(1) ：３次元回転行列Ｒ＝Ｒ１の場合
３次元回転行列Ｒ＝Ｒ１は次の式で表される。
【０１６１】
【数１２１】
0003729916.tif 000048
【０１６２】
(2) ：運動条件｛Ｒ１，ｈ２｝の場合
３次元平行移動ベクトルｈ＝ｈ２は次の式で表される。
【０１６３】
【数１２２】
0003729916.tif 000049
【０１６４】
これは、ＴＶカメラの動きの平行移動成分が既知の平面内に制約される場合である。既知平面上にＸＹ座標軸をとれば、この場合に当てはまる。
(3) ：運動条件｛Ｒ１，ｈ６｝の場合
３次元平行移動ベクトルｈ＝ｈ６は次の式で表される。
【０１６５】
【数１２３】
0003729916.tif 000050
【０１６６】
これは、ＴＶカメラの動きの平行移動成分が既知方向に制約される場合である。既知方向にＸ軸座標をとれば、この場合に当てはまる。
(4) ：３次元回転行列Ｒ＝Ｒ２の場合
３次元回転行列Ｒ＝Ｒ２は次の式で表される。
【０１６７】
【数１２４】
0003729916.tif 000051
【０１６８】
(5) ：運動条件｛Ｒ２，ｈ１｝の場合
３次元平行移動ベクトルｈ＝ｈ１は次の式で表される。
【０１６９】
【数１２５】
0003729916.tif 000052
【０１７０】
これは、ＴＶカメラの動きの回転成分が、２つの直交する既知の軸の回りの回転の合成である場合である。従って、２つの直交する軸を座標軸にとれば良い。この例としては、例えば、ＴＶカメラのパンとチルトの合成の場合であり、垂直方向にＸ軸、水平方向にＹ軸をとれば良い（回転：Ｘ軸、Ｙ軸の回りの回転の合成）。
【０１７１】
(6) ：運動条件｛Ｒ２，ｈ２｝の場合
３次元平行移動ベクトルｈ＝ｈ２は次の式で表される。
【０１７２】
【数１２６】
0003729916.tif 000053
【０１７３】
これは、ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成である場合であり、ＴＶカメラの平行移動はその２軸で張る平面内に制約される。２つの直交する軸を座標軸にとれば良い。例えば、回転成分はパンとチルトの合成である。
【０１７４】
平行移動は、縦と横方向で張る平面内に移動して、奥行き方向の変化がない場合である。この場合、垂直方向にＸ軸、水平方向にＹ軸をとれば良い。平行移動はＸＹ平面内で起こる。（回転：Ｘ軸、Ｙ軸の回りの回転の合成、移動：ＸＹ平面移動）
(7) ：運動条件｛Ｒ２，ｈ３｝の場合
３次元平行移動ベクトルｈ＝ｈ３は次の式で表される。
【０１７５】
【数１２７】
0003729916.tif 000054
【０１７６】
ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成である場合であり、ＴＶカメラの成功移動は２軸に直交する軸と２軸の内２番目の回転軸で張る平面内に制約される場合である。２つの直交する軸と２軸に直交する軸を座標軸にとれば良い。
【０１７７】
例えば、ＴＶカメラのパンとチルトの合成の場合であり、平行移動は水平平面内に移動する場合である。垂直方向にＸ軸、水平方向にＹ軸、奥行き方向にＺ軸をとれば良い。平行移動はＹＺ平面内である（回転：Ｘ軸、Ｙ軸の回りの合成、移動：ＹＺ平面移動）。
【０１７８】
(8) ：運動条件｛Ｒ２．ｈ４｝の場合
３次元平行移動ベクトルｈ＝ｈ４は次の式で表される。
【０１７９】
【数１２８】
0003729916.tif 000055
【０１８０】
ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成であり、ＴＶカメラの平行移動は２軸に直交する軸と、２軸の内１番目の回転軸で張る平面内に制約される場合である。平行移動は、奥行き方向を含めた垂直平面内に移動する場合である。垂直方向にＸ軸、水平方向にＹ軸、奥行き方向にＺ軸をとれば良い。平行移動はＺＸ平面内である（回転：Ｘ軸、Ｙ軸の回りの回転の合成、移動：ＺＸ平面移動）。
【０１８１】
(9) ：運動条件｛Ｒ２，ｈ５｝の場合
３次元平行移動ベクトルｈ＝ｈ５は次の式で表される。
【０１８２】
【数１２９】
0003729916.tif 000056
【０１８３】
ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成である場合であり、ＴＶカメラの平行移動はその２軸で張る平面上で既知の場合である。２つの直交する軸を座標軸にとれば良い。例えば、回転成分はＴＶカメラのパンとチルトの合成であり、平行移動は縦と横方向で張る平面内で既知である。垂直方向にＸ軸、水平方向にＹ軸をとれば良い。平行移動はＸＹ平面上で既知である（回転：Ｘ軸、Ｙ軸の回りの回転の合成、移動：ＸＹ平面上で既知）。
【０１８４】
(10)：運動条件｛Ｒ２，ｈ６｝の場合
３次元平行移動ベクトルｈ＝ｈ６は次の式で表される。
【０１８５】
【数１３０】
0003729916.tif 000057
【０１８６】
ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成である場合であり、ＴＶカメラの平行移動はその第１回転軸上にある場合である。２つの直交する軸を座標軸にとれば良い。例えば、回転成分はＴＶカメラのパンとチルトの合成であり、平行移動は垂直方向である。垂直方向にＸ軸、水平方向にＹ軸をとれば良い。平行移動はＸ軸上である（回転：Ｘ軸、Ｙ軸の回りの回転の合成、移動：Ｘ軸上の移動）。
【０１８７】
(11)：運動条件｛Ｒ２，ｈ７｝の場合
３次元平行移動ベクトルｈ＝ｈ７は次の式で表される。
【０１８８】
【数１３１】
0003729916.tif 000058
【０１８９】
ＴＶカメラの動きの回転成分が、２つの直交する軸の回りの回転の合成である場合であり、ＴＶカメラの平行移動はその第２回転軸上にある場合である。２つの直交する軸を座標軸にとれば良い。例えば、回転成分はＴＶカメラのパンとチルトの合成であり、平行移動は水平横方向である。垂直方向にＸ軸、水平横方向にＹ軸をとれば良い。平行移動はＹ軸上である（回転：Ｘ軸、Ｙ軸の回りの回転の合成、移動：Ｙ軸上の移動）。
【０１９０】
(12)：３次元回転行列Ｒ＝Ｒ３の場合
３次元回転行列Ｒ＝Ｒ３は次の式で表される。
【０１９１】
【数１３２】
0003729916.tif 000059
【０１９２】
(13)：運動条件｛Ｒ３，ｈ１｝の場合
３次元平行移動ベクトルｈ＝ｈ１は次の式で表される。
【０１９３】
【数１３３】
0003729916.tif 000060
【０１９４】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転の合成である場合であり、既知の軸をＸ軸にとれば良い。
(14)：運動条件｛Ｒ３，ｈ２｝の場合
３次元平行移動ベクトルｈ＝ｈ２は次の式で表される。
【０１９５】
【数１３４】
0003729916.tif 000061
【０１９６】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転の合成である場合であり、平行移動がその軸を含む平面上に限られる場合である。回転軸をＸ軸にとり、Ｙ軸を平面上にとれば良い。例えば、回転成分はパン、平行移動は縦横平面上を移動する場合である。垂直方向にＸ軸、水平横方向にＹ軸、奥行き方向にＺ軸をとれば良い。平行移動はＸＹ平面上である（回転：Ｘ軸の回りの回転、移動：ＸＹ軸上の移動）。
【０１９７】
(15)：運動条件｛Ｒ３，ｈ３｝の場合
３次元平行移動ベクトルｈ＝ｈ３は次の式で表される。
【０１９８】
【数１３５】
0003729916.tif 000062
【０１９９】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転であり、平行移動が回転軸と直交する平面上に限られる場合である。回転軸をＸ軸にとり、Ｙ軸とＺ軸を平面上にとるように原点を設定すれば良い。例えば、回転成分はパン、平行移動は水平平面上を移動する場合である。垂直方向にＸ軸、水平横方向にＹ軸、奥行き方向にＺ軸をとれば良い。平行移動はＹＺ平面上である（回転：Ｘ軸の回りの回転、移動：ＹＺ軸上の移動）。
【０２００】
(16)：運動条件｛Ｒ３，ｈ５｝の場合
３次元平行移動ベクトルｈ＝ｈ５は次の式で表される。
【０２０１】
【数１３６】
0003729916.tif 000063
【０２０２】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転であり、平行移動が回転軸を含む平面上の既知方向である場合である。回転軸をＸ軸にとり、平面上にＹ軸をとれば良い。
【０２０３】
(17)：運動条件｛Ｒ３，ｈ６｝の場合
３次元平行移動ベクトルｈ＝ｈ６は次の式で表される。
【０２０４】
【数１３７】
0003729916.tif 000064
【０２０５】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転であり、平行移動が回転軸方向である場合である。回転軸をＸ軸にとれば良い。
(18)：運動条件｛Ｒ３，ｈ７｝の場合
３次元平行移動ベクトルｈ＝ｈ７は次の式で表される。
【０２０６】
【数１３８】
0003729916.tif 000065
【０２０７】
ＴＶカメラの動きの回転成分が、１つの既知の軸の回りの回転であり、平行移動が回転軸と直交する方向である場合である。回転軸をＸ軸に、直交する方向をＹ軸にとれば良い。
【０２０８】
(19)：３次元回転行列Ｒ＝Ｒ４の場合
３次元回転行列Ｒ＝Ｒ４は次の式で表される。
【０２０９】
【数１３９】
0003729916.tif 000066
【０２１０】
(20)：運動条件｛Ｒ４，ｈ１｝の場合
３次元平行移動ベクトルｈ＝ｈ１は次の式で表される。
【０２１１】
【数１４０】
0003729916.tif 000067
【０２１２】
ＴＶカメラが回転せずに、平行移動する場合である。
(21)：運動条件｛Ｒ４，ｈ２｝の場合
３次元平行移動ベクトルｈ＝ｈ２は次の式で表される。
【０２１３】
【数１４１】
0003729916.tif 000068
【０２１４】
ＴＶカメラが回転せずに、既知平面上を平行移動する場合である。既知平面上にＸ軸とＹ軸をとれば良い。
§５：具体例による３次元復元処理の詳細な説明
以下、１７個の運動条件について、個別の３次元復元計算処理を説明する。具体的な項目は以下の１）〜４）である。
【０２１５】
１）：基本行列Ｇの計算式（基本行列計算部３による処理）
１．１）：
【０２１６】
【数１４２】
0003729916.tif 000069
【０２１７】
への展開式（基本行列要素展開部２３の処理）
前記式３−２を行列の形で表現した式６−１を次に示す
【０２１８】
【数１４３】
0003729916.tif 000070
【０２１９】
１．２）：
【０２２０】
【数１４４】
0003729916.tif 000071
【０２２１】
の計算式（展開変数計算部２４による処理）
線型方程式（式３−３）の係数
【０２２２】
【数１４５】
0003729916.tif 000072
【０２２３】
を、次の具体式に｛ａki｝を代入して求める。
【０２２４】
【数１４６】
0003729916.tif 000073
【０２２５】
２）：３次元平行移動ベクトルｈの計算式（平行移動計算部４による処理）
３）：３次元回転行列Ｒの計算式（回転計算部５による処理）
４）：ＴＶカメラと対応点との距離ｒ、ｒ′の計算式（距離計算部６による処理）
５．１：運動条件（｛Ｒ１，ｈ２｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
従来通り
２）ｈの計算式（平行移動計算部４による処理）
従来通り
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第２成分に関する内積（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）12であるから、下式のように計算を簡略化できる。
【０２２６】
【数１４７】
0003729916.tif 000074
【０２２７】
５．２  運動条件｛Ｒ１，ｈ６｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２２８】
【数１４８】
0003729916.tif 000075
【０２２９】
への展開式（基本行列要素展開部２３による処理）
【０２３０】
【数１４９】
0003729916.tif 000076
【０２３１】
なお、前記Ｉは単位行列である。
１．２）
【０２３２】
【数１５０】
0003729916.tif 000077
【０２３３】
の計算式（展開変数計算部２４による処理）
【０２３４】
【数１５１】
0003729916.tif 000078
【０２３５】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
基本行列Ｇが求まると３次元回転行列Ｒの第２、第３行も同時に求まる。Ｒの第１行は次式により、Ｒの第２、第３行を用いて求まる。
【０２３６】
ｒ1i＝（−１）1+i ｜Ｒ1i｜
Ｒ1iは行列Ｒから第１行と第ｉ行を除いた部分行列である。
４）ｒ、ｒ′の計算式（距離計算部６による処理）
【０２３７】
【数１５２】
0003729916.tif 000079
【０２３８】
５．３  運動条件｛Ｒ２，ｈ１｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
従来通り
２）ｈの計算式（平行移動計算部４による処理）
従来通り
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
次の従来式である式２−４にｒ12＝０を固定代入して簡略化する。
【０２３９】
【数１５３】
0003729916.tif 000080
【０２４０】
５．４  運動条件｛Ｒ２，ｈ２｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
従来通り
２）ｈの計算式（平行移動計算部４による処理）
従来通り
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第２成分に関する内積（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，ｍ′）＝（ｈ，Ｒｍ′）12であるから、下式のように計算を簡略化できる。
【０２４１】
【数１５４】
0003729916.tif 000081
【０２４２】
５．５  運動条件｛Ｒ２，ｈ３｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２４３】
【数１５５】
0003729916.tif 000082
【０２４４】
への展開式（基本行列計算部３による処理）
【０２４５】
【数１５６】
0003729916.tif 000083
【０２４６】
１．２）
【０２４７】
【数１５７】
0003729916.tif 000084
【０２４８】
の計算式（展開変数計算部２４による処理）
【０２４９】
【数１５８】
0003729916.tif 000085
【０２５０】
２）ｈの計算式（平行移動計算部４による処理）、及び３）Ｒの計算式（回転計算部５による処理）
【０２５１】
【数１５９】
0003729916.tif 000086
【０２５２】
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第２、第３成分に関する内積（，）23で表すと、（ｈ，ｍ）＝（ｈ，ｍ）23、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）23であるから、下式のように計算を簡略化できる。
【０２５３】
【数１６０】
0003729916.tif 000087
【０２５４】
５．６  運動条件｛Ｒ２，ｈ４｝の場合
１）基本行列Ｇの計算式（基本行列計算部３による処理）
従来通り
２）ｈの計算式（平行移動計算部４による処理）
従来通り
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第３成分に関する内積を（，）13で表すと、（ｈ，ｍ）＝（ｈ，ｍ）13、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）13であるから、下式のように計算を簡略化できる。
【０２５５】
【数１６１】
0003729916.tif 000088
【０２５６】
５．７  運動条件｛Ｒ２，ｈ５｝の場合
１）基本行列Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２５７】
【数１６２】
0003729916.tif 000089
【０２５８】
への展開式（基本行列要素展開部２３による処理）
【０２５９】
【数１６３】
0003729916.tif 000090
【０２６０】
１．２）
【０２６１】
【数１６４】
0003729916.tif 000091
【０２６２】
の計算式（展開変数計算部２４による処理）
【０２６３】
【数１６５】
0003729916.tif 000092
【０２６４】
２）ｈの計算式（平行移動計算部４による処理）
既知である。
３）Ｒの計算式（回転計算部５による処理）
【０２６５】
【数１６６】
0003729916.tif 000093
【０２６６】
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第２成分に関する内積を（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）12であるから、下式のように計算を簡略化できる。
【０２６７】
【数１６７】
0003729916.tif 000094
【０２６８】
５．８  運動条件｛Ｒ２，ｈ６｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２６９】
【数１６８】
0003729916.tif 000095
【０２７０】
への展開式（基本行列要素展開部２３による処理）
【０２７１】
【数１６９】
0003729916.tif 000096
【０２７２】
１．２）
【０２７３】
【数１７０】
0003729916.tif 000097
【０２７４】
の計算式（展開変数計算部２４による処理）
【０２７５】
【数１７１】
0003729916.tif 000098
【０２７６】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
基本行列Ｇが求まると、３次元回転行列Ｒの第２、第３行も同時に求まる。Ｒの第１行は次式により、Ｒの第２行、第３行を用いて求まる。
【０２７７】
ｒ1i＝（−１）1+i ｜Ｒ1i｜
なお、Ｒ1iは行列Ｒから第１行と第ｉ行を除いた部分行列である。
４）ｒ、ｒ′の計算式（距離計算部による処理）
【０２７８】
【数１７２】
0003729916.tif 000099
【０２７９】
５．９  運動条件｛Ｒ２，ｈ７｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２８０】
【数１７３】
0003729916.tif 000100
【０２８１】
への展開式（基本行列要素展開部２３による処理）
【０２８２】
【数１７４】
0003729916.tif 000101
【０２８３】
１．２）
【０２８４】
【数１７５】
0003729916.tif 000102
【０２８５】
の計算式（展開変数計算部２４による処理）
【０２８６】
【数１７６】
0003729916.tif 000103
【０２８７】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
Ｇが求まると、Ｒの第１行、第３行も同時に求まる。Ｒの第２行は次式により、Ｒの第１行、第３行を用いて求まる。
【０２８８】
ｒ2i＝（−１）2+i ｜Ｒ2i｜
Ｒ2iは行列Ｒから第１行と第ｉ行を除いた部分行列である。
４）ｒ、ｒ′の計算式（距離計算部６による処理）
（ｈ，ｍ）＝ｍ2 、（ｈ，Ｒｍ′）＝（Ｒｍ′）2 であるから、下式のように計算を簡略化できる。
【０２８９】
【数１７７】
0003729916.tif 000104
【０２９０】
５．１０  運動条件｛Ｒ３，ｈ１｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０２９１】
【数１７８】
0003729916.tif 000105
【０２９２】
への展開式（基本行列要素展開部２３による処理）
【０２９３】
【数１７９】
0003729916.tif 000106
【０２９４】
１．２）
【０２９５】
【数１８０】
0003729916.tif 000107
【０２９６】
の計算式（展開変数計算部２４による処理）
【０２９７】
【数１８１】
0003729916.tif 000108
【０２９８】
２）ｈの計算式（平行移動計算部４による処理）、及び３）Ｒの計算式（回転計算部５による処理）
【０２９９】
【数１８２】
0003729916.tif 000109
【０３００】
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
次の式２−４に、Ｒ＝Ｒ３を代入して簡略化する。
【０３０１】
【数１８３】
0003729916.tif 000110
【０３０２】
５．１１  運動条件｛Ｒ３，ｈ２｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３０３】
【数１８４】
0003729916.tif 000111
【０３０４】
への展開式（基本行列要素展開部２３による処理）
【０３０５】
【数１８５】
0003729916.tif 000112
【０３０６】
１．２）
【０３０７】
【数１８６】
0003729916.tif 000113
【０３０８】
の計算式（展開変数計算部２４による処理）
【０３０９】
【数１８７】
0003729916.tif 000114
【０３１０】
２）ｈの計算式（平行移動計算部４による処理）、及び３）Ｒの計算式（回転計算部５による処理）
【０３１１】
【数１８８】
0003729916.tif 000115
【０３１２】
３）Ｒの計算式（回転計算部５による処理）
従来通り
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第２成分に関する内積を（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）12であるから、下式のように計算を簡略化できる。
【０３１３】
【数１８９】
0003729916.tif 000116
【０３１４】
５．１２  運動条件｛Ｒ３，ｈ３｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３１５】
【数１９０】
0003729916.tif 000117
【０３１６】
への展開式（基本行列要素展開部２３による処理）
【０３１７】
【数１９１】
0003729916.tif 000118
【０３１８】
１．２）
【０３１９】
【数１９２】
0003729916.tif 000119
【０３２０】
の計算式（展開変数計算部２４による処理）
【０３２１】
【数１９３】
0003729916.tif 000120
【０３２２】
２）ｈの計算式（平行移動計算部４による処理）
基本行列Ｇが求まると、ｈ2 ＝−ｇ31、ｈ3 ＝ｇ21も同時に求まり、３次元平行移動ベクトルｈが求まる。
【０３２３】
３）Ｒの計算式（回転計算部５による処理）
【０３２４】
【数１９４】
0003729916.tif 000121
【０３２５】
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第２、第３成分に関する内積を（，）23で表すと、（ｈ，ｍ）＝（ｈ，ｍ）23、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）23であるから、下式のように計算を簡略化できる。
【０３２６】
【数１９５】
0003729916.tif 000122
【０３２７】
５．１３  運動条件｛Ｒ３，ｈ５｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３２８】
【数１９６】
0003729916.tif 000123
【０３２９】
への展開式（基本行列要素展開部２３による処理）
【０３３０】
【数１９７】
0003729916.tif 000124
【０３３１】
１．２）
【０３３２】
【数１９８】
0003729916.tif 000125
【０３３３】
の計算式（展開変数計算部２４による処理）
【０３３４】
【数１９９】
0003729916.tif 000126
【０３３５】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
Ｒは、式ｒ22＝ｇ32／ｈ1 、ｒ23＝ｇ33／ｈ1 により求まる。
【０３３６】
４）ｒ、ｒ′の計算式（距離計算部による処理）
３次元ベクトルの第１、第２成分に関する内積を（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）12であるから、下式のように計算を簡略化できる。
【０３３７】
【数２００】
0003729916.tif 000127
【０３３８】
５．１４  運動条件｛Ｒ３，ｈ６｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３３９】
【数２０１】
0003729916.tif 000128
【０３４０】
への展開式（基本行列要素展開部２３による処理）
【０３４１】
【数２０２】
0003729916.tif 000129
【０３４２】
１．２）
【０３４３】
【数２０３】
0003729916.tif 000130
【０３４４】
の計算式（展開変数計算部２４による処理）
【０３４５】
【数２０４】
0003729916.tif 000131
【０３４６】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
Ｒは、式ｒ22＝ｇ32、ｒ23＝ｇ33により求まる。
【０３４７】
４）ｒ、ｒ′の計算式（距離計算部による処理）
（ｈ，ｍ）＝ｍ1 、（ｈ，Ｒｍ′）＝ｍ1 ′であるから、下式のように計算を簡略化できる。
【０３４８】
【数２０５】
0003729916.tif 000132
【０３４９】
５．１５  運動条件｛Ｒ３，ｈ７｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３５０】
【数２０６】
0003729916.tif 000133
【０３５１】
への展開式（基本行列要素展開部２３による処理）
【０３５２】
【数２０７】
0003729916.tif 000134
【０３５３】
１．２）
【０３５４】
【数２０８】
0003729916.tif 000135
【０３５５】
の計算式（展開変数計算部２４による処理）
【０３５６】
【数２０９】
0003729916.tif 000136
【０３５７】
２）ｈの計算式（平行移動計算部４による処理）
ｈは既知である。
３）Ｒの計算式（回転計算部５による処理）
３次元回転行列Ｒは、式ｒ22＝ｇ13、ｒ23＝−ｇ12により求まる。
【０３５８】
４）ｒ、ｒ′の計算式（距離計算部６による処理）
（ｈ，ｍ）＝ｍ2 、（ｈ，Ｒｍ′）＝ｒ22ｍ2 ′＋ｒ23ｍ3 ′であるから、下式のように計算を簡略化できる。
【０３５９】
【数２１０】
0003729916.tif 000137
【０３６０】
５．１６  運動条件｛Ｒ４，ｈ１｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３６１】
【数２１１】
0003729916.tif 000138
【０３６２】
への展開式（基本行列要素展開部２３による処理）
【０３６３】
【数２１２】
0003729916.tif 000139
【０３６４】
１．２）
【０３６５】
【数２１３】
0003729916.tif 000140
【０３６６】
の計算式（展開変数計算部２４による処理）
【０３６７】
【数２１４】
0003729916.tif 000141
【０３６８】
２）ｈの計算式（平行移動計算部４による処理）
３次元平行移動ベクトルｈは、式ｈ1 ＝−ｇ23、ｈ2 ＝ｇ13、ｈ3 ＝−ｇ12により求まる。
【０３６９】
３）Ｒの計算式（回転計算部５による処理）
既知である。
４）ｒ、ｒ′の計算式（距離計算部６による処理）
Ｒ＝Ｉにより下式を得る。
【０３７０】
【数２１５】
0003729916.tif 000142
【０３７１】
５．１７  運動条件｛Ｒ４，ｈ２｝の場合
１）Ｇの計算式（基本行列計算部３による処理）
１．１）
【０３７２】
【数２１６】
0003729916.tif 000143
【０３７３】
への展開式（基本行列要素展開部２３による処理）
【０３７４】
【数２１７】
0003729916.tif 000144
【０３７５】
１．２）
【０３７６】
【数２１８】
0003729916.tif 000145
【０３７７】
の計算式（展開変数計算部２４による処理）
【０３７８】
【数２１９】
0003729916.tif 000146
【０３７９】
２）ｈの計算式（平行移動計算部４による処理）
３次元平行移動ベクトルｈは、式ｈ1 ＝−ｇ23、ｈ2 ＝ｇ13により求まる。
３）Ｒの計算式（回転計算部５による処理）
Ｒは既知である。
【０３８０】
４）ｒ、ｒ′の計算式（距離計算部６による処理）
３次元ベクトルの第１、第２成分に関する内積を（，）12で表すと、（ｈ，ｍ）＝（ｈ，ｍ）12、（ｈ，Ｒｍ′）＝（ｈ，Ｒｍ′）12である。また、Ｒ＝Ｉであるから下式を得る。
【０３８１】
【数２２０】
0003729916.tif 000147
【０３８２】
§６：応用例１の説明・・・図５のＡ図参照
図５は応用例の説明図であり、Ａ図は応用例１を示した図である。応用例１は、前記実施の形態で説明した３次元情報復元装置を自動制御装置に応用した例である。この自動制御装置は、いわゆるロボットであり、ＦＡ装置、監視装置などが代表的なものである。
【０３８３】
図示のように、自動制御装置には、運動条件設定部１０、画像入力部１、対応点検出部２、基本行列計算部３、平行移動計算部４、回転計算部５、及び距離計算部６からなる３次元情報復元装置と、前記３次元情報復元装置から出力されたデータを使用して機構部の制御を行う制御部２９で構成されている。
【０３８４】
この場合、制御部２９では、前記平行移動計算部４、回転計算部５、及び距離計算部６から出力されるデータを内部のメモリに格納し、前記メモリのデータを使用して前記機構部の各種制御を行う。
【０３８５】
§７：応用例２の説明・・・図５のＢ図参照
図５は応用例の説明図であり、Ｂ図は応用例２を示した図である。応用例２は、前記実施の形態で説明した３次元情報復元装置をＣＧデータ作成装置に応用した例である。このＣＧデータ作成装置は、３次元ＣＧデータを自動的に作成する装置である。
【０３８６】
図示のように、ＣＧデータ作成装置には、運動条件設定部１０、画像入力部１、対応点検出部２、基本行列計算部３、平行移動計算部４、回転計算部５、及び距離計算部６からなる３次元情報復元装置と、前記３次元情報復元装置から出力された３次元情報を格納しておくＣＧデータ格納部３０で構成されている。
【０３８７】
この場合、ＣＧデータ格納部３０には、前記平行移動計算部４、回転計算部５、及び距離計算部６から出力される３次元情報を格納し、３次元ＣＧ装置における描画用データとして利用する。３次元ＣＧデータは、通常３次元ＣＡＤ等で作成されるが、工数が多くかかるので、前記ＣＧデータ作成装置により自動作成する。
【０３８８】
（他の実施の形態）
以上実施の形態について説明したが、本発明は次のようにしても実施可能である。
【０３８９】
(1) ：画像入力は、ＴＶカメラ（又はビデオカメラ）に限らず、他の任意の撮像装置（各種カメラ類）で実現可能である。
(2) ：前記３次元情報復元装置は、自動制御装置や、ＣＧデータ作成装置に限らず、他の３次元情報を使用する各種装置に適用可能である。
【０３９０】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1) ：従来よりも少ない対応点により、２次元画像情報から３次元情報の復元処理を行うことが可能になる。このため、従来３次元復元が不可能であった画像に対しても、３次元情報の復元をすることが可能になる。
【０３９１】
(2) ：カメラの個別の運動条件毎に、従来より直接的な計算で３次元復元可能であるため、３次元復元のための計算量が少なくて済む。また、計算による誤差が少なくなり正確な３次元復元処理を行うことが可能になる。
【０３９２】
(3) ：運動条件の簡約化により、従来よりも少ない対応点で２次元画像情報から３次元情報の復元が可能になる。従って、３次元情報復元装置の処理が簡単になり、コストダウンが可能になる。また、自動制御装置やＣＧデータ作成装置等への応用が容易になる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態の装置構成図である。
【図３】実施の形態における各部の構成図（その１）である。
【図４】実施の形態における各部の構成図（その２）である。
【図５】実施の形態における応用例の説明図である。
【図６】従来例の装置構成図である。
【符号の説明】
１  画像入力部
２  対応点検出部
３  基本行列計算部
４  平行移動計算部
５  回転計算部
６  距離計算部
１０  運動条件設定部
１１  データ格納部
１５  運動条件入力部
１６  運動条件簡約部
１７  Ｒ制約条件簡約部
１８  ｈ制約条件簡約部
１９  座標変換部
２１  対応点数判定部
２２  対応点座標決定部
２３  基本行列要素展開部
２４  展開変数計算部
２５  基本行列要素展開部
２７  平行移動・回転計算部
【図１】
0003729916.tif 000226
【図２】
0003729916.tif 000227
【図３】
0003729916.tif 000228
【図４】
0003729916.tif 000229
【図５】
0003729916.tif 000230
【図６】
0003729916.tif 000231