[1.基本原理]
以下、本発明を実施するための最良の実施形態について、図面に基づいて説明するが、それに先立ち、実施形態における基本原理について、図1を用いて説明する。
図1(a)、(b)及び(c)は、毛穴を有する天然皮革の表面の凹凸パターンの例を示す図であり、図1(d)は、図1(a)の一部を拡大した図である。各図ともに、黒色で表現されている斑点は毛穴を示しており、皮革表面に対する法線方向における高度が、白色で表現されている部分よりも低くなっている。つまり、黒色で表現された斑点が、皮革表面における凹部である。なお、毛穴の凹形状は、通常なだらかに形成されている場合が多いが、図1においては、説明の便宜上、黒色と白色の2値で高度を表現している。
ここで、図1(d)の例においては、3個の毛穴が密集しており、この密集している毛穴でグループを形成していることが分かる(図中、各グループを、破線の楕円で囲んで示している。)。或るグループ内の毛穴から他のグループ内の毛穴までの距離は、通常グループ内の毛穴同士の距離よりも長いため、遠目でこの皮革表面を眺めると、このグループ自体が、一つの毛穴のように見える場合がある。以下、このグループのことを、複合毛包(毛穴グループの一例)と呼ぶ。
図1(d)に示すように、複合毛包内における毛穴の数及び配置は、複合毛包間において類似性があることが見てとれる。つまり、複合毛包内における毛穴の配置パターンが見えるのである。また、図1(a)、(b)及び(c)に示すように、複合毛包の配置についても、皮革毎にパターンが見られる。例えば、図1(a)の場合においては、紙面上方向を角度0とすると、右約50度の方向に複合毛包が連なっているように見える。
以下に説明する実施形態においては、実物の皮革から、複合毛包の配置パターンと複合毛包内における毛穴の配置パターンとを読み取り、これらの配置パターンに従って、新たな皮革形状データを生成するようになっている。
具体的には、各複合毛包についてその複合毛包に隣接する複合毛包を特定し、複合毛包点を原点として、この複合毛包に隣接する複合毛包の相対的な位置(2次元座標で表現される)を求め、この相対的な位置を確率変数として、隣接する複合毛包の出現確率分布、すなわち、隣接する複合毛包が、どの位置にどのような確率で配置されるかを示す複合毛包分布図(毛穴グループ分布データの一例)を生成し、これを複合毛包の配置パターンとする。
また、複合毛包内における各毛穴の位置を求め、複合毛包内における位置を確率変数として、各毛包の出現確率分布、すなわち、複合毛包内の各毛穴が、当該複合毛包内においてどの位置にどのような確率で配置されるかを示す毛穴分布図(毛穴分布データの一例)を生成し、これを毛穴の配置パターンとする。
そして、実施形態においては、複合毛包分布図が示す出現確率分布を重み付けとしてランダムに複合毛包を配置し、各複合毛包内に、毛穴分布図が示す出現確率分布を重み付けとしてランダムに毛穴を配置していく。これにより、皮革表面の凹凸形状を示す皮革形状データが生成される。
このようにして生成された皮革形状データは、実物の皮革における複合毛包の配置パターンと複合毛包内における毛穴の配置パターンの特徴をとらえたデータであることは無論である。また、新たに生成する皮革形状データの画像サイズをどのような大きさにしたとしても、皮革表面の凹凸形状を自然に表現することができる。
また、実施形態においては、複数の皮革の特徴をかけあわせて皮革形状データを生成する。このとき、皮革表面の凹凸形状の特徴は、複合毛包の配置パターンに特に依存することから、実施形態においては、夫々の皮革の複合毛包の配置パターンをかけあわせるのである。
具体的には、複合毛包分布図が示す出現確率分布の近似式を予め用意しておくとともに、この近似式に用いるパラメータ(以下、「特徴パラメータ」と称する)を、特徴をかけあわせる皮革夫々について、前もって算出し、保存しておく。そして、保存してある特徴パラメータを合成して、この合成された特徴パラメータを用いて、近似式により、出現確率分布を算出し、新たな複合毛包分布図を生成する。
この新たな複合毛包分布図に従うことにより、複数の皮革の特徴をかけあわせたような皮革形状データを生成することができる。
[2.実施形態]
次に、皮革形状データ生成装置に対して本発明を適用した場合の実施形態について説明する。
[2.1 皮革形状データ生成装置の構成及び機能概要]
先ず、図2を参照して、本実施形態に係る皮革形状データ生成装置の構成及び概要機能について説明する。
図2は、本実施形態に係る皮革形状データ生成装置Sの概要構成例を示す図である。
図2に示すように、本実施形態に係る皮革形状データ生成装置Sは、CPU(Central Processing Unit)17、ROM(Read Only Memory)18、RAM(Random Access Memory)19等を備える制御部10と、各種プログラム(例えば、皮革形状生成データプログラム)及びデータ等を記憶する記憶手段の一例としての記憶部20(例えば、ハードディスクドライブ等)と、を含んで構成されている。そして、制御部10は、形状測定装置の一例としての3次元入力装置1、外部入力装置2(例えば、キーボード、マウス等)及び表示装置3(例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ等)と接続されている。皮革形状データ生成装置Sとしては、例えば、パーソナルコンピュータなどを適用することができる。
3次元入力装置1は、皮革表面の3次元座標を、数μmから数十μmピッチで測定して、測定対象物である皮革表面の皮革形状データを生成し、この皮革形状データを、皮革形状データ生成装置に対して出力するようになっている。
この皮革形状データの形式は、所謂、ハイトフィールドと呼ばれるものである。具体的に、この形式においては、測定された皮革表面上の或る位置を原点として、この原点を通り且つ皮革表面と略平行する平面上の各座標における皮革表面の高度を、2次元配列で表現したものである。この高度は、例えば、0〜255の256段階で表され、0を黒色、255を白色、1〜254を、それぞれの値に応じた灰色で表現すると、ハイトフィールドにより、皮革表面の凹凸形状を、グレースケールの2次元画像で表現することができる。
この3次元入力装置1としては、例えば、レーザーを利用した非接触式計測装置(例えば、3次元スキャナー)や、針を利用した接触式計測装置を適用することができる。
また、3次元入力装置1としては、2次元スキャナーを適用することもできる。2次元スキャナーは、本来、2次元平面上の反射率から、対象物の濃淡値を測定する装置であるが、皮革表面の形状のような微細な凹凸形状を測定した場合、この凹凸形状の傾きによって反射率が変化することから、この変化から、対象物の凹凸形状をとらえることができる。
なお、2次元スキャナーを適用した場合には、3次元スキャナー等と比較して、システムを安価に構成することができるが、測定精度は低くなる。
制御部10は、3次元入力装置制御部11と、皮革形状データ取得手段、毛穴位置特定手段、毛穴グループ特定手段、毛穴分布データ生成手段、毛穴グループ分布データ生成手段、パラメータ生成手段の一例としての特徴抽出部12と、合成手段の一例としての特徴合成部13と、皮革形状データ生成手段の一例としての皮革形状生成部14とを含んで、論理的に構成されている。
そして、CPUが、ROMや記憶部20に記憶された各種プログラムを読み出し実行することにより、制御部10が皮革形状データ生成装置Sの各部を制御するとともに、3次元入力装置制御部11、特徴抽出部12、特徴合成部13及び皮革形状生成部14が上述した各手段等として機能するようになっている。
なお、各種プログラム等は、例えば、サーバ装置等からネットワークを介して取得されるようにしても良いし、CD−ROM等の記録媒体に記録されてディスクドライブ等を介して読み込まれるようにしても良い。
3次元入力装置制御部11は、3次元入力装置1の動作を制御するとともに、当該3次元入力装置1から出力された皮革形状データを皮革形状データベース21に登録するようになっている。
特徴抽出部12は、皮革形状データベース21に登録された皮革形状データを読み出し、当該皮革形状データに基づいて、複合毛包分布図と毛穴分布図とを生成するとともに、生成された複合毛包分布図に基づいて、特徴パラメータを算出して、毛穴分布図と特徴パラメータとを、特徴パラメータデータベース22に登録するようになっている。
特徴合成部13は、特徴パラメータデータベース22に登録された複数の特徴パラメータを読み出し、これらの特徴パラメータを合成して新たな特徴パラメータを生成し、この特徴パラメータを特徴パラメータデータベース22に登録するようになっている。このとき、特徴合成部13は、読み出された特徴パラメータにそれぞれ対応する毛穴分布図の一部または全部を、新たに生成された特徴パラメータと対応付けて特徴パラメータデータベース22に登録するようになっている。なお、特徴合成部13による合成処理によって新たに生成された特徴パラメータを、「合成特徴パラメータ」と称する。
皮革形状生成部14は、特徴パラメータデータベース22に登録された特徴パラメータと毛穴分布図とに基づいて新たな皮革形状データを生成し、この皮革形状データを皮革形状データベース23に登録するようになっている。
なお、3次元入力装置制御部11乃至皮革形状生成部14の具体的な処理内容は、後述する。
記憶部20には、皮革形状データベース21、特徴パラメータデータベース22、皮革形状データベース23が構築されている。
皮革形状データベース21には、3次元入力装置1から出力された皮革形状データが、その識別情報と対応付けて登録されている。
特徴パラメータデータベース22には、制御部10により生成された特徴パラメータと毛穴分布図とが、その識別情報と対応付けて登録されている。
皮革形状データベース23には、制御部10により生成された皮革形状データが、その識別情報と対応付けて登録されている。この皮革形状データベース23に登録されている皮革形状デーが、テクスチャ画像、バンプ画像、ディスプレイスメントマッピング画像等として利用されることとなる。なお、皮革形状データベース21と皮革形状データベース23とを統合して、一つのデータベースで皮革形状データを管理しても良い。
[2.2 皮革形状データ生成装置の動作]
次に、皮革形状データ生成装置Sの動作について説明する。
[2.2.1 皮革形状データ抽出・合成・生成処理の概要]
はじめに、皮革形状データ生成装置Sにおける全体的な処理である皮革形状データ抽出・合成・生成処理について、図3及び図4を用いて説明する。図3は、本実施形態に係る皮革形状データ生成装置Sの皮革形状データ抽出・合成・生成処理の処理例を示すフローチャートである。また、図4は、皮革形状データをグレースケール画像で表した場合の一例を示す図である。
先ず、外部入力装置2をオペレータが操作することによって、皮革形状データの入力が指示されると、図1に示すように、3次元入力装置制御部11は、3次元入力装置1を制御して、皮革表面の凹凸形状を測定させて、3次元入力装置1から皮革形状データを入力し、新たに識別情報を割り当てて、皮革形状データを、この識別情報に対応付けて皮革形状データベース21に登録する(ステップS1)。このとき、3次元入力装置1は、例えば、皮革表面の9cm×9cmの領域について、90μmピッチでその高度(例えば、256段階で表現)を測定し、1001×1001のハイトフィールドとして皮革形状データを生成する。
図4は、この皮革形状データをグレースケール画像で表現した例であり、同図においては、便宜上、画像サイズを60ピッチ×60ピッチ、高度を6段階で示している。
次いで、特徴量抽出部12は、後述する特徴抽出処理を実行することにより、皮革形状データベース21に登録されている皮革形状データに基づいて、特徴パラメータと毛穴分布図とを生成し、これらを特徴パラメータデータベース22に登録する(ステップS2)。
次いで、制御部10は、オペレータによる外部入力装置2の選択操作に基づいて、特徴パラメータを合成するか否かを判定する(ステップS3)。ここで、特徴パラメータを合成する場合には(ステップS3:YES)、特徴合成部13が、後述する後述する特徴合成処理を実行することにより、特徴パラメータデータベース22に登録されている特徴パラメータデータを合成して、合成特徴パラメータを生成し、これを特徴パラメータデータベース22に登録する(ステップS4)。その後、制御部10は、ステップS5に移行する。一方、特徴パラメータを合成しない場合には(ステップS3:NO)、ステップS5に移行する。
そして、ステップS5において、皮革形状生成部14が、後述する皮革形状生成処理を実行することにより、特徴パラメータデータベース22に登録されている特徴パラメータと毛穴分布図とに基づいて、新たな皮革形状データを生成し、これを皮革形状データベース23に登録する。このとき、皮革形状生成部14は、ステップS3において、特徴パラメータを合成すると判定されていた場合には(ステップS3:YES)、合成特徴パラメータを用いて処理を行い、特徴パラメータを合成しないと判定されていた場合には(ステップS3:NO)、通常の特徴パラメータを用いて処理を行う。
この処理を終えると、制御部10は、皮革形状データ抽出・合成・生成処理を終了させる。
[2.2.2 特徴抽出処理]
次に、前記ステップS2の特徴抽出処理について、図5乃至図20を用いて説明する。
図5は、本実施形態に係る皮革形状データ生成装置Sの特徴抽出処理の処理例を示すフローチャートである。また、図6は、毛穴候補の位置を、皮革形状データのグレースケール画像に重ね合わせて表示させた場合の一例を示す図である。また、図7は、高度毎における毛穴の候補の出現個数の分布のグラフを示す図である。また、図8(a)及び(b)は、毛穴の候補から毛穴を特定する方法の一例を示す図である。また、図9は、毛穴点を皮革形状データのグレースケール画像に重ね合わせて表示させた場合の一例を示す図である。また、図10は、複合毛包の予測される位置、範囲、隣接関係を、皮革形状データのグレースケール画像に重ね合わせて表示させた場合の一例を示す図である。
また、図11は、隣接する毛穴点間の距離毎における、隣接する毛穴点の出現個数の分布のグラフを示す図である。また、図12は、特定された複合毛包点を皮革形状データのグレースケール画像に重ね合わせて表示させた場合の一例を示す図である。また、図13は、毛穴分布図の一例を示す図である。また、図14は、複合毛包分布図の一例を示す図である。また、図15は、複合毛包点からの放射方向における距離を横軸、放射方向の角度を縦軸として、図14に示す複合毛包分布図を新たな座標系に変換して得られた図の一例を示す図である。
また、図16は、隣接する複合毛包点の重心を、複合毛包分布図に重ね合わせて表示させた場合の一例を示す図である。また、図17は、隣接する複合毛包点の重心から推定された楕円形状を、複合毛包分布図に重ね合わせて表示させた場合の一例を示す図である。また、図18は、複合毛包の中心からの放射方向における距離を横軸、放射方向の角度を縦軸として、図17に示す図を変形して得られた図の一例を示す図である。また、図19は、複合毛包点からの放射方向における、隣接する複合毛包が出現する確率密度関数から、偏差σ1と偏差σ2とを求める方法の一例を示す図である。また、図20は、偏差σ1と偏差σ2のグラフ及び夫々に近似する正弦波のグラフの一例を示す図である。
オペレータが外部入力装置2を操作したことによって、処理に用いるべき皮革形状データが識別情報等によって指定されると、図5に示すように、特徴抽出部12は、指定された皮革形状データを皮革形状データベースから読み出し、この皮革形状データから毛穴点の位置を抽出する(ステップS11)。ここで、毛穴点とは、毛穴が配置されている位置を示す点であり、本実施形態においては、毛穴の中心を毛穴点とする。
具体的に、特徴抽出部12は、先ず、皮革形状データのグレースケール画像から濃淡値(高度)の極小値を抽出し、この極小値の座標を毛穴点の候補の位置とする。より詳細には、特徴抽出部12は、グレースケール画像上の注目画素の濃淡値と、周囲n×n(nは自然数)の各画素の濃淡値とを比較し、この中で、注目画素の濃淡値が最小値である場合に、この注目画素を毛穴点の候補の位置とする。この処理を、特徴抽出部12は、グレースケール画像上の全画素について行う。この結果を表した図が、図6である。
このときの画素数lは、任意に決定することができるが、毛穴の縦または横の長さに相当する画素数であることが望ましいと考えられることから、例えば、皮革形状データのグレースケール画像を表示装置3に表示させ、この画像から毛穴の平均的な大きさをオペレータが判断して、画素数lを設定するようにしても良い。
特徴抽出部12は、毛穴点の候補の位置を抽出すると、この中から、不要な候補を削除する。つまり、特徴抽出部12は、毛穴の候補の中には毛穴ではない凹みであるものも含まれている可能性があることから、これらを排除するのである。
図7は、高度毎における毛穴の候補の出現個数の分布をグラフ化して表した図であり、同図においては、正規分布のような分布が2つ(紙面左側の分布をP1、右側の分布をP2とする)現れていることが見てとれる。ここで、毛穴の高度は、毛穴以外の凹みの高度よりも低いと考えられることから、毛穴の分布は分布P1、毛穴以外の凹みの分布は分布P2と考えられる(つまり、分布P1は分布P2よりも高度が低い)。そこで、分布P1と分布P2との間のある高度を閾値(毛穴点の最高高度)として、この閾値で分布P1と分布P2とを分割し、閾値から右側の分布を削除することによって、毛穴の位置を特定することができる。
具体的には、分布P1は、左右がほぼ対称な分布と考えられることから、特徴抽出部12は、先ず、図8(a)に示すように、分布P1の最大値を求め、この最大値が得られる高度を境として左側の分布(図8(a)中太線)を特定し、この左側の分布を、最大値が得られる高度を通り且つx軸に垂直な線を対称軸として反転させて、図8(b)に示すように、線対称な分布を得る(図8(b)中太線)。そして、特徴抽出部12は、この分布の面積を求め、この分布の面積と、この面積のうち0〜閾値までの面積との比率を、例えば、100:99(この比率は任意に決定することができる)とし、この比率になるように閾値を求める。
なお、場合によっては、3個以上の分布が現れたり、2つの分布が重なって、一見して分布が明確に区別できないようなこともあるが、上述した方法を用いることで、比較的良好に閾値を求めることができる。
特徴抽出部12は、こうして求めた閾値より高い高度にある毛穴点の候補を削除して、毛穴点の位置を抽出する。この結果を表した図が、図9である。
次いで、特徴抽出部12は、抽出された毛穴の位置に基づいて、密集している毛穴を同一の複合毛包に分類することによって、複合毛包を抽出し、複合毛包点の位置を算出する(ステップS12)。ここで、複合毛包点とは、複合毛包が配置される位置を示す点であり、本実施形態においては、複合毛包内の毛穴点の重点をとする。
ここで、先ず、複合毛包の抽出方法について説明する。複合毛包は、複数の毛包が密集してできるものであるから、複合毛包内の毛穴間の距離は、複合毛包の各毛穴から他の複合毛包の毛穴までの距離よりも短いものと考えられる。従って、ある複合毛包に属する毛穴は、その複合毛包点を中心とした所定半径の円内に位置するものと推定することができる。そこで、この半径を求め、これに基づいて複合毛包を抽出すれば良いこととなる。
図10においては、複合毛包の範囲を、その複合毛包点を中心とした半径Tの円として表し、複合毛包点をドロネー点してドロネー分割を行った場合のドロネー辺を、隣接する複合毛包点間の接続線として表している。同図から、この接続線で表される隣接する複合毛包間の平均距離の約1/2が、半径Tになると推測することができる。
ところが、先に複合毛包を抽出して複合毛包点の位置を算出しておかないと、複合毛包点間の距離を算出することができない。そこで、本実施形態においては、隣接する毛穴点間の距離に基づいて、半径Tを算出することとした。
具体的に、特徴抽出部12は、抽出された毛穴点をドロネー点としてドロネー図を生成し、ドロネー辺によって直接接続されたドロネー点である毛穴点同士は隣接するものと認定する。そして、特徴抽出部12は、全ての隣接する毛穴点間の距離を求め、この距離を整数に正規化した上で、この距離毎の出現個数をカウントする。このときの出現個数のグラフが、図11である。
このグラフで示される分布から複合毛包点間の距離を算出して、これから閾値である半径Tを求めることとすると、3次元入力装置1において測定範囲を変える毎に閾値Tにバラツキが生じてしまうことがある。そこで、この分布の面積のうち閾値Tを超える部分の面積(図中、黒色で塗りつぶされた部分)が、当該分布全体の面積の5%であると仮定した場合に、この閾値Tが複合毛包間の平均距離の1/2に近いことが、本願発明の発明者等が或る皮革について閾値Tの算出を試行したときに判明していたことから、本実施形態においては、0〜閾値Tにおける当該分布の面積が当該分布全体の面積の95%となるように、閾値Tを算出することとした。なお、閾値Tの算出方法は、これに限られるものではない。
特徴抽出部12は、閾値Tを算出すると、この閾値Tに基づいて毛穴のグループ分けを行う。具体的に、特徴抽出部12は、互いの距離が閾値T以下となる毛穴点同士をグループ化し、この処理を、互いの距離が最も短い毛穴点同士から開始して、閾値Tを超えた時点で終了させる。このとき、3個以上の毛穴点が一つの複合毛包に属するような場合には、既にグループ化されている毛穴点と、未だグループ化されていない毛穴点とをまとめて一つのグループにする必要があるが、特徴抽出部12は、既にグループ化されている毛穴点の重心とグループ化されていない毛穴点との距離に基づいてグループ化を行う。つまり、特徴抽出部12は、この距離が閾値T以下であれば、既にグループ化されている毛穴点とグループ化されていない毛穴点とをまとめて一つのグループにするのである。このようにすることで、複合毛包点を中心とした半径T以内に位置する毛穴点は、この複合毛包に属するとした前提に近い形でグループ化を行うことができる。
特徴抽出部12は、グループ化を終えると、夫々のグループを複合毛包と認定し、複合毛包点の位置を算出して、この値を保持する。この結果を表した図が、図12である。
次いで、特徴抽出部12は、複合毛包内の毛穴同士の位置関係に基づいて、毛穴分布図を生成する(ステップS13)。
具体的に、特徴抽出部12は、複合毛包内における毛穴点の、その複合毛包点を原点とした相対位置(2次元座標)を求め、この処理を全複合毛包に対して行う。そして、特徴抽出部12は、毛穴点の出現個数を、複合毛包点からの相対位置毎にカウントする。特徴抽出部12は、このようにして求められた出現確率を表す2次元画像を毛穴分布図として生成し、これを、皮革形状データの識別情報と対応付けて特徴パラメータデータベース22に登録する。
図13は、出現確率が最も高い画素位置は白色とし、出現確率が最も低い位置を黒色として、毛穴分布図を表示させた場合の図であり、毛穴分布図上における各画素の位置は、複合毛包点からの相対的な位置に対応している。また、同図においては、便宜上、出現確率を6段階で示している。
次いで、特徴抽出部12は、複合毛包分布図を生成する(ステップS14)。
具体的に、特徴抽出部12は、算出された複合毛包点をドロネー点としてドロネー図を生成し、ドロネー辺によって直接接続されたドロネー点である複合毛包点同士は隣接するものと認定する。
次いで、特徴抽出部12は、注目する複合毛包点を原点として、これに隣接する複合毛包点の相対位置(2次元座標)を求め、この位置を整数に正規化し、この処理を全複合毛包点に対して行う。そして、特徴抽出部12は、隣接する複合毛包点の出現個数を、注目する複合毛包点からの相対位置毎にカウントする。特徴抽出部12は、このようにして求められた出現確率を表す2次元画像を複合毛包分布図として生成する。
図14は、出現確率が最も高い画素位置は白色とし、出現確率が最も低い位置を黒色として、複合毛包分布図を表示させた場合の図であり、複合毛包分布図上における各画素の位置は、注目する複合毛包点からの相対的な位置に対応している。また、同図においては、便宜上、出現確率を6段階で示している。
次いで、特徴抽出部12は、生成された複合毛包分布図に基づいて特徴パラメータを算出する(ステップS15)。
具体的に、図14に示すように、隣接する複合毛包点は、注目する複合毛包点を中心とした楕円上に分布していることから、特徴抽出部12は、先ず、この楕円の式を求める。
より詳細に、特徴抽出部12は、複合毛包分布図を、複合毛包点から所定方向(例えば、図14中の紙面上方向)を基準とした角度θをy軸、複合毛包点からの放射方向における距離をx軸とする新たな座標系に変換する。このように変換された複合毛包分布図が、図15である。
次いで、特徴抽出部12は、新たな座標系に基づいて、各角度毎における隣接する複合毛包点の確率分布から、この角度における複合毛包点の重心を算出する。このようにして算出された重心を、複合毛包分布図に重ね合わせて表示させた図が、図16である。
特徴抽出部12は、複合毛包の重心群から、最小二乗法を用いて、以下の式(1)で表される楕円形状を推定する。
上記式(1)において、βは楕円の傾きであり、a及びbは楕円の長半径及び短半径である。このように推定された楕円を、複合毛包分布図に重ね合わせて表示させた図が、図17である。
次いで、特徴抽出部12は、推定された楕円を、前述した新たな座標系に変換する。その結果を示す図が、図18である。
次いで、特徴抽出部12は、新たな座標系に変換された複合毛包分布図及び楕円を、角度毎に切り出し(図19の上部参照)、確率分布を所定の確率密度関数で角度毎に近似する。この確率密度関数f(x)は、以下の式(2)により表すことができる。
ここで、
である。上記式において、σ(x)は、注目する複合毛包点からの放射方向における距離xでの標準偏差であり、eは自然対数であり、μは推定した楕円形の角度θにおける半径である。また、図19の分布を半径μを境に左右で別々の正規分布とみなし、σ1は、0≦x≦μにおける図19の分布図の偏差であり、σ2は、x>μにおける図19の分布図の偏差である(図19の下部グラフ参照)。また、σ1とσ2とは、σ1<σ2を満たすものとする。
上記式により、角度毎における確率分布f(x)は、半径μ、偏差σ1、偏差σ2によって求められることが分かる。このとき、角度θをx軸、偏差をy軸とする、偏差σ1と偏差σ2とのグラフは、図20に示すように折れ線グラフとなる。ここで、隣接する複合毛包点は、注目する複合毛包点を中心とした楕円上に分布しているので、この楕円形状に対応して、偏差σ1のグラフと偏差σ2のグラフとは夫々正弦波に近くなることから、特徴抽出部12は、最小二乗法を用いて、以下の式(1)で、正弦波S(θ)を推定する。
上記式において、dは振幅であり、ψは原点における位相であり、2は周期であり、fは偏差の平均値である。図20に示す2つの正弦波のグラフが、偏差σ1を近似する正弦波と偏差σ2を近似する正弦波のグラフである。
以上のように、複合毛包分布図が示す情報、すなわち、注目する複合毛包に隣接する複合毛包が、注目する複合毛包点を基準として出現する確率分布は、式(1)乃至式(4)及び式(6)で近似することができる。つまり、傾きβ、長半径a、短半径b、半径μ、角度毎の偏差σ1と偏差σ2で複合毛包分布図を近似的に求めることができる。ここで、半径μは、楕円形状の式(1)から算出可能であるため、不要である。また、角度毎の偏差σ1と偏差σ2は、夫々式(6)で近似することができるので、偏差σ1は、振幅d1、位相ψ1、偏差の平均値f1で、また、偏差σ2は、振幅d2、位相ψ2、偏差の平均値f2で表すことができる。
従って、複合毛包分布図は、傾きβ、長半径a、短半径b、振幅d1、位相ψ1、偏差の平均値f1、振幅d2、位相ψ2、偏差の平均値f2で求めることができるので、特徴抽出部12は、この9個のパラメータを特徴パラメータとし、これを皮革形状データの識別情報と対応付けて特徴パラメータデータベース22に登録する。これにより、毛穴分布図と特徴パラメータとが対応付けられることとなる。
この処理を終えると、特徴抽出部12は、特徴抽出処理を終了させる。
[2.2.3 特徴合成処理]
次に、前記ステップS4の特徴合成処理について説明する。
外部入力装置2をオペレータが操作することによって、合成を行う皮革が識別情報等により2以上指定されると、特徴合成部13は、対応する毛穴分布図及び特徴パラメータを、指定された皮革分だけ特徴パラメータデータベース22から読み出し、特徴パラメータを各パラメータ毎に合成することによって、合成特徴パラメータを生成する。このときの合成方法としては、例えば、線形補間を行ったり、加重平均を求めることなどが考えられる。
次いで、特徴合成部13は、新たな識別情報を割り当てて、生成された合成特徴パラメータと、読み出された毛穴分布図の全部または一部とをこの識別情報に対応付けて特徴パラメータデータベース22に登録する。
なお、厳密には合成とはいえないが、複数の特徴パラメータを合成せずに、1個の皮革の特徴パラメータに対してノイズを付加するなどして、合成特徴パラメータを生成しても良い。
この処理を終えると、特徴合成部は、特徴合成処理を終了させる。
[2.2.4 皮革形状生成処理]
次に、前記ステップS5の皮革形状生成処理について、図21乃至図26を用いて説明する。
図21は、本実施形態に係る皮革形状データ生成装置Sの皮革形状生成処理の処理例を示すフローチャートである。また、図22(a)は、或るy座標における複合毛包の確率分布のグラフの一例を示す図であり、図22(b)は、図22(a)に示すグラフを一次微分したグラフの一例を示す図であり、図22(c)は、勾配データの一部の配列をベクトルで表した図である。
また、図23(a)及び(b)は、複合毛包非配置領域の生成方法の一例を示す図である。また、図24(a)乃至(d)は、複合毛包点の配置方法の一例を示す図である。また、図25(a)乃至(d)は、毛穴の形状の一例を示す図である。また、図26(a)及び(b)は、毛穴を形成する様子の一例を示す図である。
外部入力装置2をオペレータが操作することによって、処理に用いるべき特徴パラメータ(通常の特徴パラメータまたは合成特徴パラメータ)が識別情報等によって指定されると、皮革形状生成部14は、図21に示すように、指定された特徴パラメータを特徴パラメータデータベース22から読み出し、この特徴パラメータと、式(1)乃至式(4)及び式(6)とを用いて、元の複合毛包分布図を復元する(ステップS21)。
次いで、皮革形状生成部14は、最終的に配置する複合毛包の個数を決定する(ステップS22)。
具体的に、皮革形状生成部14は、特徴抽出処理において特定された複合毛包の個数から、単位面積あたりの複合毛包の個数を算出し、新たに生成する皮革形状データの画像サイズに基づいて、配置する複合毛包の個数を決定する。例えば、100ピクセル×100ピクセルあたりの複合毛包の個数が80であり、生成する皮革形状データのサイズが1000ピクセル×1000ピクセルである場合には、配置する複合毛包の個数=(1000÷100)×(1000÷100)×80=8000である。なお、個数の決定方法はこれに限られるものではなく、例えば、オペレータが指定しても良いし、読み出された特徴パラメータが合成特徴パラメータである場合には、合成前の特徴パラメータに夫々対応して特徴抽出処理において特定された複合毛包の個数の平均値としても良い。
次いで、皮革形状生成部14は、復元された元の複合毛包分布図に基づいて、勾配データを生成する(ステップS23)。ここで、勾配データとは、複合毛包分布図を、x軸方向及びy軸方向に1次微分することによって算出された2次元ベクトルの2次元配列である(図22(c)参照)。この勾配データは、後述するステップS29において、複合毛包位置を移動させる際の移動方向を決定する際に用いられる。
具体的に、皮革形状生成部14は、例えば、座標(x,y)における隣接する複合毛包点の出現確率をF(x,y)とした場合に、F(x,y)−F(x−1,y)を求めて擬似的に1次微分し、これを座標(x,y)のx軸方向におけるベクトルとする。また、皮革形状生成部14は、F(x,y)−F(x,y−1)を求めて、これを座標(x,y)のy軸方向におけるベクトルとする。そして、皮革形状生成部14は、この処理を全座標について行う。このようにして算出された座標(x,y)のx軸方向におけるベクトルとy軸方向におけるベクトルとの和が、当該座標(x,y)における2次元ベクトルとなる。
図22(a)は、y座標=y1において複合毛包分布図を切り取った複合毛包の確率分布のグラフである。また、図22(b)は、y座標=y1における勾配データ(x軸方向のみ)のグラフである。そして、図22(c)は、勾配データの一部をベクトルで表した図である。これらの図において、原点は、注目する複合毛包点の位置である。
次いで、皮革形状生成部14は、復元された元の複合毛包分布図に基づいて、複合毛包非配置領域図を生成する(ステップS24)。ここで、複合毛包非配置領域図とは、複合毛包分布図において、隣接する複合毛包点が出現する分布の内側にあって、隣接する複合毛包点の存在しない領域を示す画像データである。この複合毛包非配置領域図は、後述するステップS25の処理において、複合毛包を仮配置する際に、複合毛包点の配置を禁止する領域を示す図である。
具体的に、皮革形状生成部14は、図23(a)に示すような元の複合毛包分布図に基づいて、注目する複合毛包点から探索を開始して、図23(b)に示すように、隣接する複合毛包点の出現確率が0である画素をグループ化してこれを隣接する複合毛包点の存在しない領域とし、複合毛包非配置領域図を生成する。図23(b)中、rが複合毛包非配置領域である。
次いで、皮革形状生成部14は、指定された画像サイズの描画領域を、例えば、RAM上に設定し、元の複合毛包分布図、仮配置する複合毛包点の個数及び複合毛包非配置領域図に基づいて、この描画領域に複合毛包点を仮配置する(ステップS25)。
具体的に、皮革形状生成部14は、先ず、仮配置する複合毛包点の個数を決定する。より詳細には、最終的に配置する個数よりも多い数を仮配置する個数とする。例えば、最終的に配置する個数に所定の係数を乗じて求めても良いし、オペレータが設定しても良い。
次いで、皮革形状生成部14は、指定された画像サイズの描画領域上の任意の位置に、1番目の複合毛包点を配置し、これを中心として、描画領域上に複合毛包非配置領域図を重ねて描画する。そして、皮革形状生成部14は、1番目の複合毛包点を中心として元の複合毛包分布図を重ね合わせ、この重ね合わせた複合毛包分布図が示す出現確率分布を重み付けとしてランダムに2番目の複合毛包点を配置する。この結果を示した図が、図24(a)であり、同図において、a1は1番目の複合毛包点であり、a2は2番目の複合毛包点であり、p1はa1の複合毛包分布図である。
次いで、皮革形状生成部14は、2番目の複合毛包点を中心として、描画領域上に複合毛包非配置領域図を重ねて描画する。この結果を示した図が、図24(b)である。そして、皮革形状生成部14は、1番目の複合毛包点を中心として元の複合毛包分布図を重ね合わせ、この重ね合わせた複合毛包分布図が示す出現確率分布を重み付けとしてランダムに3番目の複合毛包点を配置する。このとき、皮革形状生成部14は、複合毛包非配置領域図が示す領域には複合毛包点が配置されないように、複合毛包点を配置する。この結果を示した図が、図24(c)である、同図において、a3は3番目の複合毛包点である。次いで、皮革形状生成部14は、3番目の複合毛包点を中心として、描画領域上に複合毛包非配置領域図を重ねて描画する(図24(d)参照)。
皮革形状生成部14は、このようにして、複合毛包点を次々と配置していき、1番目の複合毛包点について、隣接する複合毛包点が配置できなくなると、2番目の複合毛包点、3番目の複合毛包点について、1番目の複合毛包点の場合と同様にして、複合毛包点を配置していく。そして、皮革形状生成部14は、配置された複合毛包点の個数が、仮配置する複合毛包点の個数に達したところで、描画領域上から複合毛包非配置領域図を消去して、仮配置を終了させる。
この描画領域上の複合毛包点は、元の複合毛包分布図に従って配置されたので、この配置パターンは、複合毛包分布図が示す配置パターンの特徴が現れているといえる。従って、ここで配置された複合毛包点の位置を最終的な位置として、後述するステップS31以降の毛穴の配置に移行しても良い。しかしながら、本実施形態では、複合毛包分布図が示す配置パターンの特徴に更に近づけるため、以下に説明する複合毛包点の削除及び移動を行うこととした。
皮革形状生成部14は、複合毛包点の仮配置を終えると、描画領域に仮配置された複合毛包点の位置に基づいて、仮の複合毛包分布図を生成する(ステップS26)。この複合毛包分布図の生成方法は、特徴抽出処理のステップS14において説明した方法と同様である。
次いで、皮革形状生成部14は、仮配置された夫々の複合毛包点に対してランク付けを行う(ステップS27)。このランクは複合毛包点の価値を示し、この値が低いほど、価値が高いことを示している。
具体的に、皮革形状生成部14は、元の複合毛包分布図が示す出現確率と仮の複合毛包分布図が示す出現確率との差を、座標毎に算出し、この差の絶対値をその座標におけるランクとする。そして、皮革形状生成部14は、注目する複合毛包点に隣接する各複合毛包点(ドロネー分割により特定)について、注目する複合毛包点を原点とした位置に対応するランクをその隣接する複合毛包点のランクとして加算する。そして、皮革形状生成部14は、全ての複合毛包点について同様の処理を行うことにより、各複合毛包点のランクを算出する。
次いで、皮革形状生成部14は、算出されたランクに基づいて、描画領域から複合毛包点を削除する(ステップS28)。
具体的に、皮革形状生成部14は、ランクが高い複合毛包点から削除していき、削除数が所定数に達すると、複合毛包点の削除を終了させる。この削除数は任意であるが、例えば、最終的に配置する複合毛包の個数と、削除前の仮配置されている複合毛包の個数との差の1/2としても良いし、オペレータが設定しても良い。
次いで、皮革形状生成部14は、ランクと勾配データとに基づいて、描画領域上に仮配置されている複合毛包点を移動させる(ステップS29)。
具体的に、皮革形状生成部14は、先ず、注目する複合毛包点に隣接する複合毛包点をドロネー分割により特定する。そして、皮革形状生成部14は、各複合毛包点の移動ベクトルViを、以下の式(7)により算出する。なお、iは、1≦i≦現在仮配置されている複合毛包点の個数を満たす整数である。
上記式(7)において、miは、複合毛包点iが隣接する複合毛包点の個数であり、vijは、複合毛包点iが隣接する複合毛包点ijに対応する複合毛包点iの移動ベクトルであり、kijは係数である。
ここで、
である。上記式(8)において、xij及びyijは、複合毛包点iが隣接する複合毛包点ijを原点とした、複合毛包点iのx座標及びy座標であり、F1(xij,yij)は、元の複合毛包分布図上の座標(xij,yij)における出現確率であり、F2(xij,yij)は、仮の複合毛包分布図上の座標(xij,yij)における出現確率である。
また、上記式(9)において、vf1(xij,yij)は、座標(xij,yij)に対応して元の複合毛包分布図から生成された勾配データ(ベクトル)である。
また、上記式(10)において、vf2(xij,yij)は、座標(xij,yij)に対応して仮の複合毛包分布図から生成された勾配データである。この勾配データは、ステップS23において説明した方法と同様にして生成される。
つまり、皮革形状生成部14は、複合毛包点iの複合毛包点ijからの相対位置に対応する元の複合毛包分布図と仮の複合毛包分布図とから生成された勾配データの差分のベクトルを算出し、この差分のベクトルを単位ベクトルに変換して、これを元の複合毛包分布図から得られる勾配データに加算して、これを更に単位ベクトルに正規化し、この単位ベクトルに対して、元の複合毛包分布図が示す出現確率と仮の複合毛包分布図が示す出現確率との差(複合毛包点iの複合毛包点ijからの相対位置における差)を乗ずることによって、複合毛包点ijを注目する複合毛包点とした場合における複合毛包点iの移動ベクトルを算出する。そして、皮革形状生成部14は、複合毛包点i1に対応する複合毛包点iの移動ベクトル、複合毛包点i2に対応する複合毛包点iの移動ベクトル・・・複合毛包点imiに対応する複合毛包点iの移動ベクトルの和を求めることによって、複合毛包点iの移動ベクトルViを算出する。皮革形状生成部14は、このような処理を、全複合毛包点について行うのである。
このとき、正規化された移動ベクトルVij/|Vij|は、複合毛包点ijを注目する複合毛包点とした場合における複合毛包点iの移動方向を示し、係数kijは、複合毛包点iの移動量、及び移動方向を反転させるか否かを示す。
皮革形状生成部14は、最終的な移動ベクトルを算出すると、全複合毛包点を、夫々の最終的な移動ベクトルに従って移動させる。
次いで、皮革形状生成部14は、現在仮配置されている複合毛包点の個数がステップS22で決定した最終的な個数以下であるか否かを判定し(ステップS30)、複合毛包点の個数が最終的な個数以下ではない場合には(ステップS30:NO)、ステップS26に移行する。つまり、皮革形状生成部14は、複合毛包点の個数が最終的な個数以下になるまでは、ステップS26〜S29に示す、複合毛包点の削除及び移動を行うのである。
そして、皮革形状生成部14は、複合毛包点の個数が最終的な個数以下となると(ステップS30:YES)、配置された複合毛包点の位置と毛穴分布図とに基づいて、毛穴点を配置する(ステップS31)。
具体的に、皮革形状生成部14は、先ず、ステップS21において読み出された特徴パラメータに対応する毛穴分布図を、特徴パラメータデータベース22から読み出す。そして、皮革形状生成部14は、配置された複合毛包点を中心として毛穴分布図を重ね合わせ、この重ね合わせた毛穴分布図が示す出現確率分布を重み付けとしてランダムに毛穴点を配置していく。
このとき、1個の複合毛包点に対応して配置する毛穴の個数は、例えば、特徴抽出処理において特定された毛穴の個数から複合毛包の個数を除算して求めても良いし、1個の複合毛包点に対して配置する毛穴の確率分布を求めて、この分布に従って、複合毛包点毎にランダムに決定しても良い。また、合成特徴パラメータに基づいて複合毛包点が配置された場合には、例えば、合成前の特徴パラメータに夫々対応して特徴抽出処理において特定された毛穴の個数の平均値と、複合毛包の個数の平均値を求め、毛穴の個数の平均値から複合毛包の個数の平均値を除算しても読めても良い。なお、配置する毛穴の個数の算出に必要なデータは、特徴パラメータに対応付けて特徴パラメータデータベース22に登録しておく。また、1個の複合毛包点に対して配置する毛穴の個数は、オペレータが設定しても良い。
更にまた、合成特徴パラメータに基づいて複合毛包点が配置された場合には、この合成特徴パラメータに複数の毛穴分布図が対応付けられて特徴パラメータデータベース22に登録されている場合があるため、毛穴点の配置に用いる毛穴分布図を選択する必要がある。この場合は、例えば、オペレータにより指定された毛穴分布図を用いても良いし、複合毛包点毎にランダムに決定しても良い。
皮革形状生成部14は、毛穴点の配置を終えると、描画領域上の夫々の毛穴点に対して毛穴を形成する(ステップS32)。
例えば、図25(a)乃至(d)に示すように、毛穴の凹形状を示す毛穴形状データが、ハイトフィールドとして記憶部20に複数登録されている。この登録されている毛穴形状データのうち一の毛穴形状データを、外部入力装置2をオペレータが操作することによって選択すると、皮革形状生成部14は、選択された毛穴形状データを、毛穴点を中心として描画領域に描画する。そして、全毛穴点について毛穴形状データの描画が終了すると、この描画領域に描画された凹凸形状を示すデータが、新たな皮革表面の凹凸形状を示す皮革形状データとなる。図26(a)は、毛穴点が配置された描画領域の一部であり、図26(b)は、この毛穴点に重ねて、図25(c)に示す毛穴形状データが描画された描画領域の一部であり、この描画領域上のデータが新たな皮革形状データとなる。
なお、例えば、特徴抽出処理において毛穴の形状の特徴を抽出し、この特徴に基づいて毛穴形状データを生成しておき、この毛穴形状データを用いて毛穴を形成しても良い。
皮革形状生成部14は、毛穴を形成を終えると、新たに識別情報を割り当てて、生成された新たな皮革形状データを、この識別情報に対応付けて皮革形状データベースに登録し、皮革形状生成処理を終了させる。
以上説明したように、本実施形態によれば、特徴抽出部12が、3次元入力装置1によって皮革表面の凹凸形状を測定することによって生成された皮革形状データを皮革形状データベース21から読み出し、この皮革形状データに基づいて、毛穴点の位置を特定し、特定された毛穴点の位置に基づいて、密集している毛穴を認定し、当該密集している毛穴を同一のグループに分類することによって、複合毛包を特定し、複合毛包内における毛穴点の位置を特定し、当該位置を確率変数として、複合毛包内において毛穴点が配置される確率の分布を示す毛穴分布図を生成し、複合毛包に隣接する複合毛包を特定し、複合毛包の皮革表面における位置からの相対的な位置を確率変数として、複合毛包に隣接する複合毛包が配置される確率の分布を示す複合毛包分布図を生成するようになっている。
更に、特徴抽出部12が、生成された複合毛包分布図が示す確率分布を近似するための式(1)乃至(4)及び(6)に用いられる特徴パラメータを生成し、このパラメータと、生成された毛穴分布図とを対応付けて、特徴パラメータデータベース22に登録するようになっている。そして、皮革形状生成部14が、特徴パラメータと式(1)乃至(4)及び(6)とに基づいて元の複合毛包分布図を復元し、特徴パラメータに対応する毛穴分布図と復元された複合毛包分布図とに従って、新たな皮革形状データを生成するようになっている。
従って、新たな皮革形状データによって、天然皮革などの表面に形成された複合毛包の配置パターンと毛穴の配置パターンとを自然に再現することができる。
また、特徴合成部13が、特徴パラメータデータベース22に登録された複数の特徴パラメータ同士を合成して合成特徴パラメータを生成し、皮革形状生成部14が、複数の特徴パラメータに対応する複数の毛穴分布図のうち少なくとも何れか一つと、合成特徴パラメータとに従って、新たな皮革形状データを生成するので、複数の皮革の表面の毛穴と複合毛包との配置パターンをかけあわせた特徴を有する新たな皮革形状データを容易に生成することができる。
また、皮革形状データは、各要素が、皮革表面において当該要素が対応する位置における当該表面の高度を示すハイトフィールドで表現されているので、毛穴分布図及び複合毛包分布図を容易に生成することができる。
なお、本実施形態においては、複数の皮革の特徴をかけあわせることがあるため、特徴抽出処理で生成された複合毛包分布図から特徴パラメータを生成し、この特徴パラメータを合成するようにしていたが、複数の皮革の特徴をかけあわせる必要がない場合には、特徴パラメータを生成する必要はない。この場合には、特徴抽出処理で生成された毛穴分布図と複合毛包分布図とを対応付けて記憶部20等に記憶しておき、この毛穴分布図と複合毛包分布図とに従って新たな皮革形状データを生成すれば良い。
また、本実施形態においては、皮革形状データをハイトフィールドで表現していたが、皮革形状データの表現方法はこれに限られるものではない。
また、本実施形態においては、特徴抽出部12による皮革形状データの取得先は、皮革形状データベース21としていたが、これに限られるものではなく、例えば、3次元入力装置1から出力された皮革形状データを、3次元入力装置制御部11を経由して取得しても良い。