點亮建筑新夢想
LIGHT BUILDING NEW DREAM
企業(yè)BIM定制培訓服務(wù)經(jīng)典案例
BIMBOX | 始于一戰(zhàn)的拍照建模技術(shù) 二維碼
今天我們聊聊用拍照的方式自動建立3D模型,測繪圈兒里把它稱為傾斜攝影,計算機領(lǐng)域則把它稱為基于圖形的三維重建(image-based modeling)。 如果只是介紹一下這個技術(shù),幾乎可以用一兩句話來概括:用相機繞著一個場景拍若干張照片,導入到軟件里,經(jīng)過一系列的計算,就能生成一個可以旋轉(zhuǎn)瀏覽的3D模型。 但我們希望再往前走一步,通過這個技術(shù)的發(fā)展,來聊一個更大的話題:一項技術(shù)是怎樣成為技術(shù)的,它又是如何與其他技術(shù)融合的。 如果你不了解傾斜攝影,可能會以為,拍個照片就能建模,這太神奇了,肯定是最近才誕生的黑科技吧?其實還真不是。 和傾斜攝影相對應(yīng)的是正向攝影,就是從正上方往下拍攝。 傾斜攝影說的是拍照的時候攝像機和被拍攝物體有個傾斜角。 它和正向攝影只有拍攝角度這么一點區(qū)別,后來怎么能成為自動建模的黑科技呢?咱們還得從頭說起。 第一次世界大戰(zhàn)的時候,為了能讓指揮官對戰(zhàn)場的地形、敵方的部署有清晰的了解,戰(zhàn)爭雙方都會派出偵查機進行偵查。那時候相機還都是大塊頭,飛行員就把這種叫Graflex的相機扛上飛機,航拍之后沖洗出來給領(lǐng)導使用。 受限于當時的相機技術(shù),只能低空飛行才能拍出足夠清晰的照片,而低空飛行就會帶來被打下來的風險。所以,手持Graflex相機的飛行員們,只能在很遠的地方,偷偷摸摸的拍下照片,然后掉頭就跑。 在指揮官心目中,理想的戰(zhàn)場偵查影像應(yīng)該是能夠縱覽全局,最好能體現(xiàn)出一些地形的三維信息來,就像這張圖的樣子: 但是飛行員遠遠拍下來的傾斜影像,掛在指揮官墻上的作戰(zhàn)地圖成了這樣: 指揮官對此當然是很不滿。于是人們就開始考慮:能不能通過某種辦法,把這種傾斜的影像恢復成真實的三維場景呢? 傾斜攝影的故事,就從此拉開了帷幕。 我們知道,在拍照的過程中,三維物體投影在二維影像上,被「壓扁」了,有一個維度的信息不可逆的丟失了。 那有沒有一種機器,能把這個丟失的信息還原呢?還真有,而且這部機器我們每天都隨身攜帶,那就是我們的大腦和雙眼。 我們的眼睛看到的是世界在視網(wǎng)膜上面的二維投影,那么我們?yōu)槭裁茨芨惺艿饺S空間呢?大腦是怎樣通過眼睛來進行三維建模的呢? 物體上下左右的位置我們可以直接從眼睛獲得的二維圖像加以判斷,要建立三維模型,我們還要知道物體距離我們有多遠,這叫深度信息。 在上面這張圖里,最下方是我們的兩只眼睛,中間兩條黑線代表了視網(wǎng)膜成像的平面。我們是怎么判斷綠色的樹距離我們比紅色的花要近呢? 你可以看到,我們的左眼和右眼看到的是不一樣的圖像——在左眼里,樹在花的右側(cè),而在右眼里,樹的圖像跑到了左側(cè)。 現(xiàn)在你就可以停下來,找一近一遠兩樣東西,先閉上左眼再閉上右眼,是不是它們的位置關(guān)系發(fā)生變化了? 大腦就是靠這種雙眼看到圖像不一樣的結(jié)果,再輔助一套算法,就可以把上面這張圖中的光線變化逆向推演,從而得出物體遠近的深度坐標。這套算法我們用一張圖說明: 假設(shè)兩只眼睛在一個平面上,只有水平方向的變化。 想知道P點在空間里的深度坐標z,已知數(shù)有這么幾個: 左視圖和右視圖光心距離B(也就是我們雙眼的距離) 眼睛的焦距f(就是視網(wǎng)膜和光線交點的距離) 兩張圖上的橫坐標視差Xleft-Xright=D(就是P點在兩個圖像里位置變化了多少) 推導的過程我們不給了,只給出結(jié)果: 上面這段數(shù)學過程,你看不懂也完全沒關(guān)系,你只需要知道:想把一個點在三維空間中的位置還原出來,我們必須知道這三個數(shù): ? 相機的焦距 ? 兩個鏡頭之間的距離 ? 同一個點在兩張照片上位置的變化 后邊說到所有利用照片建模都是基于這樣一個最簡單的原理。 當然,大腦在還原三維世界的時候,并沒有套用這個公式,我們感受不到大腦進行了計算,只是自然而然的「看到」了三維物體。 算法是人們根據(jù)數(shù)學和光學知識反推出來的,所以傾斜攝影也被叫做「逆向建?!埂S辛嘶镜臄?shù)學算法,人們就開始想辦法來模擬我們的雙眼和大腦,來逆向還原三維世界。 這個用機器模擬大腦的工作一直在不停進步,在測量學里,利用照片進行逆向建模稱為「攝影測量學」,它的發(fā)展分為三個階段: 模擬攝影測量、解析攝影測量、和數(shù)字攝影測量。咱們一個一個來說說。 前面我們說到,一戰(zhàn)之后,人們開始希望通過攝影來進行三維地形的重建。 那時候計算機還沒有被發(fā)明,在無法進行大量計算的時候,人們采用的辦法最為簡單粗暴:既然雙眼成像能建立模型,那我就直接照著雙眼的原理造出一臺機器來。 一戰(zhàn)后,維也納軍事地理研究所率先制成了一臺「自動立體測圖儀」,后來由德國卡爾蔡司廠進一步發(fā)展,把這種制圖儀量產(chǎn)化。 它的原理很簡單,就是事先按照兩只眼睛的距離同時拍攝兩張照片,然后用幻燈機把照片投影到桌面上,用金屬桿子模擬光線的傳輸路徑,一個個逆向?qū)ふ医稽c的位置,然后在桌面上按比例還原地形模型。 因為沒有計算條件,這種方式干脆就不進行計算。你可以想象一下,要建立一個三維模型,要用金屬桿模擬多少個點。這個階段,攝影測量非常耗費人力。這種沒有計算,純靠機械模擬的階段,就被命名為模擬攝影測量時代。 到了上個世紀50年代,第一臺計算機問世,人們終于可以借助機器進行大量的計算,攝影測量也準備邁入下一個時代。 也許你會想,求解三維空間坐標,不就是上面那個z=BF/D的公式嗎?用得著驚動計算機來幫忙嗎? 要說清楚這個問題,咱們還得先說說人腦的另一項逆天的功能。 前面我們說,人腦通過雙眼視差,可以區(qū)分物體的遠近,但這種方法只能區(qū)分比較近的物體。當兩個物體都離我們比較遠的時候,我們就很難通過視差效應(yīng)來區(qū)分遠近了。 回憶一下,你看遠處山的時候,是不是很難分辨哪座山離你更遠? 不過沒關(guān)系,人是會動的動物,我們只要隨便移動一段距離,或者轉(zhuǎn)一個角度,視野的改變量就遠遠大于雙眼的距離了。 大腦可以通過對比運動前后看到的畫面,來重建更復雜的三維模型了。這個過程相當于是通過移動把原來的視差效應(yīng)放大了。 另外,通過雙眼視差基本上只能看到物體的同一面,而通過移動,我們能看到物體的另一側(cè),從而在大腦中建立更全面的模型。 你看這張圖,樹枝交匯在一起,是不是很難分辨哪個近哪個遠? 而只要我們稍微旋轉(zhuǎn)一下角度,是不是馬上就有強烈的空間感了? 大腦的這項功能,叫運動視覺。對大型場景進行三維重建時,雙目測距原理已經(jīng)不夠用了。 進入解析攝影測量時代后,人們不再用兩臺相對位置固定的相機來模擬兩只眼睛了,而是模擬這個運動視覺功能,通過不斷改變相機的位置,拍攝物體不同角度的照片,來重建三維模型。 這個工作叫做運動恢復結(jié)構(gòu)(Structure From Motion)。 為什么運動恢復結(jié)構(gòu)會帶來大量的計算量呢? 在雙目測距法中,兩張照片是在一個平面里的,相對距離也始終保持不變。而運動恢復結(jié)構(gòu)中,兩張照片不在一個平面里,空間位置和角度都發(fā)生了變化。 相當于兩張照片分別有自己的三個方向的位置坐標,以及三個方向的角度坐標。 我們最終要得到某個點的坐標信息,不在任何一張照片自己的坐標系里,而是要通過復雜的坐標變換,得到它在真實世界里的坐標。 這些多出來的未知坐標數(shù)據(jù),叫做照片的外方位元素。加上我們本來就要求解的某點空間坐標,未知數(shù)變得非常多。對這些未知數(shù)求解的方法很多,公式一個比一個復雜,你可以感受一下: 你不需要看懂方程,只需要知道:對于照片外方位元素信息知道的越少,計算就越復雜,誤差就越大;相反,想要降低運算難度,就要提前把盡可能多的信息告訴計算機,比如在地面上設(shè)置控制點,預先定義拍攝相機的坐標。 這些龐大的計算量,靠人力幾乎是不可能完成的,必須依靠計算機。 至此,攝影測量的發(fā)展出現(xiàn)了兩個分支:一是通過發(fā)展硬件設(shè)備,提前得知更多的相機方位和角度;二是通過發(fā)展軟件算法,更快速的求解相機的方位和角度。 1957年,美國人海拉瓦發(fā)表了解析測圖儀原理的論文,70年代中期解析測圖儀開始在市場上廣泛應(yīng)用,攝影測量正式進入解析攝影測量時代。 解析攝影測量有兩個特點: 一是處理的還是沖洗出來的照片,除了需要進行上述計算,還要對照片本身在曝光、沖洗和老化過程中的變形進行修正計算; 二是雖然使用了計算機,但還只是利用它進行大量公式的計算,沒有開發(fā)專門的處理軟件,仍需要大量的人工操作,主要的工作就是靠人眼挑選出兩張照片中哪些點是相同的關(guān)鍵點,再輸入計算機進行計算。 這個時代并沒有持續(xù)很久,隨著數(shù)字技術(shù)和軟件技術(shù)的快速發(fā)展,人們很快進入了數(shù)字攝影測量時代。 有兩項關(guān)鍵技術(shù)標志著時代的跨越。 一是數(shù)碼攝影技術(shù)的誕生。 對大型三維場景的還原,需要的照片數(shù)量動輒就是上萬張,如果一張張沖洗,對照片的形變進行矯正,再一張張人工比對,工作量大的可怕。數(shù)碼相片的結(jié)果直接儲存在電腦里,可以更快速的進行處理和分類,這無疑把數(shù)據(jù)處理的效率提上一個大臺階。 二是專業(yè)處理軟件的誕生。 前面為了方便你理解,我們一直說的是一組照片上一個點的位置比對。而實際上為了建立一個完整的模型,每組照片上需要處理的點都至少要幾百個。 在數(shù)字攝影測量時代之前,關(guān)鍵點匹配的工作都是靠人工來完成的。到了這個時期,人們開發(fā)出專門的軟件,在兩張圖片中自動找到大量匹配點,這又進一步提高了效率。 至此,用照片進行三維建模的技術(shù)核心已經(jīng)發(fā)展完畢,沒有什么本質(zhì)上的東西需要突破了,但它距離我們今天看到蓬勃發(fā)展的傾斜攝影技術(shù)還差一大截。我們的故事,也就在這里準備進入高潮。 我們先來梳理一下,用照片建模需要做哪幾件事情: ? 利用無人機在空中采集大量的照片,每兩張照片之間要有一定的重疊,以便后期找到匹配點; ? 盡量多的提前獲取每張照片的原始數(shù)據(jù),比如拍攝坐標、拍攝角度、焦距等,以減少后期的運算量; ? 利用軟件對大量照片進行整理,自動選出匹配點,反算出沒能獲取的原始數(shù)據(jù); ? 計算出每個匹配點的空間坐標,再通過算法補齊其他關(guān)鍵點的坐標,貼上材質(zhì),形成模型。 在數(shù)字攝影測量時代的初期,這幾項工作就都可以完成了,質(zhì)量也說得過去。但因為成本高、效率低,只能由大型機構(gòu)來完成這項工作,而很少有機構(gòu)能從整體上優(yōu)化這些關(guān)鍵工作。 技術(shù)發(fā)展到一定程度,當它的基礎(chǔ)理論完備之后,再想要大幅度的進步,只有一個方法,我們叫它商業(yè)化大爆炸。 簡而言之,就是構(gòu)成這項技術(shù)的幾個分支技術(shù),分別由不同的公司、以不同的商業(yè)目的,進行極致的優(yōu)化。 我們來快速看看這幾個分支技術(shù)的發(fā)展。 無人機支線: 2006年,影響世界消費級無人機格局的大疆無人機公司成立。 2013年量產(chǎn)全世界首款一體化小型無人機,此后不斷迭代,把風中懸停、三軸穩(wěn)定云臺、折疊便攜、高清圖像傳輸、智能避障、屏幕遙控等技術(shù)不斷塞進越來越小的機型里。 成本也是一再降低,最新發(fā)布的Mavic Air價格跌破了5000元,讓無人機真正進入了消費領(lǐng)域。 相機支線: 以尼康、佳能、索尼為代表的制造商,在數(shù)碼相機領(lǐng)域相互競爭,不斷推出更好、更輕的產(chǎn)品。 其中,索尼公司在2010年開辟了微單產(chǎn)品線,主打「在最有限的空間中集成最優(yōu)秀的性能」,在2015年更是把密集混合快速對焦、大光圈廣角蔡司鏡頭、35毫米全畫幅傳感器等黑科技塞進了重量只有500克的RX1R2相機里。 定位技術(shù)支線: 經(jīng)過十幾年的發(fā)展,民用GPS全球定位系統(tǒng)精度已經(jīng)達到了米級,2016年美國加州研發(fā)人員開發(fā)了一種全新的GPS算法,可以將精確度提高到厘米級。 GPS定位可以讓無人機拍攝的時候無需安排地面控制點,就可以獲取相機空間坐標,從而大幅度減少求解方程中的未知數(shù),而其成本到今天幾乎已經(jīng)是全民免費。 軟件支線: 以ContextCapture、Street Factory為代表的專業(yè)軟件,給傾斜攝影的后期處理運算帶來了極大的便利。 最重要的就是可以無視相機初始坐標,完全通過自動算法生成超高密度點云。算法優(yōu)化的結(jié)果,就是對初始攝影條件的要求不斷降低。 此外,像Altizure、dronedeploy這樣的自動飛行路線規(guī)劃軟件,可以直接在手機上選定一個拍攝區(qū)域,對無人機自動進行飛行路線規(guī)劃,完全傻瓜操作就可以實現(xiàn)高重疊、不漏拍的影像獲??;單次飛行拍不完,可以自動進行續(xù)拍,從而降低了無人機的續(xù)航要求。 軟件進步最大的成果,就是中小型地區(qū)的航拍相機數(shù)量需求不斷減少,從最早的5鏡頭,到雙鏡頭,再到現(xiàn)在單鏡頭就可以完成整個拍攝,大大降低了無人機的負載需求,也進一步降低了硬件成本。 同時,以BIM技術(shù)為代表的建筑建模技術(shù)進入市場,人工和自動相結(jié)合的方式快速補足了傾斜攝影拍攝建筑精度不夠的短板。 軟件領(lǐng)域一旦進入消費級,就會出現(xiàn)更具有顛覆性的產(chǎn)品問世,那就是以云計算為代表的在線后處理工具,它們學習模仿專業(yè)軟件的核心算法,然后在商業(yè)上通過低價甚至免費來獲取用戶,再通過其他方式獲利。 這對于傳統(tǒng)專業(yè)軟件來說是壞消息,但對于民用測量市場來說,無疑是引發(fā)「全民傾斜攝影」的好消息。 關(guān)于這個話題,我們放到下一期來給你說。 當然,上面說的這幾項消費級技術(shù),對于大型地貌的專業(yè)級測量建模,還是不能滿足需求的,但現(xiàn)在普遍存在的、幾平方公里的建模需求,不到萬元的成本就完全能滿足了。 除了專業(yè)軟件之外,我們看到的無人機、相機、GPS等技術(shù),全都不是專門為了傾斜攝影這一項技術(shù)而研發(fā)的,它們各自有著更廣闊的用途和商業(yè)前景,但就是這種分支散葉的商業(yè)化大爆炸,才會先獨立、再融通,最終回到一起,促進一個「跨界技術(shù)」的不斷進步。 前面我們說的所有技術(shù),都是建立在一個基礎(chǔ)上:通過雙目視差運算、運動結(jié)構(gòu)恢復,用機器模擬人的大腦進行建模。 而在另一些與傾斜攝影無關(guān)的領(lǐng)域,一些更牛的科技正在蠢蠢欲動,準備徹底顛覆掉我們前面講到的一系列麻煩,和為了解決這些麻煩發(fā)展出來的分支技術(shù)。 這些科技正在做的事是:別模仿大腦了,讓我們超越自己,實現(xiàn)那些人腦不能實現(xiàn)的功能吧。 給你看兩個例子。 在自動駕駛和機器人領(lǐng)域,深度相機的發(fā)展正在日趨成熟。簡單來說,深度相機就是不需要進行多張照片的匹配和坐標計算,而是在拍攝單張照片的同時,就獲得每一個點的深度坐標數(shù)值,從而直接實現(xiàn)建模。 深度相機技術(shù)在民用領(lǐng)域最有代表性的就是iphoneX的3D人臉建模功能。 在游戲和影視制作領(lǐng)域,基于計算機視覺的深度學習技術(shù)也在不斷發(fā)展。諾丁漢大學和金斯頓大學的幾名人工智能專家在2017年發(fā)布了一個開源算法,只要上傳一張照片,就可以自動生成3D人臉模型。 將網(wǎng)址復制到瀏覽器可以嘗試哦?https://cvl-demos.cs.nott.ac.uk/vrn/ 這背后是通過大量數(shù)據(jù)進行學習的人工智能技術(shù),讓計算機只通過一張照片上的光影變化就能「猜」到實際的3D模型應(yīng)該怎么建立。 目前國內(nèi)也有人進行這方面的研究,比如上海交通大學在2015年就通過機器學習,做到單張照片半人工進行三維建模: 在未來,這樣的技術(shù)很有可能從根本上解決多照片匹配所帶來的一些列問題,把三維重建技術(shù)帶向新的未來。 當然,隨之而來的是那些為解決老問題而存在的舊技術(shù)逐漸退出舞臺。 傾斜攝影的故事到這里就告一段落了。最后我們看看,通過這個故事,能看到技術(shù)發(fā)展的哪些特點。 技術(shù)有自己的生命周期,我們可以把它比喻成一個人。 ● 任何一個技術(shù)都不是生來強悍的,剛剛誕生的時候,它只能笨拙地解決少量問題,有著無數(shù)的缺陷,還會帶來很多麻煩。就像最早期的模擬攝影測量,甚至比不上如今一個最差勁的建模員純手工建模的效率。 ● 進入青年期,它開始四處亂撞,逐漸找到自己的方向,并且慢慢知道,很多事情靠自己解決不了。于是它開始求助于其他成熟的技術(shù),正如攝影測量借助相機、飛機、計算機來發(fā)展自己。 ● 成年之后,技術(shù)終有一天會走出象牙塔,進入商業(yè)社會,在那里迎接它的是殘酷的商業(yè)競爭。那里也會有更多幫助它的朋友,即便那些朋友并不是以幫助它為唯一目的。相機和無人機都是商業(yè)競爭下獨立發(fā)展的典范。 ● 就像人會結(jié)婚生子,技術(shù)會和其他技術(shù)融合到一起,融合誕生的新技術(shù)會重新開始自己的生命周期,并遲早會與父母揮手告別,走上完全不同的路。 ● 最終,一項技術(shù)會隨著新技術(shù)的誕生而衰老,逐漸無人問津,但被替代或者被淘汰,并不意味著它沒有存在的價值,舊技術(shù)歸于歷史的塵埃,終會化為土壤,供未來的技術(shù)生根發(fā)芽。 今天的話題就聊到這兒,希望能給你一些思考。有態(tài)度,有深度,BIMBOX,我們下次再見! |