本發(fā)明涉及圖像重建領(lǐng)域,尤其是涉及了一種基于雙視圖三維重建的食物體積估計(jì)方法。
背景技術(shù):
隨著生活水平的提高,與飲食相關(guān)的慢性疾病,如肥胖癥和糖尿病等,在全世界的患病率逐漸上升,死亡率也有上升趨勢(shì)。肥胖癥等疾病的病因除了家族遺傳因素以外,主要和人的日常飲食密切相關(guān),通過(guò)對(duì)用戶(hù)飲食情況進(jìn)行監(jiān)測(cè)和分析,能夠幫助用戶(hù)獲得更加健康的飲食習(xí)慣。傳統(tǒng)上,人們需要通過(guò)記錄自身的飲食內(nèi)容和查找了解相關(guān)資料,大致計(jì)算攝入食品的量,這樣既不方便,準(zhǔn)確性也不高。本發(fā)明提出的食物體積估計(jì)方法,可以通過(guò)圖像重建,幫助用戶(hù)評(píng)估食物攝取量。
本發(fā)明提出了一種基于雙視圖三維重建的食物體積估計(jì)方法,先進(jìn)行圖像3D重建,再通過(guò)顯著點(diǎn)匹配、相對(duì)姿態(tài)提取和尺度提取進(jìn)行外部校準(zhǔn),接著通過(guò)圖像的校正,立體匹配和點(diǎn)云生成進(jìn)行密集重建,最后使用分割圖消除背景提取食物表面,通過(guò)對(duì)盤(pán)上方的食物表面高度進(jìn)行積分計(jì)算食物體積。本發(fā)明通過(guò)獲取食物圖像,經(jīng)過(guò)圖像重建估計(jì)食物體積,計(jì)算處理簡(jiǎn)便,速度快,結(jié)果準(zhǔn)確;為一般人群和有特殊營(yíng)養(yǎng)需求的人們提供準(zhǔn)確的自動(dòng)的膳食評(píng)估工具,為人們提供了新穎的全自動(dòng)飲食評(píng)估方法。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)使用不方便和準(zhǔn)確性不高等問(wèn)題,本發(fā)明的目的在于提供一種基于雙視圖三維重建的食物體積估計(jì)方法,先進(jìn)行圖像3D重建,再通過(guò)顯著點(diǎn)匹配、相對(duì)姿態(tài)提取和尺度提取進(jìn)行外部校準(zhǔn),接著通過(guò)圖像的校正,立體匹配和點(diǎn)云生成進(jìn)行密集重建,最后使用分割圖消除背景提取食物表面,通過(guò)對(duì)盤(pán)上方的食物表面高度進(jìn)行積分計(jì)算食物體積。
為解決上述問(wèn)題,本發(fā)明提供一種基于雙視圖三維重建的食物體積估計(jì)方法,其主要內(nèi)容包括:
(一)圖像3D重建;
(二)外部校準(zhǔn);
(三)密集重建;
(四)體積估計(jì)。
其中,所述的圖像3D重建,在單視圖重建中,提取相機(jī)的絕對(duì)姿態(tài),通過(guò)形狀先驗(yàn)(即,適合場(chǎng)景的給定形狀)獲得3D形狀;在多視圖方法中,外部校準(zhǔn)引起場(chǎng)景的低分辨率稀疏重建,其中兩個(gè)圖像之間的每個(gè)點(diǎn)匹配產(chǎn)生3D點(diǎn);多視圖方法中的密集重建使用所有可用像素來(lái)構(gòu)建3D模型;存在對(duì)圖像進(jìn)行密集重建的路徑,例如從剪影形狀,其與通過(guò)非投影對(duì)象的輪廓而獲得的體積相交,立體匹配方法更常見(jiàn);密集立體匹配利用由相對(duì)相機(jī)姿態(tài)定義的約束來(lái)簡(jiǎn)化圖像之間的一對(duì)一像素匹配;這些約束用于變換圖像對(duì),使點(diǎn)對(duì)應(yīng)位于同一行上,稱(chēng)為整流的過(guò)程。
其中,所述的外部校準(zhǔn),校準(zhǔn)包括三個(gè)步驟:顯著點(diǎn)匹配,相對(duì)姿態(tài)提取和尺度提取。
進(jìn)一步地,所述的顯著點(diǎn)匹配,在圖像之間的查找點(diǎn)匹配需要先檢測(cè)和描述突出點(diǎn);第一個(gè)定義圖像的突出部分,而第二個(gè)以通用格式描述突出部分,用于比較;在兩個(gè)圖像中檢測(cè)并描述突出點(diǎn),通過(guò)比較k-d樹(shù)分層搜索提供支持,搜索范例中的描述符,在兩個(gè)圖像之間匹配點(diǎn)對(duì);對(duì)于兩個(gè)圖像中的每個(gè)檢測(cè)點(diǎn),獲得另一圖像中的最高等級(jí)匹配,并且定向匹配集合相交,找到對(duì)稱(chēng)的情況。
進(jìn)一步地,所述的相對(duì)姿態(tài)提取,為了提取相對(duì)姿態(tài)模型,基于隨機(jī)抽樣共識(shí)(RANSAC)的方法作為基礎(chǔ),迭代細(xì)化解,在算法的每次迭代中,隨機(jī)抽樣5個(gè)匹配;利用樣本集,使用五點(diǎn)相對(duì)姿態(tài)模型生成器創(chuàng)建模型;在所有匹配上評(píng)估所生成的模型,并根據(jù)內(nèi)層的比例,即內(nèi)層率來(lái)評(píng)分;保存具有最大內(nèi)在速率的模型,直到找到更好的速率;最佳模型的不確定率重新定義了最大迭代次數(shù);之后算法終止,并且從匹配集合中移除異常值;使用列文伯格-馬夸爾特法(LM)優(yōu)化算法對(duì)距離的總和迭代進(jìn)行改進(jìn),從而得到模型;最后,通過(guò)非投影從內(nèi)部匹配創(chuàng)建稀疏點(diǎn)云;通過(guò)包括局部?jī)?yōu)化和新穎的自適應(yīng)閾值估計(jì)方法來(lái)修改經(jīng)典的RANSAC算法;
當(dāng)找到新的最佳模型時(shí),RANSAC算法通過(guò)局部?jī)?yōu)化(LO):從最佳模型的內(nèi)點(diǎn)中隨機(jī)抽取10個(gè)匹配的集合以產(chǎn)生新的更好的模型;LO使用公式(1)的適應(yīng)度函數(shù)代替不確定性率,對(duì)模型進(jìn)行評(píng)分,明確地最大化了正確率計(jì)數(shù),并最小化了離群點(diǎn)距離;
其中,M是模型,D是匹配集合,Thrinl是內(nèi)部閾值,dist()是對(duì)稱(chēng)的極距;
為了改進(jìn)這一原理,在LO中找到新的最佳模型時(shí),使用該模型的內(nèi)在集合重新開(kāi)始局部?jī)?yōu)化,從而測(cè)試更多的高質(zhì)量模型;
通過(guò)反向方法確定每個(gè)圖像對(duì)和每個(gè)最佳模型;通過(guò)隨機(jī)匹配現(xiàn)有點(diǎn)創(chuàng)建數(shù)據(jù)噪聲分布,使用該分布來(lái)找到適當(dāng)?shù)拈撝挡⑦^(guò)濾掉離群值;在主循環(huán)中,為每個(gè)模型本地估計(jì)閾值,找到姿勢(shì)模型,使用相同的方法來(lái)定義全局閾值,用更好的模型更新;
為了找到給定模型的閾值,令Cdfdata:[0;∞[→[0;1]為距離到輸入匹配的累積分布函數(shù),對(duì)于給定的內(nèi)部閾值T,比率FDRB(T)=Cdfnoise(T)/Cdfdata(T)是可以由隨機(jī)匹配產(chǎn)生的模型的內(nèi)在的最大百分比:它是錯(cuò)誤發(fā)現(xiàn)率的上限;該公式等價(jià)于其中,δ=Cdfdata(T)是離群率;選擇的閾值給出最大的內(nèi)在率,同時(shí)保持錯(cuò)誤發(fā)現(xiàn)速率限制在固定值p:之下,最大噪聲污染率p設(shè)置為3%。
進(jìn)一步地,所述的尺度提取,兩個(gè)相機(jī)之間的相對(duì)姿態(tài)被定義為任意的比例因子;從參考卡上的匹配點(diǎn)提取真實(shí)比例;每個(gè)匹配包括每個(gè)圖像上的一個(gè)突出點(diǎn),兩個(gè)點(diǎn)與參考卡匹配以建立三角形點(diǎn)匹配(軌跡);此外,每個(gè)軌跡中的兩個(gè)像點(diǎn)對(duì)應(yīng)于稀疏云中的第4個(gè)點(diǎn);使用具有參考卡長(zhǎng)度的3%的內(nèi)部距離閾值的RANSAC來(lái)提取第一圖像和參考卡之間的單應(yīng)性;最后,估計(jì)稀疏點(diǎn)云中的每個(gè)距離與參考模式中的等價(jià)物之間的比率,選擇它們的分布模式作為尺度。
其中,所述的密集重建,包括圖像的校正,立體匹配和點(diǎn)云生成;
(1)圖像的校正:整流通過(guò)限制行之間的匹配過(guò)程來(lái)簡(jiǎn)化兩個(gè)圖像之間的點(diǎn)的密集匹配;該方法在一致的徑向坐標(biāo)系統(tǒng)中描述兩個(gè)圖像,其中每個(gè)視圖的中心是另一相機(jī)中心的投影,并且圍繞其匹配角度;為了簡(jiǎn)化立體匹配,強(qiáng)制顯著點(diǎn)匹配也滿(mǎn)足一致的成對(duì)水平順序;如果一對(duì)匹配的水平順序在整流圖像中相同,則標(biāo)記為“一致”,否則為“反轉(zhuǎn)”;如果多于一半的匹配對(duì)被標(biāo)記為“反轉(zhuǎn)”,則第二整流圖像被水平鏡像;
(2)立體匹配:通過(guò)比較每個(gè)像素周?chē)膱D像塊來(lái)尋找沿校正圖像的對(duì)應(yīng)行的密集像素匹配的過(guò)程,產(chǎn)生視差圖;匹配通過(guò)匹配成本,聚合,優(yōu)化和細(xì)化完成;
(3)點(diǎn)云生成:使用整流的逆變換將立體匹配傳送回原始圖像坐標(biāo)來(lái)提取密集匹配的3D位置;使用相對(duì)姿態(tài)直接對(duì)每個(gè)匹配進(jìn)行直接投影以生成3D點(diǎn),將深度合并到第一圖像的深度圖中。
其中,所述的體積估計(jì),包括食物表面提取,盤(pán)表面提取和體積計(jì)算。
進(jìn)一步地,所述的食物表面提取和盤(pán)表面提取,食物表面提取使用分割圖消除背景,在規(guī)則網(wǎng)格上對(duì)形狀進(jìn)行采樣,生成具有固定總點(diǎn)數(shù)的網(wǎng)格;然后使用采樣點(diǎn)的2D圖像坐標(biāo),通過(guò)德洛內(nèi)三角法將表面分割成三角形,舍棄屬于不同段的三角形,產(chǎn)生一組不同的表面;
對(duì)于盤(pán)表面提取,由于大多數(shù)塑料或釉面陶瓷盤(pán)是光滑和反光的,依賴(lài)于普通盤(pán)的性質(zhì)比在線擬合更好;使用在平臺(tái)上方移動(dòng)的平面來(lái)表示盤(pán)的“底部”;使用參考卡和盤(pán)表面的高度定義平面方程;結(jié)合盤(pán)邊界和參考卡的三重過(guò)程構(gòu)建盤(pán)表面;首先提取盤(pán)邊緣的平面,其次從基準(zhǔn)卡獲得其離桌子的距離,接著將平面移動(dòng)到桌子上方的給定高度;為了提取盤(pán)的3D邊緣,密集地匹配盤(pán)的邊界點(diǎn),并將它們饋送到RANSAC以找到最具代表性的平面;此后,使用參考卡獲得模態(tài)盤(pán)高度來(lái)定義桌面,并且輪緣平面移動(dòng)到高于桌子水平的固定高度。
進(jìn)一步地,所述的體積計(jì)算,盤(pán)面定義通過(guò)其法線的垂直方向,因此通過(guò)對(duì)盤(pán)上方的食物表面的高度進(jìn)行積分來(lái)計(jì)算體積;這種積分是水平面積的所有表面三角形乘以它們的角的平均高度的總和。
附圖說(shuō)明
圖1是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的系統(tǒng)流程圖。
圖2是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的三維重建方法的分類(lèi)。
圖3是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的外部校準(zhǔn)。
圖4是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的密集重建。
具體實(shí)施方式
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互結(jié)合,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
圖1是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的系統(tǒng)流程圖。主要包括圖像3D重建,外部校準(zhǔn),密集重建和體積估計(jì)。
外部校準(zhǔn)包括三個(gè)步驟:顯著點(diǎn)匹配,相對(duì)姿態(tài)提取和尺度提?。?/p>
密集重建包括圖像的校正,立體匹配和點(diǎn)云生成;
體積估計(jì)包括食物表面提取,盤(pán)表面提取和體積計(jì)算;
食物表面提取使用分割圖消除背景,在規(guī)則網(wǎng)格上對(duì)形狀進(jìn)行采樣,生成具有固定總點(diǎn)數(shù)的網(wǎng)格;然后使用采樣點(diǎn)的2D圖像坐標(biāo),通過(guò)德洛內(nèi)三角法將表面分割成三角形,舍棄屬于不同段的三角形,產(chǎn)生一組不同的表面;
對(duì)于盤(pán)表面提取,由于大多數(shù)塑料或釉面陶瓷盤(pán)是光滑和反光的,依賴(lài)于普通盤(pán)的性質(zhì)比在線擬合更好;使用在平臺(tái)上方移動(dòng)的平面來(lái)表示盤(pán)的“底部”;使用參考卡和盤(pán)表面的高度定義平面方程;結(jié)合盤(pán)邊界和參考卡的三重過(guò)程構(gòu)建盤(pán)表面;首先提取盤(pán)邊緣的平面,其次從基準(zhǔn)卡獲得其離桌子的距離,接著將平面移動(dòng)到桌子上方的給定高度;為了提取盤(pán)的3D邊緣,密集地匹配盤(pán)的邊界點(diǎn),并將它們饋送到RANSAC以找到最具代表性的平面;此后,使用參考卡獲得模態(tài)盤(pán)高度來(lái)定義桌面,并且輪緣平面移動(dòng)到高于桌子水平的固定高度。
盤(pán)面定義通過(guò)其法線的垂直方向,因此通過(guò)對(duì)盤(pán)上方的食物表面的高度進(jìn)行積分來(lái)計(jì)算體積;這種積分是水平面積的所有表面三角形乘以它們的角的平均高度的總和。
圖2是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的三維重建方法的分類(lèi)。在單視圖重建中,提取相機(jī)的絕對(duì)姿態(tài),通過(guò)形狀先驗(yàn)(即,適合場(chǎng)景的給定形狀)獲得3D形狀;在多視圖方法中,外部校準(zhǔn)引起場(chǎng)景的低分辨率稀疏重建,其中兩個(gè)圖像之間的每個(gè)點(diǎn)匹配產(chǎn)生3D點(diǎn);多視圖方法中的密集重建使用所有可用像素來(lái)構(gòu)建3D模型;存在對(duì)圖像進(jìn)行密集重建的路徑,例如從剪影形狀,其與通過(guò)非投影對(duì)象的輪廓而獲得的體積相交,立體匹配方法更常見(jiàn);密集立體匹配利用由相對(duì)相機(jī)姿態(tài)定義的約束來(lái)簡(jiǎn)化圖像之間的一對(duì)一像素匹配;這些約束用于變換圖像對(duì),使點(diǎn)對(duì)應(yīng)位于同一行上,稱(chēng)為整流的過(guò)程。
圖3是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的外部校準(zhǔn)。校準(zhǔn)包括三個(gè)步驟:顯著點(diǎn)匹配,相對(duì)姿態(tài)提取和尺度提取。
如圖3(a)所示的顯著點(diǎn)匹配,在圖像之間的查找點(diǎn)匹配需要先檢測(cè)和描述突出點(diǎn);第一個(gè)定義圖像的突出部分,而第二個(gè)以通用格式描述突出部分,用于比較;在兩個(gè)圖像中檢測(cè)并描述突出點(diǎn),通過(guò)比較k-d樹(shù)分層搜索提供支持,搜索范例中的描述符,在兩個(gè)圖像之間匹配點(diǎn)對(duì);對(duì)于兩個(gè)圖像中的每個(gè)檢測(cè)點(diǎn),獲得另一圖像中的最高等級(jí)匹配,并且定向匹配集合相交,找到對(duì)稱(chēng)的情況。
如圖3(b)所示的相對(duì)姿態(tài)提取,為了提取相對(duì)姿態(tài)模型,基于隨機(jī)抽樣共識(shí)(RANSAC)的方法作為基礎(chǔ),迭代細(xì)化解,在算法的每次迭代中,隨機(jī)抽樣5個(gè)匹配;利用樣本集,使用五點(diǎn)相對(duì)姿態(tài)模型生成器創(chuàng)建模型;在所有匹配上評(píng)估所生成的模型,并根據(jù)內(nèi)層的比例,即內(nèi)層率來(lái)評(píng)分;保存具有最大內(nèi)在速率的模型,直到找到更好的速率;最佳模型的不確定率重新定義了最大迭代次數(shù);之后算法終止,并且從匹配集合中移除異常值;使用列文伯格-馬夸爾特法(LM)優(yōu)化算法對(duì)距離的總和迭代進(jìn)行改進(jìn),從而得到模型;最后,通過(guò)非投影從內(nèi)部匹配創(chuàng)建稀疏點(diǎn)云;通過(guò)包括局部?jī)?yōu)化和新穎的自適應(yīng)閾值估計(jì)方法來(lái)修改經(jīng)典的RANSAC算法;
當(dāng)找到新的最佳模型時(shí),RANSAC算法通過(guò)局部?jī)?yōu)化(LO):從最佳模型的內(nèi)點(diǎn)中隨機(jī)抽取10個(gè)匹配的集合以產(chǎn)生新的更好的模型;LO使用公式(1)的適應(yīng)度函數(shù)代替不確定性率,對(duì)模型進(jìn)行評(píng)分,明確地最大化了正確率計(jì)數(shù),并最小化了離群點(diǎn)距離;
其中,M是模型,D是匹配集合,Thrinl是內(nèi)部閾值,dist()是對(duì)稱(chēng)的極距;
為了改進(jìn)這一原理,在LO中找到新的最佳模型時(shí),使用該模型的內(nèi)在集合重新開(kāi)始局部?jī)?yōu)化,從而測(cè)試更多的高質(zhì)量模型;
通過(guò)反向方法確定每個(gè)圖像對(duì)和每個(gè)最佳模型;通過(guò)隨機(jī)匹配現(xiàn)有點(diǎn)創(chuàng)建數(shù)據(jù)噪聲分布,使用該分布來(lái)找到適當(dāng)?shù)拈撝挡⑦^(guò)濾掉離群值;在主循環(huán)中,為每個(gè)模型本地估計(jì)閾值,找到姿勢(shì)模型,使用相同的方法來(lái)定義全局閾值,用更好的模型更新;
為了找到給定模型的閾值,令Cdfdata:[0;∞[→[0;1]為距離到輸入匹配的累積分布函數(shù),對(duì)于給定的內(nèi)部閾值T,比率FDRB(T)=Cdfnoise(T)/Cdfdata(T)是可以由隨機(jī)匹配產(chǎn)生的模型的內(nèi)在的最大百分比:它是錯(cuò)誤發(fā)現(xiàn)率的上限;該公式等價(jià)于其中,δ=Cdfdata(T)是離群率;選擇的閾值給出最大的內(nèi)在率,同時(shí)保持錯(cuò)誤發(fā)現(xiàn)速率限制在固定值p:之下,最大噪聲污染率p設(shè)置為3%。
如圖3(c)所示的尺度提取,兩個(gè)相機(jī)之間的相對(duì)姿態(tài)被定義為任意的比例因子;從參考卡上的匹配點(diǎn)提取真實(shí)比例;每個(gè)匹配包括每個(gè)圖像上的一個(gè)突出點(diǎn),兩個(gè)點(diǎn)與參考卡匹配以建立三角形點(diǎn)匹配(軌跡);此外,每個(gè)軌跡中的兩個(gè)像點(diǎn)對(duì)應(yīng)于稀疏云中的第4個(gè)點(diǎn);使用具有參考卡長(zhǎng)度的3%的內(nèi)部距離閾值的RANSAC來(lái)提取第一圖像和參考卡之間的單應(yīng)性;最后,估計(jì)稀疏點(diǎn)云中的每個(gè)距離與參考模式中的等價(jià)物之間的比率,選擇它們的分布模式作為尺度。
圖4是本發(fā)明一種基于雙視圖三維重建的食物體積估計(jì)方法的密集重建。包括圖像的校正,立體匹配和點(diǎn)云生成;
(1)圖像的校正:整流通過(guò)限制行之間的匹配過(guò)程來(lái)簡(jiǎn)化兩個(gè)圖像之間的點(diǎn)的密集匹配;該方法在一致的徑向坐標(biāo)系統(tǒng)中描述兩個(gè)圖像,其中每個(gè)視圖的中心是另一相機(jī)中心的投影,并且圍繞其匹配角度;為了簡(jiǎn)化立體匹配,強(qiáng)制顯著點(diǎn)匹配也滿(mǎn)足一致的成對(duì)水平順序;如果一對(duì)匹配的水平順序在整流圖像中相同,則標(biāo)記為“一致”,否則為“反轉(zhuǎn)”;如果多于一半的匹配對(duì)被標(biāo)記為“反轉(zhuǎn)”,則第二整流圖像被水平鏡像;如圖4(a)所示。
(2)立體匹配:通過(guò)比較每個(gè)像素周?chē)膱D像塊來(lái)尋找沿校正圖像的對(duì)應(yīng)行的密集像素匹配的過(guò)程,產(chǎn)生視差圖;匹配通過(guò)匹配成本,聚合,優(yōu)化和細(xì)化完成;如圖4(b)所示。
(3)點(diǎn)云生成:使用整流的逆變換將立體匹配傳送回原始圖像坐標(biāo)來(lái)提取密集匹配的3D位置;使用相對(duì)姿態(tài)直接對(duì)每個(gè)匹配進(jìn)行直接投影以生成3D點(diǎn),將深度合并到第一圖像的深度圖中;如圖4(c)所示。
對(duì)于本領(lǐng)域技術(shù)人員,本發(fā)明不限制于上述實(shí)施例的細(xì)節(jié),在不背離本發(fā)明的精神和范圍的情況下,能夠以其他具體形式實(shí)現(xiàn)本發(fā)明。此外,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍,這些改進(jìn)和變型也應(yīng)視為本發(fā)明的保護(hù)范圍。因此,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。