摘要:從一幅簡單的圖形出發,利用圖像中隱藏的透視信息進行三維重構,計算產品特征點的坐標及其相對位置。進行了透視元素、基本體素到組合體素的反求研究,并且給出了其相應的原理和算法。對于幾何殘缺信息的視覺補償與推理等關鍵算法進行了研究,并利用非幾何信息的處理與特征建模,搭建基于產品多感知因素的三維重構系統框架,實現了設計重用輔助產品創新設計。
關鍵詞:三維重構;多感知因素;透視
中圖分類號:TP391文獻標志碼:A
文章編號:1001—3695(2007)03—0275—02
當今照相技術飛速發展,據統計,約有80%的產品樣本圖形是直接采用產品相片或參照相片繪制而成的。有效地利用相片影像,從中獲取有效資料,是新產品開發的重要途徑之一。而三維重構則是通常的幾何做圖或攝影成像過程的逆過程,主要任務是從二維圖像中抽取三維信息,通過對這些信息進行分類、綜合等一系列處理,在三維空間中重新構造圖像的相應形體。
與當前比較流行的反求方法激光掃描法、坐標測量法相比,利用物體的二維圖像來獲取其表面三維數據無疑是一種快捷的方法。國內外在此方面作了很多研究,但是由于透視圖的信息不如三視圖的信息全面,其研究主要有以下兩種方式:①利用同一物體的兩幅不同角度下的透視圖像來進行三維重建;②利用一幅透視圖像重建。關于一幅圖像重建因其幾何條件不充分,有研究將重建對象限定為對稱形體,利用形體本身的幾何對稱性來彌補圖像重建時幾何條件的不足。我們利用一幅圖像進行三維重構,主要是利用它所隱含的透視信息、三維幾何信息、明暗陰影信息、色彩信息、人機信息等多感知因素來綜合重構產品。分析這類圖像,不但遵循透視成像的原理,還蘊涵著大量信息,如色彩材質等非幾何信息。從人的角度去審視,可以利用圖中包含的大量形態、色彩、材質、裝飾和人機工程等重要的產品信息,隱含著與幾何信息相關的光影透視信息,如視高、視距、視角、焦距等而進行視覺補全,以及研究分析人員對于產品的心理多感知因素,建立體系而構建三維CAD模型。本文對產品進行重構的具體技術路線,即是從透視元素、基本體素、組合體素再到產品,從簡單到復雜的一個逐步漸進的過程。
1基本體素的透視反求
本文對透視元素點、線、面的透視反求,只是從圖形學的角度對其反求有了一個基本了解,尚且做不到在空間中反求一個點、一根直線、一個平面,進而確定位置和坐標。要做到這一點還需要結合二維原圖中的一些其他特征信息來綜合考慮。
在透視中,根據透視成像時投影面相對于被攝體的傾斜情況,透視圖像可分為一點透視、兩點透視和三點透視。用直角坐標系的X、Y、Z軸表示被攝物的三個主向(分別為長、寬、高)。有兩個主向與畫面平行時,則有一個滅點,這樣的透視圖稱為一點透視或平行透視;僅有一個主向與畫面平行時,則有兩個滅點,這樣的透視稱為兩點透視或成角透視;三個主向均不與畫面平行時,有三個滅點,這樣的透視稱為三點透視或斜透視。
因一點透視在日常生活中比較普遍且簡單,下面作BOX一點透視的透視反求。
已知:點A、B、C、D、A1、B1、C1、D1的二維坐標。
反求:BOX中各個點的三維坐標。
做法:如圖1所示延長AB、A1B1、CD交于一個滅點,AA1、BB1、CC1、DD1分別朝上延長線交OX于D、E、A、F。滅點朝上畫垂線。在一點透視的平面圖中,僅由二維圖片中的信息無法確定視距,所以在此必須給定視距。確定S點,連接SE,交DD1于C,連接SF,交AA1于B,即得到該BOX的長寬。高可以由AA1平移過去。
在本文中,其他基本體素的透視反求都是基于BOX的透視反求。因為BOX的透視反求相對比較容易,而且其他體素都可以用BOX(外切BOX)包容。對于基本體素圓球、橢圓、圓錐的反求,首先綜合運用透視學和立體幾何學的規律,用一個二維的BOX來包容這些基本體素,然后對該BOX進行透視反求,進而再求得這些基本體素的三維坐標。圖2為用BOX對圓柱、圓錐的包容。
2組合體素的透視反求
在組合體素的反求中,先對產品進行分解,拆分成若干個基本體素,然后用BOX來逐個包容,反求出各個基本體素的比例關系后,再進行產品的重組;利用二維原圖中所得到的位置和特征關系,計算出它們之間的相對位置關系;組合各個基本體素,運用三維建模技術,得到最后產品的三維立體模型。
對于組合體素的透視反求,先從兩個BOX的組合說起,對于兩個BOX的相對位置有如表1所示的分組討論。
(1)方式a:每個BOX的六個特征點都能看到,能各自進行BOX的重構。
(2)方式b:只有一個BOX的特征點數夠六個,可以進行重構;另一個BOX的特征點可根據兩個BOX間的位置相關性進行計算。
(3)方式c:一個BOX在另外一個BOX的內部。除可用各個重構的方法外,還可以利用兩個BOX的位置相關性進行計算。
(4)方式d:一個BOX的特征點有七個,可以進行重構;另一個BOX只顯露出兩個特征點,靠近第一個BOX的坐標可以利用它們的位置相關性來進行計算,但是該BOX的深度卻難以計算,所以,可以利用該物體的對稱性來進行粗略估計。
(5)方式e:一個BOX在另一個BOX的后面,無法得知它的參數。這種情形因后面的BOX沒有可視信息而不能計算。
在透視學中,三維空間中任何平行的直線最后都會交于一個滅點(稱為滅點的公有性)。對于上面所提到的由一個BOX的已知信息利用滅點的公有性來計算另一個BOX的隱含信息,以及由兩個均顯露的BOX所求得滅點的一致性問題都牽扯到了殘缺幾何信息的補償與修正。
對于三四個或者若干個BOX的組合,可以先把它們看做是兩個BOX的組合,然后依此類推,逐個求出BOX的三維坐標。而由其他基本體素組成的組合體素的透視反求,則就是把組合體素拆分成若干個基本體素,再對基本體素逐個包容起來進行反求,反求出各個基本體素后,再重新組合它們,而成為一個完整的立體模型。圖4為用BOX對火箭的各個部分進行包容的示意圖。圖5為三維重構過程的流程圖。
3多感知因素的綜合運用
在對物體進行三維重構的過程中,相片圖片上的影像都是實物的真實再現,但其上除具有透視成像的效果外,還具有色彩、陰影效果,有的還有景物相配,以及產品設備上起裝飾作用的各種棱線、凹槽、曲面輪廓等。首先要對圖片進行幾何抽象化處理,以便得到一個不帶色彩、陰影、裝飾和工藝要求的,不帶任何附屬件的純幾何線框的透視圖;然后可以結合灰度分布信息的提取,建立灰度分布和產品透視深度信息之間的聯系、圖像中非幾何信息的提取,建立產品的形態、色彩、材質、人機等多感知因素體系等來進一步確定產品的三維信息;最后利用三維建模技術搭建基于產品多感知因素的三維重構系統框架,實現設計重用,加速新產品的開發設計。對產品的整個重構過程,用VC++進行了整體的規劃和實現。
4結束語
本文主要針對基本體素和組合體素提出了重構的方法和原理,并在VC++的平臺上進行了驗證;對于產品在重構過程中多感知因素的綜合運用提出了具體的研究思路和方法。在VC++的平臺上對三維重構系統進行了整體的規劃和實現。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。