エッジ検出は、コンピュータビジョンにおけるよく研究された課題である。2D画像では、エッジポイントは、勾配の大きさが勾配方向で最大であると仮定されるポイントと定義される。人間の視覚および知覚における観察より、輝度の急激な変化は、3D情報を表現および回復するために決定的な役割を果たすことが分かる。また、観察により、一般的な照明条件および反射条件下における照明された3Dオブジェクトのグレースケール画像の場合、輝度勾配の方向に沿った画像強度の2次方向導関数のゼロ交差は、3Dオブジェクトのリッジおよびバレーの近くで生じることが分かる。画像処理におけるエッジ検出から発想を得て、一実施形態では、光極値線(PEL)と呼ばれることがあるタイプの曲線は、3Dオブジェクトの表面への直接的な照明の局所的な変動を特徴づけると定義される。
一実施形態では、PELは、勾配の方向における照明の変動が局所的な最大値に達する3Dオブジェクトの表面上の点のセットである。
図1に、PELの定義を示す。
図1において滑らかな表面パッチS:D⊂R2−>R3であるとすると、照明関数f:S−>Rは、C3連続性であると仮定することができる。このコンテキストでは、R2は、2次元の実空間、すなわち、実数の対のベクトル空間を指す。R3は、3次元の実空間、すなわち、実数の3つ組のベクトル空間を指し得る。C3は、第3の導関数が存在し、それが連続性であることを意味する。
図1に示すように任意の点p∈Sであるとすると、nは、表面パッチS上の点Pにおける表面法線である。接ベクトルSuおよびSvは、表面パッチSの点p上の局所座標系を定義する。ただし、
である。Sが正規のパッチである場合、SuおよびSvは、線形に独立しており、接空間の基礎を形成する。
fの勾配は、
と定義することができ、ただし、fuおよびfvは、スカラー関数fの偏導関数、すなわち、
および
であり、E、FおよびGは、Sの第1の基本形式の係数、すなわち、E=(Su,Su)、F=(Su,Sv)およびG=(Sv,Sv)であり、(,)は、内積である。図1に示すように任意の点p∈Sであるとすると、nは、表面パッチS上の点Pにおける表面法線であり、wは、表面パッチS上の点Pの接空間上のfの勾配の単位ベクトル、すなわち、
とする。次いで、PELは、
Dw||∇f||=0 および DwDw||∇f||<0 (2)
を満たす点のセットとして定義することができる。Dwは、方向導関数オペレータと呼ばれる。スカラー関数gの場合、Dwg=(∇g,w)は、wに沿った方向導関数である。直観的にいうと、Dwは、方向wに沿った関数fの変化を測定し得る。
Dw||∇f||=0の全域解は、閉曲線または表面境界で終端する曲線を形成する。したがって、表面は、2つの領域に、すなわち、Dw||∇f||>0を満たす領域と、Dw||∇f||<0を満たす領域とに分割され得る。一実施形態では、PELは、DwDw||∇f||<0、つまり、照明の変動が、局所的最大値に達する曲線の一部に対応する。PELは、効果的にも、3Dオブジェクトの形状に関する有用な情報を伝える。
図2(a)〜(d)には、3Dオブジェクトの形状を示すためのPELが示される。
図2(a)は、3Dオブジェクトの表面200を示している。図2(b)の点線は、表面200上のDwDw||∇f||<0を満たす曲線を示している。図2(c)の点線は、表面200上のDw||∇f||=0およびDwDw||∇f||<0を満たす曲線を示している。図2(d)は、Dw||∇f||>0の領域202およびDw||∇f||<0の領域204を示している。
図2(a)に示された表面200を参照すると、Dw||∇f||=0の全域解は、閉曲線または表面境界で終端する曲線を形成する。これらの曲線は、表面200を2つの領域、すなわち、Dw||∇f||>0を満たす領域(図2(d)において濃い灰色に色付けされている)と、Dw||∇f||<0(図2(d)において薄い灰色に色付けされている)とに分割する。(図2(b)の点線で示される曲線で示される)PELは、DwDw||∇f||<0、すなわち、照明の変動が局所的最大値に達する曲線の一部に対応する。図2(c)の点線で示される曲線は、Dw||∇f||=0、およびDwDw||∇f||<0を満たす点に対応し、3Dオブジェクトの形状に関する有用な情報を伝えない。隠れている表面上の曲線は、(b)および(c)には図示されていないことに留意されたい。
一実施形態では、3D表面の照明は、全体的にユーザ制御可能であり得る。換言すると、一実施形態では、ユーザは、光を自由に操作することによって、所望の照明を達成することができる。
3D形状の照明は、ライティング状態に依存する。グラフィックスにおいて利用可能な様々なライトモデルのうち、一般的に使用されるものは、以下のPhongの鏡面反射モデルである。
ただし、nは表面法線、1は光方向、vはビュー方向、rは反射方向であり、nsは、より滑らかである表面に関するより大きい光沢定数であり、kaは周囲反射定数であり、Iaは周囲光強度であり、kdは拡散反射定数であり、Idは拡散光強度であり、ksは鏡面反射定数であり、Isは鏡面反射強度である。このコンテキストでは、表面の点Pにおける表面法線は、Pにおけるその表面に対する接平面に垂直なベクトルと呼ぶことができる。Iambは、周囲光を表す。このコンテキストでは、周囲光は、物体またはシーンを取り囲む照明を指し得る。Idiffは、表面から発する拡散光を表し、これは均一に方向づけられた光である。Ispecは鏡面反射光を表す。このコンテキストでは、鏡面反射光は、表面からの反射ベクトルに沿っておよびそのまわりで、より強く反射する光を指し得る。式(3)は、光方向とビュー方向との関数なので、対応するPELは、一実施形態ではビューおよび光に依存する。
一実施形態では、PELは3D表面全体の照明の大幅な変動を強調することによって、3Dオブジェクトの形状を伝える。人の知覚的な経験に関して3D形状を示すことを目的として、一実施形態では、ライトモデルは、形状変動に強く関係する照明変動を強調し得、形状変動とあまり関係のない照明変動、または形状変動と直交する照明変動を抑制し得る。Phongのシェーディングモデルでは、周囲光Iambは一定であり、照明の変動には寄与しない。拡散光Idiffは、形状と光の両方によって判断される。拡散光Idiffの変動は、表面法線の変動に大きく影響をうける。鏡面反射光Ispecは、ビュー状態およびライティング状態によって支配され、3D表面の直交係数と見なされ得る。換言すると、Ispecは、3Dオブジェクトの形状に関連しない。したがって、鏡面反射光Ispecは、3D形状にあまり関係せず、3D形状のイラストレーションのために分散している特徴線を導入し得る。一方、鏡面反射光Ispecの出力因子は、より計算負荷が高い。したがって、一実施形態では、周囲光Iambおよび鏡面反射光Ispecを無視することができ、拡散光のみが考慮される。したがって、式(3)から、ライティングモデルについて、以下の式が得られる。
I=kdId(n・l) (4)
視線ベクトルvは、式(4)には関与しないことに留意されたい。したがって、一実施形態における対応するPELは、ビュー位置に依存しない。
別の実施形態では、ビュー依存特性が、実世界アプリケーションでは望ましいことがある。より重要なことに、実世界の3D形状はジオメトリが複雑であり、多くの詳細をもつので、特徴線の場所を特定するための基準は、たいてい、様々な部分に応じて変動し、かなり主観的である。したがって、ユーザに、所望のイラストレーションを制御するために、より自由を提供することが望ましい。ビュー依存性、ならびにユーザ可制御性および性能要件を満たすために、一実施形態では、PELに関する以下のライトモデルが提供される。
一実施形態で使用されるライトモデルは、メイン光を備える。たとえば、光線が視線ベクトルと平行な指向性光を使用するメイン光の光源が設定される。換言すると、用語「メイン光」は、車両のライティングシステムで広く使用される「ヘッドライト」に類似している。この設定は、人の知覚的な経験に基づく。したがって、光は、視点が変化したときに移動する。その結果、照明および対応するPELは、ビュー依存性である。
一実施形態では、使用されるライトモデルは、少なくとも1つの補助光をさらに備える。換言すると、ユーザが指定する区域に特に強い光をあてるために、任意選択のスポット光が使用され得る。照明に対する補助光の寄与は、局所的なものであり、ビュー位置に依存しない。n・lを用いて補助的なスポット光を定義することができるが、ユーザが関心をもっている領域に局所的に適用することができ、それにより、異なる複数の区域においてPELを制御する自由がユーザに与えられる。
図3(a)〜(d)に、一実施形態におけるPELの抽出のためのライトモデルの適用例を示す。ライトモデルの効果を示すために、3Dオブジェクトとなるようにスタンフォードバニーを選択する。
図3(a)は、スタンフォードバニーを示すためのPELの抽出のために、4つの光がスタンフォードバニーに適用されることを示している。メイン光#1は、方向がカメラ方向と一致する指向性光である。メイン光#1のみを使用することによって、PELは、大まかな形状をうまく伝えることができる(図3(b))。
しかしながら、((b)に示すように)目および足に関するいくつかの重要な線が失われていることがある。次いで、補助的なスポット光#2および#3を使用して、(図3(c)に示すように)より多くの詳細を加えるために、目および足に関する局所的なコントラストを増大させることができる。スタンフォードバニー本体は、レリーフが小さいことに起因して、多くの短い特徴線を含んでいることに留意されたい。しかしながら、これらの線は、ユーザにあまり好まれないことがある。これらの線を除去するために、本体に関する局所的なコントラストを減少させるために、図3(a)に示される別の補助的なスポット光#4を加えることができる。図3(d)に示される結果として、小さな特徴線のほとんどが成功裏に除去される。
より詳細には図3(a)には、スタンフォードバニーを示すために4つの光が使用される例が示されている。光#1は、ビュー方向と一致するメイン光である。メイン光#1の目的は、スタンフォードバニーの大まかなジオメトリを伝えることである。光#2、#3および#4は、局所的なコントラストを増大または減少させるために使用することができる補助光である。たとえば、この場合、補助光#2は、目区域に局所的に適用される。補助光#3は足区域に適用され、補助光#4は、スタンフォードバニーの本体区域に適用される。一実施形態では、補助光は、指定された領域の局所的なコントラストを増大または減少させるために使用される。したがって、PELは、3Dオブジェクトの局所的な特徴またはユーザの要求にしたがって追加または除去することができる。
図3(b)は、メイン光#1のみが適用されたときのPELによるスタンフォードバニーの大まかなジオメトリを示している。図3(b)を見ると分かるように、目および足をより詳細に示すことができる線のようないくつかの重要な線が消えている。また、スタンフォードバニーのいくつかの小さな特徴、すなわち、本体区域上の特徴に起因して、多くの小さなPELが存在するが、これらのPELは、散乱を生じ、後脚区域の形状を伝えるために役に立たない。
図3(c)は、メイン光#1ならびに補助光#2および#3が適用されたときのスタンフォードバニーのPELによるジオメトリを示している。図3(c)を見ると分かるように、2つの補助光#2および#3は、目および足に関するコントラストを増大させるために使用される。
図3(d)は、本体に関するコントラストを減少させるためにさらなる補助光#4が使用されたときのスタンフォードバニーのPELによるジオメトリを示している。その結果、スタンフォードバニーのPELのより良好な抽出が達成される。
単純な形状の場合、たいてい、メイン光のみを使用して所望のイラストレーションを達成することができる。しかしながら、実世界のモデルのほとんどは、単一の光を使用して示すことはできない複雑なジオメトリおよび多くの詳細を有している。したがって、一実施形態では、補助光は、イラストレーションを改善するために使用される。PELの1つの利点は、ユーザが、光の数、それらの強度、位置、および方向のように、補助光を完全に制御することができることである。これらのパラメータを手動で操作することは、面倒な作業であり得る。一実施形態では、ユーザ対話の労力を最小限に抑えるために、補助光の最適な設定を自動的に計算するための方法が提供される。
一実施形態では、ユーザは、改善すべきいくつかの対象領域を指定することができる。各領域は、ただ1つの補助光Iauxを使用できるくらい十分に小さい。
ユーザ指定パッチ
とする。このコンテキストでは、Aは、区域全体で積分が実行されることを意味し、cは領域Aの重心である。
一実施形態では、スポット光Iauxは、位置xにおいて、光方向
で適用され得る。一実施形態では、スポット光IauxによるS’に関する照明のコントラストは、ユーザによって詳細が追加されることが好ましい場合に最大化される。別の実施形態では、スポット光IauxによるS’に関する照明のコントラストは、ユーザによって線が除去されることが好ましい場合に最小限に抑えられる。たとえば、
詳細を追加するために、
を使用し(5)、あるいは、詳細を除去するために、
を使用する(6)ことができる。ただし、
であり、S(u,v)は所与の3D表面パッチであり、dは光源と表面Sとの間の距離であり、kauxは補助光の強度であり、kc、klおよびkqは、距離dの2次関数の係数であり、n(u,v)は、単位法線ベクトル、すなわち、
であり、lは光方向の単位ベクトルである。
スポット光のカットオフ角により、照明の非連続性を引き起こすことがあり、この非連続性は、次いで、不要な特徴線を生じることがあることに留意されたい。このコンテキストでは、カットオフエンジェルとは、スポット光の円錐形状の角度を指し得、3Dオブジェクトの表面Sに適用されたスポット光の境界と関連付けられる。
照明の非連続性によって引き起こされる追加の特徴線を回避するために、一実施形態では、スポット光のカットオフ角は、S’を網羅するのに十分な大きさとすることができる。(S’よりも大きな)スポット光領域の内側の各点には、2つの照明関数f=Imainおよびf=Iauxが適用される。照明の導関数を計算するために、任意の点p∈S’についてf=Iauxが使用され、任意の点p∈S\S’(pがS内の点であるが、S’内の点ではないことを意味する)についてf=Imainが使用される。したがって、非連続性における2つの関数の結果をオーバーラップさせると、f=Imainおよびf=Imain+Iauxの2つの関数間で切り替えることによって、あらゆる場所で局所的な連続性を保証することができる。PELは局所的な極値を用いて定義され、照明はすべての点について局所的に連続しているので、補助光は、境界上に不要な線を導入することなく、S’のPELイラストレーションを改善することができる。
一実施形態では、照明関数は、S’における補助光の最適化およびPELの抽出のために、f=Iauxとなるように設定される。一実施形態では、最適な補助光は物体空間に配置される。したがって、補助光の最適な設定は、メイン光の変化および様々なビュー状態による影響を受けることはない。一実施形態では、最適化プロセスはリアルタイムではない。換言すると、最適化は、2D画像で示すための3Dオブジェクトの曲線の抽出の前に、3D空間で実行される。一実施形態では、補助光が判断されると、補助光は、物体空間中に固定され、これは、補助光の設定が、ビュー依存性ではないことを意味する。したがって、補助光が計算されると、任意の視点についてPELをレンダリングする際に補助光を使用することができる。したがって、さらなる計算オーバーヘッドを避けることができる。より重要なことには、補助光は、視点が変化したときにアニメーション中の任意の非コヒーレンスを引き起こすことなく、PELイラストレーションを改善することができる。
図4(a)〜(f)に、一実施形態における、最適なライティングを使用したスタンフォードバニーの目領域に関するPELイラストレーションの改善を示す一例を示す。
図4(a)は、メイン光のみが適用されたときのバニーモデルの目領域を示している。図4(d)は、図4(a)に示されたバニーモデルに基づく、抽出されたPELを示している。メイン光のみを使用すると、目のまわりのコントラストが低いことに起因して、目領域がうまく示されないことが分かる。
図4(b)は、メイン光に加えて、目領域をカバーし、コントラストを最大化するスポット光が適用されたバニーモデルの目領域を示している。図4(e)は、PELを使用して、図4(b)に示したバニーモデルの目領域を示している。図をみると分かるように、特徴が強調され、対応するPELが目を非常によく示している。
図4(c)は、メイン光に加えて、目領域の局所的なコントラストを最小限に抑えるスポット光が適用されたバニーモデルの目領域を示している。図4(f)は、PELを使用して、図4(c)に示したバニーモデルの目領域を示している。予測されるように、特徴線は、それに応じて低減されている。
照明の非連続性は、シェーディングされた画像(図4(b)および(c))において生じ得ることに留意されたい。上述したようにPEL抽出に関する局所的な連続性を保証すると、境界上に無意味な特徴線を導入することなく、スタンフォードバニーの目の、ユーザにとって望ましい改善されたPELイラストレーションが達成される(図4(e)および(f))。また、PELは、画像空間からは抽出されないことが実証される。画像空間においてエッジ検出アルゴリズムを使用すると、前述の照明の非連続性により、エッジが生じることがあるが、これは、望ましくないことがある。また、これは、画像処理におけるPELとエッジ検出との間の1つの重要な違いを説明する。このコンテキストでは、物体空間は、3D空間と呼ばれることがある。画像空間は、2D空間と呼ばれることがある。
以下に、PELの抽出のアルゴリズムをより詳細に説明する。
PELは、トライアングルメッシュとすることができる3Dオブジェクトの全表面、細分化表面、またはスプラインベースの表面などの上に規定される。背景情報として、トライアングルメッシュは、コンピュータグラフィックスにおける多角形メッシュのタイプである。トライアングルメッシュは、(典型的には、3次元の)三角形のセットを備え、三角形はそれらの共通のエッジまたは角で接続されている。多くのグラフィックスソフトウェアパッケージおよびハードウェアデバイスは、メッシュにグループ化された三角形上では、個別に提示される同様の数の三角形上よりも効率的に動作することができる。これは、典型的には、コンピュータグラフィックスが、三角形の角の頂点上で動作を行うからである。このコンテキストでは、トライアングルメッシュは、映画、ゲーム産業、および科学的可視化における3Dオブジェクト表現の最も一般的に使用される形態なので、3Dオブジェクトの形状イラストレーションに対するPELの効率を実証するために、トライアングルメッシュ上のPEL抽出の実装形態が与えられる。他の形態で表された3Dオブジェクトの場合、それらをトライアングルメッシュに変換するために使用するために、たくさんのオープンソースツールおよび商業用のツールが利用可能である。したがって、PELは頂点を用いて表わされた3Dオブジェクトに限定されるものではないことに留意されたい。
トライアングルメッシュSおよび各頂点上の照明fとすると、S上のPELの抽出は、一実施形態では、以下に説明するいくつかのステップを含む。
第1のステップは、任意選択である前処理である。このステップでは、表面Sの法線nを平滑化する。
第2のステップでは、各頂点に関する照明勾配∇fを計算する。
第3のステップでは、各頂点に関する勾配方向wに沿った方向導関数Dw||∇f||を計算する。
第4のステップでは、ゼロ交差を検出し、局所的な最小値であるものをフィルタ除去し、すなわち、DwDw||∇f||>0となる。
第5のステップでは、PELを得るために、ゼロ交差を追跡する。
前処理について、以下により詳細に説明する。
前処理の目的は、照明のノイズを低減させることである。一実施形態では、PELに関するライトモデルの場合、メインの拡散光と補助的なスポット光の両方が、n・lの関数となる。したがって、照明のノイズは、主に、ジオメトリのノイズ、すなわち、表面法線によって引き起こされ得る。一実施形態では、S上のベクトルフィールドnを処理するために、バイラテラルフィルタが適用される。各頂点νについて、それの近傍を、N(ν)とすることができる。バイラテラルフィルタは、以下のように定義され得る。
ただし、Wcは、パラメータδc:
の接近平滑化フィラーであり、ρ(ν,p)は、νおよびpの相対曲率を模倣し、Wsは、パラメータδs:
の特徴保存フィラーであり、それにより、特徴フィールドの大きな変動は不利になる。実際には、このステップは、たいてい、本明細書で説明された走査されたモデルに対するアルゴリズムのロバスト性を改善するために役立つことが分かる。一実施形態では、パラメータδcおよびδsを設定するために、直観的な方法が使用される。一実施形態では、ユーザは、表面が平滑化されることが予測されるメッシュ上の点を選択し、次いで、その点の近傍の半径rが規定される。一実施形態では、パラメータはδc=r/2と設定され、δsは、選択された近傍におけるρ(ν,p)の標準偏差である。
表面法線を平滑化する利点は、一度だけ計算できることであり、それにより、計算オーバーヘッドが回避され、中程度のサイズのメッシュについて、PELイラストレーションを実時間で達成することが保証される。別の実施形態では、前処理は、表面上の照明fを平滑化することによって実行することができ、それにより、ライティング状態またはビュー状態が変更されると、各フレーム中で高価な平滑化オペレーションが引き起こされ得る。
導関数の計算について、以下により詳細に説明する。
PELの定義は、表面照明の3次導関数に関与し、したがって、効率的に、かつロバストに導関数を計算することが重要である。一実施形態では、頂点単位の導関数は、隣接する面単位の導関数を平均化することによって計算される。
例示するように、任意のスカラー関数gがメッシュ上で規定される、すなわち、g:M−>R、頂点Vi∈R3である三角形T∈M、および関連付けられたスカラー値gi=f(Vi)∈R、i=1,2,3と見なされる。面単位の座標系は、面法線に垂直な平面中で規定される。面単位の座標系における3つの頂点Tは、(xi,yi)∈R2、i=1,2,3とされる。面単位の勾配∇gは、
のように計算することができ、ただし、Tの符号付き区域の2倍である
dT=(x1y2−y1x2)+(x2y3−y2x3)+(x3y1−y3x1)
となる。
各頂点の勾配は、その頂点の隣接する面の勾配の重み付けされた平均と見なされる。頂点座標系(U,V)は、頂点法線に垂直な平面中に規定される。
頂点座標系および面座標系は、異なることが多いことに留意されたい。一実施形態では、頂点単位の導関数に対する面単位の導関数の寄与を計算する前に、座標系変換が適用される。
図5(a)は、頂点(x1,y1),(x2,y2)、および(x3,y3)を示している。図5(b)は、面座標系を示している。
一実施形態では、最初に、局所的な頂点座標系を、局所的な面座標系と共面となるように回転させる。次いで、頂点座標系中の点(ui,vi)=uiUi+viViとすると、頂点単位の勾配は、
を用いて局所的な面座標系において計算される。一実施形態では、それらは、頂点の隣接する面のすべてに関する頂点単位の勾配を計算した後に、重み付けされた平均化を用いて累積される。一実施形態では、頂点の最も近くにある区域の一部分となるように設定されたボロノイ区域重みwiが使用される。最終的には、頂点単位の導関数を、
のように計算することができる。
PELの追跡について、以下により詳細に説明する。
一実施形態では、各メッシュ頂点vにおける照明の変動の方向導関数が計算されると、メッシュエッジ[v1,v2]がゼロ交差を含んでいるかどうかを確認することができる。h(ν)=Dw||∇f(ν)||とする。h(ν1)・h(ν2)<0である場合、エッジ[v1,v2]上のゼロ交差を近似させるために、線形補間を使用することができ、pは、PEL頂点と見なされ得る。三角形のエッジ上で2つのPEL頂点が検出された場合、その2つの頂点を接続するために、直線セグメントを使用することができる。区分的線形PEL曲線を形成するために、複数の線セグメントを接続することができる。
一実施形態では、線に沿った||∇f||の積分によって、PELの強度を測定することができる。
一実施形態では、しきい値Tを規定して、しきい値Tよりも強度が低いノイズの多いPELをフィルタ除去することができる。一実施形態では、このしきい値は、ユーザにより指定することができる。
科学用途および医療用途では、ボリューム測定データが広く使用されている。ボリュームビジュアライゼーションに適用される非フォトリアリスティックレンダリングとして、ボリュームイラストレーションを見ることができる。一実施形態では、等値面を使用するボリュームイラストレーションのために、PELを適用することができる。等値面は、等値輪郭の3次元相似体である。空間のボリューム内の一定値(たとえば、圧力、温度、速度、密度)の点を表す表面である。換言すると、ドメインが3D空間である連続関数のレベルセットである。医療画像では、3次元CTスキャンにおいて特定の密度の領域を表すために、等値面を使用することができ、それにより、内部器官、骨、または他の構造を視覚化することができるようなる。PELを用いたボリュームデータセットの視覚化は、2つの段階、つまり、等値面抽出段階およびレンダリング段階からなる。最初に、前処理段階において、標準的なマーチングキューブ法を用いて、ユーザが関心をもつ等値面を抽出することができる。レンダリング段階において、各等値面についてPELを計算し、次いで、合成することができる。また、ボリュームイラストレーションをさらに改善するために、スタイライズされたシェーディングを適用して、重要な詳細をハイライトし、ボリュームデータセットの内部構造を強調することができる。
図6(a)〜(f)は、ボリューム測定データセットのイラストレーションのためのPELの適用を示している。図6(a)〜(c)は、等値面が様々な視点から抽出および表示されていることを示す。図6(a)〜(c)は、PEL(実線)によって伝えられていることを示している。図6(d)〜(f)は、様々な視点から抽出および表示された等値面の別のセットを示している。内部構造を強調するために、図6(a)〜(f)では、外側の等値面は点線のみを用いて示されている。
既存の特徴線と比較すると、輝度変動を用いたPELの規定は、より良好に知覚的に一致することを保証する。同時に、照明はビュー位置、ライトモデル、材質、テクスチャ、および幾何学的特性に依存するので、PELは、既存の特徴線よりも一般的でもある。より重要なことに、PELにより、上述のパラメータを操作することによって、ユーザは、より自由に所望のイラストレーションを制御することができるようになる。画像処理に由来しているが、PELが物体空間中で計算される点で、PELは、画像空間エッジ検出とは異なる。画像空間における特徴線のピクセルベースの表現は、レンダリング中に3Dシーン情報が失われること起因して、精密度が低くなってしまうことがあり、スタイライズのようなさらなる処理には適さない。対照的に、PELは物体空間中で規定されるので、PELにはこれらの制約がなく、したがって、ユーザは、光を操作することによって照明を完全に制御することができ、さらに、ユーザが所望のイラストレーションを達成するのに役立つ。
一実施形態にしたがって、PELを用いて線描画を生成するプロセスは、以下のようにまとめることができる。
第1のステップにおいて、初期のライティング状態の3Dシーンを設定する。換言すると、メイン光が適用される。第2のステップにおいて、PELを用いた線描画をシステムによって計算する。換言すると、PELが抽出される。第3のステップにおいて、ユーザは、全体的にまたは局所的にライティングを操作する。たとえば、ユーザは、1つまたは複数の補助光を3Dオブジェクト上に局所的に追加することができる。第4のステップにおいて、調節された光設定を用いて、改善された線描画を計算することができる。次いで、プロセスは、所望の線描画が達成されるまで、第3のステップに戻る。
一実施形態では、メイン光および補助光を用いた効果的な光設定が提供される。メイン光としてヘッドライトを使用することによって、PELを用いた直観的なビューおよび光に依存する線描画を自動的に計算することができ、これは、多くの場合では、既に望ましい。増分的なライティング操作を用いると、より複雑なシーンについて、ユーザがさらに線描画を指定することができるようになる。本発明では、ユーザフレンドリなライティング操作が提供される。また、最適なライティング設定は、高速線形最適化アルゴリズムを用いて、自動的に計算することができる。
一実施形態では、PELのような特徴線を使用する3Dオブジェクトのイラストレーションは、クラスタリング曲線からの対応に基づいて、フレームコヒーレンスを用いたスタイライズされたアニメーションのための動的設定にさらに適用され得る。このコンテキストでは、用語「フレーム」はデジタルピクチャを指し、アニメーションは、複数のフレームまたはデジタルピクチャのビデオシーケンスである。フレームコヒーレンス、またはデジタルピクチャコヒーレンスは、ビデオシーケンス内の異なる複数のデジタルピクチャ間のスタイライズの一貫性を指し得る。スタイライズは、非フォトリアリスティックアプリケーションの特性である。抽出された線、すなわち、PELに基づいて、3Dオブジェクトの形状は、スタイライズされた曲線を用いて表すことができ、スタイライズされた曲線は、波打ち、幅およびテクスチャが変わり、あるいは天然媒質を用いて手で描かれた曲線とは別の方法に類似する。これらのアプリケーションでは、イラストレーションの他の目標は、形状の知覚的に一貫性のあるイラストレーションを達成することだけでなく、視覚的に満足できる線描画を達成することである。これは、テレビまたは映画用の漫画アニメーションで広く使用されている。曲線ベースのスタイライズされたアニメーションに関する重要な課題は、フレーム間コヒーレンスを提供することであり、それにより、曲線は、アニメーション化されたシーンにおいて変化するように、経時的に滑らかに適合する。現在のコヒーレンスの問題は、スタイライズされたレンダリングの主な課題である。視点が変わったときに経時的にマージする、分離する、現れる、または消える、PELのようなビューに依存する特徴線について、特に課題が多い。
一実施形態では、フレームコヒーレンスを用いてスタイライズされたアニメーションを生成するための手法が提供される。一実施形態では、フレームコヒーレンスは、曲線クラスタリング方法に基づいて得られる曲線の対応に基づいている。具体的には、アニメーションは、PELベースであり得る。しかしながら、本明細書に記載される方法は、PELに適用されることに限定されるものではなく、曲線が3D空間から3Dオブジェクトのために抽出される、デジタルピクチャの任意のビデオシーケンスに適用され得ることに留意されたい。
図7に、曲線コヒーレンスを用いたスタイライズされたアニメーションプロセスの図を示す。この例では、プロセスは、PEL曲線グループ化に基づいている。スタイライズされたアニメーションプロセスは、PEL曲線に限定されるものではなく、曲線が3D空間から3Dオブジェクトのために抽出されるデジタルピクチャの任意のシーケンスに適用され得ることに留意されたい。
プロセス701において、デジタルピクチャのビデオシーケンスにおいて提示されることになる3Dオブジェクトのイラストレーションのために、3Dオブジェクトに関するPELが抽出される。
プロセス702において、ユーザは、曲線グループ化などのいくつかのルールを設定することによって、アニメーションに影響を与えることができる。
プロセス703において、プロセス701における抽出されたPELおよびプロセス702におけるユーザからの入力に基づいて、PEL曲線グループ化が実行される。
任意選択で、プロセス704において、知識ベースの線描画も関与する。
プロセス705において、プロセス703における曲線グループ化およびプロセス704における知識ベースの線描画に基づいて、PEL曲線対応が確立される。
プロセス706において、スタイライズされたアニメーション、つまり、デジタルピクチャのビデオシーケンスが提示される。
図8に、一実施形態にしたがって、ステップ801、802、803および804を含むデジタルピクチャを生成するための方法を示す。
一実施形態では、この方法は、複数の曲線の各々に関する3次元表現を受信するためのステップ801を含み、各曲線は、3次元オブジェクトの形状を少なくとも部分的に表している。例として、ビデオシーケンスの複数のデジタルピクチャ中に提示されるべき3Dオブジェクトについて、その3Dオブジェクトの形状を示すために、複数の曲線、たとえば、PELを抽出することができる。各曲線は、3D空間中の、およびビデオシーケンス中に提示されるべきデジタルピクチャ中の位置などのそれぞれ対応する3D情報を有することができる。各曲線は、3Dオブジェクトの形状の少なくとも一部を示している。たとえば、3Dオブジェクトが人の頭部である場合、各曲線は、人の頭部の一部、たとえば、左目の形状を示すことができる。
一実施形態では、この方法は、3次元表現によって与えられた3次元情報を使用して、曲線の3次元表現に基づいて、複数の曲線を少なくとも1つの曲線グループにグループ化するためのステップ802をさらに含む。例として、各デジタルピクチャについて、曲線が、3Dオブジェクトの同じ部分、近くの部分、または類似する部分を示している場合、それらの曲線を一緒にグループ化することができる。このコンテキストでは、類似する部分は、3Dオブジェクト上のあらかじめ規定された範囲内の部分、または3Dオブジェクトのジオメトリ、たとえば、曲率の変化のあらかじめ規定された範囲の部分を指し得る。たとえば、3Dオブジェクトが人の頭部である場合、左目を示すために使用される複数の曲線を一緒にグループ化することができる。別の例として、異なる複数のデジタルピクチャについて、3Dオブジェクトの同じ部分または類似する部分を示すために使用される複数の曲線を一緒にグループ化することができる。たとえば、3Dオブジェクトが人の頭部である場合、異なる複数のデジタルピクチャに提示されるべき左目区域を示す複数の曲線を一緒にグループ化することができる。具体的な例では、異なる複数のデジタルピクチャ間の曲線グループ化の場合、曲線グループAは、各デジタルピクチャからの1つまたは複数の曲線を含み得る。また、ビデオシーケンスの少なくとも1つのデジタルピクチャについて、少なくとも1つのデジタルピクチャが、グループAに関連付けられた3Dオブジェクトの一部に関する曲線を含んでいない場合、グループAにグループ化される曲線が1つもないことも起こり得る。
一実施形態では、3次元情報は、3次元空間中の曲線の3次元経路に関する情報である。たとえば、3次元情報は、3D空間における曲線の各点の位置または座標を規定することができる。
一実施形態では、この方法は、曲線グループの曲線に基づいて、各曲線グループをピクチャエレメントに関連付けるためのステップ803をさらに含む。例として、1つのデジタルピクチャに関する曲線グループの場合、曲線グループを、3Dオブジェクト、たとえば、人の頭部の一部、たとえば、左目領域に関連付けることができる。さらなる例として、異なる複数のピクチャに関する曲線グループの場合、異なる複数のデジタルピクチャに提示されるべき3Dオブジェクト、すなわち、人の頭部の一部、すなわち、左目領域に、曲線グループを関連付けることができる。
一実施形態では、この方法は、ピクチャエレメントを使用してデジタルピクチャを形成するためのステップ804をさらに含む。たとえば、3Dオブジェクトが人の頭部である場合、左目領域、右目領域、口領域などのような異なるピクチャエレメントに関して、曲線グループを生成することができる。異なる複数のピクチャエレメントに関連付けられた曲線グループに基づいて、デジタルピクチャを生成することができる。たとえば、左目領域に関連付けられている曲線グループを太線スタイルで表示するようにユーザが設定した場合、左目に関連付けられた曲線グループを、太線モードの曲線で提示することができる。
一実施形態では、換言すると、最初に、ビデオシーケンスの異なる複数のデジタルピクチャに表されるべき3Dオブジェクトについて、曲線または特徴線が抽出される。各曲線は、3Dオブジェクトの形状の少なくとも一部を反映する。各曲線は、3D空間における位置または座標のような、3D空間におけるそれ自体の情報を有する。各曲線はまた、曲線が関係するビデオシーケンスのデジタルピクチャに関する各曲線の情報を有する。曲線は、各曲線の3D空間における位置の情報に基づいて、ある特定のルールにしたがってグループ化される。各曲線グループを、1つのデジタルピクチャ中の、または異なる複数のデジタルピクチャ中の3Dオブジェクト上の同じ部分または類似する部分に関連付けることができる。各曲線グループを、3Dオブジェクトのピクチャエレメント、たとえば、左目領域に関連付けることができる。各デジタルピクチャについて、1つのピクチャエレメントに関連付けられた少なくとも1つの曲線グループが形成される。デジタルピクチャに関係するピクチャエレメントに基づいて、デジタルピクチャが生成される。
図9に、デジタルピクチャを生成するためのデバイス900を示す。デバイス900は、受信ユニット901と、グループ化ユニット902と、関連付けユニット903と、生成ユニット904とを備える。
一実施形態では、受信ユニット901は、複数の曲線の各々に関する3次元表現を受信するように構成され、各曲線は、3次元オブジェクトの形状を少なくとも部分的に表す。
一実施形態では、グループ化ユニット902は、3次元表現によって与えられた3次元情報を使用して、曲線の3次元表現に基づいて、少なくとも1つの曲線グループをグループ化するように構成される。
一実施形態では、関連付けユニット903は、曲線グループの曲線に基づいて、各曲線グループをピクチャエレメントに関連付けるように構成される。
一実施形態では、生成ユニット904は、ピクチャエレメントを使用して、デジタルピクチャを形成するように構成される。
一実施形態では、コンピュータのプロセッサに、デジタルピクチャを生成するための方法を実行させるように適合されたプログラムを記録したコンピュータ可読媒体が提供される。一実施形態では、このコンピュータ可読媒体は、プロセッサに、複数の曲線の各々に関する3次元表現の受信を実行させるプログラムのコードであって、各曲線が、3次元オブジェクトの形状を少なくとも部分的に表す、コードを備える。
一実施形態では、このコンピュータ可読媒体は、プロセッサに、3次元表現によって与えられた3次元情報を使用して、曲線の3次元表現に基づいて、複数の曲線の少なくとも1つの曲線グループへのグループ化を実行させる、プログラムのコードをさらに備える。
一実施形態では、このコンピュータ可読媒体は、プロセッサに、曲線グループの曲線に基づいて、各曲線グループとピクチャエレメントとの関連付けを実行させる、プログラムのコードをさらに備える。
一実施形態では、このコンピュータ可読媒体は、プロセッサに、ピクチャエレメントを使用するデジタルピクチャの形成を実行させる、プログラムのコードをさらに備える。
一実施形態では、このデジタルピクチャは、複数のデジタルピクチャのビデオシーケンスのうちのデジタルピクチャである。換言すると、このデジタルピクチャは、複数のデジタルピクチャを含むアニメーションのデジタルピクチャである。換言すると、曲線は、ビデオシーケンスの複数のフレーム、たとえば、ビデオシーケンスの後続のフレームにまたがって曲線をグループ化され得る。
一実施形態では、複数の曲線のうちの少なくとも2つの曲線が、複数のデジタルピクチャのビデオシーケンスのうちの異なる複数のデジタルピクチャに関連付けられる。
一実施形態では、曲線の3次元表現は、3次元空間中の頂点のセットである。たとえば、曲線の3次元表現は、PELであり得る。前述したように、PELは、勾配の方向における照明の変動が局所的な最大値に達する、3Dオブジェクトの頂点のセットとすることができる。
一実施形態では、これらの頂点は、3次元オブジェクトが所定の視点から見え、少なくとも1つの所定の光源によって照明される場合に、3次元オブジェクトの照明が変わる、3次元空間中の点を特定する。たとえば、少なくとも1つの所定の光源は、メイン光であり得る。別の例では、少なくとも1つの所定の光源は、メイン光および少なくとも1つの補助光を含み得る。
PELストローククラスタリングについて、以下により詳細に説明する。
一実施形態では、曲線、たとえば、PELの知覚的なグループ化の基礎的な低レベルの操作である、本明細書で提供された曲線グループ化方法に基づいて、スタイライズされた曲線を生成することができる。一般的なプロセスとして、ヒューマンビジョンとコンピュータビジョンの両方において、低いレベルの特徴のグループ化は、複雑なシーンを理解する際に、抽象的かつ効果的な情報を与える。たとえば、PEL曲線のグループ化は、デジタルピクチャ間の曲線の対応を発見する際に、高いレベルの情報を与えることができる。画像処理およびコンピュータビジョンにおける従来の作業はほとんど、点および直線のセグメント化およびグループ化に着目する。これらの作業と比較すると、任意の曲線は点および直線よりも自由度が高いので、曲線のセグメント化およびグループ化はより複雑である。
一実施形態では、曲線グループ化は、以下に述べるような原理に従う。点ベースの画像セグメント化と比較すると、ノイズまたはギャップならびに様々なスケールの様々な構造をもつ曲線など、いくつかの基本的な態様では、曲線グループ化は難しいことが分かる。曲線セット内の曲線の近傍を判断し、2つの任意の曲線の交点および距離を精確に判断することは難しい。スタイライズされた線描画のための曲線のグループ化ついて特に考慮すると、一実施形態では、
・連続性。曲線の曲線性の評価は、曲線の長さに関するギャップ距離、および結合曲線の湾曲量を考慮する。
・平行性。潜在的な平行性の評価は、曲線間の分離の因子、および曲線のオーバーラップ量を考慮する。
・近接度。2つの曲線のすべての点の間の最小距離。
・閉鎖性。閉曲線につながりやすい曲線の可能性。
を含む、知覚的グループ化ルールに着目して曲線のクラスタを発見するための方法が提供される。
一実施形態では、最初に、曲線は、クラスタリングの前に、曲率の大きな場所で短いセグメントに分割され得る。たとえば、曲線は、曲率が所定の値よりも大きな場所で短いセグメントに分割され得る。次いで、曲線セグメントは、連続性、平行性、近接度および閉鎖性の評価の線形結合にしたがって、別々にグループ化され得る。
一実施形態では、1つのデジタルピクチャ内で、または異なる複数のデジタルピクチャ間で2つの曲線を一緒にグループ化すべきかどうかを判断するために、いくつかのパラメータの測定値を使用することができる。一実施形態では、そのようなパラメータは、
1.2つの曲線の連続性
2.2つの曲線の平行性
3.2つの曲線の近接度、および
4.閉曲線につながるべき2つの曲線の可能性
を含み得る。
上述のパラメータの測定値について、以下に詳細に説明する。
連続性、平行性、近接度および閉曲線につながるべき2つの曲線の可能性のパラメータの測定値は、以下に与えられる具体的な例に限定されるものではなく、連続性、平行性、近接度、および閉曲線につながるべき2つの曲線の可能性のパラメータを反映し得る任意の他の測定値であり得ることに留意されたい。
一実施形態では、2つの入力曲線(l1,l2)の長さに関する結合曲線(li)の長さ、ならびに結合曲線の湾曲度に基づいて、連続性を計算することができる。一実施形態では、結合曲線は、2つの入力曲線の端部の点をサンプリングすることによって生成され、次いで、これらの点を補間し、2つの入力曲線をリンクさせるBスプライン曲線を計算する。たとえば、曲線l1が2つの端部AおよびBを有し、曲線l2が2つの端部CおよびDを有し、端部Aは、l1のもう一方の端部Bと比較してl2により近く、端部Cは、l2のもう一方の端部Dと比較してl1により近いと仮定する。次いで、l1の端部Aとl2の端部Cとの間の点をサンプリングすることによって、結合曲線liが生成され得る。結合曲線の最大曲率(Kmax)をもつ結合曲線の湾曲を判断することができ、それは、最大曲率を有する結合曲線中の点の曲率を指す。したがって、連続性は、
mc=li/(l1+l2)*Kmax (7)
のように定義することができる。
一例では、ユーザが規定したしきい値よりもmCの値が小さい場合、2つの曲線は連続していると見なされる。
図10に、2つの曲線l1およびl2の連続性の判断の例を示し、l1は2つの終点1001および1002を有し、l2は2つの終点1003および1004を有している。この例では、l1の終点1001は、終点1002と比較して曲線l2により近く、l2の終点1003は、終点1004に比較して曲線l1により近い。
曲線l1およびl2が連続しているかどうかを判断するために、結合曲線liが生成され得る。最初に、終点1001に近い曲線l1および終点1003に近い曲線l2においてサンプリング点を選択することによって、結合曲線liを生成することができる。この例では、それぞれ5つのサンプリング点が選択され、終点1001に近い曲線l1中には、点1001および1005〜1008が選択され、終点1003に近い曲線l2中には、点1003および1009〜1012が選択される。選択されたサンプリング点に基づいて、これらのサンプリング点(点1001、1003、および1005〜1012)を補間し、2つの曲線l1およびl2をリンクさせるBスプライン曲線liが生成され得る。
一実施形態では、式(7)を使用して、l1、l2およびliに基づいて、値mCが計算され得る。計算されたmCは、所定のしきい値と比較され得る。所定のしきい値よりもmCが小さい場合、曲線l1およびl2は連続していると見なされ得る。そうでない場合、曲線l1およびl2は開いていると見なされ得る。
一実施形態では、平行性の測定値は、2つの入力曲線間の分離の因子と、2つの曲線のオーバーラップ量とを考慮する。図11に、2つの曲線の平行性の判断を示す。たとえば、それぞれ対応する長さをもつ2つの曲線l1およびl2は、Bスプラインを用いて表すことができ、点のセットは、同じパラメータ値(t=0.1,0.2,0.3・・・0.5・・・1.0など)をもつ各曲線についてサンプリングされ得る。次いで、点の第3のセットを生成するために、サンプリング点のこれらの2つのセットが線形に補間され得る。点の第3のセットは、図11に示すように、曲線l1と曲線12の間に、長さliのBスプライン中間曲線を生成するために使用され得る。中間曲線は、点1100において、t=0.5で2つの部分に分割され得る。第1の部分li1の長さは、m1で表すことができ、第2の部分li2の長さはm2で表すことができる。2つの曲線の終点と中間曲線との間の距離を、それぞれe1、e2とする。一実施形態では、平行性は、
mP=li/(l1+l2)*(l−R0)
と定義することができ、ただし、
R0−(m1+m2)/(m1+m2+e1+e2)
である。
一実施形態では、ユーザが規定したしきい値よりもmPの値が大きい場合、2つの曲線は、平行であると見なされ得る。
2つの曲線の近接度は、2つの曲線のすべての点の間の最小距離として定義することができる。たとえば、pi、pjをそれぞれ2つの曲線上の任意の点とすると、2つの曲線の近接度は、
mD=min||pi−pj||
のように、2つの曲線のすべての点の間の最小距離として定義することができる。
一実施形態では、ユーザが規定したしきい値よりもmDの値が小さい場合、2つの曲線は、近接していると見なされる。
閉包mOは、閉曲線につながりやすい曲線の可能性として定義することができる。たとえば、2つの入力曲線の端部において点がサンプリングされ、次いで、これらの点を補間し、2つの入力曲線をリンクさせるBスプライン曲線が計算される。たとえば、曲線liが2つの端部AおよびBを有し、曲線12が2つの端部CおよびDを有し、端部Aは、l1のもう一方の端部Bに比較して12の端部Cにより近く、端部Bは、l1のもう一方の端部Aに比較して、12の端部Dにより近いと仮定する。次いで、l1の端部Aとl2の端部Cの間に結合曲線li1が生成され得、l1の端部Bとl2の端部Dの間に別の結合曲線li2が生成され得る。次いで、結合曲線に沿った曲率の和が計算され得る。一実施形態では、結合曲線の曲率和mOが大きい2つの曲線は、開いていると見なされ得る。たとえば、ユーザが規定したしきい値よりも和が大きい場合、2つの曲線は、開いていると見なされ得る。一実施形態では、ユーザが規定したしきい値よりも曲率の和mOが小さい場合、2つの曲線は閉じていると見なされ得る。
図12に、2つの曲線l1およびl2が閉曲線を形成しやすいかどうか、すなわち、閉曲線につながるべき2つの曲線の可能性の判断を示し、曲線l1は、2つの終点1201および1202を有し、曲線l2は、2つの終点1203および1204を有する。
この例では、終点1201は、曲線l1のもう一方の終点1202に比較して曲線l2の終点1203により近く、終点1202は、曲線l1のもう一方の終点1201に比較して曲線l2の終点1204により近い。次いで、曲線l1の終点1201と曲線l2の終点1203との間に、結合曲線li1が生成され得、曲線l1の終点1202と曲線l2の終点1204との間に、別の結合曲線li2が生成され得る。たとえば、最初に、終点1201に近い曲線l1および終点1203に近い曲線l2においてサンプリング点を選択することによって、結合曲線li1が生成され得る。この例では、それぞれ5つのサンプリング点が選択され、終点1201に近い曲線l1中には、点1201および1205〜1208が選択され、終点1203に近い曲線12中には、点1203および1209〜1212が選択される。選択されたサンプリング点に基づいて、これらのサンプリング点(点1201、1203、および1205〜1212)を補間し、2つの曲線l1およびl2をリンクさせるBスプライン曲線li1が生成され得る。同様に、最初に、終点1202に近い曲線l1および終点1204に近い曲線l2においてサンプリング点を選択することによって、結合曲線li2が生成され得る。この例では、それぞれ5つのサンプリング点が選択され、終点1202に近い曲線l1中には、点1202および1213〜1216が選択され、終点1204に近い曲線l2中には、点1204および1217〜1220が選択される。選択されたサンプリング点に基づいて、これらのサンプリング点(点1202、1204、および1213〜1220)を補間し、2つの曲線l1およびl2をリンクさせるBスプライン曲線li2が生成され得る。一実施形態では、結合曲線li1およびli2に沿った曲率の和を計算する。一実施形態では、この和は、ユーザが規定したしきい値をと比較され得る。一実施形態では、ユーザが規定したしきい値よりも曲率の和mOが小さい場合、2つの曲線は、閉じていると見なされ得る。ユーザが規定したしきい値よりも和が大きい場合、2つの曲線l1およびl2は開いていると見なされ得る。
一実施形態では、2つの曲線の同じグループへのグループ化は、上述のすべてのパラメータmC、mP、mD、mOの測定値に依存する。一実施形態では、全体的なグループ化値MAを計算するために、線形結合を使用することができる。ユーザは、特定のパラメータを強調するために線形結合の重みを調節することができる。一実施形態では、ユーザが規定したしきい値よりも全体的なグループ化値が大きいとき、入力曲線は、同じグループにグループ化され得る。
たとえば、MAは、
MA=a*mC+b*mP+c*mD+d*mO (8)
のように表すことができ、ただし、a、b、cおよびdはそれぞれ、mC、mP、mDおよびmOの重みである。しきい値THは、デフォルト値となるように設定しても、あるいはユーザが設定してもよい。一例では、MAがTHよりも大きい場合、2つの曲線は、1つの曲線グループになるべきであると判断される。
一例では、重みa、b、cおよびdは、デフォルト値となるように設定しても、あるいは、たとえば、ユーザが判断してもよい。一例では、重みa、b、cおよびdはそれぞれ、異なる複数のパラメータmC、mP、mDおよびmOの異なる強調にしたがって判断され得る。たとえば、連続性および平行性のみが重要なパラメータと見なされる場合、それぞれ対応する重みaおよびbを、ある特定の非ゼロ値となるように設定することができ、重みcおよびdを、ゼロとなるように設定することができる。別の例では、2つの曲線を一緒にグループ化すべきかどうかを評価するためには、1つのパラメータ、すなわち、近接度のみが重要であると見なされる場合、それぞれ対応する重みcを、ある特定の非ゼロ値となるように設定することができ、重みa、bおよびdを、ゼロとなるように設定することができる。さらなる例では、mC、mP、mDおよびmOのすべてのパラメータが重要であると見なされる場合、重みa、b、cおよびdは、各パラメータのそれぞれ対応する重要度にしたがって、それぞれ、ある特定の非ゼロ値となるように設定することができる。
一実施形態では、2つの曲線間の連続性の測定値、2つの曲線の平行性の測定値、2つの曲線の近接度の測定値、および閉曲線につながるべき2つの曲線の可能性の測定値のうちの少なくとも1つに基づいて、2つの曲線が同じ曲線グループにグループ化されるかどうかが決定される。例として、上記に与えられたMAの式(8)を参照して、重みa、b、cおよびdのうちの少なくとも1つは非ゼロ値であり、したがって、MAは、mC、mP、mDおよびmOのうちの少なくとも1つのパラメータに基づいて判断される。
一実施形態では、2つの曲線間の連続性の測定値、2つの曲線の平行性の測定値、2つの曲線の近接度の測定値、および閉曲線につながるべき2つの曲線の可能性の測定値のうちの少なくとも1つと、所定のしきい値との比較に基づいて、2つの曲線が同じ曲線グループにグループ化されるかどうかが決定される。たとえば、上記で与えられたMAの式(8)を参照して、a、b、cおよびdの少なくとも1つの重みは、非ゼロ値となるように設定される。したがって、MAは、mC、mP、mDおよびmOのうちの少なくとも1つのパラメータに基づいて判断され、MAは、さらに、2つの曲線を同じ曲線グループにすべきかどうかを判断するために、所定のしきい値THと比較される。
一実施形態では、2つの曲線間の連続性の測定値、2つの曲線の平行性の測定値、2つの曲線の近接度の測定値、および閉曲線につながるべき2つの曲線の可能性の測定値のうちの少なくとも2つの組合せと、所定のしきい値との比較に基づいて、2つの曲線を同じ曲線グループにグループ化すべきかどうかが決定される。例として、上記で与えられたMAの式(8)を参照して、a、b、cおよびdの少なくとも2つの重みは、非ゼロ値となるように設定される。したがって、MAは、mC、mP、mDおよびmOのうちの少なくとも2つのパラメータに基づいて判断され、MAは、さらに、2つの曲線を同じ曲線グループにすべきかどうかを判断するために、所定のしきい値THと比較される。
一実施形態では、組合せは、2つの曲線間の連続性の測定値、2つの曲線の平行性の測定値、2つの曲線の近接度の測定値、および閉曲線につながるべき2つの曲線の可能性の測定値のうちの少なくとも2つの重み付けされた和である。例として、mC、mP、mDおよびmOのパラメータは、それぞれ、a、b、cおよびdによって重み付けされる(式(8))。ユーザは、2つの曲線を同じ曲線グループにグループ化すべきかどうかの評価の重要度にしたがって、各パラメータの重みを設定することができる。一実施形態において、曲線のグループ化が理想的でない場合、ユーザは、さらに、異なる複数のパラメータについて重みを調節することができる。
一実施形態では、曲線グループ化は、単一のデジタルピクチャにおいても、複数のデジタルピクチャのビデオシーケンスの異なる複数のデジタルピクチャ間においても実行される。単一のデジタルピクチャにおける曲線グループ化は、曲線の高いレベルの構造を発見する際に役立つことがあり、デジタルピクチャ間のグループ化は、ビデオシーケンス内のデジタルピクチャの対応を発見する際に役立つ。
3D空間で作動するとき、追加の深さ寸法は、曲線グループ化に関するさらなる情報を与えることができる。
一実施形態では、デジタルピクチャ間の曲線グループ化は、曲線対応を発見することを目的として設計される。アニメーションでは、各デジタルピクチャ中の対応する曲線は、単一のグループにグループ化され得る。たとえば、これらの曲線は類似する位置に配置され、類似する幾何学特性を有し得る。このコンテキストでは、類似する位置とは、曲線の位置が互いにあらかじめ規定された範囲内にあることを指し得る。類似する幾何学特性とは、曲線の曲率の差が、あらかじめ規定された範囲内であり得ることを指し得る。これらの曲線グループ情報とともに、曲線スタイルおよびフレーム間補間は、異なる複数の曲線グループに適用され得る。
図13(a)〜(c)に、異なる複数のデジタルピクチャに関する曲線グループ化の一例を示す。
図を見ると分かるように、図13(a)〜(c)は、回転している人の頭部を、ビデオシーケンスの3つの異なるデジタルピクチャで、アニメーションで示している。図13(a)では、第1のデジタルピクチャの曲線AおよびBは顔の左目を示す。第2のデジタルピクチャである図13(b)では、左目を示すために曲線A1のみが使用される。第3のデジタルピクチャである図13(c)では、左目を示すために、曲線A2およびB2が使用される。一実施形態では、曲線グループ化の結果として、左目に対して、2つの曲線グループ、つまり、曲線A、A1およびA2をもつ1つのグループ、ならびに曲線BおよびB2をもつもう1つのグループが判断され得る。曲線グループ化に基づいて、一実施形態では、これらの2つのグループ内の曲線に、異なるスタイルを適用することができる。この実施形態は、3Dオブジェクトの形状の理解を容易にすることができ、スタイライズされたストロークを用いて視覚的に満足できるアニメーションを達成するのに役立つ。
いくつかの場合、完全に自動化された曲線グループ化は、満足できるグループ化を保証しないことがあるので、一実施形態では、グループ化プロセス中に曲線グループ化を調節および修正するために、ユーザ対話を組み込むことができる。たとえば、ユーザは、式(8)に示すように、a、b、cおよびdの重みを調節することができる。別の例では、ユーザはMAのしきい値THを調節することができる。
一実施形態では、曲線グループ化は、3Dオブジェクトの構造に関する高いレベルの情報を提供することができ、それにより、より洗練された線描画を生成するために意味情報を組み込むことが可能になる。意味情報は、曲線に意味を与えることができ、たとえば、それは個人の顔の目または口である。曲線グループ化は、広範囲のアプリケーションに適用することができ、以下において、曲線グループ化する方法の効果について、知識ベースの線描画、およびスタイライズされたストロークアニメーションを用いて実証する。
知識ベース線描画について、以下により詳細に説明する。
観察から、アーティストによる線描画の線は、オブジェクト表面上のジオメトリまたはライティングを常にたどるわけではないことがわかる。たとえば、手で描いた線描画では、特別な表現を目的とした線の誇張がしばしば見られる。これは、漫画のような、いくつかの伝統的な芸術スタイルにおいて顕著である。それは、線描画で表されたオブジェクトに関する何らかの常識を理由に、人々にはよく理解される。
一実施形態では描画プロセスにテンプレートおよび意味情報を組み込むことによって、曲線を用いたアニメーション化された顔のイラストレーションのための方法が提供される。一実施形態では、この方法は、3Dオブジェクトについて抽出された曲線のグループ化、およびあらかじめ規定された、厳密な制約のあるドメインに基づいている。このコンテキストでは、厳密な制約のあるドメインとは、曲線グループが、あらかじめ規定された構成要素に明確に対応するという要件を指し得る。たとえば、曲線グループは、左目領域の区域に曲線を含むことがあり、曲線グループを、あらかじめ規定された構成要素、つまり、左目領域のテンプレートとマッチングさせることがある。一実施形態では、曲線は、PELである。
一実施形態では、テンプレートおよび意味情報を描画プロセスに組み込むために、知識ベースのアルゴリズムが提供される。一実施形態では、曲線がグループ化された後、各曲線グループをあらかじめ規定された構成要素とマッチングさせることができる。たとえば、曲線グループを、あらかじめ規定された構成要素、すなわち、左目とマッチングさせることができる。あらかじめ規定された構成要素の複数のテンプレートは既にシステムに記憶しておいてもよい。一実施形態では、曲線グループに最もよく整合する、あらかじめ規定された構成要素のテンプレートを選択することができる。一実施形態では、各曲線グループを、選択されたテンプレートと交換することができる。一実施形態では、選択されたテンプレートをさらに、スタイライズする、すなわち、太線描画モードにすることができる。一実施形態では、選択されたテンプレートをデジタルピクチャにフィットするように変換および合成することができる。このようにして、スタイリスティックな線描画を達成することができる。これらの線描画中の曲線は、画像の特徴をたどらないことがあるが、全体として、線描画は、依然として、「正しく」かつ美しくなり得る。このプロセスは任意選択とすることができ、あらかじめ規定された描画は、うまく規定された曲線対応を有することができるので、スタイライズされた曲線をアニメーションに適用する際に役立つ。
一実施形態では、前述のように、曲線グループ化は、連続性、平行性などのルールにしたがって自動的に実行される。
一実施形態では、知識ベースのアルゴリズムは、ビデオシーケンス内のすべてのデジタルピクチャで作動する。
一実施形態では、あらかじめ規定されたテンプレートデータベースは、人の顔、動物、建物などのように、様々な分野について構築され得る。
一実施形態では、PEL曲線は、最初に、目、鼻および口を含む意味のある構成要素を表すようにグループ化される。次いで、ストローククラスタと整合すべきあらかじめ規定された線描画を発見するために、ライブラリ中の検索が実行され得る。このプロセスでは、様々な顔のスケッチを表す様々なマッチングパラメータを使用することができる。最後に、PELストローククラスタは、あらかじめ規定されたユーザ描画と交換することができる。
図14(a)〜(c)に、2つの異なるスタイルの線描画が、あらかじめ規定されたライブラリから生成される例を示す。
図14(a)は、3Dオブジェクトを示している。図14(a)に示された3Dオブジェクトに基づいて、3Dオブジェクトの形状を表すPELのような曲線を抽出することができる。図14(b)は、抽出された曲線の例を、ストロークテンプレートのうち1つのスタイルで示している。図14(c)は、抽出された曲線の別の例を、別のストロークテンプレートのうちの別のスタイルで示している。
曲線対応について、以下により詳細に説明する。
デジタルピクチャ間の3Dオブジェクトについて抽出された曲線、たとえば、PELの対応および進化を発見することは、曲線に基づくスタイライズされたアニメーションにとって重要である。曲線を滑らかに補間すること、様々なスタイルでコヒーレントアーティスティック曲線をレンダリングすること、および、曲線空間における動作を用いてアニメーションを操作することなどに適用することができる。前述のように、これは、特にPEL曲線について、課題の多い問題である。
一実施形態では、曲線グループ化に基づいて曲線の対応が確立される。アニメーションシーケンスにおいて、すべてのデジタルピクチャに関する曲線のセットが抽出され、次いで、異なる複数のデジタルピクチャからの曲線とともに、小さなグループに分割される。一実施形態では、グループ中の曲線の点対応は、曲線をスクリーン空間中に投射すること、およびスクリーン空間中の最も近い点を発見することによって発見することができる。このコンテキストでは、スクリーン空間とは、2D空間を指し得る。3D空間中の3Dオブジェクトの抽出された曲線は、3Dオブジェクトの2Dイラストレーションを形成するために、2D空間に投射される。このようにグループ化がうまくいかない場合には、前述のように、ユーザ対話を組み込むことができ、このユーザ対話のいくつかのルールは学習され、さらなる曲線グループ化プロセスに適用され得る。
一実施形態では、デジタルピクチャの各グループについて対応が確立される。換言すると、デジタルピクチャについて、ピクチャエレメント、たとえば、左目に関して、曲線のグループを判断することができる。次いで、ビデオシーケンスの異なる複数のデジタルピクチャ中で左目に関連付けられるすべてのグループについて、対応が確立される。
一実施形態では、曲線グループ化を用いて、曲線グループの対応が最初に確立され、次いで、グループ内で、単一の曲線の対応が判断される。この階層的なマッチングで曲線対応を発見することにより、アルゴリズムの効果が改善される。例として、図13を参照すると、図13(a)〜(c)は、ビデオシーケンスの3Dオブジェクトの人の頭部の3つの異なるデジタルピクチャを示している。人の頭部の左目に関連付けられている曲線グループFは、曲線A、B、A1、A2およびB2を含んでいると判断され得、曲線A、B、A1、A2およびB2はすべて、左目の形状を示すために使用されている。一実施形態では、曲線グループFを、3つのサブグループにさらに分割することができる。たとえば、第1のフレーム中で左目に関連付けられている曲線サブグループF1は、曲線AおよびBを含んでいると判断され得る。第2のフレーム中で左目に関連付けられている曲線グループF2は、曲線A1を含んでいると判断され得る。第3のフレーム中で左目に関連付けられている曲線グループF3は、曲線A2およびB2を含んでいると判断され得る。一実施形態では、曲線サブグループFl、F2およびF3がすべて、構成要素、すなわち、左目に関連付けられているので、曲線サブグループFlとF2とF3との間に、対応を確立することができる。
一実施形態では、曲線サブグループFl、F2およびF3に関して対応が確立された後、単一の曲線の対応が判断され得る。たとえば、曲線サブグループFl、F2およびF3については、曲線A、A1およびA2が、人の頭部の類似する位置にあり、類似する幾何学特性を共有しているので、曲線A、A1およびA2は、対応する曲線であると判断することができる。同様に、曲線BおよびB2は対応する曲線である。一実施形態では、ビデオシーケンスの異なる複数のデジタルピクチャ全体に対応する曲線の同じセットに、同じスタイルを適用することができる。
換言すると、一実施形態では、同じピクチャエレメント、すなわち、左目に関連付けられた異なる複数のデジタルピクチャの曲線を、一緒にグループ化することができる。次いで、曲線グループをサブグループに分割することができ、各サブグループは、1つのデジタルピクチャに対応する。さらに、サブグループ中の曲線に基づいて、単一の曲線対応を確立することができる。さらなる実施形態では、単一の曲線対応にさらに基づいて、点対応を判断することができる。異なる複数の曲線サブグループ間、複数の曲線サブグループ中の単一の曲線間、および単一の曲線中の複数の点間の対応の確立は、階層的なマッチングプロセスと呼ぶことができる。
図15に、階層的なマッチングの一例を示す。
アニメーションにおいて、図15(a)に示す第1のデジタルピクチャには、ピクセルAおよびBをもつ曲線Sが存在する。図15(b)に示す第2のデジタルピクチャには、曲線S’、S1およびS2が存在する。階層的なマッチングにより、曲線グループFは、曲線S、S’、S1およびS2を備えると判断され得、それらの曲線はすべて、左目の形状を示すために使用される。さらに、曲線グループFについて、曲線Sを含んでいるフレーム1に関する曲線サブグループF1を判断することができ、曲線S’、S1およびS2を含んでいるフレーム2に関する別の曲線サブグループF2を判断することができる。さらなるステップにおいて、単一の曲線対応を判断することができる。たとえば、曲線サブグループF1中の曲線Sは、曲線サブグループF2中の曲線S’に対応すると判断することができ、曲線SおよびS’は、左目の同じ位置に配置され、類似する幾何学特性を共有する。
曲線対応は、インビトゥイーニングのための滑らかな曲線補間、スタイライズされたアニメーションのための様々なスタイルアーティスティックストロークレンダリング、および曲線空間におけるアニメーションの操作などを含む、広範囲のアプリケーションに使用することができる。曲線グループ化を用いて曲線対応を発見することは、様々なアプリケーションについて、開発中の新規の高度なアルゴリズムにおいて知覚的な手掛かりを与える。
図16に、一実施形態によるコンピュータ1600を示す。
一実施形態では、コンピュータ1600は、プロセッサ1601を含むことができる。一実施形態では、コンピュータ1600は、メモリ1602をさらに含むことができる。一実施形態では、コンピュータ1600は、複数の曲線の各々に関する3次元表現を受信するための入力1603をさらに備えることができ、各曲線は、3次元オブジェクトの形状を少なくとも部分的に表す。一実施形態では、コンピュータ1600は、ユーザ入力1604をさらに備えることができる。一実施形態では、コンピュータ1600は、ディスプレイ1605をさらに備えることができる。一実施形態では、コンピュータ1600は、別のコンピュータ可読媒体からコードを読み取るためのコード読取ユニット1606をさらに備えることができる。たとえば、コンピュータ1600のすべての構成要素は、コンピュータバス1607を介して互いに接続されている。
一実施形態では、メモリ1602は、プロセッサ1601に、デジタルピクチャを生成するための方法を実行させるように適合されたプログラムが記録されており、このメモリは、プロセッサ1601に、複数の曲線の各々に関する3次元表現の受信を実行させるプログラムのコードであって、各曲線が、3次元オブジェクトの形状を少なくとも部分的に表す、コードと、プロセッサ1601に、3次元表現によって与えられた3次元情報を使用して、曲線の3次元表現に基づいて、複数の曲線の少なくとも1つの曲線グループへのグループ化を実行させるプログラムのコードと、プロセッサ1601に、曲線グループの曲線に基づいて、各曲線グループとピクチャエレメントとの関連付けを実行させるプログラムのコードと、プロセッサ1601に、ピクチャエレメントを使用したデジタルピクチャの形成を実行させるプログラムのコードとを備える。
一実施形態では、プロセッサ1601は、デジタルピクチャを生成するプログラムを実行するために、メモリ1602上のプログラムを読み取る。
一実施形態では、プロセッサ1601は、曲線表現の入力1603を介して、曲線の3D表現を得る。
一実施形態では、プロセッサ1601は、ユーザからユーザ入力1604を介して入力を得る。
一実施形態では、別のコンピュータ可読媒体(図示せず)にプログラムコードを記録してもよい。この場合、プロセッサ1601は、コード読取ユニット1606を介して、その別のコンピュータ可読媒体からコードを読み取り、本明細書に記載されたデジタルピクチャを生成する方法を実行することができる。
一実施形態では、生成されたデジタルピクチャは、ディスプレイ1605上に示される
特定の実施形態に関して本発明を具体的に図示し、説明してきたが、当業者には、添付の特許請求の範囲に規定された本発明の範囲から逸脱することなく、形態および詳細に様々な変更をなし得ることを理解されたい。したがって、本発明の範囲は、添付の特許請求の範囲によって指定されるものであり、したがって、各請求項の等価物の意味および範囲内となるすべての変更は包含されることが意図される。
本明細書において、以下の文献を参照している。
1. Appel、「The notion of quantitative invisibility and the machine rendering of solids」(1967年第22回national conferenceの議事録)
2. Goochら、「Interactive technical illustration」(1999年symposium on Interactive 3D graphicsの議事録)
3. HertzmannおよびZorin、「Illustrating smooth surfaces」(Siggraph 2000の議事録)
4. Kalninsら、「WYSIWYG NPR: Drawing strokes directly on 3d models」 (Siggraph 2002の議事録)
5. Interranteら、「Enhancing transparent skin surfaces with ridge and valley lines」(IEEE Visualization 1995)
6. WilsonおよびMa、「Representing complexity in computer− generated pen−and−ink illustrations」(NPAR 2004の議事録)
7. Niら、「Multi−scale line drawings from 3D meshes2006年symposium on Interactive 3D graphicsの議事録」
8. DeCarloら、「Suggestive contours for conveying shape」(Siggraph 2003の議事録)