【將門創投】商湯徐立:計算機視覺的完整鏈條,從成像到早期視覺再到識別理解

如下內容整理自4月20日由將門主辦的「計算機視覺」主題技術專家微信羣分享嘉賓實錄。算法

分享嘉賓:SenseTime(商湯科技)CEO 徐立。安全

300多位來自谷歌、Facebook、微軟、Nvidia、滴滴等公司的技術人士、以及MIT、Stanford、CMU、清華、北大等高校的計算機系優秀學生聽取了本次分享。微信

期待你的加入!參與方法請見文章末尾的介紹。網絡

我是從03年開始就接觸視覺這個領域,也就是從本科三年級開始作這個方向,到如今十幾年了,因此我對計算機視覺的整個鏈條,從成像(Imaging)到早期視覺(Early Vision)以及識別(Recognition)都有些涉獵。數據結構

 

我感受如今業界比較熱的或者最近你們講的計算機視覺的內容,只是視覺方面的很小的一部分。計算機視覺的整個範疇其實更大更美一些。從傳統CV的內容來看,大體可分爲:app

 

一.成像(Imaging)。從視覺整個鏈條上來講,最先的部分講的是相機的成像原理,以及從它延伸出來的更多的一些美妙的應用。按照人的視覺系統,能夠理解爲對應的人眼睛的能力。 第一層次能夠歸結爲看的能力(SEEING)。這些算法幫助延伸人眼的能力,使得人眼能夠在某種程度上有所突破,是計算機視覺的輸入。框架

 

二.早期視覺(Early Vision)。這個詞我以爲也比較有意思。爲何稱之爲Early Vision呢?它解釋是反映人腦視覺感知裏面中間的這一層,比較早期的視覺感知,實際上你們能夠理解爲視覺系統所生成的中間結果,其實並無什麼X用(-_-b)。它是一個對於視覺場景來講的一些中間結果。這些結果必須得存在,可是又沒有直接帶來咱們所謂的理解和識別,因此作視覺的人就造成了「Early Vision」這麼一箇中間的形態。Early vision的內容主要包含圖象分割、邊緣求取,運動和深度的估計這些方面。機器學習

 

Early Vision作的事情實際上是咱們看不到的部分,好比說物體的邊緣、深度、場景以及分割的形態,並非眼睛可以直接能看到的,我理解這是第二個層次,感知(PERCEIVING)的部分這個層次帶來了一些中間的一些狀態和結果,一樣它能夠影響到咱們後面不少的視覺應用。ide

 

三.識別(Recognition)。這部分是如今業界很火的內容。對應人的理解(UNDERSTANDING)。過去數年中人臉識別、物體識別,以及從各個圖象總體進行識別,包括最近相對來講比較火的圖象和文字的結合(image captioning),這些應用其實都是屬於咱們認爲第三部分。工具

 

另有一種比較籠統的分類是把Imaging 和Early Vision部分都稱爲Low-level vision,對應的Recognition部分就是High-level vision。

 

計算機視覺這門應用其實它是很美的,我認爲自己計算機視覺不能做爲一個單獨的學科來看,由於它並不像數學的某個領域有一套統一的理論,它是爲了解決一個個特殊的問題,它是一系列的應用學科集合,只是它討論的主題講的是咱們眼睛所能看到的、感知到的,包括和視覺輸入相關的理解,和視覺相關的內容。因此我並不認爲「計算機視覺」這個詞,或者說這塊的內容是一個理論體系很完整的一門學科。但我本身去加入這個領域徹底是由於我以爲計算機視覺有不少很漂亮的內容,它實際上是一個很美的研究方向。

 

我稍微講一下我當時選視覺的一個緣由,我在上交的時候也有不少很尊敬的老師,包括過幾天要分享的馬利莊老師。我在大三的時候選畢業設計的時候作的相關內容叫天然語言處理(人工智能的另外一個分支),但我總以爲文字上的變換,在那個點沒有大量的突破性、爆發性的應用。第二它並無引起我本身心裏的認同感,不少結果都只是以字對字的,並無一些特別知足的內容。因此當時在選方向的時候,我就作了計算機視覺方面的選題,加入戚飛虎教授的視覺實驗室(CVLAB),當時作的是天然場景下的文字檢測和識別。

 

