(57)【要約】【課題】差分を正確に検出できるようにする。【解決手段】基軸２２が設定されている。三次元形状１１と三次元形状１２の差分が測量されるとき、この基軸２２方向での差分が測量される。例えば、三次元形状１１上の所定の点として点１５が選択されたとする。点１５に対して、基軸２２方向にあり、三次元形状１２上の点は、点２１となる。よってこの場合、点１５と２１の差分が差分値として算出される。異なる視点１３や視点１４であっても、三次元形状１１と三次元形状１２の差分は、点１５と点２１との差分となるため、異なる視点で異なる差分値になるといったことを防ぐことが可能となり、正確な差分を検出することができる。本発明は、形状差分を検出する装置に適用できる。【選択図】図２
2011039646.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行う位置合わせ手段と、
前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出する検出手段と、
前記検出手段が前記差分を検出する方向を設定する設定手段と
を備え、
前記検出手段は、前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する
画像処理装置。
【請求項２】
前記第１の画像データと前記第２の画像データは、三次元形状の物体の画像データである
請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、設定された視点に対して同一の方向、または前記視点と垂直に交わる方向に、前記差分を検出する方向を設定する
請求項１に記載の画像処理装置。
【請求項４】
前記検出手段により検出された前記差分の表示を制御する表示制御手段をさらに備え、
前記表示制御手段は、前記第１の画像データまたは前記第２の画像データの各点の色情報に、前記差分の大きさに基づく色を反映させて表示させるための制御を行う
請求項１に記載の画像処理装置。
【請求項５】
前記検出手段により検出された前記差分の表示を制御する表示制御手段をさらに備え、
前記表示制御手段は、グリッド領域内で最も大きい値の前記差分を抽出し、その抽出された差分の値に基づくメッシュ状での表示を制御する
請求項１に記載の画像処理装置。
【請求項６】
撮像手段により撮像された第３の画像であり、前記第１の画像と前記第２の画像に撮像されている物体と同一の物体の画像である第３の画像に、前記差分を重畳させた画像の表示を制御する表示制御手段と、
前記第１の画像または前記第２の画像における局所特徴量と、前記第３の画像の局所特徴量を用いて、前記撮像手段の位置姿勢を取得する取得手段と、
をさらに備え、
前記設定手段は、前記取得手段により取得された前記位置姿勢に基づき前記方向を設定し、
前記表示制御手段は、前記設定手段で設定された前記位置姿勢に対する前記差分が重畳された画像の表示を制御する
請求項１に記載の画像処理装置。
【請求項７】
位置合わせ手段、検出手段、および設定手段を備える画像処理装置の画像処理方法において、
前記位置合わせ手段は、第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行い、
前記検出手段は、前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出し、
前記設定手段は、前記検出手段が前記差分を検出する方向を設定する
ステップを含み、
前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する
画像処理方法。
【請求項８】
位置合わせ手段、検出手段、および設定手段を備える画像処理装置に、
前記位置合わせ手段は、第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行い、
前記検出手段は、前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出し、
前記設定手段は、前記検出手段が前記差分を検出する方向を設定する
ステップを含み、
前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、並びにプログラムに関し、特に、３次元形状の物体の差異を検出し、その差異を表示できるようにした画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、３次元形状データの利用者層が拡大するとともに、アセンブリモデル、サブアセンブリや部品など部分モデルの干渉（重なり、ぶつかり）を検出するシミュレーションや組み立て性の検証など様々な局面で３次元形状データを有効活用する機会が増えている。ＣＡＤシステムなどにより生成された３次元形状データを製造工程へ移行する前に、コンピュータ上で解析／検証することが行われている。複数の部分モデル（サブアセンブリや部品に相当）から構成されるアセンブリモデルについて、その個々の部分モデル間の干渉を検出する機能は、ＣＡＤシステムにおいて設計ミスや入力ミスをチェックする形状評価などに有用な機能とされている。
【０００３】
ところで、干渉部が検出された場合、干渉している部分と干渉していない部分がわかるように利用者に示す必要がある。しかしながら、干渉状態にある複数の３次元形状モデルを示すだけで干渉している部分と干渉していない部分を区別して表示することはなされてなかった。そこで、特許文献１では、視点からの距離を基準に３次元形状モデル間の差分をとり、３次元形状モデル間の干渉状態をわかりやすく表示することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０８２５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の方法では、同一領域をみているにもかかわらず、視点位置が異なると差分結果が異なってしまう。また、視点位置が異なると、差分方向も異なってしまう。このことについて、図１を参照して説明する。三次元形状１１は、図示していない物体の一部分（輪郭）を表す。同様に、三次元形状１２は、図示していない物体の一部分を表す。ここで、三次元形状１１と三次元形状１２のそれぞれの物体の画像は、同一の物体の画像であり、一方が、現時点での物体の画像であり、他方が、その物体の過去の状態の物体の画像である。例えば、それらの２つの画像を比較することにより、その物体の経年劣化により差分を測量したいときを考える。
【０００６】
視点が視点１３の位置にある場合、視点１３と三次元形状１１上の点１５を結ぶ直線上にあり、かつ、三次元形状１２上にある点は、点１６となる。このような場合、三次元形状１１と三次元形状１２の差分は、点１５と点１６との差分Ｌ１となる。
【０００７】
視点が視点１４の位置にある場合、視点１４と三次元形状１１上の点１５を結ぶ直線上にあり、かつ、三次元形状１２上にある点は、点１７となる。このような場合、三次元形状１１と三次元形状１２の差分は、点１５と点１７との差分Ｌ２となる。
【０００８】
三次元形状１１上の点１５に注目したとき、異なる視点１３と視点１４とでは、三次元形状１２との差分も、差分Ｌ１と差分Ｌ２となり、異なる値となる。換言すれば、同一の点１５との差分を求めているのにも係わらず、視点が異なると差分が異なる。
【０００９】
これでは、どの領域同士の差分が検出されているのか判断するのが困難になってしまう。特許文献１のように、形状モデル間の干渉状態を見る目的だけであれば、このような異なる視点で、異なる差分値が得られるということでも問題ないかもしれない。しかしながら、差分結果自体の評価、例えば、経年劣化によりどれだけ削れてしまったかといったことの評価を行いたい場合、例えば、所定の物体の経年劣化による差分を検出したいといったような場合、視点が異なると差分値も異なるということでは、正確な検出、評価を行うのは困難である。
【００１０】
本発明は、このような状況に鑑みてなされたものであり、三次元形状の物体の差分を、視点の位置に係わらず、正確に検出することができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の画像処理方法は、第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行う位置合わせ手段と、前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出する検出手段と、前記検出手段が前記差分を検出する方向を設定する設定手段とを備え、前記検出手段は、前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する。
【００１２】
前記第１の画像データと前記第２の画像データは、三次元形状の物体の画像データであるようにすることができる。
【００１３】
前記設定手段は、設定された視点に対して同一の方向、または前記視点と垂直に交わる方向に、前記差分を検出する方向を設定するようにすることができる。
【００１４】
前記検出手段により検出された前記差分の表示を制御する表示制御手段をさらに備え、前記表示制御手段は、前記第１の画像データまたは前記第２の画像データの各点の色情報に、前記差分の大きさに基づく色を反映させて表示させるための制御を行うようにすることができる。
【００１５】
前記検出手段により検出された前記差分の表示を制御する表示制御手段をさらに備え、前記表示制御手段は、グリッド領域内で最も大きい値の前記差分を抽出し、その抽出された差分の値に基づくメッシュ状での表示を制御するようにすることができる。
【００１６】
撮像手段により撮像された第３の画像であり、前記第１の画像と前記第２の画像に撮像されている物体と同一の物体の画像である第３の画像に、前記差分を重畳させた画像の表示を制御する表示制御手段と、前記第１の画像または前記第２の画像における局所特徴量と、前記第３の画像の局所特徴量を用いて、前記撮像手段の位置姿勢を取得する取得手段と、をさらに備え、前記設定手段は、前記取得手段により取得された前記位置姿勢に基づき前記方向を設定し、前記表示制御手段は、前記設定手段で設定された前記位置姿勢に対する前記差分が重畳された画像の表示を制御するようにすることができる。
【００１７】
本発明の一側面の画像処理方法は、位置合わせ手段、検出手段、および設定手段を備える画像処理装置の画像処理方法において、前記位置合わせ手段は、第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行い、前記検出手段は、前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出し、前記設定手段は、前記検出手段が前記差分を検出する方向を設定するステップを含み、前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する。
【００１８】
本発明の一側面のプログラムは、位置合わせ手段、検出手段、および設定手段を備える画像処理装置に、前記位置合わせ手段は、第１の画像データに基づく第１の画像と第２の画像データに基づく第２の画像の位置合わせを行い、前記検出手段は、前記位置合わせ手段により位置合わせが行われた前記第１の画像と前記第２の画像との差分を検出し、前記設定手段は、前記検出手段が前記差分を検出する方向を設定するステップを含み、前記第１の画像を構成する所定の点と、前記第２の画像を構成するポリゴンとの差分であり、前記設定手段により設定された方向での差分を検出する処理をコンピュータに実行させる。
【００１９】
本発明の一側面の画像処理装置および方法、並びにプログラムにおいては、第１の画像と第２の画像が位置合わせされた後、第１の画像と第２の画像の差分が検出される。その差分は、設定された所定の方向における差分とされる。
【発明の効果】
【００２０】
本発明の一側面によれば、三次元形状の物体の差分を、視点の位置に係わらず、正確に検出することができる。
【図面の簡単な説明】
【００２１】
【図１】異なる視点で、異なる差分値が得られることを説明するための図である。
【図２】異なる視点でも、同一の差分値が得られることを説明するための図である。
【図３】差分値について説明するための図である。
【図４】本発明を適用した画像処理装置の一実施の形態の構成を示す図である。
【図５】ポリゴンについて説明するための図である。
【図６】ピンホールカメラモデルについて説明するための図である。
【図７】ピンホールカメラモデルについて説明するための図である。
【図８】基軸の設定の仕方について説明するための図である。
【図９】サンプリング軸について説明するための図である。
【図１０】差分値の算出について説明するための図である。
【図１１】点とポリゴンを比較する理由について説明するための図である。
【図１２】点とポリゴンを比較する理由について説明するための図である。
【図１３】点とポリゴンを比較する理由について説明するための図である。
【図１４】差分データの生成の処理について説明するフローチャートである。
【図１５】表示の仕方について説明するための図である。
【図１６】表示の一例を示す図である。
【図１７】実物体の画像に差分を重畳することを説明するための図である。
【図１８】実物体の画像に差分を重畳することを説明するための図である。
【図１９】本発明を適用した画像処理装置の他の実施の形態の構成を示す図である。
【図２０】表示の処理について説明するためのフローチャートである。
【図２１】記録媒体について説明するための図である。
【発明を実施するための形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
図２は、本発明を適用した画像処理装置で行われる処理の概念について説明するための図である。本発明は、以下に説明するように、三次元形状の物体の差異を検出することができる。また、検出した差異を表示することができる。この三次元形状の物体の差異を検出するとき、その検出される差異は、図２に示すように基軸２２の方向での差異とされる。
【００２４】
三次元形状１１は、図示していない物体の一部分（輪郭）を表す。同様に、三次元形状１２は、図示していない物体の一部分を表す。ここで、三次元形状１１と三次元形状１２のそれぞれの物体は、同一の物体の画像であり、一方が、現時点での物体の画像であり、他方が、その物体の過去の状態の物体の画像である。例えば、それらの２つの画像を比較することにより、その物体の経年劣化により差分を測量したいときを考える。
【００２５】
まず、基軸２２が設定される。この基軸２２は、例えば、測量の対象とされている物体の縦方向（高さ方向）に設定される。三次元形状１１と三次元形状１２の差分が測量されるとき、この基軸２２方向での差分が測量される。例えば、三次元形状１１上の所定の点として点１５が選択されたとする。点１５に対して、基軸２２方向にあり、三次元形状１２上の点は、点２１となる。よってこの場合、点１５と点２１の差分が差分値として算出される。
【００２６】
このように測量が行われることで、視点が視点１３のときの差分と、視点が視点１５のときの差分はともに、点１５と点２１との差分となるため、視点が異なっても同じ差分値が得られることになる。
【００２７】
したがって、図１を参照して説明した従来の場合と異なり、どの領域同士の差分が検出されているのか判断することが可能となる。また、差分結果自体の評価を行いたいといったような場合、例えば、所定の物体の経年劣化による差分を検出したいといったような場合に、視点が異なっても、差分値が同じであるようにすることが可能となり、正確な検出、評価を行うことが可能となる。
【００２８】
なお、この基軸２２には、方向も設定されており、プラス方向の差分であるか、マイナス方向の差分であるかを算出できるように構成されている。例えば、点１５を基準として、プラス方向に点２１が位置していれば、プラスの値の差分値として扱われ、マイナス方向に点２１が位置していれば、マイナスの値の差分値として扱われる。
【００２９】
より具体的に、図３を参照して説明を続ける。ここでは、所定の物体の経年劣化により差分を検出する例を例にあげて説明する。三次元形状データ５１は、物体６１の三次元形状データである。図３では、三次元形状データ５１に基づく画像を示してある。同様に、三次元形状データ５２は、物体６２の三次元形状データであり、図３では、三次元形状データ５２に基づく画像を示してある。物体６１と物体６２は同一の物体であるが、物体６２は、物体６１が経年劣化したものである。
【００３０】
物体６２は、経年劣化で部分６３が欠損している。物体６１と物体６２との差分をとると、部分６３が差分として検出される。この場合、物体６１から物体６２を減算することで、差分が検出されるとする。そして、この差分は、所定の方向を基準とする基軸２２が設定され、その基軸２２の方向での差分である。
【００３１】
三次元形状データ５１と三次元形状データ５２との差分が検出されることで、三次元形状データ５３が取得される。三次元形状データ５３は、物体６４の三次元形状データである。この物体６４の画像には、欠損している部分を表す部分６５も表示される。この部分６５は、部分６３である。また、この部分６５は、物体６１と物体６２の差分であることが明確に表すための表示がされる。
【００３２】
以下の説明においては、例えば、三次元形状データ５１のような経年劣化前の物体６１のデータを基準三次元形状データ５１と記述し、三次元形状データ５２のような経年劣化後の物体６２のデータを参照三次元形状データ５２と記述する。また、基準三次元形状データ５１に基づく物体６１の画像を基準三次元形状画像６１と記述し、参照三次元形状データ５２に基づく物体６２の画像を参照三次元形状画像６２と記述する。
【００３３】
［画像処理装置の構成について］
図４は、本発明を適用した画像処理装置の一実施の形態の構成を示す図である。図４に示した画像処理装置１００は、データベース１０１−１、データベース１０１−２、位置合わせ処理部１０２、差分処理部１０３、表示処理部１０４、基軸設定部１０５、および視点計算部１０６を含む構成とされている。
【００３４】
データベース１０１−１には、基準三次元形状データ５１が記憶され、データベース１０１−２には、参照三次元形状データ５２が記憶される。ここでは、２つのデータベースを示したが、１つのデータベース（記憶部）に、基準三次元形状データ５１と参照三次元形状データ５２が記憶されるようにしても良い。また、基準三次元形状データ５１と参照三次元形状データ５２のうちのどちらか一方、または両方のデータは、ネットワークを介して取得されるようにしても良い。ネットワークを介して取得されるようにした場合、ネットワークを介してデータの授受を行えるインタフェースを備える構成に、画像処理装置１００はされる。
【００３５】
例えば、基準三次元形状データ５１は、ネットワーク経由で取得され、参照三次元形状データ５２は、データベース１０１−２に記憶されているようにしても良い。このようにした場合、例えば、基準三次元形状データ５１が複数のユーザと共有され、その共有されている基準三次元形状データ５１がネットワーク経由で取得され、所定のユーザが管理している参照三次元形状データ５２と比較されるといったことができる。
【００３６】
また例えば、基準三次元形状データ５１は、データベース１０１−１に記憶し、参照三次元形状データ５２は、ネットワーク経由で取得されるようにしても良い。このようにした場合、例えば、数年前に撮影された基準三次元形状画像の基準三次元形状データ５１を、データベース１０１−１に記憶しておき、ネットワーク経由で、現状の参照三次元形状画像の参照三次元形状データ５２を取得し、比較するといったことができる。例えば、現状の参照三次元形状画像は、遠方に備え付けられたカメラであり、そのカメラから取得される画像とすることができる。
【００３７】
さらには、例えば、基準三次元形状データ５１と参照三次元形状データ５２の両方を、ネットワーク経由で取得されるようにしても良い。このようにした場合、画像処理装置１００を、データベース１０１−１とデータベース１０１−２を削除した構成とすることができる。このようにした場合、異なる地点に存在する三次元形状データ同士を比較することができる。
【００３８】
ここでは、図４に示したように、画像処理装置１００は、２つのデータベース１０１−１とデータベース１０１−２を備える構成であり、それぞれのデータベースには、基準三次元形状データ５１と参照三次元形状データ５２がそれぞれ記憶されているとして説明を続ける。
【００３９】
基準三次元形状データ５１と参照三次元形状データ５２は、それぞれ、図５に示すようなデータである。三次元形状画像は、複数のポリゴン１３１から構成されている。すなわち、三角形状のポリゴン１３１が、連続的に接続されることで三次元形状画像が生成される。１つのポリゴンは，３点から構成される。例えば、図５に示したポリゴン１３１は、点１３２、点１３３、および点１３４から構成されている。
【００４０】
なお、ここでは、ポリゴンは、３点で構成されているとして説明を続けるが、３点以外で構成されているポリゴンであっても、本発明を適用することはでき、３点で構成されるポリゴンに、本発明の適用範囲が限定されることを示しているのはない。
【００４１】
ポリゴン１３１を構成する点１３２、点１３３、および点１３４は、それぞれ３次元空間における位置の情報と、色の情報を有する。三次元空間における位置の情報とは、ｘ軸、ｙ軸、およびｚ軸上における座標である。基準三次元形状データ５１と参照三次元形状データ５２は、それぞれ、複数のポリゴンを構成する点のデータを含むデータであり、それぞれの点のデータは、位置の情報と色の情報から構成されているデータである。
【００４２】
ここでは、色の情報は、ＲＧＢ（Red・Green・Blue）チャネルで構成されているとする。このような色の情報を各点が有するのは、後述するように、差分結果を色で表現するためである。よって、例えば、白と黒の２値で差分結果を表示するように構成した場合、色情報としてＲＧＢチャネルでの情報とする必要はない。
【００４３】
後述するように、基準三次元形状データ５１に基づく基準三次元形状画像６１を構成する所定の点と、参照三次元形状データ５２に基づく参照三次元形状画像６２を構成する所定のポリゴンとの差分が算出される。
【００４４】
よって、基準三次元形状データ５１は、複数の点の情報で構成されていれば良く、ポリゴンの情報は必ずしも必要はない。例えば、基準三次元形状データ５１は、ワイヤーフレームなどの手法で得られた三次元形状画像のデータであっても良い。しかしながら、参照三次元形状データ５２は、ポリゴンの情報も必要である。
【００４５】
すなわち、２つの三次元形状データのうち、一方のデータは、三次元形状画像の点の情報（点の集合の情報）で構成され、他方のデータは、三次元形状画像のポリゴンの情報で構成されている。
【００４６】
これらの三次元形状データは、例えば、レーザレンジセンサを用いて計測する方法や、ステレオカメラで計測する方法などが適用されて得られるデータである。
【００４７】
図４に示した画像処理装置１００の構成に関する説明に戻り、位置合わせ処理部１０２は、データベース１０１−１から供給される基準三次元形状データ５１に基づく基準三次元形状画像６１と、データベース１０２−２から供給される参照三次元形状データ５２に基づく参照三次元形状画像６２との位置合わせを行う。位置合わせは、基準三次元形状画像６１と参照三次元形状画像６２を重ね合わせる作業である。
【００４８】
位置合わせ処理部１０２で行う形状同士の位置合わせは Iterative Closest Point アルゴリズムを用いた、例えば、”Iterative Point Matching for Registration of Free-form Curves", Zhengyou Zhang, INRIA (1992)や、テクスチャ情報同士ベースの位置合わせを用いた、例えば、特開2002-175521号公報に記載がある手法を適用することができる。また、意図的にユーザが合わせたい位置がある場合などには、ユーザが手動で位置合わせをしても、勿論良い。ここでの位置合わせは、三次元形状データに基づく画像同士の位置合わせであり、画像処理装置１００内で処理される。
【００４９】
例えば、撮像されている実際の三次元形状の物体の画像が取得され、その画像が参照三次元形状画像６２として用いられるような場合、ユーザにより、実際の三次元形状の物体が移動されることで、基準三次元形状画像６１との位置合わせが行われるようにしても良い。
【００５０】
差分処理部１０３は、位置合わせが行われた基準三次元形状画像６１と参照三次元形状画像６２との差分を算出する。すなわち、図３を参照して説明した処理が実行される。差分処理部１０３は、基軸設定部１０５で設定された基軸の方向に対する差分を算出する。この基軸は、図２を参照して説明した基軸２２のことである。
【００５１】
視点計算部１０６は、ＣＧ（computer graphics）内の基準三次元形状画像に対する視点（ウィンドウ）の相対的な位置姿勢を計算する。この視点計算部１０６が行う計算は、公知の技術を用いることができる。ここで、視点と基軸の設定に関する説明を行う。
【００５２】
視線の姿勢は、ピンホールカメラに従うとする。ピンホールカメラモデルは，OpenGL の 透視法(遠近法)の射影変換と同じで、透視法で作成される ＣＧの視点モデルは、ピンホールカメラモデルと同一とすることができる。ピンホールカメラモデルについて、図６、図７を参照して説明する。ピンホールカメラモデルにおいて、特徴点の画像フレーム中の位置は下式（１）によって計算することができる。
【数１】
2011039646.tif 000003
【００５３】
式（１）の意味について、図６、図７を参照して説明する。式（１）は、カメラの撮影画像２１０に含まれるオブジェクト２１１の点（ｍ）のカメラ像平面の画素位置２１２、すなわち、カメラ座標系によって表現されている位置と、世界座標系におけるオブジェクト２００の３次元位置（Ｍ）２０１との対応関係を示す式である。
【００５４】
カメラ像平面の画素位置２１２はカメラ座標系によって表現されている。カメラ座標系は、カメラの焦点を原点Ｃとして、像平面がＸｃ，Ｙｃの二次元平面、奥行きをＺｃとした座標系であり、カメラの動きによって原点Ｃは移動する。
【００５５】
一方、オブジェクト２００の３次元位置（Ｍ）２０１は、カメラの動きによって移動しない原点Ｏを有するＸＹＺ三軸からなる世界座標系によって示される。この異なる座標系でのオブジェクトの位置の対応関係を示す式が上述のピンホールカメラモデルとして定義される。
【００５６】
この式に含まれる値は、図７に示すように、
λ：正規化パラメータ
Ａ：カメラ内部パラメータ、
Ｃｗ：カメラ位置、
Ｒｗ：カメラ回転行列、
をそれぞれ意味している。
【００５７】
さらに、
【数２】
2011039646.tif 000004
は、同次座標系で表現されたカメラの像平面上の位置である。
λは、正規化パラメータであり、
【数３】
2011039646.tif 000005
の第３項を満足させるための値である。
【００５８】
なお、カメラ内部パラメータＡには、以下の値が含まれる。
f：焦点距離
θ：画像軸の直交性（理想値は９０°）
ｋｕ：縦軸のスケール（３次元位置のスケールから二次元画像のスケールへの変換）
ｋｖ：横軸のスケール（３次元位置のスケールから二次元画像のスケールへの変換）
（ｕ０，ｖ０）：画像中心位置
【００５９】
このように、世界座標系にある特徴点は位置［Ｍ］で表現される。また、カメラは位置［Ｃｗ］と姿勢（回転行列）Ｒｗで表現される。カメラの焦点位置・画像中心等はカメラ内部パラメータ［Ａ］で表現される。これらのパラメータから、「世界座標系にある特徴点」から「カメラの像平面上」に射影されるそれぞれの位置の関係式が、上述した式（１）によって表現することができる。
【００６０】
また、カメラの位置・姿勢を回転行列Ｒｗと並進ベクトルで表現した場合は、以下に示す式（４）のようになる。但し、並進ベクトルとカメラ位置との関係は式（５）で表される。
【数４】
2011039646.tif 000006
【数５】
2011039646.tif 000007
【００６１】
視線は、ピンホールカメラモデルの座標系を表す図６に従って述べると、Zc 軸に相当する。視点は、点Ｃに相当する。カメラ撮像平面（像平面）の u軸は、Xc軸とほぼ平行であり、v軸は Yc 軸とほぼ平行である。
【００６２】
このように視点や視線が求められるとき、基軸の設定は、以下のように行うことが可能である。ここでは、方法１、および方法２として、２つの設定方法について説明する。方法１においては、視線方向と同じ方向に基軸の方向が設定される。方法２においては、視点からみて垂直方向に基軸の方向が設定される。
【００６３】
図８Ａは、方法１に基づいて基軸の方向が設定されるときについて説明するための図である。視点３０１からの視線は、軸Ｚｃ方向であり、その軸Ｚｃ方向と基軸３０２の方向が同一方向として設定される。図８Ａに示した例では、基準三次元形状画像６１の高さ方向が、基軸３０２の方向に設定され、その方向が、視線の方向と一致している。ただし、基軸３０２の方向自体は、視線の方向と一致または逆向きに設定され、図８Ａにおいては、その方向は図示していない。
【００６４】
図８Ｂは、方法２に基づいて基軸の方向が設定されるときについて説明するための図である。視点３１１からの視線は、軸Ｚｃ方向であり、その軸Ｚｃ方向と垂直方向に基軸３０２の方向が設定される。図８Ｂに示した例では、基準三次元形状画像６１の高さ方向と斜めに交わる方向に、基軸３１２の方向が設定され、その方向が、視線の方向に対して垂直の方向と一致している。よって、視線の方向（Ｚｃ方向）との関係では、基軸３１２の方向は、Ｙｃ軸の方向となる。ただし、基軸３１２の方向自体は、視線の方向と垂直に交わる方向の一方の方向がプラス方向とされて設定されるが、図８Ｂにおいては、その方向は図示していない。
【００６５】
このように、視点計算部１０６では、視点の位置や視線の方向を計算し、基軸設定部１０５は基軸の方向を設定する。差分処理部１０３は基軸設定部１０５で設定された基軸の方向での差分を算出する。表示処理部１０４は、差分処理部１０３が算出した差分を、視点計算部１０６で計算された視点方向からの画像として、ユーザに提示するための処理を行う。
【００６６】
ここで、図９と図１０を参照し、差分処理部１０３が行う差分の算出の仕方について説明を加える。図９に示すように、基準三次元形状画像６１（参照三次元形状画像６２でも良い）の高さ方向に、基軸３５１が設定されている。この基軸３５１と平行な直線を、サンプリング軸３５２とする。このサンプリング軸３５２上の点とポリゴンが処理対象とされる。具体的には、図１０に示したような関係となる。
【００６７】
図１０において、太線は、基準三次元形状画像６１の一部分を表し、細線は、参照三次元形状画像６２の一部分を表す。基準三次元形状画像６１とサンプリング軸３５２が交わる点を点３７２とする。参照三次元形状画像６２とサンプリング軸３５２が交わる点を点３７１、点３７３とする。点３７２は、基準三次元形状画像６１を構成する所定の点である。基準三次元形状画像６１は、ポリゴンで構成されている必要がないため、この点３７２は、ポリゴン上の点である必要はない。点３７１と点３７３は、それぞれ、参照三次元形状画像６２を構成するポリゴン上の点である（ただし、ポリゴンの頂点である必要はない）。
【００６８】
基準三次元形状画像６１のサンプリング軸３５２上の点３７２と、参照三次元形状画像６２のサンプリング軸３５２上の点３７１、点３７３との差分が求められる。点３７２と点３７１との差分が、差分値３８１と求められ、点３７２と点３７３との差分が、差分値３８２と求められる。この場合、参照三次元形状画像６２とサンプリング軸３５２が交わる点が、２点あるため、２つの差分値が求められる。このように、参照三次元形状画像６２とサンプリング軸３５２が交わる点が複数ある場合、複数の差分値が求められる。
【００６９】
複数の差分値が求められた場合、最も小さい値の差分値が、その時点で処理対象とされている基準三次元形状画像６１の所定の点と参照三次元形状画像６２の所定のポリゴンとの差分値として設定される。図１０に示した状態のときには、差分値３８２の方が差分値３８１よりも小さい値なので、差分値３８２が、基準三次元形状画像６１の所定の点３７２と参照三次元形状画像６２の所定のポリゴンとの差分値として設定される。
【００７０】
このような処理についてまとめると、本実施の形態における２つの物体の差分値は、まず、基準三次元形状データ５１の所定の点が処理対象とされ、その所定の点に対して基軸３５１方向に直線（サンプリング軸３５２）が引かれる。そして、そのサンプリング軸３５２に交差する参照三次元形状データ５２（参照三次元形状データ５２のポリゴン）が全て求められ、最近傍のポリゴンとの距離が求められる。その最近傍のポリゴンとの距離が、基準三次元形状データ５１の所定の点との差分として検出される。
【００７１】
なお、差分値は、プラスまたはマイナスの値とする。点３７２から最近傍のポリゴンへ引いたベクトルの方向と基軸方向から正負の判定を行う。高さ方向と差分のベクトルとの向きが同一の場合、正とし、逆の場合、負とする。基軸の方向と同一の方向での差分であるのか、基軸の方向とは逆側の方向の差分であるのかを、形状差分データとすることで、どの方向への差分であるのかが明確になり、後述する差分の表示のときに、適切な表示ができるようになる。
【００７２】
このような処理が、基準三次元形状データ６１を構成する全点に対して行われることで、基準三次元形状画像６１と参照三次元形状画像６２との差分が検出され、差分データが生成される。表示処理部１０４（図４）は、この差分データを用いて、表示の制御を行う。どのような表示の制御が行われるかについては、いくつかの例をあげて後述する。
【００７３】
本実施の形態においては、上記したように、基準三次元形状画像６１を構成する点と、参照三次元形状画像６２を構成するポリゴンとの差分が求められるとして説明した。図１０を再度参照するに、例えば、所定の点３７２とポリゴン上の所定の点３７１との差分が求められるので、基準三次元形状画像６１を構成する点と、参照三次元形状画像６２を構成する点同士を比較し、差分を算出することも可能であると考えられる。しかしながら、上記したように、点とポリゴンとの差分が求められるようにした方が好ましい実施の形態であることを、以下に明らかにする。
【００７４】
図１１は、基準三次元形状データ５１に基づく基準三次元形状画像６１の所定の１点に着目し、その点と参照三次元形状データ５２に基づく参照三次元形状画像６２との位置関係を表している。図１１においては、基準三次元形状画像６１を構成する他の点の図示は省略している。
【００７５】
図１１において、基準三次元形状画像６１の処理対象とされた点を点３７２とする。そして、基軸３５１は、図１１に示すように設定されているとする。このようなときに、基軸３５１の方向で、点３７２を通る直線（図示はしていないが、サンプリング軸３５２に相当する線）を引いたときに、その直線が、参照三次元形状画像６２を構成するポリゴン４０１と交差する。このポリゴン４０１は、点４０２、点４０３、点４０４をそれぞれ頂点とする三角形状とされている。
【００７６】
ポリゴン４０１と直線が交差する点を点３７１とする。このような場合、点３７１と点３７２との差分が、差分値３８１として算出される。すなわち、基準三次元形状画像６１の点３７２における参照三次元形状画像６２との距離は、差分値３８１として算出される。
【００７７】
図１２も、図１１と同様に、基準三次元形状画像６１と参照三次元形状画像６２との位置関係を表す図である。図１２に示した参照三次元形状画像６２は、図１１に示した参照三次元形状画像６２と同じ点の数、点の位置である。しかしながら、図１２に示した参照三次元形状画像６２には、点４０２、点４０３、および点４３２をそれぞれ頂点とするポリゴン４３１が表示されている。
【００７８】
図１１に示した参照三次元形状画像６２と図１２に示した参照三次元形状画像６２は、同じ参照三次元形状データ５２から生成されるが、そのポリゴンの情報が異なるため、異なる画像となる。このように、同じ点の配置、点の数であっても、異なる形状の三次元形状画像が生成される可能性がある。図１２に示した参照三次元形状画像６２の場合、基準三次元形状画像６１の点３７２と参照三次元形状画像６２との差分は、参照三次元形状画像６２のポリゴン４３１上の点３７３との差分となるため、差分値３８２となる。
【００７９】
このように、同じ点の数であり、点の配列であっても、物体面を表現しているポリゴンが異なると、異なる差分値が得られることになる。このため、物体面を表すポリゴンが定義されていないと正確な差分値を算出することができない。よって、本実施の形態では、点とポリゴンを処理対象とし、差分が算出されるようにする。
【００８０】
また、仮に、点と点を処理対象とし、差分が算出されるようにした場合、図１３に示したような状況が発生し、差分が算出できないことも考えられる。すなわち図１３を参照して説明するに、まず。基軸３５１が、図１３に示すような方向に設定され、その基軸３５１に平行にサンプリング軸３５２が設定される（図９を参照して説明した）。
【００８１】
このとき、サンプリング軸３５２には、基準三次元形状画像６１を構成する点３７２が交わっている。図１３中、黒点は、参照三次元形状画像６２を構成する点を示す。サンプリング軸３５２の近傍には、参照三次元形状画像６２を構成する複数の点４５１乃至４５５が位置しているが、サンプリング軸３５２と交わる点はない。よって、このような状況の場合、点３７２との差分を算出するためのもう一方の点が存在しないことになる。
【００８２】
このように、サンプリング軸３５２には、基準三次元形状画像６１を構成する点３７２が存在していても、その点３７２と差分を算出する対象となる参照三次元形状画像６２を構成する点が存在しなければ、差分値が算出できない。このことは、点３７２に対する差分が検出できないことを意味する。このように、サンプリング軸３５２上に、処理対象とされる２点が必ずしも存在しない場合もあり、その結果として差分が検出できないことは好ましくない。よって、このような好ましくない状況が発生しないように、本実施の形態においては、点と点を処理対象とするのではなく、点とポリゴンを処理対象とする。
【００８３】
点とポリゴンを処理対象とすることで、例えば、図１３に示したような状況であっても、点４５１乃至４５３で１つのポリゴンが形成されていれば、そのポリゴンと、点３７２との差分を算出することができるため、差分を検出できることになる。
【００８４】
［画像処理装置の動作］
図１４のフローチャートを参照し、図４に示した画像処理装置１００における処理について説明する。図１４のフローチャートは、主に差分処理部１０３で実行される処理である。よって、図１４のフローチャートが開始される時点で、データベース１０１−１には、基準三次元形状データ５１が記憶され、データベース１０１−２には、参照三次元形状データ５２が記憶されている状態である。また、位置合わせ処理部１０２には、処理対象とされる基準三次元形状データ５１が、データベース１０１−１から供給され、その供給されている基準三次元形状データ５１に対応する参照三次元形状データ５２が、データベース１０１−２から供給されている。
【００８５】
さらに、位置合わせ処理部１０２により、基準三次元形状データ５１に基づく基準三次元形状画像６１と参照三次元形状データ５２に基づく参照三次元形状画像６２との位置合わせが行われ、その位置合わせが行われたデータが、差分処理部１０３に供給されている状態である。
【００８６】
ステップＳ１０１において、基軸設定部１０５により基軸が設定される。基軸設定部１０５は、図８を参照して説明したように基軸を設定する。すなわち、視線方向と同一の方向に基軸を設定するか、または、視線方向と垂直に交わる方向に基軸を設定する。同一の方向に設定するか、または、垂直に交わる方向に設定するかは、ユーザにより常に選択されるようにしても良いし、デフォルトでどちらかに設定されるようにしても良い。また、ユーザが、所望の方向に基軸を設定できるような構成としても良い。
【００８７】
ステップＳ１０２において、差分処理部１０３は、基準三次元形状データ５１に基づく基準三次元形状画像６１を構成する点のうちの１つの点を処理対象の点として設定する。基準三次元形状データ５１は、基準三次元形状画像６１を構成する点のデータから構成されているため、差分処理部１０３は、基準三次元形状データ５１のうちの１つの点のデータを選択し、処理対象の点のデータとして設定する。
【００８８】
ステップＳ１０３において、処理対象とされた点を通り、基軸に対して平行なサンプリング軸が設定される。この処理は、図９、図１０を参照して説明したように行われる。ここでは、図１０に示したように、処理対象とされた点は、点３７２であり、その点３７２を通り基軸に対して平行なサンプリング軸は、サンプリング軸３５２であるとして説明を続ける。
【００８９】
ステップＳ１０４において、サンプリング軸３５２と交わるポリゴンが探索される。例えば、図１０を参照して説明したように、サンプリング軸３５２に対して、交わっているポリゴンが探索され、そのポリゴンとサンプリング軸３５２が交わる点が探索される。探索の結果、サンプリング軸３５２と交わるポリゴンが存在したか否かが、ステップＳ１０５において判断される。
【００９０】
ステップＳ１０５において、サンプリング軸３２と交わるポリゴンが存在すると判断された場合、ステップＳ１０６に処理が進められる。ステップＳ１０６において、差分値（距離）が最小のポリゴンが探索される。図１０を参照して説明したように、例えば、サンプリング軸３５２と交わるポリゴン上の点が、点３７１と点３７３と探索された場合、点３７２と点３７１の差分値３８１と点３７２と点３７３の差分値３８２がそれぞれ算出される。そして、算出された差分値のうち、絶対値の値で比較したときに、一番小さな値となる差分値３８２が算出された点３７３が存在するポリゴンが、処理対象とされている点との距離が最小のポリゴンとされ、そのポリゴンが、探索結果とされる。
【００９１】
ステップＳ１０７において、最短距離が形状差分として設定される。すなわち、一番小さな値となる差分値が、処理対象とされている基準三次元形状画像６１を構成する点の形状差分として、設定される。このような差分値のデータが、基準三次元形状画像６１を構成する全ての点で算出され、蓄積されることで、形状差分データが生成される。
【００９２】
なお、形状差分データとされる差分値は、プラスまたはマイナスの値である。基軸の方向と同一の方向での差分であるのか、基軸の方向とは逆側の方向の差分であるのかを、形状差分データとすることで、どの方向への差分であるのかが明確になり、後述する差分の表示のときに、適切な表示ができるようになる。
【００９３】
ステップＳ１０８において、基準三次元形状画像６２を構成する全ての点に対して、処理が終了したか否か（全ての点が処理対象とされたか否か）が判断され、まだ全ての点に対しての処理は終了していないと判断された場合、ステップＳ１０２に処理が戻される。ステップＳ１０２に処理が戻されることにより、まだ処理対象とされていない点が、新たな処理対象の点に設定され、新たに設定された点に対して、上述したステップＳ１０２以降の処理が繰り返し行われる。
【００９４】
一方、ステップＳ１０５において、サンプリング軸と交わるポリゴンは存在しないと判断された場合、ステップＳ１０９に処理が進められる。ステップＳ１０９に処理が進められるときには、処理対象とされた基準三次元形状画像６１を構成する所定の点に対する、参照三次元形状画像６２を構成するポリゴンは存在しないため、差分値を算出できない状態である。よって、このような場合、差分データが取得できないため、形状差分データが生成できないことになる。そこで、ＮａＮと設定する。
【００９５】
このＮａＮは、ここでは、 Not a Numberの略とし、非数を表す。ＮａＮは、「基準三次元形状データのある注目している点に対し、対象となる参照形状データのポリゴンが見当たらないために、差分結果が得られなかった」ことを示す。このようなＮａＮ（非数）を、形状差分データとする。ステップＳ１０９における処理が終了すると、ステップＳ１０８に処理が進められる。ステップＳ１０８以降の処理については、既に説明したので、その説明は省略する。
【００９６】
このように、基軸が設定され、その基軸の方向での差分が算出されることで、視点の位置に係わらず、常に同一の差分形状データを取得することができる。基軸は、自由に容易に設定することができるため、ユーザの使い勝手を低下させることなく、三次元形状の物体の差分を検出させることが可能となる。また、視点を変えても、図１を参照して説明したようなことがおきないため、すなわち、異なる視点だと異なる差分が検出されるということがないため、ユーザが所望とする任意の視点での差分結果をユーザが見ることができ、かつ、その差分結果は、視点により異なるといったことがないものとすることができる。
【００９７】
さらに、上述した実施の形態においては、基準三次元形状画像６１を構成する所望の点と、参照三次元形状画像６２を構成するポリゴンとが比較されるため、基準三次元形状画像６１の基準三次元形状データ５１は、どのようなデータであっても良い。すなわち、基準三次元形状データ５１は、モデルに限定されず、三次元点情報でよく、また、ポリゴン化されたものでなくて良い。よって、基準三次元形状データ５１として用いることができるデータの範囲を限定することなく、幅広いデータを用いることができる。例えば、古い形式の基準三次元形状データ５１であっても、新しい形式の参照三次元形状データ６１と比較することが可能となり、古い画像の物体と現在の画像の物体とを比較、検討することが可能となる。
【００９８】
さらに、基準三次元形状画像６１は、二次元形状の画像であっても良い。基準三次元形状画像６１が二次元形状の画像である場合、比較できるのは（差分が検出できるのは）、物体の所定の側面における差分だけであるが、三次元形状の画像である参照三次元画像６２と比較することはできる。これは、基準三次元形状画像６１の点と参照三次元画像６２のポリゴンとが比較されるため、基準三次元形状画像６１からは、点のデータが取得できればよいからである。よって、例えば、古い写真に撮像されている物体と、近年撮像された物体とを比較し、その差分を算出することができる。
【００９９】
［形状差分データを用いた表示について］
次に、生成された形状差分データに基づく表示について説明する。ここでは、２つの表示の仕方について説明する。１つめの表示は、基準三次元形状画像データ６１の各点の色情報に、形状差分データを反映させて表示させる仕方である。２つめの表示は、高さ（基軸）方向の形状差分データに応じた表示の仕方である。
【０１００】
基準三次元形状画像データ６１の各点の色情報に、形状差分データを反映させて表示させることについて説明する。基準三次元形状画像データ６１の各点のデータには、例えば、図５を参照して説明したように、色情報が含まれ、その色情報は、ＲＧＢチャネルで構成されている。各チャネルの最大値を、Ｒmax、Ｇmax、Ｂmaxとする。例えば、Ｒmaxは、２５５（２の８乗）の値をとる。このように設定したとき、形状差分データに基づき、以下のようにＲＧＢチャネルの値が設定されるようにする。ただし、以下に示すのは一例であり、他の設定方法で各点の色が設定されても、勿論良い。
【０１０１】
以下の式において、diffは、形状差分データの値を示し、ｒ、ｇ、ｂは、それぞれ、Ｒチャネル、Ｇチャネル、Ｂチャネルに設定される値を示す。またｄmaxは、形状差分データの絶対値の最大値を表す。ただし、最大値ｄmaxが求められるときには、ＮａＮ（非数）は無視される。
【０１０２】
diff＝ＮａＮ（非数）の場合
ｒ＝０．０
ｇ＝０．０
ｂ＝０．０
diff＝ＮａＮ（非数）でなく、且つ diff が正の場合
ｒ＝（０．９×（diff／ｄmax）＋０．１）×Ｒmax
ｇ＝（０．１）×Ｇmax
ｂ＝（０．１）×Ｂmax
diff＝ＮａＮ（非数）でなく、且つ diff が負の場合
ｒ＝（０．１）×Ｒmax
ｇ＝（０．１）×Ｇmax
ｂ＝（０．９×（−diff／ｄmax）＋０．１）×Ｂmax
【０１０３】
上式に基づき、表示が制御される場合、diff＝ＮａＮ（非数）のときには、Ｒ、Ｇ、Ｂの各チャネルの値は０に設定される。そして、diff＝ＮａＮ（非数）でなく且つ diffが正の場合、Ｒチャネルの値は、その点における形状差分データの値（diff）が、絶対値の最大値（ｄmax）で除算され、その除算された値に０．９が乗算され、その乗算された値に０．１が加算され、その加算された値に、Ｒチャネルの最大値（Ｒmax）が乗算された値とされる。Ｇチャネルの値と、Ｂチャネルの値は、それぞれのチャネルの最大値（Ｇmax、Ｂmax）、に、０．１が乗算された値とされる。
【０１０４】
diff＝ＮａＮ（非数）でなく且つ diffが負の場合、Ｒチャネルの値と、Ｇチャネルの値は、それぞれのチャネルの最大値（Ｒmax、Ｇmax）、に、０．１が乗算された値とされる。Ｂチャネルの値は、その点における形状差分データの値（diff）が、絶対値の最大値（ｄmax）で除算され、その除算された値に０．９が乗算され、その乗算された値に０．１が加算され、その加算された値に、Ｂチャネルの最大値（Ｂmax）が乗算された値とされる。
【０１０５】
このような設定に基づき、各点が表示されると、赤い領域が、基軸方向に正の方向の差が大きい領域であることを示し、青い領域が、基軸方向と逆の方向の差が大きい領域であることを示す表示となる。
【０１０６】
このような設定に基づき、各点が表示されると、明るく色で表示されればされるほど、その点における差分値が大きいことを示す（差分が大きな領域であることを示す）表示となる。
【０１０７】
また、事前に基準三次元形状データ５１の色情報に、物体表面の色情報がある場合、以下のようにＲ、Ｇ、Ｂの各チャネルの値が設定されるようにしても良い。ｒc、ｇc、ｂcは、それぞれ物体表面の色情報を示す。
【０１０８】
diff＝ＮａＮ（非数）の場合
ｒ＝０．０
ｇ＝０．０
ｂ＝０．０
diff＝ＮａＮ（非数）でなく、且つdiff が正の場合
ｒ＝ｒc×０．１＋０．９×Ｒmax×diff／ｄmax
ｇ＝ｇc×０．１
ｂ＝ｂc×０．１
diff＝ＮａＮ（非数）でなく、且つdiff が負の場合
ｒ＝ｒc×０．１
ｇ＝ｇc×０．１
ｂ＝ｂc×０．１＋０．９×Ｂmax×（−diff）／ｄmax
【０１０９】
上式に基づき、表示が制御される場合、diff＝ＮａＮ（非数）のときには、Ｒ、Ｇ、Ｂの各チャネルの値は０に設定される。そして、diff＝ＮａＮ（非数）でなく、且つdiffが正の場合、Ｒチャネルの値は、その点における色情報（ｒc）に０．１を乗算し、その値に、０．９、最大値（Ｒmax）、および形状差分データの値（diff）を乗算し、最大値（ｄmax）で除算した値が加算された値とされる。Ｇチャネルの値と、Ｂチャネルの値は、それぞれ、その点における色情報（ｇc、ｂc）に、０．１が乗算された値とされる。
【０１１０】
diff＝ＮａＮ（非数）でなく、且つdiffが負の場合、Ｒチャネルの値と、Ｇチャネルの値は、それぞれ、その点における色情報（ｒc、ｇc）に、０．１が乗算された値とされる。Ｂチャネルの値は、その点における色情報（ｂc）に０．１を乗算し、その値に、０．９、最大値（Ｂmax）、および形状差分データの値（diff）を乗算し、最大値（ｄmax）で除算した値が加算された値とされる。
【０１１１】
このような設定に基づき、各点が表示されると、赤い領域が、基軸方向に正の方向の差が大きい領域であることを示し、青い領域が、基軸方向と逆の方向の差が大きい領域であることを示す表示となる。
【０１１２】
なお、ここでは、基準三次元形状画像データ６１の各点の色情報に、形状差分データを反映させて表示させるとして説明したが、参照三次元形状データ６２の各点の色情報に、形状差分データを反映させて表示させるようにしても良い。参照三次元形状データ６２の各点の色情報に、形状差分データを反映させて表示させる場合、上記した基準三次元形状データ６１の各点の色情報に、形状差分データを反映させて表示させる場合と同様の処理で実行することが可能であるため、ここでは、その説明を省略する。
【０１１３】
次に、２つめの表示の仕方である、高さ（基軸）方向の形状差分データに応じた表示について説明する。この表示の場合、図１５を参照して説明するに、基軸（例えば、物体に対する高さ方向）に垂直な所定の面を設定する。設定された所定の面には、グリッド間隔とグリッドの主軸が設定される。グリッド間隔は、ユーザが設定することができるように構成されている。これは、ユーザが、所望する差分値の細かさを設定できるようにするためである。勿論、デフォルトのグリッド間隔が設定されており、そのデフォルトのグリッド間隔でよければ、ユーザは変更しなくても良いように構成されている。
【０１１４】
グリッドの主軸は任意に設定される。例えば、グリッド主軸のＹ軸が、高さ方向と視線方向Zc(図６乃至図８を参照して説明したピンホールカメラの説明参照)と垂直な姿勢関係になるようにし、グリッド主軸のＸ軸が、グリッド主軸のＹ軸と高さ方向と垂直な姿勢関係になるように設定される。各グリッドには、基軸方向でスキャンされ、グリッドに属する基準三次元形状データ５１の三次元点が選択され、選択された基準三次元形状データ５１の三次元点群がもつ差分値の最大値が求められる。
【０１１５】
グリッド毎に差分値の最大値が求められる。ただし、最大値が求められるとき、ＮａＮ (非数）の差分値をもつ三次元点は無視する。また、基軸方向にスキャンしても、属する基準三次元形状データ５１の三次元点がないグリッドには、ＮａＮ (非数）を差分値とする。求められた差分値の最大値が表示される。グリッド毎に得られた差分値の最大値を表示する方法として、例えば、差分値の最大値を高さにしてメッシュで表示することが考えられる。
【０１１６】
また、グリッド毎に色をつけて等高線表示する方法もある。色の設定に関しては、例えば、下式に基づき設定する方法がある。
diff＝ＮａＮ（非数）の場合
ｒ＝０．０
ｇ＝０．０
ｂ＝０．０
diff＝ＮａＮ（非数）でなく、且つ diff が正の場合
ｒ＝（０．９×（diff／ｄmax）＋０．１）×Ｒmax
ｇ＝（０．１）×Ｇmax
ｂ＝（０．１）×Ｂmax
diff＝ＮａＮ（非数）でなく、且つ diff が負の場合
ｒ＝（０．１）×Ｒmax
ｇ＝（０．１）×Ｇmax
ｂ＝（０．９×（−diff／ｄmax）＋０．１）×Ｂmax
【０１１７】
図１６に、このような設定に基づき表示が行われた例を示す。この設定は、上記した例と同様の設定である。すなわち、設定は同じであっても、グリッド線などを設定して表示するか、または、基準三次元形状画像６１に重ねて表示するかなどにより、異なる表示となる。
【０１１８】
このように、形状差分データに基づく表示は、ユーザが所望とする表示にすることができる。
【０１１９】
［他の実施の形態について］
上述した実施の形態においては、形状差分データが生成された後、基準三次元形状画像６１に、形状差分データに基づく表示を重畳して表示したり、または、グリッド毎に表示したりする例を示した。以下に、参照三次元形状画像６２に形状差分データに基づく表示を重畳する実施の形態について説明する。また、この参照三次元形状画像６２は、実際にカメラで撮像されている画像である場合を例にあげて説明する。
【０１２０】
すなわち、この実施の形態においては、実際に撮像されている三次元形状の物体（実物体）との差分が、その実物体の画像に重畳されて表示される例である。図１７を参照して説明する。画像５０１は、物体５１１の修理後の画像である。この画像５０１は、図３を参照して説明した基準三次元形状画像６１に相当する。画像５０２は、物体５１１の修理前の画像である。この画像５０２は、図３を参照して説明した参照三次元形状画像６２に相当する。
【０１２１】
修理後の物体５１１と修理前の物体５１２とでは、修理した箇所５１３があるため、その箇所５１３が差分として検出される。画像５０３は、カメラなどで撮像されている画像であり、物体５１１（物体５１２）と同一の物体５１４の画像である。画像５０３には、さらに物体５１４の画像に対して、修正した箇所５１３の差分画像５１５が重畳されて表示される。
【０１２２】
図１８に一例を示す。カメラ５５１により、実物体５１４’が撮影されている。カメラ５５１からの実物体５１４’の画像は、画像５０３としてユーザに提供される。画像５０３には、カメラ５５１からの実物体５１４’の画像が、物体５１４として表示され、さらに、その画像５１４に図示されていない他の装置から供給された差分画像５１５が重畳されて表示されている。
【０１２３】
例えば、実物体５１４’がユーザにより９０度回転された場合、カメラ５５１は、９０度回転された実物体５１４’を撮像する。画像５０３の物体５１４の画像も、９０度回転された実物体５１４’の画像に切り換えられる。そして、差分画像５１５も、切り換えられた物体５１４の画像に対応する画像に切り換えられる。よって、ユーザは、実際の実物体５１４’の位置を変えることで、所望の箇所の差分を、閲覧することが可能となる。
【０１２４】
このように、差分状態を実画像（実際に撮像されている物体の画像）に合わせて可視化するときには、以下の条件を整えることで実現できる。まず実物体（実物体５１４’）があり、その実物体を撮像できる状態にある。これは、差分画像５１５を重畳するための画像が取得できることが条件とされるからである。
【０１２５】
予め、実物体の三次元形状データを計測し、その三次元形状データが取得されている。この取得されている三次元形状データは、図１７や図１８を参照して説明した例では、修理後の物体５１１の三次元形状データ（基準三次元形状データ５１に相当）と、修理前の物体５１２の三次元形状データ（参照三次元形状データ５２に相当）である。
【０１２６】
表示する時点で、必要とされる三次元形状データは、基準三次元形状データ５１である。この基準三次元形状データ５１は、実物体の画像と位置合わせを実行するときに必要とされる。実物体の画像と位置合わせするために、基準三次元形状データ５１の幾つかの三次元点には、局所特徴量情報がある。局所特徴量情報とは、例えば 回転にロバストな特徴量を持つ特徴点である。このような特徴点については、本出願人が先に出願した特開2006-190201号公報に記載があり、その記載に基づく特徴点を本発明に適用することができる。
【０１２７】
また、表示する時点で、差分画像５１５を表示するためのデータ、すなわち、形状差分データが必要である。よって予め、基準三次元形状データ５１と参照三次元形状データ５２との位置合わせの処理は行われている。その位置合わせの処理が終了済みのデータから、表示が実行される時点で、必要に応じ、形状差分データが生成される。
【０１２８】
実物体を撮像するカメラは、ピンホールカメラモデル（図６、図７を参照して説明したピンホールカメラモデル）に従うとし、カメラの内部パラメータは既知であることを条件とする。これは、カメラの位置を、ユーザの視点の位置として用いる必要があるからである。
【０１２９】
図１９に、このような処理を行うときの画像処理装置６００の構成例を示す。図４に示した画像処理装置１００と同様の機能を有する部分には、同様の符号を付し、その説明は適宜省略する。図１９に示した画像処理装置６００は、データベース１０１−１、データベース１０１−２、位置合わせ処理部１０２、差分処理部１０３、表示処理部６１１、基軸設定部６１２、記憶部６１３、スイッチ６１４、カメラ位置姿勢取得処理部６１５、およびカメラ６１６を含む構成とされている。
【０１３０】
データベース１０１−１、データベース１０１−２、位置合わせ処理部１０２は、画像処理装置６００に含まれていない構成とすることも可能である。これは、上記したように、データベース１０１−１に記憶される基準三次元形状データ５１と、データベース１０１−２に記憶される参照三次元形状データ５２が用いられ、位置合わせ処理部１０２により、位置合わせが行われているからである。よって、この位置合わせ処理部１０２にからのデータが、例えばネットワーク経由で差分処理部１０３に供給されるように、画像処理装置６００が構成されるようにしても良い。
【０１３１】
また、位置合わせ後のデータが記憶され、その記憶されているデータが読み出される（供給される）構成とすることも可能である。
【０１３２】
差分処理部１０３は、上述したような処理（例えば、図１４のフローチャートを参照して説明した処理）を実行し、形状差分データを生成する。基軸設定部６１２は、基軸を設定するが、その設定を行うとき、記憶部６１３に記憶されている情報を用いて基軸を設定する。記憶部６１３には、基軸方向の設定用のカメラ６１６の位置姿勢が記憶される。記憶部６１３に記憶されるカメラ６１６の位置姿勢の情報は、スイッチ６１４を介して、カメラ位置姿勢取得処理部６１５から供給される。
【０１３３】
カメラ位置姿勢取得処理部６１５は、図４に示した画像処理装置１００の視点計算部１０６に相当する部分である。カメラ位置姿勢取得処理部６１５は、撮像されている実物体の画像と、三次元形状データ（基準三次元形状データ５１）上の局所特徴量情報とのマッチングを行い、所定の方法で、カメラの位置姿勢を求める。この所定の方法としては、以下の文献に記載されているRANSAC based 3 point algorithm を適用して求めることができる。
Martin A. Fischler and Robert C. Bolles (June 1981). "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography". Comm. of the ACM 24: 381395.
【０１３４】
上記文献に記載されているRANSAC based 3 point algorithm を適用した場合、撮像されている実物体の画像と、三次元形状データ（基準三次元形状データ５１）の局所特徴量情報とのマッチングは、本出願人が先に出願した、特開2006-190191号公報や、特開2006-190192号公報に記載されている方法を適用して行うことができる。
【０１３５】
また、カメラ位置姿勢取得処理部６１５は、センサを備える構成としても良い。カメラ６１６の姿勢や位置を測量できるセンサ、または、姿勢や位置の変化を測量できるセンサにより、姿勢位置情報が取得されるようにしても良い。
【０１３６】
記憶部６１３は、視点方向を常に保持するために、画像処理装置６００に設けられている。記憶部６１３に記憶されている情報は、スイッチ６１４が、記憶部６１３側に接続されているときである。スイッチ６１４は、ユーザにより切り換えられる。このスイッチ６１４は、ユーザが基軸の方向を変更したいときに操作される。
【０１３７】
スイッチ６１４が記憶部６１３側に接続されているとき、カメラ位置姿勢取得処理部６１５で取得された位置姿勢の情報が、記憶部６１３に供給され、記憶部６１３に既に記憶されている情報に上書きされる。ユーザは、カメラ６１６を変更したい基軸方向に位置させ、スイッチ６１４を操作することで、所望の基軸の方向を設定できるように、画像処理装置６００は構成されている。基軸が変更されないときには、スイッチ６１４は、記憶部６１３側とは接続されないように構成されている。
【０１３８】
表示処理部６１１には、カメラ６１６で撮像された画像と、カメラ位置姿勢取得処理部６１５で取得されたカメラ６１６の位置姿勢の情報が供給される。表示制御部６１１は、カメラ位置姿勢取得処理部６１５からの位置姿勢の情報により、カメラ位置を認識し、その認識に基づき、カメラ６１６からの画像に差分処理部１０３からの形状差分データに基づく差分画像を重畳させた画像の表示の制御を行う。
【０１３９】
三次元形状データ同士の差分結果をカメラ画像に射影（重畳）する方法について説明する。この場合、三次元形状データ同士の差分結果とは、基準三次元形状データ５１と参照三次元形状データ５２との形状差分データのことである。
【０１４０】
図６、図７を参照して説明したピンホールカメラモデルの説明において、射影変換の式である式（４）（図７に示した式）を利用することができる。カメラ内部パラメータＡと、カメラ(画像)の位置・姿勢 Rw tw は既知である。実物体の三次元形状データ（基準三次元形状データ５１）の三次元点の位置をＭに入力し、実物体の三次元形状データの三次元点に対応するカメラ画像内の位置を求める。
【０１４１】
その位置の画素の色と、三次元形状データ（基準三次元形状データ５１）の三次元点の色情報をアルファブレンディングする。実物体の三次元形状データ（基準三次元形状データ５１）の全点に対して以上の処理をすれば、三次元形状データ同士の差分結果をカメラ画像に射影することができる。 
【０１４２】
このように構成される画像処理装置６００において、カメラ６１６は、視点として扱われる。すなわち、カメラ６１６が、ユーザの視点とされ、そのカメラ６１６で撮像されている画像に、差分画像が重畳される。
【０１４３】
このような構成を有する画像処理装置６００においては、実物体の基準三次元形状データ５１と参照三次元形状データ５２の差分結果を、実物体の画像に重畳して表示することができる。実物体に対するカメラ位置姿勢を計測し、視点位置姿勢として処理することで、図１８に示したような画像をリアルタイムに作成し、ユーザに提供することが可能となる。
【０１４４】
図２０のフローチャートを参照し、画像処理装置６００の動作について説明する。ステップＳ２０１において、カメラ６１６により、実物体の撮像が行われる。その撮像された実物体の画像の画像データは、カメラ位置姿勢取得処理部６１５と表示処理部６１１に供給される。ステップＳ２０２において、カメラ位置姿勢取得処理部６１５は、カメラ６１６の位置姿勢に関する情報を取得（算出）する。この取得は、上記したように、例えば、ピンホールカメラモデルに基づき算出された値が取得されることで行われる。
【０１４５】
ステップＳ２０３において、カメラ位置姿勢取得処理部６１５は、位置姿勢に関する情報を取得できたか否かを判断する。位置姿勢に関する情報が取得できないのは、例えば、カメラ６１６で撮像されている画像内に、実物体の画像がない場合などである。ステップＳ２０３において、位置姿勢に関する情報が取得できたと判断された場合、ステップＳ２０４に処理が進められる。
【０１４６】
ステップＳ２０４において、位置姿勢に関する情報が、カメラ位置姿勢取得処理部６１５から、スイッチ６１４に転送される。スイッチ６１４が、記憶部６１３側に接続されていた場合、転送されてきた情報に、記憶部６１３に記憶されている情報が上書きされる。また、図２０に示したフローチャートの処理としては図示していないが、位置姿勢に関する情報が取得されなかった場合には、カメラ位置姿勢取得処理部６１５は、位置姿勢に関する情報をスイッチ６１４には転送しない。
【０１４７】
ステップＳ２０５において、差分処理部１０３は、形状差分データを取得する。差分処理部１０３は、位置合わせ処理部１０２からの位置合わせが行われた基準三次元形状データ５１と参照三次元形状データ５２を用い、基軸設定部６１２により設定された基軸方向における差分値を算出し、形状差分データを生成する。生成された形状差分データは、表示処理部６１１に転送される。
【０１４８】
ステップＳ２０６において、表示処理部６１１は、差分処理部１０３からの形状差分データに基づく形状差分画像を生成し、カメラ６１６からの実物体の画像の対応する部分に重畳した画像を生成する。そして、その画像を、カメラ位置姿勢取得処理部６１５からの位置姿勢に基づく視点から見える画像に変換し、その変換後の画像の表示を、図示していないディスプレイなどを制御して行う。このようにして、実画像に差分が重畳された画像がユーザに提供される。
【０１４９】
一方、ステップＳ２０３において、カメラ位置姿勢取得処理部６１５により位置姿勢に関する情報は取得できなかったと判断された場合、ステップＳ２０７に処理が進められる。この場合、カメラ位置姿勢取得処理部６１５から位置姿勢に関する情報は転送されないため、表示処理部６１１には、カメラ６１６からの画像データのみが供給される。表示処理部６１１は、ステップＳ２０７において、カメラ６１６からの画像データに基づく画像の表示を制御する。
【０１５０】
このような処理が繰り返し行われることで、実物体の実画像に差分結果を重畳してユーザに提供することが可能となる。また、このような重畳によれば、ユーザは、見たい方向にカメラ６１６を移動させることで、自由に差分画像を表示させることができ、例えば、製品チェックや補正（完成品モデルとの比較）、経年劣化調査（例えば家・道具の痛み具合）などに広く適用することができる。
【０１５１】
このような重畳された画像を提供することで、ユーザが、直感的に差分を認識できる、見たい場所に直接視点を移動できるといった効果を期待できる。また、オンラインで、三次元形状データが取得できる構成とすることで、形状の修正が直感的にできるようになる。
【０１５２】
上記した実施の形態は、例えば、以下のような応用製品、サービスに適用できる。例えば、工場で、完成品とモデルとの比較を行うことで、製品の詳細なチェックを行うことができる。この場合、差分がある場合には、修正するといったことが可能となり、出荷する商品の完成精度を向上させることが可能となる。
【０１５３】
また、詳細な経年劣化の調査を行うことが可能となる。例えば、家といった大きな物体であっても、本発明を適用すれば、経年劣化による差分を検出することができる。また、家具、道具などの傷み具合を差分として検出することができる。
【０１５４】
また、人の体型の変化などを検査することも可能となる。例えば、１年に１回程度行われる定期健診のとき、前年度の体型と、今年度の体型を簡単に比較することができる。このようなことを利用することで、メタボリックシンドロームのチェックを行うことも可能となる。
【０１５５】
また、堤防やダムの周辺などの形状変化の調査にも本発明を適用できる。例えば、上記した家の場合と同じく、経年劣化を調査することができる。また、土木工事の記録としてデータを残すことも可能となる。例えば、土木工事により、削られた部分や、増設された部分など、差分として検出することができるので、工事記録として残すことも可能となる。
【０１５６】
［記録媒体について］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１５７】
図２１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、ＣＰＵ（Central Processing Unit）１００１、ＲＯＭ（Read Only Memory）１００２、ＲＡＭ（Random Access Memory）１００３は、バス１００４により相互に接続されている。バス１００４には、さらに、入出力インタフェース１００５が接続されている。入出力インタフェース１００５には、入力部１００６、出力部１００７、記憶部１００８、通信部１００９、及びドライブ１０１０が接続されている。
【０１５８】
入力部１００６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１００７は、ディスプレイ、スピーカなどよりなる。記憶部１００８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１００９は、ネットワークインタフェースなどよりなる。ドライブ１０１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア１０１１を駆動する。
【０１５９】
以上のように構成されるコンピュータでは、ＣＰＵ１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、ＲＡＭ１００３にロードして実行することにより、上述した一連の処理が行われる。
【０１６０】
コンピュータ（ＣＰＵ１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１６１】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ＲＯＭ１００２や記憶部１００８に、予めインストールしておくことができる。
【０１６２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１６３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１６４】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１６５】
１００  画像処理装置，  １０１−１，１０１−２  データベース，  １０２  位置合わせ処理部，  １０３  差分処理部，  １０４  表示処理部，  １０５  基軸設定部，  １０６  視点計算部，  ６００  画像処理装置，  ６１１  表示処理部，  ６１２  基軸設定部，  ６１３  記憶部，  ６１４  スイッチ，  ６１５  カメラ位置姿勢取得処理部，  ６１６  カメラ
【図１】
2011039646.tif 000008
【図２】
2011039646.tif 000009
【図３】
2011039646.tif 000010
【図４】
2011039646.tif 000011
【図５】
2011039646.tif 000012
【図６】
2011039646.tif 000013
【図７】
2011039646.tif 000014
【図８】
2011039646.tif 000015
【図９】
2011039646.tif 000016
【図１０】
2011039646.tif 000017
【図１１】
2011039646.tif 000018
【図１２】
2011039646.tif 000019
【図１３】
2011039646.tif 000020
【図１４】
2011039646.tif 000021
【図１５】
2011039646.tif 000022
【図１６】
2011039646.tif 000023
【図１７】
2011039646.tif 000024
【図１８】
2011039646.tif 000025
【図１９】
2011039646.tif 000026
【図２０】
2011039646.tif 000027
【図２１】
2011039646.tif 000028