JP4613313B2 - 画像処理システムおよび画像処理プログラム - Google Patents

画像処理システムおよび画像処理プログラム Download PDF

Info

Publication number
JP4613313B2
JP4613313B2 JP2005106371A JP2005106371A JP4613313B2 JP 4613313 B2 JP4613313 B2 JP 4613313B2 JP 2005106371 A JP2005106371 A JP 2005106371A JP 2005106371 A JP2005106371 A JP 2005106371A JP 4613313 B2 JP4613313 B2 JP 4613313B2
Authority
JP
Japan
Prior art keywords
mesh
data
step1
step2
triangular
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005106371A
Other languages
English (en)
Other versions
JP2006285765A5 (ja
JP2006285765A (ja
Inventor
健夫 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2005106371A priority Critical patent/JP4613313B2/ja
Priority to US11/909,588 priority patent/US8063917B2/en
Priority to CN2006800094661A priority patent/CN101147172B/zh
Priority to EP06730675A priority patent/EP1865467B1/en
Priority to PCT/JP2006/306727 priority patent/WO2006106863A1/ja
Publication of JP2006285765A publication Critical patent/JP2006285765A/ja
Publication of JP2006285765A5 publication Critical patent/JP2006285765A5/ja
Application granted granted Critical
Publication of JP4613313B2 publication Critical patent/JP4613313B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

本発明は、表示されたオブジェクトを自在に変形させることができる画像処理装置および画像処理プログラムに関する。
画像中の2次元のオブジェクトを、ユーザの指示にしたがって操作する、たとえば、移動、回転、伸縮、曲げるための技術が提案されている。従来、このような操作のために、画像中のオブジェクトを三角形のメッシュで仕切り、そのメッシュを変形させることで、オブジェクトを変形させていた。
形状を操作する手法として、予め定義されたスケルトンを利用することが知られている。ユーザが、スケルトンの形状を操作すると、画像処理システムが、操作されたスケルトンの形状にしたがって、全体の形状を調整する。しかしながら、スケルトン形状の定義は、簡単な処理ではなく、アメーバのような明瞭なスケルトン構造をもたないオブジェクトに対しては有効ではないという問題点があった。
他の公知の手法として、フリー・フォーム・デフォーメーション(Free Form Deformation: FFD)が知られている。ユーザが、空間を複数のドメインに分割し、かつ、各ドメインを定義する制御ポイントを動かすことによりドメインを操作する。しかしながら、FFDの設定は面倒であり、ユーザは、数多くの頂点を手動で操作する必要があるという問題点があった。
"ラプラシアン・サーフェイス・エディティング(Laplacian SurfaceEditing)" (オルガ・ソルキネ(Orga Solkine)他著、ユーログラフィクス/ACM SIGGRAPH シンポジウム(Eurographics/ACM SIGGRAPHSymposium)、179−188)、[on line],2004年7月9日、[平成17年2月23日検索]、インターネット、<URL:http://www-sop.inria.fr/geometrica/events/sgp2004/program.html>
非特許文献1には、2次元オブジェクトを構成する三角形メッシュのそれぞれを拡大/縮小、回転させて、新たな三角形メッシュを生成し、新たな三角形メッシュに基づく2次元オブジェクトを表示させる手法が提案されている。
この場合にも、オブジェクトの変形が自然であり、かつ、その処理時間が短いようなシステムやプログラムが望ましい。
本発明は、オブジェクトが自然に変形でき、かつ、その処理時間も著しく短い画像処理システムおよび画像処理プログラムを提供することを目的とする。
本発明は、スケルトンやFFDを用いずに、形状を操作する手法を提供する。ユーザは、ハンドルとして、オブジェクトの内側に複数のポイントを設定し、これらハンドルを所望の位置に移動させる。
次いで、画像処理システムは、局所的な形状のひずみを最小化させつつ、与えられたハンドルの位置にしたがって、全体の形状を変形させる。本発明にかかる手法によれば、オブジェクトの形状を自然に変形することができ、かつ、従来のオブジェクトの埋め込まれた空間自体を歪ませる手法と比較して、処理結果、つまり、オブジェクトの動きは、実際の世界でのオブジェクトの振る舞いに近いものとなる。
本発明においては、歪を最小限にするために、形状の構成を見出すために、基本的には、2つのステップの閉じた(繰り返し演算に頼らず一通りの計算で結果がでる)アルゴリズムが設けられる。従来の手法では、物理ベースのシミュレーション、あるいは、非線形の最適化が用いられていた。しかしながら、ユーザとの間の対話的な操作(インタラクション)では、これらの手法は低速である。
キーポイントは、二次の誤り計量を適切に設計して、最小化の問題を、線形の連立方程式として定式化することにある。インタラクションの冒頭で連立方程式を解くことにより、画像処理システムは、単一の行列の乗算により解を見出すことができる。理想的には、ある形状の全ての属性を取り扱うような単一の二次の誤り関数を有するのが望ましいが、このような単一の誤り関数を設計することは困難である。そこで、本発明においては、上記最小化の問題点を、回転方向の問題と、大きさの問題とに分けた。これにより、本発明では、問題は、二つの最小二乗法の最小化の問題に分解され、それぞれが順番に解かれる。
より詳細には、本発明の目的は、変形すべきオブジェクトを構成する三角形メッシュのデータからなるオリジナル形状データが記憶された記憶装置を有する画像処理システムにおいて、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点および移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示すそれぞれのオリジナル三角形メッシュについて、その回転および拡大/縮小を許容しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異を表現した2次の誤り計量が最小となるような、中間的な三角形メッシュのデータからなる中間的メッシュデータを生成し、前記記憶装置に記憶する第1のメッシュ生成手段と、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュについて、その回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大/縮小を許容しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、前記記憶装置に記憶する第2のメッシュ生成手段と、を備えたことを特徴とする画像処理システムにより達成される。
好ましい実施態様においては、第2のメッシュ生成手段が、前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転および平行移動させて、中間的メッシュデータが示す対応する対応する中間的な三角形メッシュとの間の2次の誤り計量を最小化させる、適合化された三角形メッシュのデータからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶し、
前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュとの間の、三角形の辺を表すベクトルの差を示す2次の誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、かつ、前記記憶装置に記憶するように構成されている。
また、別の好ましい実施態様においては、さらに、前記記憶装置に記憶されたオリジナル形状データ、或いは、最終メッシュデータを読み出して、読み出されたデータに基づくオブジェクトを含む画像を生成する画像生成手段を備える。
より好ましい実施態様においては、さらに、オリジナル形状データが前記記憶装置に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座標に基づいて、
step1{v}=vstep1
を満たす行列Gstep1、および、
step2{v}=vstep2
を満たす行列Gstep2
(ただし、
step1は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第1のメッシュ生成手段における2次の誤り計量を表す関数
step2は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第2のメッシュ生成手段による、適合メッシュデータが示す三角形メッシュおよび最終的な三角形メッシュの差異を表現した2次の誤り計量を表す関数)
を算出し、
(b)∇Efitting{w}=Gfittingw+Bfitting=0
であるような、行列Gfitting、および、当該Gfittingの逆行列Gfitting−1
(ただし、
fittingは、前記第2のメッシュ生成手段における、前記オリジナル形状データが示す三角形メッシュおよび中間的な三角形メッシュの間の差異を表現した2次の誤り計量を示す関数)
を算出するように構成されたレジストレーション手段と、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、ある位置のハンドルが削除されると、
(c)前記Gstep1およびGstep2に関して、ハンドルにより拘束される頂点の成分を除去することにより、行列Gstep1’およびGstep2’を算出し、
(d)前記行列Gstep1’およびGstep2’の逆行列Gstep1’−1およびGstep2‘−1を算出するコンパイレーション手段と、を備えている。
また、さらに好ましい実施態様においては、前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
前記第1のメッシュ生成手段が、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新された位置を用いて、ベクトルBstep1
(ただし、∇Estep1{u}=Gstep1’+Bstep1=0
∇Estep1{v}は、Estep1{v}=vstep1vの偏微分)
を算出し、
(f)前記行列Gstep1‘−1と前記Bstep1とを乗じて、三角形メッシュにおける自由な頂点に関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するように構成され、かつ、
前記第2のメッシュ生成手段が、
(g)前記中間的メッシュデータに基づいて、前記ベクトルBfittingを算出し、
(h)前記行列Gfitting−1とBfittingとを乗じて、前記適合化された三角形の適合メッシュデータを生成し、
(i)前記適合メッシュデータに基づき、ベクトルBstep2’
(ただし、∇Estep2{u}=Gstep2’u+Bstep2’=0
∇Estep2{v}は、Estep2{v}=vstep2v+Bstep2vの偏微分)
を算出し、
(j)前記行列Gstep2’−1とベクトルBstep2’とを乗じて、最終的な三角形メッシュの最終メッシュデータを生成するように構成されている。
ある実施態様においては、前記変形すべきオブジェクトが、前記三角形メッシュにより構成される2次元オブジェクトである。或いは、前記変形すべきオブジェクトが曲線であっても良い。この場合には、画像処理システムは、前記曲線を示すポリラインのデータから、前記ラインを構成する頂点の近接する3点ずつを結んで構成される三角形メッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メッシュ生成手段を備える。 また、本発明の目的は、変形すべきオブジェクトを構成する三角形メッシュのデータからなるオリジナル形状データが記憶された記憶装置を有するコンピュータにより読み出し可能な、画像処理プログラムであって、前記コンピュータに、
前記入力装置からの、前記画像中の前記三角形メッシュにおける固定すべき点および移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示すそれぞれのオリジナル三角形メッシュについて、その回転および拡大/縮小を許容しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異を表す2次の誤り計量が最小となるような、中間的な三角形メッシュのデータからなる中間的メッシュデータを生成し、前記記憶装置に記憶する第1のメッシュ生成ステップと、
前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュについて、その回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大/縮小を許容しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差異を表す誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、前記記憶装置に記憶する第2のメッシュ生成ステップと、を実行させることを特徴とする画像処理プログラムにより達成される。
好ましい実施態様においては、前記第2のメッシュ生成ステップにおいて、前記コンピュータに、
前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転および平行移動させて、中間的メッシュデータが示す対応する対応する中間的な三角形メッシュとの間の2次の誤り計量を最小化させる、適合化された三角形メッシュのデータからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶するステップと、
前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュとの間の、三角形の辺を表すベクトルの差を示す2次の誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、かつ、前記記憶装置に記憶するステップとを、実行させる。
別の好ましい実施態様においては、前記コンピュータに、さらに、前記記憶装置に記憶されたオリジナル形状データ、或いは、最終メッシュデータを読み出して、読み出されたデータに基づくオブジェクトを含む画像を生成する画像生成ステップを、実行させる。
より好ましい実施態様においては、さらに、オリジナル形状データが前記記憶装置に記憶されると、
(a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座標に基づいて、
step1{v}=vstep1
を満たす行列Gstep1、および、
step2{v}=vstep2
を満たす行列Gstep2
(ただし、
step1は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第1のメッシュ生成ステップにおける2次の誤り計量を表す関数
step2は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第2のメッシュ生成ステップによる、適合メッシュデータが示す三角形メッシュおよび最終的な三角形メッシュの差異を表す2次の誤り計量を表す関数)
を算出するステップと、
(b)∇Efitting{w}=Gfittingw+Bfitting=0
であるような、行列Gfitting、および、当該Gfittingの逆行列Gfitting−1
(ただし、
fittingは、前記第2のメッシュ生成ステップにおける、前記オリジナル形状データが示す三角形メッシュおよび中間的な三角形メッシュの間の差異を表現する2次の誤り計量を示す関数)
を算出するステップと、を前記コンピュータに実行させ、さらに、
前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、ある位置のハンドルが削除されると、
(c)前記Gstep1およびGstep2に関して、ハンドルにより拘束される頂点の成分を除去することにより、行列Gstep1’およびGstep2’を算出するステップと、
(d)前記行列Gstep1’およびGstep2’の逆行列Gstep1’−1およびGstep2‘−1を算出するステップと、を前記コンピュータに実行させる。
また、さらに好ましい実施態様においては、前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
前記第1のメッシュ生成ステップにおいて、
(e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新された位置を用いて、ベクトルBstep1
(ただし、∇Estep1{u}=Gstep1’+Bstep1=0
∇Estep1{v}は、Estep1{v}=vstep1vの偏微分)
を算出するステップと、
(f)前記行列Gstep1‘−1と前記Bstep1とを乗じて、三角形メッシュにおける自由な頂点に関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するステップと、を前記コンピュータに実行させ、かつ、
前記第2のメッシュ生成ステップにおいて、
(g)前記中間的メッシュデータに基づいて、前記ベクトルBfittingを算出するステップと、
(h)前記行列Gfitting−1とBfittingとを乗じて、前記適合化された三角形の適合メッシュデータを生成するステップと、
(i)前記適合メッシュデータに基づき、ベクトルBstep2’
(ただし、∇Estep2{u}=Gstep2’u+Bstep2’=0
∇Estep2{v}は、Estep2{v}=vstep2v+Bstep2vの偏微分)
を算出するステップと、
(j)前記行列Gstep2’−1とベクトルBstep2’とを乗じて、最終的な三角形メッシュの最終メッシュデータを生成するステップと、を前記コンピュータに実行させる。
ある実施態様においては、前記変形すべきオブジェクトが、前記三角形メッシュにより構成される2次元オブジェクトである。或いは、前記変形すべきオブジェクトが曲線であり、さらに、画像処理プログラムが、コンピュータに、曲線を示すポリラインのデータから、前記ラインを構成する頂点の近接する3点ずつを結んで構成される三角形メッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メッシュ生成ステップを実行させても良い。
本発明によれば、オブジェクトを自然に変形でき、かつ、その処理時間も著しく短い画像処理システムおよび画像処理プログラムを提供することが可能となる。
以下、添付図面を参照して、本発明の実施の形態について説明する。
[システム構成]
図1は、本実施の形態にかかる画像処理システムのハードウェア構成を示すブロックダイヤグラムである。図1に示すように、画像処理システム10は、バス11を介して接続された、マウスやキーボードなどの入力装置12、表示装置14、CDやDVDなどの可搬記憶媒体18への読み書きを実行するドライバ16、CPU20、ROM22、RAM24、および、ハードディスクなどの外部記憶装置26を備えている。すなわち、通常のパーソナルコンピュータに、以下に、当該パーソナルコンピュータに実行させる処理ステップを詳細に説明するようなコンピュータプログラムをインストールすることにより実現される。
図2は、本実施の形態にかかる画像処理システムの機能ブロックダイヤグラムである。図2に示すように、画像処理システム10は、機能的には、初期メッシュ生成部30、レジストレーション処理部32、コンパイレーション処理部34、および、第1のメッシュ生成部36、第2のメッシュ生成部38を備える。これらの機能は、主としてCPU20により実現される。また、画像処理システム10は、後述する画像データを記憶する記憶装置40を備える。この機能は、主として、RAM24により実現される。また、図2に示すように、画像処理システム10は、入力装置からの指示を受け入れて、初期メッシュ生成部30などの構成部分に対して、当該指示を与え、或いは、生成されたデータに基づく画像を表示装置14に出力するインタフェース(I/F)42、および、記憶装置40に記憶されたデータ(たとえば、オリジナル形状データ、最終メッシュデータ)に基づいて、オブジェクトを描画する画像生成部52を有する。
[処理の概略]
初期メッシュ生成部30は、画像中、ユーザにより操作させるべき2次元形状のオブジェクトの内部に三角形のメッシュを生成する。初期メッシュ生成部30は、得られたメッシュの頂点の座標を、オリジナル形状データ44として記憶装置40に記憶する。初期メッシュ生成部30の処理は、従来から知られており、この処理は、本発明の一部をなすものではない。
2次元形状のオブジェクトは、ベクトル・グラフィクスであっても良いし、ビットマップイメージであっても良い。必要なことは、2次元形状の境界が閉じた多角形として得られていれば良い。また、画像がビットマップイメージである場合には、背景を消去して、外側の輪郭をトレースしておくことで、境界を閉じた多角形とすることができる。初期メッシュ生成部30は、境界が閉じた多角形の内側に、三角形のメッシュを生成し、その頂点の座標のデータを、オリジナル形状データ44として記憶装置40に記憶する。三角形メッシュを生成するためには、種々の手法が知られている。本実施の形態においては、ほぼ等辺の三角形を、境界が閉じた多角形の領域全体にわたって生成するのが望ましい。初期メッシュ生成部30は、拘束デローニ分割を基点として、頂点の位置およびメッシュの連結を調整することで、繰り返しメッシュを修正する。最終的に得られたメッシュの座標のデータが、オリジナル形状データ44として、後の処理に使用される。
[前処理]
また、レジストレーショ処理部32およびコンパイレーション処理部34は、後に詳述する第1のメッシュ生成部36および第2のメッシュ生成部38における処理の前処理を実行する。レジストレーション処理部32は、ユーザが、入力装置12を操作して、表示装置14の画面上に表示された2次元形状のオブジェクトに、メッシュが生成されたときに、必要な処理を実行する。また、コンパイレーション処理部34は、ハンドルが、配置、追加或いは削除されたときに、必要な処理を実行する。
ここに、本明細書において、ハンドルは、ユーザがマウスを操作して、表示された2次元形状の上でクリックすることで、設定することができる。この際に、画像処理システム10は、記憶装置40中に、ハンドルの座標を記憶しておく。また、ハンドルを設定した状態で、或いは、ハンドルを指定して、ユーザが、マウスをドラッグすることで、ハンドルを移動させることができる。ハンドルの移動に伴って、システムは、記憶装置40に記憶されたハンドルの座標を更新すれば良い。なお、ハンドルが配置、追加或いは削除された場合に、画像処理システム10において実行される処理と、ハンドルが移動された場合に、画像処理システム10において実行される処理とは異なる。これについては、図8および図9のフローチャートを参照して、再度詳細に説明する。
なお、以下、ユーザがハンドルを設定し、或いは、ハンドルを移動させて、それに応答して、システムが処理を実行することを、「インタラクション」とも称する。また、ユーザが、ハンドルの設定や移動により、2次元形状のオブジェクトを変形させることを、「マニピュレーション」とも称する。
ユーザは、形状の上に1以上のハンドルを配置し、対話的にハンドルを移動させる(図3(b)、(c)参照)。マウスを利用する場合に、ユーザは、アイコンを形状の上の所望の位置に配置して、クリックすることで、ハンドルを設定することができ、かつ、ドラッグにより設定したハンドルを移動することができる。
現状では、本発明において、ユーザは、ハンドルを任意の位置に配置して、メッシュ構造を、ハンドルを含むように変形できるようにしている。
第1に、形状のマニピュレーションは、三角形のメッシュに適用される。次いで、システムは、元の線および画像を、元のメッシュから変形されたメッシュに写像する。
ベクトル・グラフィクスを操作する場合に、メッシュの対応する三角形中、それぞれの頂点の重心座標(barycentric coordinates)が利用される。ビットマップイメージを操作するときには、単純な線形写像が利用される。
画像処理システムは、新たなハンドルが追加され、或いは、ハンドルが削除されたときに、追加的な前処理を実行する(図3(b))。この処理を、「コンパイレーション」と称する。この処理は、入力としてハンドルの構成、つまり、どれがハンドルとして設定された頂点であるかを示す情報を取得し、出力として、処理結果の形状を返すような関数(ハンドルの座標を受け取ると残りのメッシュの頂点の位置を返す関数)を返す。インタラクションの間、画像処理システム10は、更新されたハンドルの構成を関数に送る。
[メッシュ生成の概略]
本実施の形態では、第1のメッシュ生成処理部36および第2のメッシュ生成処理部38の2つがシーケンシャルに処理を実行することで、メッシュ生成が実現される。このメッシュ生成において、アルゴリズムへの入力は、拘束されたメッシュベクトルのx−y座標であり(図(a)参照)、出力は、処理されたメッシュ三角形のそれぞれに関連する歪みを最小化するような、拘束された頂点以外の、残りの自由な頂点の座標である(図(d)参照)。主たる問題は、どのように三角形の歪みを定義するかにある。本実施の形態においては、自由変数において二次の誤り計量(error metric)をデザインして、単純な行列演算により最小化の問題を解決する。
第1のメッシュ生成処理部36では、拘束された頂点の座標を与えたときに、歪みや非均一は伸縮を回避する一方、回転および拡大縮小は認められる誤り計量を最小化することにより、中間結果である中間的メッシュデータ46が生成される(図(b))。生成された中間的メッシュデータ46は、記憶装置40中に記憶される。
引き続く、第2のメッシュ生成処理部38における処理は、2つの連続する処理に分解される。第2のメッシュ生成処理部38は、まず、まず、スケールを変更することなく、もとの三角形(第1のメッシュ生成処理部36で得られた中間的メッシュデータ46に基づく三角形)を、さらに中間的な三角形に適合させる(図(c))。第2のメッシュ処理部38は、この適合された三角形に関するデータを、適合メッシュデータ48として、記憶装置40に記憶する。次いで、第2のメッシュ生成処理部38は、最終的な処理結果(最終メッシュデータ50)に基づく三角形と、適合メッシュデータ48に基づく三角形との間の相違を表す誤り計量を最小にするような、最終的な処理結果を算出する。このようにして得られた最終メッシュデータ50が記憶装置40に記憶される。また、2次元形状のオブジェクトは、最終メッシュデータ50に基づく三角形メッシュの集合として、表示装置14の画面上に表示される。
[第1のメッシュ生成部36における処理]
本実施の形態にかかる第1のメッシュ生成部36の処理では、回転および拡大縮小を認める誤り関数を最小化することにより、中間結果である中間的メッシュデータ46を生成する。入力は、記憶装置40に記憶された、オリジナル形状データ44中の拘束された頂点のx−y座標であり、出力は、上記拘束された頂点以外の、残りの自由な頂点のx−y座標である。
本発明にかかるアルゴリズムでは、物理ベースのシミュレーションやリラクゼーション方法のように、初期的な構成として、以前の結果を利用しないことに留意すべきである。本発明では、閉じた形態での解法を提供することができる。
図5は、本実施の形態にかかる第1のメッシュ生成部による処理における誤り関数を説明する図である。図5において、v2desiredは、平行移動、回転および拡大・縮小により、v0およびv1が、v0’、V1’にそれぞれマッチするように、ターゲットとなる三角形の上に元の三角形を適合させる(フィットされる)ことにより取得される。
第1のメッシュ生成部36の処理において、三角形{v0,v1,v2}のための誤り関数は、以下のように定義される(図5参照)。
オリジナル形状データに基づく三角形(v0’,v1’,v2’)における対応する三角形について、第1のメッシュ生成部36は、まず、v0’およびv1’にて定義される局所座標におけるv2’の相対座標{x01,y01}を算出する。
Figure 0004613313
v0、v1、x01およびy01を与えると、第1のメッシュ生成部36は、v2に対する望ましい位置(これがv2desiredに相当する)を算出することができる。
Figure 0004613313
v2に関する誤りは、以下のように表される
Figure 0004613313
同様に、v0desiredおよびv1desiredを算出することもできる。これにより、ある三角形に関する誤りを、以下のように表すことができる。
Figure 0004613313
全体のメッシュに対する誤りは、単に、メッシュ中の全ての三角形に対する誤りの合計となる。誤り計量は、v={vox,voy,v1x,v1y,・・・,vnx,vny}において2次であるため、誤りを行列の形式で表すことができる。
step1{v}=vstep1v ・・・(5)
最小化は、関数Eの自由変数u={uox,uoy,u1x,u1y,・・・,umx,umy}による偏微分∇Estep1{v}を0とすることにより解決することができる。
∇Estep1{u}=Gstep1’+Bstep1=0 ・・・(6)
ここに、Gstep1’は、Gstep1の拘束された変数に関する成分を除去することにより得られた「2m×2m」の行列、Bstep1は、Gstep1および拘束された変数から得られるサイズ「m」のベクトルである。Gstep1’は固定値であり、Bstep1のみが、マニピュレーション中に変化するため、インタラクションの冒頭で、Gstep1’の逆数を求めておくことで、単なる行列の乗算によって、「u」を算出することができる。実際には、Gstep1’のLU分解が算出され、記憶装置40に記憶される。 図4(b)に、第1のメッシュ生成部36による処理結果の概略を示す。インタラクションの間に、単一の行列の乗算が必要とされるだけなので、演算速度を速めることが可能となる。
上記式(5)によれば、Estep1は、v0x,v0y,v1x,voy,・・・,vnx,vnyという2n個の変数の2次式で表すことができる。
たとえば、
step1=a*vox*vox+b*vox*voy+c*voy*voy
という2次式であったとすると、Gstep1は、以下のように求めることができる。
Gstep1=
{a b}
{b c}
再度、図4について説明すると、図4において、与えられたハンドル構成(handle configuration)に対して(図4(a))、画像処理システム10は、まず、拡大縮小を許すような誤り計量を最小化することにより、中間結果(中間的メッシュデータ46)を生成する(図4(b))。次いで、画像処理システム10は、オリジナル形状データ44に基づく三角形を、中間結果(中間的メッシュデータ)中の対応する三角形に適合させて、適合メッシュデータ48を取得する(図4(c))。最終的に、画像処理システム10は、適合した三角形と、最終結果中の対応する三角形との間の差異を最小化することにより、最終結果(最終メッシュデータ50)を生成する。
[第2のメッシュ生成部38における処理]
第2のメッシュ生成部38は、記憶装置40に記憶された、中間的メッシュデータ46(全ての頂点のx−y座標)を入力として取得し、メッシュ中の三角形の大きさを調整することで、出力として、最終結果である最終メッシュデータ50(自由な頂点の更新されたx−y座標)を出力として返す。
[適合メッシュデータの生成]
第2のメッシュ生成部38は、オリジナル形状データ44に基づく各三角形を、中間的メッシュデータ46に基づく、対応する三角形と適合させる。ここでは、三角形の回転および平行移動を許容するが、歪みや不均一な伸縮や拡大縮小は許容されない(図4(c)参照)。適合メッシュデータを生成する適合処理は以下のとおりである。
中間的メッシュデータ46に基づく三角形{v0intermediate,v1intermediate,v2intermediate}、および、オリジナル形状データ44に基づく、対応する三角形{v0’,v1’,v2’}を与えたときに、三角形{v0’,v1’,v2’}と合同で、かつ、以下の関数を最小化する新たな三角形{v0,v1,v2}を見出すことが問題となる(図6参照)。図6においては、平行移動および回転により、元の三角形が中間的な三角形に適合(fitting)されている。
Figure 0004613313
上記数式の解を直接得ることは容易ではないため、まず、拡大縮小を許容して誤りを最小化し、かつ、その後にスケールを調整することにより、近似している。第1のメッシュ生成部36の処理に関して、v2を、v0およびv1を用いて以下のように表した。
Figure 0004613313
この式を、誤り関数に投入することにより、誤り関数は、w={v0x,v0y,v1x,v1y}の4つの自由変数の2次式となる。4つの自由変数を0とするよう勾配∇Efittingを設定することにより、Efittingを最小化することができる。結果は、単純な4つの連立方程式となり、これを解けば良い。
∇Efitting{w}=Gfittingw+Bfitting=0 ・・・(9)
上記数式を解くことにより、元の三角形{v0’,v1’,v2’}と類似する、新たに適合された三角形{v0,v1,v2}を得ることができる。次いで、|v0’−v1’|/|v0−v1|の因子で、適合された三角形を拡大縮小することにより、合同の三角形を得ることができる。本実施の形態においては、この適合処理を全ての三角形に対して施す。
fittingおよびBfittingも、上記Gstep1等と同様に算出することができる。Efittingが、w={vox,voy,v1x,v1y}の2次式で得られれば、それをwの各要素で偏微分した∇Efittingは、(9)式に表すようになる。
たとえば、
∇Efitting={dE/v0x、dE/voy,dE/v1x,dE/v1y
dE/v0x=a*vox+b*voy+c*v1x+d*v1y+e
dE/voy=a*vox+b*voy+c*v1x+d*v1y+e
dE/v1x=a*vox+b*voy+c*v1x+d*v1y+e
dE/v1y=a*vox+b*voy+c*v1x+d*v1y+e
とすると、
fitting

{a0,b0,c0,d0}
{a1,b1,c1,d1}
{a2,b2,c2,d2}
{a3,b3,c3,d3}

fitting={e0,e1,e2,e3}
となる。
[最終メッシュデータの生成]
次いで、第2のメッシュ生成部38は、最終的なメッシュデータに基づく三角形と、適合メッシュデータに基づく三角形との間の差異を最小化することで、拘束された頂点の与えられたx−y座標に対する、拘束された頂点以外の自由な頂点の最終的なx−y座標を算出する(図(d)参照)。ここでは、適合メッシュデータ48のみが利用され、中間的メッシュデータ46は利用されないことに留意すべきである。
図7に示す単一の三角形{v0,v1,v2}を参照して説明する。図7において、画像処理システム10は、適合された三角形のエッジベクトルと、ターゲットとなる三角形のエッジベクトルとの間の相違を算出する。適合メッシュデータ48に基づく三角形{vofitted,v1fitted,v2fitted}を与えると、以下の2次の誤り関数を定義することができる。
Figure 0004613313
ここに、誤りは、頂点ではなくエッジ(ベクトル)であることに留意すべきである。すなわち、ここでは、適合された三角形の方向のみを利用し、その位置は無視される。
以下の処理は、第1のステップと同様に実現される。全てのメッシュに対する誤りは、行列の形式で表され得る。
step2{v}=vstep2v+Bstep2v ・・・(11)
次いで、関数Eの自由変数uによる、偏微分∇EV(t)を0にする。
∇Estep2{u}=Gstep2’u+Bstep2’=0 ・・・(12)
step2’が固定値であり、Bstep2’がマニピュレーションの間に変化するため、インタラクションの冒頭で、Gstep2’の逆関数を算出しておくことで、単なる行列の乗算によって、uを算出することができる。実際には、Gstep2’のLU分解が算出され、記憶装置40に記憶される。
なお、上記Gstep2も、Gstep1と同様に、上記(11)式に基づく式変形により求めることができる。
[実際の処理]
図8および図9は、本実施の形態にかかる画像処理システム10において実行される処理を示すフローチャートである。画像処理システム10のレジストレーション処理部32、コンパイレーション処理部34、第1のメッシュ生成部36および第2のメッシュ生成部38は、処理に必要なデータを記憶装置40から読み出し、また、処理で生成されたデータを、記憶装置40に記憶する。
初期メッシュ生成部30は、周知の手法で、オブジェクトの内部に生成された三角形の頂点の座標を含むオリジナル形状データを生成し、記憶装置40に記憶する(ステップ801)。また、画像生成部52は、オリジナル形状データが生成されると、記憶装置40から、当該データを読み出して、たとえば、背景に、オリジナル形状データに基づく2次元オブジェクトが配置されたような画像を生成する(ステップ802)。
レジストレーショ処理部32は、新たにオリジナル形状データが生成されると、起動して、記憶装置40から、オリジナル形状データを読み出して、その頂点座標に基づいて、(5)式に示した行列Gstep1、および、(11)式に示したGstep2を算出する(ステップ803)。次いで、レジストレーション処理部32は、オリジナル形状データに基づく各三角形について、(9)式に示す行列Gfittingおよびその逆行列Gfitting−1を算出する(ステップ804)。算出された行列のデータは、記憶装置40中に記憶される。これらGstep1、Gstep2、GfittingおよびGfitting−1は、新たにオリジナル形状データが作られない限り、再度算出されることはなく、以下の、ユーザとのインタラクションによるハンドルの配置など、マニピュレーション中に、記憶装置40中に格納され、必要に応じて読み出される。
ユーザが入力装置12を操作して、表示装置14の画面中に表示された2次元オブジェクトに、ハンドルを配置し、或いは、ハンドルを追加、削除すると(ステップ805)、これに応答して、コンパイレーション処理部34が起動する。コンパイレーション処理部34は、ステップ803で得られたGstep1、Gstep2に基づき、ハンドルの設定により拘束される頂点に関する成分を除去することにより、(6)式に示した行列Gstep1’、および、(12)式に示した行列Gstep2’を生成する(ステップ806)。次いで、コンパイレーション処理部34は、ステップ806で生成した行列の逆行列Gstep1’−1、および、Gstep2’−1を生成する(ステップ807)。ステップ807で得られた逆行列Gstep1’−1、および、Gstep2’−1のデータは、記憶装置40に記憶される。
前述したように、Gstep1’、Gstep2’は、それぞれ、行列Gstep1、Gstep2の拘束された成分を除くことにより得られた行列である。
たとえば、行列Gstep1が以下のように表されるとする。
step1

{a0,b0,c0,d0},
{a1,b1,c1,d1},
{a2,b2,c2,d2},
{a3,b3,c3,d3},

v={v0x,v0y,v1x,v1y
このときに、vを除けば、
step1’

{a0,b0},
{a1,b1},

となる。
次いで、ユーザが入力装置12を操作して、いずれかのハンドルを移動させると(ステップ900)、第1のメッシュ生成部36および第2のメッシュ生成部38による演算が開始される。第1のメッシュ生成部36は、ハンドルの移動に伴った、拘束された頂点の更新された位置に基づいて、(6)式に示したベクトルBstep1を生成する(ステップ901)。(6)式に示すように、行列Gstep1’の逆行列Gstep1’−1と、Bstep1との積から中間座標のデータ(つまり、中間的メッシュデータ46)を求めることができる。したがって、第1のメッシュ生成部36は、ステップ806で算出し、記憶装置40に記憶されたGstep1’−1を読み出して、ステップ901で得たベクトルBstep1と乗ずる(ステップ902)。第1のメッシュ生成部36は、このようにして得られた結果を、中間的メッシュデータ46として記憶装置40に記憶する。
その後、第2のメッシュ生成部38が、記憶装置40から、中間的メッシュデータ46を読み出して、中間的メッシュデータ46に基づく各三角形について、(9)式に示すベクトルBfittingを算出する(ステップ903)。ここで、(9)式に示すように、行列Gfittingの逆行列Gfitting−1とBfittingとの積を得て、かつ、そのスケールを、(|v0’−v1’|/|v0−v1|)にしたがって調整することで、適合された三角形の座標(適合メッシュデータ)を取得することができる。そこで、第2のメッシュ生成部38は、ステップ804で生成され、記憶装置40に記憶されていた、Gfitting−1を読み出して、ステップ903で算出したBfittingとの積をとり、かつ、そのスケールを調整する(ステップ904)。このようにして得られたデータを、第2のメッシュ生成部40は適合メッシュデータとして、記憶装置40に記憶する。
さらに、第2のメッシュ生成部38は、適合メッシュデータに基づく三角形の座標に基づいて、(11)式に示したベクトルBstep2を算出し(ステップ905)、その後、ベクトルBstep2に基づいて(拘束された成分を除去することで)、ベクトルBstep2’を算出する(ステップ906)。
(12)式に示すように、行列Gstep2’の逆行列Gstep2’−1と、Bstep2’との積から、最終的な座標のデータ(最終メッシュデータ50)を取得することができる。そこで、第2のメッシュ生成部38は、ステップ807で生成し、記憶装置40に記憶していたGstep2’−1を読み出して、ステップ905で算出したBstep2’との積をとり、最終的な三角形の座標を取得する(ステップ908)。この最終的な三角形の座標が、最終メッシュデータ50として、記憶装置40に記憶される。
このようにして、最終メッシュデータ50が記憶装置40に記憶されると、画像生成部52は、最終メッシュデータ50を読み出して、たとえば、背景に、オリジナル形状データに基づく2次元オブジェクトが配置されたような画像を生成し、表示装置14の画面上に表示する(ステップ908)。
これ以降、ユーザの入力装置12の操作によってハンドルが移動された場合には(ステップ900)、ステップ901からステップ907の処理が実行されて、最終メッシュデータが更新され、記憶装置40中に記憶される。また、この更新された最終メッシュデータに基づいて、画像生成部52が、画像を生成して表示装置14の画面上に表示する。つまり、ハンドルが移動される限りにおいては、図8に示す処理は実行されない。つまり、ベクトルBstep1、Bfitting、Bstep2およびBstep2’生成および行列の乗算のみが実行されることで、オブジェクトを適切に変形させることが可能である。
また、ハンドルが配置、追加、削除された場合には、コンパイレーション処理部34により、行列Gstep1’、Gstep2’およびこれらの逆行列の生成が行われる。しかしながら、レジストレーション部32の処理は、新たなオブジェクトのメッシュが生成されない限り、新たに実行する必要がない。
このように、本実施の形態によれば、バンドルの移動に伴う演算を軽減することができる。また、第1のメッシュ生成部の処理では、三角形メッシュの回転および拡大縮小を認める誤り計量を最小化した中間的な三角形メッシュのデータである中間メッシュデータを生成、記憶する。また、第2のメッシュ生成部の処理では、回転や平行移動を許容しつつ、歪、不均一な伸縮、回転縮小を許容しない誤り関数を最小化するように、最終的な三角形メッシュのデータを算出し、記憶する。このように、2段階でメッシュを変形させることで、オブジェクトの自然な変形を実現することができる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、前記実施の形態においては、オペレータが、マウスを用いて、オブジェクト上にハンドルを、配置し、追加し、削除し、或いは、いずれかのハンドルを移動している。たとえば、図2に示す例では、3つのハンドルがオブジェクトに配置され、たとえば、オペレータが、右側のハンドルを、さらに右に移動させることで、オブジェクトが変形されている。しかしながら、ハンドルの配置等のためには、マウスに限定されるものではなく、他の入力装置により、ハンドルの配置等を実現できることは言うまでもない。たとえば、マルチポイント・トラッキング・デバイスを利用することができる。マルチポイント・トラッキング・デバイスを利用する場合には、ユーザは、表示装置の画面上に表示されたオブジェクトを参照して、両手で直接、2次元オブジェクトの形状をつかんで、その形状をマニピュレートすることができる。
また、オブジェクトを表す三角形メッシュのそれぞれに異なる重みを与え、形状の局地的な剛性を制御できるようにすることもできる。たとえば、特定の1以上の三角形メッシュに、所定量(たとえば、10000)の重みを与え、他の三角形メッシュに、「1」の重みを与えることで、所定量の重みが与えられた三角形メッシュが剛性を持ち、ハンドルに移動により変形を受け難いようにすることができる。
また、本実施の形態においては、2次元オブジェクトのマニピュレーションに、本発明が適用されたがこれに限定されるものではなく、3次元オブジェクトのマニピュレーションに本発明を適用することもできる。この場合、三角形オブジェクトに(x座標,y座標)に加えて、奥行きを表すz値を含む三次元の座標を与える。初期的に、z値は「0」であるが、マニピュレーションの際に、異なるメッシュが重なるときに、予め決められていた重なりの順序(いずれが手前に来るかの順序)にしたがって、z値を与えることで、いずれかの三角形メッシュを手前に表すことが可能となる。
本発明にかかる2段階処理のアルゴリズム(つまり、第1のメッシュ生成部および第2のメッシュ生成部を利用した処理)を、曲線の編集にも適用することができる。2次元オブジェクトにおける三角形メッシュの代わりに、ポリラインを入力とする。本実施の形態におけるメッシュ生成部は、図13に示すように、ポリラインに基づいて、複数の三角形メッシュを生成することで、曲線の編集に本発明を適用可能としている。
つまり、図10(a)に示すように、曲線が与えられると(ステップ1001)、初期メッシュ生成部30が、曲線を複数のポリラインに分割し、その座標データ等を、記憶装置40に記憶する(ステップ1002)。次いで、初期メッシュ生成部30は、たとえば、ポリラインの連続する3つの頂点を結ぶ三角形つくり(ステップ1003)、これを三角形メッシュとして、その座標のデータを、オリジナル形状データ44として、記憶装置40に記憶する(ステップ1004)。以後の処理は、図8および図9を参照したものと同様である。なお、オリジナル形状データにおいて、いずれの座標を連結することで曲線が形成されるかを示す情報(接続情報)が含まれるのが望ましい。
画像生成部52は、図10(b)に示すように、記憶装置40から最終メッシュデータ50を読み出すと(ステップ1011)、前記接続情報にしたがって、最終メッシュデータ50に示す座標のいずれを接続すべきかを判断して、曲線を生成し(ステップ1012)、表示装置14の画面上に表示する
図11は、表示装置の画面上に表示された曲線を編集する例を示す図である。本発明のように、第1のメッシュ生成部および第2のメッシュ生成部における処理が実行された場合には、曲線は、あたかも剛性を有しているように振舞う。その一方、たとえば、第1のメッシュ生成部における処理のみが実行された場合には、曲線が勝手に拡大、縮小してしまう。図11の上図において、ハンドル(図中、人間の手で示されている)を移動している。図11の左側の図は、第1のメッシュ生成部による処理のみを施した場合(比較例)を示し、右側の図は、第1のメッシュ生成部および第2のメッシュ生成部の双方の処理を施した場合(実施例)を示す。比較例では、引き伸ばされた領域が増大し、押しつぶされた領域が縮小している。その一方、本発明を適用した例(実施例)によれば、より自然な結果を得られている。
ユーザが、インタラクションの間、影響を及ぼすべき領域を直接調整することができるように、「ピーリング・インタフェース」を提供する。「ピーリング・インタフェース」においては、ユーザが、曲線をより遠くにドラッグするのにしたがって、影響を及ぼすべき領域が増大する(図11参照)。これにより、ユーザは、予め影響を及ぼすべき領域を特定する必要が無くなり、また、インタラクションをより直観的にすることが可能となる。
図12は、「ピーリング」インタフェース」を利用した曲線の編集の例を示す図である。ユーザが、曲線をさらに遠くに引っ張ると、影響を及ぼすべき領域が増大する(図中、左から右を参照)。また、ユーザは、予め領域を明瞭に特定することもできる(図中、左下参照)。
また、ドラッグに先立って、曲線の上にピンを配置することにより、ユーザが明瞭に影響を及ぼすべき領域を特定することも可能である。しかしながら、ピンを配置する場合には、局地的な変形だけが可能であり、ユーザが影響を及ぼすべき領域を変更することはできない。なお、実際の処理では、ユーザの入力に応答して、初期メッシュ生成部30により、ピンの座標を記憶装置40に記憶し、処理において、そのピンの座標を利用すれば良い。
図1は、本実施の形態にかかる画像処理システムのハードウェア構成を示すブロックダイヤグラムである。 図2は、本実施の形態にかかる画像処理システムの機能ブロックダイヤグラムである。 図3は、本実施の形態にかかる画像処理システムによる処理(レジストレーション、コンパイレーションおよびマニピュレーション)を概略的に示す図である。 図4は、本実施の形態にかかる画像処理システムによるハンドル構成の生成、第1のメッシュ生成、2段階の第2のメッシュ生成を説明する図である。 図5は、本実施の形態にかかる第1のメッシュ生成部による処理における誤り関数を説明する図である。 図6は、本実施の形態にかかる第2のメッシュ生成部による処理における、第1のステップである適合化(フィッティング)を説明する図である。 図7は、本実施の形態にかかる第2のメッシュ生成部による処理における、第2のステップを説明する図である。 図8は、本実施の形態にかかる画像処理システム10において実行される処理を示すフローチャートである。 図9は、本実施の形態にかかる画像処理システム10において実行される処理を示すフローチャートである。 図10は、本発明を、曲線の編集に利用した場合に、画像処理システム10にて実行される処理を示すフローチャートである。 図11は、本発明を利用した曲線の編集の例を示す図である。 図12は、本発明を利用した曲線の編集の他の例を示す図である。 図13は、本発明を曲線の編集に利用した場合の三角形メッシュ生成を説明する図である。
符号の説明
10 画像処理システム
12 入力装置
14 表示装置
30 初期メッシュ生成部
32 レジストレーション処理部
34 コンパイレーション処理部
36 第1のメッシュ生成部
38 第2のメッシュ生成部
40 記憶装置
52 画像生成部

Claims (14)

  1. 変形すべきオブジェクトを構成する三角形メッシュのデータからなるオリジナル形状データが記憶された記憶装置を有する画像処理システムにおいて、
    入力装置からの、画像中の前記三角形メッシュにおける固定すべき点および移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示すそれぞれのオリジナル三角形メッシュについて、その回転および拡大/縮小を許容しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異を表現した2次の誤り計量が最小となるような、中間的な三角形メッシュのデータからなる中間的メッシュデータを生成し、前記記憶装置に記憶する第1のメッシュ生成手段と、
    前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュについて、その回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大/縮小を許容しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、前記記憶装置に記憶する第2のメッシュ生成手段と、を備えたことを特徴とする画像処理システム。
  2. 前記第2のメッシュ生成手段が、前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転および平行移動させて、中間的メッシュデータが示す対応する中間的な三角形メッシュとの間の2次の誤り計量を最小化させる、適合化された三角形メッシュのデータからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶し、
    前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュとの間の、三角形の辺を表すベクトルの差を示す2次の誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、かつ、前記記憶装置に記憶するように構成されたことを特徴とする請求項1に記載の画像処理システム。
  3. さらに、前記記憶装置に記憶されたオリジナル形状データ、或いは、最終メッシュデータを読み出して、読み出されたデータに基づくオブジェクトを含む画像を生成する画像生成手段を備えたことを特徴とする請求項2に記載の画像処理システム。
  4. さらに、オリジナル形状データが前記記憶装置に記憶されると、
    (a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座標に基づいて、
    step1{v}=vstep1
    を満たす行列Gstep1、および、
    step2{v}=vstep2
    を満たす行列Gstep2
    (ただし、
    step1は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第1のメッシュ生成手段における2次の誤り計量を表す関数
    step2は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第2のメッシュ生成手段による、適合メッシュデータが示す三角形メッシュおよび最終的な三角形メッシュの差異を表現した2次の誤り計量を表す関数)
    を算出し、
    (b)∇Efitting{w}=Gfittingw+Bfitting=0
    であるような、行列Gfitting、および、当該Gfittingの逆行列Gfitting−1
    (ただし、
    fittingは、前記第2のメッシュ生成手段における、前記オリジナル形状データが示す三角形メッシュおよび中間的な三角形メッシュに関する2次の誤り計量を示す関数)
    を算出するように構成されたレジストレーション手段と、
    前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、ある位置のハンドルが削除されると、
    (c)前記Gstep1およびGstep2に関して、ハンドルにより拘束される頂点の成分を除去することにより、行列Gstep1’およびGstep2’を算出し、
    (d)前記行列Gstep1’およびGstep2’の逆行列Gstep1’−1およびGstep2‘−1を算出するコンパイレーション手段と、を備えたことを特徴とする請求項2または3に記載の画像処理システム。
  5. 前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
    前記第1のメッシュ生成手段が、
    (e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新された位置を用いて、ベクトルBstep1
    (ただし、∇Estep1{u}=Gstep1’+Bstep1=0
    ∇Estep1{v}は、Estep1{v}=vstep1vの偏微分)
    を算出し、
    (f)前記行列Gstep1‘−1と前記Bstep1とを乗じて、三角形メッシュにおける自由な頂点に関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するように構成され、かつ、
    前記第2のメッシュ生成手段が、
    (g)前記中間的メッシュデータに基づいて、前記ベクトルBfittingを算出し、
    (h)前記行列Gfitting−1とBfittingとを乗じて、前記適合化された三角形の適合メッシュデータを生成し、
    (i)前記適合メッシュデータに基づき、ベクトルBstep2’
    (ただし、∇Estep2{u}=Gstep2’u+Bstep2’=0
    ∇Estep2{v}は、Estep2{v}=vstep2v+Bstep2vの偏微分)
    を算出し、
    (j)前記行列Gstep2’−1とベクトルBstep2’とを乗じて、最終的な三角形メッシュの最終メッシュデータを生成するように構成されたことを特徴とする請求項4に記載の画像処理システム。
  6. 前記変形すべきオブジェクトが、前記三角形メッシュにより構成される2次元オブジェクトであることを特徴とする請求項1ないし5の何れか一項に記載の画像処理システム。
  7. 前記変形すべきオブジェクトが曲線であり、前記曲線を示すポリラインのデータから、前記ラインを構成する頂点の近接する3点ずつを結んで構成される三角形メッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メッシュ生成手段を備えたことを特徴とする請求項1ないし5の何れか一項に記載の画像処理システム。
  8. 変形すべきオブジェクトを構成する三角形メッシュのデータからなるオリジナル形状データが記憶された記憶装置を有するコンピュータにより読み出し可能な、画像処理プログラムであって、前記コンピュータに、
    入力装置からの、画像中の前記三角形メッシュにおける固定すべき点および移動される点を含む、複数のハンドル位置を示す情報に基づいて、前記オリジナル形状データを前記記憶装置から読み出して、当該オリジナル形状データが示すそれぞれのオリジナル三角形メッシュについて、その回転および拡大/縮小を許容しつつ、オリジナル三角形メッシュと、処理後の中間的な三角形メッシュとの間の差異を表現した2次の誤り計量が最小となるような、中間的な三角形メッシュのデータからなる中間的メッシュデータを生成し、前記記憶装置に記憶する第1のメッシュ生成ステップと、
    前記中間的メッシュデータが示すそれぞれの中間的な三角形メッシュについて、その回転および平行移動を許容しつつ、不均一な歪、伸縮および拡大/縮小を許容しない状態で、前記中間的な三角形メッシュと、最終的な三角形メッシュとの間の差異を表現した誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、前記記憶装置に記憶する第2のメッシュ生成ステップと、を実行させることを特徴とする画像処理プログラム。
  9. 前記第2のメッシュ生成ステップにおいて、前記コンピュータに、
    前記オリジナル形状データが示すオリジナル三角形メッシュのそれぞれを回転および平行移動させて、中間的メッシュデータが示す対応する中間的な三角形メッシュとの間の2次の誤り計量を最小化させる、適合化された三角形メッシュのデータからなる適合メッシュデータを生成し、かつ、前記記憶装置に記憶するステップと、
    前記適合メッシュデータが示す三角形メッシュと、対応する最終的な三角形メッシュとの間の、三角形の辺を表すベクトルの差を示す2次の誤り計量が最小となるような、最終的な三角形メッシュのデータからなる最終メッシュデータを生成し、かつ、前記記憶装置に記憶するステップとを、実行させることを特徴とする請求項8に記載の画像処理プログラム。
  10. 前記コンピュータに、さらに、前記記憶装置に記憶されたオリジナル形状データ、或いは、最終メッシュデータを読み出して、読み出されたデータに基づくオブジェクトを含む画像を生成する画像生成ステップを、実行させることを特徴とする請求項9に記載の画像処理プログラム。
  11. さらに、オリジナル形状データが前記記憶装置に記憶されると、
    (a)前記オリジナル形状データが示すそれぞれのオリジナル三角形メッシュの頂点座標に基づいて、
    step1{v}=vstep1
    を満たす行列Gstep1、および、
    step2{v}=vstep2
    を満たす行列Gstep2
    (ただし、
    step1は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第1のメッシュ生成ステップにおける2次の誤り計量を表す関数
    step2は、2n個の変数vox,voy,v1x,v1y,・・・,vnx,vnyによる2次式で表された、第2のメッシュ生成ステップによる、適合メッシュデータが示す三角形メッシュおよび最終的な三角形メッシュの差異を表現した2次の誤り計量を表す関数)
    を算出するステップと、
    (b)∇Efitting{w}=Gfittingw+Bfitting=0
    であるような、行列Gfitting、および、当該Gfittingの逆行列 fitting−1
    (ただし、
    fittingは、前記第2のメッシュ生成ステップにおける、前記オリジナル形状データが示す三角形メッシュおよび中間的な三角形メッシュに関する2次の誤り計量を示す関数)
    を算出するステップと、を前記コンピュータに実行させ、さらに、
    前記入力装置からの情報により、ある位置にハンドルが配置、追加され、あるいは、ある位置のハンドルが削除されると、
    (c)前記Gstep1およびGstep2に関して、ハンドルにより拘束される頂点の成分を除去することにより、行列Gstep1’およびGstep2’を算出するステップと、
    (d)前記行列Gstep1’およびGstep2’の逆行列Gstep1’−1およびGstep2‘−1を算出するステップと、を前記コンピュータに実行させることを特徴とする請求項9または10に記載の画像処理プログラム。
  12. 前記入力装置からの情報により、いずれかの位置のハンドルが移動されると、
    前記第1のメッシュ生成ステップにおいて、
    (e)前記ハンドルの移動に伴って、三角形メッシュにおける拘束された頂点の更新された位置を用いて、ベクトルBstep1
    (ただし、∇Estep1{u}=Gstep1’+Bstep1=0
    ∇Estep1{v}は、Estep1{v}=vstep1vの偏微分)
    を算出するステップと、
    (f)前記行列Gstep1‘−1と前記Bstep1とを乗じて、三角形メッシュにおける自由な頂点に関する座標を含む、中間的なメッシュ三角形の中間的メッシュデータを生成するステップと、を前記コンピュータに実行させ、かつ、
    前記第2のメッシュ生成ステップにおいて、
    (g)前記中間的メッシュデータに基づいて、前記ベクトルBfittingを算出するステップと、
    (h)前記行列Gfitting−1とBfittingとを乗じて、前記適合化された三角形の適合メッシュデータを生成するステップと、
    (i)前記適合メッシュデータに基づき、ベクトルBstep2’
    (ただし、∇Estep2{u}=Gstep2’u+Bstep2’=0
    ∇Estep2{v}は、Estep2{v}=vstep2v+Bstep2vの偏微分)
    を算出するステップと、
    (j)前記行列Gstep2’−1とベクトルBstep2’とを乗じて、最終的な三角形メッシュの最終メッシュデータを生成するステップと、を前記コンピュータに実行させることを特徴とする請求項11に記載の画像処理プログラム。
  13. 前記変形すべきオブジェクトが、前記三角形メッシュにより構成される2次元オブジェクトであることを特徴とする請求項8ないし12の何れか一項に記載の画像処理プログラム。
  14. 前記変形すべきオブジェクトが曲線であり、さらに、前記コンピュータに、
    前記曲線を示すポリラインのデータから、前記ラインを構成する頂点の近接する3点ずつを結んで構成される三角形メッシュを生成し、当該三角形メッシュのデータを、記憶装置に記憶する初期三角形メッシュ生成ステップを実行させることを特徴とする請求項8ないし12の何れか一項に記載の画像処理プログラム。
JP2005106371A 2005-04-01 2005-04-01 画像処理システムおよび画像処理プログラム Active JP4613313B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005106371A JP4613313B2 (ja) 2005-04-01 2005-04-01 画像処理システムおよび画像処理プログラム
US11/909,588 US8063917B2 (en) 2005-04-01 2006-03-30 Image processing system and program
CN2006800094661A CN101147172B (zh) 2005-04-01 2006-03-30 图像处理系统以及图像处理方法
EP06730675A EP1865467B1 (en) 2005-04-01 2006-03-30 Image processing system and program
PCT/JP2006/306727 WO2006106863A1 (ja) 2005-04-01 2006-03-30 画像処理システムおよび画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005106371A JP4613313B2 (ja) 2005-04-01 2005-04-01 画像処理システムおよび画像処理プログラム

Publications (3)

Publication Number Publication Date
JP2006285765A JP2006285765A (ja) 2006-10-19
JP2006285765A5 JP2006285765A5 (ja) 2008-03-13
JP4613313B2 true JP4613313B2 (ja) 2011-01-19

Family

ID=37073418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005106371A Active JP4613313B2 (ja) 2005-04-01 2005-04-01 画像処理システムおよび画像処理プログラム

Country Status (5)

Country Link
US (1) US8063917B2 (ja)
EP (1) EP1865467B1 (ja)
JP (1) JP4613313B2 (ja)
CN (1) CN101147172B (ja)
WO (1) WO2006106863A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045334A (ja) * 2011-08-25 2013-03-04 Casio Comput Co Ltd 画像生成方法、画像生成装置及びプログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8493340B2 (en) * 2009-01-16 2013-07-23 Corel Corporation Virtual hard media imaging
JP5357685B2 (ja) * 2009-09-28 2013-12-04 株式会社ソニー・コンピュータエンタテインメント 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体
JP5587132B2 (ja) * 2010-10-19 2014-09-10 キヤノン株式会社 画像処理装置、画像処理方法
JP5811690B2 (ja) * 2011-08-24 2015-11-11 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
JP5857531B2 (ja) * 2011-08-24 2016-02-10 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
JP5408206B2 (ja) 2011-08-25 2014-02-05 カシオ計算機株式会社 画像生成方法、画像生成装置及びプログラム
JP5408205B2 (ja) * 2011-08-25 2014-02-05 カシオ計算機株式会社 制御点設定方法、制御点設定装置及びプログラム
KR20140067972A (ko) * 2011-09-28 2014-06-05 텔레시스템즈 가부시키가이샤 화상처리장치 및 화상처리방법
KR20140099295A (ko) * 2011-12-28 2014-08-11 인텔 코포레이션 파이프라인 이미지 프로세싱 시퀀서
JP5906897B2 (ja) * 2012-03-30 2016-04-20 カシオ計算機株式会社 動き情報生成方法、動き情報生成装置及びプログラム
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
JP5966800B2 (ja) * 2012-09-19 2016-08-10 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
KR20150015680A (ko) * 2013-08-01 2015-02-11 씨제이씨지브이 주식회사 특징점의 생성을 이용한 이미지 보정 방법 및 장치
JP6213903B2 (ja) * 2016-03-11 2017-10-18 カシオ計算機株式会社 画像補正装置、画像補正方法、及びプログラム
US10403020B2 (en) * 2016-04-19 2019-09-03 Autodesk, Inc. Techniques for generating dynamic illustrations using principles of animation
JP6888098B2 (ja) * 2017-01-13 2021-06-16 ワーナー・ブラザース・エンターテイメント・インコーポレイテッドWarner Bros. Entertainment Inc. デジタル静止画像へのモーション効果の追加
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10510186B2 (en) 2017-12-22 2019-12-17 Adobe Inc. Digital media environment for intuitive modifications of digital graphics
US10388045B2 (en) * 2018-01-04 2019-08-20 Adobe Inc. Generating a triangle mesh for an image represented by curves
US10410317B1 (en) 2018-03-26 2019-09-10 Adobe Inc. Digital image transformation environment using spline handles
US10489946B1 (en) * 2018-06-29 2019-11-26 Adobe Inc. Generalized primitives for smooth coloring of vector graphics artwork in constant time
US10846889B2 (en) 2018-11-29 2020-11-24 Adobe Inc. Color handle generation for digital image color gradients using machine learning
US10832446B2 (en) * 2019-01-07 2020-11-10 Adobe Inc. Bone handle generation
US10943375B2 (en) 2019-04-17 2021-03-09 Adobe Inc. Multi-state vector graphics
US10878641B1 (en) * 2019-06-07 2020-12-29 Adobe Inc. Editing bezier patch by selecting multiple anchor points
CN110443751B (zh) * 2019-07-10 2022-09-23 广东智媒云图科技股份有限公司 基于绘画线条的图像变形方法、装置、设备及存储介质
US11948338B1 (en) * 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US11631207B2 (en) 2021-09-09 2023-04-18 Adobe Inc. Vector object stylization from raster objects

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2585177B2 (ja) * 1993-03-26 1997-02-26 株式会社エイ・ティ・アール通信システム研究所 物体形状表示装置
JPH1069549A (ja) * 1996-08-29 1998-03-10 Nippon Telegr & Teleph Corp <Ntt> 画像処理方法
US6765589B1 (en) 2000-11-16 2004-07-20 Adobe Systems Incorporated Brush for warping and water reflection effects
US7538764B2 (en) * 2001-01-05 2009-05-26 Interuniversitair Micro-Elektronica Centrum (Imec) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
US6987511B2 (en) * 2002-10-17 2006-01-17 International Business Machines Corporation Linear anisotrophic mesh filtering
CN1246803C (zh) * 2003-11-24 2006-03-22 浙江大学 一种与视点相关的用于地形网格生成的误差度量方法
US7286127B2 (en) * 2005-06-22 2007-10-23 Microsoft Corporation Large mesh deformation using the volumetric graph Laplacian
CA2553546A1 (en) * 2005-07-29 2007-01-29 Avid Technology, Inc. Three-dimensional animation of soft tissue of characters using controls associated with a surface mesh
US8749543B2 (en) * 2006-08-15 2014-06-10 Microsoft Corporation Three dimensional polygon mesh deformation using subspace energy projection
US7843456B2 (en) * 2007-06-29 2010-11-30 Microsoft Corporation Gradient domain editing of animated meshes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045334A (ja) * 2011-08-25 2013-03-04 Casio Comput Co Ltd 画像生成方法、画像生成装置及びプログラム

Also Published As

Publication number Publication date
WO2006106863A1 (ja) 2006-10-12
EP1865467A4 (en) 2011-12-21
EP1865467A1 (en) 2007-12-12
JP2006285765A (ja) 2006-10-19
EP1865467B1 (en) 2012-12-19
US8063917B2 (en) 2011-11-22
CN101147172B (zh) 2010-05-19
US20090213143A1 (en) 2009-08-27
CN101147172A (zh) 2008-03-19

Similar Documents

Publication Publication Date Title
JP4613313B2 (ja) 画像処理システムおよび画像処理プログラム
CN110009721B (zh) 生成由曲线表示的图像的三角网格
US6608631B1 (en) Method, apparatus, and computer program product for geometric warps and deformations
US7570264B2 (en) Rig baking
KR100707841B1 (ko) 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법
EP3289568B1 (en) Systems and methods for synthesising a terrain
EP3038060B1 (en) 3D modeled object defined by a grid of control points
US20080192049A1 (en) Image deformation using physical models
Kang et al. Mesh-based morphing method for rapid hull form generation
US8358311B1 (en) Interpolation between model poses using inverse kinematics
Singh et al. Real-time volume manipulation
WO2009104218A1 (ja) 地図表示装置
Herrera et al. Study of a ray casting technique for the visualization of deformable volumes
Angelidis et al. Sweepers: Swept deformation defined by gesture
Kumar et al. Development of CAD algorithms for bezier curves/surfaces independent of operating system
US8704828B1 (en) Inverse kinematic melting for posing models
Noble et al. Direct manipulation of surfaces using NURBS-based free-form deformations
JP2003006552A (ja) シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
Kil et al. 3D warp brush modeling
Hua et al. Dynamic implicit solids with constraints for haptic sculpting
JP4479957B2 (ja) 曲面細分割装置
US8379030B1 (en) Computer graphics variable transformation interface
US20070018987A1 (en) Plane shape creation system, plane shape creation method and program recording medium
JP4463008B2 (ja) 切断面画像生成装置、切断面画像生成プログラム及び記録媒体
Schmidt et al. Shapeshop: Free-form 3d design with implicit solid modeling

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100812

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100921

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150