我相信你們若是作計算機視覺會有一個感受,若是在處理視頻、圖象或者各類內容的時候,當你把這些內容處理完,有一個直觀的、對應的視覺結果的時候,你就會以爲這個應用會帶來一種知足感。我進入這個行業是由於視覺很美,從而纔開始接觸了各類各樣的視覺方面的一些應用,只不過在如今工業界的討論,忽略了視覺的美的因素。我見了不少工業界的朋友,或者一些合做夥伴,其實不多真正從視覺中這幾個領域、方向來探討咱們如今的視覺技術的發展,更多把視覺當成一個統一的學科名詞。其實忽略了它的精髓。

 

中間分享一個故事,我和我博士導師(賈佳亞教授)的導師(CK)去希臘開會的時候他指着一個學者問我是否定識,我想在這個領域出名的老年學者特別多,並不認識。他說這是他導師的導師。也就是我導師的導師的導師的導師,我立馬有種學術圈很差混的感受,由於從輩份上來講我可能處處碰到師叔,太師叔……因此仍是先進工業界吧(LOL)。

 

接下我就講一下從我理解的計算機視覺三個方向,來看看咱們在行業當中有什麼樣的落地。

 

 

成像(Imaging)

成像實際上是和相機的鏡頭、人眼的構成有很是大的關係,這塊的內容最先是從模擬相機原理開始。解決怎麼樣把拍攝照片的質量進行提高,包括我要去除一些相機帶來的畸變,分辨率問題,把相機的一些噪聲、各類複雜的相機成像的元素帶來的損失進行一些復原。

 

在咱們這個行業的前10年,整個視覺在工業界並非那麼火,不像如今的狀態,如今的這個行業確實到了很熱的階段,有不少工業界的應用。可是在十年前咱們的視覺一般會被大部分的人認爲並無到一個真正工業成熟的階段,它的幾個緣由:

 

緣由一:咱們整個的視覺基礎都是建在統計學習推理的這套邏輯之上,這套邏輯一般它會依賴於對於世界的先驗假設,這類假如若是作的好,一般帶來一個新的突破和變化,可是若是作的很差的話,在真實世界當中的應用就會產生問題。

 

爲何要用這些統計學習推理的框架去作這樣的視覺問題,有一個很重要的點就是,當時的數據其實並無達到必定足夠的量,因此咱們在十幾年前研究不少的視覺問題,都是在一些小數據集問題,先驗變得尤其重要。其中有一個相對來講對數據量的依賴小一些,或者對這方面不是那麼關鍵的一個方向,就是成像(Imaging)這塊。

 

這裏我想講我另外的一個觀點,我認爲何時候是真正地能夠用作技術創業或者技術帶來工業界顛覆性變化——就是一個技術方向它既是學術的熱點又是工業的熱點。由於只有這兩個熱點都同時具有的時候,這個技術方向才能真正地做爲一個使能者,工業級的應用能在先進學術成果催化下行程顛覆性突破。

 

若是它單純是一個學術熱點的話,發展只是學術上的一些理論,一些數學模型演進,在實際的工業場景當中的應用它可能並無帶來實質性變化。反之,若是單是工業熱點的話,它也會有另外的問題,可能工業界以爲這個技術的變現以及它商業的前途會很好,可是學術認爲它已經不是學術最前沿的東西,那麼它的技術迭代就不會有這麼快,這樣的話想要以技術去作創業或者用技術去作改變的話比較難,由於大公司或者巨頭會有更多的資源和應用場景,它用已經成熟的技術就可以完成一樣的事情。

 

爲何講到成像這塊我會有這個感觸呢?由於在前十年當中咱們的視覺並非工業熱點和學術熱點的結合點,反之,有另一個行業,實際上是知足了工業熱點和學術熱點結合的趨勢,那就是咱們稱之爲計算機圖形學(Computer Graphics)。

 

這個行業當時像SIGGRAPH這樣一些頂級會議有一些比較特殊的現象,就是不到100篇的文章,可是會有2-3萬的人去參加。而這些人都是來自於工業界的。緣由也很簡單,當時任何一個新興的圖形學技術如渲染技術可以取得必定的突破的話,就會帶來一些電影行業的突破,以及一些實際上商業的價值,因此在當時那個行業實際上是很是地有活力。

 

咱們在作視覺成像或者圖象的加強、變化當中,實際上是和圖形這塊有必定交集,叫作計算成像學(Computational Photography),就是在作Imaging成像的時候,能夠經過一些計算的輔助,使得成像質量更好。因此那個時候咱們在作研究的時候,會去蹭圖形學的會議。

 

最近的趨勢在視覺方面的工業熱點和學術熱點漸漸地match,固然也是由於你們都衆所周知的深度學習突破的緣由,在視覺領域取得了重大的突破,同時造成了真正行業級的應用,因此如今真的是作視覺的一個黃金時代。

 

