(57)【特許請求の範囲】
【請求項１】
所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、前記画像内の共通の物点を当該各画像について指定し、前記カメラパラメータを用いて前記物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成する写真測量用画像処理装置であって、
前記ターゲットが、他の被写体よりも相対的に輝度の高い表面を有し同一平面上に設けられた少なくとも３個以上の基準点および１個以上の補助点を備え、前記基準点が所定の配置に設けられており、
前記画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する前記基準点および前記補助点に相当する画素のグループを抽出し、各グループの重心となる画素の前記画像における写真座標を算出する写真座標算出手段と、
前記写真座標算出手段により得られた前記基準点の写真座標と、前記基準点の所定の配置に基づいて、前記カメラパラメータを算出するカメラパラメータ算出手段と、
前記カメラパラメータ算出手段により算出された前記カメラパラメータと、前記基準点の所定の配置に基づいて、前記補助点の写真座標に実質的に一致し得るスクリーン座標を算出するスクリーン座標算出手段と、
前記写真座標算出手段により得られた前記補助点の写真座標と、前記スクリーン座標算出手段により得られた前記補助点のスクリーン座標とが所定の許容誤差範囲内であるか否かを判定する判定手段と
を備えることを特徴とする写真測量用画像処理装置。
【請求項２】
所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、前記画像内の共通の物点を当該各画像について指定し、前記カメラパラメータを用いて前記物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成する写真測量用画像処理方法において、
他の被写体よりも相対的に輝度の高い表面を有し同一平面上に設けられた少なくとも３個以上の基準点および１個以上の補助点を備え、前記基準点が所定の配置に設けられたターゲットを用いて撮影を行う第１ステップと、
前記画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する前記基準点および前記補助点に相当する画素のグループを抽出し、各グループの重心となる画素の前記画像における写真座標を算出する第２ステップと、
前記写真座標算出手段により得られた前記基準点の写真座標と、前記基準点の所定の配置に基づいて、前記カメラパラメータを算出する第３ステップと、
前記カメラパラメータ算出手段により算出された前記カメラパラメータと、前記基準点の所定の配置に基づいて、前記補助点の写真座標に実質的に一致し得るスクリーン座標を算出する第４ステップと、
前記写真座標算出手段により得られた前記補助点の写真座標と、前記スクリーン座標算出手段により得られた前記補助点のスクリーン座標とが所定の許容誤差範囲内であるか否かを判定する第５ステップと
を備えることを特徴とする写真測量用画像処理方法。
【請求項３】
所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、前記画像内の共通の物点を当該各画像について指定し、前記カメラパラメータを用いて前記物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成する写真測量用画像処理プログラムにおいて、
前記ターゲットが、他の被写体よりも相対的に輝度の高い表面を有し同一平面上に設けられた少なくとも３個以上の基準点および１個以上の補助点を備え、前記基準点が所定の配置に設けられており、
前記画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する前記基準点および前記補助点に相当する画素のグループを抽出し、各グループの重心となる画素の前記画像における写真座標を算出する写真座標算出ルーチンと、
前記写真座標算出手段により得られた前記基準点の写真座標と、前記基準点の所定の配置に基づいて、前記カメラパラメータを算出するカメラパラメータ算出ルーチンと、
前記カメラパラメータ算出手段により算出された前記カメラパラメータと、前記基準点の所定の配置に基づいて、前記補助点の写真座標に実質的に一致し得るスクリーン座標を算出するスクリーン座標算出ルーチンと、
前記写真座標算出手段により得られた前記補助点の写真座標と、前記スクリーン座標算出手段により得られた前記補助点のスクリーン座標とが所定の許容誤差範囲内であるか否かを判定する判定ルーチンと
を備える写真測量用画像処理プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、写真測量において、測量図を作図するためのカメラパラメータ算出に関し、特にカメラパラメータ算出に用いられる基準点の高精度な座標の算出に関する。
【０００２】
【従来の技術】
写真測量は地図の作成に広く使用され、交通事故の現場検証等の局所的な状況の記録においても極めて有効な手段として活用されている。従来写真測量は２台のカメラを離間しつつ固定したステレオカメラを使用し、両カメラで撮影した２つの画像から各測量点の３次元座標を算出する。ここにステレオカメラは大重量かつ大型の機材であり、また３次元座標の計算にはカメラの位置情報、傾斜角度、被写体の実測長さ等詳細な情報を記録しておく必要があり、測量作業は煩雑かつ重労働である。また交通事故現場の周囲に障害物が多い等、充分広い撮影環境が確保されないことも多く、ステレオカメラによる現場検証が困難なときも多い。
【０００３】
そこで本願出願人は、単眼のカメラによる写真測量方法（特開平１０−２９３０２６号公報、特開平１０−２２１０７２号公報）、および同写真測量の精度を向上させるために一対の画像（以下、「ペア画像」という）に含めるターゲット（特開平１０−３０７０２５号公報、特開平１０−２９３０２６号公報、特開平１０−１８５５６３号公報、特開平１０−１８５５６２号公報、特開平１０−１７０２６３号公報、特開平１０−１４１９５１号公報）を多数提案して、簡易機材による効率的な写真測量を実現している。
【０００４】
このような写真測量方法においては、同一のターゲットと測量対象物とが任意の異なる方向から撮影されたペア画像を得、専用の写真測量画像処理装置において、ターゲット上に設けた３つ以上の基準点を各画像上においてマウス等の入力手段を用いたマニュアル作業によって指定し、指定した各基準点の画像上の２次元座標（以下、写真座標と呼ぶ）に基づいて、ペア画像が得られたときのカメラの３次元位置や撮影光学系の光軸の傾き（以下、カメラパラメータと呼ぶ）が算出される。
【０００５】
【発明が解決しようとする課題】
しかし、ペア画像上で互いに対応する３つの基準点をマニュアル指定する作業においてはターゲットの形状や向きを意識しなければならず、さらに測量が広範囲に渡る場合には多数のペア画像が用いられるため、操作が煩雑である上に多大な時間を要する。また、マニュアル指定された基準点の精度は担当者の熟練度に左右され、対応付けを誤ったり、基準点と異なる点を指定したり、あるいは基準点の写真座標に誤差が生じれば、高精度なカメラパラメータ、ひいては正確な測量図が得られない。
【０００６】
本発明は、この様な点に鑑みてなされたものであり、基準点の高精度な写真座標を容易に求め、カメラパラメータおよび測量図の精度を向上させるとともに測量作業を簡略にすることが目的である。
【０００７】
【課題を解決するための手段】
本発明による写真測量用画像処理装置は、所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、画像内の共通の物点を当該各画像について指定し、カメラパラメータを用いて物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成する写真測量用画像処理装置である。撮影に用いられるターゲットは、他の被写体よりも相対的に輝度の高い表面を有し同一平面上に設けられた少なくとも３個以上の基準点および１個以上の補助点を備えており、上述の写真測量用画像処理装置においては、画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する基準点および補助点に相当する画素のグループを抽出し、各グループの重心となる画素の画像における写真座標を算出する写真座標算出手段と、写真座標算出手段により得られた基準点の写真座標と、ターゲットの寸法形状に基づいて、カメラパラメータを算出するカメラパラメータ算出手段と、カメラパラメータ算出手段により算出されたカメラパラメータと、ターゲットの寸法形状に基づいて、補助点の写真座標に実質的に一致し得るスクリーン座標を算出するスクリーン座標算出手段と、写真座標算出手段により得られた補助点の写真座標と、スクリーン座標算出手段により得られた補助点のスクリーン座標とが所定の許容誤差範囲内であるか否かを判定する判定手段とを備えることを特徴としている。これにより、抽出された基準点の写真座標の精度が容易に判定でき、誤って抽出された基準点の写真座標を用いて不正確な測量図を作成することが防止される。
【０００８】
また、本発明による写真測量用画像処理方法は、所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、画像内の共通の物点を当該各画像について指定し、カメラパラメータを用いて物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成する写真測量用画像処理方法であって、他の被写体よりも相対的に輝度の高い表面を有し同一平面上に設けられた少なくとも３個以上の基準点および１個以上の補助点を備えたターゲットを用いて撮影を行う第１ステップと、画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する基準点および補助点に相当する画素のグループを抽出し、各グループの重心となる画素の画像における写真座標を算出する第２ステップと、写真座標算出手段により得られた基準点の写真座標と、ターゲットの寸法形状に基づいて、カメラパラメータを算出する第３ステップと、カメラパラメータ算出手段により算出されたカメラパラメータと、ターゲットの寸法形状に基づいて、補助点の写真座標に実質的に一致し得るスクリーン座標を算出する第４ステップと、写真座標算出手段により得られた補助点の写真座標と、スクリーン座標算出手段により得られた補助点のスクリーン座標とが所定の許容誤差範囲内であるか否かを判定する第５ステップとを備えることを特徴としている。これにより、抽出された基準点の写真座標の精度が容易に判定でき、誤って抽出された基準点の写真座標を用いて不正確な測量図を作成することが防止される。
【０００９】
本発明による記憶媒体は、所定の寸法形状のターゲットを共通に含む複数の画像のそれぞれについて、各画像を撮影したカメラの位置およびその光軸の傾きを含むカメラパラメータを算出し、画像内の共通の物点を当該各画像について指定し、カメラパラメータを用いて物点の３次元座標を算出し、この３次元座標に基づいて測量図を生成するための写真測量用画像処理プログラムを格納している。撮影に用いられるターゲットが、ターゲットが、画像内において他の被写体よりも相対的に低い輝度情報を有する本体と、画像内において他の被写体よりも相対的に高い輝度情報を有し同一平面上に設けられた少なくとも３個以上の基準点および補助点を備えている。上述した写真測量用画像処理プログラムにおいては、画像を構成する画素の輝度情報に基づいて、高い輝度情報を有する基準点および補助点に相当する画素のグループを抽出し、各グループの重心となる画素の画像における写真座標を算出する写真座標算出ルーチンと、写真座標算出手段により得られた基準点の写真座標と、ターゲットの寸法形状に基づいて、カメラパラメータを算出するカメラパラメータ算出ルーチンと、カメラパラメータ算出手段により算出されたカメラパラメータと、ターゲットの寸法形状に基づいて、補助点の写真座標に一致し得るスクリーン座標を算出するスクリーン座標算出ルーチンと、写真座標算出手段により得られた補助点の写真座標と、スクリーン座標算出手段により得られた補助点のスクリーン座標とが所定の許容誤さ範囲内であるか否かを判定する判定ルーチンとを備えることが特徴とされる。これにより、汎用のパーソナルコンピュータにおいてこの写真測量画像処理プログラムを実行させ、抽出された基準点の写真座標の精度が容易に判定して、誤って抽出された基準点の写真座標を用いて不正確な測量図を作成することが防止される。
【００１０】
【発明の実施の形態】
以下、本発明に係る写真測量画像処理装置、写真測量画像処理方法、および写真測量画像処理プログラムの一実施形態を図面に基づいて説明する。
【００１１】
図１は、本発明の一実施形態における写真測量の撮影状況を示す模式図であり、測量対象であるＴ字路の外形および白線等を、鉛直上方から見た水平面図である。
【００１２】
この撮影において、１つの測量対象（ここでは図中左方へ延びる道路）に対しては、１台のカメラ１０を用いて、異なる２つの撮影地点から連続して撮影される。この２つの撮影地点はカメラ位置Ｍ１およびＭ２として定義され、各カメラ位置Ｍ１、Ｍ２はそれぞれカメラ１０の撮影光学系の後側主点位置に一致する。カメラ位置Ｍ１、Ｍ２からそれぞれ伸びる一点鎖線は、カメラ１０の撮影光学系（図示せず）の光軸Ｏ１およびＯ２を示している。
【００１３】
カメラ１０は図示しないＣＣＤを備え、光学画像を電子画像、即ちＪ×Ｋ配列の輝度信号および色差信号を含むデジタル画素データに変換する。ＪおよびＫは画素の数を示す自然数である。このデジタル画素データは所定のフォーマットに従ってメモリカード等の画像記憶媒体に格納される。画像記憶媒体には、デジタル画素データとともに、撮影条件、撮影日時等の種々のデータが格納される。
【００１４】
図２および図３は、図１の撮影により得られた２枚の画像を概念的に示す図である。図２はカメラ位置Ｍ１において得られた画像ＩＭ１を示し、図３はカメラ位置Ｍ２において得られた画像ＩＭ２を示す。これらの画像ＩＭ１およびＩＭ２は、例えばＪ×Ｋ画素のカラー画像である。
【００１５】
カメラ位置Ｍ１、Ｍ２で得られた画像ＩＭ１およびＩＭ２は、所定の位置に置かれたＬ字状のターゲット２０を共通に写し込んでいる。同一の測量対象および同一位置のターゲット２０を含む２枚の画像ＩＭ１およびＩＭ２は一対のペア画像として定義される。１つの測量対象に対する画像枚数は３以上でもよい。
【００１６】
画像ＩＭ１には所定の２次元直交座標系である写真座標系（Ｘａ，Ｙａ）が定義される。ターゲット２０上に設けられた３個の基準点（図４参照、符号２２、２４および２６）は、この写真座標系においてそれぞれ写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜３）で表される。図示しないが、画像ＩＭ２についても同様である。
【００１７】
なお、図２に示す写真座標系（Ｘａ，Ｙａ）においては、座標原点が画像ＩＭ１の中心に、Ｘａ座標は右へ進むほど大きい値に、またＹａ座標は上へ進むほど大きい値になるよう定義されているが、特に限定されない。他に、座標原点を画像ＩＭ１の左上隅に、Ｘａ座標は右へ進むほど大きい値に、またＹａ座標は下へ進むほど大きい値になるよう定義された写真座標系（Ｘａ，Ｙａ）を画像ＩＭ１に設定してもよい。
【００１８】
図４は図１の撮影において用いられるターゲット２０を拡大して示す斜視図である。ターゲット２０は一端において互いに連結された２本の柱状部材２１、２３を備える。これら柱状部材２１、２３の表面には黒色の無反射シートが全体的に貼付される。これらの柱状部材２１、２３の端部の上面には、３個の基準点２２、２４および２６が設けられている。基準点２２、２４および２６は例えば白色反射シートが貼付された点部材であり、その周囲には黒色無反射シートが貼付された環状部材２５、２７および２９が設けられている。これにより、白色の基準点２２、２４および２６が強調され、画像上での識別を容易にしている。
【００１９】
基準点２２と基準点２４との中間には２個の点部材が補助点３２および３４として設けられ、また基準点２４と基準点２６との間には補助点３６が設けられる。これら補助点３２、３４および３６は基準点２２、２４および２６と同一寸法形状であり、白色反射シートが貼付される。これら補助点３２、３４および３６の周囲にはそれぞれ黒色無反射シートが貼付された環状部材３３、３５および３７が設けられる。
【００２０】
即ち、柱状部材２１の長手方向には４個の点部材２２、３２、３４、２４が等間隔に並んでおり、また柱状部材２３の長手方向には３個の白色点部材２４、３６、２６が等間隔に並んでいる。これにより、ターゲットの方向を容易に認識できる。補助点の数は柱状部材２１に２個、柱状部材２３に１個であるが、これに限定されず、２本の柱状部材２１および２３のそれぞれにおいて１個以上あればよい。
【００２１】
２本の柱状部材２１、２３と、環状部材２５、２７、２９、３３、３５および３７には黒色の無反射シートが貼付され、基準点２２、２４、２６および補助点３２、３４、３６には白色の反射シートが貼付されているが、これに限定されず、無反射塗料および反射塗料を用いてもよく、画像ＩＭ１、ＩＭ２内においてターゲット２０が相対的に周囲より輝度値が低く、かつ基準点２２、２４、２６および補助点３２、３４、３６が相対的に周囲より輝度値が高くなるように構成されていればよい。
【００２２】
ターゲット２０は道路面上に載置され、基準点２２、２４および２６を含む平面は道路面にほぼ平行である。２本の柱状部材２１および２３の内部には、それぞれの水平面に対する傾斜角、即ち基準点２４および２２を結ぶ直線周りの回転角、および基準点２４および２６を結ぶ直線周りの回転角を測定するセンサがそれぞれ設けられる。
【００２３】
測定された２つの回転角は、図示しない送信装置によってカメラ１０に送信され、カメラ１０は撮影を行う時点、具体的にはレリーズボタンを押した時点での回転角を、デジタル画素データとともに画像記憶媒体に格納する。これにより、後述する写真測量画像処理装置において、３個の基準点２２、２４および２６により規定される平面の、水平面に対する傾斜の度合いが容易に求められる。
【００２４】
基準点２２および２４間の距離と、基準点２４および２６間の距離は共に既知の値ＬＴである。３個の基準点２２、２４および２６を結ぶことにより、基準点２４を角部（９０度）とする直角二等辺三角形が形成される。この基準点２２、２４および２６により形成される直角二等辺三角形の実寸データは、後述する写真測量画像処理装置に予め与えられており、写真測量画像処理装置において、所定の３次元座標系におけるカメラ位置Ｍ１およびＭ２の位置を算出する際に用いられる。
【００２５】
図５は、写真測量画像処理装置の全体構成を示すブロック図である。写真測量画像処理装置は、表示装置５０、キーボードおよびマウス等の入力装置５２およびＣＰＵ５４を有し、これらは直接または間接的にバス５６に接続されている。ＣＰＵ５４には、入力状態管理部６０、表示状態管理部６２、演算処理部６４およびデータ管理部６６が設けられ、ここで必要な管理、演算、処理が実行される。
【００２６】
入力装置５２には、バス５６に接続された入力装置制御装置５８が接続され、これによって入力装置５２からの入力がバス５６に転送され、また入力装置５２の入力モード等が設定される。画像記憶媒体７０はメモリカードリーダ等の記憶媒体制御装置７２に挿入され、これによって画像記憶媒体７０に格納されたデジタル画素データ等が適宜読み出される。
【００２７】
さらにバス５６には作業メモリ７４および表示メモリ７６が接続される。作業メモリ７４はＣＰＵ５４の演算、処理におけるキャッシュメモリ等に使用され、後述するカメラパラメータ算出処理に用いられる種々のデータはここに格納される。表示メモリ７６には表示装置５０で表示すべき内容が保持される。表示装置５０には、バス５６に接続された表示装置制御装置７８が接続され、表示メモリ７６内のデジタルデータが表示装置５０のためのアナログＲＧＢ信号に変換される。
【００２８】
ＣＰＵ５４の入力状態管理部６０は入力装置５２の設定を管理し、また入力された情報、例えばマウスにより画面上を移動するマウスポインタの座標、キーボードから入力された文字等を所定のデジタルデータに変換する。表示状態管理部６２は表示装置５０に表示すべき内容を管理し、表示に関する設定の変更等があったときには表示内容を変更する。演算処理部６４は後述するカメラパラメータ算出処理に使用される。データ管理部６６は画像記憶媒体７０から読込んだ画像等のデータを管理し、またこれに基づいて作成された種々の座標データ、作図された測量図のデータ等を管理する。
【００２９】
図５に示す写真測量画像処理装置においては、まず画像記憶媒体７０から画像２枚分のデータが読み出され、これらに基づいてそれぞれカメラ位置Ｍ１、Ｍ２の３次元座標およびその光軸Ｏ１およびＯ２の傾きが算出される。このカメラ位置の３次元座標およびその光軸の傾きを、あわせてカメラパラメータと呼ぶ。
【００３０】
次に図６を参照して、カメラパラメータを算出する原理および方法を説明する。代表してカメラ位置Ｍ１の場合について説明する。図６は図１に示すカメラ位置Ｍ１と、カメラ１０の撮影光学系の結像面であるスクリーンＳとターゲット２０の関係を概念的に示す斜視図である。スクリーンＳは実質的に画像ＩＭ１に一致する。
【００３１】
ターゲット２０をカメラ１０のスクリーンＳ上に結像した状態においては、光軸Ｏ１はカメラ位置Ｍ１およびスクリーンＳの撮影中心Ｃを通り、スクリーンＳに投影された基準点２２、２４および２６の像点ｐ１、ｐ２およびｐ３は、カメラ位置Ｍ１と各基準点２  ２、２４および２６とを結ぶ直線上にそれぞれ位置する。
【００３２】
スクリーンＳには、撮影中心Ｃを原点（０，０）とするスクリーン座標系（Ｘｐ，Ｙｐ）が定義される。このスクリーン座標系における像点ｐ１、ｐ２およびｐ３の２次元座標、即ちスクリーン座標は、それぞれｐ１（ｘｐ１，ｙｐ１）、ｐ２（ｘｐ２，ｙｐ２）、ｐ３（ｘｐ３，ｙｐ３）である。
【００３３】
また、図６において、カメラ位置Ｍ１を原点（０，０，０）とする３次元座標系がカメラ座標系（Ｘｃ，Ｙｃ，Ｚｃ）として定義されており、Ｘｃ軸およびＹｃ軸はそれぞれスクリーン座標系のＸｐ軸およびＹｐ軸に平行であり、Ｚｃ軸は光軸Ｏ１に一致する。
【００３４】
カメラ座標系における基準点２２、２４および２６の３次元座標、即ちカメラ座標をＰｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）（ただし、ｉ＝１〜３）と定義すると、像点であるスクリーン座標ｐｉ（ｘｐｉ，ｙｐｉ）と基準点のカメラ座標（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）との関係は式（１）および式（２）により示される。なお、式（１）および式（２）において、ｆはカメラ１０の焦点距離である。
【数１】
0004043657.tif 000002
【００３５】
さらに、図６において、ターゲット２０の基準点２４を原点とする３次元座標が基準座標系（Ｘｓ，Ｙｓ，Ｚｓ）として定義される。基準座標系のＸｓ軸、Ｚｓ軸は基準点２４および２２を結ぶ直線、基準点２４および２６を結ぶ直線にそれぞれ沿っており、Ｙｓ軸はＸｓ軸、Ｚｓ軸に対して垂直である。
【００３６】
Ｘｓ軸、Ｚｓ軸の水平面に対するそれぞれの回転角のデータはデジタル画素データとともに画像記憶媒体７０に格納されており、ターゲット２０が水平面に対して傾斜している場合には、この回転角のデータによりＸｓ軸およびＺｓ軸の傾きが補正される。従って、Ｙｓ軸は鉛直方向に一致させられ、Ｘｓ−Ｚｓ平面は水平面にほぼ一致せしめられる。
【００３７】
ここで、基準座標系におけるカメラ位置Ｍ１の座標、即ち基準座標を（ΔＸ，ΔＹ，ΔＺ）、光軸Ｏ１の傾きを（α，β，γ）と定義すると、カメラ座標Ｐｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）と基準座標Ｐｓｉ（Ｐｓｘｉ，Ｐｓｙｉ，Ｐｓｚｉ）との関係は、式（３）により示される。
【数２】
0004043657.tif 000003
【００３８】
なお、式（３）におけるＲは回転行列であり、式（４）に示されるように、光軸Ｏ１（Ｚｃ軸）の方向余弦ｃｏｓα、ｃｏｓβ、ｃｏｓγで表される。また、式（３）におけるΔは、座標原点移動量であり、カメラ位置Ｍ１の基準座標（ΔＸ，ΔＹ，ΔＺ）に一致する。
【００３９】
実際には、画像記憶媒体７０から画像ＩＭ１がＣＰＵ５４に読み込まれると、この画像ＩＭ１に対して後述する種々の画像処理が施され、基準点２２、２４および２６が自動抽出される。これにより各基準点２２、２４および２６の写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜３）が求められる。なお、このとき３つの補助点３２、３４および３６も同時に自動抽出され、それぞれ写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝４〜６）が求められる。
【００４０】
また、予め与えられた基準点２２、２４および２６により形成される直角二等辺三角形の実寸データに基づいて、基準座標系における基準点２２、２４および２６の基準座標が、それぞれＰｓ１（−ＬＴ，０，０）、Ｐｓ２（０，０，０）、Ｐｓ３（０，０，ＬＴ）に決定され、これら基準座標から上述の算出方法により各基準点２２、２４および２６のスクリーン座標ｐｉ（ｘｐｉ，ｙｐ  ｉ）（ｉ＝１〜３）が求められる。このとき、カメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）には適当な初期値が与えられる。
【００４１】
スクリーンＳは実質的に画像ＩＭ１に一致するものとし、画像ＩＭ１から読み取られた写真座標ａｉとスクリーン座標ｐｉとの差、例えば式（５）に示されるΦが最小となるカメラパラメータが、逐次近似解法を用いて算出される。
【数３】
0004043657.tif 000004
【００４２】
なお、逐次近似解法については公知であるので詳述しないが、この算出において最初に与えられる初期値としては、ΔＸ＝０ｍ、ΔＹ＝１．５ｍ、ΔＺ＝０ｍ、α＝０度、βは０〜３６０度の範囲における任意の値、γ＝０度が与えられる。ΔＹに関しては撮影者の目の高さに相当する。またβに関しては経験によって定められるおおよその値である。このように、実際の撮影に即した近似値を初期値として与えると、算出時間の短縮化が図れる。
【００４３】
ペア画像における他方の画像ＩＭ２のカメラパラメータについても、同様の手法で求められる。これらカメラパラメータは、作業メモリ７４の所定領域に格納される。
【００４４】
図７は、写真測量画像処理装置の表示装置５０における表示画面を概念的に示す図である。この表示画面は上述の２枚の画像ＩＭ１およびＩＭ２にそれぞれ対応したカメラパラメータが算出された後に表示され、この表示画面において、測量図が生成される。
【００４５】
この表示画面の上段には画像表示領域ＩＭＡが設けられ，下段には作図領域ＤＲＡが設けられる。画像表示領域ＩＭＡには、ペア画像ＩＭ１およびＩＭ２が並列して表示され、作図領域ＤＲＡにはペア画像ＩＭ１およびＩＭ２に基づいて作図された測量図（図中の道路の外形を示す実線Ｌ等）が描かれる。
【００４６】
測量図は道路を鉛直上方から見た水平面図であり、基準座標系のＸｓ−Ｚｓ平面に一致する。作図領域ＤＲＡには、基準座標系の原点であるターゲット２０の基準点２４の位置が点表示される。
【００４７】
作図に際しては、ペア画像中で対応する像点がマニュアルで指定される。詳述すると、画像ＩＭ１およびＩＭ２において、道路の角の像点ＯＰ１' 、ＯＰ１" がマウスによりマニュアル指定されると、これら像点ＯＰ１' 、ＯＰ１" に対応した物点ＯＰ１の基準座標が算出されるとともに、作図領域ＤＲＡに物点ＯＰ１が点表示される。
【００４８】
物点ＯＰ１の基準座標は、式（１）〜（４）を用いて求められ、ここでカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）には、予め求められ作業メモリ７４に格納された値が用いられる。このように、予めカメラパラメータが求められていることにより、物点ＯＰ１の基準座標が容易に求められ、算出時間の短縮が図られる。
【００４９】
作図領域ＤＲＡ内には、作図のためのメニューＤＲＭが設けられ、このメニューＤＲＭにおいて、「直線描画」、「多角形描画」、「直径指定円描画」、「半径指定円描画」、「補助点描画」、「入力完了」等のコマンドが選択される。例えば「直線描画」が選択されている場合、物点ＯＰ１およびＯＰ２が連続して指定されると、この２点ＯＰ１およびＯＰ２を結ぶ直線Ｌ１が自動的に作成され、作図領域ＤＲＡに表示される。
【００５０】
以上のようにして、測量図が作成される。この測量図のデータは必要に応じてフロッピーディスク等の記憶媒体に格納される。なお、図５においては測量図のデータを記憶媒体に格納するための構成は省略される。
【００５１】
このように、測量図の作成においては、ターゲット２０を用いてカメラパラメータが求められ、このカメラパラメータを用いて物点の座標が算出される。従って、高精度の測量図を得るためにはカメラパラメータの精度は高いほどよい。
【００５２】
従来、カメラパラメータを求める際には物点ＯＰ１と同様に基準点２２、２４および２６をマニュアル指定し、写真座標ａｉを求めていた。しかし、マニュアル指定では精度よく指定することは難しく、また基準点の対応付けも容易ではない。本実施形態においては、カメラパラメータ算出処理において、この基準点の写真座標ａｉを画像処理によって自動的に決定することにより、誤差や対応付けの間違いを防止している。また、マニュアル指定に比べて作業効率が大幅に向上する。
【００５３】
図８および図９を参照して、ＣＰＵ５４の演算処理部６４において実行されるカメラパラメータ算出処理の大まかな処理流れについて説明する。図８および図９はカメラパラメータ算出処理のメインルーチンを示すフローチャートであり、画像記憶媒体７０から画像１枚分のデータが読み込まれるごとに実行される。ここでは代表して画像ＩＭ１が読み込まれた場合について説明する。なお、カメラパラメータ算出処理のメインルーチンは写真測量画像処理プログラムの一部を構成している。
【００５４】
まず、ステップＳ１０２において画像ＩＭ１のデジタル画素データが画像記憶媒体７０から読み込まれ、ステップＳ１０４において読み込まれた画像ＩＭ１に対応するカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）が算出されたか否かを示すフラグが「ＦＡＬＳＥ」に設定される。
【００５５】
ステップＳ１０６では、読み込まれた画像にはグレースケール処理が施されて、デジタル画素データの色成分の情報（色信号）が除去され、輝度信号のみが抽出される。ここで、画像を構成する全画素について２５６階調の輝度値が抽出されて、配列形式の変数ＩＭｇ（ｊ，ｋ）に格納される。ｊおよびｋは画像に定義された写真座標系における２次元座標である。このグレースケール処理は、ターゲット２０の基準点２２、２４、２６および補助点３２、３４、３６が白色である、即ち輝度値が高く、かつその他の部分が黒色である、即ち輝度値が低いことを鑑みて、画像処理を単純化して処理速度を早めるために行われる。
【００５６】
次に、外接矩形候補算出サブルーチンが実行され（ステップＳ２００）、画像の中でターゲットとなり得る部分を含む長方形が、外接矩形候補として切り出される。そしてステップＳ１１０において、全外接矩形候補に対してステップＳ３００以降の処理が終了したか否かが判定される。ステップＳ２００において外接矩形候補が検出されなかった場合あるいは全外接矩形候補の処理が終了した場合には、カメラパラメータ算出フラグは「ＦＡＬＳＥ」のまま、カメラパラメータ算出処理のメインルーチンが終了する。未だ処理されていない外接矩形候補がある場合には、ステップＳ３００に進む。
【００５７】
ステップＳ３００では２値化閾値候補検出サブルーチンが実行され、１つの外接矩形候補に対して２値化処理のための閾値となり得る候補が求められる。そして、ステップＳ１２０において、全閾値候補に対してステップＳ４００以降の処理が終了したか否かが判定される。現在設定されている外接矩形候補の全閾値候補について終了したと判定されると、未処理の外接矩形候補に変更するべくステップＳ１１０に戻る。ステップＳ３００において現在設定されている外接矩形候補について閾値候補が得られなかった場合にもステップＳ１１０に戻る。ステップＳ１２０において全ての閾値候補の処理が終了していないと判定されれば、ステップＳ４００に進む。
【００５８】
ステップＳ４００では組合せ検出サブルーチンが実行され、１つの外接矩形候補に対して１候補である閾値をもって２値化処理が行われ、さらにラベリング処理等が施されて、基準点２２、２４、２６および補助点３２、３４、３６となり得る画素のグループが検出され、これら画素のグループが基準点２２、２４、２６および補助点３２、３４、３６の組合せの候補に登録される。そしてステップＳ１３０では全ての組合せに対してステップＳ５００以降の処理が終了したか否かが判定さる。ここで、現在設定されている外接矩形候補および閾値候補の全組合せに対して処理が終了した場合、あるいはステップＳ４００において組合せが検出されなかった場合には、未処理の閾値候補に変更するべくステップＳ１２０に戻る。ステップＳ１３０において全ての組合せの処理が終了していないと判定されれば、ステップＳ５００に進む。
【００５９】
ステップＳ５００では座標補正サブルーチンが実行され、組合せ検出サブルーチンにおいて求められた基準点２２、２４、２６および補助点３２、３４、３６の１候補である画素グループの組合せに対して、さらに高精度の写真座標ａｉが求められる。そして、これら写真座標ａｉからカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）が求められる  （ステップＳ６００）。次にステップＳ１４０が実行され、ここでステップＳ６００において算出されたカメラパラメータが正しいと判定された場合には、カメラパラメータ算出フラグには「ＴＲＵＥ」が代入され、カメラパラメータ算出処理のメインルーチンが終了する。ステップＳ１４０においてカメラパラメータが正しい値ではない、あるいは算出されなかったと判定された場合には、未処理の組合せに変更するべくステップＳ１３０に戻る。
【００６０】
このように、カメラパラメータ算出処理のメインルーチンにおいては、ターゲット２０となり得る外接矩形候補を抽出し、各外接矩形候補について最も２値化に適した閾値候補を検出し、さらに所定の外接矩形候補およびその閾値候補の１つについて、基準点および補助点となり得る組合せを求めている。そして、所定の組合せについて２値化処理およびラベリング処理等によって基準点および補助点の写真座標を求め、これに基づいてカメラパラメータを算出している。
【００６１】
カメラパラメータの算出は、正しいカメラパラメータが得られるまで、組合せ、閾値候補または外接矩形候補が変更されつつ繰り返し実行され、正しいカメラパラメータの算出が成功した時点でカメラパラメータ算出フラグが「ＴＲＵＥ」となってメインルーチンは終了する。
【００６２】
一方、全外接矩形候補の全閾値候補に対して求められた全ての組合せから、正しいカメラパラメータが得られなかった場合、即ちステップＳ１１０において全外接矩形候補に対して処理が終了したと判定された場合には、カメラパラメータ算出フラグは「ＦＡＬＳＥ」のまま、カメラパラメータ算出処理のメインルーチンが終了する。
【００６３】
図１０〜図１３を参照して、外接矩形候補算出サブルーチン（図８のステップＳ２００）について説明する。図１０および図１１は外接矩形候補算出サブルーチンの詳細を示すフローチャートである。
【００６４】
まずステップＳ２０２において、図１２に示すように、Ｊ×Ｋ画素の画像ＩＭ１から（１／ｍ）の縮小画像ＩＧが生成される。具体的には、変数ＩＭｇ（ｊ，ｋ）に格納されたＪ×Ｋ画素の輝度値から、Ｘａ方向およびＹａ方向についてｍ画素毎に１つの輝度値が抽出され、配列形式の変数ＩＧｓ（ｓ，ｔ）に格納される。ｓおよびｔは縮小画像ＩＧにおけるＸａｓ方向およびＹａｓ方向における画素の座標を示す。
【００６５】
次にステップＳ２０４において、縮小画像ＩＧ、即ち輝度値である変数ＩＧｓ（ｓ，ｔ）について図１３に示すようなヒストグラムが生成される。このヒストグラムは輝度値に対する画素数の分布を示すグラフである。ステップＳ２０６ではヒストグラムにおいて最も画素数の多い山ＭＴ１が検出されて、ステップＳ２０８でこの山ＭＴ１の低輝度側の麓部の輝度値Ｇ１がステップＳ２１０の２値化処理のための閾値として取得される。具体的には、画素数の最大値をとる山ＭＴ１において、輝度値に対する画素数の変化量が急激に大きくなり始めるときの輝度値が算出される。
【００６６】
ステップＳ２１０において実行される２値化処理においては、変数ＩＧｓ（ｓ，ｔ）に格納された輝度値と閾値Ｇ１とが比較され、その輝度値が閾値Ｇ１を超えていれば「１」、輝度値が閾値Ｇ１以下であれば「０」が、ＩＧｓと同様の配列形式のＢｉｎに格納される。即ち、縮小画像ＩＧの各画素の輝度値を２値化したデータはＢｉｎ（ｓ，ｔ）で表される。
【００６７】
次いでステップＳ２１２が実行されて２値化データ「０」についてラベリングが行われる。ラベリングとは、２値化データが「０」である画素が連続する領域を１つのグループとして抽出する処理であり、これにより輝度値が閾値Ｇ１より低い領域が抽出される。抽出された各グループには、そのグループを構成する画素数および対応する２次元座標（ｓ，ｔ）が所定の変数に格納される。
【００６８】
ステップＳ２１４においては、ステップＳ２１２により抽出された各グループの画素数について、所定の下限値以上のものだけが判別される。この下限値によって規定される画素数の範囲は、縮小画像ＩＧにおけるターゲット２０に相当するグループの画素数を十分に含み、かつ最小の範囲となるように設定される。この処理により、ノイズ等の画素数が１、２個程度のグループが除去される。
【００６９】
ステップＳ２１６では、ステップＳ２１４により選択された全グループのそれぞれについて、以下のステップＳ２１８〜Ｓ２２２の処理が終了したか否かが判定される。ここでステップＳ２１４により選択された全グループについて終了した場合、あるいは選択されたグループがない場合には、外接矩形候補算出サブルーチンが終了し、図８のメインルーチンに戻る。終了していなければステップＳ２１８に進む。
【００７０】
ステップＳ２１８においては、所定のグループ内の画素について縮小画像ＩＧにおけるＸａｓ座標の最小値Ｘａｓmin および最大値Ｘａｓmax 、Ｙａｓ座標の最小値Ｙａｓmin および最大値Ｙａｓmax が求められ、ステップＳ２２０においてこれら４つの座標は下に示す（６）〜（９）式により実寸に変換される。
【数４】
0004043657.tif 000005
【００７１】
これにより、図１２に示すように、画像ＩＭ１においてターゲット２０の候補となり得る領域、即ち（Ｘａmin ，Ｙａmin ）、（Ｘａmax ，Ｙａmax ）で表される２点を結ぶ線分を対角線とする長方形の領域ＧＫ（図中、一点鎖線で示す）が、ターゲット２０の外接矩形候補として登録される。実際には、座標値Ｘａmin 、Ｙａmin 、Ｘａmax およびＹａmax が作業メモリ７４に格納される。
【００７２】
このように、縮小画像ＩＧを用いてターゲット２０となり得る大まかな領域を抽出することにより、画像ＩＭ１の全画素に対して２値化処理およびラベリング処理を行う場合に比べて、処理速度を大幅に短縮でき、誤った基準点および補助点の抽出も防止できる。また低輝度側の麓部の輝度値を閾値Ｇ１として定めているので、高輝度側の情報を大幅に削減でき、低輝度であるターゲット２０がさらに容易に抽出できる。なお、図１２においては外接矩形候補ＧＫは１つであるが、実際には複数の外接矩形候補ＧＫが抽出され得る。
【００７３】
図１４および図１５を参照して、２値化閾値候補検出サブルーチン（図９のステップＳ３００）について説明する。図１４は２値化閾値候補検出サブルーチンの詳細を示すフローチャートである。
【００７４】
まず、ステップＳ３０２において、外接矩形候補算出サブルーチンによって決定された外接矩形候補ＧＫの１つが、画像ＩＭ１から切り出される。具体的には、外接矩形候補ＧＫを規定する（Ｘａmin ，Ｘａmax ，Ｙａmin ，Ｙａmax ）の座標値が作業メモリ７４から読み出され、外接矩形候補ＧＫに相当する領域の輝度値ＩＭｇ（ｊ，ｋ）が読み出される。
【００７５】
次いで，ステップＳ３０４において外接矩形候補ＧＫの輝度値ＩＭｇ（ｊ，ｋ）について、図１５に示すヒストグラムが生成され、ステップＳ３０６において山が検出される。ステップＳ３０８、Ｓ３１０およびＳ３１２においては、ステップＳ３０６により検出された複数の山、図１５においてはＭＴ２１、ＭＴ２２、ＭＴ２３およびＭＴ２４のそれぞれについて麓部の高輝度側の輝度値Ｇ２１、Ｇ２２、Ｇ２３およびＧ２４が検出され、これが閾値候補として登録される。具体的には、輝度値に対する画素数の変化量が急激に小さくなり始めるときの輝度値が算出される。ステップＳ３０６において山が検出されなかった場合には、ステップＳ３０８において全ての山について終了したと判定され、ステップＳ３１０およびＳ３１２は実行されない。以上で外接矩形候補算出サブルーチンが終了し、図９のメインルーチンに戻る。
【００７６】
このように、外接矩形候補算出サブルーチンにおいては、１つの外接矩形候補ＧＫに対して、４つの閾値候補Ｇ２１、Ｇ２２、Ｇ２３およびＧ２４が得られる。これら閾値候補は、次の組合せ検出サブルーチンにおける２値化処理の閾値として用いられ、ここでは高輝度値である基準点および補助点を抽出するので、低輝度側の情報が削減できる山の麓部の高輝度側が閾値候補として登録される。
【００７７】
図１６〜図１９を参照して、組合せ検出サブルーチン（図９のステップＳ４００）について説明する。図１６は組合せ検出サブルーチンの詳細を示すフローチャートである。ここでは外接矩形候補がＧＫ、かつ閾値候補がＧ２１に設定された場合について説明する。
【００７８】
ステップＳ４０２においては、外接矩形候補ＧＫの閾値候補Ｇ２１を閾値とする２値化処理が行われ、ステップＳ４０４において高輝度画素についてラベリングが行われる。これにより、閾値Ｇ２１より高い輝度値の連続する領域がグループとして抽出される。抽出された閾値Ｇ２１より高輝度の各グループには、そのグループを構成する画素数および対応する２次元座標（ｊ，ｋ）が所定の変数に格納される。これにより、少なくとも基準点および補助点の合計数６以上の数のグループが抽出され得る。
【００７９】
続いて、仮の重心算出サブルーチン（ステップＳ４１００）が実行され、閾値Ｇ２１より高輝度の各グループの重心座標が算出される。そして３点列−４点列検出サブルーチン（ステップＳ４２００）において、３つのグループの重心座標が同一直線上に並ぶ場合には３点列に、４つのグループの重心座標が同一直線上に並ぶ場合には４点列に登録される。さらに、組合せ登録サブルーチン（ステップＳ４３００）において、３点列の端点と４点列の端点との重心座標が一致するものが、ターゲット２０の基準点２２、２４、２６および補助点３２、３４、３６であると判定され、１つの組合せとして登録される。以上で組合せ検出サブルーチンが終了し、図９のメインルーチンに戻る。
【００８０】
このように、この組合せ検出サブルーチンではターゲット２０の形状、即ち基準点２２、２４、２６および補助点３２、３４、３６の配列が利用される。なお、本実施形態ではターゲット２０の柱状部材２１に沿う点部材の配列が３、柱状部材２３に沿う点部材の配列が４であるため、３点列および４点列の抽出が行われるが、ターゲット２０上の点部材の配列数が変われば、それに応じて抽出される同一直線上の点列数も適宜変更される。
【００８１】
図１７は仮の重心算出サブルーチン（図１６のステップＳ４１００）の詳細を示すフローチャートである。ここでは、ステップＳ４０４において抽出された閾値Ｇ２１より高輝度の各グループについてそれぞれの重心座標が算出される。
【００８２】
まず、ステップＳ４１０２において、外接矩形候補ＧＫにおける閾値Ｇ２１より高輝度の全てのグループについてステップＳ４１０４以下の処理が終了したか否かが判定される。ステップＳ４０４においてグループが抽出されなかった場合や、全グループの処理が終了した場合には、仮の重心算出サブルーチンは終了し、図１６の組合せ検出サブルーチンに戻る。未処理のグループがある場合には、その中の１つのグループが設定されステップＳ４１０４に進む。
【００８３】
ステップＳ４１０４においては、変数ＳｕｍＸ、ＳｕｍＹおよびＳｕｍＩＭｇが初期化される。ステップＳ４１０６では、現在設定されているグループの全画素について以下のステップ４１０８〜Ｓ４１１２の処理が終了したか否かが判定され、終了した場合にはステップＳ４１１４に進み、未処理の画素があると判定されると、ステップＳ４１０８へ進む。
【００８４】
ステップＳ４１０８において、１つのグループ内の所定の画素の輝度値ＩＭｇ (ｊ，ｋ) と、その画素のＸａ座標ｊとの積が算出される。そして、この時点で既に変数ＳｕｍＸに格納されている値に積を加算した値が新たに変数ＳｕｍＸに格納される。同様に、ステップＳ４１１０において所定画素の輝度値ＩＭｇ( ｊ，ｋ) と、その画素のＹａ座標ｋとの積が算出され、その時点で既に変数ＳｕｍＹに格納されている値に、積を加算した値が新たに変数ＳｕｍＹに格納される。さらに、ステップＳ４１１２において、所定画素の輝度値とその時点で変数ＳｕｍＩＭｇに格納されている値との和が新たに変数ＳｕｍＩＭｇに格納される。ステップＳ４１１２が終了するとステップＳ４１０６へ戻る。このように、ステップ４１０８〜Ｓ４１１２は１グループを構成する全画素に対して繰り返し実行される。
【００８５】
ステップＳ４１０６〜Ｓ４１１２により、変数ＳｕｍＸには１つのグループを構成する各画素の輝度値とＸａ座標との積を累積した総和、即ち各画素の輝度値をＸａ方向の座標に基づいて重み付けした総和が格納される。同様に、変数ＳｕｍＹには各画素の輝度値をＹａ方向の座標に基づいて重み付けした総和が格納される。また、変数ＳｕｍＩＭｇには各画素の輝度値の総和が格納される。
【００８６】
次にステップＳ４１１４が実行され、Ｘａ方向に重み付けされた総和ＳｕｍＸを各画素の輝度値の総和ＳｕｍＩＭｇで除算した値が、グループの仮の重心のＸａ座標として決定される。さらにステップＳ４１１６ではＹａ方向に重み付けされた総和ＳｕｍＹを各画素の輝度値の総和ＳｕｍＩＭｇで除算した値が、グループの仮の重心のＹａ座標として決定される。ステップＳ４１１６が終了すると、ステップＳ４１０２に戻る。
【００８７】
この仮の重心のＸａ座標およびＹａ座標は、厳密には真の重心に対して微少の誤差を生じるが、この仮の重心は後述の３点列−４点列検出サブルーチン（ステップＳ４２００）および組合せ登録サブルーチン（ステップＳ４３００）にのみ用いられるので、誤差は許容範囲内であり特に問題とはならない。真の重心のＸａ座標およびＹａ座標は、座標補正サブルーチン（図９のステップＳ５００）において算出される。なお、本実施形態では輝度値ＩＭｇ (ｊ，ｋ) による重み付けを行っているが、この重み付けの値を「１」とし、仮の重心の算出を簡略化して、算出時間を短縮してもよい。
【００８８】
このように、仮の重心算出サブルーチンにおいては、所定の閾値候補Ｇ２１以上の輝度値を有する外接矩形候補ＧＫ内の全てのグループについて、仮の重心座標が算出される。
【００８９】
図１８は、仮の重心算出サブルーチンに続いて処理される３点列−４点列検出サブルーチン（図１６のステップＳ４２００）の詳細を示すフローチャートである。上述したように、ターゲット２０における基準点２２、２４、２６および補助点３２、３４、３６の配列により、画像ＩＭ１においてこれらは３つの点（２４、３６、２６）から成る３点列と、この３点列に対して所定角度を有しかつ端点が一致する４点列（４点２４、３４、３２および２２から成る）との組合せとして認識される。ここでは３点列および４点列が抽出される。
【００９０】
ステップＳ４２０２では、まず２つのグループの全組合せについて、ステップＳ４２０４以降の処理が実行されたか否かが判定される。例えばステップＳ４０４のラベリング（図１６参照）により６グループが抽出されると、２つのグループの組合せ総数は１５である。ステップＳ４０４においてグループが抽出されなかった場合や、全組合せについて処理が終了した場合、３点列−４点列検出サブルーチンは終了し、図１６の組合せ検出サブルーチンに戻る。終了していないと判定されると、未だ処理されていない２グループの組合せが設定され、ステップＳ４２０４に進む。
【００９１】
ステップＳ４２０４では、設定された２つのグループの仮の重心を含む線分が算出される。そして、ステップＳ４２０６において、算出された線分上に仮の重心を有するグループが検出される。このグループの検出においては、仮の重心の誤差を考慮して、所定の許容誤差範囲内であることとする。
【００９２】
ステップＳ４２０８では、線分上に仮の重心を有するグループが３であるか否か、即ち選択した２グループ以外に１つのグループが検出されたか否かが判定され、グループ数が３に一致する場合は、ステップＳ４２１０においてこれら３グループが３点列に登録される。
【００９３】
さらに、ステップＳ４２１２では、線分上に仮の重心を有するグループが４であるか否か、即ち選択した２グループ以外に２つのグループが検出されたか否かが判定され、グループ数が４に一致する場合は、ステップＳ４２１４においてこれら４つのグループが４点列に登録される。ステップＳ４２１４が終了すると、未処理の２グループの組合せに変更すべくステップＳ４２０２に戻る。なお、ステップＳ４２０８およびステップＳ４２１２において、グループ数が３または４に一致しない場合には、３点列または４点列に登録されない。
【００９４】
例えば、外接矩形候補ＧＫについて閾値候補Ｇ２１より高輝度のグループが６つ検出され、これらグループの配列が基準点２２、２４、２６および補助点３２、３４、３６の配列に一致する場合、３点列は基準点２２および補助点３２、３４に相当する組合せと、補助点３２、３４および基準点２４に相当する組合せと、基準点２４、補助点３６および基準点２６に相当する組合せとの３組が登録され、４点列は１組（基準点２２、補助点３２、３４および基準点２４）登録される。
【００９５】
３点列および４点列の登録は、具体的には作業メモリ７４の所定領域に、対応付けられたグループの名称（これはＣＰＵ５４により適宜定義付けられる）、グループを構成する画素および対応する輝度値が格納される。
【００９６】
図１９は組合せ登録サブルーチン（図１６のステップＳ４３００）の詳細を示すフローチャートである。
【００９７】
ステップＳ４３０２では３点列−４点列検出サブルーチンにより登録された全ての３点列に対してステップＳ４３０４以降の処理が終了したか否かが判定され、終了した場合にはこの組合せ登録サブルーチンが終了し、未だ処理されていない３点列がある場合には、その中の１組の３点列が選択され、ステップＳ４３０４に進む。
【００９８】
ステップＳ４３０４では３点列−４点列検出サブルーチンにより登録された全ての４点列に対してステップＳ４３０６以降の処理が終了したか否かが判定され、終了した場合にはステップＳ４３０２に戻り、未だ処理されていない４点列がある場合にはその中の１組の４点列が選択され、ステップＳ４３０６に進む。
【００９９】
ステップＳ４３０６では、選択された３点列および４点列のそれぞれ端点に相当するグループの仮の重心座標が、互いに一致するか否かが判定される。一致する場合にはステップＳ４３０８が実行される。
【０１００】
ステップＳ４３０８では、３点列を構成するグループのうち、４点列と一致する端点と反対側の端点に相当するグループの仮の重心座標が、基準点２２の写真座標を示す変数ａ１（ｘａ１，ｙａ１）に格納される。３点列および４点列に一致する端点に相当するグループの仮の重心座標は、基準点２４の写真座標を示す変数ａ２（ｘａ２，ｙａ２）に格納される。さらに、４点列を構成するグループのうち、３点列と一致する端点と反対側の端点に相当するグループの仮の重心座標が、基準点２６の写真座標を示す変数ａ３（ｘａ  ３，ｙａ３）に格納される。そして、点ａ２から点ａ１へ向かうベクトルに対する、点ａ２から点ａ３へ向かうベクトルの成す反時計回りの角度θが算出される。
【０１０１】
なお、４点列を構成するグループのうち、端点ではなくかつ基準点２２に相当すると判定されたグループの側にあるグループの仮の重心座標が、補助点３２の写真座標を示す変数ａ４（ｘａ４，ｙａ４）に格納され、残りのグループの仮の重心座標が、補助点３４の写真座標を示す変数ａ５（ｘａ５，ｙａ５）に格納される。３点列の中点に相当するグループの仮の重心座標は、補助点３２の写真座標を示す変数ａ６（ｘａ６，ｙａ６）に格納される。
【０１０２】
ステップＳ４３１０では、角度θが所定角度範囲内であるか否か、即ち下限値Ｔｈ１より大きくかつ上限値Ｔｈ２より小さいか否かが判定される。これにより、選択された３点列および４点列の組合せが正しい組合せであると判断できる。なお、図４に示すターゲット２０を用いる場合には、下限値Ｔｈ１は０°であり、上限値は１８０°であるが、これらの値は経験に基づいて適宜変更可能である。範囲を狭くすれば、誤差の少ない基準点および補助点の組合せがさらに短時間で得られる。
【０１０３】
ステップＳ４３１０の角度条件を満たす場合、ステップＳ４３１２において選択された３点列および４点列の組合せは、基準点部材２２、２４、２６および補助点３２、３４、３６の相対関係を満たす組合せとして登録される。
【０１０４】
ステップＳ４３１０の終了後、あるいはステップＳ４３０６において３点列および４点列の端点が一致しなかった場合には、ステップＳ４３０４に戻り、未だ選択されていない４点列が新たに選択されて、既に選択されている３点列との組合せでステップＳ４３０６以降が再実行される。選択された３点列に対していずれの４点列との組合せが正しくなかった場合、即ちステップＳ４３０４で全ての４点列に対して処理が終了したと判定されると、ステップＳ４３０２に戻り、今度は未だ選択されていない別の３点列に変更され、ステップＳ４３０４以下が再実行される。このように３点列および４点列の組合せを変えながら、ステップＳ４３０６〜Ｓ４３１２が実行される。
【０１０５】
３点列および４点列の全組合せに対して処理が終了すれば、即ちステップＳ４３０２において全ての３点列に対して処理が終了したと判定されると、組合せ登録サブルーチンが終了し、組合せ検出サブルーチン（図１６）に戻る。
【０１０６】
以上のように、組合せ検出サブルーチンでは、外接矩形候補算出サブルーチンで予め切り取られた領域に対して処理を行うので、全画像から抽出する従来の画像処理に比べて抽出誤差が少なく、かつ画像処理速度を速めることができる。
【０１０７】
図２０〜図２６を参照して、座標補正サブルーチン（図９のステップＳ５００）について説明する。図２０は座標補正サブルーチンの詳細を示すフローチャートである。
【０１０８】
まずステップＳ５０２では、組合せ検出サブルーチン（ステップＳ４００）により求められた組合せについて、基準点または補助点に相当する６つの画素のグループそれぞれについて、ステップＳ５０４〜Ｓ５２００が実行されたか否かが判定される。終了した場合にはこの座標補正サブルーチンが終了し、図９のメインルーチンに戻る。終了していない場合には、画像ＩＭ１において基準点２２、２４、２６または補助点３２、３４、３６に相当するグループの中から未処理のグループの１つが選択され、ステップＳ５０４へ進む。以降のステップＳ５０４〜Ｓ５２００は、基準点２２に相当するグループが選択された場合について説明する。
【０１０９】
ステップＳ５０４では、設定されたグループを含む領域（以下、近傍領域と呼ぶ）が画像ＩＭ１から切り出され、この近傍領域の輝度値ＩＭｇ（ｊ，ｋ）が読み出される。図２１は基準点２２に相当するグループを含む１３×１０画素の近傍領域ＫＲをマトリクス状に示す概念図であり、ハッチングの間隔が小さくなる領域ほど輝度が低いことを示す。なお近傍領域ＫＲは図２１では数段階に分かれて示されるが、実際には２５６階調を有する。そして近傍領域ＫＲの輝度値ＩＭｇ（ｊ，ｋ）について、図２２に示すヒストグラムが生成される。
【０１１０】
この近傍領域ＫＲは、少なくとも基準点２２に相当するグループ、即ち高輝度領域（図２１の白い領域）を含む大きさを有し、かつこれらの周囲に設けられた環状部材２５に相当する低輝度領域より小さい領域である。従って、図２２のヒストグラムでは、低輝度領域に相当する山ＭＴ３１と、高輝度領域に相当する山ＭＴ３２との２つが出現する。
【０１１１】
ステップＳ５０８では低輝度領域に相当する山ＭＴ３１が検出され、ステップＳ５１０において、この山ＭＴ３１の頂点部、即ち画素数が最大値をとるときの輝度値Ｇ３が、後述するステップＳ５１４の２値化処理における閾値として取得される。この閾値Ｇ３でもって２値化およびラベリング処理を行えば、閾値Ｇ３より高輝度の領域がグループとして抽出されるが、実際にはノイズ等により環状部材２５に相当する領域の画素を共に抽出してしまうことがある。このため、２値化処理の前に、近傍領域ＫＲに対してラプラシアン・フィルタ処理（ステップＳ５１２）が施される。
【０１１２】
ラプラシアン・フィルタ処理では、例えば図２３に示す８近傍ラプラシアン・フィルタが用いられる。即ち、下記の式（１０）によって各画素の輝度値ＩＭｇ（ｊ，ｋ）が、周囲の８個の画素の輝度値を考慮した値ＫＲ（ｊ，ｋ）に変換される。
【数５】
0004043657.tif 000006
【０１１３】
図２４のグラフを参照して、ラプラシアン・フィルタ処理による効果を説明する。同図には、図２１のＸａ方向（図の水平方向）のラインＬＸに関して、Ｘａ座標と輝度値との関係が示されており、実線は処理前の輝度値、破線は処理後の輝度値が示される。図２４に明らかなように、輝度値が高い領域はさらに高い輝度値に変換され、境界部分に相当する領域は閾値Ｇ３より低い輝度値に変換される。
【０１１４】
次に、ステップＳ５１４において近傍領域ＫＲの輝度値ＩＭｇ（ｊ，ｋ）は閾値Ｇ３で２値化され、ステップＳ５１６のラベリング処理により閾値Ｇ３より高い輝度値を有するグループが基準点２２に相当する領域として抽出される。このように、２値化処理の前にラプラシアン・フィルタ処理を施すことにより、高輝度領域と低輝度領域との境界部分の輝度差が強調され、基準点２２に相当する領域を高精度に抽出することができる。なお、図２１の場合では基準点２２に相当する１つのグループのみが抽出されるが、ノイズ等により複数のグループが抽出される場合もある。
【０１１５】
ステップＳ５１６が終了すると、ステップＳ５１００において真の重心算出サブルーチンが実行される。真の重心算出サブルーチンでは、ラプラシアン・フィルタ処理が施された近傍領域ＫＲから抽出され閾値Ｇ３より高い輝度値を有するグループのそれぞれについて高精度な重心の座標が算出される。このステップＳ５１００によって求められた高精度な重心の座標を、ステップＳ４１００において求められた仮の重心座標と区別するために、真の重心座標と呼ぶ。
【０１１６】
続いて、ステップＳ５２００において重心補正サブルーチンが実行される。写真座標ａ１（ｘａ１，ｙａ１）には、仮の重心算出サブルーチン（ステップＳ４１００）により求められた仮の重心座標が格納されており、ここで現在格納されている仮の重心座標と直前の真の重心算出サブルーチン（ステップＳ５１００）によって求められた全グループの真の重心座標とがそれぞれ比較され、全グループの中から最も仮の重心座標に近いグループが選択される。そして、選択されたグループの真の重心座標が仮の重心座標より高精度な重心座標として、写真座標ａ１（ｘａ１，ｙａ１）に格納される。これにより写真座標ａ１（ｘａ１，ｙａ１）がさらに高精度の値に補正される。
【０１１７】
重心補正サブルーチン（ステップＳ５２００）が終了すると、未だ処理されていないグループに変更すべく図２０のステップＳ５０２に戻る。このように、ステップＳ５０４〜Ｓ５２００は、基準点２２、２４、２６および補助点３２、３４、３６に相当するグループ全てについて繰り返し実行される。
【０１１８】
以上のように、座標補正サブルーチン（ステップＳ５００）では所定の外接矩形候補、所定の２値化閾値候補および所定の組合せについて、基準点２２、２４、２６および補助点３２、３４、３６の写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜６）がさらに高精度の値に補正される。なお、所定の外接矩形候補、所定の２値化閾値候補および所定の組合せが適切なものでなければ、写真座標ａｉ（ｘａｉ，ｙａｉ）は補正されない可能性が高くなる。
【０１１９】
図２５は真の重心算出サブルーチン（図２０のステップＳ５１００）の詳細を示すフローチャートである。ここでは、ステップＳ５１６において抽出された閾値Ｇ３より高輝度の各グループについて、それぞれの輝度値および閾値Ｇ３を考慮した高精度の重心座標が算出される。
【０１２０】
なお、真の重心算出サブルーチンは、仮の重心算出サブルーチン（ステップＳ４１００）とほぼ同じ処理流れであり、対応する処理については符号に１０００を加算して示している。ステップＳ４１００と同じ処理についてはここでは省略する。
【０１２１】
ステップＳ４１００と異なる点は、ステップＳ５１０８およびステップＳ５１１０である。ステップＳ５１０８では、１つのグループ内の所定の画素の輝度値ＩＭｇ（ｊ，ｋ）から閾値Ｇ３を差し引いた値と、その画素のＸａ座標ｊとの積が算出される。そして、この時点で既に変数ＳｕｍＸに格納されている値に、積を加算した値が新たに変数ＳｕｍＸに格納される。同様に、ステップＳ５１１０において所定画素の輝度値ＩＭｇ（ｊ，ｋ）から閾値Ｇ３を差し引いた値と、この画素のＹａ座標ｋとの積が算出され、その時点で既に変数ＳｕｍＹに格納されている値に、積を加算した値が新たに変数ＳｕｍＹに格納される。
【０１２２】
このように、変数ＳｕｍＸには１つのグループを構成する各画素の輝度値から閾値Ｇ３を差し引いた値とＸａ座標との積を累積した総和、即ち各画素の輝度値と閾値Ｇ３との差をＸａ方向の座標に基づいて重み付けをした総和が格納される。同様に、変数ＳｕｍＹには各画素の輝度値と閾値Ｇ３との差をＹａ方向の座標に基づいて重み付けをした総和が格納される。
【０１２３】
ここで、重み付けの値として、各画素の輝度値から閾値Ｇ３を差し引いた値を用いると、ステップＳ４１００のように各画素の輝度値のみを用いる場合よりも、高精度の重心座標が算出できる。
【０１２４】
ステップＳ５１１４では、グループの真の重心のＸａ座標が、Ｘａ方向に重み付けされた総和ＳｕｍＸを各画素の輝度値の総和ＳｕｍＩＭｇで除算した値に更新される。ステップＳ５１１６において、グループの真の重心のＹａ座標が、Ｙａ方向に重み付けされた総和ＳｕｍＹを各画素の輝度値の総和ＳｕｍＩＭｇで除算した値に更新される。
【０１２５】
以上のように、真の重心算出サブルーチン（ステップＳ５１００）では閾値Ｇ３以上の輝度値を有する近傍領域ＫＲ内の各グループについて、輝度値ＩＭｇおよび閾値Ｇ３を考慮した真の重心座標がそれぞれ算出される。なお、この段階では基準点２２に相当するグループだけでなく、近傍領域ＫＲ内のノイズ等がグループとして抽出される可能性があり、次に実行される重心補正サブルーチン（ステップＳ５２００）により、これらノイズ等のグループが除去される。
【０１２６】
図２６は重心補正サブルーチン（図２０のステップＳ５２００）の詳細を示すフローチャートである。
【０１２７】
ステップＳ５２０２では、許容誤差を示す変数ＭｉｎＬｅｎｇｔｈが初期化される。この変数ＭｉｎＬｅｎｇｔｈの初期値は、十分大きな値、例えば画像のＸａ方向に並ぶピクセル数に設定される。
【０１２８】
次にステップＳ５２０４が実行され、真の重心算出サブルーチン（ステップＳ５１００）において算出された全てグループの真の重心座標について、ステップＳ５２０６〜Ｓ５２１０の処理が終了したか否かが判定される。処理が終了したと判定されると、この重心補正サブルーチンが終了し、図２０の座標補正サブルーチン（ステップＳ５００）に戻る。終了していなければ未だ処理されていない真の重心座標についてステップＳ５２０６〜Ｓ５２１０が実行される。
【０１２９】
ステップＳ５２０６では、現在写真座標ａ１（ｘａ１，ｙａ１）に格納されている仮の重心座標と、真の重心座標との重心間距離が算出され、この重心間距離が許容誤差ＭｉｎＬｅｎｇｔｈより小さい値か否かが判定される。
【０１３０】
重心間距離が許容誤差ＭｉｎＬｅｎｇｔｈ内であれば、ステップＳ５２０８に進み、許容誤差ＭｉｎＬｅｎｇｔｈはステップＳ５２０６で求められた重心間距離に更新され、ステップＳ５２１０において変数ｘａ１およびｙａ１の値はそれぞれ現在の真の重心座標のｘａ座標およびｙａ座標の値に更新される。即ち、現在の真の重心の座標が基準点２２の写真座標ａ１（ｘａ１，ｙａ１）として定められ、ステップＳ５２０４に戻る。重心間距離が許容誤差ＭｉｎＬｅｎｇｔｈより大きければ、写真座標ａ１（ｘａ１，ｙａ１）は補正されず、ステップＳ５２０４に戻る。
【０１３１】
このようにして、全グループの真の重心座標についてステップＳ５２０６〜Ｓ５２１０が実行されることにより、重心補正サブルーチン（ステップＳ５２０  ０）が終了した時点で、仮の重心に最も近い真の重心が基準点２２として定められ、真の重心座標が写真座標ａ１（ｘａ１，ｙａ１）に格納される。即ち、写真座標ａ１（ｘａ１，ｙａ１）は高精度な値に補正される。
【０１３２】
重心補正サブルーチン（ステップＳ５２００）が終了すると、ステップＳ５０２に戻り、未だ未処理の基準点または補助点についてその写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝２〜６）を高精度な値に補正すべくステップＳ５０４〜Ｓ５２００が再実行される（図１７参照）。さらに全ての基準点および補助点について処理が終了するとステップＳ５００が終了し、次のステップＳ６００が実行される（図９参照）。
【０１３３】
図２７にはカメラパラメータ算出確認サブルーチン（ステップＳ６００）の詳細が示され、ステップＳ５００までの処理によって、所定の外接矩形候補、所定の２値化閾値候補および所定の組合せについて求められた写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜６）を用いて、カメラパラメータが決定される。
【０１３４】
まず、ステップＳ６１００のカメラパラメータ算出サブルーチンが実行され、基準点２２、２４、２６の写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜３）が前述の式（５）に代入され、カメラパラメータ、即ち図６に示すカメラ位置Ｍ１の基準座標（ΔＸ，ΔＹ，ΔＺ）および光軸Ｏ１の傾き（α，β，γ）が逐次近似解法を用いて算出される。
【０１３５】
ステップＳ６０２では、ステップＳ６１００で求められたカメラパラメータが所定の値に収束したか否かが判定され、収束しなければステップＳ６０４へ進み、収束したと判定されればステップＳ６０６へ進む。
【０１３６】
ステップＳ６０６、Ｓ６２００およびＳ６０８では、ステップＳ６１００において求められたカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）が式（３）および式（４）に代入され、補助点３２、３４、３６のスクリーン座標ｐｉ（ｘｐｉ，ｙｐｉ）（ｉ＝４〜６）が算出される。そしてこのスクリーン座標ｐｉと、対応する写真座標ａｉ（ｘａｉ，ｙａｉ）との距離が、所定の許容誤差Ｔｈ３以内であるか否かが判定され、３つの補助点３２、３４、３６全てについて許容誤差Ｔｈ３以内であればステップＳ６１０へ、何れか１つでも許容誤差Ｔｈ３以上であればステップＳ６０４へ進む。許容誤差Ｔｈ３は例えば０．２５ピクセルである。
【０１３７】
ステップＳ６０４では、確認結果がＮＧ、即ちカメラパラメータの算出に失敗した旨を示す信号が返され、ステップＳ６１０では、確認結果がＯＫ、即ちカメラパラメータの算出に成功した旨を示す信号が返される。以上で、カメラパラメータ算出確認サブルーチンが終了し、メインルーチンに戻る。
【０１３８】
カメラパラメータが高精度な値であればスクリーン座標ｐｉおよび写真座標ａｉは実質的に一致する。もし所定の外接矩形候補、所定の２値化閾値候補および所定の組合せが適切なものでなければ、座標補正サブルーチン（ステップＳ５００）において写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜６）は補正されず、ステップＳ６１００において算出されるカメラパラメータは精度の低い値となり、ステップＳ６０８において距離が許容誤差Ｔｈ３を超える可能性が高くなる。外接矩形候補、２値化閾値候補および組合せの、少なくとも何れか１つが適切なものではなかったと判断できる。
【０１３９】
図２８はカメラパラメータ算出サブルーチン（図２７のステップＳ６１００）の詳細を示すフローチャートである。
【０１４０】
ステップＳ６１０２において、カメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）が初期化される。次いで、ステップＳ６１０４において基準座標Ｐｓ１（−ＬＴ，０，０）、Ｐｓ２（０，０，０）、Ｐｓ３（０，０，ＬＴ）が式（３）に代入され、かつ式  （３）および式（４）のカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）に適当な値が代入され、これにより基準点２２、２４、２６のカメラ座標Ｐｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）（ｉ＝１〜３）が算出される。
【０１４１】
ステップＳ６１０６において、式（１）および式（２）に基準点２２、２４、２６のカメラ座標Ｐｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）（ｉ＝１〜３）が代入され、これにより基準点２２、２４、２６のスクリーン座標ｐｉ（ｘｐｉ，ｙｐｉ）（ｉ＝１〜３）が求められる。
【０１４２】
ステップＳ６１０８では、画像ＩＭ１から自動抽出された写真座標ａｉ（ｘａｉ，ｙａｉ）（ｉ＝１〜３）と、ステップＳ６１０６により求められたスクリーン座標ｐｉ（ｘｐｉ，ｙｐｉ）（ｉ＝１〜３）との差分値がそれぞれ算出され、さらにそれらの合計値ｄが算出される。
【０１４３】
ステップＳ６１１０では、合計値ｄが最小値であるか否かが判定され、最小値でない場合は、カメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）の値が変えられて、再びステップＳ６１０４〜Ｓ６１０８の処理が繰り返される。このようにして、合計値ｄが最小値となる、即ち写真座標ａｉとスクリーン座標ｐｉとが実質的に一致するようなカメラパラメータが算出される。
【０１４４】
ステップＳ６１１０において合計値ｄが最小であることが確認されたら、ステップＳ６１１２に進み、合計値ｄが最小値をとるカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）の値が作業領域７４に格納され、カメラパラメータ算出サブルーチンが終了する。
【０１４５】
図２９は補助点のスクリーン座標算出サブルーチン（図２７のステップＳ６２００）の詳細を示すフローチャートである。
【０１４６】
ステップＳ６２０２において、補助点３２、３４、３６の基準座標Ｐｓ４（｛−ＬＴ／３｝，０，０）、Ｐｓ５（｛−２ＬＴ／３｝，０，０）、Ｐｓ６（０，０，｛−ＬＴ／２｝）と、カメラパラメータ算出サブルーチン（ステップＳ６１００）により算出されたカメラパラメータ（ΔＸ，ΔＹ，ΔＺ，α，β，γ）の値が、式（３）および式（４）に代入され、これにより補助点３２、３４、３６のカメラ座標Ｐｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）（ｉ＝４〜６）が算出される。
【０１４７】
次いで、ステップＳ６２０４において、補助点３２、３４、３６のカメラ座標Ｐｃｉ（Ｐｃｘｉ，Ｐｃｙｉ，Ｐｃｚｉ）（ｉ＝４〜６）が、式（１）および式（２）に代入され、これにより補助点３２、３４、３６のスクリーン座標ｐｉ  （ｘｐｉ，ｙｐｉ）（ｉ＝４〜６）が算出される。以上で補助点のスクリーン座標算出サブルーチンが終了し、図２７のカメラパラメータ算出確認サブルーチンに戻る。
【０１４８】
以上の様に本実施形態によれば、ターゲット２０の本体が無反射シートで覆われているので、画像ＩＭ１上において輝度の低いターゲット２０に相当する領域を２値化処理等により容易に抽出できる。従って、基準点２２、２４、２６および補助点３２、３４、３６を画像ＩＭ１から抽出する際に、処理対象となる領域（外接矩形候補）を限定して抽出誤差を少なくできる。
【０１４９】
また本実施形態によれば、基準点２２、２４、２６および補助点３２、３４、３６が、周囲の環状部材２５、２７、２９、３３、３５および３７と比較して、極めて輝度が高いので、２値化処理等によって自動的に基準点２２、２４、２６および補助点３２、３４、３６を２値化処理等により容易に抽出できる。
【０１５０】
さらに、２値化処理の前にラプラシアン・フィルタ処理を施しており、基準点２２、２４、２６および補助点３２、３４、３６と外側の領域との境界領域が強調され、境界領域にある低輝度の画素も重心算出の対象にできる。従って、基準点２２、２４、２６および補助点３２、３４、３６の重心座標を高精度に求めることができる。また、重心座標算出の際に対象画素の輝度値から２値化処理に用いられた閾値を差し引いた値によって重み付けを行っており、重心座標の精度をさらに向上できる。したがって、高精度の基準点２２、２４、２６および補助点３２、３４、３６の座標を用いて極めて誤差の少ないカメラパラメータが求められ、高精度の測量図が得られる。
【０１５１】
また、本実施形態においては、通常の使用状態では考えられないカメラパラメータが算出された場合や、算出したカメラパラメータから逆算した補助点３２、３４、３６のスクリーン座標ｐｉが実際に画像ＩＭ１から抽出された写真座標ａｉと大きな差がある場合には、抽出された基準点２２、２４、２６および補助点３２、３４、３６の写真座標ａｉが誤っていると判定されるので、基準点２２、２４、２６および補助点３２、３４、３６の画像ＩＭ１からの誤抽出が防止できる。
【０１５２】
また、本実施形態ではこれら基準点２２、２４、２６および補助点３２、３４、３６の画像ＩＭ１からの抽出が自動的に行われるので、オペレータが操作に煩わされることなく、高精度の基準点および補助点を短時間で抽出できる。
【０１５３】
【発明の効果】
本発明によると、基準点の高精度な写真座標が容易に求められるので、カメラパラメータおよび測量図の精度を向上させるとともに測量作業を簡略にすることができる。
【図面の簡単な説明】
【図１】本発明による写真測量画像処理方法の実施形態における写真測量の撮影状況を模式的に示す図であり、測量対象であるＴ字路を鉛直上方から見た水平面図である。
【図２】図１に示すカメラ位置Ｍ１において得られた画像ＩＭ１を概念的に示す図である。
【図３】図１に示すカメラ位置Ｍ２において得られた画像ＩＭ２を概念的に示す図である。
【図４】図１に示す撮影に用いられるターゲット２０を拡大して示す斜視図である。
【図５】本実施形態に用いられる写真測量画像処理装置の全体構成を示すブロック図である。
【図６】図１に示すカメラ位置Ｍ１と、カメラの撮影光学系の結像面であるスクリーンＳと、ターゲットとの位置関係を概念的に示す斜視図である。
【図７】図５に示す写真測量画像処理装置の表示装置における表示画面を概念的に示す図である。
【図８】図５に示す写真測量画像処理装置のＣＰＵにおいて実行されるカメラパラメータ算出処理のメインルーチンの前半を示すフローチャートである。
【図９】図５に示す写真測量画像処理装置のＣＰＵにおいて実行されるカメラパラメータ算出処理のメインルーチンの後半を示すフローチャートである。
【図１０】図８に示す外接矩形候補算出サブルーチンの前半部分の詳細を示すフローチャートである。
【図１１】図８に示す外接矩形候補算出サブルーチンの後半部分の詳細を示すフローチャートである。
【図１２】画像ＩＭおよび縮小画像ＩＧを示す概念図である。
【図１３】図１２に示す縮小画像ＩＧの輝度値に関する画素数のヒストグラムである。
【図１４】図９に示す２値化閾値候補検出サブルーチンの詳細を示すフローチャートである。
【図１５】図１２に示す外接矩形候補ＧＫの輝度値に関する画素数のヒストグラムである。
【図１６】図９に示す組合せ検出サブルーチンの詳細を示すフローチャートである。
【図１７】図１６に示す仮の重心算出サブルーチンの詳細を示すフローチャートである。
【図１８】図１６に示す３点列−４点列検出サブルーチンの詳細を示すフローチャートである。
【図１９】図１６に示す組合せ登録サブルーチンの詳細を示すフローチャートである。
【図２０】図９に示す座標補正サブルーチンの詳細を示すフローチャートである。
【図２１】図１２示す画像ＩＭから基準点に相当するグループを含む近傍領域を切り出した状態を示す図であり、各画素をマトリクス状に示す概念図である。
【図２２】図２１に示す近傍領域の輝度値に関する画素数のヒストグラムである。
【図２３】８近傍ラプラシアン・フィルタを概念的に示す図である。
【図２４】図２１に示すラインＬＸに関して、ラプラシアン・フィルタ処理前および処理後のＸａ座標と輝度値との関係を示すグラフである。
【図２５】図２０に示す真の重心算出サブルーチンの詳細を示すフローチャートである。
【図２６】図２０に示す重心補正サブルーチンの詳細を示すフローチャートである。
【図２７】図９に示すカメラパラメータ算出確認サブルーチンの詳細を示すフローチャートであ  る。
【図２８】図２７に示すカメラパラメータ算出サブルーチンの詳細を示すフローチャートである。
【図２９】図２７に示す補助点のスクリーン座標算出サブルーチンの詳細を示すフローチャートである。
【符号の説明】
１０  カメラ
２０  ターゲット
２２、２４、２６  基準点
３２、３４、３６  補助点
【図１】
0004043657.tif 000007
【図２】
0004043657.tif 000008
【図３】
0004043657.tif 000009
【図４】
0004043657.tif 000010
【図５】
0004043657.tif 000011
【図６】
0004043657.tif 000012
【図７】
0004043657.tif 000013
【図８】
0004043657.tif 000014
【図９】
0004043657.tif 000015
【図１０】
0004043657.tif 000016
【図１１】
0004043657.tif 000017
【図１２】
0004043657.tif 000018
【図１３】
0004043657.tif 000019
【図１４】
0004043657.tif 000020
【図１５】
0004043657.tif 000021
【図１６】
0004043657.tif 000022
【図１７】
0004043657.tif 000023
【図１８】
0004043657.tif 000024
【図１９】
0004043657.tif 000025
【図２０】
0004043657.tif 000026
【図２１】
0004043657.tif 000027
【図２２】
0004043657.tif 000028
【図２３】
0004043657.tif 000029
【図２４】
0004043657.tif 000030
【図２５】
0004043657.tif 000031
【図２６】
0004043657.tif 000032
【図２７】
0004043657.tif 000033
【図２８】
0004043657.tif 000034
【図２９】
0004043657.tif 000035