(57)【要約】【課題】  ポリゴンモデルを基に立体物の出力を行う際に、２次元の画像を基準として、出力規制すべきか否かの判定を的確に行う立体物造形用データ出力規制装置を提供する。【解決手段】  規制画像から抽出された対象物のエッジ点により特定されるエッジ点間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段９２と、対象モデル内の３つのポリゴンの点により特定されるポリゴン間三角形を、エッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、補正エッジ点間三角形、エッジ点間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段１０と、規制画像と対象モデルの２次元度数分布を照合し、出力規制すべきか否か判定する度数分布照合手段２０を有する。【選択図】  図２４
2019022964.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布を、前記データベースに登録されている規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有し、
前記データベースに登録された前記２次元度数分布は、
前記規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、前記３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、前記補正エッジ点間三角形、前記エッジ点間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段により得られたものであることを特徴とする立体物造形用データ出力規制装置。
【請求項２】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像の特徴を表現した特徴データが登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記データベースに登録された前記特徴データを用いて２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布を、前記画像度数分布算出手段により算出された規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有し、
前記データベースに登録された前記特徴データは、前記規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形と、前記３つのエッジ点のエッジ方向ベクトルを用いて前記エッジ点間三角形を補正して得られた補正エッジ点間三角形を得ることにより得られたものであることを特徴とする立体物造形用データ出力規制装置。
【請求項３】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、前記３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、前記補正エッジ点間三角形、前記エッジ点間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記画像度数分布算出手段により算出された規制画像の２次元度数分布と、前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布と、を照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有することを特徴とする立体物造形用データ出力規制装置。
【請求項４】
前記画像度数分布算出手段は、前記規制画像に対して、前記２次元度数分布に加えて、前記２つのパラメータの少なくとも１つの度数分布である１次元度数分布を算出するものであり、
前記モデル度数分布算出手段は、前記対象モデルに対して、前記２次元度数分布に加えて、前記１次元度数分布を算出するものであり、
前記度数分布照合手段は、前記２次元度数分布の照合に加えて、対象モデルの１次元度数分布を、規制画像の１次元度数分布と照合し、出力を規制すべきか否かを判定するものであることを特徴とする請求項１から請求項３のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項５】
前記対象モデルの２つのパラメータは、それぞれ前記補正ポリゴン間三角形の外接円半径、前記補正ポリゴン間三角形とポリゴン間三角形の面積比を反映した面積比反映値であり、前記規制画像の２つのパラメータは、それぞれ前記補正エッジ点間三角形の外接円半径、前記補正エッジ点間三角形とエッジ点間三角形の面積比を反映した面積比反映値であることを特徴とする請求項１から請求項４のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項６】
前記２次元度数分布の座標が直交座標であり、
前記モデル度数分布算出手段は、前記２次元度数分布を算出するにあたり、一方の軸Ｘは前記外接円半径の最大値を基準とする範囲を複数の要素に分割し、もう一方の軸Ｙは前記外接円半径の最大値を基準とする値の４乗の範囲を複数の要素に分割した上で、
前記外接円半径と面積比反映値を、前記軸Ｘおよび軸Ｙの各々に対応させて、前記要素のいずれかに割り当て、前記２次元度数分布を算出することを特徴とする請求項５に記載の立体物造形用データ出力規制装置。
【請求項７】
前記モデル度数分布算出手段は、前記対象モデルに対して、前記２次元度数分布に加えて、１次元度数分布を算出するものであり、前記１次元度数分布を算出するにあたり、前記外接円半径の最大値を基準とする範囲を複数の要素に分割し、前記各外接円半径を、当該外接円半径の値に基づいて、いずれかの前記要素に割り当てるか、または、前記外接円半径の最大値を基準とする値の４乗の範囲を複数の要素に分割し、前記各面積比反映値を、当該面積比反映値の値に基づいて、前記要素のいずれかに割り当てることにより、前記１次元度数分布を算出することを特徴とする請求項５または請求項６に記載の立体物造形用データ出力規制装置。
【請求項８】
前記モデル度数分布算出手段は、前記２次元度数分布を算出するにあたり、前記補正ポリゴン間三角形または前記補正エッジ点間三角形の面積を用いて重み付けすることを特徴とする請求項６または請求項７に記載の立体物造形用データ出力規制装置。
【請求項９】
前記３つのエッジ点は、前記規制画像に対して、当該規制画像内のエッジ点を３個単位で取得してランダムに第１エッジ点グループ、第２エッジ点グループ、第３エッジ点グループの３つのグループに分類し、各グループから１つずつエッジ点を選択することにより選択されることを特徴とする請求項１から請求項８のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１０】
前記３つのポリゴンは、前記対象モデルに対して、当該対象モデル内のポリゴンを３個単位で取得してランダムに第１ポリゴングループ、第２ポリゴングループ、第３ポリゴングループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより選択されることを特徴とする請求項１から請求項９のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１１】
前記度数分布照合手段は、前記モデル度数分布算出手段により前記対象モデルから算出された２次元度数分布を前記規制画像の２次元度数分布と照合するにあたり、
前記２次元度数分布どうしの相関係数を算出し、算出された相関係数に基づいて、出力を規制すべきであると判定するようにしていることを特徴とする請求項１から請求項１０のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１２】
前記対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記度数分布照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記対象モデルの出力中止命令を出力する手段と、
を更に有することを特徴とする請求項１から請求項１１のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１３】
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段を有し、
前記処理サーバは、
出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの２次元度数分布を受信する受信手段と、
前記対象モデルの２次元度数分布を、前記データベースに登録されている規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする立体物造形用データ出力規制装置。
【請求項１４】
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段を有し、
前記処理サーバは、
出力を規制すべき画像である規制画像の特徴を表現した特徴データが登録されたデータベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの２次元度数分布を受信する受信手段と、
前記データベースに登録された前記特徴データを用いて２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
前記対象モデルの２次元度数分布を、前記画像度数分布算出手段により算出された規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする立体物造形用データ出力規制装置。
【請求項１５】
請求項１から請求項１４のいずれか一項に記載の立体物造形用データ出力規制装置と、
前記立体物造形用データ出力規制装置で出力を規制すべきでないと判定されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システム。
【請求項１６】
コンピュータを、請求項１から請求項１４のいずれか一項に記載の立体物造形用データ出力規制装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物を表すデータを基に、樹脂等を加工して立体物を造形する３Ｄプリンタ等の立体物造形装置の利用に際して、立体物造形装置からの出力に不適切なものを判別するための技術に関する。
【背景技術】
【０００２】
近年、立体物を表すデータをもとに、樹脂や石膏等を加工して造形する３Ｄプリンタが立体物造形装置として普及してきている。３Ｄプリンタは、立体物の３次元形状をポリゴンの集合で表現したポリゴンモデルを用いて立体物の出力を行う。３Ｄプリンタの医療応用として、医療診断で撮影されるCT/MRI画像（DICOM形式３次元ボクセルデータ）を基に、３Ｄプリンタ出力用モデリングデータ（ポリゴンモデル）を作成し、手術シミュレーション・医学教育・インフォームドコンセント向けの臓器模型を出力したり、体内埋め込み用の人工臓器（血管、骨、関節など）を作成したりする試みが始まっている。
【０００３】
３Ｄプリンタには、インターネットを介して情報だけでなく、モノを遠隔地に間接的に伝搬できる革新性を備えている。そのため、これまで税関で規制されていた銃砲・刀剣などの危険物がデータ形態で国境を越えて流布され、３Ｄプリンタによりモノとして容易に入手可能になるという問題が発生している。
【０００４】
具体的には、あるＷＥＢサイトにて３Ｄプリンタを用いて所定のモデルの拳銃を製造できるＳＴＬ（Standard Triangulated Language）が無償で公開されている。金属製に比べて射程距離などは多少劣るが、３Ｄプリンタで作成された弾丸でも殺傷能力はそれなりにある。更に、現状の３Ｄプリンタで造形可能な材料は樹脂・石膏に限定され、金属が使用できないという欠点が裏目に出て、空港の金属探知機で見逃されるという問題も指摘されている。今後、民生用の３Ｄプリンタが普及するにあたり、３Ｄプリンタ側に投入される出力データの形状認証と危険物の出力規制などのセキュリティ機能をもたせることが求められる。また、危険物だけでなく、３Ｄプリンタでは、キャラクターを３次元化したもの等を出力することができるため、著作権侵害となる可能性のあるモノが出力されてしまうという問題もある。
【０００５】
これに対して、ウィルス対策ツールと類似した手法で出力可否判定を行うシステムを構築する手法が考えられ、その実現にあたり、ポリゴン同士を照合する技術が用いられている（特許文献１参照）。しかし、３Ｄプリンタでの出力を規制すべき対象としては、３次元のポリゴンモデルを複製したものだけでなく、イラストや写真等の２次元で表現されたものを３次元化したものも含める必要がある。これに対応するため、出願人は、ポリゴンモデルを基に立体物の出力を行う際に、２次元の画像を基準として、出力を規制すべきか否かの判定を行う技術を提案している（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１６２１６７号公報
【特許文献２】特開２０１６−１５０５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載の技術では、出力対象の３次元のポリゴンモデルである対象モデル、規制すべき２次元の画像である規制画像それぞれについて、対象モデルのポリゴン間の関係、規制画像の特徴から、距離分布、角度分布を作成し、照合することにより、対象モデルの出力を規制すべきか否かを判定している。
【０００８】
しかしながら、特許文献２に記載の技術で照合した場合であっても、規制すべきものが出力されてしまったり、出力してもよいものが出力できない状態になってしまうという状況が生じることもあった。
【０００９】
そこで、本発明は、ポリゴンモデルを基に立体物の出力を行う際に、２次元の画像を基準として、出力を規制すべきか否かの判定をより的確に行うことが可能な立体物造形用データ出力規制装置を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明第１の態様では、
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布を、前記データベースに登録されている規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有し、
前記データベースに登録された前記２次元度数分布は、
前記規制画像に対して、対象物（オブジェクト）のエッジ（端）を構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、前記３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、前記補正エッジ点間三角形、前記エッジ点間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段により得られたものであることを特徴とする立体物造形用データ出力規制装置を提供する。
【００１１】
ここで、対象物（オブジェクト）とは、ポリゴンモデルに造形される規制画像中の対象領域であり、それ以外の領域は背景である。したがって、対象物とは、画像が写真であれば、被写体に相当する部分であり、人工的に作成された画像であれば、イラストやキャラクター等に相当する部分である。画像において対象物であるか背景であるかは、主観的なものとなるが、規制画像として登録される画像は、複製を防止したい部分が対象物として明確であることが多いため、対象物と背景の区分は比較的明確である。
【００１２】
本発明第１の態様によれば、出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースを備え、対象モデルに対して、対象モデル内の３つのポリゴンの所定の点により特定されるポリゴン間三角形を、３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出し、算出された対象モデルの２次元度数分布を、データベースに登録されている規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定するものであり、データベースに登録された２次元度数分布は、規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定されるエッジ点間三角形を、３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、補正エッジ点間三角形、前記エッジ点間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する手段により得られたものであるので、ポリゴンモデルを基に立体物の出力を行う際に、次元の異なる２次元の規制画像と照合を行うことにより出力を規制すべきか否かの判定を的確に行うことが可能となる。特に、規制画像において、輪郭線のみの線画と輪郭線内部が塗り潰されたイラスト・写真の識別を容易にする。
【００１３】
また、本発明第２の態様では、
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像の特徴を表現した特徴データが登録されたデータベースと、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記データベースに登録された特徴データを用いて２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布を、前記画像度数分布算出手段により算出された規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有し、
前記データベースに登録された前記特徴データは、前記規制画像に対して、対象物（オブジェクト）のエッジ（端）を構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形と、前記３つのエッジ点のエッジ方向ベクトルを用いて前記エッジ点間三角形を補正して得られた補正エッジ点間三角形を得ることにより得られたものであることを特徴とする立体物造形用データ出力規制装置を提供する。
【００１４】
本発明第２の態様によれば、出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースを備え、対象モデルに対して、対象モデル内の３つのポリゴンの所定の点により特定されるポリゴン間三角形を、３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出し、特徴データを用いて２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出し、算出された対象モデルの２次元度数分布と規制画像の２次元度数分布を照合し、出力を規制すべきか否かを判定するものであり、データベースに登録された特徴データは、規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定されるエッジ点間三角形を、３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得る手段により得られたものであるので、ポリゴンモデルを基に立体物の出力を行う際に、次元の異なる２次元の規制画像と照合を行うことにより出力を規制すべきか否かの判定を的確に行うことが可能となる。特に、規制画像において、輪郭線のみの線画と輪郭線内部が塗り潰されたイラスト・写真の識別を容易にする。また、度数分布を算出する中間のデータである特徴データをデータベースに登録しておき、対象モデルの特徴に合わせて、特徴データから度数分布を算出することができるため、より的確な出力適否の判定を行うことが可能となる。
【００１５】
また、本発明第３の態様では、
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべき画像である規制画像に対して、対象物（オブジェクト）のエッジ（端）を構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、前記３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、前記補正エッジ点間三角形、前記エッジ点間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段と、
前記画像度数分布算出手段により算出された規制画像の２次元度数分布と、前記モデル度数分布算出手段により算出された対象モデルの２次元度数分布と、を照合し、出力を規制すべきか否かを判定する度数分布照合手段と、を有することを特徴とする立体物造形用データ出力規制装置を提供する。
【００１６】
本発明第３の態様によれば、規制画像に対して、対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定されるエッジ点間三角形を、３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、補正エッジ点間三角形、エッジ点間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出し、対象モデル内の３つのポリゴンの所定の点により特定されるポリゴン間三角形を、３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、補正ポリゴン間三角形、ポリゴン間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出し、算出された規制画像の２次元度数分布と、算出された対象モデルの２次元度数分布と、を照合し、出力を規制すべきか否かを判定するようにしたので、ポリゴンモデルを基に立体物の出力を行う際に、規制画像からその場で度数分布を作成し、次元の異なる２次元の規制画像と照合を行うことにより、出力を規制すべきか否かの判定を的確に行うことが可能となる。
【００１７】
また、本発明第４の態様では、
前記画像度数分布算出手段は、前記規制画像に対して、前記２次元度数分布に加えて、前記２つのパラメータの少なくとも１つの度数分布である１次元度数分布を算出するものであり、
前記モデル度数分布算出手段は、前記対象モデルに対して、前記２次元度数分布に加えて、前記１次元度数分布を算出するものであり、
前記度数分布照合手段は、前記２次元度数分布の照合に加えて、対象モデルの１次元度数分布を、規制画像の１次元度数分布と照合し、出力を規制すべきか否かを判定するものであることを特徴とする。
【００１８】
また、本発明第５の態様では、前記対象モデルの２つのパラメータは、それぞれ前記補正ポリゴン間三角形の外接円半径、前記補正ポリゴン間三角形とポリゴン間三角形の面積比を反映した面積比反映値であり、前記規制画像の２つのパラメータは、それぞれ前記補正エッジ点間三角形の外接円半径、前記補正エッジ点間三角形とエッジ点間三角形の面積比を反映した面積比反映値であることを特徴とする。
【００１９】
また、本発明第６の態様では、前記２次元度数分布の座標が直交座標であり、
前記モデル度数分布算出手段は、前記２次元度数分布を算出するにあたり、一方の軸Ｘは前記外接円半径の最大値を基準とする範囲を複数の要素に分割し、もう一方の軸Ｙは前記外接円半径の最大値を基準とする値の４乗の範囲を複数の要素に分割した上で、
前記外接円半径と面積比反映値を、前記軸Ｘおよび軸Ｙの各々に対応させて、前記要素のいずれかに割り当て、前記２次元度数分布を算出することを特徴とする。
【００２０】
また、本発明第７の態様では、前記モデル度数分布算出手段は、前記対象モデルに対して、前記２次元度数分布に加えて、１次元度数分布を算出するものであり、前記１次元度数分布を算出するにあたり、前記外接円半径の最大値を基準とする範囲を複数の要素に分割し、前記各外接円半径を、当該外接円半径の値に基づいて、いずれかの前記要素に割り当てるか、または、前記外接円半径の最大値を基準とする値の４乗の範囲を複数の要素に分割し、前記各面積比反映値を、当該面積比反映値の値に基づいて、前記要素のいずれかに割り当てることにより、前記１次元度数分布を算出することを特徴とする。
【００２１】
また、本発明第８の態様では、前記モデル度数分布算出手段は、前記１次元度数分布または２次元度数分布を算出するにあたり、前記補正ポリゴン間三角形または前記補正エッジ点間三角形の面積を用いて重み付けすることを特徴とする。
【００２２】
また、本発明第９の態様では、前記３つのエッジ点は、前記規制画像に対して、当該規制画像内のエッジ点を３個単位で取得してランダムに第１エッジ点グループ、第２エッジ点グループ、第３エッジ点グループの３つのグループに分類し、各グループから１つずつエッジ点を選択することにより選択されることを特徴とする。
【００２３】
また、本発明第１０の態様では、前記３つのポリゴンは、前記対象モデルに対して、当該対象モデル内のポリゴンを３個単位で取得してランダムに第１ポリゴングループ、第２ポリゴングループ、第３ポリゴングループの３つのグループに分類し、各グループから１つずつポリゴンを選択することにより選択されることを特徴とする。
【００２４】
また、本発明第１１の態様では、前記度数分布照合手段は、前記モデル度数分布算出手段により前記対象モデルから算出された２次元度数分布を前記規制画像の２次元度数分布と照合するにあたり、
前記２次元度数分布どうしの相関係数を算出し、算出された相関係数に基づいて、出力を規制すべきであると判定するようにしていることを特徴とする。
【００２５】
また、本発明第１２の態様では、
前記対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記度数分布照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記対象モデルの出力中止命令を出力する手段と、
を更に有することを特徴とする。
【００２６】
また、本発明第１３の態様では、
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段を有し、
前記処理サーバは、
出力を規制すべき画像である規制画像の特徴を表現した２次元度数分布が登録されたデータベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの２次元度数分布を受信する受信手段と、
前記対象モデルの２次元度数分布を、前記データベースに登録されている規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする立体物造形用データ出力規制装置を提供する。
【００２７】
また、本発明第１４の態様では、
出力制御用端末と、処理サーバがネットワークを介して接続された構成であって、
前記出力制御用端末は、
出力対象のポリゴンモデルである対象モデルに対して、当該対象モデル内の３つのポリゴンの所定の点により特定される三角形であるポリゴン間三角形を、前記３つのポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を得て、前記補正ポリゴン間三角形、前記ポリゴン間三角形を基に２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出するモデル度数分布算出手段を有し、
前記処理サーバは、
出力を規制すべき画像である規制画像の特徴を表現した特徴データが登録されたデータベースと、
ネットワークを介して前記出力制御用端末から前記対象モデルの２次元度数分布を受信する受信手段と、
前記データベースに登録された特徴データを用いて２つのパラメータを算出し、前記２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する画像度数分布算出手段と、
前記対象モデルの２次元度数分布を、前記画像度数分布算出手段により算出された規制画像の２次元度数分布と照合し、出力を規制すべきか否かを判定する度数分布照合手段と、
前記度数分布照合手段により判定された、出力を規制すべきか否かに基づくデータを前記出力制御用端末に送信する出力適否データ送信手段と、
を有することを特徴とする立体物造形用データ出力規制装置を提供する。
【００２８】
また、本発明第１５の態様では、
前記立体物造形用データ出力規制装置と、
前記立体物造形用データ出力規制装置で出力を規制すべきでないと判定されたポリゴンモデルを用いて立体物を造形する立体物造形装置と、
を有することを特徴とする立体物造形システムを提供する。
【００２９】
また、本発明第１６の態様では、コンピュータを、前記立体物造形用データ出力規制装置として機能させるためのプログラムを提供する。
【発明の効果】
【００３０】
本発明によれば、ポリゴンモデルを基に立体物の出力を行う際に、２次元の画像を基準として、出力を規制すべきか否かの判定を的確に行うことが可能となる。
【図面の簡単な説明】
【００３１】
【図１】本発明の処理概略を説明するための図である。
【図２】内部が塗り潰された円形の対象物と、中央が塗り潰されておらず輪郭付近の内部が塗り潰された輪状の対象物において、特定された三角形を示す図である。
【図３】１次元度数分布と２次元度数分布の関係を示す図である。
【図４】画像度数分布算出装置３００のハードウェア構成図である。
【図５】画像度数分布算出装置３００の構成を示す機能ブロック図である。
【図６】画像度数分布算出装置３００の処理動作を示すフローチャートである。
【図７】１６方向エッジ抽出フィルタを示す図である。
【図８】エッジ強度補正テーブルを示す図である。
【図９】本実施形態におけるエッジ点（またはポリゴン）のグループ分類を説明するための図である。
【図１０】データ配列における順序に基づき、３で除した余りによるエッジ点（またはポリゴン）のグループ分類を説明するための図である。
【図１１】特定三角形（エッジ点間三角形、ポリゴン間三角形）と補正三角形（補正エッジ点間三角形、補正ポリゴン間三角形）の関係を示す図である。
【図１２】規制画像から得られたエッジ点間三角形、補正エッジ点間三角形とその外接円を示す図である。
【図１３】本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。
【図１４】本発明第１の実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。
【図１５】本発明第１の実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。
【図１６】ステップＳ１００のモデル度数分布の算出処理の詳細を示すフローチャートである。
【図１７】対象モデルから得られたポリゴン間三角形、補正ポリゴン間三角形とその外接円を示す図である。
【図１８】ステップＳ２００の度数分布の照合処理の詳細を示すフローチャートである。
【図１９】特徴データ算出装置の構成を示す機能ブロック図である。
【図２０】規制画像の特徴データの算出処理を示すフローチャートである。
【図２１】本発明第２の実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。
【図２２】本発明第２の実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。
【図２３】ステップＳ１５０の画像度数分布の算出処理の詳細を示すフローチャートである。
【図２４】本発明第３の実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。
【図２５】本発明第３の実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。
【図２６】応用例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。
【図２７】クラウド型の立体物造形システムのハードウェア構成図である。
【図２８】クラウド型の立体物造形システムの機能ブロック図である。
【発明を実施するための形態】
【００３２】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
＜１．本発明の基本概念＞
最初に、本発明における処理の概略について説明しておく。本発明における処理の概略は、特許文献２と同様であり、３次元（３Ｄ）のポリゴンモデル、２次元（２Ｄ）の画像それぞれから得られた度数分布を照合して類否の判定を行い、類似していれば、出力規制を行うものである。図１は、本発明における処理の大まかな流れ（処理概略）を説明するための図である。図１（ａ）は、出力しようとする３次元（３Ｄ）のポリゴンモデルであり、図１（ｂ）は、データベースに登録された規制すべき２次元（２Ｄ）の画像である。本発明では、図１（ａ）に示したポリゴンモデルからポリゴンを用いて特定されるポリゴン間三角形を補正した補正ポリゴン間三角形の外接円半径、補正ポリゴン間三角形と補正前のポリゴン間三角形の面積比を反映させた面積比反映値についての２次元度数分布（ヒストグラム）を図１（ｅ）に示すように作成し、図１（ｂ）に示した画像から特徴となる点により特定されるエッジ点間三角形を補正した補正エッジ点間三角形の外接円半径、補正エッジ点間三角形と補正前のエッジ点間三角形の面積比を反映させた面積比反映値についての２次元度数分布（ヒストグラム）を図１（ｆ）に示すように作成する。以降の説明においては、便宜上、上記ポリゴン間三角形、上記エッジ点間三角形を総称して特定三角形と呼び、上記補正ポリゴン間三角形、上記補正エッジ点間三角形を総称して補正三角形と呼ぶ場合もある。
【００３３】
好ましくは、さらに図１（ａ）に示したポリゴンモデルから上記外接円半径、上記面積比反映値についての２種の１次元度数分布（ヒストグラム）を図１（ｃ）に示すように作成し、図１（ｂ）に示した画像から上記外接円半径、上記面積比反映値についての２種の１次元度数分布（ヒストグラム）を図１（ｄ）に示すように作成する。そして、図１（ｅ）および図１（ｆ）に示す２次元度数分布を照合し、その相関をとることにより、図１（ａ）に示すポリゴンモデルと図１（ｂ）に示す画像の類似性を判定することができる。さらに、図１（ｃ）および図１（ｄ）に示す外接円半径、面積比反映値についての２種の度数分布を照合し、その相関をとることにより、図１（ａ）に示すポリゴンモデルと図１（ｂ）に示す画像の類似性をより確実に判定することができる。出力しようとするポリゴンモデルが、登録済みの画像に類似する特徴をもつ場合には、そのポリゴンモデルの出力が規制されることになる。
【００３４】
照合する度数分布について、具体的に説明していく。ポリゴンモデルまたは画像の特徴を表現する度数分布として、上記特許文献１、２においては、距離分布、角度分布を用いたが、ポリゴンモデルの形状または画像のパターンに鋭敏に反映する指標として、ポリゴンモデル（３Ｄモデル）内の３つのポリゴンの各々所定の点（例えば重心）を結ぶことにより形成されるポリゴン間三角形、または画像のエッジより抽出される３つのエッジ点を結ぶことにより形成されるエッジ点間三角形を定義し、ポリゴン間三角形、エッジ点間の外接円半径の度数分布を、外接円分布として算出し、この外接円分布を照合することが考えられる。外接円分布は、距離分布、角度分布に比較して、ポリゴンモデルの形状または画像のパターンに鋭敏に反映するため、出力適否の判定のため、より的確な照合を行うことが可能になる。
【００３５】
画像の特徴を表現する度数分布として、上記特許文献２においては、画像内の対象物のエッジを構成する画素をエッジ点と定義し、エッジ点間の距離、エッジ点間固有の角度という２つのパラメータによる度数分布である距離分布、角度分布を用いた。しかし、パラメータとしては、３つのエッジ点により特定される三角形を用いたものを用いることがより好ましい。しかし、エッジ点により形成される三角形として、単純に３つのエッジ点を頂点とする三角形を用いると、異なる内容の画像同士であっても、合同な三角形が形成されることがしばしば生じ、的確な照合が難しかった。
【００３６】
図２は、単一の輪郭で構成され内部が塗り潰された円形の対象物と、２つの輪郭で構成され内側の輪郭の内部が塗り潰されておらず２つの輪郭の間が塗り潰された輪状の対象物において、特定三角形の構成例を示す図である。図２（ａ）の上段に示すように、単一の輪郭で構成され内部が塗り潰された円形の対象物において、輪郭上の３つのエッジ点Ａ、Ｂ、Ｃが選択されたとする。一方、図２（ａ）の下段に示すように、構成される２つの輪郭のいずれかの上の３つのエッジ点Ｄ、Ｅ、Ｆが選択されたとする。単一の輪郭で構成され内部が塗り潰された円形の対象物では、円形の外部方向を向くエッジ方向ベクトルをもつエッジ点しか存在しないが、輪状の対象物では、円形（輪）の内部方向を向くエッジ方向ベクトルをもつエッジ点も存在する。図２（ａ）の下段において、エッジ点Ｄ、Ｅのエッジ方向ベクトルは円形（輪）の内部方向を向き、エッジ点Ｆのエッジ方向ベクトルは円形（輪）の外部方向を向く。この場合、２つのエッジ点間三角形ＡＢＣ、エッジ点間三角形ＤＥＦは、図２（ａ）に示すように、下段の２つの輪郭の幅が狭く、２つの輪郭のいずれかの半径が上段の円形とほぼ一致する場合、各々の画像から生成されるエッジ点間三角形は殆ど合同なものになる。一般に、２つの画像間において、作成されるエッジ点間三角形が合同に近いものが多ければ、これらの画像から得られる度数分布も類似し、同一であると判定されてしまう。即ち、図２（ａ）の例では、単一の輪郭で構成され内部が塗り潰された円と２つの輪郭で構成され内側の輪郭の内部が塗り潰されていない輪が同一であると判定されてしまう。しかし、図２（ａ）の各頂点から延びる矢印で示すエッジ方向ベクトルに着目すると、エッジ点において対象物から対象物の外部または内部へと向かうエッジ方向ベクトルの態様は、単一の輪郭で構成され内部が塗り潰された円と２つの輪郭で構成され内側の輪郭の内部が塗り潰されていない輪で大きく異なる。このため、本発明では、このエッジ方向ベクトルを利用してエッジ点間三角形を補正した補正エッジ点間三角形を用いて度数分布を作成することにした。
【００３７】
図２（ｂ）に示すように、エッジ点間三角形の各頂点を、その頂点であるエッジ点のエッジ方向ベクトルを考慮して移動させて変形することにより、合同であった三角形は、異なる補正エッジ点間三角形となる。図２の例では、エッジ点間三角形ＡＢＣは、補正エッジ点間三角形Ａ' Ｂ'Ｃ'に、エッジ点間三角形ＤＥＦは、補正エッジ点間三角形Ｄ' Ｅ' Ｆ'に補正されている。このため、それぞれ、単一の輪郭で構成され内部が塗り潰された円、２つの輪郭で構成され内側の輪郭の内部が塗り潰されていない輪を反映した度数分布を得ることが可能になる。
【００３８】
度数分布のパラメータとしては、様々なものを用いることができるが、好ましい実施形態では、補正三角形の外接円半径と、補正三角形と補正前の特定三角形との面積比反映値の２つを用いることができる。また、本発明では、２つのパラメータそれぞれの分布である１次元度数分布だけでなく、２つのパラメータの関連性の度合を加味した２次元度数分布を用いて照合を行うようにした。２次元度数分布を作成するにあたり、２つのパラメータは、できるだけ相関がなく、理想的には線形独立であることが好ましい。２つのパラメータの相関は、正規化相関係数を用いて評価することができる。相関係数の絶対値が０に近いほど、相関が無いため、２次元度数分布を作成するための２つのパラメータとして好ましい。後述する照合の場合と異なり、正規化相関係数が負の大きな値をとるのも、負の相関があることになるため、パラメータの選定の際には好ましくない。２つのパラメータを用いた１次元の度数分布どうしの相関係数は、−５０％以上で５０％以下の範囲である必要があり、実用上好ましくは−４０％以上で４０％以下、さらに好ましくは−１０％以上で１０％以下である。
【００３９】
このような理由から好ましい実施形態では、第１のパラメータを外接円半径とし、第２のパラメータを、特定三角形を所定の方向ベクトルに基づいて補正した補正三角形と特定三角形との面積比に基づく値である面積比反映値としている。これにより、第１のパラメータである外接円半径が長さの次元（１次元）であるのに対し、第２のパラメータである面積比反映値が無次元となるが、両者の間には殆ど相関が無い。一般に、外接円半径は、三角形の３辺の積を三角形の面積で割った値（正確にはその１／４の値）で与えられるため、三角形の面積にも依存し三角形の面積と相関がある。しかし、外接円半径は補正三角形を基に算出するようにし、面積比反映値の算出においては、補正前の特定三角形との面積比を用いるようにし、補正三角形と補正前の特定三角形との間には相関が無いため、結果的に外接円半径と面積比反映値との間には殆ど相関が無い。
【００４０】
図３は、１次元度数分布と２次元度数分布の関係を示す図である。図３（ａ）は、第１パラメータの１次元度数分布、図３（ｂ）は、第２パラメータの１次元度数分布、図３（ｃ）は、第１パラメータをＸ軸に設定し、第２パラメータをＹ軸に設定した２次元直交座標系で２つのパラメータの度数分布を表現した２次元度数分布である。２次元度数分布は、２つのパラメータの同一の組合せを生じる頻度を示したものである。第１パラメータ、第２パラメータとしては、上記の距離、角度、外接円、内接円、面積比反映値等の様々な度数分布を用いることができる。１次元度数分布は、図３（ａ）（ｂ）に示すように、第１パラメータまたは第２パラメータの個々の値に対応する重み（頻度、出現数）を示すが、２次元度数分布は、図３（ｃ）に示すように、２次元座標上における第１パラメータと第２パラメータの双方の値に対応する重み（頻度、出現数）を示している。図３（ｃ）の例では、第１パラメータの値が大きく、第２パラメータの値が小さい場合に、重みが大きくなることを示している。図３（ｃ）の２次元度数分布に対して縦軸方向に重みを積算すると、図３（ａ）に示す第１パラメータの１次元度数分布になり、図３（ｃ）の２次元度数分布に対して横軸方向に重みを積算すると、図３（ｂ）に示す第２パラメータの１次元度数分布になる。なお、図３（ｃ）に示したような２次元度数分布を重みに応じた階調で表示したり、第１パラメータをＸ軸、第２パラメータをＹ軸、重みをＺ軸で定義した３次元座標系を斜視図等で表示することにより、ポリゴンモデルの特徴を視覚的に直感的に把握できる。
【００４１】
図１の例では、２つのパラメータとして外線円半径と面積比反映値（無次元）を用いている。面積比反映値（無次元）とは、補正三角形と補正前の特定三角形の面積比を反映させた値であり、同じ次元のもので除算しているため、無次元となる。図１（ｅ）（ｆ）に示すように、２つのパラメータとして外線円半径と面積比反映値（無次元）を用いた場合、４５度方向から外れ矩形状の分布になる。これは、外接円半径と面積比反映値（無次元）という２つのパラメータには、顕著な相関がないことを示している。図１のように、２つのパラメータとして、外接円半径と面積比反映値（無次元）を用いた場合は、比較的２つのパラメータ間の相関が小さく、好ましい。
【００４２】
＜２．第１の実施形態＞
＜２．１．画像度数分布算出装置の装置構成＞
第１の実施形態では、３次元のポリゴンモデルの出力適否の判定を行う際に、ポリゴンモデルから作成した度数分布と、規制対象とする２次元の画像である規制画像から作成し、データベースに登録された度数分布との照合を行う。このため、事前に規制画像から度数分布を作成してデータベースに登録しておく必要がある。まず、規制画像から度数分布を作成する画像度数分布算出装置について説明する。
【００４３】
図４は、画像度数分布算出装置のハードウェア構成図である。画像度数分布算出装置３００は、汎用のコンピュータで実現することができ、図４に示すように、ＣＰＵ（Central Processing Unit）８１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）８２と、ＣＰＵ８１が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置８３と、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）８４と、３Ｄプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）８５と、液晶ディスプレイ等の表示デバイスである表示部８６と、を備え、互いにバスを介して接続されている。
【００４４】
図５は、画像度数分布算出装置の構成を示す機能ブロック図である。図５において、９１は規制画像記憶手段、９２は画像度数分布算出手段、９３は画像度数分布記憶手段である。画像度数分布算出手段９２は、規制対象の画像である規制画像に対して、規制画像内の対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、補正エッジ点間三角形、エッジ点間三角形を基に２つのパラメータを算出し、２つのパラメータそれぞれを２つの座標に対応させて２次元度数分布を算出する処理を行う。
【００４５】
画像度数分布算出手段９２は、ＣＰＵ８１が、記憶装置８３に記憶されているプログラムを実行することにより実現される。規制画像記憶手段９１は、出力を規制すべき画像である規制画像を記憶した記憶手段であり、記憶装置８３により実現される。画像度数分布記憶手段９３は、出力を規制すべき画像である規制画像に対して、３種の度数分布として算出された外接円分布、面積比分布、２次元度数分布を記憶して、データベース化したものであり、記憶装置８３により実現される。３種の度数分布である外接円分布、面積比分布、２次元度数分布は、規制画像の特徴を表現した特徴ベクトルとしての役割を果たすものとなる。即ち、３種の度数分布により、元の規制画像の相違を識別可能であるが、元の規制画像を復元できるわけではない。これは、指紋（フィンガープリント）により個人の相違を識別可能であるが、人物の姿そのものを復元できるわけではないのと同様である。したがって、３種の度数分布は、著作物としての役割は果たさないが、２つの著作物の同一性を証明する、いわゆるフィンガープリントとしての役割を果たすことになる。画像度数分布記憶手段９３には、外接円分布、面積比分布、２次元度数分布だけでなく、外接円分布、面積比分布、２次元度数分布の算出の基になった規制画像自体を登録しておけば類似性が判定された規制画像に対して目視で確認できるため、通常は、著作権者から許諾を受け、商用品質に値しない解像度で規制画像自体も登録される。
【００４６】
図５の機能ブロックに示した各構成手段は、現実には図４に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【００４７】
図４に示した記憶装置８３には、ＣＰＵ８１を動作させ、コンピュータを、画像度数分布算出装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ８１は、画像度数分布算出手段９２としての機能を実現することになる。また、記憶装置８３は、規制画像記憶手段９１、画像度数分布記憶手段９３として機能するだけでなく、画像度数分布算出装置としての処理に必要な様々なデータを記憶する。
【００４８】
＜２．２．画像度数分布算出装置の処理動作＞
次に、図４、図５に示した画像度数分布算出装置の処理動作について説明する。画像度数分布算出装置の画像度数分布算出手段９２は、出力を規制すべき画像である規制画像について、３種の度数分布である外接円分布、面積比分布、２次元度数分布を算出する。図６は、画像度数分布の算出処理の詳細を示すフローチャートである。ここでは、後述するフィルタ演算を簡便に行うため、規制画像を２５６階調のモノクロ（グレースケール）画像として扱う。したがって、カラー画像の場合は、事前に２５６階調のモノクロ画像に変換する処理を行っておき、二値画像の場合は、０または２５５のいずれかの値をもつ２５６階調のモノクロ画像として処理する。したがって、ｘ方向の画素数Ｘｓ、ｙ方向の画素数Ｙｓの規制画像は、Ｉｍｇ（ｘ，ｙ）＝０〜２５５（ｘ＝０，・・・，Ｘｓ−１；ｙ＝０，・・・，Ｙｓ−１）と定義される。規制画像には、対象物部分と背景部分が存在し、対象物部分はグレーまたは白く表示されるＩｍｇ（ｘ，ｙ）＞０に設定し、背景は黒く表示されるＩｍｇ（ｘ，ｙ）＝０に設定する。規制画像の四隅は、背景となるため、Ｉｍｇ（０，０）＝Ｉｍｇ（０，Ｙｓ−１）＝Ｉｍｇ（Ｘｓ−１，０）＝Ｉｍｇ（Ｘｓ−１，Ｙｓ−１）＝０となっている。
【００４９】
画像度数分布算出手段９２は、まず、規制画像の各画素についてフィルタ演算を行い、各画素のエッジ強度とエッジ方向ベクトルを算出する（ステップＳ５０１）。まず、フィルタ演算に用いるフィルタマトリクスであるエッジ抽出フィルタについて説明する。フィルタマトリクスとは、マトリクスフィルタ、空間フィルタなどとも呼ばれ、一般には、注目画素とその周辺画素の画素値を使用して注目画素の画素値を変換するために用いられるものである。基本的には、規制画像内の全ての画素を対象として行う。
【００５０】
図７は、本実施形態で用いる１６方向エッジ抽出フィルタを示す図である。図７に示す１６方向エッジ抽出フィルタは、中心画素である自身を含めた８近傍の９画素の値を、１６方向の各方向に応じて重みを変化させたものとなっている。１６方向エッジ抽出フィルタは、図７に示すように、１６方向の３×３画素のフィルタマトリクスである。図７の例では、方向０から方向１５までの１６方向について示している。方向０の場合を例にとって説明すると、（０．０，−１．０）は、方向０を特定する単位ベクトルである方向ベクトルを示している。また、縦３×横３の９個の数字は、Ｍ（ｄ，ｕ，ｖ）＝[−２，−１，１，２]で定義される重みを示している。重みは、−２，−１，１，２の４つの値をとる。そして、９個の数字は、中心を（ｕ，ｖ）＝（０，０）として、ｕ，ｖがそれぞれ−１，０，１の３通りの値をとる範囲に含まれるものである。中心の場合、方向ｄの値のいかんに関わらず必ずＭ（ｄ，０，０）＝１であり、中心以外の場合、方向ｄに応じてＭ（ｄ，ｕ，ｖ）の値の−２、−１，１および２の位置が異なっている。方向０（ｄ＝０）の場合、重みＭ（ｄ，ｕ，ｖ）は、Ｍ（０，−１，−１）＝−２〜Ｍ（０，１，１）＝１の９個が定義される。この際、方向０の場合の方向ベクトルＵｘ（ｄ），Ｕｙ（ｄ）は、Ｕｘ（０）＝０．０，Ｕｙ（０）＝−１．０となる。図７に示した１６方向エッジ抽出フィルタは２２．５度刻みで方向を変化させたものである。
【００５１】
画像度数分布算出手段９２は、図７に示したエッジ抽出フィルタＭ（ｄ，ｕ，ｖ）を用いて以下の〔数式１〕に従った処理を実行し、各画素のエッジ強度とエッジ方向ベクトルを算出する。
【００５２】
〔数式１〕
Ｆ（ｄ，ｘ，ｙ）＝［Σv=-1,1Σu=-1,1Ｍ（ｄ，ｕ，ｖ）[Ｉｍｇ（ｘ，ｙ）−１２８] ］／６
ＥＫ（ｘ，ｙ）＝Ｆ（ｄｍａｘ，ｘ，ｙ）＝ＭＡＸd=0,D-1Ｆ（ｄ，ｘ，ｙ）
Ｖｘ（ｘ，ｙ）＝Ｕｘ（ｄｍａｘ）
Ｖｙ（ｘ，ｙ）＝Ｕｙ（ｄｍａｘ）
【００５３】
上記〔数式１〕の第１式において、Σの添え字の“ｖ＝−１，１”、“ｕ＝−１，１”は、ｖが−１から１、ｕが−１から１の全ての整数をとる場合について、総和を求めることを示している。上記〔数式１〕の第１式により、各画素について、強度を表すフィルタ演算値Ｆ（ｄ，ｘ，ｙ）が得られる。上記〔数式１〕の第２式において、“ＭＡＸd=0,D-1”は、方向ｄ＝０から方向ｄ＝Ｄ−１までの全ての方向の中での最大値を示している。１６方向エッジ抽出フィルタを用いる場合は、Ｄ＝１６である。上記〔数式１〕の第２式により、最大のフィルタ演算値が、各画素のエッジ強度ＥＫ（ｘ，ｙ）として得られる。また、最大のフィルタ演算値をとり、エッジ強度を与える方向ｄをｄｍａｘとする。上記〔数式１〕の第３式、第４式により、画素（ｘ，ｙ）のエッジ方向ベクトルＶｘ（ｘ，ｙ），Ｖｙ（ｘ，ｙ）は、方向ｄｍａｘの方向ベクトルとして得られる。エッジ方向ベクトルとは、エッジ点（対象物のエッジを構成する画素）を含む濃度差のある境界線に対して直交する方向で濃度が濃い方向を特定するベクトルであり、規制画像における対象物と背景との境界部においては境界線と直交し対象物（輝度が高く濃度が薄い）から背景（輝度が低く濃度が濃い）の方向を示す。規制画像の対象物内部においては、濃淡に段差が見られる箇所において、段差の境界線と直交し濃度が比較的薄い（輝度が比較的高い）方から濃度が比較的濃い（輝度が比較的低い）方向を示す。
【００５４】
次に、画像度数分布算出手段９２は、各画素のエッジ強度の補正および階調補正を行う（ステップＳ５０２）。まず、方向別のエッジ強度補正量を用いてエッジ強度の補正を行う。方向別のエッジ強度補正量Ｔｃ（ｄ）を記録したエッジ強度補正テーブルを図８に示す。図８に示すように、エッジ強度補正テーブルには、方向ｄ＝０〜１５それぞれについて、エッジ強度補正量が記録されている。図４に示すエッジ強度補正テーブルでは、エッジ強度補正量を％単位で示している。上述のように、１６方向エッジ抽出フィルタは２２．５度刻みとなっており、これに対応してエッジ強度補正テーブルも２２．５度刻みとなっている。図８の例では、方向ｄが４つ異なるごと、すなわち９０度異なるごとにエッジ強度補正量が同一値となるように繰り返されている。これは、１６方向エッジ抽出フィルタにより算出されるエッジ強度が、９０度単位で所定の特性をもつため、それに応じて補正をする必要が生じることを意味している。
【００５５】
画像度数分布算出手段９２は、図８に示したエッジ強度補正量Ｔｃ（ｄ）を用いて以下の〔数式２〕に従った処理を実行し、各画素のエッジ強度を補正する。
【００５６】
〔数式２〕
ＥＫ´（ｘ，ｙ）＝ＥＫ（ｘ，ｙ）×Ｔｃ（ｄ）／１００
【００５７】
上記〔数式２〕において、Ｔｃ（ｄ）は、図８に示したような％単位の数値であるため、補正前のエッジ強度に乗じた後、１００で除算している。エッジ強度補正量Ｔｃ（ｄ）の方向ｄについては、その画素についてエッジ強度が最大となる方向ｄｍａｘを用いる。この結果、補正されたエッジ強度ＥＫ´（ｘ，ｙ）が得られる。
【００５８】
次に、画像度数分布算出手段９２は、エッジ強度の階調補正（コントラスト補正）を行う。具体的には、以下の〔数式３〕に従った処理を実行し、各画素のエッジ強度の階調補正を行う。
【００５９】
〔数式３〕
ＥＫ´´（ｘ，ｙ）＝｛ＥＫ´（ｘ，ｙ）−ＳＬ｝×２５６／（２５６−ＳＬ）
【００６０】
上記〔数式３〕において、２５６は階調数であり、規制画像の画素が取り得る０〜２５５の数を示している。ＳＬは、階調補正後に最小とする値である設定最小値を示している。設定最小値ＳＬについては、適宜設定することができるが、元の画像が０〜２５５の値を取り得る場合に、７２程度とすることが好ましい。この設定最小値は、実質的には、エッジ強度と比較することによりエッジ点とするか否かを判定するためのしきい値として機能する。上記〔数式３〕においては、各画素について算出されたエッジ強度に対して、所定の設定最小値ＳＬを減算し、減算した値に、エッジ強度の階調数２５６を乗算し、階調数２５６と設定最小値ＳＬとの差を除算することによりエッジ強度を補正している。
【００６１】
〔数式２〕によるエッジ強度補正、〔数式３〕による階調補正を行った結果、補正されたエッジ強度ＥＫ´´（ｘ，ｙ）が得られるが、説明が繁雑になるのを避けるため、以下では、補正されたエッジ強度をＥＫ（ｘ，ｙ）として説明する。
【００６２】
次に、規制画像におけるエッジ点を抽出する（ステップＳ５０３）。具体的には、ステップＳ５０２において補正されたエッジ強度と、事前に設定されたしきい値とを比較し、エッジ強度がしきい値以上の画素をエッジ点として抽出する。ステップＳ５０２において階調補正を行っている場合は、しきい値として “０”を設定し、階調補正後のエッジ強度が０以上の画素が抽出されるようにすることが好ましい。
【００６３】
エッジ点抽出時には、並行に、画像度数分布算出手段９２は、エッジ方向ベクトルの補正も行う。上述のように、エッジ方向ベクトルは、エッジ抽出フィルタを用いて、方向ｄの数Ｄのいずれかの方向を示すベクトルとして算出される。したがって、例えば、Ｄ＝１６の場合、１６通りの方向しかなく、不連続なものになる。一方、比較対象とする３次元のポリゴンモデルにおいて特定される方向は、エッジ方向ベクトルに相当するポリゴンの法線ベクトルを用いて算出され、法線ベクトルは３次元空間内の連続量である。そのため、規制画像から作成される度数分布は、対象モデルから作成される度数分布に比べて、分解能が粗いものとなり、両者の相関を精度良く計算できなくなる。そのため、ここでは、エッジ点として特定された画素の周囲の画素を用いて、エッジ方向ベクトルの補正を行っている。具体的には、以下の〔数式４〕に従った処理を実行し、各エッジ点のエッジ方向ベクトルを補正する。
【００６４】
〔数式４〕
Ｖｘ´（ｘ，ｙ）＝［Σv=-1,1Σu=-1,1;EK(x+u,y+v)≧EK(x,y)Ｖｘ（ｘ＋ｕ，ｙ＋ｖ）×ＥＫ（ｘ＋ｕ，ｙ＋ｖ）］／［Σv=-1,1Σu=-1,1;EK(x+u,y+v)≧EK(x,y)ＥＫ（ｘ＋ｕ，ｙ＋ｖ）］
Ｖｙ´（ｘ，ｙ）＝［Σv=-1,1Σu=-1,1;EK(x+u,y+v)≧EK(x,y)Ｖｙ（ｘ＋ｕ，ｙ＋ｖ）×ＥＫ（ｘ＋ｕ，ｙ＋ｖ）］／［Σv=-1,1Σu=-1,1;EK(x+u,y+v)≧EK(x,y)ＥＫ（ｘ＋ｕ，ｙ＋ｖ）］
【００６５】
上記〔数式４〕においては、ＥＫ（ｘ＋ｕ，ｙ＋ｖ）≧ＥＫ（ｘ，ｙ）となる画素についてのみ演算を行っている（中心となる画素（ｘ，ｙ）も加算対象）。ＥＫ（ｘ＋ｕ，ｙ＋ｖ）≧ＥＫ（ｘ，ｙ）とは、中心となる画素（エッジ点）のエッジ強度ＥＫ（ｘ，ｙ）以上のエッジ強度を有する周囲のエッジ点の画素（ｘ＋ｕ，ｙ＋ｖ）についてのみ、総和演算を行うことを示している。上記〔数式４〕の分子においては、補正前のエッジ方向ベクトルに補正前のエッジ強度を乗じており、上記〔数式４〕の分母においては、中心の画素（エッジ点）とその８近傍画素を合わせた最大９画素の平均エッジ強度を算出している。結局、上記〔数式４〕においては、対象とするエッジ点（ｘ，ｙ）の周囲のエッジ点（ｘ＋ｕ，ｙ＋ｖ）におけるエッジを特定する方向Ｖｘ（ｘ＋ｕ，ｙ＋ｖ）と周囲のエッジ点のエッジ強度ＥＫ（ｘ＋ｕ，ｙ＋ｖ）を加重しながら平均化していることになる。説明が煩雑になるのを避けるため、上記〔数式４〕で補正されたＶｘ´（ｘ，ｙ）とＶｙ´（ｘ，ｙ）を、Ｖｘ（ｘ，ｙ）とＶｙ（ｘ，ｙ）と改め、以降のエッジ方向ベクトルとしては上記〔数式４〕で補正されたものを使用する。
【００６６】
抽出されたエッジ点の抽出順をｉとすると、Ｎｅ個のエッジ点が抽出された場合、エッジ点の配列は［Ｘｅ（ｉ），Ｙｅ（ｉ）］（ｉ＝０，・・・，Ｎｅ−１）と定義することができる。そして、ｉ番目のエッジ点のエッジ強度ＥＫ（ｉ）＝ＥＫ（Ｘｅ（ｉ），Ｙｅ（ｉ））とする。
【００６７】
エッジ点が抽出されたら、エッジ点の座標値の正規化を行う。具体的には、Ｘｓ×Ｙｓ画素で構成される縦横のスケールが、−１〜＋１の範囲になるように変更する。抽出された全てのエッジ点に対して、Ｘ方向の最大値ｘｍａｘと最小値ｘｍｉｎ、Ｙ方向の最大値ｙｍａｘと最小値ｙｍｉｎを求め、（ｘｍａｘ−ｘｍｉｎ）、（ｙｍａｘ−ｙｍｉｎ）の２つの差分のうち、最大のものをｌｍａｘとする。そして、全てのエッジ点の座標値の値が−１〜＋１の範囲に収まるように、以下の〔数式５〕に従った処理を実行する。
【００６８】
〔数式５〕
Ｘｅ´（ｉ）＝｛Ｘｅ（ｉ）−（ｘｍａｘ＋ｘｍｉｎ）／２｝×２／ｌｍａｘ
Ｙｅ´（ｉ）＝｛Ｙｅ（ｉ）−（ｙｍａｘ＋ｙｍｉｎ）／２｝×２／ｌｍａｘ
【００６９】
〔数式５〕に従った処理の結果、ｉ番目のエッジ点（Ｘｅ´（ｉ），Ｙｅは、座標値の値が−１〜＋１の範囲に収まることになる。以下では、記号が繁雑になるのを防ぐため、正規化処理後のＸｅ´（ｉ），Ｙｅ´（ｉ）を改めてそれぞれＸｅ（ｉ），Ｙｅ（ｉ）として、説明していくことにする。
この正規化は、後述するポリゴンモデルとのスケールの範囲を合わせるために行われる。
【００７０】
次に、規制画像におけるエッジ点の集合を３つのグループに分け、各グループのエッジ点の順序を入れ替える（ステップＳ５０４）。３つのグループへの分け方としては、同数に分けることができれば、どのような手法を用いてもよい。本実施形態では、特に好ましい態様として、規制画像のデータ配列における順序に基づき、３個単位でランダムにグループ分けを行う。
【００７１】
具体的には、規制画像から抽出されたエッジ点の集合から３個単位でエッジ点を取得し、３の剰余である０〜２の整数をランダムに発生する乱数に基づいて、第１エッジ点グループ、第２エッジ点グループ、第３エッジ点グループのいずれかのグループに分類する。そして、この処理を、規制画像から抽出された全エッジ点について繰り返し実行することにより、規制画像から抽出されたＮｅ個のエッジ点を、Ｎｅ／３個ずつのグループに分ける。乱数としては、必ずしも０〜２である必要はなく、１／３の確率で発生する状態を実現できればよい。
【００７２】
各グループのエッジ点の数が同数になるように、元のエッジ点の数Ｎｅの３の剰余が２の場合、先頭のエッジ点［Ｘｅ（０），Ｙｅ（０）］と同一の点を最後尾のエッジ点［Ｘｅ（Ｎｅ），Ｙｅ（Ｎｅ）］として追加し、全エッジ点の数がＮｅ＋１個になるように修正する。また、元のエッジ点の数Ｎｅの３の剰余が１の場合、先頭のエッジ点［Ｘｅ（０），Ｙｅ（０）］および先頭から２番目のエッジ点［Ｘｅ（１），Ｙｅ（１）］を、最後尾から２番目のエッジ点［Ｘｅ（Ｎｅ），Ｙｅ（Ｎｅ）］＝エッジ点［Ｘｅ（０），Ｙｅ（０）］、最後尾のエッジ点［Ｘｅ（Ｎｅ＋１），Ｙｅ（Ｎｅ＋１）］＝エッジ点［Ｘｅ（１），Ｙｅ（１）］として重複してもたせ、全エッジ点の数がＮｅ＋２個になるように修正する。各グループのエッジ点の数が同数になるように、エッジ点を重複して追加し、全エッジ点の数がＮｅ＋１個またはＮｅ＋２個となった場合、これをＮｅとして置き換え、以下では、全エッジ点の数を３の倍数であるＮｅ個として説明していく。
【００７３】
３で除した余りによりグループ分けすることにより、各グループについて、配列Ｇ１（ｆ）＝３ｆ＋Ｑ０（ｑ）、Ｇ２（ｆ）＝３ｆ＋Ｑ１（ｑ）、Ｇ３（ｆ）＝３ｆ＋Ｑ２（ｑ）（ｆ＝０，・・・，Ｎｅ／３−１）が得られる。ここで、整数値ｑ（ｑ＝０，・・・，Ｎｅ／３−１）にはＧ１（ｆ）に与えた整数値ｆと同一値を与え、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は整数値ｑを基に｛０，１，２｝のいずれかの整数値をとる。即ち、Ｑ０（ｑ）＝ｑ  ｍｏｄ  ３、Ｑ１（ｑ）＝（ｑ＋１）ｍｏｄ  ３、Ｑ２（ｑ）＝（ｑ＋２）ｍｏｄ  ３となる（“ｍｏｄ  ３”は３の剰余を表す）。後述の通り、整数値ｑはランダムに与えるため、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は互いに重複せずに、｛０，１，２｝のいずれかの整数値をランダムにとる。
【００７４】
次に、各グループのエッジ点の配列の順序を入れ替える。順序の入れ替えは無作為に行われる。すなわち、シャッフルされる。エッジ点の配列の順序を入れ替えることができれば、どのような手法を用いてもよいが、本実施形態では、以下のような手法によりエッジ点の配列の順序を入れ替えている。まず、３種類の乱数配列Ｒ１（ｋ）、Ｒ２（ｋ）、Ｒ３（ｋ）を作成する。具体的には、ｋ＝０，・・・，Ｎｅ／３−１について、Ｒ１（ｋ）＝ｋに初期化する。続いて、０≦Ｒｎｄ（ｋ）＜１の範囲で実数値の一様乱数をＮｅ／３回発生させ、１回発生させるごとに、ｐｐ＝Ｒｎｄ（ｋ）×Ｎｅ／３なる演算で０≦ｐｐ≦Ｎｅ／３−１の整数値を算出し、Ｒ１（ｋ）の値とＲ１（ｐｐ）の値を交換する処理をＮｅ／３回繰り返す。繰り返しの結果、Ｎｅ／３個の連続する整数をランダムに入れ替えた乱数配列Ｒ１（ｋ）が得られる。これにより、例えば、第１エッジ点グループのエッジ点の配列Ｇ１（ｆ）に対して、ｆ＝ｑ＝Ｒ１（ｋ）で与え、Ｇ１（Ｒ１（ｋ））＝３Ｒ１（ｋ）＋Ｑ０（Ｒ１（ｋ））（ｋ＝０，・・・，Ｎｅ／３−１）のように、順序が入れ替えられた配列を得ることができる。
【００７５】
第２の乱数配列Ｒ２（ｋ）に対しては、Ｒ２（ｋ）＝Ｒ１（Ｎｅ／３−１−ｋ）で与える。すなわち、第１の乱数配列Ｒ１（ｋ）の先頭から末尾への順序を逆にしたものが乱数配列Ｒ２（ｋ）である。乱数配列Ｒ１（ｋ）、乱数配列Ｒ２（ｋ）は、互いに他方の反転乱数配列となる。また、第３の乱数配列Ｒ３（ｋ）に対しては、乱数配列Ｒ３（ｋ）＝ｋとし乱数にせず、ｋ＝０，・・・，Ｎｅ／３−１なるシーケンシャルな値に設定する。このように、エッジ点の配列の順序を入れ替えることにより、各グループのエッジ点の配列順序を、２次元平面である規制画像内のエッジ点からランダムに設定することができ、ランダムなエッジ点の組み合わせで作成されたエッジ点間三角形の面積、エッジ点間三角形の外接円半径に基づいて、外接円分布、面積比分布、２次元度数分布を求めることが可能となる。従って、第２グループのエッジ点の配列Ｇ２（ｆ）に対して、ｆ＝Ｒ２（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ２（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ１（Ｒ１（ｋ））となり、第３グループのエッジ点の配列Ｇ３（ｆ）に対して、ｆ＝Ｒ３（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ３（Ｒ３（ｋ））＝３Ｒ３（ｋ）＋Ｑ２（Ｒ１（ｋ））となり、３つのグループの順序が入れ替えられた配列を得ることができる。また、後述の通り、第１グループのエッジ点の配列Ｇ１（ｆ）に対してｆ＝ｑ＝Ｒ２（ｋ）を与えてもよく、Ｇ１（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ０（Ｒ２（ｋ））のような順序が入れ替えられた配列を得ることもできる。
【００７６】
このように３つのグループにエッジ点を分類するのは、３つのエッジ点をランダムに選択してエッジ点間三角形を作成する際、互いに重複しないようにするためである。規制画像から抽出された全てのエッジ点の組み合わせで３つのエッジ点間三角形を順次構成することも可能であるが、エッジ点の数が多いと組み合わせが膨大な数になり実用的ではない。また、グループ分けをせず、規制画像から抽出された全てのエッジ点よりランダムに３つのエッジ点を選択してエッジ点間三角形を構成する方法も考えられるが、ある確率で同一のエッジ点間三角形が発生する。ランダムに抽出されるエッジ点間三角形のサンプル数が十分に多くないと、偏った度数分布が算出される可能性がある。本実施形態のように、３つのグループに分類し、各グループから１つずつエッジ点を選択して計３つ選択するようにすることにより、エッジ点間三角形を形成するための３つのエッジ点を互いに重複することなくランダム性をもたせながら効率的に選択することが可能になる。
【００７７】
図９は、本実施形態におけるエッジ点のグループ分類を説明するための図である。例えば、図９に示すようにＰ１〜Ｐ９の９個の原エッジ点配列（エッジ点の集合）をＡグループ、Ｂグループ、Ｃグループの３つのグループに分類するものとする。なお、原エッジ点配列とは、Ｓ５０３において抽出されたエッジ点の配列［Ｘｅ（ｉ），Ｙｅ（ｉ）］に相当する。この場合、最初の３個のエッジ点Ｐ１、Ｐ２、Ｐ３が［０，１，２］の乱数に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、次の３個のエッジ点Ｐ４、Ｐ５、Ｐ６が［１，２，０］の乱数に基づいて、それぞれＢグループ、Ｃグループ、Ａグループに分類され、最後の３個のエッジ点Ｐ７、Ｐ８、Ｐ９が［２，０，１］の乱数に基づいて、それぞれＣグループ、Ａグループ、Ｂグループに分類される。そして、各グループのエッジ点の配列の順序を入れ替える（シャッフルする）。この結果、エッジ点Ｐ６、Ｐ９、Ｐ３による三角形、エッジ点Ｐ１、Ｐ２、Ｐ５による三角形、エッジ点Ｐ８、Ｐ４、Ｐ７による三角形が得られることになる。
【００７８】
図１０は、乱数に基づいてグループを決定するのではなく、規制画像のデータ配列における順序に基づき、３で除して余りが０、１、２のいずれであるかによるグループ分類を説明するための図である。例えば、図１０に示すようにＰ１〜Ｐ９の９個の原エッジ点配列（エッジ点の集合）をＡグループ、Ｂグループ、Ｃグループの３つのグループに分類するものとする。この場合、最初の３個のエッジ点Ｐ１、Ｐ２、Ｐ３が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、次の３個のエッジ点Ｐ４、Ｐ５、Ｐ６が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類され、最後の３個のエッジ点Ｐ７、Ｐ８、Ｐ９が、整数部分を３で除した余り［０，１，２］に基づいて、それぞれＡグループ、Ｂグループ、Ｃグループに分類される。そして、各グループのエッジ点の配列の順序を入れ替える（シャッフルする）。この結果、エッジ点Ｐ４、Ｐ８、Ｐ３による三角形、エッジ点Ｐ１、Ｐ２、Ｐ６による三角形、エッジ点Ｐ７、Ｐ５、Ｐ９による三角形が得られることになる。図１０に示したように、３で除した余りに基づいてグループ分けした場合、図９に示したように、乱数を用いてランダムにグループ分けした場合に比べて、構成される三角形にエッジ点配列による癖が生じることになる。
【００７９】
次に、初期設定を行う（ステップＳ５０５）。具体的には、算出する外接円分布、面積比分布、２次元度数分布の初期化、ループカウンタの初期化を行う。本実施形態で算出される外接円分布は、エッジ強度加重した外接円半径の分布であり、要素数をＭＤとし、各要素ｍｄ（ｍｄ＝０，・・・，ＭＤ−１）の度数をＨｄｏ（ｍｄ）と表す。Ｈｄｏ（ｍｄ）は、所定数ＭＤの要素で構成される１次元配列である。要素数ＭＤとしては、任意の値を設定することができるが、本実施形態では、ＭＤ＝３６０としている。このような１次元の配列を準備した後、画像度数分布算出手段９２は、初期値をＨｄｏ（ｍｄ）＝０と設定する。本実施形態で算出される面積比分布は、エッジ強度加重した面積比の半径の分布であり、要素数をＭＡとし、各要素ｍａ（ｍａ＝０，・・・，ＭＡ−１）の度数をＨａｏ（ｍａ）と表す。要素数ＭＡは、上記要素数ＭＤと同一であっても異なっていてもよい。要素数ＭＡとしては、任意の値を設定することができるが、本実施形態では、要素数ＭＤと同一とし、ＭＡ＝３６０としている。このような１次元の配列を準備した後、画像度数分布算出手段９２は、初期値をＨａｏ（ｍａ）＝０と設定する。Ｈａｏ（ｍａ）は、所定数ＭＡの要素で構成される１次元配列である。画像度数分布算出手段９２は、初期値をＨａｏ（ｍａ）＝０と設定する。
【００８０】
本実施形態で算出される２次元度数分布は、外接円半径と面積比の２次元の度数分布であり、要素数をＭＱ2（＝ＭＱ×ＭＱ）とし、各要素ｍｕ，ｍｖ（ｍｕ，ｍｖ＝０，・・・，ＭＱ−１）の度数をＨｑｏ（ｍｕ，ｍｖ）と表す。Ｈｑｏ（ｍｕ，ｍｖ）は、所定数ＭＱ2の要素で構成される２次元配列である。要素数の平方根ＭＱとしては、任意の値を設定することができるが、本実施形態では、ＭＱ＝ＭＤ／３＝ＭＡ／３＝１２０としている。このような２次元の配列を準備した後、画像度数分布算出手段９２は、初期値をＨｑｏ（ｍｕ，ｍｖ）＝０と設定する。ループカウンタＬＣについては、初期値ＬＣ＝０と設定する。
【００８１】
次に、画像度数分布算出手段９２は、３つのグループ間における各エッジ点を頂点とするエッジ点間三角形の作成を行う（ステップＳ５０６）。エッジ点間三角形の数がエッジ点総数Ｎｅと同一になるように、グループ間の組み合わせを変えて３通り作成する。具体的には、ｑ＝Ｒ１（ｋ）として、第１エッジ点グループのエッジ点Ｇ１（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた順序ｋ（ｋ＝０，・・・，Ｎｅ／３−１）のエッジ点Ｇ１（Ｒ１（ｋ））のエッジ点（Ｘｅ（Ｇ１（Ｒ１（ｋ））），Ｙｅ（Ｇ１（Ｒ１（ｋ））））、第２エッジ点グループのエッジ点Ｇ２（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのエッジ点Ｇ２（Ｒ２(ｋ)）のエッジ点（Ｘｅ（Ｇ２（Ｒ２（ｋ））），Ｙｅ（Ｇ２（Ｒ２（ｋ））））、第３エッジ点グループのエッジ点Ｇ３（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのエッジ点Ｇ３（Ｒ３（ｋ））のエッジ点（Ｘｅ（Ｇ３（Ｒ３（ｋ））），Ｙｅ（Ｇ３（Ｒ３（ｋ））））の３点を頂点とする第１エッジ点間三角形をＮｅ／３個作成する。
【００８２】
同様に、ｑ＝Ｒ２（ｋ）として、第１エッジ点グループのエッジ点Ｇ１（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた順序ｋのエッジ点Ｇ１（Ｒ２（ｋ））のエッジ点（Ｘｅ（Ｇ１（Ｒ２（ｋ））），Ｙｅ（Ｇ１（Ｒ２（ｋ））））、第２エッジ点グループのエッジ点Ｇ２（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えたＧ２（Ｒ３（ｋ））のエッジ点（Ｘｅ（Ｇ２（Ｒ３（ｋ））），Ｙｅ（Ｇ２（Ｒ３（ｋ））））、第３エッジ点グループのエッジ点Ｇ３（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのエッジ点Ｇ３（Ｒ１（ｋ））のエッジ点（Ｘｅ（Ｇ３（Ｒ１（ｋ））），Ｙｅ（Ｇ３（Ｒ１（ｋ））））の３点を頂点とする第２エッジ点間三角形をＮｅ／３個作成する。
【００８３】
さらに、ｑ＝Ｒ３（ｋ）として、第１エッジ点グループのエッジ点Ｇ１（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた順序ｋのエッジ点Ｇ１（Ｒ３（ｋ））のエッジ点（Ｘｅ（Ｇ１（Ｒ３（ｋ））），Ｙｅ（Ｇ１（Ｒ３（ｋ））））、第２エッジ点グループのエッジ点Ｇ２（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのエッジ点Ｇ２（Ｒ１（ｋ））のエッジ点（Ｘｅ（Ｇ２（Ｒ１（ｋ））），Ｙｅ（Ｇ２（Ｒ１（ｋ））））、第３エッジ点グループのエッジ点Ｇ３（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのエッジ点Ｇ３（Ｒ２（ｋ））のエッジ点（Ｘｅ（Ｇ３（Ｒ２（ｋ））），Ｙｅ（Ｇ３（Ｒ２（ｋ））））の３点を頂点とする第３エッジ点間三角形をＮｅ／３個作成する。
【００８４】
上記作成されたＮｅ／３個の第１エッジ点間三角形と、Ｎｅ／３個の第２エッジ点間三角形と、Ｎｅ／３個の第３エッジ点間三角形の３種の変数ｋに対し、第２エッジ点間三角形のＮｅ／３個の配列にはＮｅ／３だけオフセットを加え、第３エッジ点間三角形のＮｅ／３個の配列には２Ｎｅ／３だけオフセットを加えた上で、通し番号ｉでまとめて、その範囲をｉ＝０，・・・，Ｎｅ−１に設定し直してＮｅ個のエッジ点間三角形ｉ（ｉ＝０，・・・，Ｎｅ−１）を得る。
【００８５】
次に、画像度数分布算出手段９２は、各エッジ点間三角形に対してエッジ方向ベクトルを用いて補正エッジ点間三角形を作成する（ステップＳ５０７）。具体的には、まず、以下の〔数式６〕に従った処理を実行することにより、３つのエッジ点ｌ，ｍ，ｎそれぞれの重心を頂点として特定されるエッジ点間三角形の重心（Ｘｅｇ，Ｙｅｇ）を算出する。
【００８６】
〔数式６〕
Ｘｅｇ＝｛Ｘｅ（ｌ）＋Ｘｅ（ｍ）＋Ｘｅ（ｎ）｝／３
Ｙｅｇ＝｛Ｙｅ（ｌ）＋Ｙｅ（ｍ）＋Ｙｅ（ｎ）｝／３
【００８７】
上記〔数式６〕において、Ｘｅ（ｌ）、Ｘｅ（ｍ）、Ｘｅ（ｎ）はそれぞれエッジ点ｌ、エッジ点ｍ、エッジ点ｎ、のｘ座標を示し、Ｙｅ（ｌ）、Ｙｅ（ｍ）、Ｙｅ（ｎ）はそれぞれエッジ点ｌ、エッジ点ｍ、エッジ点ｎ、のｙ座標を示している。上記〔数式６〕に示すように、エッジ点間三角形の重心は、各エッジ点の平均座標をもつ点として算出される。
【００８８】
画像度数分布算出手段９２は、さらに、エッジ点間三角形の重心（Ｘｅｇ，Ｙｅｇ）、エッジ点ｌ（Ｘｃ（ｌ），Ｙｃ（ｌ））、エッジ点ｍ（Ｘｃ（ｍ），Ｙｃ（ｍ））、エッジ点ｎ（Ｘｃ（ｎ），Ｙｃ（ｎ））、エッジ点ｌのエッジ方向ベクトル（Ｖｘ（ｌ），Ｖｙ（ｌ））、エッジ点ｍのエッジ方向ベクトル（Ｖｘ（ｍ），Ｖｙ（ｍ））、エッジ点ｎのエッジ方向ベクトル（Ｖｘ（ｎ），Ｖｙ（ｎ））を用いて、以下の〔数式７〕に従った処理を実行することにより、スカラー係数Ｅｅ（ｌ）、Ｅｅ（ｍ）、Ｅｅ（ｎ）を算出する。
【００８９】
〔数式７〕
Ｅｅ（ｌ）＝｛（Ｘｅ（ｌ）−Ｘｅｇ）・Ｖｘ（ｌ）＋（Ｙｅ（ｌ）−Ｙｅｇ）・Ｖｙ（ｌ）｝／｛（Ｘｅ（ｌ）−Ｘｅｇ）2＋（Ｙｅ（ｌ）−Ｙｅｇ）2｝1/2
Ｅｅ（ｍ）＝｛（Ｘｅ（ｍ）−Ｘｅｇ）・Ｖｘ（ｍ）＋（Ｙｅ（ｍ）−Ｙｅｇ）・Ｖｙ（ｍ）｝／｛（Ｘｅ（ｍ）−Ｘｅｇ）2＋（Ｙｅ（ｍ）−Ｙｅｇ）2｝1/2
Ｅｅ（ｎ）＝｛（Ｘｅ（ｎ）−Ｘｅｇ）・Ｖｘ（ｎ）＋（Ｙｅ（ｎ）−Ｙｅｇ）・Ｖｙ（ｎ）｝／｛（Ｘｅ（ｎ）−Ｘｅｇ）2＋（Ｙｅ（ｎ）−Ｙｅｇ）2｝1/2
【００９０】
〔数式７〕において、“・”は、内積を示す。画像度数分布算出手段９２は、さらに、スカラー係数Ｅｅ（ｌ）、Ｅｅ（ｍ）、Ｅｅ（ｎ）を用いて、以下の〔数式８〕に従った処理を実行することにより、補正エッジ点間三角形の３つの頂点（Ｘｅｃ（ｌ），Ｙｅｃ（ｌ））、（Ｘｅｃ（ｍ），Ｙｅｃ（ｍ））、（Ｘｅｃ（ｎ），Ｙｅｃ（ｎ）））を算出する。３つの頂点が算出されることにより、３頂点からなる補正エッジ点間三角形が得られる。
【００９１】
〔数式８〕
Ｘｅｃ（ｌ）＝Ｘｅ（ｌ）＋Ｅｅ（ｌ）×（Ｘｅ（ｌ）−Ｘｅｇ）
Ｙｅｃ（ｌ）＝Ｙｅ（ｌ）＋Ｅｅ（ｌ）×（Ｙｅ（ｌ）−Ｙｅｇ）
Ｘｅｃ（ｍ）＝Ｘｅ（ｍ）＋Ｅｅ（ｍ）×（Ｘｅ（ｍ）−Ｘｅｇ）
Ｙｅｃ（ｍ）＝Ｙｅ（ｍ）＋Ｅｅ（ｍ）×（Ｙｅ（ｍ）−Ｙｅｇ）
Ｘｅｃ（ｎ）＝Ｘｅ（ｎ）＋Ｅｅ（ｎ）×（Ｘｅ（ｎ）−Ｘｅｇ）
Ｙｅｃ（ｎ）＝Ｙｅ（ｎ）＋Ｅｅ（ｎ）×（Ｙｅ（ｎ）−Ｙｅｇ）
【００９２】
図１１は、エッジ点間三角形と補正エッジ点間三角形の関係を示す図である。図１１（ａ）はエッジ点間三角形ＡＢＣを示しており、Ｏはエッジ点間三角形ＡＢＣの重心である。また、矢印Ｎａ、Ｎｂ、Ｎｃは、それぞれ頂点Ａ、Ｂ、Ｃにおけるエッジ方向ベクトルを示している。図１１（ｂ）においては、破線は元のエッジ点間三角形（特定三角形）ＡＢＣを示しており、実線は補正エッジ点間三角形Ａ'Ｂ'Ｃ'を示している。補正エッジ点間三角形（補正三角形）Ａ'Ｂ'Ｃ'は、上記ステップＳ５０７に示した処理を実行することにより、エッジ点間三角形ＡＢＣは、補正エッジ点間三角形Ａ'Ｂ'Ｃ'に補正される。
【００９３】
次に、画像度数分布算出手段９２は、作成された補正エッジ点間三角形の外接円半径の算出を行う（ステップＳ５０８）。具体的には、まず、以下の〔数式９〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎｅ−１の範囲で、エッジ点間三角形の面積Ｓｅ（ｉ）を算出する。
【００９４】
〔数式９〕
Ｄｅ１２＝［[Ｘｅｃ（ｍ）−Ｘｅｃ（ｌ）]2＋[Ｙｅｃ（ｍ）−Ｙｅｃ（ｌ）]2］1/2
Ｄｅ２３＝［[Ｘｅｃ（ｎ）−Ｘｅｃ（ｍ）]2＋[Ｙｅｃ（ｎ）−Ｙｅｃ（ｍ）]2］1/2
Ｄｅ３１＝［[Ｘｅｃ（ｌ）−Ｘｅｃ（ｎ）]2＋[Ｙｅｃ（ｌ）−Ｙｅｃ（ｎ）]2］1/2
Ｄｅ＝（Ｄｅ１２＋Ｄｅ２３＋Ｄｅ３１）／２
Ｓｅ（ｉ）＝[Ｄｅ×（Ｄｅ−Ｄｅ１２）×（Ｄｅ−Ｄｅ２３）×（Ｄｅ−Ｄｅ３１）]1/2 
【００９５】
そして、以下の〔数式１０〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎｅ−１の範囲で、エッジ点間三角形の外接円半径Ｄｅ（ｉ）を算出する。
【００９６】
〔数式１０〕
Ｄｅ（ｉ）＝Ｄｅ１２×Ｄｅ２３×Ｄｅ３１／（４×Ｓｅ（ｉ））
【００９７】
上記〔数式９〕においては、エッジ点間三角形の各辺の長さＤｅ１２、Ｄｅ２３、Ｄｅ３１が、以下の〔数式１１〕に示した６条件全てを満たしたエッジ点間三角形のみ、外接円半径の度数分布の対象とする。したがって、〔数式１１〕に示した６条件のうち１つでも満たさなかったエッジ点間三角形については、外接円半径の度数分布の対象としない。下記〔数式１１〕に示した６条件を満たさない場合は、外接円半径Ｄｅ（ｉ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。
【００９８】
〔数式１１〕
Ｄｅ１２＞０
Ｄｅ２３＞０
Ｄｅ３１＞０
｜Ｄｅ１２−Ｄｅ２３−Ｄｅ３１｜／Ｄｅ１２＞０．１
｜Ｄｅ２３−Ｄｅ３１−Ｄｅ１２｜／Ｄｅ２３＞０．１
｜Ｄｅ３１−Ｄｅ１２−Ｄｅ２３｜／Ｄｅ３１＞０．１
【００９９】
上記〔数式１１〕に示すように、６条件のうち前半３条件は、全ての辺が０でない正の値をとること、すなわち三角形を形成することを意味する。６条件のうち後半３条件は、作成される三角形が極端に偏平な形状にならないことを意味する。三角形が極端に偏平な形状になると、外接円半径が無限大に近付き、精度のよい度数分布が得られないことになる。上記〔数式１１〕に示した６条件を満たさない場合は、三角形を形成しないか（いずれかの辺が０の場合）、外接円半径Ｄｅ（ｋ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。
【０１００】
特に、２次元の規制画像から外接円半径を算出する場合、エッジ点座標値［Ｘｅ（ｉ），Ｙｅ（ｉ）］は画素単位の整数値になるため、後述する３次元の対象モデルから外接円半径を算出する場合に比べ、いずれかの辺が０になる頻度が高い。３辺のいずれも０でなくても、面積が０に近い値になり、２辺の長さの和が残りの１辺の長さに近い値になる頻度も高い。このような場合でも、〔数式９〕〔数式１０〕に従って、外接円半径は算出可能であるが、物理的な意味を成さない異常値になる。
【０１０１】
上記〔数式１０〕により算出されたＮｅ／３個の第１エッジ点間三角形の外接円半径と、Ｎｅ／３個の第２エッジ点間三角形の外接円半径と、Ｎｅ／３個の第３エッジ点間三角形の外接円半径の３種のＮｅ／３個の配列Ｄｅ（ｋ）に対し、第２エッジ点間三角形のＮｅ／３個の配列にはＮｅ／３だけオフセットを加え、第３エッジ点間三角形のＮｅ／３個の配列には２Ｎｅ／３だけオフセットを加えた上で、通し番号ｉでまとめて、その範囲をｉ＝０，・・・，Ｎｅ−１に設定し直してＮｅ個のエッジ点間三角形の外接円半径Ｄｅ（ｉ）（ｉ＝０，・・・，Ｎｅ−１）を得る。そして、ｉ＝０，・・・，Ｎｅ−１のＮｅ個の外接円半径Ｄｅ（ｉ）のうち最大のものを最大外接円半径Ｄｅｍａｘとする。
【０１０２】
次に、画像度数分布算出手段９２は、補正エッジ点間三角形と、補正前のエッジ点間三角形との面積比に基づく値である面積比反映値の算出を行う（ステップＳ５０９）。具体的には、まず、以下の〔数式１２〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎｅ−１の範囲で、エッジ点間三角形の面積Ｓｅｏ（ｉ）を算出する。
【０１０３】
〔数式１２〕
Ｄｅｏ１２＝［[Ｘｅ（ｍ）−Ｘｅ（ｌ）]2＋[Ｙｅ（ｍ）−Ｙｅ（ｌ）]2］1/2
Ｄｅｏ２３＝［[Ｘｅ（ｎ）−Ｘｅ（ｍ）]2＋[Ｙｅ（ｎ）−Ｙｅ（ｍ）]2］1/2
Ｄｅｏ３１＝［[Ｘｅ（ｌ）−Ｘｅ（ｎ）]2＋[Ｙｅ（ｌ）−Ｙｅ（ｎ）]2］1/2
Ｄｅｏ＝（Ｄｅｏ１２＋Ｄｅｏ２３＋Ｄｅｏ３１）／２
Ｓｅｏ（ｉ）＝[Ｄｅｏ×（Ｄｅｏ−Ｄｅｏ１２）×（Ｄｅｏ−Ｄｅｏ２３）×（Ｄｅｏ−Ｄｅｏ３１）]1/2 
【０１０４】
そして、以下の〔数式１３〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎ−１の範囲で補正エッジ点間三角形と、補正前のエッジ点間三角形との面積比反映値Ａｅ（ｉ）を算出する。
【０１０５】
〔数式１３〕
Ａｅ（ｉ）＝｛Ｓｅ（ｉ）／Ｓｅｏ（ｉ）｝1/4
【０１０６】
上記〔数式１３〕に示すように、面積比反映値Ａｅ（ｉ）は、補正エッジ点間三角形と、補正前のエッジ点間三角形との面積比｛Ｓｅ（ｉ）／Ｓｅｏ（ｉ）｝を１／４乗したものとして、算出される。面積比反映値としては、面積比を何らかの態様で反映させた値であればよいが、面積比を１／５乗〜１乗したものが好ましい。したがって、面積比そのものであってもよい。しかし、面積比反映値Ａｅ（ｉ）は、面積比｛Ｓｅ（ｉ）／Ｓｅｏ（ｉ）｝そのものでは、取り得る値の範囲が大きくなり度数分布が広範に広がりぼやけてしまい、元の二次元画像内の対象物の形状差異に対する変化が乏しくなる。これに対して、面積比｛Ｓｅ（ｉ）／Ｓｅｏ（ｉ）｝に例えば１／４乗すると、取り得る値の範囲が小さくなるが度数分布が特定の箇所に集中する。そして、集中する位置を、後述するように外接円分布と横軸スケールを連動させる手法をとることにより、元の二次元画像内の対象物の形状差異に連動して鋭敏に変化させるように制御することができる。度数分布の横軸が外接円分布と異なり無次元となり、規制画像の解像度に依存しない値であるため、既定の固定スケールで直接プロットすることは可能である。しかし、面積比分布は、形状による差異が小さいため、後述するように、外接円分布と横軸スケールを連動させて形状による差異を拡大する手法をとる。なお、補正エッジ点間三角形の場合と同様、以下の〔数式１４〕に示した６条件のうち１つでも満たさなかったエッジ点間三角形については、外接円分布、面積比分布、２次元度数分布の対象としない。
【０１０７】
〔数式１４〕
Ｄｅｏ１２＞０
Ｄｅｏ２３＞０
Ｄｅｏ３１＞０
｜Ｄｅｏ１２−Ｄｅｏ２３−Ｄｅｏ３１｜／Ｄｅｏ１２＞０．１
｜Ｄｅｏ２３−Ｄｅｏ３１−Ｄｅｏ１２｜／Ｄｅｏ２３＞０．１
｜Ｄｅｏ３１−Ｄｅｏ１２−Ｄｅｏ２３｜／Ｄｅｏ３１＞０．１
【０１０８】
次に、画像度数分布算出手段９２は、補正エッジ点間三角形の外接円半径の度数分布である外接円分布を算出する（ステップＳ５１０）。具体的には、以下の〔数式１５〕に従った処理を実行することにより、要素ｍｄの度数Ｈｄｏ（ｍｄ）をその要素数をＭＤとし、ｉ＝０，・・・，Ｎｅ−１について、算出する。
【０１０９】
〔数式１５〕
Ｄｅｍａｘ×β×ｍｄ／ＭＤ≦Ｄｅ（ｉ）＜Ｄｅｍａｘ×β×（ｍｄ＋１）／ＭＤならば、Ｈｄｏ（ｍｄ）←Ｈｄｏ（ｍｄ）＋Ｓｅ（ｉ）
Ｄｅ（ｉ）＞Ｄｅｍａｘ×βならば、Ｈｄｏ（ＭＤ−１）←Ｈｄｏ（ＭＤ−１）＋Ｓｅ（ｉ）
【０１１０】
上記〔数式１５〕は、補正エッジ点間三角形の外接円半径Ｄｅ（ｉ）が、最大外接円半径Ｄｅｍａｘにβ×ｍｄ／ＭＤを乗じた値以上で、β×（ｍｄ＋１）／ＭＤを乗じた値より小さい場合に、補正エッジ点間三角形の面積Ｓｅ（ｉ）をＨｄｏ（ｍｄ）に加算することを意味している。すなわち、外接円半径の最大値Ｄｅｍａｘの範囲を所定数ＭＤに均等に分割した上で、各外接円半径Ｄｅ（ｉ）を外接円半径Ｄｅ（ｉ）の値に基づいて所定数ＭＤのいずれかの要素に割り当てている。
【０１１１】
〔数式１５〕におけるβは対象モデルと規制画像のスケーリング補正係数であり、規制画像の特徴に応じて設定される。スケーリング補正係数βは０．８以上１．２以下の値であることが好ましいが、通常は、β＝１．０に設定される。ただし、後述するように中間のデータである特徴データをデータベースに登録しておいた場合は、対象モデルの度数分布の算出後に、規制画像の外接円分布を作成することになるため、対象モデルから得られた外接円半径の値を基にβの値を変化させることができる。
【０１１２】
上記〔数式１５〕に従った処理を、Ｎｅ個のエッジ点間三角形について実行することにより、外接円分布Ｈｄｏ（ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）が算出される。各要素には、単なる頻度ではなく、補正エッジ点間三角形の面積Ｓｅ（ｉ）が加算されているため、外接円分布Ｈｄｏ（ｍｄ）は、面積加重の外接円分布を示すことになる。面積でなく単に１を加算する場合では、補正エッジ点間三角形の面積が加味されない外接円分布となり、同一内容の規制画像に対して画素が粗い場合と細かい場合とで、外接円分布に顕著な差が生じてしまう。そこで、本実施形態では、外接円分布の算出時に補正エッジ点間三角形の面積を加算するようにしている。補正エッジ点間三角形の面積でなく単に１を加算するようにした場合は、ある要素ｍｄに該当する数Ｈｄｏ（ｍｄ）を計数することにより、外接円分布を算出することになる。
【０１１３】
次に、画像度数分布算出手段９２は、各補正エッジ点間三角形と、補正前の各エッジ点間三角形との面積比反映値Ａ（ｉ）の度数分布である面積比分布を算出する（ステップＳ５１１）。具体的には、以下の〔数式１６〕に従った処理を実行することにより、要素ｍａの度数Ｈａｏ（ｍａ）をその要素数をＭＡとし、、ｉ＝０，・・・，Ｎｅ−１について、算出する。
【０１１４】
〔数式１６〕
α×（Ｄｅｍａｘ×β）4×ｍａ／ＭＡ≦Ａｅ（ｉ）＜α×（Ｄｅｍａｘ×β）4×（ｍａ＋１）／ＭＡならば、Ｈａｏ（ｍａ）←Ｈａｏ（ｍａ）＋Ｓｅ（ｉ）
Ａｅ（ｉ）≧α×（Ｄｅｍａｘ×β）4ならば、Ｈａｏ（ＭＡ−１）←Ｈａｏ（ＭＡ−１）＋Ｓｅ（ｉ）
【０１１５】
上記〔数式１６〕における、重み値Ｓｅ（ｉ）は、上記〔数式１３〕に従った処理により算出した補正エッジ点間三角形の面積である。上記〔数式１６〕は、面積比反映値Ａｅ（ｉ）が、最大外接円半径に補正係数βを乗じた値の４乗（Ｄｅｍａｘ×β）4にｍａ／ＭＡおよび補正係数αを乗じた値以上で、（ｍａ＋１）／ＭＡおよび補正係数αを乗じた値より小さい場合に、補正エッジ点間三角形の面積Ｓｅ（ｉ）をＨａｏ（ｍａ）に加算することを意味している。補正係数αは、横軸のスケーリング補正係数であり、０．０５以上０．１以下が好ましいが、本実施形態ではα＝０．０８９に設定される。補正係数βは、対象モデルと規制画像のスケーリング補正係数で、〔数式１５〕で設定した値と同一値を設定する。度数分布の上限を最大外接円半径の４乗に設定する理由は、面積比反映値Ａｅ（ｉ）を面積比｛Ｓｅ（ｉ）／Ｓｅｏ（ｉ）｝の１／４乗に設定したのと同様な理由で面積比分布の集中位置を二次元画像内の対象物の形状差異に応じて鋭敏に変化させるためで、２乗以上の値を設定するのが望ましく本願では１／４乗に合わせて４乗に設定した。また、αを設定する理由は、面積比分布の集中位置を座標軸内に収めるためで、二次元画像により座標軸から逸脱する場合にはαの値を調整する必要がある。
【０１１６】
結局、上記〔数式１６〕に従った処理を実行することにより、画像度数分布算出手段９２は、所定数ＭＡの要素で構成される１次元の配列を準備し、算出された外接円半径の最大値（最大外接円半径Ｄｅｍａｘ）に補正係数βを乗じた値を４乗した値で正規化された範囲を、所定数ＭＡの要素に均等に分割した上で、各面積比反映値Ａｅ（ｉ）を、その値に基づいて所定数ＭＡのいずれかの要素ｍａに割り当て、要素ｍａに該当する数を得ることにより、面積比分布を算出している。
【０１１７】
外接円半径は２次元の規制画像の解像度に依存するが、横軸を外接円半径の最大値の範囲に正規化して分布を作成すると、解像度に依存しない分布ができる。一方、面積比反映値は無次元量であるため、外接円半径のように規制画像のスケールには元来依存しないため、度数分布にプロットする際、固定の上限値を設定して規制画像のスケールに依存しない度数分布を算出することができる。しかし、規制画像が複雑なパターンをもち外接円分布のとり得る範囲（最大外接円半径）が広くなっても、面積比反映値の度数分布には顕著な変化が生じず、パターンの識別性が弱い。そこで面積比分布の最大値を外接円半径の最大値に依存した値に設定するようにし、外接円分布のとり得る範囲（最大外接円半径）が広くなると、連動して面積比分布が０方向に大きくシフトし、パターンの差異に鋭敏に反応するようにした。本実施形態では、面積比反映値も外接円半径と同一の基準値である最大外接円半径を用いて正規化した分布を作成するようにしたため、外接円半径と面積比反映値との間のスケール比が維持された分布ができ、外接円半径と面積比反映値とで異なる最大値で独立して正規化した場合よりも、分布の広がりが狭くシャープになり、形状識別性が高くなる。
【０１１８】
実際には、面積比反映値は外接円半径の最大値（最大外接円半径）を二乗した値の４乗以上の値をとり得るが、最大値の４乗の範囲で飽和させるように正規化する。本実施形態では、上記〔数式１６〕の最終行に示したように、最大外接円半径Ｄｅｍａｘに補正係数βを乗じた値の４乗である（Ｄｅｍａｘ×β）4に補正係数αを乗じた値以上である場合は、最大値に対応する要素でカウントしている。
【０１１９】
上記〔数式１６〕に従った処理を、Ｎｅ個の補正エッジ点間三角形について実行することにより、面積比分布Ｈａｏ（ｍａ）（ｍａ＝０，・・・，ＭＡ−１）が算出される。各要素には、単なる頻度ではなく、補正エッジ点間三角形の面積Ｓｅ（ｉ）が加算されているため、面積比分布Ｈａｏ（ｍａ）は、エッジ点で囲まれる対象物（オブジェクト）内部が塗りつぶされているか否かを識別でき、規制画像の微細なテクスチャを反映した度数分布を作成できる。補正エッジ点間三角形の面積Ｓｅ（ｉ）でなく単に１を加算する場合では、補正エッジ点間三角形の面積Ｓｅ（ｉ）が加味されない面積比分布となり、同一内容の規制画像に対して画素が粗い場合と細かい場合とで、面積比分布に顕著な差が生じてしまう。そこで、本実施形態では、面積比分布算出時に補正エッジ点間三角形の面積Ｓｅ（ｉ）を加算するようにしている。補正エッジ点間三角形の面積Ｓｅ（ｉ）でなく単に１を加算するようにした場合は、ある要素ｍａに該当する数Ｈａｏ（ｍａ）を計数することにより、面積比分布を算出することになる。
【０１２０】
外接円分布および面積比分布が算出されたら、次に、画像度数分布算出手段９２は、２次元度数分布を算出する（ステップＳ５１２）。具体的には、以下の〔数式１７〕に従った処理を実行することにより、要素ｍｕ×ｍｖの度数Ｈｑｏ（ｍｕ，ｍｖ）を、ｉ＝０，・・・，Ｎｅ−１について、算出する。
【０１２１】
〔数式１７〕
Ｄｅｍａｘ×β×ｍｕ／ＭＱ≦Ｄｅ（ｉ）＜Ｄｅｍａｘ×β×（ｍｕ＋１）／ＭＱかつα×（Ｄｅｍａｘ×β）4×ｍｖ／ＭＱ≦Ａｅ（ｉ）＜α×（Ｄｅｍａｘ×β）4×（ｍｖ＋１）／ＭＱならば、Ｈｑｏ（ｍｕ，ｍｖ）←Ｈｑｏ（ｍｕ，ｍｖ）＋Ｓｅ（ｉ）
Ｄｅｍａｘ×β×ｍｕ／ＭＱ≦Ｄｅ（ｉ）＜Ｄｅｍａｘ×β×（ｍｕ＋１）／ＭＱかつＡｅ（ｉ）≧α×（Ｄｅｍａｘ×β）4ならば、Ｈｑｏ（ｍｕ，ＭＱ−１）←Ｈｑｏ（ｍｕ，ＭＱ−１）＋Ｓｅ（ｉ）
Ｄｅ（ｉ）＞Ｄｅｍａｘ×βかつα×（Ｄｅｍａｘ×β）4×ｍｖ／ＭＱ≦Ａｅ（ｉ）＜α×（Ｄｅｍａｘ×β）4×（ｍｖ＋１）／ＭＱならば、Ｈｑｏ（ＭＱ−１，ｍｖ）←Ｈｑｏ（ＭＱ−１，ｍｖ）＋Ｓｅ（ｉ）
【０１２２】
上記〔数式１７〕における重み値Ｓｅ（ｉ）は、上記〔数式１３〕に従った処理により算出した補正エッジ点間三角形の面積である。上記〔数式１７〕における３条件のうち第１の条件では、補正エッジ点間三角形の外接円半径Ｄｅ（ｉ）が、最大外接円半径に補正係数βを乗じた値Ｄｅｍａｘ×βにｍｕ／ＭＱを乗じた値以上で、（ｍｕ＋１）／ＭＱを乗じた値より小さい場合であって、かつ、面積比反映値Ａｅ（ｉ）が、最大外接円半径に補正係数βを乗じた値の４乗（Ｄｅｍａｘ×β）4にｍｖ／ＭＱおよび補正係数αを乗じた値以上で、（ｍｖ＋１）／ＭＱおよび補正係数αを乗じた値より小さい場合に、補正エッジ点間三角形の面積Ｓｅ（ｉ）をＨｑｏ（ｍｕ，ｍｖ）に加算することを意味している。また、上記〔数式１７〕における３条件のうち第２の条件では、面積比反映値Ａｅ（ｉ）が最大外接円半径に補正係数βを乗じた値の４乗（Ｄｅｍａｘ×β）4に補正係数αを乗じた値以上をとる場合があるが、その場合に、三角形の外接円半径Ｄｅ（ｉ）が、最大外接円半径に補正係数βを乗じた値Ｄｅｍａｘ×βにｍｕ／ＭＱを乗じた値以上で、（ｍｕ＋１）／ＭＱを乗じた値より小さい場合、ｍｖ＝ＭＱ−１として補正エッジ点間三角形の面積Ｓｅ（ｉ）をＨｑｏ（ｍｕ，ＭＱ−１）に加算することを意味している。また、上記〔数式１７〕における３条件のうち第３の条件では、外接円半径Ｄｅ（ｉ）が最大外接円半径に補正係数βを乗じた値のＤｅｍａｘ×βを超える値をとる場合があるが、その場合に、面積比反映値Ａｅ（ｉ）が、最大外接円半径に補正係数βを乗じた値の４乗（Ｄｅｍａｘ×β）4にｍｖ／ＭＱを乗じた値以上で、（ｍｖ＋１）／ＭＱを乗じた値より小さい場合、ｍｕ＝ＭＱ−１として補正エッジ点間三角形の面積Ｓｅ（ｉ）をＨｑｏ（ＭＱ−１，ｍｖ）に加算することを意味している。補正係数αは、横軸のスケーリング補正係数であり、〔数式１６〕で設定した値と同一値を設定する。補正係数βは、対象モデルと規制画像のスケーリング補正係数で、〔数式１５〕で設定した値と同一値を設定する。
【０１２３】
上記〔数式１７〕に従った処理を、Ｎｅ個の補正エッジ点間三角形について実行することにより、２次元度数分布Ｈｑｏ（ｍｕ，ｍｖ）（ｍｕ，ｍｖ＝０，・・・，ＭＱ−１）が算出される。各要素には、単なる頻度ではなく、補正エッジ点間三角形の面積Ｓｅ（ｉ）が加算されているため、２次元度数分布Ｈｑｏ（ｍｕ，ｍｖ）は、面積加重の２次元度数分布を示すことになる。補正エッジ点間三角形の面積Ｓｅ（ｉ）でなく単に１を加算する場合では、エッジ方向ベクトルが考慮されず、エッジ方向などが識別できなくなる。そこで、本実施形態では、２次元度数分布算出時に補正エッジ点間三角形の面積Ｓｅ（ｉ）を加算するようにしている。
【０１２４】
外接円分布、面積比分布、２次元度数分布が算出されたら、次に、ループカウンタＬＣが規定値ＬＫ以上であるかどうかを判定する（ステップＳ５１３）。判定の結果、ループカウンタＬＣが規定値ＬＫ未満である場合は、２つのグループの配列を１だけずらす処理を行う（ステップＳ５１４）。例えば、第１エッジ点グループの順序を固定する場合、本実施形態では、以下の〔数式１８〕に従った処理を実行することにより、第２エッジ点グループ、第３エッジ点グループの２つのグループに用いる乱数配列Ｒ２（ｋ）、乱数配列Ｒ３（ｋ）の順序をずらしている。
【０１２５】
〔数式１８〕
Ｒｏ＝Ｒ２（０）、Ｒｏ３＝Ｒ３（０）とし、
ｋ＝０，・・・，Ｎｅ／３−２に対して、
Ｒ２（ｋ）←Ｒ２（ｋ＋１）、Ｒ３（ｋ）←Ｒ３（ｋ＋１）を繰り返し、
Ｒ２（Ｎｅ／３−１）＝Ｒｏ、Ｒ３（Ｎｅ／３−１）＝Ｒｏ３とする。
【０１２６】
第２エッジ点グループの順序を固定する場合、第３エッジ点グループの順序を固定する場合については、グループの関係を変えて、〔数式１８〕に従った処理を実行することにより行われる。併せて、ループカウンタＬＣをインクリメント（ＬＣ←ＬＣ＋１）する処理も行う。既に算出された度数分布が存在する場合は、その度数分布の各要素について、各要素に該当する度数の値を加算する。ステップＳ５１４において、２つのグループの配列をずらした後、２つのグループともう１つのグループのエッジ点の組み合わせを１回目とは変えて、ステップＳ５０６〜ステップＳ５１２の処理を実行し、外接円分布、面積比分布、２次元度数分布を算出する。ステップＳ５０６〜ステップＳ５１２の外接円分布、面積比分布、２次元度数分布の算出処理は、規定値ＬＫとして設定された所定の回数だけ繰り返される。規定値ＬＫとしては、適宜設定することが可能であるが、エッジ点の総数Ｎｅ＝１００００の場合、ＬＫ＝１０程度である。
【０１２７】
すなわち、外接円分布、面積比分布、２次元度数分布を１回算出するごとに、３つのグループのうち２つのグループ内のエッジ点の順序を変化させて、外接円分布、面積比分布、２次元度数分布を改めて算出する処理を繰り返し行うことになる。ループカウンタＬＣが規定値ＬＫに達した場合、ステップＳ５１３において、ループカウンタＬＣが規定値ＬＫ以上であると判定されるため、３種の度数分布の正規化を行う（ステップＳ５１５）。
【０１２８】
ループカウンタＬＣが規定値ＬＫに達した場合、ステップＳ５１３において、ループカウンタＬＣが規定値ＬＫ以上であると判定されるため、３種の度数分布の正規化を行う（ステップＳ５１５）。具体的には、上記〔数式１５〕で算出されたＨｄｏ（ｍｄ）に、更に１００／｛Σmd=0,MD-1Ｈｄｏ（ｍｄ）×ＬＫ｝を乗じてＨｄｏ（ｍｄ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈｄｏ（ｍｄ）の総和値Σmd=0,MD-1Ｈｄｏ（ｍｄ）とループ回数ＬＫの乗算値により、各要素の値Ｈｄｏ（ｍｄ）を除算している。これにより、補正エッジ点間三角形の面積Ｓｅ（ｉ）の総和値が異なる、即ち画素数が異なる規制画像であっても同一の外接円分布に変換され、同一内容の規制画像として判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。
【０１２９】
また、上記〔数式１６〕で算出されたＨａｏ（ｍａ）に、更に１００／｛Σma=0,MA-1Ｈａｏ（ｍａ）×ＬＣ｝を乗じてＨａｏ（ｍａ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈａｏ（ｍａ）の総和値Σma=0,MA-1Ｈａｏ（ｍａ）とループ回数ＬＫの乗算値により、各要素の値Ｈａｏ（ｍａ）を除算している。これにより、補正エッジ点間三角形の面積Ｓｅ（ｉ）が異なる、即ち画素数が異なる規制画像であっても同一の面積比分布に変換され、同一内容の規制画像として判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。
【０１３０】
また、上記〔数式１７〕で算出されたＨｑｏ（ｍｕ，ｍｖ）に、更に１００／｛Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑ（ｍｕ，ｍｖ）×ＬＫ｝を乗じてＨｑｏ（ｍｕ，ｍｖ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈｑ（ｍｕ，ｍｖ）の総和値Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑ（ｍｕ，ｍｖ）とループ回数ＬＫの乗算値により、各要素の値Ｈｑｏ（ｍｕ，ｍｖ）を除算している。重み値Ｓｅ（ｉ）は補正エッジ点間三角形の面積であるので、補正エッジ点間三角形の面積の総和値が異なる、即ち画素数が異なる規制画像であっても同一スケールの２次元度数分布に変換され、同一スケール基準の規制画像として判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。図６に示した処理により得られた外接円分布、面積比分布、２次元度数分布の３種の度数分布は、規制画像を特定する識別情報と対応付けて、画像度数分布記憶手段９３に格納される。
【０１３１】
規制画像から得られた外接円分布、面積比分布、２次元度数分布を求めるためのエッジ点間三角形、補正エッジ点間三角形とその外接円を図１２に示す。図１２（ａ）（ｂ）においては、規制画像内の対象物部分が網掛けされて示されている。エッジ点は、対象物部分と背景の境界であるエッジに存在している。対象物部分のエッジから選択された３つのエッジ点を結ぶことによりエッジ点間三角形が作成される（ａ）。さらに、エッジ点間三角形を、各エッジ点におけるエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を作成する（ｂ）。そして、補正エッジ点間三角形の外接円を求める。図１２（ｂ）は、補正エッジ点間三角形とその外接円半径の関係を示している。図１２において、下向きの矢印は、補正エッジ点間三角形の外接円の半径を示している。図６に示した例では、データベースに度数分布を登録しておくため、画像度数分布算出装置が、規制画像から３種の度数分布を算出する処理について説明した。
【０１３２】
＜２．３．立体物造形用データ出力規制装置の構成＞
次に、本発明第１の実施形態に係る立体物造形用データ出力規制装置について説明する。図１３は、本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ出力規制装置１００は、汎用のコンピュータで実現することができ、図１３に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４と、３Ｄプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、を備え、互いにバスを介して接続されている。
【０１３３】
３Ｄプリンタ７は、汎用の３Ｄプリンタであり、立体物の３次元形状をポリゴンの集合で表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。３Ｄプリンタ７は、データ処理部７ａと出力部７ｂを有している。３Ｄプリンタ７のデータ処理部７ａは、データ入出力Ｉ／Ｆ５に接続されており、データ入出力Ｉ／Ｆ５から受け取った立体物造形用データを基に、出力部７ｂが立体物を造形するようになっている。
【０１３４】
図１３では、立体物造形用データ出力規制装置１００と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１００の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネルやタッチパネルを重畳させてキー入力Ｉ／Ｆ４を兼ねることも多い）も小規模ながら重複して備えている。従って、３Ｄプリンタ７自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの形態の方が多い）。すなわち、図１３に示した立体物造形システムを１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【０１３５】
図１４は、本実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図１４において、１０はモデル度数分布算出手段、２０は度数分布照合手段、３０は対象モデル記憶手段、４０は度数分布データベースである。
【０１３６】
モデル度数分布算出手段１０は、出力対象のポリゴンモデルである対象モデルに対して、対象モデル内から選択された３つのポリゴン上の重心の点により特定されるポリゴン間三角形を特徴付けるパラメータを算出し、そのパラメータの度数分布を算出する。本実施形態では、パラメータとして第１パラメータと、第２パラメータの２つのパラメータを用いる。より具体的には、第１パラメータとして、対象モデル内から選択された３つのポリゴンの重心の点により形成されるポリゴン間三角形を、３つのポリゴンの法線ベクトルを用いて補正した補正ポリゴン間三角形の外接円半径を用い、第２パラメータとして、補正ポリゴン間三角形とポリゴン間三角形の面積比を反映した面積比反映値を用いる。したがって、モデル度数分布算出手段１０は、外接円半径の度数分布である外接円分布と、面積比反映値の度数分布である面積比分布と、外接円分布と面積比分布の対応関係を示す２次元度数分布の３種の度数分布を算出することになる。２次元度数分布に対して、外接円分布、面積比分布はともに１次元度数分布である。度数分布照合手段２０は、対象モデルについて算出された外接円分布、面積比分布、２次元度数分布をそれぞれ、度数分布データベース４０に登録されている規制画像の外接円分布、面積比分布、２次元度数分布と照合し、出力を規制すべきか否か、すなわち出力不適であるか出力適正であるかを判定する。
【０１３７】
モデル度数分布算出手段１０、画像度数分布算出手段１９、度数分布照合手段２０は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段３０は、出力を規制すべきか否かの判定対象となるポリゴンモデルである対象モデルを記憶した記憶手段であり、記憶装置３により実現される。ポリゴンモデルとは、ポリゴンの集合により３次元空間における所定の立体形状を表現したデータであり、３Ｄプリンタ等の立体物造形装置に立体物造形用データとして出力されるものである。本実施形態では、ポリゴンモデルのデータ形式としてＳＴＬ（Standard Triangulated Language）を採用している。
【０１３８】
度数分布データベース４０は、出力を規制すべき画像である規制画像に対して３種の度数分布として算出された外接円分布、面積比分布、２次元度数分布を記憶して、データベース化したものであり、記憶装置３により実現される。すなわち、度数分布データベース４０は、規制画像から算出される３種の度数分布を記憶している。３種の度数分布である外接円分布、面積比分布、２次元度数分布は、規制画像の特徴を表現した特徴ベクトルとしての役割を果たすものとなる。すなわち、３種の度数分布により、元の規制画像の相違を識別可能であるが、元の規制画像を復元できるわけではない。これは、指紋（フィンガープリント）により個人の相違を識別可能であるが、人物の姿そのものを復元できるわけではないのと同様である。したがって、３種の度数分布は、著作物としての役割は果たさないが、２つの著作物の同一性を証明する、いわゆるフィンガープリントとしての役割も果たすことになる。度数分布データベース４０には、外接円分布、面積比分布、２次元度数分布だけでなく、外接円分布、面積比分布、２次元度数分布の算出の基になった規制画像自体を登録しておくことも可能であるが、通常は、著作権の問題から規制画像自体は登録されていない。
【０１３９】
図１４に示した各構成手段は、現実には図１３に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、ＣＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、製品としての“３Ｄプリンタ”に組み込まれたボードコンピュータも含む。
【０１４０】
図１３に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、モデル度数分布算出手段１０、画像度数分布算出手段１９、度数分布照合手段２０としての機能を実現することになる。また、記憶装置３は、対象モデル記憶手段３０、度数分布データベース４０として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。
【０１４１】
図１３に示したハードウェア構成において、コンピュータをモデル度数分布算出手段１０として機能させるための専用のプログラムのみを、記憶装置３に実装しておくことにより、度数分布を算出するためのモデル度数分布算出装置を実現することもできる。モデル度数分布算出装置は、対象モデル記憶手段３０から読み込んだ対象モデルを基に、３種の度数分布を算出して出力する。出力された度数分布は、別途、画像度数分布算出手段１９、度数分布照合手段２０、度数分布データベース４０を備えた装置に入力され、照合および出力規制の判定を行うことができる。
【０１４２】
＜２．４．立体物造形用データ出力規制装置の処理動作＞
＜２．４．１．前処理＞
次に、図１３、図１４に示した立体物造形用データ出力規制装置の処理動作について説明する。まず、上述のような、画像度数分布算出装置により、出力を規制すべき画像である規制画像から３種の度数分布を作成し、作成した度数分布を、度数分布データベース４０に登録しておく。画像度数分布算出装置は、立体物造形用データ出力規制装置と別のコンピュータで実現する必要はなく、立体物造形用データ出力規制装置を実現するコンピュータに、画像度数分布算出装置を実現するためのプログラムを組み込んでおくこともできる。
【０１４３】
さらに、規制画像から作成した度数分布だけでなく、規制対象とするポリゴンモデルである規制モデルを表現した度数分布を作成し、度数分布データベース４０に登録しておくこともできる。この場合、規制モデルについて、３種の度数分布である外接円分布、面積比分布、２次元度数分布を作成する。ポリゴンモデルからの外接円分布、面積比分布、２次元度数分布の作成については、後述する立体物造形用データ出力規制装置における処理と同様にして行うことができる。規制モデルからの外接円分布、面積比分布、２次元度数分布の作成は、立体物造形用データ出力規制装置で行ってもよいし、別のコンピュータで同様のプログラムを実行することにより行ってもよい。作成された外接円分布、面積比分布、２次元度数分布は、度数分布データベース４０に登録される。２次元データである規制画像から作成される度数分布と、３次元データである規制モデルから作成される度数分布は、同一の形式になるように作成される。これにより、後述する照合時において、規制画像と規制モデルのどちらについても、同様に照合を行うことが可能となる。
【０１４４】
出力規制の対象は、銃砲・刀剣などの危険物だけでなく、キャラクターなどの著作物となることもある。いずれの場合においても、制作された画像やポリゴンモデルには著作権者が存在する著作物になる。したがって、著作物である画像やポリゴンモデルをデータベースに登録するためには、その行為自体に著作者の許諾が必要となる。画像については著作権者が明示されている法人である場合が多く、許諾を得ることが可能であるが、ポリゴンモデルについては個人など著作権者が不明なものも多く、許諾を得ることが困難である。外接円分布、面積比分布、２次元度数分布の形式により、元の画像やポリゴンモデルの相違を識別可能であるが、元の画像やポリゴンモデルを復元できるわけではない。これは、指紋（フィンガープリント）により個人の相違を識別可能であるが、人物の姿そのものを復元できるわけではないのと同様で、外接円分布、面積比分布、２次元度数分布の形式はフィンガープリントに相当し、著作物には該当しない。そこで、本実施形態のように、外接円分布、面積比分布、２次元度数分布の形式で登録することにより、著作者の許諾を必要とせずに、規制画像や規制モデルの特徴を記録したデータベースを構築することができる。ただし、規制画像については、著作者の許諾を得て商用利用できないレベルに解像度を落とした状態で規制画像自体も併せて登録し、外接円分布、面積比分布、２次元度数分布の形式で照合し適合した規制画像を目視で確認できるようにする運用をとることが望ましい。
【０１４５】
＜２．４．２．処理概要＞
次に、図１３、図１４に示した立体物造形用データ出力規制装置の処理動作について説明する。図１５は、本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、モデル度数分布算出手段１０が、ポリゴンモデルである対象モデルについて、３種の度数分布である外接円分布、面積比分布、２次元度数分布を算出する（ステップＳ１００）。そして、度数分布照合手段２０が、算出された対象モデルの度数分布と、規制画像の度数分布との照合を行う（ステップＳ２００）。
【０１４６】
＜２．５．モデル度数分布の算出処理＞
まず、ステップＳ１００のモデル度数分布の算出処理について説明する。図１６は、モデル度数分布の算出処理の詳細を示すフローチャートである。ここでは、対象モデルのポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｕ（ｉ），Ｙｕ（ｉ），Ｚｕ（ｉ））と定義されたものとする。ｕは頂点番号を示しており、本実施形態では、ポリゴンが三角形状であるため、ｕ＝０，１，２の３つの値をとる。したがって、例えばＸｕ（ｉ）は、Ｘ０（ｉ）、Ｘ１（ｉ）、Ｘ２（ｉ）とも表記される。頂点を特定したポリゴンおよび法線ベクトルは、立体物造形装置である３Ｄプリンタによる出力に必要なものであり、法線ベクトルの方向が造形面の外側（材料から空中方向）を示す。法線ベクトルは、３Ｄプリンタに出力用のポリゴンモデルにおいては、各ポリゴンについて記録されているのが普通である。対象モデルは、その出力スケール情報Ｓｏｕｔも有している。出力スケール情報Ｓｏｕｔは、対象モデルを立体物として出力する際の実寸法であり、頂点を定義している３次元座標系の単位長（長さ１）あたりの実寸法で、単位はｍｍ／単位長で表現されている。
【０１４７】
モデル度数分布算出手段１０は、まず、ポリゴンの正規化処理を行う（ステップＳ６０１）。具体的には、対象モデル内の各のポリゴンに対して、Ｘ方向の最大値ｘｍａｘと最小値ｘｍｉｎ、Ｙ方向の最大値ｙｍａｘと最小値ｙｍｉｎ、Ｚ方向の最大値ｚｍａｘと最小値ｚｍｉｎを求め、（ｘｍａｘ−ｘｍｉｎ）、（ｙｍａｘ−ｙｍｉｎ）、（ｚｍａｘ−ｚｍｉｎ）の３つの差分のうち、最大のものをｌｍａｘとする。そして、全てのポリゴンが、座標値の値が−１〜＋１の範囲に収まるように、以下の〔数式１９〕に従った処理を実行する。
【０１４８】
〔数式１９〕
Ｘｕ´（ｉ）＝｛Ｘｕ（ｉ）−（ｘｍａｘ＋ｘｍｉｎ）／２｝×２／ｌｍａｘ
Ｙｕ´（ｉ）＝｛Ｙｕ（ｉ）−（ｙｍａｘ＋ｙｍｉｎ）／２｝×２／ｌｍａｘ
Ｚｕ´（ｉ）＝｛Ｚｕ（ｉ）−（ｚｍａｘ＋ｚｍｉｎ）／２｝×２／ｌｍａｘ
【０１４９】
〔数式１９〕に従った処理の結果、頂点（Ｘｕ´（ｉ），Ｙｕ´（ｉ），Ｚｕ´（ｉ））をもつ各ポリゴンｉは、座標値の値が−１〜＋１の範囲に収まることになる。以下では、記号が繁雑になるのを防ぐため、正規化処理後のＸｕ´（ｉ），Ｙｕ´（ｉ），Ｚｕ´（ｉ）を改めてそれぞれＸｕ（ｉ），Ｙｕ（ｉ），Ｚｕ（ｉ）として、説明していくことにする。
【０１５０】
次に、対象モデルを構成する各ポリゴンについて、ポリゴンの重心を算出する（ステップＳ６０２）。具体的には、以下の〔数式２０〕に従った処理を実行することにより、各ポリゴンｉの３頂点の平均座標をもつポリゴンの重心（Ｘｃ（ｉ），Ｙｃ（ｉ），Ｚｃ（ｉ））を算出する。
【０１５１】
〔数式２０〕
Ｘｃ（ｉ）＝｛Ｘ０（ｉ）＋Ｘ１（ｉ）＋Ｘ２（ｉ）｝／３
Ｙｃ（ｉ）＝｛Ｙ０（ｉ）＋Ｙ１（ｉ）＋Ｙ２（ｉ）｝／３
Ｚｃ（ｉ）＝｛Ｚ０（ｉ）＋Ｚ１（ｉ）＋Ｚ２（ｉ）｝／３
【０１５２】
上記〔数式２０〕において、Ｘ０（ｉ）、Ｘ１（ｉ）、Ｘ２（ｉ）はそれぞれＸｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示し、Ｙ０（ｉ）、Ｙ１（ｉ）、Ｙ２（ｉ）はそれぞれＹｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示し、Ｚ０（ｉ）、Ｚ１（ｉ）、Ｚ２（ｉ）はそれぞれＺｕ（ｉ）において、頂点番号ｕ＝０，１，２の場合を示している。上記〔数式２０〕に示すように、各ポリゴンの重心は、ポリゴンの各頂点の平均座標をもつ点として算出される。
【０１５３】
次に、ポリゴンモデルを構成するポリゴンの集合を３つのグループに分け、各グループのポリゴンの順序を入れ替える（ステップＳ６０３）。３つのグループへの分け方としては、同数に分けることができれば、どのような手法を用いてもよい。本実施形態では、特に好ましい態様として、ポリゴンモデルのデータ配列における順序に基づき、３個単位でランダムにグループ分けを行う。
【０１５４】
具体的には、ポリゴンモデルを構成するポリゴンの集合から３個単位でポリゴンを取得し、３の剰余である０〜２の整数をランダムに発生する乱数に基づいて、第１ポリゴングループ、第２ポリゴングループ、第３ポリゴングループのいずれかのグループに分類する。そして、この処理を、ポリゴンモデルを構成する全ポリゴンについて繰り返し実行することにより、ポリゴンモデルを構成するＮ個のポリゴンを、Ｎ／３個ずつのグループに分ける。乱数としては、必ずしも０〜２である必要はなく、１／３の確率で発生する状態を実現できればよい。
【０１５５】
各グループのポリゴン数が同数になるように、元のポリゴン数Ｎの３の剰余が２の場合、先頭のポリゴン０を、最後尾のポリゴンＮ＝ポリゴン０として重複してもたせ、全ポリゴン数がＮ＋１個になるように修正する。また、元のポリゴン数Ｎの３の剰余が１の場合、先頭のポリゴン０および２番目のポリゴン１を、最後尾から２番目のポリゴンＮ＝ポリゴン０、最後尾のポリゴンＮ＋１＝ポリゴン１として重複してもたせ、全ポリゴン数がＮ＋２個になるように修正する。各グループのポリゴン数が同数になるように、ポリゴンを重複して追加し、全ポリゴン数がＮ＋１個またはＮ＋２個となった場合であっても、これをＮとして置き換え、以下では、全ポリゴン数を３の倍数であるＮ個として説明していく。
【０１５６】
３で除した余りによりグループ分けすることにより、３つの配列Ｇ１（ｆ）＝３ｆ＋Ｑ０（ｑ）、Ｇ２（ｆ）＝３ｆ＋Ｑ１（ｑ）、Ｇ３（ｆ）＝３ｆ＋Ｑ２（ｑ）（ｆ＝０，・・・，Ｎ／３−１）が得られる。ここで、整数値ｑ（ｑ＝０，・・・，Ｎ／３−１）にはＧ１（ｆ）に与えた整数値ｆと同一値を与え、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は整数値ｑを基に｛０，１，２｝のいずれかの整数値をとる。即ち、Ｑ０（ｑ）＝ｑ  ｍｏｄ  ３、Ｑ１（ｑ）＝（ｑ＋１）ｍｏｄ  ３、Ｑ２（ｑ）＝（ｑ＋２）ｍｏｄ  ３となる（“ｍｏｄ  ３”は３の剰余を表す）。後述の通り、整数値ｑはランダムに与えるため、Ｑ０（ｑ）、Ｑ１（ｑ）、Ｑ２（ｑ）は互いに重複せずに、｛０，１，２｝のいずれかの整数値をランダムにとる。次に、各グループのポリゴンの配列の順序を入れ替える。順序の入れ替えは無作為に行われる。すなわち、シャッフルされる。ポリゴンの配列の順序を入れ替えることができれば、どのような手法を用いてもよいが、本実施形態では、以下のような手法によりポリゴンの配列の順序を入れ替えている。
【０１５７】
まず、３種類の乱数配列Ｒ１（ｋ）、Ｒ２（ｋ）、Ｒ３（ｋ）を作成する。具体的には、ｋ＝０，・・・，Ｎ／３−１について、Ｒ１（ｋ）＝ｋに初期化する。続いて、０≦Ｒｎｄ（ｋ）＜１の範囲で実数値の一様乱数をＮ／３回発生させ、１回発生させるごとに、ｐｐ＝Ｒｎｄ（ｋ）×Ｎ／３なる演算で０≦ｐｐ≦Ｎ／３の整数値を算出し、Ｒ１（ｋ）の値とＲ１（ｐｐ）の値を交換する処理をＮ／３回繰り返す。繰り返しの結果、Ｎ／３個の連続する整数をランダムに入れ替えた乱数配列Ｒ１（ｋ）が得られる。これにより、例えば、第１ポリゴングループのポリゴンの配列Ｇ１（ｆ）に対して、ｆ＝ｑ＝Ｒ１（ｋ）で与え、Ｇ１（Ｒ１（ｋ））＝３Ｒ１（ｋ）＋Ｑ０（Ｒ１（ｋ））（ｋ＝０，・・・，Ｎ／３−１）のように、順序が入れ替えられた配列を得ることができる。第２の乱数配列Ｒ２（ｋ）に対しては、Ｒ２（ｋ）＝Ｒ１（Ｎ／３−１−ｋ）で与える。すなわち、第１の乱数配列Ｒ１（ｋ）の先頭から末尾への順序を逆にしたものが乱数配列Ｒ２（ｋ）である。乱数配列Ｒ１（ｋ）、乱数配列Ｒ２（ｋ）は、互いに他方の反転乱数配列となる。
【０１５８】
また、第３の乱数配列Ｒ３（ｋ）に対しては、乱数配列Ｒ３（ｋ）＝ｋとし乱数にせず、ｋ＝０，・・・，Ｎ／３−１なるシーケンシャルな値に設定する。このように、ポリゴンの配列の順序を入れ替えることにより、各グループのポリゴンの配列順序を、３次元空間である対象モデル内のポリゴンからランダムに設定することができ、ランダムなポリゴン上の点の組み合わせで算出されたポリゴン間三角形に基づいて、外接円分布、面積比分布、２次元度数分布を求めることが可能となる。従って、第２グループのポリゴンの配列Ｇ２（ｆ）に対して、ｆ＝Ｒ２（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ２（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ１（Ｒ１（ｋ））となり、第３グループのポリゴンの配列Ｇ３（ｆ）に対して、ｆ＝Ｒ３（ｋ）、ｑ＝Ｒ１（ｋ）で与え、Ｇ３（Ｒ３（ｋ））＝３Ｒ３（ｋ）＋Ｑ２（Ｒ１（ｋ））となり、３つのグループの順序が入れ替えられた配列を得ることができる。また、後述の通り、第１グループのポリゴンの配列Ｇ１（ｆ）に対してｆ＝ｑ＝Ｒ２（ｋ）を与えてもよく、Ｇ１（Ｒ２（ｋ））＝３Ｒ２（ｋ）＋Ｑ０（Ｒ２（ｋ））のような順序が入れ替えられた配列を得ることもできる。
【０１５９】
このように３つのグループにポリゴンを分類するのは、３つのポリゴンをランダムに選択してポリゴン間三角形を作成する際、互いに重複しないようにするためである。ポリゴンモデルを構成する全てのポリゴンの組み合わせでポリゴン間三角形を順次構成することも可能であるが、ポリゴン数が多いと組み合わせが膨大な数になり実用的ではない。また、グループ分けをせず、ポリゴンモデルを構成する全てのポリゴンよりランダムに３つのポリゴンを選択してポリゴン間三角形を構成する方法も考えられるが、ある確率で同一のポリゴン間三角形が発生してしまう。ランダムに抽出されるポリゴン間三角形のサンプル数が十分に多くないと、偏った度数分布が算出される可能性がある。本実施形態のように、３つのグループに分類し、各グループから１つずつポリゴンを選択して計３つ選択するようにすることにより、ポリゴン間三角形を形成するための３つのポリゴンを互いに重複することなくランダム性をもたせながら効率的に選択することが可能になる。
【０１６０】
ステップＳ６０３におけるポリゴンのグループ分け、および各グループのポリゴン順序の入れ替えは、ステップＳ５０４におけるエッジ点のグループ分け、および各グループのエッジ点順序の入れ替えと同様に行われる。したがって、図９、図１０を用いて説明したように、ポリゴンについても、乱数を用いてランダムにグループ分けした場合、３で除した余りに基づいてグループ分けした場合に比べて、構成されるポリゴン間三角形にポリゴン配列による癖が生じ難くなる。
【０１６１】
次に、初期設定を行う（ステップＳ６０４）。具体的には、算出する外接円分布、面積比分布、２次元度数分布の初期化、ループカウンタの初期化を行う。本実施形態で算出される外接円分布は、ポリゴン間三角形を補正した補正ポリゴン間三角形の外接円の半径の分布であり、要素数をＭＤとし、各要素ｍｄ（ｍｄ＝０，・・・，ＭＤ−１）の度数をＨｄ（ｍｄ）と表す。Ｈｄ（ｍｄ）は、所定数ＭＤの要素で構成される１次元配列である。要素数ＭＤとしては、任意の値を設定することができるが、本実施形態では、ＭＤ＝３６０としている。このような１次元の配列を準備した後、モデル度数分布算出手段１０は、初期値をＨｄ（ｍｄ）＝０と設定する。
【０１６２】
本実施形態で算出される面積比分布は、補正ポリゴン間三角形と、補正前のポリゴン間三角形との面積比を反映した面積比反映値の分布であり、要素数をＭＡとし、各要素ｍａ（ｍａ＝０，・・・，ＭＡ−１）の度数をＨａ（ｍａ）と表す。要素数ＭＡは、上記要素数ＭＤと同一であっても異なっていてもよい。要素数ＭＡとしては、任意の値を設定することができるが、本実施形態では、要素数ＭＤと同一とし、ＭＡ＝３６０としている。Ｈａ（ｍａ）は、所定数ＭＡの要素で構成される１次元配列である。このような１次元の配列を準備した後、モデル度数分布算出手段１０は、初期値をＨａ（ｍａ）＝０と設定する。
【０１６３】
本実施形態で算出される２次元度数分布は、外接円半径と面積比反映値の２次元の度数分布であり、要素数をＭＱ2（＝ＭＱ×ＭＱ）とし、各要素ｍｕ，ｍｖ（ｍｕ，ｍｖ＝０，・・・，ＭＱ−１）の度数をＨｑ（ｍｕ，ｍｖ）と表す。Ｈｑ（ｍｕ，ｍｖ）は、所定数ＭＱ2の要素で構成される２次元配列である。要素数の平方根ＭＱとしては、任意の値を設定することができるが、本実施形態では、ＭＱ＝ＭＤ／３＝ＭＡ／３＝１２０としている。このような２次元の配列を準備した後、画像度数分布算出手段９２は、初期値をＨｑ（ｍｕ，ｍｖ）＝０と設定する。ループカウンタＬＣについては、初期値ＬＣ＝０と設定する。
【０１６４】
次に、モデル度数分布算出手段１０は、３つのグループ間における各ポリゴン重心を頂点とするポリゴン間三角形の作成を行う（ステップＳ６０５）。３つのポリゴンを用いてポリゴン間三角形を作成する際、ポリゴン重心に限らず、ポリゴン上の点としては、様々な点を用いることができる。しかし、ポリゴン重心が、１つのポリゴンを代表する点として好ましいため、本実施形態では、ポリゴン重心を頂点としてポリゴン間三角形を作成する。ポリゴン上の点とは、ポリゴンを構成する頂点を全て通る面上に位置する点を意味する（外心のように三角形の外側に位置する点でも良い）。
【０１６５】
ステップＳ６０５においては、ポリゴン間三角形の数がポリゴン総数Ｎと同一になるように、グループ間の組み合わせを変えて３通り作成する。具体的には、ｑ＝Ｒ１（ｋ）として、第１ポリゴングループのポリゴンＧ１（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた順序ｋ（ｋ＝０，・・・，Ｎ／３−１）のポリゴンＧ１（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ１（ｋ））），Ｙｃ（Ｇ１（Ｒ１（ｋ））），Ｚｃ（Ｇ１（Ｒ１（ｋ））））から第２ポリゴングループのポリゴンＧ２（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ２(ｋ)）の重心（Ｘｃ（Ｇ２（Ｒ２（ｋ））），Ｙｃ（Ｇ２（Ｒ２（ｋ））），Ｚｃ（Ｇ２（Ｒ２（ｋ））））、第３ポリゴングループのポリゴンＧ３（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ３（ｋ））），Ｙｃ（Ｇ３（Ｒ３（ｋ））），Ｚｃ（Ｇ３（Ｒ３（ｋ））））の３点を頂点とする第１ポリゴン間三角形をＮ／３個作成する。
【０１６６】
同様に、ｑ＝Ｒ２（ｋ）として、第１ポリゴングループのポリゴンＧ１（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた順序ｋのポリゴンＧ１（Ｒ２（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ２（ｋ））），Ｙｃ（Ｇ１（Ｒ２（ｋ））），Ｚｃ（Ｇ１（Ｒ２（ｋ））））、第２ポリゴングループのポリゴンＧ２（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ２（Ｒ３（ｋ））），Ｙｃ（Ｇ２（Ｒ３（ｋ））），Ｚｃ（Ｇ２（Ｒ３（ｋ））））、第３ポリゴングループのポリゴンＧ３（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ１（ｋ））），Ｙｃ（Ｇ３（Ｒ１（ｋ））），Ｚｃ（Ｇ３（Ｒ１（ｋ））））の３点を頂点とする第２ポリゴン間三角形をＮ／３個作成する。
【０１６７】
さらに、ｑ＝Ｒ３（ｋ）として、第１ポリゴングループのポリゴンＧ１（ｆ）に対して乱数配列Ｒ３（ｋ）によりランダムに順番を入れ替えた順序ｋのポリゴンＧ１（Ｒ３（ｋ））の重心（Ｘｃ（Ｇ１（Ｒ３（ｋ））），Ｙｃ（Ｇ１（Ｒ３（ｋ））），Ｚｃ（Ｇ１（Ｒ３（ｋ））））、第２ポリゴングループのポリゴンＧ２（ｆ）に対して乱数配列Ｒ１（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ２（Ｒ１（ｋ））の重心（Ｘｃ（Ｇ２（Ｒ１（ｋ））），Ｙｃ（Ｇ２（Ｒ１（ｋ））），Ｚｃ（Ｇ２（Ｒ１（ｋ））））、第３ポリゴングループのポリゴンＧ３（ｆ）に対して乱数配列Ｒ２（ｋ）によりランダムに順番を入れ替えた対応する順序ｋのポリゴンＧ３（Ｒ２（ｋ））の重心（Ｘｃ（Ｇ３（Ｒ２（ｋ））），Ｙｃ（Ｇ３（Ｒ２（ｋ））），Ｚｃ（Ｇ３（Ｒ２（ｋ））））の３点を頂点とする第３ポリゴン間三角形をＮ／３個作成する。
【０１６８】
上記作成されたＮ／３個の第１ポリゴン間三角形と、Ｎ／３個の第２ポリゴン間三角形と、Ｎ／３個の第３ポリゴン間三角形の３種の変数ｋに対し、第２ポリゴン間三角形のＮ／３個の配列にはＮ／３だけオフセットを加え、第３ポリゴン間三角形のＮ／３個の配列には２Ｎ／３だけオフセットを加えた上で、通し番号ｉでまとめて、その範囲をｉ＝０，・・・，Ｎ−１に設定し直してＮ個のポリゴン間三角形ｉ（ｉ＝０，・・・，Ｎ−１）を得る。
【０１６９】
次に、モデル度数分布算出手段１０は、各ポリゴン間三角形に対して法線ベクトルを用いて補正ポリゴン間三角形を作成する（ステップＳ６０６）。具体的には、まず、以下の〔数式２１〕に従った処理を実行することにより、３つのポリゴンｌ，ｍ，ｎそれぞれの重心を頂点として特定されるポリゴン間三角形の重心（Ｘｇ，Ｙｇ，Ｚｇ）を算出する。
【０１７０】
〔数式２１〕
Ｘｇ＝｛Ｘｃ（ｌ）＋Ｘｃ（ｍ）＋Ｘｃ（ｎ）｝／３
Ｙｇ＝｛Ｙｃ（ｌ）＋Ｙｃ（ｍ）＋Ｙｃ（ｎ）｝／３
Ｚｇ＝｛Ｚｃ（ｌ）＋Ｚｃ（ｍ）＋Ｚｃ（ｎ）｝／３
【０１７１】
上記〔数式２１〕において、Ｘｃ（ｌ）、Ｘｃ（ｍ）、Ｘｃ（ｎ）はそれぞれポリゴンｌ、ポリゴンｍ、ポリゴンｎ、の重心のｘ座標を示し、Ｙｃ（ｌ）、Ｙｃ（ｍ）、Ｙｃ（ｎ）はそれぞれポリゴンｌ、ポリゴンｍ、ポリゴンｎ、の重心のｙ座標を示し、Ｚｃ（ｌ）、Ｚｃ（ｍ）、Ｚｃ（ｎ）はそれぞれポリゴンｌ、ポリゴンｍ、ポリゴンｎ、の重心のｚ座標を示している。上記〔数式２１〕に示すように、ポリゴン間三角形の重心は、各ポリゴンの重心の平均座標をもつ点として算出される。
【０１７２】
モデル度数分布算出手段１０は、さらに、ポリゴン間三角形の重心（Ｘｇ，Ｙｇ，Ｚｇ）、ポリゴンｌの重心（Ｘｃ（ｌ），Ｙｃ（ｌ），Ｚｃ（ｌ））、ポリゴンｍの重心（Ｘｃ（ｍ），Ｙｃ（ｍ），Ｚｃ（ｍ））、ポリゴンｎの重心（Ｘｃ（ｎ），Ｙｃ（ｎ），Ｚｃ（ｎ））、ポリゴンｌの法線ベクトル（Ｘｎ（ｌ），Ｙｎ（ｌ），Ｚｎ（ｌ））、ポリゴンｍの法線ベクトル（Ｘｎ（ｍ），Ｙｎ（ｍ），Ｚｎ（ｍ））、ポリゴンｎの法線ベクトル（Ｘｎ（ｎ），Ｙｎ（ｎ），Ｚｎ（ｎ））を用いて、以下の〔数式２２〕に従った処理を実行することにより、スカラー係数Ｅ（ｌ）、Ｅ（ｍ）、Ｅ（ｎ）を算出する。
【０１７３】
〔数式２２〕
Ｅ（ｌ）＝｛（Ｘｃ（ｌ）−Ｘｇ）・Ｘｎ（ｌ）＋（Ｙｃ（ｌ）−Ｙｇ）・Ｙｎ（ｌ）＋（Ｚｃ（ｌ）−Ｚｇ）・Ｚｎ（ｌ）｝／｛（Ｘｃ（ｌ）−Ｘｇ）2＋（Ｙｃ（ｌ）−Ｙｇ）2＋（Ｚｃ（ｌ）−Ｚｇ）2｝1/2
Ｅ（ｍ）＝｛（Ｘｃ（ｍ）−Ｘｇ）・Ｘｎ（ｍ）＋（Ｙｃ（ｍ）−Ｙｇ）・Ｙｎ（ｍ）＋（Ｚｃ（ｍ）−Ｚｇ）・Ｚｎ（ｍ）｝／｛（Ｘｃ（ｍ）−Ｘｇ）2＋（Ｙｃ（ｍ）−Ｙｇ）2＋（Ｚｃ（ｍ）−Ｚｇ）2｝1/2
Ｅ（ｎ）＝｛（Ｘｃ（ｎ）−Ｘｇ）・Ｘｎ（ｎ）＋（Ｙｃ（ｎ）−Ｙｇ）・Ｙｎ（ｎ）＋（Ｚｃ（ｎ）−Ｚｇ）・Ｚｎ（ｎ）｝／｛（Ｘｃ（ｎ）−Ｘｇ）2＋（Ｙｃ（ｎ）−Ｙｇ）2＋（Ｚｃ（ｎ）−Ｚｇ）2｝1/2
【０１７４】
〔数式２２〕において、“・”は、内積を示す。モデル度数分布算出手段１０は、さらに、スカラー係数Ｅ（ｌ）、Ｅ（ｍ）、Ｅ（ｎ）を用いて、以下の〔数式２３〕に従った処理を実行することにより、補正ポリゴン間三角形の３つの頂点（Ｘｃｃ（ｌ），Ｙｃｃ（ｌ），Ｚｃｃ（ｌ））、（Ｘｃｃ（ｍ），Ｙｃｃ（ｍ），Ｚｃｃ（ｍ））、（Ｘｃｃ（ｎ），Ｙｃｃ（ｎ），Ｚｃｃ（ｎ））を算出する。３つの頂点が算出されることにより、３頂点からなる補正ポリゴン間三角形が得られる。
【０１７５】
〔数式２３〕
Ｘｃｃ（ｌ）＝Ｘｃ（ｌ）＋Ｅ（ｌ）×（Ｘｃ（ｌ）−Ｘｇ）
Ｙｃｃ（ｌ）＝Ｙｃ（ｌ）＋Ｅ（ｌ）×（Ｙｃ（ｌ）−Ｙｇ）
Ｚｃｃ（ｌ）＝Ｚｃ（ｌ）＋Ｅ（ｌ）×（Ｚｃ（ｌ）−Ｚｇ）
Ｘｃｃ（ｍ）＝Ｘｃ（ｍ）＋Ｅ（ｍ）×（Ｘｃ（ｍ）−Ｘｇ）
Ｙｃｃ（ｍ）＝Ｙｃ（ｍ）＋Ｅ（ｍ）×（Ｙｃ（ｍ）−Ｙｇ）
Ｚｃｃ（ｍ）＝Ｚｃ（ｍ）＋Ｅ（ｍ）×（Ｚｃ（ｍ）−Ｚｇ）
Ｘｃｃ（ｎ）＝Ｘｃ（ｎ）＋Ｅ（ｎ）×（Ｘｃ（ｎ）−Ｘｇ）
Ｙｃｃ（ｎ）＝Ｙｃ（ｎ）＋Ｅ（ｎ）×（Ｙｃ（ｎ）−Ｙｇ）
Ｚｃｃ（ｎ）＝Ｚｃ（ｎ）＋Ｅ（ｎ）×（Ｚｃ（ｎ）−Ｚｇ）
【０１７６】
ポリゴン間三角形と補正ポリゴン間三角形の関係は、エッジ点間三角形と補正エッジ点間三角形の関係と同様である。すなわち、図１１（ａ）に示したようなポリゴン間三角形（特定三角形）ＡＢＣが存在し、頂点Ａ、Ｂ、Ｃを重心とするポリゴンにおける法線ベクトルが矢印Ｎａ、Ｎｂ、Ｎｃで示すものである場合、上記ステップＳ６０６に示した処理を実行することにより、ポリゴン間三角形ＡＢＣは、図１１（ｂ）に示すような補正ポリゴン間三角形（補正三角形）Ａ'Ｂ'Ｃ'に補正される。
【０１７７】
次に、モデル度数分布算出手段１０は、ポリゴン間三角形の外接円半径の算出を行う（ステップＳ６０７）。具体的には、まず、以下の〔数式２４〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎ−１の範囲で、ポリゴン間三角形の面積Ｓ（ｉ）を算出する。
【０１７８】
〔数式２４〕
Ｄ１２＝［[Ｘｃｃ（ｍ）−Ｘｃｃ（ｌ）]2＋[Ｙｃｃ（ｍ）−Ｙｃｃ（ｌ）]2＋[Ｚｃｃ（ｍ）−Ｚｃｃ（ｌ）]2］1/2
Ｄ２３＝［[Ｘｃｃ（ｎ）−Ｘｃｃ（ｍ）]2＋[Ｙｃｃ（ｎ）−Ｙｃｃ（ｍ）]2＋[Ｚｃｃ（ｎ）−Ｚｃｃ（ｍ）]2］1/2
Ｄ３１＝［[Ｘｃｃ（ｌ）−Ｘｃｃ（ｎ）]2＋[Ｙｃｃ（ｌ）−Ｙｃｃ（ｎ）]2＋[Ｚｃｃ（ｌ）−Ｚｃｃ（ｎ）]2］1/2
Ｄ＝（Ｄ１２＋Ｄ２３＋Ｄ３１）／２
Ｓ（ｉ）＝[Ｄ×（Ｄ−Ｄ１２）×（Ｄ−Ｄ２３）×（Ｄ−Ｄ３１）]1/2 
【０１７９】
そして、以下の〔数式２５〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎ−１の範囲で、ポリゴン間三角形の外接円半径Ｄ（ｉ）を算出する。
【０１８０】
〔数式２５〕
Ｄ（ｉ）＝Ｄ１２×Ｄ２３×Ｄ３１／（４×Ｓ（ｉ））
【０１８１】
上記〔数式２４〕においては、三角形の各辺の長さＤ１２、Ｄ２３、Ｄ３１が、以下の〔数式２６〕に示した６条件全てを満たした三角形のみ、外接円半径の度数分布の対象とする。したがって、〔数式２６〕に示した６条件のうち１つでも満たさなかった三角形については、外接円半径の度数分布の対象としない。下記〔数式２６〕に示した６条件を満たさない場合は、外接円の半径Ｄ（ｉ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。
【０１８２】
〔数式２６〕
Ｄ１２＞０
Ｄ２３＞０
Ｄ３１＞０
｜Ｄ１２−Ｄ２３−Ｄ３１｜／Ｄ１２＞０．１
｜Ｄ２３−Ｄ３１−Ｄ１２｜／Ｄ２３＞０．１
｜Ｄ３１−Ｄ１２−Ｄ２３｜／Ｄ３１＞０．１
【０１８３】
上記〔数式２６〕に示すように、６条件のうち前半３条件は、全ての辺が０でない正の値をとること、すなわち三角形を形成することを意味する。６条件のうち後半３条件は、作成される三角形が極端に偏平な形状にならないことを意味する。三角形が極端に偏平な形状になると、外接円半径が無限大に近付き、精度のよい度数分布が得られないことになる。上記〔数式２６〕に示した６条件を満たさない場合は、三角形を形成しないか（いずれかの辺が０の場合）、外接円半径Ｄ（ｉ）が極端に大きくなり、精度のよい度数分布を求めることができないためである。そして、ｉ＝０，・・・，Ｎ−１のＮ個の外接円の半径Ｄ（ｉ）のうち最大のものを最大外接円半径Ｄｍａｘとする。
【０１８４】
次に、モデル度数分布算出手段１０は、補正ポリゴン間三角形と、補正前のポリゴン間三角形との面積比に基づく値である面積比反映値の算出を行う（ステップＳ６０８）。具体的には、まず、以下の〔数式２７〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎ−１の範囲で、ポリゴン間三角形の面積Ｓｏ（ｉ）を算出する。
【０１８５】
〔数式２７〕
Ｄｏ１２＝［[Ｘｃ（ｍ）−Ｘｃ（ｌ）]2＋[Ｙｃ（ｍ）−Ｙｃ（ｌ）]2＋[Ｚｃ（ｍ）−Ｚｃ（ｌ）]2］1/2
Ｄｏ２３＝［[Ｘｃ（ｎ）−Ｘｃ（ｍ）]2＋[Ｙｃ（ｎ）−Ｙｃ（ｍ）]2＋[Ｚｃ（ｎ）−Ｚｃ（ｍ）]2］1/2
Ｄｏ３１＝［[Ｘｃ（ｌ）−Ｘｃ（ｎ）]2＋[Ｙｃ（ｌ）−Ｙｃ（ｎ）]2＋[Ｚｃ（ｌ）−Ｚｃ（ｎ）]2］1/2
Ｄｏ＝（Ｄｏ１２＋Ｄｏ２３＋Ｄｏ３１）／２
Ｓｏ（ｉ）＝[Ｄｏ×（Ｄｏ−Ｄｏ１２）×（Ｄｏ−Ｄｏ２３）×（Ｄｏ−Ｄｏ３１）]1/2 
【０１８６】
そして、以下の〔数式２８〕に従った処理を実行することにより、ｉ＝０，・・・，Ｎ−１の範囲で補正ポリゴン間三角形と、補正前のポリゴン間三角形との面積比反映値Ａ（ｉ）を算出する。
【０１８７】
〔数式２８〕
Ａ（ｉ）＝｛Ｓ（ｉ）／Ｓｏ（ｉ）｝1/4
【０１８８】
上記〔数式２８〕に示すように、面積比反映値Ａ（ｋ）は、補正ポリゴン間三角形と、補正前のポリゴン間三角形との面積比｛Ｓ（ｉ）／Ｓｏ（ｉ）｝を１／４乗したものとして、算出される。面積比反映値としては、面積比を何らかの態様で反映させた値であればよいが、面積比を１／５乗〜１乗したものが好ましい。したがって、面積比そのものであってもよい。しかし、面積比反映値Ａ（ｉ）は、面積比｛Ｓ（ｉ）／Ｓｏ（ｉ）｝そのものよりポリゴン間三角形の形状差異に鋭敏に反映した値となっており、度数分布の横軸が外接円分布と異なり無次元となり、ポリゴンモデルのスケールに依存しない値であるため、大きな改変を行わずに直接プロットすることが可能となる。面積比分布は、形状による差異が小さいため、後述するように、外接円分布とスケールを連動させる手法をとる。なお、〔数式２６〕に示した６条件のうち１つでも満たさなかったポリゴン間三角形については、外接円分布、面積比分布、２次元度数分布の対象としない。
【０１８９】
次に、モデル度数分布算出手段１０は、ポリゴン間三角形の外接円半径の度数分布である外接円分布を算出する（ステップＳ６０９）。具体的には、以下の〔数式２９〕に従った処理を実行することにより、要素ｍｄの度数Ｈｄ（ｍｄ）を、ｉ＝０，・・・，Ｎ−１について、算出する。
【０１９０】
〔数式２９〕
Ｄｍａｘ×ｍｄ／ＭＤ≦Ｄ（ｉ）＜Ｄｍａｘ×（ｍｄ＋１）／ＭＤならば、Ｈｄ（ｍｄ）←Ｈｄ（ｍｄ）＋Ｓ（ｉ）
【０１９１】
上記〔数式２９〕は、補正ポリゴン間三角形の外接円半径Ｄ（ｉ）が、最大外接円半径Ｄｍａｘにｍｄ／ＭＤを乗じた値以上で、（ｍｄ＋１）／ＭＤを乗じた値より小さい場合に、補正ポリゴン間三角形の面積Ｓ（ｉ）をＨｄ（ｍｄ）に加算することを意味している。すなわち、外接円半径の最大値Ｄｍａｘの範囲を所定数ｍｄに均等に分割した上で、各外接円の半径Ｄ（ｉ）を外接円の半径Ｄ（ｉ）の値に基づいて所定数ｍｄのいずれかの要素に割り当てている。
【０１９２】
上記〔数式２９〕に従った処理を、Ｎ個のポリゴン間三角形について実行することにより、外接円分布Ｈｄ（ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）が算出される。
【０１９３】
結局、上記〔数式２９〕に従った処理を実行することにより、モデル度数分布算出手段１０は、所定数ＭＤの要素で構成される１次元の配列を準備し、算出された外接円半径の最大値（最大外接円半径Ｄｍａｘ）で正規化された範囲を、所定数ＭＤに均等に分割した上で、各外接円の半径Ｄ（ｉ）を、その値に基づいて所定数ＭＤのいずれかの要素ｍｄに割り当て、要素ｍｄに該当する数を得て、補正ポリゴン間三角形の面積Ｓ（ｉ）による重み付けを行うことにより、外接円分布を算出している。
【０１９４】
次に、モデル度数分布算出手段１０は、各補正ポリゴン間三角形と、補正前の各ポリゴン間三角形との面積比反映値Ａ（ｉ）の度数分布である面積比分布を算出する（ステップＳ６１０）。具体的には、以下の〔数式３０〕に従った処理を実行することにより、要素ｍａの度数Ｈａ（ｍａ）を、ｉ＝０，・・・，Ｎ−１について、算出する。
【０１９５】
〔数式３０〕
α×Ｄｍａｘ4×ｍａ／ＭＡ≦Ａ（ｉ）＜α×Ｄｍａｘ4×（ｍａ＋１）／ＭＡならば、Ｈａ（ｍａ）←Ｈａ（ｍａ）＋Ｓ（ｉ）
Ａ（ｉ）≧α×Ｄｍａｘ4ならば、Ｈａ（ＭＡ−１）←Ｈａ（ＭＡ−１）＋Ｓ（ｉ）
【０１９６】
上記〔数式３０〕における重み値Ｓ（ｉ）は、上記〔数式６〕に従った処理により算出した補正ポリゴン間三角形の面積である。このような重み値を加えて面積比分布を算出することにより、ポリゴンで囲まれる形状内部が材料で詰まっているか否かを識別でき、ポリゴンモデルの微細な形状特徴を反映した度数分布を作成できる。上記〔数式３０〕は、面積比反映値Ａ（ｉ）が、最大外接円半径の４乗Ｄｍａｘ4にｍａ／ＭＡおよび補正係数αを乗じた値以上で、（ｍａ＋１）／ＭＡおよび補正係数αを乗じた値より小さい場合に、補正ポリゴン間三角形の面積Ｓ（ｉ）をＨａ（ｍａ）に加算することを意味している。補正係数αは、横軸のスケーリング補正係数であり、０．０５以上０．１以下が好ましいが、本実施形態ではα＝０．０８９に設定される。度数分布の上限を最大外接円半径の４乗に設定する理由、および、αを設定する理由は、規制画像に対する場合と同様である。
【０１９７】
外接円半径はポリゴンモデルの出力実寸法に依存するため、横軸を最大値の範囲に正規化して分布を作成すると、出力実寸法に依存しない分布ができる。一方、面積比は無次元量であるため、外接円半径のようにポリゴンモデルの出力実寸法には元来依存しないため、度数分布にプロットする際、固定の上限値を設定してポリゴンモデルの出力実寸法に依存しない度数分布を算出することができる。しかし、ポリゴンモデルが複雑な形状をもち外接円分布のとり得る範囲（最大外接円半径）が広くなっても、面積比の度数分布には顕著な変化が生じず、形状の識別性が弱い。本発明では、面積比も外接円半径と同一の基準値である最大外接円半径を用いて定義した最大値で正規化した分布を作成するようにしたため、外接円半径と面積比で最大値は異なるものの、両者の間の出力実寸法の比が維持された分布ができ、外接円半径と面積比とで独立した最大値で正規化した場合よりも、分布の広がりが狭くシャープになり、形状識別性が高くなる。実際には、面積比は外接円半径の最大値（最大外接円半径）の４乗以上の値をとり得るが、最大値の４乗の範囲に飽和させるように正規化するようにする。本実施形態では、上記〔数式３０〕の最終行に示したように、最大外接円半径Ｄｍａｘの４乗であるＤｍａｘ4に係数αを乗じた値を超えた場合は、最大値に対応する要素でカウントしている。
【０１９８】
上記〔数式３０〕に従った処理を、Ｎ個のポリゴン間三角形について実行することにより、面積比分布Ｈａ（ｍａ）（ｍａ＝０，・・・，ＭＡ−１）が算出される。
【０１９９】
結局、上記〔数式３０〕に従った処理を実行することにより、モデル度数分布算出手段１０は、所定数ＭＡの要素で構成される１次元の配列を準備し、算出された外接円の半径の最大値の４乗（Ｄｍａｘ4）に補正係数αを乗じた値で正規化された範囲を、所定数ＭＡに均等に分割した上で、各面積比反映値Ａ（ｉ）を、その値に基づいて所定数ＭＡのいずれかの要素ｍａに割り当て、要素ｍａに該当する数を得て、補正ポリゴン間三角形の面積Ｓ（ｉ）による重み付けを行うことにより、面積比分布を算出している。
【０２００】
外接円分布および面積比分布が算出されたら、次に、モデル度数分布算出手段１０は、２次元度数分布を算出する（ステップＳ６１１）。具体的には、以下の〔数式３１〕に従った処理を実行することにより、要素ｍｕ×ｍｖの度数Ｈｑ（ｍｕ，ｍｖ）を、ｉ＝０，・・・，Ｎ−１について、算出する。
【０２０１】
〔数式３１〕
Ｄｍａｘ×ｍｕ／ＭＱ≦Ｄ（ｉ）＜Ｄｍａｘ×（ｍｕ＋１）／ＭＱ、かつ、α×Ｄｍａｘ4×ｍｖ／ＭＱ≦Ａ（ｉ）＜α×Ｄｍａｘ4×（ｍｖ＋１）／ＭＱならば、Ｈｑ（ｍｕ，ｍｖ）←Ｈｑ（ｍｕ，ｍｖ）＋Ｓ（ｉ）
Ｄｍａｘ×ｍｕ／ＭＱ≦Ｄ（ｉ）＜Ｄｍａｘ×（ｍｕ＋１）／ＭＱ、かつ、Ａ（ｉ）≧α×Ｄｍａｘ4ならば、Ｈｑ（ｍｕ，ＭＱ−１）←Ｈａ（ｍｕ，ＭＱ−１）＋Ｓ（ｉ）
【０２０２】
上記〔数式３１〕における重み値Ｓ（ｉ）は、上記〔数式６〕に従った処理により算出した補正ポリゴン間三角形の面積である。上記〔数式３１〕は、三角形の外接円半径Ｄ（ｉ）が、最大外接円半径Ｄｍａｘにｍｕ／ＭＱを乗じた値以上で、（ｍｕ＋１）／ＭＱを乗じた値より小さい場合であって、かつ、面積比反映値Ａ（ｉ）が、最大外接円半径の４乗Ｄｍａｘ4にｍｖ／ＭＱおよび補正係数αを乗じた値以上で、（ｍｖ＋１）／ＭＱおよび補正係数αを乗じた値より小さい場合に、補正ポリゴン間三角形の面積Ｓ（ｉ）をＨｑ（ｍｕ，ｍｖ）に加算することを意味している。また、面積比反映値Ａ（ｉ）が最大外接円半径の４乗Ｄｍａｘ4に補正係数αを乗じた値以上をとる場合があるが、その場合に、ポリゴン間三角形の外接円半径Ｄ（ｉ）が、最大外接円半径Ｄｍａｘにｍｕ／ＭＱを乗じた値以上で、（ｍｕ＋１）／ＭＱを乗じた値より小さい場合、ｍｖ＝ＭＱ−１として補正ポリゴン間三角形の面積Ｓ（ｉ）をＨｑ（ｍｕ，ＭＱ−１）に加算することを意味している。ただし、このような場合が多発すると、面積比反映値Ａ（ｉ）の度数分布が最大値側に集中し適切な照合が困難となる。そのため、補正係数αの値を大き目に再設定し、面積比反映値Ａ（ｉ）がなるべく最大外接円半径の４乗Ｄｍａｘ4に補正係数αを乗じた値未満に収まるように、与えられたポリゴンモデルごとに調整しておくことができる。
【０２０３】
上記〔数式３１〕に従った処理を、Ｎ個のポリゴン間三角形について実行することにより、２次元度数分布Ｈｑ（ｍｕ，ｍｖ）（ｍｕ，ｍｖ＝０，・・・，ＭＱ−１）が算出される。
【０２０４】
外接円分布、面積比分布、２次元度数分布が算出されたら、次に、ループカウンタＬＣが規定値ＬＫ以上であるかどうかを判定する（ステップＳ６１２）。判定の結果、ループカウンタＬＣが規定値ＬＫ未満である場合は、２つのグループの配列を１だけずらす処理を行う（ステップＳ６１３）。例えば、第１ポリゴングループの順序を固定する場合、本実施形態では、以下の〔数式３２〕に従った処理を実行することにより、第２ポリゴングループ、第３ポリゴングループの２つのグループに用いる乱数配列Ｒ２（ｋ）、乱数配列Ｒ３（ｋ）の順序をずらしている。
【０２０５】
〔数式３２〕
Ｒｏ＝Ｒ２（０）、Ｒｏ３＝Ｒ３（０）とし、
ｋ＝０，・・・，Ｎ／３−２に対して、
Ｒ２（ｋ）←Ｒ２（ｋ＋１）、Ｒ３（ｋ）←Ｒ３（ｋ＋１）を繰り返し、
Ｒ２（Ｎ／３−１）＝Ｒｏ、Ｒ３（Ｎ／３−１）＝Ｒｏ３とする。
【０２０６】
第２ポリゴングループの順序を固定する場合、第３ポリゴングループの順序を固定する場合については、グループの関係を変えて、〔数式３２〕に従った処理を実行することにより行われる。併せて、ループカウンタＬＣをインクリメント（ＬＣ←ＬＣ＋１）する処理も行う。既に算出された度数分布が存在する場合は、その度数分布の各要素について、各要素に該当する度数の値を加算する。ステップＳ６１３において、２つのグループの配列をずらした後、２つのグループともう１つのグループのポリゴンの組み合わせを１回目とは変えて、ステップＳ６０５〜ステップＳ６１０の処理を実行し、外接円分布、面積比分布、２次元度数分布を算出する。ステップＳ６０５〜ステップＳ６１１の外接円分布、面積比分布、２次元度数分布の算出処理は、規定値ＬＫとして設定された所定の回数だけ繰り返される。規定値ＬＫとしては、適宜設定することが可能であるが、ポリゴン総数Ｎ＝１００００の場合、ＬＫ＝１０程度である。
【０２０７】
すなわち、外接円分布、面積比分布、２次元度数分布を１回算出するごとに、３つのグループのうち２つのグループ内のポリゴンの順序を変化させて、外接円分布、面積比分布、２次元度数分布を改めて算出する処理を繰り返し行うことになる。ループカウンタＬＣが規定値ＬＫに達した場合、ステップＳ６１２において、ループカウンタＬＣが規定値ＬＫ以上であると判定されるため、３種の度数分布の正規化を行う（ステップＳ６１４）。
【０２０８】
具体的には、上記〔数式２９〕で算出されたＨｄ（ｍｄ）に、更に１００／｛Σmd=0,MD-1Ｈｄ（ｍｄ）×ＬＫ｝を乗じてＨｄ（ｍｄ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈｄ（ｍｄ）の総和値Σmd=0,MD-1Ｈｄ（ｍｄ）とループ回数ＬＫの乗算値により、各要素の値Ｈｄ（ｍｄ）を除算している。重み値Ｓ（ｉ）は、補正ポリゴン間三角形の面積を用いて得られているので、ポリゴンの面積の総和値が異なる、即ちスケールが異なるポリゴンモデルであっても同一スケールの外接円分布に変換され、同一スケール基準のポリゴンモデルとして判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。
【０２０９】
また、上記〔数式３０〕で算出されたＨａ（ｍａ）に、更に１００／｛Σma=0,MA-1Ｈａ（ｍａ）×ＬＫ｝を乗じてＨａ（ｍａ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈａ（ｍａ）の総和値Σma=0,MA-1Ｈａ（ｍａ）とループ回数ＬＫの乗算値により、各要素の値Ｈａ（ｍａ）を除算している。重み値Ｓ（ｉ）は補正ポリゴン間三角形の面積を用いて得られているので、これにより、補正ポリゴン間三角形の面積の総和値が異なる、即ちスケールが異なるポリゴンモデルであっても同一スケールの面積比分布に変換され、同一スケール基準のポリゴンモデルとして判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。
【０２１０】
また、上記〔数式３１〕で算出されたＨｑ（ｍｕ，ｍｖ）に、更に１００／｛Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑ（ｍｕ，ｍｖ）×ＬＫ｝を乗じてＨｑ（ｍｕ，ｍｖ）と置き換えることにより、単位を率［％］に正規化している。すなわち、上記要素の値Ｈｑ（ｍｕ，ｍｖ）の総和値Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑ（ｍｕ，ｍｖ）とループ回数ＬＫの乗算値により、各要素の値Ｈｑ（ｍｕ，ｍｖ）を除算している。重み値Ｓ（ｉ）は補正ポリゴン間三角形の面積を用いて得られているので、補正ポリゴン間三角形の面積の総和値が異なる、即ちスケールが異なるポリゴンモデルであっても同一スケールの２次元度数分布に変換され、同一スケール基準のポリゴンモデルとして判定が可能になる。また、ループ回数ＬＫで除算していることになるため、ループ回数分の平均値が得られることになる。
【０２１１】
本実施形態では、ポリゴン間三角形の３つの頂点をである各ポリゴンの所定の点として、各ポリゴンの重心を用いた。ポリゴン間三角形の頂点は、ポリゴンの各頂点の平均座標をもつ重心とすることが好ましいが、重心以外のポリゴン上の所定の点同士を結んだポリゴン間三角形とすることも可能である。ポリゴン上の所定の点としては、例えば、ポリゴンを構成するいずれかの頂点、ポリゴンの頂点のｘｙｚ座標別の最大値と最小値の丁度中間となる値をもつ点等、また、ポリゴンが三角形である場合、内心・外心・垂心・傍心等を用いることができる。
【０２１２】
対象モデルから得られた外接円分布、面積比分布、２次元度数分布を求めるためのポリゴン間三角形、補正ポリゴン間三角形とその外接円を図１７に示す。図１７（ａ）（ｂ）は、ポリゴンが三角形状の場合のポリゴンモデルを示している。ポリゴンモデル上から選択された３つのポリゴンについて、それぞれのポリゴンの頂点の平均座標をもつ重心を結ぶことによりポリゴン間三角形が作成される（ａ）。さらに、ポリゴン間三角形を、各ポリゴンの法線ベクトルを用いて補正して補正ポリゴン間三角形を作成する（ｂ）。そして、補正ポリゴン間三角形の外接円を求める。図１７（ｂ）は、補正ポリゴン間三角形とその外接円半径の関係を示している。図１７において、下向きの矢印は、補正ポリゴン間三角形の外接円の半径を示している。
【０２１３】
＜２．６．度数分布の照合処理＞
次に、ステップＳ２００の度数分布の照合処理について説明する。図１８は、度数分布の照合処理を示すフローチャートである。まず、度数分布照合手段２０は、度数分布データベース４０に記憶されているＲＥ個のレコードの中からレコードｒｅ（ｒｅ＝０，・・・，ＲＥ−１）に登録されている度数分布を取得する（ステップＳ７１０）。度数分布として、外接円分布Ｈｄｏ（ｒｅ，ｍｄ）（ｍｄ＝０，・・・，ＭＤ−１）、面積比分布Ｈａｏ（ｒｅ，ｍａ）（ｍａ＝０，・・・，ＭＡ−１）、２次元度数分布Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）（ｍｕ，ｍｖ＝０，・・・，ＭＱ−１）を取得する。
【０２１４】
次に、度数分布照合手段２０は、対象モデルから算出された外接円分布と、取得された規制画像の外接円分布同士で各要素間の相関係数を算出する（ステップＳ７２０）。相関係数とは、二つの配列要素の関連性の強弱を示す指標である。ここでは、対象モデルと規制画像（または規制モデル）の類似性の強弱を判定するために用いる。まず、以下の〔数式３３〕に従った処理を実行することにより、対象モデルから算出された外接円分布Ｈｄ（ｍｄ）の平均値Ａｄ、度数分布データベース４０から抽出された規制画像の外接円分布Ｈｄｏ（ｒｅ，ｍｄ）の平均値Ａｄｏ（ｒｅ）を算出する。
【０２１５】
〔数式３３〕
Ａｄ＝Σmd=0,MD-1Ｈｄ（ｍｄ）／ＭＤ
Ａｄｏ（ｒｅ）＝Σmd=0,MD-1Ｈｄｏ（ｒｅ，ｍｄ）／ＭＤ
【０２１６】
続いて、以下の〔数式３４〕に従った処理を実行することにより、対象モデルから算出された外接円分布Ｈｄ（ｍｄ）の標準偏差Ｓｄ、度数分布データベース４０から抽出された規制画像の外接円分布Ｈｄｏ（ｒｅ，ｍｄ）の標準偏差Ｓｄｏ（ｒｅ）を算出する。
【０２１７】
〔数式３４〕
Ｓｄ＝[Σmd=0,MD-1（Ｈｄ（ｍｄ）−Ａｄ）2]1/2
Ｓｄｏ（ｒｅ）＝[Σmd=0,MD-1（Ｈｄｏ（ｒｅ，ｍｄ）−Ａｄｏ（ｒｅ））2]1/2
【０２１８】
厳密には、標準偏差は、上記〔数式３４〕の｛｝内において、さらに定数ＭＤで除算しておく必要がある。しかし、ここでは、相関係数を算出することが目的であるため、後述の〔数式３５〕における分子の共分散を算出する項においても定数ＭＤで除算する必要があり、分子と分母で重複して定数ＭＤで除算する演算がキャンセルされる（分母は定数ＭＤの平方根で２回除算）。次に、算出された平均値および標準偏差を用いて、以下の〔数式３５〕に従った処理を実行することにより、対象モデルの外接円分布とレコードｒｅに対応する規制画像の外接円分布の相関係数Ｄｄ（ｒｅ）を算出する。
【０２１９】
〔数式３５〕
Ｄｄ（ｒｅ）＝[Σmd=0,MD-1（Ｈｄ（ｍｄ）−Ａｄ）×（Ｈｄｏ（ｒｅ，ｍｄ）−Ａｄｏ（ｒｅ））]／（Ｓｄｏ（ｒｅ）×Ｓｄ）
【０２２０】
上記〔数式３５〕において、Σの添え字の“ｍｄ＝０，ＭＤ−１”は、ｍｄが０からＭＤ−１の全ての整数をとる場合について、総和を求めることを示している。相関係数Ｄｄ（ｒｅ）は、度数分布Ｈｄ（ｍｄ）、Ｈｄｏ（ｒｅ，ｍｄ）の共分散を、それぞれの標準偏差で除したものとなっている。上記〔数式３５〕の演算のように、分母の平方根の割算を２回行うのは一般に処理負荷が高い。このため、画像処理の分野においては、分子の積和演算だけで済ますものを「相関係数」と呼び、上記〔数式３５〕に示したＤｄ（ｒｅ）を「正規化相関係数」と呼ぶ習慣もある。尚、〔数式３５〕のように正規化相関係数を用いて照合を行う場合には、図６、図１６、図２３における３種の度数分布の正規化（Ｓ５１５、Ｓ６１４）を行わなくても、正規化相関係数の値は同一になるため、Ｓ５１５、Ｓ６１４の処理を省略することができる。（度数分布の絶対値は標準偏差の除算でキャンセルされる。ただし、画面で度数分布をグラフや画像でプロット表示する際は正規化処理が必要である。）逆に、３種の度数分布の正規化（Ｓ５１５、Ｓ６１４）が行われている場合は、分子の積和演算だけで済ます「相関係数」を算出すれば良い。
【０２２１】
次に、度数分布照合手段２０は、ステップＳ７２０において算出された外接円分布の相関係数Ｄｄ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ７３０）。相関係数Ｄｄ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、相関係数Ｄｄ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋２０．０（−１から＋１の範囲をとる相関係数値を１００倍して％次元で表現した場合）としてある。
【０２２２】
ステップＳ７３０において適合と判定された場合には、度数分布照合手段２０は、対象モデルから算出された面積比分布と、取得された規制画像の面積比分布同士で、各要素間の相関係数を算出する（ステップＳ７４０）。まず、以下の〔数式３６〕に従った処理を実行することにより、対象モデルから算出された面積比分布Ｈａ（ｍａ）の平均値Ａａ、取得された規制画像の面積比分布Ｈａｏ（ｒｅ，ｍａ）の平均値Ａａｏ（ｒｅ）を算出する。
【０２２３】
〔数式３６〕
Ａａ＝Σma=0,MA-1Ｈａ（ｍａ）／ＭＡ
Ａａｏ（ｒｅ）＝Σma=0,MA-1Ｈａｏ（ｒｅ，ｍａ）／ＭＡ
【０２２４】
続いて、以下の〔数式３７〕に従った処理を実行することにより、対象モデルから算出された面積比分布Ｈａ（ｍａ）の標準偏差Ｓａ、取得された規制画像の面積比分布Ｈａｏ（ｒｅ，ｍａ）の標準偏差Ｓａｏ（ｒｅ）を算出する。
【０２２５】
〔数式３７〕
Ｓａ＝[Σma=0,MA-1（Ｈａ（ｍａ）−Ａａ）2]1/2
Ｓａｏ（ｒｅ）＝[Σma=0,MA-1（Ｈａｏ（ｒｅ，ｍａ）−Ａａｏ（ｒｅ））2]1/2
【０２２６】
次に、算出された平均値および標準偏差を用いて、以下の〔数式３８〕に従った処理を実行することにより、対象モデルの面積比分布とレコードｒｅに対応する規制画像の面積比分布の相関係数Ｄａ（ｒｅ）を算出する。
【０２２７】
〔数式３８〕
Ｄａ（ｒｅ）＝[Σma=0,MA-1（Ｈａ（ｍａ）−Ａａ）×（Ｈａｏ（ｒｅ，ｍａ）−Ａａｏ（ｒｅ））]／（Ｓａｏ（ｒｅ）×Ｓａ）
【０２２８】
次に、度数分布照合手段２０は、ステップＳ７４０において算出された面積比分布の相関係数Ｄａ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ７５０）。相関係数Ｄａ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、相関係数Ｄａ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋２０．０（−１から＋１の範囲をとる相関係数値を１００倍して％次元で表現した場合）としてある。ステップＳ７５０において適合と判定された場合には、度数分布照合手段２０は、対象モデルの２次元度数分布と、規制画像の２次元度数分布で、各要素間の相関係数を算出する（ステップＳ７６０）。まず、以下の〔数式３９〕に従った処理を実行することにより、対象モデルの２次元度数分布Ｈｑ（ｍｕ，ｍｖ）の平均値Ａｑ、規制画像の２次元度数分布Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）の平均値Ａｑｏ（ｒｅ）を算出する。
【０２２９】
〔数式３９〕
Ａｑ＝Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑ（ｍｕ，ｍｖ）／ＭＱ2
Ａｑｏ（ｒｅ）＝Σmv=0,MQ-1Σmu=0,MQ-1Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）／ＭＱ2
【０２３０】
続いて、以下の〔数式４０〕に従った処理を実行することにより、対象モデルの２次元度数分布Ｈｑ（ｍｕ，ｍｖ）の標準偏差Ｓｑ、規制画像の２次元度数分布Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）の標準偏差Ｓｑｏ（ｒｅ）を算出する。
【０２３１】
〔数式４０〕
Ｓｑ＝[Σmv=0,MQ-1Σmu=0,MQ-1（Ｈｑ（ｍｕ，ｍｖ）−Ａｑ）2]1/2
Ｓｑｏ（ｒｅ）＝[Σmv=0,MQ-1Σmu=0,MQ-1（Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）−Ａｑｏ（ｒｅ））2]1/2
【０２３２】
次に、算出された平均値および標準偏差を用いて、以下の〔数式４１〕に従った処理を実行することにより、対象モデルの２次元度数分布とレコードｒｅに対応する規制画像の２次元度数分布の相関係数Ｄｑ（ｒｅ）を算出する。
【０２３３】
〔数式４１〕
Ｄｑ（ｒｅ）＝[Σmv=0,MQ-1Σmu=0,MQ-1（Ｈｑ（ｍｕ，ｍｖ）−Ａｑ）×（Ｈｑｏ（ｒｅ，ｍｕ，ｍｖ）−Ａｑｏ（ｒｅ））]／（Ｓｑｏ（ｒｅ）×Ｓｑ）
【０２３４】
次に、度数分布照合手段２０は、ステップＳ７６０において算出された２次元度数分布の相関係数Ｄｑ（ｒｅ）と、判定しきい値との比較を行う（ステップＳ７７０）。相関係数Ｄｑ（ｒｅ）が判定しきい値以上である場合は、適合と判定し、相関係数Ｄｑ（ｒｅ）が判定しきい値より小さい場合は、不適合と判定する。判定しきい値としては、正の値であれば任意に設定可能であるが、ここでは、＋３０．０（−１から＋１の範囲をとる相関係数値を１００倍して％次元で表現した場合）としてある。ステップＳ７５０において適合と判定された場合には、度数分布照合手段２０は、対象モデルとレコードｒｅの規制画像が適合することになるため、出力を規制すべきである（出力不適）との判定を行う。
【０２３５】
ステップＳ７３０、Ｓ７５０、Ｓ７７０のいずれかにおいて不適合と判定された場合には、度数分布照合手段２０は、対象モデルとレコードｒｅの規制画像の照合を終え、次のレコードｒｅ＋１の規制画像との照合に移行する。図１８のフローチャートに従った処理を、度数分布データベース４０内の全レコードに対して実行し、適合となる規制画像が１つでも存在したら、対象モデルを“出力を規制すべきである（出力不適）”としてステップＳ２００の照合処理を終了することになる。
【０２３６】
＜３．第２の実施形態＞
次に、第２の実施形態について説明する。上記第１の実施形態では、画像度数分布算出装置により事前に規制画像の度数分布を作成しておき、立体物造形用データ出力規制装置の度数分布データベースに登録しておくようにした。第２の実施形態では、度数分布を算出する中間のデータである特徴データを特徴データ算出装置により作成して特徴データベースに登録しておき、対象モデルに合わせて特徴データから上記３種の度数分布を作成し、照合まで行う。
【０２３７】
＜３．１．特徴データ算出装置の装置構成＞
まず、規制画像から度数分布を作成する画像度数分布算出装置について説明する。特徴データ算出装置は、画像度数分布算出装置３００と同様、図４に示すようなハードウェア構成をしており、汎用のコンピュータで実現することができる。図１９は、特徴データ算出装置の構成を示す機能ブロック図である。図１９において、９１は規制画像記憶手段、９４は特徴データ算出手段、９５は特徴データ記憶手段である。特徴データ算出手段９４は、規制対象の画像である規制画像に対して、規制画像内の対象物のエッジを構成する画素をエッジ点として抽出し、抽出されたエッジ点のうち選択された３つのエッジ点により特定される三角形であるエッジ点間三角形を、３つのエッジ点のエッジ方向ベクトルを用いて補正して補正エッジ点間三角形を得て、補正エッジ点間三角形、エッジ点間三角形を基に、度数分布の算出のための中間のデータである特徴データを算出する処理を行う。特徴データ記憶手段９５は、特徴データを記憶する。
【０２３８】
特徴データ算出手段９４は、ＣＰＵ８１が、記憶装置８３に記憶されているプログラムを実行することにより実現される。規制画像記憶手段９１は、第１の実施形態と同様、出力を規制すべき画像である規制画像を記憶した記憶手段であり、記憶装置８３により実現される。特徴データ記憶手段９５は、出力を規制すべき画像である規制画像に対して、３種の度数分布を算出するための中間のデータである特徴データを記憶して、データベース化したものであり、記憶装置８３により実現される。特徴データは、規制画像の特徴を表現したデータであり、特徴データにより、元の規制画像の相違を識別可能であるが、元の規制画像を復元できるわけではない。従って、特徴データは著作物に該当しない。特徴データ記憶手段９５には、特徴データだけでなく、特徴データの算出の基になった規制画像自体を登録しておけば類似性が判定された規制画像に対して目視で確認できるため、著作権者から許諾を受け、商用品質に値しない解像度で規制画像自体も登録されることが好ましい。
【０２３９】
図１９の機能ブロックに示した各構成手段は、現実には図４に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。
【０２４０】
図４に示した記憶装置８３には、ＣＰＵ８１を動作させ、コンピュータを、特徴データ算出装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ８１は、特徴データ算出手段９４としての機能を実現することになる。また、記憶装置８３は、規制画像記憶手段９１、特徴データ記憶手段９５として機能するだけでなく、特徴データ算出装置としての処理に必要な様々なデータを記憶する。
【０２４１】
＜３．２．特徴データ算出装置の処理動作＞
特徴データ算出装置の特徴データ算出手段９４は、出力を規制すべき画像である規制画像について、３種の度数分布を作成するための中間データである特徴データを算出する。図２０は、特徴データの算出処理の詳細を示すフローチャートである。図２０に示すように、ステップＳ５０１の各画素のエッジ強度とエッジ方向ベクトルの算出処理からステップＳ５０９のエッジ点間三角形と補正エッジ点間三角形の面積比反映値の算出処理までは、図６に示した規制画像に対する度数分布の算出処理と同様の処理を規制画像に対して行う。ステップＳ５０９の後は、算出された補正エッジ点間三角形の面積、外接円半径、補正エッジ点間三角形とエッジ点間三角形の面積比反映値を各規制画像の特徴データとして、特徴データ記憶手段９５に保存する（ステップＳ５１６）。
【０２４２】
特徴データが保存されたら、次に、ループカウンタＬＣが規定値ＬＫ以上であるかどうかを判定する（ステップＳ５１３）。判定の結果、ループカウンタＬＣが規定値ＬＫ未満である場合は、２つのグループの配列を１だけずらす処理を行う（ステップＳ５１４）。ステップＳ５１４において、２つのグループの配列をずらした後、２つのグループともう１つのグループのエッジ点の組み合わせを１回目とは変えて、ステップＳ５０６〜ステップＳ５０９、ステップＳ５１６の処理を実行し、特徴データとして各補正エッジ点間三角形の面積、各補正エッジ点間三角形の外接円半径、面積比反映値を算出し、特徴データ記憶手段９５に保存する。ステップＳ５０６〜ステップＳ５０９、ステップＳ５１６の各補正エッジ点間三角形の面積、各補正エッジ点間三角形の外接円半径、面積比反映値の算出処理、特徴データの保存処理は、規定値ＬＫとして設定された所定回数だけ繰り返される。規定値ＬＫとしては、適宜設定することが可能であるが、エッジ点総数Ｎｅ＝１００００の場合、ＬＫ＝１０程度である。
【０２４３】
すなわち、各補正エッジ点間三角形の面積、各補正エッジ点間三角形の外接円半径、面積比反映値を１回算出するごとに、３つのグループのうち２つのグループ内のエッジ点の順序を変化させて、各補正エッジ点間三角形の面積、各補正エッジ点間三角形の外接円半径、面積比反映値を改めて算出する処理を繰り返し行うことになる。ループカウンタＬＣが規定値ＬＫに達した場合、ステップＳ５１３において、ループカウンタＬＣが規定値ＬＫ以上であると判定されるため、図２０に示す特徴データの算出、保存処理を終了する。
【０２４４】
＜３．３．立体物造形用データ出力規制装置の構成＞
次に、本発明第２の実施形態に係る立体物造形用データ出力規制装置について説明する。図２１は、本発明第２の実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図２１において、１０はモデル度数分布算出手段、２０は度数分布照合手段、３０は対象モデル記憶手段、４２は特徴データベース、１９は画像度数分布算出手段である。図２１において、図１４と同等の機能を有するものについては、同一符号を付して詳細な説明を省略する。
【０２４５】
モデル度数分布算出手段１０は、図１４に示したものと同様、対象モデル内のポリゴンを基に作成された補正ポリゴン間三角形の外接円半径と、補正ポリゴン間三角形とポリゴン間三角形の面積比反映値を算出し、算出結果である外接円半径の度数分布である外接円分布と、面積比反映値の度数分布である面積比分布と、２次元度数分布を算出する処理を行う。画像度数分布算出手段１９は、特徴データベース４２に登録されている特徴データを抽出し、特徴データに含まれる補正エッジ点間三角形の外接円半径と、補正エッジ点間三角形とエッジ点間三角形の面積比反映値を用いて、外接円半径の度数分布である外接円分布と、面積比反映値の度数分布である面積比分布と、２次元度数分布を算出する処理を行う。度数分布照合手段２０は、図１４に示したものと同様、対象モデルについて算出された外接円分布、面積比分布、２次元度数分布と、規制画像について算出された外接円分布、面積比分布、２次元度数分布をそれぞれ照合し、出力を規制すべきか否か、すなわち出力不適であるか出力適正であるかを判定する。
【０２４６】
モデル度数分布算出手段１０、画像度数分布算出手段１９、度数分布照合手段２０は、図１３に示したＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段３０は、図１４に示したものと同様、対象モデルを記憶した記憶手段であり、記憶装置３により実現される。特徴データベース４２は、特徴データ算出装置により算出され、特徴データ記憶手段９５に保存された特徴データを記憶した記憶手段であり、記憶装置３により実現される。
【０２４７】
図２１に示した各構成手段は、現実には図１３に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。図１３に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、モデル度数分布算出手段１０、画像度数分布算出手段１９、度数分布照合手段２０としての機能を実現することになる。また、記憶装置３は、対象モデル記憶手段３０、特徴データベース４２として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。
【０２４８】
＜３．４．処理動作＞
次に、図２１に示した立体物造形用データ出力規制装置の処理動作について説明する。図２２は、図２１に示した立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、モデル度数分布算出手段１０が、ポリゴンモデルである対象モデルについて、３種の度数分布である外接円分布、面積比分布、２次元度数分布を算出する（ステップＳ１００）。そして、画像度数分布算出手段１９が特徴データベース４２に登録された特徴データから規制画像の度数分布を算出する（ステップＳ１５０）。そして、度数分布照合手段２０が、算出された対象モデルの度数分布と、算出された規制画像の度数分布との照合を行う（ステップＳ２００）。ステップＳ１００およびステップＳ２００における処理は、第１の実施形態と同じである。
【０２４９】
第１の実施形態と異なるステップＳ１５０の規制画像の度数分布の算出処理について説明する。図２３は、ステップＳ１５０の規制画像の度数分布の算出処理の詳細を示すフローチャートである。具体的には、まず、初期設定を行う（ステップＳ５１７）。具体的には、算出する外接円分布、面積比分布、２次元度数分布の初期化、ループカウンタの初期化、対象モデルの最大外接円半径Ｄｍａｘの取得を行う。対象モデルの最大外接円半径Ｄｍａｘの取得以外は、規制画像に対するステップＳ５０５の初期設定と同様の処理となる。
【０２５０】
次に、特徴データベース４２に登録されている特徴データを取得する（ステップＳ５１８）。取得した特徴データを用いて、図６のフローチャートで説明した場合と同様、ステップＳ５１０〜ステップＳ５１２の処理を実行し、外接円分布、面積比分布、２次元度数分布の３種の度数分布を作成する。
【０２５１】
外接円分布、面積比分布、２次元度数分布が算出されたら、次に、ループカウンタＬＣが規定値ＬＫ以上であるかどうかを判定する（ステップＳ５１３）。判定の結果、ループカウンタＬＣが規定値ＬＫ未満である場合は、２つのグループの配列を１だけずらす処理を行う（ステップＳ５１４）。ステップＳ５１０〜ステップＳ５１２の外接円分布、面積比分布、２次元度数分布の算出処理は、規定値ＬＫとして設定された所定回数だけ繰り返される。規定値ＬＫとしては、適宜設定することが可能であるが、エッジ点総数Ｎｅ＝１００００の場合、ＬＫ＝１０程度である。
【０２５２】
すなわち、外接円分布、面積比分布、２次元度数分布を１回算出するごとに、３つのグループのうち２つのグループ内のエッジ点の順序を変化させて、外接円分布、面積比分布、２次元度数分布を改めて算出する処理を繰り返し行うことになる。ループカウンタＬＣが規定値ＬＫに達した場合、ステップＳ５１３において、ループカウンタＬＣが規定値ＬＫ以上であると判定されるため、３種の度数分布の正規化を行う（ステップＳ５１５）。第２の実施形態では、対象モデルの度数分布とデータベースに登録されている規制画像の特徴データを照合する際、規制画像の特徴データから度数分布を算出する処理が追加されるが、照合対象の対象モデルに合わせて、〔数式１５〕から〔数式１７〕における規制画像のスケーリング補正係数βを微調整することができ、より精度の高い照合が実現できる。
【０２５３】
＜４．第３の実施形態＞
次に、第３の実施形態について説明する。上記第１の実施形態では、画像度数分布算出装置により事前に規制画像の度数分布を作成しておき、立体物造形用データ出力規制装置の度数分布データベースに登録しておくようにした。続く上記第２の実施形態では、度数分布を算出する中間のデータである特徴データを特徴データ算出装置により作成して特徴データベースに登録しておき、対象モデルに合わせて特徴データから上記３種の度数分布を作成し、照合まで行うようにした。第２の実施形態では、対象モデルの度数分布とデータベースに登録されている規制画像の特徴データを照合する際、規制画像の特徴データから度数分布を算出する処理が追加されるが、照合対象の対象モデルに合わせて、〔数式１５〕から〔数式１７〕における規制画像のスケーリング補正係数βを微調整することができ、より精度の高い照合が実現できるという利点があった。この時、規制画像に対して著作権許諾が得られれば、規制画像そのものをデータベースに登録する方法もとることができ、第２の実施形態と同様な効果を得ることができる。即ち第３の実施形態として、規制画像そのものを規制画像データベースに登録しておき、規制画像からリアルタイムにその場で上記３種の度数分布を作成し、照合まで行う。
【０２５４】
＜４．１．装置構成＞
図２４は、本発明第３の実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図２４において、１０はモデル度数分布算出手段、２０は度数分布照合手段、３０は対象モデル記憶手段、４１は規制画像データベース、９２は画像度数分布算出手段である。図２４において、図５、図１４と同等の機能を有するものについては、同一符号を付して詳細な説明を省略する。
【０２５５】
モデル度数分布算出手段１０は、図１４に示したものと同様、対象モデル内のポリゴンを基に作成された補正ポリゴン間三角形の外接円半径と、補正ポリゴン間三角形とポリゴン間三角形の面積比反映値を算出し、算出結果である外接円半径の度数分布である外接円分布と、面積比反映値の度数分布である面積比分布と、２次元度数分布を算出する処理を行う。画像度数分布算出手段９２は、図５に示したものと同様、規制画像内のエッジ点を基に作成された補正エッジ点間三角形の外接円半径と、補正エッジ点間三角形とエッジ点間三角形の面積比反映値を算出し、算出結果である外接円半径の度数分布である外接円分布と、面積比反映値の度数分布である面積比分布と、２次元度数分布を算出する処理を行う。度数分布照合手段２０は、図１４に示したものと同様、対象モデルについて算出された外接円分布、面積比分布、２次元度数分布と、規制画像について算出された外接円分布、面積比分布、２次元度数分布をそれぞれ照合し、出力を規制すべきか否か、すなわち出力不適であるか出力適正であるかを判定する。
【０２５６】
モデル度数分布算出手段１０、画像度数分布算出手段９２、度数分布照合手段２０は、図１３に示したＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段３０は、図１４に示したものと同様、対象モデルを記憶した記憶手段であり、記憶装置３により実現される。規制画像データベース４１は、規制画像を記憶した記憶手段であり、記憶装置３により実現される。
【０２５７】
図２４に示した各構成手段は、現実には図１３に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。図１３に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、モデル度数分布算出手段１０、画像度数分布算出手段９２、度数分布照合手段２０としての機能を実現することになる。また、記憶装置３は、対象モデル記憶手段３０、規制画像データベース４１として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。
【０２５８】
＜４．２．処理動作＞
次に、図２４に示した立体物造形用データ出力規制装置の処理動作について説明する。図２５は、図２４に示した立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、モデル度数分布算出手段１０が、対象モデルについて、３種の度数分布である外接円分布、面積比分布、２次元度数分布を算出する（ステップＳ１００）。次に、画像度数分布算出手段９２が、規制画像について、３種の度数分布である外接円分布、面積比分布、２次元度数分布を算出する（ステップＳ３００）。そして、算出された対象モデルの度数分布と、規制画像の度数分布との照合を行う（ステップＳ２００）。ステップＳ３００の画像度数分布の算出処理、ステップＳ２００の度数分布の照合処理は、照合処理において、出力すべきでない（出力不適）と判定された場合か、全ての規制画像との照合において不適合となって、出力適正と判定された場合に終了する。ステップＳ３００における画像度数分布の算出処理は、ステップＳ１５０の画像度数分布の算出処理とは異なり、特徴データからでなく、規制画像から直接度数分布を算出する処理である。ステップＳ１００、ステップＳ２００における処理は、図１５に示したものと同様であるので詳細な説明は省略する。また、ステップＳ３００における処理は、図６に示した画像度数分布の算出処理と同様であるので詳細な説明は省略する。
【０２５９】
＜５．３Ｄプリンタへのデータ出力＞
上記ステップＳ２００において、度数分布照合手段２０により“出力を規制すべきでない（出力適正）”と判定された場合には、立体物造形装置である３Ｄプリンタ７へ対象モデルを出力する。すなわち、立体物造形用データ出力規制装置で出力が許可されたポリゴンモデルである対象モデルを、立体物を造形する立体物造形装置に出力する。一方、度数分布照合手段２０により“出力を規制すべきである（出力不適）”と判定された場合には、立体物造形装置である３Ｄプリンタ７へ対象モデルを出力しない。また、出力適正か出力不適かの判定に時間がかかる場合には、３Ｄプリンタ７に対象モデルを出力し、３Ｄプリンタ７の出力処理(立体物造形処理)と並行して出力適正か出力不適かの判定を行い、出力不適である場合に出力中止命令を３Ｄプリンタ７に出力するようにしてもよい。この際、利用者から見れば、対象モデルの出力という一つの命令を行うことにより、３Ｄプリンタにおける立体物造形処理が開始されることが確認できるだけで、並行して出力適正か出力不適かの判定のための処理の実行が開始されることは気付かない。
【０２６０】
＜６．規制画像および規制モデルの度数分布算出および登録について＞
応用例として、度数分布照合手段２０を備えた立体物造形用データ出力規制装置とは別の場所で、規制画像および規制モデルに対して算出された外接円分布、面積比分布、２次元度数分布、または特徴データを、立体物造形用データ出力規制装置にネットワークを介して送信して登録するようにしてもよい。
【０２６１】
図２６は、応用例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。図２６に示した立体物造形システムにおいて、立体物造形用データ出力規制装置１０１は、図１３に示した立体物造形用データ出力規制装置１００の構成に、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８を備えた構成となっている。画像度数分布算出装置３０１は、汎用のコンピュータで実現することができ、図２６に示すように、ＣＰＵ（Central Processing Unit）１ａと、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２ａと、ＣＰＵ１ａが実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３ａと、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４ａと、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５ａと、液晶ディスプレイ等の表示デバイスである表示部６ａと、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８ａを備え、互いにバスを介して接続されている。立体物造形用データ出力規制装置１０１のネットワーク通信部８と画像度数分布算出装置３０１のネットワーク通信部８ａは互いに通信を行い、画像度数分布算出装置３０１から立体物造形用データ出力規制装置１０１へ規制画像に対して算出された３種の度数分布の送信を行うことが可能になっている。
【０２６２】
図２６では、立体物造形用データ出力規制装置１０１と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１０１の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力Ｉ／Ｆ４を兼ねることも多い）、ネットワーク通信部８（無線ＬＡＮ機能）も小規模ながら重複して備えている。従って、３Ｄプリンタ７自体が外部記憶媒体やインターネット経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの形態の方が多い）。すなわち、図２６に示した立体物造形用データ出力規制装置１０１および３Ｄプリンタ７を１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【０２６３】
画像度数分布算出装置３０１においては、ＣＰＵ１ａが、記憶装置３ａに記憶されているプログラムを実行することにより、度数分布算出手段、度数分布送信手段が実現される。画像度数分布算出装置３０１で実現される度数分布算出手段は、画像度数分布算出装置３００、立体物造形用データ出力規制装置１００における画像度数分布算出手段９２と同様の機能を有し、規制画像に対して３種の度数分布として外接円分布、面積比分布、２次元度数分布を算出する。度数分布送信手段は、規制画像について算出された３種の度数分布である外接円分布、面積比分布、２次元度数分布を立体物造形用データ出力規制装置１０１に送信する。立体物造形用データ出力規制装置１０１では、ネットワーク通信部８が、画像度数分布算出装置３０１から度数分布を受信すると、ＣＰＵ１が所定のプログラムを実行して度数分布登録手段として機能し、受信した度数分布を記憶装置３で実現される度数分布データベース４０に登録する。なお、画像度数分布算出装置３０１に代えて、特徴データ算出装置を用いるようにすることもできる。この場合、特徴データ算出装置においては、ＣＰＵ１ａが、記憶装置３ａに記憶されているプログラムを実行することにより、特徴データ算出手段、特徴データ送信手段が実現される。ここで実現される特徴データ算出手段は、特徴データ算出手段９４と同様の機能を有し、規制画像に対して３種の度数分布の中間データである特徴データを算出する。特徴データ送信手段は、規制画像について算出された特徴データを立体物造形用データ出力規制装置１０１に送信する。立体物造形用データ出力規制装置１０１では、ネットワーク通信部８が、画像度数分布算出装置３０１から特徴データを受信すると、ＣＰＵ１が所定のプログラムを実行して特徴データ登録手段として機能し、受信した特徴データを記憶装置３で実現される特徴データベース４２に登録する。
【０２６４】
＜７．クラウド型の立体物造形システム＞
本発明は、クラウド型の立体物造形システムに適用することも可能である。「クラウド型の立体物造形システム」とは、ユーザが出力依頼する対象モデルをクラウドに上げると、クラウド上で出力可否の審査を行い（人手による目視審査、３Ｄプリンタ出力整合性検査も含む）、許可された対象モデルの立体物造形をクラウド上の３Ｄプリンタで出力して、出力造形物を依頼者に返却するという３Ｄプリンタ受託出力サービスの意味で一般に使用されるが、本願では、前者の出力可否の審査をクラウド上の遠隔地のコンピュータで実施することにフォーカスしており、立体物造形（３Ｄプリンタ出力）をクラウド上で行うことは必須ではない。図２７は、クラウド型の立体物造形システムのハードウェア構成図である。図２７に示した立体物造形システムでは、出力制御用端末２０１と処理サーバ２０２により立体物造形用データ出力規制装置が実現される。図２７に示した立体物造形システムにおいて、出力制御用端末２０１は、図２６において立体物造形用データ出力規制装置１０１として示したコンピュータと同等のハードウェア構成を有する。すなわち、出力制御用端末２０１は、ＣＰＵ１１、ＲＡＭ１２、記憶装置１３、キー入力Ｉ／Ｆ１４、データ入出力Ｉ／Ｆ１５、表示部１６、ネットワーク通信部１８を備え、互いにバスを介して接続されている。
【０２６５】
処理サーバ２０２は、汎用のコンピュータに専用のプログラムを組み込むことにより実現することができる。図２７に示すように、ＣＰＵ１１ａ、ＲＡＭ１２ａ、記憶装置１３ａ、キー入力Ｉ／Ｆ１４ａと、データ入出力Ｉ／Ｆ１５ａと、表示部１６ａと、ネットワーク通信部１８ａを備え、互いにバスを介して接続されている。出力制御用端末２０１のネットワーク通信部１８と処理サーバ２０２のネットワーク通信部１８ａは互いに通信を行い、処理サーバ２０２から出力制御用端末２０１へ出力適否の判定に基づく出力適否データの送信を行うことが可能になっている。図２７では、出力制御用端末２０１と３Ｄプリンタ７は分離した形態で示されているが、図２６の例と同様、３Ｄプリンタ製品に出力制御用端末２０１の構成要素である、ＣＰＵ１１、ＲＡＭ１２、記憶装置１３、キー入力Ｉ／Ｆ１４、データ入出力Ｉ／Ｆ１５、表示部１６、ネットワーク通信部１８を重複して備えていてもよい。
【０２６６】
図２８は、クラウド型の立体物造形システムの機能ブロック図である。クラウド型の立体物造形システムを構成する処理サーバ２０２は、図１４に示した立体物造形用データ出力規制装置の各手段に加えて、対象モデル受信手段５０、出力適否データ送信手段６０を備えた構成となっている。対象モデル記憶手段３１は、対象モデル自体ではなく、対象モデルについて算出された３種の度数分布を記憶する。また、モデル度数分布算出手段１０は、処理サーバ２０２ではなく、出力制御用端末２０１が備えた構成となっている。
【０２６７】
図１４に示した立体物造形用データ出力規制装置と同等の機能を有するものについては、同一符号を付して説明を省略する。対象モデル受信手段５０は、出力制御用端末２０１から送信された対象モデルの３種の度数分布を受信して対象モデル記憶手段３１に登録する手段であり、ＣＰＵ１１ａが所定のプログラムを実行するとともに、ネットワーク通信部１８ａを制御することにより実現される。出力適否データ送信手段６０は、度数分布照合手段２０により判定された“出力を規制すべきであるか否か”に基づき、出力適否データを出力制御用端末２０１に送信する手段であり、ＣＰＵ１１ａが所定のプログラムを実行するとともに、ネットワーク通信部１８ａを制御することにより実現される。
【０２６８】
処理サーバ２０２は、インターネット等のネットワークに接続されたクラウド型コンピュータであり、多数の出力制御用端末からアクセス可能になっている。従来のサーバ型コンピュータでは多数の利用者のアクセスが集中すると応答性が遅くなり利用者に迷惑をかけることが多かったが、クラウド型では仮想化技術によりコンピュータの物理的構成を動的に変更することが可能になるため、常に安定した応答性を維持できるという特徴がある。処理サーバ２０２は物理的には複数台のコンピュータにより実現されるのが一般的である。
【０２６９】
図２７、図２８に示したクラウド型の立体物造形システムの処理動作について説明する。出力制御用端末２０１において、利用者がキー入力Ｉ／Ｆ１４を介して出力したい対象モデルを指定すると、ＣＰＵ１１は、記憶装置１３に記憶されている指定された対象モデルを抽出し、対象モデルを特定する識別情報であるモデルＩＤを付与する。そして、ＣＰＵ１１は、モデルＩＤが付与された対象モデルに対して、図１６に示したフローチャートに従って、モデル度数分布算出手段１０が処理を行い、外接円分布、面積比分布、２次元度数分布で構成される３種の度数分布を生成する。さらにＣＰＵ１１は、生成された３種の度数分布を、記憶装置１３に事前に設定されているＵＲＬ等のアドレス宛に、ネットワーク通信部１８を介して送信する。ポリゴンデータ（ポリゴンモデル）に比べ情報量が顕著に少ない３種の度数分布を送信する方法をとることにより、伝送時間が大幅に短縮されるだけでなく、処理サーバ２０２側には著作物であるポリゴンデータが送信されず、処理サーバ２０２側に複製物が残らないため、著作権侵害を回避することができる。
【０２７０】
並行してＣＰＵ１１は、モデルＩＤが付与された対象モデルを、データ入出力Ｉ／Ｆ１５を介して３Ｄプリンタ７のデータ処理部７ａに送信する。データ処理部７ａ内のプリンタキューには、出力制御用端末２０１から受信した対象モデルが保持され、出力ジョブとして待機状態となる。この時、３Ｄプリンタ出力における前処理であるポリゴン形式のデータを積層形式のデータに変換する処理のみ実行させるようにし、積層形式のデータに変換された段階で待機状態にする手法もとることができる。このデータ処理負荷もそれなりに高いため、この間に出力適否判定が完了すれば、利用者側に余分な待ち時間を感じさせないようにすることができる。
【０２７１】
処理サーバ２０２では、対象モデル受信手段５０が、出力制御用端末２０１から送信された対象モデルの３種の度数分布を受信すると、その３種の度数分布を対象モデル記憶手段３１に記憶する。ここで、図１８に示したフローチャートに従って、度数分布照合手段２０が処理を行い、受信した３種の度数分布に対応する対象モデルの出力適否を判定する。出力適否の結果である出力適否データは、度数分布照合手段２０から出力適否データ送信手段６０に渡される。そして、出力適否データ送信手段６０は、３種の度数分布の送信元（アクセス元）である出力制御用端末２０１に、モデルＩＤを付加した出力適否データを送信する。
【０２７２】
出力制御用端末２０１では、ネットワーク通信部１８が、処理サーバ２０２から出力適否データを受信すると、ＣＰＵ１１が、受信した出力適否データを、データ入出力Ｉ／Ｆ１５を介して３Ｄプリンタ７のデータ処理部７ａに送信する。データ処理部７ａは、受信した出力適否データに付与されたモデルＩＤでプリンタキュー内の出力ジョブを参照する。そして、出力適否データが“適（出力適正）”である場合、データ処理部７ａは、その出力ジョブを待機状態から出力状態に変更し、出力部７ｂに対象モデルを出力する。これは、出力を規制すべきでないと判定された場合を示している。一方、出力適否データが“否（出力不適）”である場合、データ処理部７ａは、その出力ジョブを破棄する。すなわち、プリンタキューから削除する。なお、図２８の構成において、度数分布データベース４０に代えて、特徴データベース４２を備え、さらに画像度数分布算出手段１９を備える構成とすることもできる。この場合、第２の実施形態のように、特徴データベース４２に登録された特徴データから画像度数分布算出手段１９が度数分布を算出し、対象モデルの度数分布と照合を行う。
【０２７３】
＜８．変形例等＞
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象の規制画像をモノクロ２５６階調の画素で表現されたラスター形式としたが、ベクトル形式のイラスト画像であってもよく、その場合はエッジ線が与えられるため、フィルタ演算によるエッジ点抽出の処理を簡素化できる。
【０２７４】
また、上記実施形態では、処理対象のポリゴンを三角形状としたが、四角形状以上の多角形状であってもよい。また、規制モデルおよび対象モデルともポリゴンモデルでなく、ＳＴＬ形式の後継規格として検討されているＡＭＦ(Additive Manufacturing File)、ＦＡＶ(FAbricatable Voxel、富士ゼロックス・慶応大学が規格提案しているフォーマット)など、曲面形状やボクセル形式で記述される３Ｄデータであっても、特徴点を３点ランダムに選定して同様に、ポリゴン間三角形を構成し、外接円分布、面積比分布、２次元度数分布を算出して照合を行うことが可能である。
【０２７５】
また、上記実施形態では、データベースに、規制画像の度数分布、規制モデルの度数分布、規制画像または規制モデルの特徴データを登録しておき、対象モデルから作成した度数分布と照合するようにしたが、規制モデルの度数分布や特徴データについては、必ずしも登録、照合を行う必要はない。また、データベースに規制画像自体も登録することを推奨しているが、許諾が得られなければ登録しなくてもよい。また、規制モデル自体については登録しないことを推奨しているが、許諾が得られれば登録してもよい。
【０２７６】
また、上記実施形態では、３種の度数分布として外接円分布、面積比分布、２次元度数分布を用いて照合を行うようにしたが、１次元の外接円分布、面積比分布を用いず、２次元度数分布のみを用いて照合を行い、出力適否を判定するようにしてもよい。外接円分布、面積比分布の一方あるいは双方を用いた場合には、より照合の精度は高まるが、２次元度数分布のみであっても高い精度で出力適否を判定することができる。
【０２７７】
また、上記実施形態では、ポリゴン間三角形を構成するためのポリゴン上の一点として、ポリゴンの各頂点の平均座標をもつポリゴン重心を用いた。重心を用いると三角形形状に限定されず、任意の頂点数をもつポリゴンにも適用可能であるが、ポリゴン上の点であれば、ポリゴン重心以外の点であってもよい。例えば、ポリゴン上の点としては、ポリゴンが三角形である場合、内心・外心・垂心・傍心等を用いることができる。
【符号の説明】
【０２７８】
１、１ａ、１１、１１ａ、８１・・・ＣＰＵ（Central Processing Unit）
２、２ａ、１２、１２ａ、８２・・・ＲＡＭ（Random Access Memory）
３、３ａ、１３、１３ａ、８３・・・記憶装置
４、４ａ、１４、１４ａ、８４・・・キー入力Ｉ／Ｆ
５、５ａ、１５、１５ａ、８５・・・データ入出力Ｉ／Ｆ
６、６ａ、１６、１６ａ、８６・・・表示部
７・・・３Ｄプリンタ（立体物造形装置）
７ａ・・・データ処理部
７ｂ・・・出力部
８、８ａ、１８、１８ａ・・・ネットワーク通信部
１０・・・モデル度数分布算出手段
１９・・・画像度数分布算出手段
２０・・・度数分布照合手段
３０、３１・・・対象モデル記憶手段
４０・・・度数分布データベース
４１・・・規制画像データベース
４２・・・特徴データベース
５０・・・対象モデル受信手段
６０・・・出力適否データ送信手段
９１・・・規制画像記憶手段
９２・・・画像度数分布算出手段
９３・・・画像度数分布記憶手段
９４・・・特徴データ算出手段
９５・・・特徴データ記憶手段
１００、１０１・・・立体物造形用データ出力規制装置
２０１・・・出力制御用端末
２０２・・・処理サーバ
３００、３０１・・・画像度数分布算出装置
【図１】
2019022964.tif 000003
【図２】
2019022964.tif 000004
【図３】
2019022964.tif 000005
【図４】
2019022964.tif 000006
【図５】
2019022964.tif 000007
【図６】
2019022964.tif 000008
【図７】
2019022964.tif 000009
【図８】
2019022964.tif 000010
【図９】
2019022964.tif 000011
【図１０】
2019022964.tif 000012
【図１１】
2019022964.tif 000013
【図１２】
2019022964.tif 000014
【図１３】
2019022964.tif 000015
【図１４】
2019022964.tif 000016
【図１５】
2019022964.tif 000017
【図１６】
2019022964.tif 000018
【図１７】
2019022964.tif 000019
【図１８】
2019022964.tif 000020
【図１９】
2019022964.tif 000021
【図２０】
2019022964.tif 000022
【図２１】
2019022964.tif 000023
【図２２】
2019022964.tif 000024
【図２３】
2019022964.tif 000025
【図２４】
2019022964.tif 000026
【図２５】
2019022964.tif 000027
【図２６】
2019022964.tif 000028
【図２７】
2019022964.tif 000029
【図２８】
2019022964.tif 000030