回過頭來講,作咱們的成像和Imaging是解決什麼樣的問題?是解決讓你們看清,甚至是說超越人眼睛視覺的這麼一個問題,我給你們看一張圖片。

這個例子是爲了說明咱們在作圖像的加強或者成像的處理,解決的是什麼樣的問題——即咱們想要經過算法的計算,使得這張黑的照片可以被你們看清。在視覺作這件事情的時候其實你就會很享受,你就能夠把一些自己看不見的東西變得很漂亮,能夠真正呈現他的內容。

 

另外一個例子是這張明信片,拍攝過程當中由於光線很差等問題會存在手抖的現象,看不清上面的文字。一樣咱們視覺解決的問題就是從這些模糊的照片當中恢復出原來的內容(單張照片)。因此我想說視覺成像部分在很大的一個程度上,它是幫人眼作延伸,使得人可以看清自己看不清的內容。恢復的結果雖然不能說是一張很漂亮的圖片,可是它確實是能夠可以把上面的一些結構都恢復的比較清楚。

當我第一次把一張很是模糊的照片去恢復出來的時候,其實我也很興奮,以爲視覺這樣的東西,其實帶來的不光是說解決數學上的問題,更多的是帶來感官上的刺激。

 

再給你們分享一個例子,這也是當時我擺在桌面上的幾個小玩具,經過算法來恢復出來的,好比有意思的是這類恢復除了能夠把清晰的照片可以獲得以外,它還能夠獲得下面的東西(右圖),咱們稱之爲「核圖像」,它能夠反映出來相機振動軌跡,也就是說相機是經過這張核圖像的軌跡振動以後,造成了上面的這張模糊照片(左圖)。


下面左邊這張是北京的一張霧霾照片,理論上若是咱們想要獲得的會是一張比較清晰的照片,這也是咱們計算機視覺的範疇——「去霧霾」。開始個人觀點是,計算機視覺它不是一套很是完整地體系型的學派,可是它裏面諸多的諸多應用自己(包括我說的暗光加強、去模糊、去霧霾),都會讓人以爲是一個完整的應用體系,有一個特殊的數學問題去描述它,而後你們就會以爲比較有意思。


右邊這張是咱們經過算法把上面這張照片進行必定的恢復以後造成的照片,你們還能夠見到微弱的藍天。如今這個算法在微博相機裏面已經被嵌入使用了,若是說你用微博相機在北京、在國內的一些城市拍照的話,其實都會獲得一個比較好的效果,這樣再發微信、發微博,我相信政府都會感謝咱們,由於發出來的照片都是藍天白雲。因此藍天白雲也是能夠經過算法合成的。

 

固然視覺不光是說作成真實的復原,它其實能夠生成更多的咱們稱之爲更浪漫的內容(Non-photo Realistic),也是經過計算來完成。好比說剛剛那張霧霾的照片,咱們能夠生成像是油彩畫的同樣結果。


下面那張霧霾可能比較難一些,由於場景會比較複雜一些,不可能把帶深度的霧霾徹底去除,若是去除不了的狀況下,咱們以爲不妨能夠生成更有意思的藝術照片,這也是我以爲視覺另一個美妙的地方,就是它能夠經過計算來造成一些讓人以爲有美感的內容。


 

 

早期視覺(Early Vision)

剛纔說這個詞多是作計算機視覺的人忽悠出來的,由於計算機視覺會有一些大部分的叫「中間結果」,你生成圖象的分割,生成一些邊緣,生成一些運動矢量,這些東西其實並無什麼直接用途,而這樣的一些中間結果同時也會帶來不少的學術上新的問題,因此就會生成這麼一箇中間狀態,套上一我的類視覺感知早期過程的解釋。

 

舉一個有意思的例子。這是一個很傳統的問題,咱們稱之爲「光流場」或者是運動估計。就是說我有兩張圖,或者我一個視頻中的不少幀,我要得到這個視頻當中的任何一個點的運動,運動自己是稠密場,因此它是能夠用一個顏色的圖來表示出來的。顏色越深的就代表運動得越大,顏色表明了它的方向,好比紅色多是表明了某一個往右的方向,因此整張顏色圖就可以恢復出來真實的運動。


這就是早期視覺的一個經典的問題。你們能夠看出來,即便把運動恢復得很是準確、很是到位,但後面仍是要帶上一些研究課題,才能使它可以轉換成真實的應用性的價值。因此咱們在作這方面研究的時候,一個重點就是怎麼樣真正地用這些結果,從而生成有價值的應用。

 

