權龍:計算機視覺、視覺學習和3D重建——用無人機和智能手機捕捉三維的世界!
導語
本文是由未來影像高精尖創新中心舉辦的ICEVE2017(北京國際先進影像大會暨展覽會)的精華演講等整理而成的系列專題文章,本系列內容涵蓋專家專訪、大會報道、行業紀實等,致力於梳理和提煉ICEVE大會的精華內容並傳播給行業和大眾。
權龍 香港科技大學計算機科學與工程系教授
首先,非常感謝組委提供這個機會來參加這個「跨行業」的聚會,畢竟行業不太一樣,我們是做計算機視覺研究的,能夠有機會跟這裡很多做內容的專家交流一下是很好的機會。今天主要講一下我自己做的一些工作,還有我們自己對最近一些比較熱的計算機視覺和人工智慧的看法。
先舉幾個小型模型的里子,這是用無人機拍攝的,大家看細節可以無限地(看得清楚),也有拿一般相機拍的。這是一個攝影師拍的摩托車,是由幾百幅圖片構成的——只需要圖片就能夠全自動地將摩托車的三維模型重新建造起來。同一位作者的另外一個作品是巴黎聖母院,這些照片都是普通的數碼相機拍到的,去過巴黎聖母院的朋友通過這個三維模型都可以看到,建築上的每一個雕塑都是極為精細的。
無論是無人機航拍風景,建築,還是大家用智能手機拍攝物件,甚至人物,Altizure都會如實精確地將其重建為三維模型。這是一個用手機拍照幾十幅照片之後建造成的人臉的精細建模,精細程度是非常高的。
大家做電影的可能都知道,一般做人臉模型都會戴游泳帽,什麼頭髮、眼鏡都不行。這個就是個很好的例子,大家能看到,連眼鏡都是做出來的。大家要知道這個眼鏡玻璃怎麼去表述其實是很有意思的,你仔細看這個模型在幾何上是怎麼恢復的,可以去體會這個精細程度。
我們畢竟是從不同領域過來的,我自己是做計算機視覺、人工智慧這方面的,就跟大家分享我自己怎麼去看現在技術和人工智慧帶來的一些應用。我先講一下個人對人工智慧和計算機視覺的理解。人工智慧的關鍵就是計算機視覺,因為通過視覺帶來的信息基本上是人的五官感知裡面佔百分之八十的信息。
眾所周知,我們處於一個人工智慧的熱潮中,每天鋪天蓋地到處能看到AI的字眼,那麼大家是否知道AI熱潮的沸點出自於什麼。AI的熱潮源自計算機視覺在識別領域的成功,。二零一二年,借用一本英語書名「A year of no significance」, 中文是《萬曆十五年》,2012年對全世界都是非常平凡的一年,然而後來我們才意識到對於視覺領域這一年非比尋常。因為在這一年,在計算機視覺年會上,ImageNet的識別率被證明驟然提升了近10個百分點!對於當時那一年參加會議的人來說那年可能跟別的年份也沒有什麼區別,但是正是這一年,長期被拋棄的深度卷積神經網被正名了! 之前在此如果你的文章用了神經網網路,基本直接被拒。現在恰恰相反,如你沒有用神經網路,基本上希望渺茫。
從2012年開始以後用的方法基本全是深度卷積網路,它對圖像識別的技算計視覺乃至整個人工智慧帶來的影響是大家現在都知道的。
現在回顧起來,2012年提出的這個工作的卷積網路其實在1998年已由 Yann LeCun發表和證實。 Yann LeCun被當值無愧得稱為"深度卷積神經網路之父」,這是他在1989年發表diagram畫的是神經網路,如果我們仔細對比,它跟2012年做的卷積網路如出一轍,只是圖片尺寸不一樣。1989年的輸入的圖片是非常小的,32×32×1,而且沒有RGB,只有一個頻道是黑白的,到2012年時已經是224×224×3, RGB. 輸入的尺寸成按二次方增大了一百多倍,加之RGB是三個頻道。這樣講的意思就是方法原理早在1998年就已經完全成熟了,那麼大家會問為什麼會等15年這麼長的時間?
這就要歸功於硬體的革命性發展!做GPU的人本來也不是為了做視覺;做人工智慧的人,主要是為了做遊戲的。然而殊不知,為遊戲而生的GPU把計算機視覺和人工智慧重新定義了,因為長久掣肘人工智慧發展的恰恰是硬體。隨著GPU的發展,人工智慧做需要的計算機顯示很容易地被加速幾十到幾百倍。例如AlphaGOo把職業選手擊敗,雖然AlphaGo只是一個非常狹義的人工智慧問題,它並不是廣義的。 由此,人工智慧、計算機視覺都被重新定義。
簡單回顧一下三十年的計算機視覺,什麼是計算機視覺,計算機視覺的精髓在於我們對圖像進行理解,對圖像能夠徹底地理解是很抽象的,沒人知道什麼是「理解」,我們也不知道如何定義「理解」。更具體更踏實一點來講,就是對具體可分類物體的識別和三維重建。 我們要做的最重要的事是在圖像裡面尋找所謂的特徵,就是圖像特徵。
什麼是圖像基本元素,特徵 feature和為什麼要定義它們?在語音和文字里基本元素是簡單和具體的,例如文字、文章,然後是段落、句子,然後是字、每個筆畫,是非常清楚的;語音裡面也是同樣,有phoneme,音素。能夠提取和處理基本元素就可以做後續的很多事情。當打開圖像的時候,我們並不知道什麼是圖像裡面最基本的元素,大家知道Pixel,其實它以前叫做"picture element",意圖是想定義一種特徵,但本質上並不是,只是數字記錄單位。對於可視化特徵的定義和處理是計算機視覺研究的關鍵所在。
計算機視覺裡面有兩個大的問題,一個是識別recognition,一個是重建reconstruction,大家可以看到兩個都有 "re",它們本質上都有反向問題,解決這些反向問題的出發點就是必須要加 regularization使的解空間平滑與穩定。首先要從數據中提取特徵,然後用統計的方法做識別,用幾何的方法做重建。
概括來講,計算機視覺發展基本上就是被特徵、識別和重建這三大部分所定義。在神經網路之前,對特徵的尋求主要是被三維重建也就是幾何所主導,因為那時我們對特徵的定義都是手工設計,要用到數學分析和幾何模型的,裡面最關鍵的是用到重建的一些觀察和理解。
當下,談重建的開始變少,特徵加識別基本上替代了重建, 因為特徵可以自動地通過網路
學到。
那我們再看看計算機識別能夠達到什麼樣的水平,譬如大家常常在媒體中看到或聽到,所謂對圖像的理解,只要去收集幾百幅幾千幅照片,如果你可以描述這個東西,那麼就可以把樣本給計算機學習,下一步再讓計算機去識別同樣的,但是以前沒有見過的圖片。
這類可以清楚定義出來的任務,計算機不僅可以做得很好,並且它可以做得比人類更好,一旦能夠機械化、自動化,它肯定比人的能力更強,但是我要強調一下,它並不是比人類更聰明,它跟以前一樣蠢,其實沒有任何智能。舉個例子,識別一個貓和狗,這是個貓,這是個狗,其實什麼是狗和貓你只是給了幾百個例子,只是寫了個「狗」字或「DOG」,如果你要把它換成「貓」,換成「CAT",其實它根本沒有理解的,再這裡我要講一下,它沒有語義上的理解,如果看這樣,深度學習帶來的東西最終還是有很大局限性的。
現在大家知道人工智慧深度卷積神經網路,這裡面最關鍵是說它非常強大非常有益的,也不是沒有道理,而且它確實會帶來一場革命,而這場革命我們認為最重要的是數學上、統計上一個建模的工具,非常方便,以前做一個小的數學模型都比較困難,現在做一個龐大的數學模型都不需要很高超的編程能力,能寫腳本即可。如此說來可謂是一場革命,誰曾想本質上它只是bottom-up 數據驅動,就是從底層的數據統計的一個解釋,沒有一個任何top-down推倒出來的,就是高往低進行對我們感知和知識表述的認知,大家也知道知識有很大一部分不是概率的,也不是統計的,它是更高層次的一種表述方式。
那麼這就定義了現在整個計算機視覺和人工智慧的一個發展。如果再回到計算機視覺去看這個事,這種特徵基本上有兩類,第一類就是我講的是手工制的,手工制的在計算機視覺裡面也是非常成功的,其實在卷積網路之前也有非常有效的機器學習方法,很多統計機器學習方法已經很強,大家在過去用的基本上是特徵SIFT,就是手工提取的特徵。
手工提取的效率非常高,它的量和維數都是很低的,現在如果拋開手工不看,看自動的,這種特徵都是自動學習的,自動學習這種東西現在都是很大的,動輒就是幾千幾百萬參數,像這樣量大的統計特徵在過去肯定一般是不可能的,但它更有效。其實它可以做得更好,但它的效率不一定是最高的。
我們可以看看計算機視覺裡面學習識別的套路。從傳統來講計算機視覺里不僅有識別,更重要的是深度感知,這個是非常重要的,大家都知道我們人有兩隻眼,深度的感知對我們是非常重要的。我們教計算機視覺課,就是讓你拿兩隻眼看東西,一個眼睛對距離是沒有感覺的,兩個眼睛才能有深度的感覺,才可以做更多的應用和識別。這個原理沒什麼新奇,從幾何到相機的發明,到攝影測量photogrammetry再到計算機視覺,都有自己非常紮實的數學統計和幾何的理解。到了計算機視覺裡面,對這種深度的理解,什麼是目的?計算機視覺就是全部要把這些東西自動化,這是最關鍵的。
我舉兩個自動化的例子,做深度信息感知這件事難在哪裡?比方說兩幅圖像,同樣的物體,我們同樣可以得到三維信息,自動匹配,每個點都要找到它的對應點在另外一副圖像,這個就是圖像匹配,這個如果重新定義,本質就是識別,這是從小從局部來看的。
從大規模去看,現在我們在深圳,北京做過的重建項目基本上都是幾百萬幅圖片去做三維重建的。我是要把匹配的圖像找出來,先找兩幅,每一個都要找到對應圖片,去找的話如果用任何傳統的方法,找兩個是要n平方的,那麼n平方上了百萬級幾乎都是不可求的,這是演算法的複雜度。 圖像識別的好效率就會提高。
圖像的匹配matching和檢索retrieval其實在計算機視覺不同的地方叫法不同,其實本質上都是一樣要用特徵去識別。像我們現在這種真正的三維重建的方發,在這種深度學習之前基本上就是這些套路,先要檢測特徵,再做匹配與識別,再做相機定位。然後下一步就是密集點雲重建,也有人叫多視角三維,點雲一開始是沒有結構的,你要把它變成任意拓撲的曲面,曲面還要貼紋理,由於最近深度機器學習帶來的革命,影響整個計算機視覺和人工智慧,它對三維重建的影響是很大的。現在這裡每一步最終都要拿深度學習去重新定義重新研究的,所有東西基本上都離不開特徵,因為以前我們幾何帶動了手工的提取,那肯定是非常好用的,但是現在我們也在研究,實驗也已經證明深度學習學出來的特徵更強大、精準度更高。還有大規模的數據加入學習可明顯提高效率,
在密集點雲的三維重建,現在也在顛覆傳統演算法,以前傳統的那些演算法,在一定意義上都是手工去調很多參數,現在更強大的方法是叫端到端的方法end-to-end,把照片放進去就可以全部出來,並且裡面所有的特徵和方法全部是基於整個深度學習的。
這是我們團隊最近做的一些工作,在不同尺度空間裡面做匹配,這也是很難的,航拍是一方面。還要街景,因為三維建模是無限的,你只要是能拍得照片,距離更近,精度就會提高,但是在技術上最終帶來的是圖像識別和圖像匹配的挑戰。
可以去看一下我們在科大帶領的團隊,也是一個科大的創新公司推出的平台,叫Altizure.com或在國內 altizure.cn。在這樣一個平台,我們先要做內容,希望任何有無人機的,只要拍到照片去上傳就可以的,這是對無人機的。最近大家都知道,智能手機裡面帶相機。以前我們也不太相信智能手機裡面相機能做得有多好,但是現在做得很多得例子很多證實,智能手機里的相機做三維重建就已經是足夠了,這是非常好的,所以這是我們一個重點。
我們這個平台最重要的一件事情,現在大家都知道人工智慧、計算機視覺都是數據為王。要有內容,並不是僅僅有演算法就夠了,我們的平台每天在做大量數據的三維重建,也收集很多數據,這些數據我們要用它去做學習,用它進一步改進我們的演算法,事實是在做一個閉環,讓大家眾包形式去上傳數據然後三維重建,我們在後台學習,然後對演算法進行改進,最後把世界描繪出來。我們這個平台不僅在國內,在國際上也沒有別人做的比我們好,希望大家有機會得話可以去嘗試一下。
Altizure.com是一個開放的在線的全自動的三維建模系統。世界各地的用戶,專業的,業餘的,通過各種方式,無人機,照相機,手機或其他方式採集圖片上傳到系統,藉助Altizure的數據處理服務產生三維模型,然後自行下載他們的三維模型進行後續的開發,分享。在整個工作流程當中,系統在不斷地被數據充實,通過對數據的深度學習,不斷優化我們的演算法,形成一個良性的閉環。日久天長,全球的用戶拍攝建造的模型將覆蓋整個地球,也就是我們的Altizure Earth.就人工智慧來講,光有技術和演算法也只是空談,離開內容
這個就是我跟大家分享的,大家都知道人工智慧計算機視覺,其實計算機視覺是80%的人工智慧,媒體講來講去人工智慧這些事,如果計算機視覺沒什麼革新的話,人工智慧也不會取得什麼進展,所以人工智慧最後是被計算機視覺所定義所寄託的,視覺有突破它才能有突破,視覺沒有突破它不能突破。
總而言之,人工智慧的發展取決於計算機視覺的發展,沒有幾年前計算機視覺的突破也就沒有今天人工智慧的騰飛。我們有幸站在計算機視覺的前沿,我們會繼續努力!
謝謝!