【手続補正書】
【提出日】平成21年6月12日(2009.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向を三次元空間の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化手段と、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成手段と、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述手段と、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索手段と、
を備えたことを特徴とする三次元モデル検索装置。
【請求項２】
前記モデル正規化手段は、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする請求項１に記載の三次元モデル検索装置。
【請求項３】
前記二次元画像生成手段は、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする請求項１に記載の三次元モデル検索装置。
【請求項４】
前記二次元画像生成手段は、１つの三次元モデルにつき、６以下の二次元画像を生成することを特徴とする請求項１に記載の三次元モデル検索装置。
【請求項５】
前記モデル記述手段は、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする請求項１に記載の三次元モデル検索装置。
【請求項６】
前記検索手段は、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする請求項５に記載の三次元モデル検索装置。
【請求項７】
前記三次元モデル検索装置は、二次元画像をクエリとして取得し、前記検索手段は、モデルデータベース内の三次元モデルのモデル記述子に基づき、クエリとなる二次元画像とモデルデータベース内の三次元モデルとの間の距離を算出し、当該距離に基づき検索を行うことを特徴とする請求項５に記載の三次元モデル検索装置。
【請求項８】
三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、
を含んだことを特徴とする三次元モデル検索方法。
【請求項９】
三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成するステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するステップと、
データベースに記憶するために前記モデル記述子と三次元モデルとを関連付けるステップと、
を含んだことを特徴とする三次元モデルのアーカイブ方法。
【請求項１０】
三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、
を情報処理装置に実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】三次元モデル検索装置及び方法
【技術分野】
【０００１】
本発明は、三次元モデル検索に関し、特に二次元画像に基づいて三次元モデルの記述と検索を行う技術に関するものである。
【背景技術】
【０００２】
近年の三次元データ取得技術、コンピュータ支援設計（ＣＡＤ）技術、およびグラフィックス・ハードウェアの進歩に伴い、インターネットや特定のデータベースなどの様々なアーカイブにおいて三次元モデルの利用がますます広がっている。その一方で、高精度の三次元モデルの設計には多大なコストと時間がかかってしまう。そのため、現存するモデルを効率良く利用することが重要となるが、膨大な量の集合の中から有用なモデルを検索することは容易ではなく、効率的な三次元モデル検索方法を発見する努力が研究者によってなされてきている。
【０００３】
これまでに三次元モデル検索の様々な方法が提案されてきたが、これらは大まかに言ってキーワードベースの検索方法とコンテンツベースの検索方法の２種類に分類できる。前者の方法では、三次元モデルを意味レベルで記述し、モデルの特徴を大きさ、素材、色、カテゴリなどの一連の記述的ワードによって表現する。これらの記述的ワードは、三次元モデルの集合が小規模な初期段階において適用可能なものである。後者の方法では、モデルのコンテンツそのものがモデル検索処理において考慮される。モデルの数が急激に増えた場合には、コンテンツベースの検索技術がますます注目される。現在利用可能なコンテンツベースの検索方法は、特徴ベクトルベースの方法、トポロジーベースの方法、二次元画像ベースの方法の３種類に分類できる。
【０００４】
特徴ベクトルベースの方法では、三次元物体を記述するのに特徴ベクトルを用いる。この種の方法で最もよく知られているのは形状分布である（形状分布法の詳細は非特許文献１を参照）。この種の方法では、特徴の抽出とモデルの比較とを非常に効率良く行うことができる。しかし、特徴ベクトルは比較的単純でモデルの情報が正確に記述されないので、十分な検索精度が得られない。それでもなお、この方法は単純かつ効率的であるため、プレ分類器として他の方法に組み入れることができる。
【０００５】
トポロジーベースの検索方法では、ツリーまたはグラフを用いて三次元モデルの構造を記述し、２つのツリーあるいはグラフのマッチングを行うことで２つのモデルの比較を行う（詳細は非特許文献２を参照）。トポロジー構造を用いれば三次元モデルの形状の重要な情報が直観的な形で得られ、このような特徴はアフィン変換の不変量となる。しかしながら、トポロジーはモデルの微細な変化に影響を受け易く、ツリーやグラフのトポロジーマッチングには時間がかかりすぎてしまうという欠点があるため、この種の方法の応用は制限される。
【０００６】
二次元画像ベースの検索方法では、三次元モデルに基づいて一連の二次元画像を生成し、対応する二次元画像を比較することにより三次元モデルの比較を行う。このような方法の中では、非特許文献３に記載された光線空間記述子や、非特許文献４に記載された特徴ビューが、二次元画像に基づいたモデル検索方法で最も広範に応用されているものである。
【０００７】
非特許文献３に記載された方法では、三次元モデルの特徴を表現するのに１０個の光空間記述子を用い、それぞれの光空間記述子は１０個の画像の特徴から構成される。モデルの比較は、これらの光空間記述子間での比較をすることにより行われる。三次元モデルに基づいた二次元画像の生成では、モデルの中心に正１２面体を置き、正１２面体の２０個の頂点を視点として用いて、クアドラチュア投影により２０個のバイナリ画像を生成する。このとき、対向位置にある２個の頂点を視点とする２枚の画像は同一のものなので１０個の画像が保持され、これらの１０個の画像に基づいて１個の光空間記述子が生成される。別の光空間記述子を求めるためには、正１２面体を回転して別の画像を求めればよい。非特許文献３に記載された方法では、１０個の光空間記述子を生成して、マッチした画像間の距離を累積することにより２個の光空間記述子の比較を行う。１０個の光空間記述子を求める処理には、全部で１００個の画像が用いられることになる。
【０００８】
非特許文献４に記載された特徴ビューに基づく方法では、三次元モデルの中心に正２０面体を置き、正２０面体のポリゴンを分割して８０個の均等に分布したポリゴンを求める。そして、これらの８０個のポリゴンの中心を視点として用いてクアドラチュア投影により８０個の初期ビューを求め、各三次元モデルについて８０個の初期ビューから代表ビューを選択する。続いて、ベイズ確率理論に基づき、モデルの全ての代表ビューの中からクエリ画像に対応する代表ビューを探索し、クエリとデータベースモデル間の類似度を算出する。
【０００９】
いくつかの総合的な文書には、二次元画像に基づく検索方法では、特徴ベクトルに基づく検索方法やトポロジーに基づく検索方法と比較して、より優れた検索結果が得られることが記載されている（詳細は非特許文献５及び非特許文献６を参照）。
【００１０】
しかしながら、前述の二次元画像に基づく方法では、膨大な数の画像とその特徴抽出およびモデル比較の処理に要する時間のため、実際の応用は制限される。
【００１１】
【非特許文献１】R. Osada, R. Funkhouser, T. Chazelle: Shape distributions. ACM Transactions on Graphics, 21(5), 807--832(2002).
【非特許文献２】M. Hilaga, Y. Shinagawa, T. Kohmura, T.L. Kunii: Topology matching for fully automatic similarity estimation of 3D shapes. Proceedings SIGGRAPH, 203--212(2001).
【非特許文献３】C. Ding-Yun, T. Xiaopei, S. Yute, O. Ming: On visual similarity based 3D model retrieval. Proceedings of European association for Computer Graphics, 22(3), 223--232(2003).
【非特許文献４】T.F. Ansqry, J.Vandeborre, M. Daoudi: A framework for 3D CAD models retrieval from 2D images. Annual of telecommunications technologies and tools for 3D imaging. Vol.60 (11-12), 2005.
【非特許文献５】P. Shilane, P. Min, M. Kazhdan, T. Funkhouser: The Priceton shape benchmark. Proceedings of the international conference on Shape modeling, 167--178(2004).
【非特許文献６】N. Iyer, S. Jayanti, K. Ramani: An engineering shape benchmark for 3D models. Proceedings of ASME IDETC/CIE, 24--28(2005).
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、先行技術である三次元モデル検索方法に特有の前述した欠点に鑑みてなされたものであり、非常に効率良く三次元モデルを検索することができる三次元モデル検索技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
この目的を達成するため、本発明は新しい三次元検索技術を提供する。本発明では、まず三次元モデルを回転、平行移動してモデルを正規化し、この正規化モデルを投影することにより比較的少数の二次元画像を生成する。そして、これらの二次元画像から三次元モデルの記述子を生成し、この記述子に基づいて三次元モデルの検索を行う。
【００１４】
以下の技術上の解決案は、本発明の原理に沿って提案されるものである。
【００１５】
発明１：三次元モデル検索装置は、三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向を三次元空間の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化手段と、前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成手段と、前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述手段と、前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索手段と、を備えたことを特徴とする。
【００１６】
発明２：発明１に係る三次元モデル検索装置において、前記モデル正規化手段は、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする。
【００１７】
発明３：発明１に係る三次元モデル検索装置において、前記二次元画像生成手段は、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする。
【００１８】
発明４：発明１に係る三次元モデル検索装置において、前記二次元画像生成手段は、１つの三次元モデルにつき、６以下の二次元画像を生成することを特徴とする。
【００１９】
発明５：発明１に係る三次元モデル検索装置において、前記モデル記述手段は、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする。
【００２０】
発明６：発明５に係る三次元モデル検索装置において、前記検索手段は、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする。
【００２１】
発明７：発明５に係る三次元モデル検索装置において、前記三次元モデル検索装置は、二次元画像をクエリとして取得し、前記検索手段は、モデルデータベース内の三次元モデルのモデル記述子に基づき、クエリとなる二次元画像とモデルデータベース内の三次元モデルとの間の距離を算出し、当該距離に基づき検索を行うことを特徴とする。
【００２２】
発明８：三次元モデル検索方法は、三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、を含んだことを特徴とする。
【００２３】
発明９：発明８に係る三次元モデル検索方法において、前記モデル正規化ステップでは、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づき三次元モデルの主軸方向を判定し、主軸方向に基づき三次元モデルを回転することを特徴とする。
【００２４】
発明１０：発明８に係る三次元モデル検索方法は、前記二次元画像生成ステップでは、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする。
【００２５】
発明１１：発明８に係る三次元モデル検索方法において、前記二次元画像生成ステップでは、１つの三次元モデルにつき、６以下の二次元画像を生成することを特徴とする。
【００２６】
発明１２：発明８に係る三次元モデル検索方法において、前記モデル記述ステップでは、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする。
【００２７】
発明１３：発明１２に係る三次元モデル検索方法において、前記検索ステップでは、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする。
【００２８】
発明１４：発明１２に係る三次元モデル検索方法において、前記三次元モデル検索ステップは、二次元画像をクエリとして取得し、前記検索手段は、モデルデータベース内の三次元モデルのモデル記述子に基づき、クエリとなる二次元画像とモデルデータベース内の三次元モデルとの間の距離を算出し、当該距離に基づき検索を行うことを特徴とする。
【００２９】
発明１５：三次元モデルのアーカイブ方法は、三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるステップと、前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成するステップと、前記二次元画像から三次元モデルのモデル記述子を生成するステップと、データベースに記憶するために前記モデル記述子と三次元モデルとを関連付けるステップと、を含んだことを特徴とする。
【００３０】
発明１６：機械読み取りが可能な記録媒体は、三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、を情報処理装置に実行させるプログラムを記録する。
【００３１】
発明１７：発明１６に係る記録媒体において、前記モデル正規化ステップでは、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする。
【００３２】
発明１８：発明１６に係る記録媒体において、前記二次元画像生成ステップでは、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする。
【００３３】
発明１９：発明１６に係る記録媒体において、前記モデル記述ステップでは、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする。
【００３４】
発明２０：発明１９に係る記録媒体において、前記検索ステップでは、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする。
【発明の効果】
【００３５】
本発明によれば、三次元モデル検索の処理量が著しく減少し、検索効率が向上する。
【発明を実施するための最良の形態】
【００３６】
以下、添付図面を参照して、本発明の具体的な実施例を詳細に説明する。
【実施例１】
【００３７】
図１は、本発明の実施例１に係る三次元モデル検索システムを示すブロック図である。
【００３８】
実施例１では、三次元モデル検索装置１１００は、入力部１２００、モデルデータベース１３００、出力部１４００に接続される。ユーザーから入力部１２００を経由して三次元モデルクエリが入力されると、三次元モデル検索装置１１００は、入力された三次元モデルクエリに最もマッチする三次元モデルをモデルデータベース１３００から検索し、その三次元モデルを出力部１４００を経由して出力する。
【００３９】
三次元モデルクエリを入力する入力部１２００はモデルクエリを入力できる入力手段であれば如何なるものでもよく、例えば、キーボード、マウス、タッチパネル、記憶媒体インターフェイス（磁気ディスクドライバ、光学ディスクドライバなどを含む）、ネットワークインターフェイスなどでもよい。検索結果を出力する出力部１４００は、検索した三次元モデルを出力できる出力手段であれば如何なるものでもよく、例えば、ディスプレイ、ネットワークインターフェイス、記録媒体インターフェイスなどでもよい。モデルデータベース１３００は、三次元モデルを大量に記憶できるメモリ（ローカルメモリ、ネットワークメモリを含む）上に構築すればよい。
【００４０】
三次元モデル検索装置１１００は、モデル正規化部１１０１、二次元画像生成部１１０２、モデル記述部１１０３、検索部１１０４から構成される。モデル正規化部１１０１は三次元モデルを回転および／または平行移動することで、三次元モデルの主軸方向をシステム座標系の３つの座標軸と一致させ、三次元モデルの重心をシステム座標系の原点と一致させる。二次元画像生成部１１０２は、システム座標系の各座標軸の正方向および負方向のそれぞれに三次元モデルを投影して、６個以下の二次元画像を生成する。モデル記述部１１０３は、これらの二次元画像の特徴を抽出し、三次元モデルのモデル記述子を生成する。検索部１１０４は、その記述子に基づいてモデルクエリとモデルデータベース１３００に記憶された三次元モデルとを比較し、最もマッチしたモデルを決定する。最終的な検索結果は出力部１４００を経由して出力される。
【００４１】
三次元モデル検索装置１１００は、パーソナルコンピュータ、ワークステーション、ＰＤＡ（Personal Digital Assistant）などの情報処理装置を用いて実現することができる。具体的には、モデル正規化部１１０１、二次元画像生成部１１０２、モデル記述部１１０３、検索部１１０４は、情報処理装置のＣＰＵ（Central Processing Unit）およびそれに対応したプログラムを用いて実現することができる。
【００４２】
以下の段落では、実施例１に係る三次元モデル検索装置１１００の構成部をより詳細に説明する。
【００４３】
ユーザーから入力部１２００を経由して三次元モデルクエリが入力された場合、モデルクエリは三次元モデル検索装置１１００のモデル正規化部１１０１にまず送られる。ここでモデルクエリは正規化されて、三次元モデルの主軸方向が三次元空間の３つの座標軸と一致し、三次元モデルの重心がシステム座標系の原点と一致するようになるため、後の処理が容易になる。一般的には、三次元モデルは三次元空間上の任意の場所に任意の方向に沿って配置してよい。正規化を行うためには、三次元モデルを回転し、平行移動することが必要になる。
【００４４】
平行移動に関しては、まず三次元モデルの重心座標を算出し、その後三次元モデルに平行移動変換を施すことにより、三次元モデルの重心がシステム座標系の原点となるようにする。三次元モデルの平行移動変換は当該技術分野の既知の方法を利用して行われるが、本明細書ではこれについての詳細な説明は省略し、回転変換の説明に専念する。
【００４５】
三次元モデルを回転正規化する方法はいくつも提案されており、例えば主成分分析（ＰＣＡ）がある。しかし、ＰＣＡでは類似モデルに対して安定して主方向を得ることができないことが実験によって示されている。
【００４６】
この点に鑑みて、本発明の発明者は、Ｎｏｒｍａｌ−ＰＣＡ（Ｎ−ＰＣＡ）と呼ばれるモデル正規化方法を提案する。この方法では、まずモデルの主軸方向を抽出し、その後に抽出した主軸方向を用いて三次元モデルを正規化する。
【００４７】
通常、三次元モデルは三角格子から構成され、三角形の法線方向の分布からはモデルの方向情報が得られる。したがって、本発明に係るＮ−ＰＣＡ法では、モデルの三角形すべての法線方向の分布情報を考慮してモデルの主軸方向を検出する。以下、Ｎ−ＰＣＡ法により三次元モデルを回転正規化する処理を詳細に説明する。
【００４８】
まず、各三角形ｔｉの面積ａｉと法線方向
【数１】
2009080796.tif 000001
を算出する。ここで、ｉ＝１，２，・・・ｆＣｎｔであり、ｆＣｎｔは三次元モデルに含まれる三角形の数を表す。
【００４９】
図２に示すように、三角形ｔｉの頂点をＡ、Ｂ、Ｃとし、三辺の長さをｌａ、ｌｂ、ｌｃとすると、三角形の面積ａｉは次の式（１）によって算出することができる。ここで、ｓ＝（ｌａ＋ｌｂ＋ｌｃ）／２であり、これは三角形の周の半分を示し、＊は積算を示す。
【数２】
2009080796.tif 000002
【００５０】
三角形の法線方向
【数１】
2009080796.tif 000003
は式（２）によって得られる。ここで、
【数３】
2009080796.tif 000004
であり、これらは図２に示されるように三角形ｔｉの方向性エッジを示し、×はベクトルのたすきがけ操作を示す。
【数４】
2009080796.tif 000005
【００５１】
三角形すべての法線方向を算出した後、モデルの３つの主軸方向を三角形の法線方向の分布情報から求める。以下にこの処理を詳細に説明する。
【００５２】
まず、式（３）を用いて、法線方向の重み分布行列Ｍを算出する。ここで、
【数５】
2009080796.tif 000006
は法線方向の平均値を示し、＊はベクトルの積算を示す。
【数６】
2009080796.tif 000007
【００５３】
行列Ｍを固有分解して、３つの固有ベクトルおよび固有値を求める。３つの固有ベクトルは主軸方向となり、
【数７】
2009080796.tif 000008
と表される。
【００５４】
式（４）を用いて、モデルの各頂点を正規化する。ここで、
【数８】
2009080796.tif 000009
および
【数９】
2009080796.tif 000010
、（ｉ＝１，２，・・・，ｖＣｎｔ）は初期のｉ番目の頂点および正規化したｉ番目の頂点をそれぞれ示し、
【数１０】
2009080796.tif 000011
は正規化される前の三次元モデルの重心を示し、・は２つのベクトルのドット積算操作を示し、
【数１１】
2009080796.tif 000012
はそれぞれ正規化したｉ番目の頂点
【数１２】
2009080796.tif 000013
のｘ，ｙ，ｚ座標を示す。
【数１３】
2009080796.tif 000014
【００５５】
図３は、三次元モデルの正規化結果の複数の例を示す。上述のＮ−ＰＣＡ法を適用することで正確にかつ安定して三次元モデルの主軸方向を検出することができ、これに基づいて正規化を行う。正規化の後、モデルの主軸方向はシステム座標系の座標軸となり、モデルの重心は座標系の原点へと平行移動される。
【００５６】
三次元モデルを上述のように正規化したあと、モデル正規化部１１０１は正規化した三次元モデルを二次元画像生成部１１０２へ転送し、その三次元モデルに基づいて複数の二次元画像を生成する。
【００５７】
三次元モデルは、まず二次元画像生成部１１０２にて一様に標本化される。
【００５８】
理論的には、標本点が多いほどモデルの記述はより正確になる。それに対して、標本点が多すぎると、後続の処理の効率に影響を与えてしまう。したがって、標本点の数は、正確さと効率性のバランスを保つように、実験によって決定する。
【００５９】
三次元モデルを正確に記述するには、標本点は三次元モデルの表面に一様に分布する必要がある。本発明では、一様に分布した標本点を得るために、改良した標本化メカニズムを提案する。この標本化では、各三角形における標本点の数は、三角形の面積に比例する。各三角形について三角形の面積に基づいて標本点の数をまず算出し、非特許文献１の方法によって三角形を標本化することで、三角形すべてを順次標本化する。以下に、本発明に係る標本化方法を詳細に説明する。
【００６０】
まず、三次元モデルの表面積
【数１４】
2009080796.tif 000015
を算出する。ここでｆＣｎｔは三角形の数を示し、ａｉはｉ番目の三角形の面積を示す。
【００６１】
続いて、各三角形ｔｉ（ｉ＝１、２、・・・、ｆＣｎｔ）について、一連の標本点を三角形の面積と頂点によって求める。
【００６２】
１）三角形ｔｉ内に入る標本点の数
【数１５】
2009080796.tif 000016
を算出する。ここで、ｓＣｎｔは標本点の総数を示し、
【数１６】
2009080796.tif 000017
は丸め処理を示す。
【００６３】
２）式（５）を用いてランダムに各標本点
【数１７】
2009080796.tif 000018
を生成する。ここで、
【数１８】
2009080796.tif 000019
は三角形ｔｉの頂点を示し（図４に図示）、
【数１９】
2009080796.tif 000020
は０と１の間の２つの乱数であり、＊は積算操作を示す。
【数２０】
2009080796.tif 000021
【００６４】
図５は、上述の方法で求めた標本点の分布の典型例を示す図である。この標本化方法によって求めた標本点は、三角形内に一様に分布する。
【００６５】
標本化を行った後、二次元画像生成部１１０２は標本点を異なる６方向に投影し、６個の二次元画像を生成する。
【００６６】
二次元画像生成部１１０２では、三次元モデルをシステム座標系の各座標軸の正方向、負方向それぞれに投影し、６個の二次元画像を生成する。各二次元画像においては、標本点の約半分だけが利用される。具体的には、たとえばｚ軸の正方向にある標本点のみを用いて「上面画像」のみ生成し、他方でｚ軸の負方向にある標本点のみを用いて「底面画像」のみ生成する。同様に、ｘ軸の正方向にある標本点のみを用いて「右側面画像」のみ生成し、他方でｘ軸の負方向にある標本点のみを用いて「左側面画像」を生成する。また、ｙ軸の正方向にある標本点のみを用いて「正面画像」のみ生成し、他方でｙ軸の負方向にある標本点のみを用いて「背面画像」のみ生成する。ユーザーの要望に応じて、生成した二次元画像はバイナリ画像にしてもよいし、濃淡画像にしてもよい。
【００６７】
以下に、「上面画像」の生成を例にして、二次元画像生成部１１０２が二次元画像を生成する処理について説明する。
【００６８】
【数２１】
2009080796.tif 000022
がｚ軸より上にある標本点であり、画像のサイズをＮ＊Ｎに設定したとする。
【００６９】
標本点のｘ、ｙ座標の範囲が
【数２２】
2009080796.tif 000023
であるとして、次式を用いてステップ幅ｘｓｔｅｐ，ｙｓｔｅｐを算出する。
【数２３】
2009080796.tif 000024
【００７０】
３）各標本点
【数２４】
2009080796.tif 000025
を、「上面画像」の対応位置（ｊ，ｋ）に投影し、ピクセル（ｊ，ｋ）の輝度を１に設定することによりバイナリ画像を得る。もちろん輝度を（ｊ，ｋ）におけるｚ座標によって重み付けすることも可能であり、その場合は濃淡画像を得ることになる。
【００７１】
他の５個の画像も同様にして得ることができる。図６に、図３に示すモデルＨから得られた６個のバイナリ画像を示す。
【００７２】
上述のように、二次元画像生成部１１０２は正規化した三次元モデルから６個の二次元画像を生成し、生成した二次元画像をモデル記述部１１０３に転送する。
【００７３】
モデル記述部１１０３は６個の二次元画像から有効な特徴を抽出し、三次元モデルの記述子を求める。
【００７４】
現在、画像特徴の抽出には、フーリエ変換、曲率尺度空間（ＣＳＳ）画像に基づく記述子、セルニケモーメントなど、多くの方法がある。本発明ではセルニケモーメントを例として用い、６個の二次元画像を記述する。この方法は、形状特徴記述を効率的に行うことでよく知られている（この方法の詳細は、K. Whoi-Yul, K. Yong-Sung: A region-based shape descriptor using Zernike moments, Signal Processing: Image Communication, vol.16, page.95-1102, 12005を参照）。以下の段落では、モデル記述部１１０３がセルニケモーメントを用いて三次元モデルの記述子を得る処理について簡潔に説明する。
【００７５】
デジタル画像ｆ（ｘ，ｙ）におけるオーダー（ｎ，ｍ）のセルニケモーメントＡｎｍは、式（７）を用いて算出できる。ここで、ｍは０でない実数であり、ｎ−｜ｍ｜が偶数であって、｜ｍ｜≦ｎであるという２つの条件を満たす。この状況において、ｍは前述の２つの条件を満たす負でない実数である。ｆ（ｘ，ｙ）はピクセル（ｘ，ｙ）のグレースケール値を表す。（ｘ０，ｙ０）は画像の中心を示す。Ｖｎ，ｍ（ｘ，ｙ）は単位円によって定義されたプライマリ関数であり、完全直交基底からなる。Ｖ＊ｎ，ｍ（ｘ，ｙ）はＶｎ，ｍ（ｘ，ｙ）の共役複素数である。セルニケモーメントを算出する前に画像を正規化しておく必要があり、そうすることで画像上の各点と画像の中心との最大距離が１になる。
【数２５】
2009080796.tif 000026
【００７６】
式（７）中のプライマリ関数Ｖｎ，ｍ（ｘ，ｙ）は式（８）を用いて算出する。ここで、（ｘ０，ｙ０）は画像の中心を示し、
【数２６】
2009080796.tif 000027
は（ｘ，ｙ）に対応する極座標を表し、Ｒｎ，ｍ（ρ）はセルニケラジアル多項式を表す。
【数２７】
2009080796.tif 000028
【００７７】
式（８）中のセルニケラジアル多項式Ｒｎ，ｍ（ρ）は、式（９）を用いて算出する。ここで、！は階乗を表し、
【数２８】
2009080796.tif 000029
である。
【数２９】
2009080796.tif 000030
【００７８】
式（７）を用いて、画像Ｍ＝｛Ａ００，Ａ１０，Ａ２０，Ａ２２，Ａ３１，Ａ３３，・・・｝の各次数のセルニケモーメントを算出することができる。各次数のセルニケモーメントの係数は固有ベクトルとなる。ここで、Ｏｒｄｅｒをセルニケ次数とすると、固有ベクトルの長さは
【数３０】
2009080796.tif 000031
となる。ここで、
【数３１】
2009080796.tif 000032
はｉ／２の整数部分を表す。各画像の特徴は、Ｄ次元の実ベクトルを用いて表わされる。
【００７９】
前述の内容から分かるように、各画像の特徴はＤ次元の実ベクトルを用いて表されるので、２個の画像を比較したとき、その比較にはユークリッド距離や絶対距離など、２つの固有ベクトル間の距離を用いることができる。
【数３２】
2009080796.tif 000033
が２個の画像の特徴を表すとき、ユークリッド距離は
【数３３】
2009080796.tif 000034
であり、他方、絶対距離は
【数３４】
2009080796.tif 000035
である。
【００８０】
当該技術分野において、ユークリッド距離や絶対距離の算出は広く知られたものである。さらに、距離測定にユークリッド距離や絶対距離を用いることに加えて、相関のような他の計測を用いることもできる。
【００８１】
このようにして、生成した各二次元画像の特徴としてセルニケモーメントの係数を用いることができる。この特徴は次の性質を持つ。１）回転不変性。セルニケモーメントの係数は回転に対して不変である。２）表現の効率性。直交基底を用いることによって特徴に重複する情報を一切含まなくなる。３）ロバスト性。特徴は、形状におけるノイズや微細な変化を感知しない。４）効率性とマルチレベル表現。低次のセルニケモーメントは全体的な形状情報を表し、高次のモーメントは詳細を表す。他のモーメントと比較して、低次元のセルニケモーメントの方が画像をよく記述することができる。
【００８２】
したがって、三次元モデルから生成されたすべての二次元画像のセルニケモーメントのセットを、三次元モデルの記述子として利用することができる。
【００８３】
モデル正規化部１１０１、二次元画像生成部１１０２、モデル記述部１１０３の処理によって、クエリモデルの記述子とモデルデータベース内のモデルの記述子とをこれまでにそれぞれ求めた。これらの記述子は検索部１１０４に転送され、そこでは入力されたクエリモデルに最もマッチする三次元モデルがモデルデータベースから検索される。
【００８４】
検索部１１０４では、入力されたクエリモデルとデータベース内のすべてのモデルとの間の距離を三次元モデルの記述子に基づき算出し、その距離に基づいてデータベース内のモデルをランク付けして、最終的なマッチングのリストを求める。以下、この処理を詳細に説明する。
【００８５】
通常、２つの三次元モデル間の距離は、マッチした画像間の距離を累積することで得られる。本発明では、図７に示すように、各モデルの６個の画像をまず３つのグループに分け、マッチした画像グループ間での距離を累積することによりモデル間の距離を求める。このようなマッチング方法は主に、「上面画像」と「底面画像」、「左側面画像」と「右側面画像」、「正面画像」と「背面画像」が常にペアとして現れるという単純な事実に基づいているので、モデル比較の処理機能を実行するために各グループの２個の画像は別個に扱われるより統合するべきものである。
【００８６】
本発明によれば、三次元モデル間の比較は２つのステップで実現することができる。すなわち、２つのモデルの各画像グループ間の距離を算出するステップと、２つのモデルの各画像グループ間の対応関係を判定するステップとにより、２つの三次元モデル間の距離を算出する。第１のモデルの３つの画像グループをそれぞれＡ１＝｛上面図，底面図｝、Ａ２＝｛左側面図，右側面図｝、Ａ３＝｛正面図，背面図｝とし、第２のモデルの３つのグループをそれぞれＢ１＝｛上面図，底面図｝、Ｂ２＝｛左側面図，右側面図｝、Ｂ３＝｛正面図，背面図｝とすると、２つのモデルの比較処理は以下のように行われる。
【００８７】
１．２つのモデルの画像グループにおけるすべての２つのペア間の距離
【数３５】
2009080796.tif 000036
を算出する。Ａｉ１，Ａｉ２が画像グループＡｉ内の２個の画像を表し、Ｂｊ１，Ｂｊ２が画像グループＢｊの２個の画像を表すとすると、ＡｉとＢｊの間の距離ｄ（Ａｉ，Ｂｊ）は式（１０）により算出される。ここで、ｌ（・，・）は２個の画像の特徴間の絶対距離を示すもので、ｍｉｎ（）は最小値を求める関数である。
【数３６】
2009080796.tif 000037
【００８８】
２．式（１１）により、全数探索法を用いて最適対応関数ｃ＊を発見し、２つの三次元モデルにおいて画像グループそれぞれの間の対応関係を判定し、２つのモデル間の距離ｄｉｓを算出する。
【数３７】
2009080796.tif 000038
ここで、ｃは２つのモデルにおける画像グループそれぞれの間の対応関係を表す。たとえば、ｃ（１）＝３は、第１のモデルの第１の画像グループが、第２のモデルの第３の画像グループに対応することを示す。全部で以下の６通りの可能性がある。
ｃ（１）＝１，ｃ（２）＝２，ｃ（３）＝３
ｃ（１）＝１，ｃ（２）＝３，ｃ（３）＝２
ｃ（１）＝２，ｃ（２）＝１，ｃ（３）＝３
ｃ（１）＝２，ｃ（２）＝３，ｃ（３）＝１
ｃ（１）＝３，ｃ（２）＝１，ｃ（３）＝２
ｃ（１）＝３，ｃ（２）＝２，ｃ（３）＝１
【００８９】
６通りの対応関数を用いて、６通りの累積距離が算出される可能性が考えられる。この６通りの累積距離のうちの最小値を２つのモデル間の距離として用い、それに関連する対応関数が最適対応関数、すなわちｃ＊となる。
【００９０】
このように、クエリモデルとモデルデータベース１３００内の全ての三次元モデルとの間の距離の値を算出する。検索結果として、検索部１１０４は距離算出の結果をランク付けし、モデルクエリとの距離が最短である三次元モデルを出力するか、ユーザーが判断して選択できるように複数の候補を出力する。
【００９１】
以下に特定の例を用いて、セルニケモーメントに基づく検索について説明する。
【００９２】
図１０は、比較する２つの三次元モデルを示したもので、以下では左側のモデルをａと呼び、右側のモデルをｂと呼ぶ。
【００９３】
図１１、図１２はそれぞれ、モデルａ、モデルｂの６個の二次元画像を示す。この例では、すべての生成された画像はバイナリ画像であって、サイズは１００＊１００である。
【００９４】
この実施例では、各二次元画像はセルニケモーメントを特徴として用い、各固有ベクトルの長さは３６である。固有ベクトル間の絶対距離を用いて、２個の画像の類似度を計測する。表１は、モデルの画像間のペアの距離を示す。ここで、ａ−左側面図、ａ−右側面図、ａ−正面図、ａ−背面図、ａ−上面図、ａ−底面図はモデルａから生成された６個の二次元画像を表し、ｂ−左側面図、ｂ−右側面図、ｂ−正面図、ｂ−背面図、ｂ−上面図、ｂ−底面図はモデルｂから生成された６個の二次元画像を表す。
【表１】
2009080796.tif 000039
【００９５】
本発明で提案するモデル比較方法によれば、各三次元モデルの６個の画像は、表２に示すようにまず３つのグループに分けられる。ここで、Ａ１、Ａ２、Ａ３はモデルａの３つの画像グループを表し、Ｂ１、Ｂ２、Ｂ３はモデルｂの３つの画像グループを表す。
【表２】
2009080796.tif 000040
【００９６】
表３は、２つのモデルの画像グループ間のペアの距離を表にしたもので、画像グループＡ２と画像グループＢ３とを例として用いて、画像グループ間の距離の算出方法を説明している。
【００９７】
画像グループＡ２と画像グループＢ３には、全部で｛（ａ−右側面図，ｂ−正面図），（ａ−左側面図，ｂ−背面図）｝と｛（ａ−右側面図，ｂ−背面図），（ａ−左側面図，ｂ−正面図）｝の２通りのマッチの可能性がある。ここで、１つの括弧内にある２個の画像は、相互にマッチしたものとする。前者のマッチでは、２つの画像グループ間の距離は3.59621(1.41698+2.17923)であり、後者のマッチでは、２つの画像グループ間の距離は3.58958(2.17500+1.41458)である。これより、Ａ２とＢ３との間の距離はmin(3.58958,3.59621)=3.58958となる。他の画像グループ間の距離も同様の計算により得ることができる。
【表３】
2009080796.tif 000041
【００９８】
残る問題は、グループ間の対応関係を判定し、２つのモデル間の距離を算出することである。各モデルには３つの画像グループがあり、２つのモデルの画像グループ間の対応関係には全部で６通りの可能性がある。以下に、考えられるすべての対応関係と、それと対応する累積距離とを示す。ここで、１つの括弧内の２つの画像グループは相互にマッチしたものとする。
{(A1,B1),(A2,B2),(A3,B3)}:dis1= 2.46147 + 2.52431 + 0.402421 = 5.388201
{(A1,B1),(A2,B3),(A3,B2)}:dis2= 2.46147 + 3.58958 + 3.11826 = 9.16931
{(A1,B2),(A2,B3),(A3,B1)}:dis3= 6.35661 + 3.58958 + 8.08377 = 18.02996
{(A1,B2),(A2,B1),(A3,B3)}:dis4= 6.35661 + 6.93108 + 0.402421 = 13.690111
{(A1,B3),(A2,B2),(A3,B1)}:dis5= 7.82683 + 2.52431 + 8.08377 = 18.43491
{(A1,B3),(A2,B1),(A3,B2)}:dis6= 7.82638 + 6.93108 + 3.11826 = 17.87572
【００９９】
上述のように算出した結果によれば、モデルａとモデルｂとの間の距離は、min(dis1,dis2,dis3,dis4,dis5,dis6)=5.388201である。画像グループ間の最適対応は、{(Ａ１,Ｂ１),(Ａ２,Ｂ２),(Ａ３,Ｂ３)}であり、人間の視覚的認識とも一致する。
【０１００】
上述のように、三次元モデル検索装置はまず三次元モデルを正規化することで、三次元モデルの主軸方向を座標系の座標軸と一致させ、三次元モデルの重心をシステム座標系の原点にする。そして、三次元モデルをシステム座標系の各座標軸の正方向および負方向のそれぞれに投影することにより複数の二次元画像を生成し、これらに基づき三次元モデルのモデル記述子を生成する。続いて、モデル記述子に基づき、入力されたクエリモデルに最もマッチする三次元モデルをモデルデータベースから検索する。従来技術である三次元モデル検索装置と比較して、本発明に係る装置は検索にかかる計算量を大幅に減らし、検索効率を大きく向上することができる。
【実施例２】
【０１０１】
以下、図８を参照して、本発明の実施例２について説明する。
【０１０２】
前述の実施例１に係る三次元モデル検索装置１１００では、ユーザーから検索要求が入力された場合、すなわちクエリモデルが入力された場合に、そのクエリモデルとモデルデータベース内のモデルとを処理してそれぞれの記述子を生成し、これらの記述子に基づいて検索を行う。しかし、これにはモデルデータベース内の三次元モデルを毎回処理することが必要となるため、処理量が膨大なものとなり、低効率になってしまう。したがって、本発明に係る実施例２では、モデルデータベース内の三次元モデルを予め処理してモデルそれぞれの記述子を生成し、生成された記述子を対応するモデルと関連付けてモデルデータベース内に記憶する。ユーザーから検索要求が入力された場合、入力されたクエリモデルを処理してその記述子を生成し、このクエリモデルの記述子とモデルデータベースに記憶された記述子とを比較するだけで十分であり、これにより検索を行うことができる。これらを除けば、実施例２の構造は実施例１の構造と同じである。以下では、上述した差異に関してのみ説明し、反復を避けるため同一の部分に関しては説明を省略する。
【０１０３】
図８は、本発明の実施例２に係る三次元モデル検索システムのブロック図である。実施例２では、三次元モデル検索装置２１００は、入力部２２００、モデルデータベース２３００、出力部２４００と接続される。入力部２２００を経由してユーザーから三次元クエリモデルが入力されると、三次元モデル検索装置２１００は、クエリモデルの記述子を生成することによって入力された三次元クエリモデルを処理し、三次元クエリモデルの記述子に最もマッチするモデル記述子をモデルデータベース２３００から検索することによりクエリモデルに最もマッチする三次元モデルを検索し、出力部２４００を介してその三次元モデルを出力する。
【０１０４】
モデルデータベース２３００は、モデルデータベース構築部２５００に接続される。モデルデータベース構築部２５００は、予め、あるいは新しく三次元モデルがモデルデータベース２３００に追加される度に、モデルデータベース２３００内の三次元モデルを処理して対応するモデル記述子を生成し、モデルデータベース２３００に再度記憶するため、生成されたモデル記述子と三次元モデルとを関連付ける。
【０１０５】
モデルデータベース構築部２５００は、モデル正規化部２５０１、二次元画像生成部２５０２、モデル記述部２５０３から構成される。モデル正規化部２５０１、二次元画像生成部２５０２、モデル記述部２５０３はそれぞれ、前述の実施例１におけるモデル正規化部１１０１、二次元画像生成部１１０２、モデル記述部１１０３と同一である。具体的には、モデル正規化部２５０１は、モデルデータベース２３００内の三次元モデルを正規化することにより、三次元モデルの主軸をシステム座標系の３つの座標軸と一致させ、三次元モデルの重心をシステム座標系の原点と一致させ、正規化された三次元モデルを二次元画像生成部２５０２に転送する。続いて、二次元画像生成部２５０２は、三次元モデルを座標系の各座標軸の正方向および負方向にそれぞれに投影して６個の二次元画像を生成し、生成された二次元画像をモデル記述部２５０３に転送する。モデル記述部２５０３は、二次元画像のセルニケモーメントを算出し、三次元モデルの記述子を求める。生成された記述子は対応する三次元モデルと関連付けられ、モデルデータベース２３００に記憶される。
【０１０６】
三次元モデル検索装置２１００は、モデル正規化部２１０１、二次元画像生成部２１０２、モデル記述部２１０３、検索部２１０４から構成される。ユーザーから入力部２２００を経由してクエリモデルが入力されると、モデル正規化部２１０１はクエリモデルを回転および／または平行移動することで、モデルの主軸方向をシステム座標系の３つの座標軸と一致させ、三次元モデルの重心をシステム座標系の原点と一致させる。二次元画像生成部２１０２は、正規化されたクエリモデルをシステム座標系の各座標軸の正方向および負方向のそれぞれに投影し、６個の二次元画像を生成する。モデル記述部２１０３は、二次元画像の特徴を抽出し、クエリモデルの記述子を生成する。検索部２１０４は、この記述部に基づいて、三次元クエリモデルに最もマッチするモデル記述子をモデルデータベース２３００から検索することにより、クエリモデルに最もマッチする三次元モデルを検索し、それを出力部２４００を介して出力する。
【０１０７】
実施例２によれば、モデルデータベース２３００内の三次元モデルについてそれぞれの記述子を予め生成することにより、クエリモデルを処理するだけで十分となり、検索中に毎回モデルデータベース内の三次元モデルを処理する必要がなくなる。これにより検索中の処理量がさらに減り、検索効率が向上する。
【０１０８】
さらに、実施例２では、三次元モデルと記述子とが互いに関連付けられて同じモデルデータベース２３００に記憶される状況を例として取り上げて上述のように説明したが、本発明はこれに限定されない。例えば、三次元モデルとモデル記述子とを異なるデータベースに記憶することも可能であり、この場合、モデル記述子が記憶されているデータベースにモデル検索装置２１００がアクセスし、クエリモデルに最もマッチする記述子を検索し、検索した記述子をクエリとして用いて三次元モデルが記憶されているデータベースから対応する三次元モデルを抽出し、検索結果を出力すればよい。
【実施例３】
【０１０９】
前述の実施例１および実施例２では三次元モデルをクエリとして用いたが、後述する実施例３では１個の二次元画像をクエリとして用い、マッチした画像間の距離を利用して、入力された二次元画像クエリとデータベース内のモデルとの間の類似度を計測する。これらを除けば、実施例３の構造は実施例２の構造と同じである。以下では、上述した差異に関してのみ説明し、反復を避けるため同一の部分に関しては説明を省略する。
【０１１０】
図９は、本発明の実施例３に係る三次元モデル検索システムを示すブロック図である。
【０１１１】
実施例３では、三次元モデル検索装置３１００は、入力部３２００、モデルデータベース３３００、出力部３４００に接続される。入力部３２００を介して二次元画像の入力がユーザによりなされた場合、三次元モデル検索装置３１００は、二次元画像クエリから記述子を生成し、この記述子に基づいて二次元画像クエリの記述子に最もマッチするモデル記述子をモデルデータベース３３００から検索することにより、二次元画像クエリに最もマッチする三次元モデルを検索し、それを出力部３４００を介して出力する。
【０１１２】
前述の実施例２のように、モデルデータベース３３００はモデルデータベース構築部３５００に接続される。モデルデータベース構築部３５００は、予め、あるいは新しく三次元モデルがモデルデータベース３３００に追加される度に、モデルデータベース３３００内の三次元モデルを処理して対応するモデル記述子を生成し、モデルデータベース３３００に再度記憶するため、生成されたモデル記述子と三次元モデルとを関連付ける。
【０１１３】
モデルデータベース構築部３５００は、モデル正規化部３５０１、二次元画像生成部３５０２、モデル記述部３５０３から構成される。モデル正規化部３５０１、二次元画像生成部３５０２、モデル記述部３５０３はそれぞれ前述の実施例２におけるモデル正規化部２５０１、二次元画像生成部２５０２、モデル記述部２５０３と同一である。具体的には、モデル正規化部３５０１は、モデルデータベース３３００内の三次元モデルを正規化することにより、三次元モデルの主軸をシステム座標系の３つの軸に一致させ、三次元モデルの重心をシステム座標系の原点と一致させ、正規化された三次元モデルを二次元画像生成部３５０２に転送する。続いて、二次元画像生成部３５０２は、三次元モデルを座標系の各座標軸の正方向および負方向のそれぞれに投影して６個の二次元画像を生成し、生成した二次元画像をモデル記述部３５０３に転送する。モデル記述部３５０３は、二次元画像のセルニケモーメントを算出し、三次元モデルの記述子を求める。生成された記述子は対応する三次元モデルと関連付けられ、モデルデータベース３３００に記憶される。
【０１１４】
三次元モデル検索装置３１００は、記述部３１０３、検索部３１０４から構成される。入力部３２００を介して二次元画像クエリがユーザーにより入力されると、記述部３１０３は二次元画像クエリの特徴を抽出し、その記述子を生成する。検索部３１０４は、この記述子に基づいて二次元画像クエリの記述子に最もマッチするモデル記述子をモデルデータベース３３００から検索することにより、二次元画像クエリに最もマッチする三次元モデルを検索し、それを出力部３４００を介して出力する。
【０１１５】
例えば、Ｉが入力された二次元画像クエリを表し、ｍｉ，ｉ＝１，２，．．．，６が三次元モデルの６個の二次元画像を表すとすると、画像クエリＩと三次元モデルとの間の距離は
【数３８】
2009080796.tif 000042
として算出できる。ここで、ｌは２個の画像の特徴間の絶対距離を表し、ｍｉｎ（）は最小値を求める関数である。
【０１１６】
二次元画像のペアをクエリとして入力することも可能である。この場合、マッチした画像グループ間の距離を用いて、画像クエリとモデルデータベース内の三次元モデルとの類似度を計測する。Ｐ＝｛ｐ１，ｐ２｝が２個のクエリ画像を表し、Ａ１、Ａ２、Ａ３がモデルデータベースの画像の３つの画像グループを表すとすると、クエリ画像グループＰと三次元モデルとの間の距離は
【数３９】
2009080796.tif 000043
となる。ここで、ｄｉｓは２つの画像グループ間の距離を示し、ｍｉｎ（）は最小値を求める関数である。上記の算出処理は、実施例１で説明した方法と同一である。
【０１１７】
このように、クエリ画像とモデルデータベース３３００内のすべてのモデルとの間の距離を算出し、検索結果を判定する。
【０１１８】
実施例３によれば、二次元画像をクエリとして用いて三次元モデルを検索することが可能であり、三次元モデル検索の柔軟性が大幅に向上する。
【０１１９】
他の実施例
本発明の特定の実施例を参照して本発明は説明されるが、本発明は前述の実施例に制限されるものではないと解すべきである。本発明の範囲は添付の特許請求の範囲によって定義されるが、請求項の範囲内において、様々な変形及び改良を行うことができる。
【０１２０】
例えば、前述の実施例１から実施例３では、三次元モデルが三角格子から構成される状況を例として説明した。しかし、状況によってはモデル検索システムの三次元モデルの入力が三つ以上の頂点を有する多角形から構成されていてもよい。入力された三次元モデルが多角形格子から構成される状況では、本発明のモデル正規化部はまず、多角形格子が三角格子に変換される。多角形を三角形にする方法には多くのものがあり、例えば、Joseph O’ Rourke: Computational geometry in C (second edition), Cambridge University Press, page. 1-40を参照できる。
【０１２１】
さらに、前述の実施例では、二次元画像生成部が三次元モデルに基づいて６個の画像を生成する状況を例として本発明を説明した。しかし、本発明は６個の画像を生成する場合に限定されず、生成する画像は６個未満であってもよい。例えば、対称性を有する三次元モデルを検索する場合は６個の画像を生成する必要はないので処理量が減り、処理速度が向上する。
【０１２２】
また、本発明は、前述の実施例で説明した三次元モデル検索装置として実施されることに限定されず、本発明に係る三次元モデル検索装置によって三次元モデル検索方法としても実施され得る。
【０１２３】
また、本発明は、三次元モデルをアーカイブする方法として実施してもよい。この方法は、もとの三次元モデルを回転および／または平行移動することにより、三次元モデルの主軸方向をシステム座標系の３つの座標軸と一致させ、三次元モデルの重心をシステム座標系の原点と一致させるステップと、システム座標系の各座標軸の正方向および負方向のそれぞれに三次元モデルを投影して、複数の二次元画像を生成するステップと、二次元画像から三次元モデルのモデル記述子を生成するステップと、データベースに記憶するためにモデル記述子ともとの三次元モデルとを関連付けるステップとを含むものとする。
【０１２４】
さらに、本発明は、コンピュータまたは他の情報処理装置に本発明に係る三次元モデル検索方法を実行させるプログラムとして実施してもよい。具体的には、本発明のプログラムは、三次元モデルを回転および／または平行移動することにより、三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、三次元モデルの重心をシステム座標系の原点と一致させることと、システム座標系の各座標軸の正方向および負方向のそれぞれに三次元モデルを投影して複数の二次元画像を生成することと、二次元画像から三次元モデルのモデル記述子を生成することと、モデル記述子に基づいて入力されたクエリモデルに最もマッチする三次元モデルをモデルデータベースから検索することと、を情報処理装置に実行させる。
【０１２５】
さらに、本発明は、前述のプログラムを記録するコンピュータ読み取り可能な記録媒体として実施してもよい。
【０１２６】
さらに、特許請求の範囲によって定義した範囲内において、前述の本発明の各構成要素を適切に組み合わせて用いてもよい。
【０１２７】
（付記１）三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向を三次元空間の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化手段と、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成手段と、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述手段と、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索手段と、
を備えたことを特徴とする三次元モデル検索装置。
【０１２８】
（付記２）前記モデル正規化手段は、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする付記１に記載の三次元モデル検索装置。
【０１２９】
（付記３）前記二次元画像生成手段は、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする付記１に記載の三次元モデル検索装置。
【０１３０】
（付記４）前記二次元画像生成手段は、１つの三次元モデルにつき、６以下の二次元画像を生成することを特徴とする付記１に記載の三次元モデル検索装置。
【０１３１】
（付記５）前記モデル記述手段は、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする付記１に記載の三次元モデル検索装置。
【０１３２】
（付記６）前記検索手段は、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする付記５に記載の三次元モデル検索装置。
【０１３３】
（付記７）前記三次元モデル検索装置は、二次元画像をクエリとして取得し、前記検索手段は、モデルデータベース内の三次元モデルのモデル記述子に基づき、クエリとなる二次元画像とモデルデータベース内の三次元モデルとの間の距離を算出し、当該距離に基づき検索を行うことを特徴とする付記５に記載の三次元モデル検索装置。
【０１３４】
（付記８）三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、
を含んだことを特徴とする三次元モデル検索方法。
【０１３５】
（付記９）前記モデル正規化ステップでは、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする付記８に記載の三次元モデル検索方法。
【０１３６】
（付記１０）前記二次元画像生成ステップでは、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする付記８に記載の三次元モデル検索方法。
【０１３７】
（付記１１）前記二次元画像生成ステップでは、１つの三次元モデルにつき、６以下の二次元画像を生成することを特徴とする付記８に記載の三次元モデル検索方法。
【０１３８】
（付記１２）前記モデル記述ステップでは、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする付記８に記載の三次元モデル検索方法。
【０１３９】
（付記１３）前記検索ステップでは、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする付記１２に記載の三次元モデル検索方法。
【０１４０】
（付記１４）前記三次元モデル検索方法は、二次元画像をクエリとして取得し、
前記検索ステップでは、モデルデータベース内の三次元モデルのモデル記述子に基づき、クエリとなる二次元画像とモデルデータベース内の三次元モデルとの間の距離を算出し、当該距離に基づき検索を行うこと、
を特徴とする付記１２に記載の三次元モデル検索方法。
【０１４１】
（付記１５）三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成するステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するステップと、
データベースに記憶するために前記モデル記述子と三次元モデルとを関連付けるステップと、
を含んだことを特徴とする三次元モデルのアーカイブ方法。
【０１４２】
（付記１６）三次元モデルを回転および／または平行移動することにより当該三次元モデルの主軸方向をシステム座標系の座標軸と一致させ、当該三次元モデルの重心をシステム座標系の原点と一致させるモデル正規化ステップと、
前記システム座標系の各座標軸の正方向および負方向のそれぞれに前記三次元モデルを投影して、複数の二次元画像を生成する二次元画像生成ステップと、
前記二次元画像から三次元モデルのモデル記述子を生成するモデル記述ステップと、
前記モデル記述子に基づいて入力クエリに最もマッチする三次元モデルをモデルデータベースから検索する検索ステップと、
を情報処理装置に実行させるプログラム。
【０１４３】
（付記１７）前記モデル正規化ステップでは、前記三次元モデルを構成する各三角形の法線方向を算出し、すべての三角形の法線方向の分布情報に基づいて三次元モデルの主軸方向を判定し、当該主軸方向に基づいて三次元モデルを回転することを特徴とする付記１６に記載のプログラム。
【０１４４】
（付記１８）前記二次元画像生成ステップでは、前記投影において、各座標軸の正方向には対応する座標位置が正である標本点だけを投影し、各座標軸の負方向には対応する座標位置が負である標本点だけを投影することを特徴とする付記１６に記載のプログラム。
【０１４５】
（付記１９）前記モデル記述ステップでは、前記二次元画像のそれぞれについて画像記述子を生成し、二次元画像の画像記述子の集合を三次元モデルのモデル記述子として設定することを特徴とする付記１６に記載のプログラム。
【０１４６】
（付記２０）前記検索ステップでは、三次元画像の同じ座標軸上にある二次元画像をペアとして設定し、クエリモデルの二次元画像のペアをモデルデータベースにあるモデルの二次元画像のペアとマッチングし、二次元画像のマッチしたペア間の距離を算出および累積し、累積した距離に基づいて検索を行うことを特徴とする付記１９に記載のプログラム。
【図面の簡単な説明】
【０１４７】
【図１】本発明の実施例１に係る三次元モデル検索システムを示すブロック図である。
【図２】本発明のＮｏｒｍａｌ−ＰＣＡ法を用いた三角形の面積および法線方向算出の概念図である。
【図３】主軸方向の探索結果の例を示す図である。
【図４】本発明に係る三角標本化メカニズムを示す図である。
【図５】三角標本化の結果を典型的に示す図である。
【図６】図５のモデルＨに基づいて生成された６個の二次元画像を示す図である。
【図７】２個のモデル間の比較を示す図である。
【図８】本発明の実施例２に係る三次元モデル検索システムを示すブロック図である。
【図９】本発明の実施例３に係る三次元モデル検索システムを示すブロック図である。
【図１０】比較対象の２つの三次元モデルを例示する図である。
【図１１】図１０のモデルａに基づいて生成された６個の二次元画像を示す図である。
【図１２】図１０のモデルｂに基づいて生成された６個の二次元画像を示す図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2009080796.tif 000044
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2009080796.tif 000045
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2009080796.tif 000046