實際上我以爲我作了Optical Flow(光流)這麼多年,有很長的一段時間曾在Middlebury的測試庫上排名第一,個人光流應該也是最先OpenCV考慮收錄進去的一個flow算法之一。但我一直在糾結的是,怎麼樣用這種中間的結果去獲得更好的應用,至今來講以爲這都是一個比較難回答的問題。

 

因此在早期視覺的不少問題就是出現一個尷尬狀態:第一,早期視覺的問題不能作到很是地精準,確定會有一些缺陷(圖像分割就是一個例子),可是早期視覺的問題和直接的應用結果又不能徹底掛鉤。後續應用直接依賴於早期視覺結果直接影響系統穩定性。如今考慮端到端的訓練方法是一種解決方案。

 

其中有一塊可能算是落地比較好的就是深度計算,經過單張圖加結構光也好,經過咱們稱之爲TOF掃描也好。或者經過兩張圖算Stereo Matching(立體匹配)也好,這個是咱們可以在必定範圍內看到有比較多的應用,咱們看到Xbox的Kinect,以及英特爾的RealSense,以及不少ADAS(高級駕駛輔助系統)相關的應用,要用雙目來作這方面的事情,其實都是基於咱們稱之爲「深度的中間結果」,它也是屬於早期視覺一個很是大的部分。

 

如今講人工智能、計算機視覺的範疇,對這兩塊的熟悉程度其實並不高,由於你們關注的是和識別相關的內容,可是我想說從早期的Imaging成像也好,從中間的Early Vision也好,其實都是視覺很是重要的一些環節,這兩部分的內容其實須要一個比較長的時間知識積澱。

 

這裏想補充一點的是傳統當中咱們認爲作這兩部分,必定須要至關長領域知識積累,也就是說你作圖象加強的、視頻加強的,和你作深度的、作運動的,其實必須是有不一樣的知識。固然背後確定是一套相對比較完整的數學統計學習的理論。最近行業上發現的趨勢變化是說,這些對於領域知識,或者說先驗知識依賴較強的應用(如依賴圖天然圖像統計先驗)漸漸也被數據驅動的方法取代了。也就是說咱們在作這些問題的時候,也有一個可能性,是用數據驅動的方法,好比說在作去模糊,或者說去霧霾,或者說圖片超分辨率等。能夠看2013年、2014年有不少的文章,已經能夠經過大量的數據,我告訴機器它輸入輸出對的關係,從而知足把成像中一些應用如超分辨率(super resolution)這些操做都變成一個經過機器學習完成的一個過程。

 

這樣的事情一樣也發生在咱們說的早期視覺這個領域,好比咱們在作深度計算、運動分析,其實2013年、2014年的CVPR都有文章說怎麼樣經過一個深度神經網絡,來完成剛纔我在圖片中展現的深度結果、運動結果。在某種的意義上有必定的好處,就是不太須要太多的領域上的背景知識干擾,能夠經過大量的數據來彌補對於真實場景理解的缺陷。好比說深度計算有一些應用場景是馬路上的場景,會有特殊的紋理特徵等,若是咱們要去作的話,可能對於這些場景要有一些特殊的先驗知識。從數據驅動的角度來講,它其實能夠經過收集足量的數據,使得這種先驗知識融合到到現有的深度網絡學習當中去。

 

因此我認爲下一個階段,在早期視覺、在成像這塊的內容會有一個趨勢,就是咱們稱之爲從統計學習來的生成式模型(Generative Model)和深度學習Bottom-up、數據驅動模式的結合。

 

 

識別理解(Recognition)

工業界的應用突破,大多都是基於這部分。咱們講最終的識別理解,其實以前提到視覺問題當中,作的事情,是須要把一張(輸入)圖對應到一張(輸出)圖,或者說一張(輸入)圖對應到一箇中間結果。識別更多的就是把一張圖對應到這樣的一個文字或標籤。因此這也是爲何咱們真正地機器學習也好,大數據分析也好,最先確定是從識別開始入手,由於文字到標籤的matching,其實得來更天然,而且容易。好比說對於人臉識別,咱們要作的事情我給機器兩張人臉,告訴它這兩我的「是」同一我的,或者「不是」同一我的,給出這兩者的標籤。

 

