專利名稱:基于關(guān)鍵幀的卡通角色輪廓跟蹤方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于關(guān)鍵幀的從卡通角色運(yùn)動序列中跟蹤角色輪廓的方法,屬于計算機(jī)二維動畫領(lǐng)域。
背景技術(shù):
傳統(tǒng)卡通動畫的制作通常是比較耗費(fèi)時間和勞力的。隨著傳統(tǒng)卡通動畫被廣泛地應(yīng)用于各個領(lǐng)域,大量的現(xiàn)成卡通動畫素材可以被重用。通過重用已有的卡通素材,可以在一定程度上降低卡通動畫制作的復(fù)雜程度,進(jìn)而提高卡通動畫制作的效率。
卡通角色運(yùn)動捕獲與重定向是重用已有卡通素材的方式之一。這種重用方式通過從一段已有的卡通動畫序列中提取卡通角色的運(yùn)動風(fēng)格,然后將這種運(yùn)動風(fēng)格賦予一個新的卡通角色,生成一段新的運(yùn)動序列。比如2002年在SIGGRAPH會議上發(fā)表的文章《Turning to the MastersMotion CapturingCartoons》就是采用這種方式重用已有的卡通素材。在該文章中,給定一段卡通角色的運(yùn)動序列,從中人為地指定卡通角色的關(guān)鍵幀,角色的運(yùn)動風(fēng)格被抽象成各部位的仿射形變系數(shù)和關(guān)鍵幀的插值系數(shù);然后,用戶提供一組與指定的關(guān)鍵幀在姿態(tài)上相似的新角色的關(guān)鍵幀,將相應(yīng)的系數(shù)應(yīng)用到新角色的關(guān)鍵幀得到一段新的運(yùn)動序列。采用這種方式重用卡通素材的一個主要困難是從卡通角色的運(yùn)動序列中捕獲角色的運(yùn)動。該文采用的卡通角色運(yùn)動捕獲方法,首先將角色分解為多個部位,然后通過一種基于區(qū)域的跟蹤方法確定各個部位的仿射形變系數(shù),最后利用仿射形變系數(shù)確定關(guān)鍵幀的插值系數(shù)。該捕獲方法對角色的各個部位分別進(jìn)行跟蹤,而沒有利用角色的整體結(jié)構(gòu)以及各個部位在運(yùn)動序列上的約束信息,跟蹤得到的結(jié)果往往不夠魯棒。在2002年的PacificConference on Computer Graphics and Applications上發(fā)表的文章《Cartoon MotionCapture by Shape Matching》提出了一種基于形狀匹配的卡通角色運(yùn)動捕獲方法。該方法通過分析卡通角色的輪廓在運(yùn)動序列上發(fā)生的形變來獲取角色的運(yùn)動風(fēng)格。首先,在每一幀中的角色外輪廓上采樣一些點(diǎn),然后利用魯棒點(diǎn)匹配的方法建立兩個不同幀上輪廓采樣點(diǎn)之間的對應(yīng),進(jìn)而根據(jù)建立的輪廓點(diǎn)對應(yīng)確定兩個不同幀上的角色輪廓之間的形變系數(shù)。為了應(yīng)用該方法,必須事先將卡通角色從該運(yùn)動序列中分割出來;而且,當(dāng)某些部位在運(yùn)動序列的某些幀中被遮擋時,該方法將會出錯。
輪廓跟蹤可以作為捕獲卡通角色運(yùn)動的一種手段。輪廓跟蹤將輪廓用其上的一些輪廓點(diǎn)來表示,通過跟蹤確定這些輪廓點(diǎn)在整個運(yùn)動序列上的位置。由于跟蹤得到的不同幀中的輪廓點(diǎn)間的對應(yīng)已經(jīng)建立,可以用于分析卡通角色的各個部位在不同幀之間發(fā)生的形變。在2004年的SIGGRAPH會議上發(fā)表的文章《Keyframe-Based Tracking for Rotoscoping and Animation》提出了一種基于關(guān)鍵幀的從普通視頻序列中跟蹤曲線的方法。該方法將要跟蹤的曲線建模成由其上的離散點(diǎn)作為控制點(diǎn)的三次貝塞爾曲線。首先,在關(guān)鍵幀上標(biāo)注跟蹤曲線的控制點(diǎn),根據(jù)關(guān)鍵幀上的標(biāo)注,構(gòu)建一個最優(yōu)化模型,通過求解該最優(yōu)化模型確定各個控制點(diǎn)在其他幀中的位置。因?yàn)榭ㄍㄟ\(yùn)動序列中,兩幀相鄰幀之間的變化比較大,加上角色部位的輪廓在運(yùn)動過程中常會發(fā)生較大的形變,而該方法假設(shè)跟蹤的曲線在相鄰兩幀之間的變化比較小,并不適合在卡通運(yùn)動序列上跟蹤角色的輪廓曲線。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種基于關(guān)鍵幀的卡通角色輪廓跟蹤方法。
基于關(guān)鍵幀的卡通角色輪廓跟蹤方法包括如下步驟 1)從一段卡通運(yùn)動序列中選出關(guān)鍵幀,兩個相鄰關(guān)鍵幀之間的幀序列構(gòu)成一個運(yùn)動子序列; 2)對于每個運(yùn)動子序列,分別在第一幀和最后一幀上的角色各個部位的輪廓上設(shè)置關(guān)鍵點(diǎn),將相鄰的兩個關(guān)鍵點(diǎn)用直線進(jìn)行連接,每個部位被表示成一個多邊形,第一幀和最后一幀上設(shè)置的關(guān)鍵點(diǎn)數(shù)目相同并且一一對應(yīng),第一幀上標(biāo)注的輪廓被復(fù)制到該子序列上除最后一幀以外的其他幀上; 3)對每個運(yùn)動子序列,構(gòu)建一個以該子序列上的所有關(guān)鍵點(diǎn)為優(yōu)化變量的包含時序約束和空間約束的優(yōu)化模型; 4)將上述優(yōu)化模型轉(zhuǎn)化成
的非線性最小二乘問題,采用阻尼最小二乘法進(jìn)行求解,在求解得到子序列的中間幀上各個關(guān)鍵點(diǎn)的位置后,將每幀上的相鄰關(guān)鍵點(diǎn)用線段連接,得到角色的輪廓。
所述的對每個運(yùn)動子序列,構(gòu)建一個以該子序列上的關(guān)鍵點(diǎn)集合為變量的包含時序約束和空間約束的優(yōu)化模型對每兩個相鄰關(guān)鍵幀之間的運(yùn)動子序列構(gòu)造一個目標(biāo)函數(shù)E,該目標(biāo)函數(shù)包括6個約束項,其中前4項是時序約束項,后2項是空間約束項 E=wLEL+wAEA+wSES+wVEV+wEEE+wRER1 其中wL,wA,wS,wV,wE和wR分別為各項的權(quán)重系數(shù),下面依次介紹各項的定義及作用; 第1約束項為長度項EL,該項反映了角色輪廓上的各條線段在運(yùn)動子序列上的長度變化, 其中si(j)為第i幀中的角色輪廓上的第j條線段,Nf為運(yùn)動子序列的幀數(shù),Ns為角色輪廓上線段的數(shù)目; 第2約束項為角度項EA,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)處的夾角在運(yùn)動子序列上的變化, 其中ci(j)為第i幀上中角色輪廓上的第j個關(guān)鍵點(diǎn),Nc表示角色輪廓上關(guān)鍵點(diǎn)的數(shù)目; 第3約束項為面積項ES,該項反映了角色的各個部位在運(yùn)動子序列上的面積變化, 其中pi(j)為第i幀中表示角色第j個部位的多邊形,fS是計算多邊形面積的函數(shù),Np為角色部位的數(shù)目。
第4約束項為速度項EV,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)的在相鄰幀間的位置偏移量在運(yùn)動子序列上的變化, 第5約束項為邊界項EE,該項使得角色的輪廓在運(yùn)動子序列的每一幀上靠近圖像邊界,邊界項計算方法如下 首先對運(yùn)動子序列中的每一幀圖像Fi采用坎尼邊界檢測算法提取圖像邊界,得到圖像邊界圖Ei;接著,對每一幅圖像邊界圖Ei計算歐式距離變換,得到一個H×W的距離變換矩陣Di,其中H和W為圖像的高度和寬度,Di(x,y)表示圖像坐標(biāo)為(x,y)的像素點(diǎn)在Ei中離最近邊界像素點(diǎn)的歐式距離;然后,利用距離變換定義角色輪廓上的線段到圖像邊界的距離。在每一條線段si(j)上等間隔采樣t個像素點(diǎn),設(shè)它們的圖像坐標(biāo)為{(xk,yk)|1≤k≤t},使用下面公式進(jìn)行計算線段到圖像邊界的距離 最后,邊界項被定義為 第6約束項為區(qū)域項ER,該項使得在運(yùn)動子序列的每一幀中,角色的各個部位落在正確的圖像區(qū)域,區(qū)域項的計算方法如下 首先,利用關(guān)鍵幀上的標(biāo)注,跟蹤出角色的每個部位在中間幀上的大致位置根據(jù)兩個關(guān)鍵幀上標(biāo)注的部位p1(j)和
使用線性插值得到卡通角色的第j個部位在第i幀上的大致形狀,記為pi′(j),采用仿射填充算法利用p1(j)的紋理為pi′(j)填充顏色;通過計算pi′(j)各個頂點(diǎn)坐標(biāo)的平均值得到pi′(j)的中心cpi′(j),在以cpi′(j)為中心的搜索窗口里定位cpi′(j)在第i幀上的最佳位置cpi*(j),使得將部位pi′(j)的中心cpi′(j)平移到cpi*(j)后,部位pi′(j)與其所在的圖像區(qū)域的顏色差異最??; 接著,對第i幀上表示角色第j個部位的多邊形pi(j),通過計算它的各個頂點(diǎn)坐標(biāo)的平均值得到該部位的中心cpi(j); 最后,使用下面的公式定義區(qū)域項 所述的采用仿射填充算法利用p1(j)的紋理為pi′(j)填充顏色步驟包括 1)將多邊形p1(j)和pi′(j)分別表示成2×M的矩陣A和B,其中A的第k列和B的第k列分別表示p1(j)和pi′(j)的第k個頂點(diǎn)的圖像坐標(biāo); 2)采用線性最小二乘法最小化下面的式子來計算多邊形pi′(j)到多邊形p1(j)的仿射變換AT 3)對多邊形pi′(j)內(nèi)的每一個像素點(diǎn)px′,px′的坐標(biāo)表示成
的形式,通過下式計算得到一個像素點(diǎn)px 如果px的坐標(biāo)位置在多邊形p1(j)內(nèi)部,則將多邊形p1(j)上位于該坐標(biāo)位置的像素點(diǎn)的顏色賦值給px′; 4)對于多邊形pi′(j)內(nèi)每個還未著色的像素點(diǎn),選擇與其距離最近的已著色的像素點(diǎn)的顏色作為它的顏色值。
本發(fā)明具有的有益的效果是利用在一段卡通角色的運(yùn)動序列的關(guān)鍵幀上標(biāo)注的輪廓,構(gòu)建一個包含時序約束和空間約束的優(yōu)化模型,然后將該優(yōu)化模型轉(zhuǎn)化成非線性最小二乘問題,采用阻尼最小二乘法進(jìn)行求解,可以比較準(zhǔn)確并快速地確定角色輪廓在運(yùn)動序列的其他幀上的位置。利用輪廓跟蹤捕獲卡通角色的運(yùn)動,由于各個部位的在不同幀上的輪廓之間的對應(yīng)可以從跟蹤結(jié)果中直接得到,避免了輪廓匹配。
圖1是本發(fā)明在一段卡通角色運(yùn)動序列上的標(biāo)注的角色輪廓示意圖; 圖2是本發(fā)明定義的線段到圖像邊界的距離計算方式示意圖; 圖3是本發(fā)明在一段卡通角色運(yùn)動序列上跟蹤角色上臂部位的結(jié)果示意圖; 圖4是本發(fā)明定義的區(qū)域項的工作原理示意圖; 圖5是本發(fā)明在一段卡通角色運(yùn)動序列上跟蹤角色輪廓的結(jié)果示意圖。
具體實(shí)施例方式 本發(fā)明提出的卡通角色輪廓跟蹤方法,首先在卡通角色的運(yùn)動序列的關(guān)鍵幀上標(biāo)注角色的輪廓,根據(jù)關(guān)鍵幀上的標(biāo)注構(gòu)建一個優(yōu)化模型,通過求解該優(yōu)化模型自動跟蹤出卡通角色的輪廓在運(yùn)動序列的其他幀上的位置。由于傳統(tǒng)卡通動畫片都是以較低的幀率制作的,卡通角色的輪廓在相鄰兩幀之間的變化比較大;而且,卡通角色的部位在運(yùn)動過程中往往會發(fā)生比較夸張的形變。該優(yōu)化模型有效地利用了時序約束和空間約束,可以較準(zhǔn)確地從卡通角色運(yùn)動序列中跟蹤出角色的輪廓。
下面結(jié)合從一段孫悟空這個卡通角色的長度為15幀的運(yùn)動序列中跟蹤角色輪廓的實(shí)施例子介紹本發(fā)明的具體技術(shù)方案和實(shí)施步驟 (1)從輸入的一段卡通運(yùn)動序列中選出關(guān)鍵幀,并將兩個相鄰關(guān)鍵幀之間的幀序列組成一個運(yùn)動子序列;在圖1給出的孫悟空這個角色的一個長度為15幀的運(yùn)動序列中,第1幀和第15幀被選為關(guān)鍵幀; (2)對于每個運(yùn)動子序列,分別在第一幀和最后一幀上的角色各個部位的輪廓上設(shè)置關(guān)鍵點(diǎn),將相鄰的兩個關(guān)鍵點(diǎn)用直線進(jìn)行連接,每個部位被表示成一個多邊形,第一幀和最后一幀上設(shè)置的關(guān)鍵點(diǎn)數(shù)目相同并且一一對應(yīng),第一幀上標(biāo)注的輪廓被復(fù)制到該子序列上除最后一幀以外的其他幀上;圖1給出了一個在運(yùn)動子序列的標(biāo)注輪廓的示例,紅圈為關(guān)鍵點(diǎn),藍(lán)線構(gòu)成角色的輪廓; (3)對每個運(yùn)動子序列,構(gòu)建一個以該子序列上的所有關(guān)鍵點(diǎn)為優(yōu)化變量的包含時序約束和空間約束的優(yōu)化模型。也就是,對運(yùn)動子序列構(gòu)造一個目標(biāo)函數(shù)E,該目標(biāo)函數(shù)包括6個約束項,其中前4項是時序約束項,后2項是空間約束項 E=wLEL+wAEA+wSES+wVEV+wEEE+wRER1 其中wL,wA,wS,wV,wE和wR分別為各項的權(quán)重系數(shù);在這個實(shí)施例中,這些參數(shù)被依次設(shè)置為8,9,3,4,4和32,下面依次介紹各項的定義及作用; 第1約束項為長度項EL,該項反映了角色輪廓上的各條線段在運(yùn)動子序列上的長度變化, 其中si(j)為第i幀中的角色輪廓上的第j條線段,Nf為運(yùn)動子序列的幀數(shù),Ns為角色輪廓上線段的數(shù)目; 第2約束項為角度項EA,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)處的夾角在運(yùn)動子序列上的變化, 其中ci(j)為第i幀上中角色輪廓上的第j個關(guān)鍵點(diǎn),Nc表示角色輪廓上關(guān)鍵點(diǎn)的數(shù)目; 第3約束項為面積項ES,該項反映了角色的各個部位在運(yùn)動子序列上的面積變化, 其中pi(j)為第i幀中表示角色第j個部位的多邊形,fS是計算多邊形面積的函數(shù),Np為角色部位的數(shù)目。
第4約束項為速度項EV,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)的在相鄰幀間的位置偏移量在運(yùn)動子序列上的變化, 第5約束項為邊界項EE,該項使得角色的輪廓在運(yùn)動子序列的每一幀上靠近圖像邊界,邊界項計算方法如下 首先對運(yùn)動子序列中的每一幀圖像Fi采用坎尼邊界檢測算法提取圖像邊界,得到圖像邊界圖Ei;接著,對每一幅圖像邊界圖Ei計算歐式距離變換,得到一個H×W的距離變換矩陣Di,其中H和W為圖像的高度和寬度,Di(x,y)表示圖像坐標(biāo)為(x,y)的像素點(diǎn)在Ei中離最近邊界像素點(diǎn)的歐式距離;然后,利用距離變換定義角色輪廓上的線段到圖像邊界的距離。在每一條線段si(j)上等間隔采樣t個像素點(diǎn),設(shè)它們的圖像坐標(biāo)為{(xk,yk)|1≤k≤t},使用下面的公式計算線段到圖像邊界的距離 通常情況下,t的取值對結(jié)果影響不大,考慮到計算效率,可以取一個相對較小一些的值,比如5到10之間,在這個實(shí)施例子中t的取值為7。圖2給出了線段到圖像邊界的距離計算方式的示意,其中圖2(a)為圖像邊界圖,圖2(b)示意的是線段到邊界距離,綠線表示線段,紅圈為從線段上采樣的像素點(diǎn),黃線段表示的是采樣像素點(diǎn)到圖像邊界的最小距離。最后,邊界項被定義為 第6約束項為區(qū)域項ER,該項使得在運(yùn)動子序列的每一幀中,角色的各個部位落在正確的圖像區(qū)域,區(qū)域項的計算方法如下 首先,利用關(guān)鍵幀上的標(biāo)注,跟蹤出角色的每個部位在中間幀上的大致位置。根據(jù)在兩個關(guān)鍵幀上標(biāo)注的部位p1(j)和
使用線性插值得到卡通角色的第j個部位在第i幀上的大致形狀,記為pi′(j),采用仿射填充算法根據(jù)p1(j)的紋理為pi′(j)填充顏色;通過計算pi′(j)各個頂點(diǎn)坐標(biāo)的平均值得到pi′(j)的中心cpi′(j),在以cpi′(j)為中心的一個搜索窗口里定位cpi′(j)在第i幀上的最佳位置cpi*(j),使得將部位pi′(j)的中心cpi′(j)平移到cpi*(j)后,部位pi′(j)與其所在的圖像區(qū)域的顏色差異最?。粓D3給出了跟蹤得到的孫悟空這個角色的右上臂在運(yùn)動序列的各個幀上的大致位置,綠圈表示部位的中心; 接著,對第i幀上表示角色第j個部位的多邊形pi(j),通過計算它的各個頂點(diǎn)坐標(biāo)的平均值得到該部位的中心cpi(j),并使用下面的公式定義區(qū)域項 圖4示意的是區(qū)域項的作用原理。在圖4(a)中,黃色圓圈表示角色左手掌中心的最佳位置,藍(lán)色正方形為左手掌當(dāng)前的中心位置;在圖4(b)中,在區(qū)域項的作用下,左手掌的中心位置不斷靠近其最佳位置,最終重合使得表示左手掌的曲線靠近到它在圖像中的正確位置; 所述的利用p1(j)的紋理為pi′(j)填充顏色的仿射填充算法步驟包括 1.將多邊形p1(j)和pi′(j)分別表示成2×M的矩陣A和B,其中A的第k列和B的第k列分別表示p1(j)和pi′(j)的第k個頂點(diǎn)的圖像坐標(biāo); 2.采用線性最小二乘法最小化下面的式子來計算多邊形pi′(j)到多邊形p1(j)的仿射變換AT 3.對多邊形pi′(j)內(nèi)的每一個像素點(diǎn)px′,px′的坐標(biāo)表示成
的形式,通過下式計算得到一個像素點(diǎn)px 如果px的坐標(biāo)位置在多邊形p1(j)內(nèi)部,則將多邊形p1(j)上位于該坐標(biāo)位置的像素點(diǎn)的顏色賦值給px′; 4.對于多邊形pi′(j)內(nèi)每個還未著色的像素點(diǎn),選擇與其距離最近的已著色的像素點(diǎn)的顏色作為它的顏色值。
(4)將上述優(yōu)化模型轉(zhuǎn)化成
的非線性最小二乘問題的形式,采用阻尼最小二乘法進(jìn)行求解,得到首幀標(biāo)注的角色輪廓上的關(guān)鍵點(diǎn)在子序列的各個中間幀上的位置后,將每幀上的相鄰關(guān)鍵點(diǎn)用線段連接,得到角色的輪廓。圖5給出了這個實(shí)施例的輪廓跟蹤的結(jié)果。
權(quán)利要求
1.一種基于關(guān)鍵幀的卡通角色輪廓跟蹤方法,其特征在于包括如下步驟
1)從一段卡通運(yùn)動序列中選出關(guān)鍵幀,兩個相鄰關(guān)鍵幀之間的幀序列構(gòu)成一個運(yùn)動子序列;
2)對于每個運(yùn)動子序列,分別在第一幀和最后一幀上的角色各個部位的輪廓上設(shè)置關(guān)鍵點(diǎn),將相鄰的兩個關(guān)鍵點(diǎn)用直線進(jìn)行連接,每個部位被表示成一個多邊形,第一幀和最后一幀上設(shè)置的關(guān)鍵點(diǎn)數(shù)目相同并且一一對應(yīng),第一幀上標(biāo)注的輪廓被復(fù)制到該子序列上除最后一幀以外的其他幀上;
3)對每個運(yùn)動子序列,構(gòu)建一個以子序列上的所有關(guān)鍵點(diǎn)為優(yōu)化變量的包含時序約束和空間約束的優(yōu)化模型;
4)將上述優(yōu)化模型轉(zhuǎn)化成
的非線性最小二乘問題,采用阻尼最小二乘法進(jìn)行求解,在求解得到子序列的中間幀上各個關(guān)鍵點(diǎn)的位置后,將每幀上的相鄰關(guān)鍵點(diǎn)用線段連接,得到角色的輪廓。
2.根據(jù)權(quán)利要求1所述的一種基于關(guān)鍵幀的卡通角色輪廓跟蹤方法,其特征在于,所述的對每個運(yùn)動子序列,構(gòu)建一個以該子序列上的關(guān)鍵點(diǎn)集合為變量的包含時序約束和空間約束的優(yōu)化模型對每兩個相鄰關(guān)鍵幀之間的運(yùn)動子序列構(gòu)造一個目標(biāo)函數(shù)E,該目標(biāo)函數(shù)包括6個約束項,其中前4項是時序約束項,后2項是空間約束項
E=wLEL+wAEA+wSES+wVEV+wEEE+wRER1
其中wL,wA,wS,wV,wE和wR分別為各項的權(quán)重系數(shù),下面依次介紹各項的定義及作用;
第1約束項為長度項EL,該項反映了角色輪廓上的各條線段在運(yùn)動子序列上的長度變化,
其中si(j)為第i幀中的角色輪廓上的第j條線段,Nf為運(yùn)動子序列的幀數(shù),Ns為角色輪廓上線段的數(shù)目;
第2約束項為角度項EA,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)處的夾角在運(yùn)動子序列上的變化,
其中ci(j)為第i幀上中角色輪廓上的第j個關(guān)鍵點(diǎn),Nc表示角色輪廓上關(guān)鍵點(diǎn)的數(shù)目;
第3約束項為面積項ES,該項反映了角色的各個部位在運(yùn)動子序列上的面積變化,
其中pi(j)為第i幀中表示角色第j個部位的多邊形,fS是計算多邊形面積的函數(shù),Np為角色部位的數(shù)目。
第4約束項為速度項EV,該項反映了角色輪廓上的各個關(guān)鍵點(diǎn)的在相鄰幀間的位置偏移量在運(yùn)動子序列上的變化,
第5約束項為邊界項EE,該項使得角色的輪廓在運(yùn)動子序列的每一幀上靠近圖像邊界,邊界項計算方法如下
首先對運(yùn)動子序列中的每一幀圖像Fi采用坎尼邊界檢測算法提取圖像邊界,得到圖像邊界圖Ei;接著,對每一幅圖像邊界圖Ei計算歐式距離變換,得到一個H×W的距離變換矩陣Di,其中H和W為圖像的高度和寬度,Di(x,y)表示圖像坐標(biāo)為(x,y)的像素點(diǎn)在Ei中離最近邊界像素點(diǎn)的歐式距離;然后,利用距離變換定義角色輪廓上的線段到圖像邊界的距離。在每一條線段si(j)上等間隔采樣t個像素點(diǎn),設(shè)它們的圖像坐標(biāo)為{(xk,yk)|1≤k≤t},使用下面公式進(jìn)行計算線段到圖像邊界的距離
最后,邊界項被定義為
第6約束項為區(qū)域項ER,該項使得在運(yùn)動子序列的每一幀中,角色的各個部位落在正確的圖像區(qū)域,區(qū)域項的計算方法如下
首先,利用關(guān)鍵幀上的標(biāo)注,跟蹤出角色的每個部位在中間幀上的大致位置根據(jù)兩個關(guān)鍵幀上標(biāo)注的部位p1(j)和
使用線性插值得到卡通角色的第j個部位在第i幀上的大致形狀,記為pi′(j),采用仿射填充算法利用p1(j)的紋理為pi′(j)填充顏色;通過計算pi′(j)各個頂點(diǎn)坐標(biāo)的平均值得到pi′(j)的中心cpi′(j),在以cpi′(j)為中心的搜索窗口里定位cpi′(j)在第i幀上的最佳位置cpi*(j),使得將部位pi′(j)的中心cpi′(j)平移到cpi*(j)后,部位pi′(j)與其所在的圖像區(qū)域的顏色差異最??;
接著,對第i幀上表示角色第j個部位的多邊形pi(j),通過計算它的各個頂點(diǎn)坐標(biāo)的平均值得到該部位的中心cpi(j),并使用下面的公式定義區(qū)域項
3.根據(jù)權(quán)利要求2所述的一種基于關(guān)鍵幀的卡通角色輪廓跟蹤方法,其特征在于,所述的采用仿射填充算法利用p1(j)的紋理為pi′(j)填充顏色步驟包括
1)將多邊形p1(j)和pi′(j)分別表示成2×M的矩陣A和B,其中A的第k列和B的第k列分別表示p1(j)和pi′(j)的第k個頂點(diǎn)的圖像坐標(biāo);
2)采用線性最小二乘法最小化下面的式子來計算多邊形pi′(j)到多邊形p1(j)的仿射變換AT
3)對多邊形pi′(j)內(nèi)的每一個像素點(diǎn)px′,px′的坐標(biāo)表示成
的形式,通過下式計算得到一個像素點(diǎn)px
如果px的坐標(biāo)位置在多邊形p1(j)內(nèi)部,則將多邊形p1(j)上位于該坐標(biāo)位置的像素點(diǎn)的顏色賦值給px′;
4)對于多邊形pi′(j)內(nèi)每個還未著色的像素點(diǎn),選擇與其距離最近的已著色的像素點(diǎn)的顏色作為它的顏色值。
全文摘要
本發(fā)明公開了一種基于關(guān)鍵幀的卡通角色輪廓跟蹤方法。首先,人為地從一段卡通角色的運(yùn)動序列中選出關(guān)鍵幀,在各個關(guān)鍵幀上用曲線畫出卡通角色的輪廓;然后,利用關(guān)鍵幀上標(biāo)注的輪廓信息,構(gòu)建一個優(yōu)化模型;最后,將該優(yōu)化模型轉(zhuǎn)化成非線性最小二乘問題進(jìn)行求解,跟蹤出卡通角色的輪廓在運(yùn)動序列的其他幀上的位置。本方法有效地利用了時序和空間上的約束信息,可以比較精確地從一段運(yùn)動序列中跟蹤出卡通角色的輪廓;利用輪廓跟蹤方法捕獲得到的卡通角色在運(yùn)動序列上各個部位的輪廓,可以用于分析這個角色在該段運(yùn)動序列上各個部位發(fā)生的形變。
文檔編號G06T7/20GK101799927SQ20101013118
公開日2010年8月11日 申請日期2010年3月23日 優(yōu)先權(quán)日2010年3月23日
發(fā)明者肖俊, 周春鑾, 莊越挺 申請人:浙江大學(xué)