從2010年以後深度學習在語音當中取得了必定地突破以後,在視覺領域的突破,最先就是從這樣的圖片(或視頻)到文字的匹配(matching)來完成的,其中最著名的是Hinton參加了ImageNet挑戰賽取得了突破以後,深度學習以及大數據的方法,在視覺識別當中的各個領域展開。

 

在一些咱們公司涉獵的垂直領域,只要把圖片和這種標籤訂義得足夠好,數據量足夠大,數據夠完善的話,它有很是大的可能在垂直領域上,可以超越現有人類的識別準確率。這點在工業應用上尤其重要,咱們認爲有一個叫「game-changing line」,就是改變這個遊戲的這麼一條線,其實就是人的準確率。

 

一旦當某一個應用它已經達到了人識別的準確率,那麼這樣的一個工具就會替代現有的人力來完成這樣的任務。這種應用從圖像當中包含的咱們最傳統的車牌識別、文字識別、車型識別,在公安交通當中應用比較普遍的。另外,從人的角度出發,對於人臉、人體、人羣的識別,這些細分領域只要咱們定義了一個比較清楚的圖到文字的Mapping(描繪)的話,識別就變得可行,工業應用也很廣。

 

最後,我講兩個很是簡單的例子,咱們怎麼樣去定義這樣的matching,在某些應用當中變得可行。

 

例子一:年齡識別

年齡識別看上去是比較主觀的,人看上去年紀輕、年紀大,實際上是比較難的,怎麼樣用大數據的方法最後把年齡識別來完成呢?其實咱們如今有這樣的一個小竅門在裏面,去定義這些標籤。

舉例子說,從手機收集來的照片通常會有手機上的時間,同時若是像有身份證號碼,它是能夠經過身份證的號碼,把這我的的出生年月給算出來。又有如今的照片,又有出生年月,其實它的這麼一個從一張照片,到一我的的歲數matching就能作成這樣一個對。有了足夠多的對的時候,就可以天然而然地完成年齡識別的訓練,這是咱們在數據收集當中最後發現一個比較有意思的例子。

 

例子二:顏值的識別

這看上去是一個比較主觀問題,那怎麼樣去定義一我的的顏值漂亮不漂亮,其實相對來講是比較難的事情,咱們也用了討巧的方法,就是在有一些社交網站、交友網站上對於別人是有這樣的一個打分。另外就是你們廣泛承認明星的顏值會比較高一些,普羅大衆的顏值會比較低一些。因此經過一些現有的網絡數據,咱們能夠完成這樣的一個分數大體的範圍設定,給一我的定義「漂亮」、「不漂亮」標籤,完成顏值打分。

 

 

Q&A環節

問題1:目前CV領域都是朝着DL(深度學習)方向發展,不能否認在一些應用場景下取得了很好的效果,可是個人疑問是,這是真正的計算機視覺麼?以前學習某大學的CV課,看見說三維重建(Reconstruction)、重組織(Reorganization)、認知(Recognition)纔是CV的核心思想,因此我對CV的發展方向不是清楚,或者說DL的發展方向,目前都是海量數據驅動訓練模型,可是這真的是真正的智能麼?仍是人腦智能的機制纔是真正的智能呢?

 

徐立:我認爲傳統過去十年當中比較流行的人工智能的概念其實叫作人工指導智能,是那種在統計學習推理框架下作的事情。好比說咱們作研究,都會有一個統計學習的模型(如最大似然估計、MAP最大後驗機率等)做爲一個指導,指導的意義就在於說咱們已經對這個世界有這樣的假設。如今視覺這個領域的發展,爲何深度學習會火呢?由於深度的神經網絡實際上是沒有對世界作任何的假設,是純粹從數據中來,這樣當數據量足夠大,當問題的這種描繪Mapping定義得很清晰的時候,它真的會在必定的程度上,去超越原始對這個世界有先驗假設的這麼一波算法,這也是爲何工業界爲何會比較火的緣由。

 

CV這幾個方向如今漸漸都有趨勢說這種純數據驅動方法,已經開始替代傳統的統計學習框架,或者說generated model生成式模型的框架。這個替換是愈來愈多了,就是從剛纔說的早期視覺、圖象加強以及識別這幾塊,都有這樣的一個變化。

 

反過來來講,我以爲學術上更多的熱點,如今的神經網絡的設計其實尚未辦法徹底用到傳統二三十年視覺上生成模型的知識。那怎麼樣把更多的模型知識嵌到現有的深度學習框架當中,怎麼從生成式模型和深度學習的這麼一些網絡結構作一些結合的話,多是會帶來下一個階段的突破。

 

而人工智能實際上是另一個概念,我以爲60年前達特茅斯會議(Dartmouth Conference)上講的「人工智能」,實際上是經過人的工程使得第三方主體具備人的意識,這也是普羅大衆的理解。但咱們如今作的事情是machine intelligence(機器智能),機器智能其實並非說實現全人工智能,使得它具備意識,更多地我以爲機器智能是在於利用這些大數據,使得這些數據可以做爲更好的工具,在某個垂直領域服務咱們人,因此我以爲人工智能的發展方向,或者說如今更多的工業界的熱點是在機器智能這個方向。

 

問題2:如今咱們正在經過一些辦法理解神經網絡是如何抽象圖像信息的,好比Deep Inside Convolutional Networks經過找出maximize class score的圖像來理解,還有一篇文章Deep neural networks are easily fooled,都代表咱們能夠經過改變圖像來欺騙神經網絡。若是咱們把大量的DNN應用到實際場景中,如何應對這種潛在的危險呢?

 

徐立:神經網絡在某種意義上是能夠欺騙的,好比說在一些識別的網絡,它能夠經過輸入一些噪聲,就讓這個網絡錯誤識別。我以爲確實是存在潛在的風險,好比假設作人臉識別也好,作物體識別的場景也好,若是說在網絡設計當中,這塊被一些不法分子真的知道了網絡設計的一些原理,它有可能經過hack這樣的輸入的模式,使得最後的輸出可以作到欺騙過當前的網絡。

 

這塊我以爲有幾層:

  • 第1、你須要知道這個網絡的結構,它才能作出欺騙性的事情。

  • 第2、當數據量達到足夠的程度,覆蓋面足夠廣的時候,在真實的應用當中,仍是會比較難去操做欺騙。

  • 第3、在一些工業自動化的應用,我認爲人工智能最大能發揮價值,或者視覺可以發揮價值的地方是在於替代自己勞動密集化的這些應用。並不都存在被欺騙的風險。

 

假如說自己須要不少人,如今用人工智能的算法去完成工業級別的一些自動化(好比特斯拉工廠),它其實並非特別地存在這樣的風險,因此我以爲這仍是根據行業的不一樣,以及最後數據量的大小,可能會定義成不一樣的危險級別。

 

舉個例子咱們在作人臉驗證的時候,至關於傳上兩張照片來作驗證的時候,前面是要有一個活體的識別,就是讓你作幾個動做來判斷是否是活體,一開始的時候,咱們平臺上有很是多的用各類各樣的方法去hack活體,不光是hack這個神經網絡,它其實未來是把它當成一個黑盒去hack整個流程,可是這裏面有一個過程,當咱們把必定數量的hack的數據進行標註,把它做爲個訓練樣本去作出一個新的分類、作出一樣的操做,一會兒就能夠把這個風險降到比較低的水平。因此我以爲這也是在行業當中必由之路了,必須經過這樣的數據積累(更多的攻擊數據的積累)來造成更安全的壁壘。

 

問題3:如今deep learning相關的CV算法須要很高的硬件門檻,訓練模型也要花很長時間,工業界如何在實際的產品中實用它呢?

 

徐立:我認爲何時候能夠用技術作創業,在中國用技術作創業其實比較難的,我剛纔說若是說它只是一個工業的熱點,就是工業發現這個技術還很好用,那會產生一個問題,就是說同質化的東西就會特別多,由於它的技術演進會很慢。若是它只是一個學術的熱點,工業不買帳的話,你硬推到行業應用當中也是很是地難,由於它始終沒有過工業實用這條線。

 

因此,我認爲deep learning加CV這個點,其實是一個工業熱點和學術熱點的結合,它才能說是真正使得技術創業公司在這個時間點上往前走。至於這個問題就必然會引起爲何必定是要這兩個業界的結合?我以爲一是最好的、最頂尖的深度學習的算法確定仍是來自於學術圈不停地演進,可是反過來來講,工業界有足夠的計算資源、足夠的數據,這些是目前學術圈沒有的。

 

我以爲來參考一下傳統的搜索行業,到了後來我以爲作學術那部分沒有和工業作一個很緊密的結合,因此工業的那些處理真正大數據的信息檢索(information retrieval),其實遠遠要領先於學術上的這個點。

 

如今實際上是一個很好的點,由於你要作深度學習的研究,之後我以爲必定是和工業有完美地結合,這樣才能獲得更大訓練的平臺,以及更多的訓練數據和應用場景。爲何會有人工智能四大天王——Facebook的Yann LeCun,百度的吳恩達(Andrew Ng),谷歌的Geoff Hinton和蒙特利爾大學的Yoshua Bengio,除了Bengio其餘三位都到了工業界,這其中會有一個比較大的關係。

 

最後講訓練的模型以及硬件的門檻高的話,我以爲在將來,這些訓練平臺它可能也會變成一種服務,像如今AWS(Amazon Web Services)、阿里雲提供的CPU部署服務,它到某一天它能夠把更多的GPU鏈接起來,造成一個訓練的平臺,就像超算同樣,你們能夠經過買雲服務,來完成本身想要的特質化模型的訓練,這多是一種潛在的服務可能性。

 

問題4:在目前的哪些應用中,vision會是不可或缺或者不可替代的,成爲一個行業成敗的關鍵點,爲何?在ADAS(高級駕駛輔助系統),無人車,以及醫療圖像領域,哪一個領域會最早被普遍應用和接受,爲何?

 

徐立:一方面我以爲人工智能,或者視覺的突破是在於這些數據(經驗)積累上,因此說下一個階段我認爲ADAS、無人駕駛、自動醫療診斷等,都會有一個很是大的演進。作無人駕駛,若是說有1000輛這樣的無人駕駛車,在路上跑一年的話,那很容易收集到1000年的駕駛經驗。你能訓出來的汽車就具備千年的駕齡,因此我很看好在五年,甚至是更短的時間以內,在ADAS,或者在無人駕駛這個方面,會有必定地突破。

 

問題5:你認爲當前CV技術的瓶頸在哪兒?是算法?數據?或者是計算能力?硬件?

 

徐立:關於現有的瓶頸,第一,我以爲仍是在於怎麼樣去設計一些更好的把原來現有的行業知識和現有的從數據出發的bottom-up方法作一個融合;第二,網絡結構的設計勢必會影響到最後算法的性能。目前從中國行業角度來看,我以爲更缺的是從圖象或者從視頻到輸出的結構化的Mapping(或者說訓練數據)的結構化收集,好比說提到的大數據醫療診斷這業務,這件事情自己是很是可行的。可是如今的問題就是說,在中國這些年當中,其實他們並無把這些醫療的數據結構化,進行清理,因此即便這方面想要作研究,仍是須要不少年把這樣的數據作清理。

 

問題6:想入門CV須要提早補哪些數學知識?

 

徐立:我以爲計算機視覺是一門優化的科學,我一直想說,計算機視覺各個應用至關因而十八般兵器(刀槍棍棒),內功就是凸優化,實際上是把線性優化的問題以及凸優化問題可以解到極致,而後再把統計學習的概念應用上的話,我以爲其實作大部分的視覺問題都應該能夠迎刃而解。

 

問題7:除了OpenCV還有什麼比較好的開源項目能夠學習?

 

徐立:OpenCV挺好的,若是從算法角度來算,不少應用實際上是直接參照Opencv應該是已經實現了,OpenCV裏面實現了個人幾個算法,我以爲應該是比我本身寫要寫的好。至於其餘的開源,如今學深度學習的話,開源平臺也是不少,例如caffe等。如今要解決的不光是開源項目的問題,可能針對深度學習來講還要解決計算平臺的問題。

 

問題8:如何入門以及找到研究的興趣點?

 

徐立:想要從瞭解計算機視覺的範圍的話,其實能夠看瑞克的一本書(http://szeliski.org/Book/),這本書和傳統的教材編寫的不同,他會把這個行業裏面,2000年到2010年之間的一些發展,把它編排成書了。這個書其實包含了不少的有意思的應用,若是你們對這個方向感興趣,它其實能夠做爲入門參考,視覺裏面有很是多的好玩的東西,我剛纔說了一些,我還有不少沒說,好比說像Matting這個問題自己不是一個視覺裏面的傳統問題,說它至關於把一我的(物體)從背景中分割出來,可是這個分割會考慮到毛髮和半透明的問題。臺灣的Yung-Yu Chuang教授第一次把統計學推理、貝葉斯的框架引入這個應用以內,而後把MAP inference發揮的淋漓盡致。這些有意思的論文內容都收錄在這本書裏。

 

另外若是你們對於這個行業感興趣,能夠從最新的學術論文,或者說一些學術論文的分析彙編中看有一些什麼樣的應用,做爲一個切入點往下走。

 

問題9:您科研期間發表的光流法對應的文章在什麼刊物上?

 

徐立:剛纔說的光流的是發表在TRAMI的一篇文章「Motion Detail Preserving Optical Flow Estimation」,TRAMI是咱們這個方向的期刊。

 

這篇文章我能夠稍微講一下,當年應該是Open CV最先要收錄的一篇光流文章,也在CVPR上宣佈了,最後沒有收錄的緣由,是由於我用了SIFT做爲Feature Matching,這部分是第三方的內容,無法收錄,因此也有一些惋惜。

 

說到光流我最後再分享一下我本身本科期間的一個小故事,我本科師從戚飛虎教授,他也是視覺和神經網絡方面的學術領袖,他當時問我說你能夠作視覺的方向,一是作光流,二是作文字識別,我當時對光流很是抵觸,由於這個詞說的很是玄乎,我就以爲說在外行人看視覺這個題目,你都根本不知道這是什麼的狀況下,其實很難引發興趣,可是真正若是知道這裏面是作什麼樣的內容,你就會以爲它其實跟你想象是不同。因此我也不知道爲何第一個起名字的人把這些東西翻譯成那麼拗口的,不就是運動估計麼。

 

 

問題10:對於之後想從事CV方面研究或者工程的非CS科班本科生,應該抓住怎樣的趨勢來學習?CV的將來在哪裏?

 

徐立:首先我以爲學習CV,從我本身的經驗來講,這東西絕對不能太功利,不少東西能不可以真轉化爲實用,或者在這個地方有什麼特殊的價值,其實我以爲確定不是一時半會能看出來的,我再講上一個十年,我認爲兩個有實際的視覺應用的價值的算法,其實都是它是在實際積累當中一步一步走出去的。

 

第一個就是2000年到2004年左右,用Adaboost作的人臉檢測,咱們能夠知道不少後來的相機、手機以及各類高清的相機裏面,你看到的人臉檢測,其實都是早期基於Adaboost的算法來作的,可是這也是經過最先的一步一步的變化,從離散的boosting、從一些多角度的變換,從這樣一部分的嘗試,最後完成了一個咱們認爲能夠說是跨時代意義的這麼一個檢測算法來作這樣的事情,並且實際上從數學理論來講,Adaboost並不比其餘的Max-Margin分類起來得更完善,因此我以爲作視覺方面的研究,其實自己也就是一種嘗試的過程。

 

第二個是David Lowe的SIFT(Scale-invariant feature transform,尺度不變特徵變換)的例子,他也是很是成功的。從1999年他發佈第一個求取這個特徵點(找特徵點)的方法,到最後定稿的這個IJCV(International journal of computer vision)的SIFT,中間通過了很是屢次的迭代,其實每一步在如今看來都是很是地ad-hoc,怎麼樣在ad-hoc的步驟當中,最後找到實用的視覺算法,其實我以爲這是咱們要面臨的問題。因此作計算機視覺研究很大一部分仍是在於說你真的對這個問題喜歡,同時你要具備這樣的一個hacker精神。其實一半是engineer,一半是hacker。

 

我想要跟你們說要有信心,其實很容易成爲這個領域的佼佼。你真正地鑽入到一個很特殊的問題,一直在作的時候,你忽然會發現,這個世界上總共也就四五我的來作,若是說是你要勤奮地一直往前地去作這樣的一件事情,你只要戰勝這四五我的,相對來講是很容易的。

 

因此只要咱們抓住一個很合適的問題,有足夠的hacker精神,固然要有必定地數學功底的話,我以爲作CV實際上是一個頗有樂趣的事情,由於仍是會有不少很是快樂的時刻,並且我相信最重要的一點要有本身的信念,若是說你只是作單獨的方向(好比說作分割或者跟蹤),這個問題作的人很是多,都是世紀末的難題,若是你把一個跟蹤的問題narrow到一個很小的範圍,舉例來講我要作一個透明的物體跟蹤,可能全世界就三我的在作,而後你說我要作半透明的物體,或者說透明物體有反光的研究,可能全世界就只有你一我的作,可是你只要把這個問題作出來,你就是世界第一。

 

因此我一直以爲作視覺的人,要有這種信念,就是它會把不少一些實際的問題定義得更清晰。在清晰的問題中找到一個本身的定位。因此我以爲對於工程學科或非CS科班的學生來研究CV的話,一點也不須要擔憂跨行的問題,由於我認爲CV自己就不是一個完善的學科體系,而是一門應用科學。而應用科學須要更多的是工匠的精神和黑客精神。

 

固然這是個人見解,很是感謝你們的時間,謝謝你們!

相關文章
相關標籤/搜索