1
本文作者: 亞萌 | 2017-03-01 21:18 |
雷鋒網(wǎng)按:本文根據(jù)2月27日阿里云視覺計算團隊負責人華先勝的視頻采訪整理而來。
華先勝,北京大學應用數(shù)學博士、IEEE Fellow、ACM2015年度杰出科學家、MIT TR全球35位35歲以下的杰出青年創(chuàng)新人物,曾擔任ACM Multimedia等大會程序委員會主席,是視覺識別和搜索領域的國際級權威學者。于2016年7月加入阿里云人工智能研究機構iDST科學家團隊,帶領阿里云視覺計算團隊的研發(fā)工作。
我在2015年加入阿里,之前在微軟待了14年。第一年加入阿里巴巴,實際上在搜索事業(yè)部,不在阿里云,那個時候解決的是搜索的問題,也就是以圖片搜商品。這個題目是上個世紀末就在做的,真正取得進展也是在近些年,我在那一年主要做的就是這些事情。把圖片搜索商品這件事情從比較初步的狀態(tài),做到一個我個人認為是世界上最好的一個狀態(tài),因為它真正能夠使用了。
那么在大約一年前,我就到了阿里云,這個原因是因為云上的視覺計算需求量非常大。我們視覺計算團隊成立以后就針對幾個大的場景,包括監(jiān)控、交通、安防、人臉、個人圖片、醫(yī)療等,其中最重要的一部分實際上是城市大腦里面的視頻分析,這里面的突破,我覺得可以分為幾個方面:
第一點,是大規(guī)模的視頻分析。因為我們處理的城市數(shù)據(jù)量是非常大的,甚至遠遠超過電商的數(shù)據(jù)。這里面涉及到我們要去實時大規(guī)模處理視頻,所以要依靠阿里云的計算平臺,再加上視頻分析的一些特點,構建這樣一套大規(guī)模視頻數(shù)據(jù)分析平臺,包括它的計算效率,因為這個數(shù)據(jù)量非常大,你必須有非常高的計算效力才可以在可控的成本下完成這么復雜的事情。
第二點,把電商的搜索技術,也延伸到城市的場景里面來。因為城市視頻數(shù)據(jù)圖像數(shù)據(jù)那么多,當然就有查找的問題,比如一輛車、一個人、一件物等等,我們把電商里的以圖搜圖應用到城市的場景里面來,可以叫做“城市圖搜”或者叫“城市搜索”,專業(yè)一點的語言可以叫“索引整個城市”。當然是從視覺的角度來做的,這個其實也是非常困難的一件事情,我們在這方面也是取得了一些突破。
第三點,是在交通或者公開場景下,對特殊事件進行檢測和識別。比如說,交通事故、違章停車、橫穿馬路等,我們做了深入的研究。
下面我給大家展示其中的一些技術。
第一個是城市搜索,這個是以車為例,城市里面的車流是很多的,這些信息都可以放在一個數(shù)據(jù)庫或者索引里面,你有一些關于這個車的一部分信息,比如說車的圖片、車牌、車牌的部分信息,這些信息哪怕部分車的特征(比如說紅色寶馬或黑色寶馬X5等信息),都可以在這個系統(tǒng)里找到這個車在城市里面哪里出現(xiàn)過。不過大家不用擔心,這個系統(tǒng)不是任何人都可以訪問的,都是交通部門或者安全部門可以訪問到,所以大家不用擔心你的信息被泄露。
這個是剛才講過交通優(yōu)化,必須對車流有一個非常完整的認識,比如說像這里,可以看到我們對車輛的檢測、跟蹤,還有車型的識別、車牌的識別,還有車的走向識別,其實我們還有行人識別,都要有一個非常全面的了解。
這個是對速度的估計,我們通過視頻的角度,而不是通過雷達。我們可以測算出車流的速度,這對于交通優(yōu)化來講也是非常關鍵的一個因素。
我們還有對人的搜索,這個還不是對人臉的搜索。因為在城市的環(huán)境下,其實很多情況下,人臉并不是很清楚的,反而你只有一個人的大概輪廓,和一些大概的特征。所以,這跟人臉的技術還是稍微有點不一樣的。
下面這個例子,是我們把視頻的商業(yè)價值更進一步發(fā)揮起來。比如我們在視頻里找到可以嵌入廣告的地方,不管是張貼畫的廣告還是物品的廣告。這個是張貼畫,這個左邊是原來的視頻,右邊是我們貼了一個畫。我們可以把這些畫面嵌進去,就像原來視頻里本來就有的畫面一樣。
另外還有關于人臉技術方面的一些應用,比如說虛擬時裝,我們在虛擬試衣的時候,通過一張照片合成3D人臉模型,換成用戶的臉,這樣就能夠更有真實感。當然還有虛擬試戴,像這里,我們在手機屏幕上也可以看到眼鏡戴在用戶眼睛上大概是什么樣子。
人臉和人的關鍵點的跟蹤功能,是很多應用包括試戴應用必須具備的一項技術,而且要到手機端實時做到非常精準,否則就會出問題。像這個是有點好玩的應用,因為對人臉能夠進行跟蹤,就可以進行改造,變成一個或搞笑或恐怖的一個場景。
下面這個,已經是產品了。我們拍立淘里面有時裝的部分,比如說這兒,她試一個口紅,這個當然都在手機端實時完成的。這個時候要做得非常精準,因為口紅顏色稍微變化一點就比較難看了,多一點少一點都不像,所以對算法的要求是非常高的。
這個問題是這樣的,我們首先要對整個城市的狀況、交通狀況有一個全面的清晰的透徹的了解。什么叫全面呢?我們要“看全”,因為這個城市的攝像頭是非常多的,這就涉及到剛才講的大規(guī)模視頻處理,也包括以前在交通領域里面還無法獲取的一些信息,比如說行人的信息。以前的交通模型其實是沒有辦法使用的,因為沒有辦法獲取這些信息。在以前,車流的信息可以通過其它手段得到一部分,比如說通過地面上的感應線圈也可以得到粗略的信息;不然是通過GPS采樣信息,但是這樣獲得的數(shù)據(jù)也不夠完整。那么視頻的信息是可以看得非常完整的,可以看到整個車流、人流和非機動車。
所謂的“看清”,從技術上來講,就是要把經過車子的數(shù)量,車的類型、車牌、走向、速度等信息都要提取出來。還有行人的信息也要看清楚,到底多少人在占用人行橫道,這個對交通的優(yōu)化都是非常重要的信息,過去是很難獲取的。而且我們還要“看得透”,指的是挖掘大量數(shù)據(jù)之間的關系,從而發(fā)現(xiàn)規(guī)律,或者說發(fā)現(xiàn)他們之間的相互制約性,從而得出決策。
我舉一個例子,比如說在交通的優(yōu)化當中,我要優(yōu)化紅綠燈,不能只看某一個路口的信息,要看很多的路口,因為你如果把這一個路口解決了,有可能別的路口堵了。我聽一個交通部門的人講過,曾經有一個城市做優(yōu)化的時候,看到一條路上,覺得這個路面機動車和行人爭搶道路,引起了交通堵塞。他就想了一個辦法,修了一條地道,車走下面,行人走上面,這真的是解決這一部分的道路非常的暢通??墒沁@一條路的下一站,到最后是什么呢?是一個火車站,所有的車都堵在火車站里頭了,這其實是一個局部優(yōu)化,有時候看上去解決了當前的問題,但沒有解決整體問題。有了這個以后,才是交通模型。那這方面,其實過去很多的交通專家也做了很多工作,也有很多值得借鑒的地方,也有很多成果,當然對于交警來講也有很多實戰(zhàn)的經驗,這些對我們交通優(yōu)化都有非常重要的作用。作為我們云計算公司來講的話,是要在更大的數(shù)據(jù)下,更準確的數(shù)據(jù)情況下,獲得更全、更透、更清晰的數(shù)據(jù)。再加上交通專家的研究成果,加上交管部門實際的經驗,我們一起來解決這個交通的建模、交通優(yōu)化問題。
通常來說我們看到車流情況后,可以對紅綠燈進行優(yōu)化。有一種方法是根據(jù)每天的規(guī)律,或者每周長時間的規(guī)律,對紅綠燈做一次性離線的優(yōu)化。有一個配時方案,星期一早上幾點到幾點是什么樣子的,中午、晚上是什么樣子的,星期二是什么樣子的,每天不一樣的方案。
剛才講的交通事故需要實時調控,這里面也可以分兩類,一種是已經堵起來了,在還沒有堵死的時候已經看到這個趨勢了,可以對紅綠燈進行管控,一個方向時間延長,另外一個方向減少時間等,對紅綠燈調控。另一種更聰明的一點做法,我們如果觀察到一些事故,就對它的規(guī)模、可能帶來的交通問題做一個大概的估計,提前進行疏導,這是可以做到的。
阿里云的計算平臺,叫做飛天系統(tǒng),你可以把它看作是一個超級的計算機。對于視頻而言,當然我們在這里面也會有一點特殊的地方,因為視頻處理有它的特點,比如說數(shù)據(jù)量大、吞吐量大、計算消耗也非常大。我們在這個基礎上,跟計算平臺一起,讓計算平臺能夠處理這些視頻數(shù)據(jù)。用比喻來說,就是它能吃得進去,消化得了,并把這個營養(yǎng)吸收得了,最終產生結果。
但這里面的視頻處理有特殊性:視頻處理有時間上的相關性。比如說我們對某一當前時刻圖像進行處理的時候,是依賴于前面的若干時刻圖像的,所以在視頻里面要很方便地處理這種邏輯。再比如說像交通的場景下,甚至是我當前的視頻需要跟別的好幾路視頻合在一起才能形成一個決策,比如說像紅綠燈的管控,我光看一個路口的一路肯定是不行的,甚至光看一個路口的四路也不行的,我要看好幾個路口一起來決策,這就是在物理的空間上也是有相關性,我經常把這叫做“時空的相關性”。在這種情況下能夠順利完成計算,從而實時得出決策,這都是通過平臺才能達到的。對于算法專家來說,更多的精力是放在算法的研發(fā)上,提升算法準確性和本身的計算效率。
有幾個方面,第一個就是剛才提到的,我們在云計算上,必須立足于大規(guī)模的視頻分析,所以對于算法的優(yōu)化是非常非常重要的。比如說,我們前不久也做了很多的優(yōu)化工作。比如我們對車的檢測分析識別,最初的版本,一幀圖像在CPU上的處理需花費2600毫秒,這個其實是相當慢的。后來我們跟英特爾合作,利用英特爾的CPU上的優(yōu)化,在單核上壓縮到900多毫秒。后來我們再通過算法本身的優(yōu)化,包括模型的結構優(yōu)化,參數(shù)的優(yōu)化等等,就降低到130多毫秒,這又提升了很多倍,整個提升了幾十倍。這幾十倍的提升,聽起來可能沒什么感覺,但對于大量的計算資源來講是非常重要的。如果你只要一臺、兩臺機器做事情,還不是太大的問題,假如你要1萬臺、2萬臺機器同時運行,那就是一個很大的事情了。這個量的相差是非常非常多的。所以大規(guī)模計算的效率也是非常重要的方向。
另外一點就是繼續(xù)深入行業(yè),在各行各業(yè)里面去挖掘金礦,讓算法在里面能夠得到優(yōu)化和深入,把這個行業(yè)吃透,為客戶帶來真正的價值。當然還有像深度學習本身算法的研究還是有很大的空間,這也是我們接下來要做的事情。
我認為,一個成功的人工智能應用,應該具備五個條件。
第一個是算法。你要有好的算法,你的算法要有先進性,你的算法不行一切都沒有了基礎。(當然你也可以把算法這一個條件看做是科學家,因為人才和算法是緊密相連的)。
第二個是要有數(shù)據(jù)。數(shù)據(jù)本身就是一個很大的話題,里面有數(shù)據(jù)的采集、搜集、清洗、有效的標注,甚至包括算法里面數(shù)據(jù)怎么使用。
第三個是用戶。你做的這個東西應該有用戶的,因為有很多問題是需要用戶參與才可以做得越來越好。當然你從商業(yè)的角度來講,沒有用戶的話也不能夠長久。用戶本身是數(shù)據(jù)的消費者,也是數(shù)據(jù)的提供者,這過去在搜索引擎里面有非常重要的體現(xiàn),可以說搜索引擎的技術能夠做那么好,每個人都有contribution的。
第四個就是平臺。這個就是涉及到你要有強大的計算能力和一套體系架構,能夠方便地去研發(fā)、部署和生產,這一套是必須要有的。當然現(xiàn)在因為有云計算,所以這部分的瓶頸,對于很多企業(yè)來講已經沒有過去那么困難了。
第五個就是有好的商業(yè)模式。如果沒有好的商業(yè)模式,就不可能長久。你做一個事情,低頻的事情沒有多少人用,或者不能給少量用戶帶來大的價值,最后產生的總體價值不夠的話,其實是很難長久的。這幾點,我個人覺得其實是都應該具備的。當然了,可能不同的商業(yè)應用,應該來說可能有不同的側重,但是我覺得都應該具備。
關于這個問題,有很多的爭論。我說說我自己的觀點,我們有很多公司確實是以算法起家的,但是我覺得算法之間的差異,可能會逐漸越來越小。尤其是現(xiàn)在基于深度學習的方法,以及包括很多開源的出現(xiàn),對于內行人而言,或者叫高手之間,他們之間算法性能的差異其實不會太大。比如說人臉識別,在AFW上面,大家測試的差距都在小數(shù)點后面一位兩位的,沒有太大的差距。像ImageNet 也一樣,差不多都是99.6%、99.7%這樣子,都是不難達到的。那這些對于內行人而言沒有太大的差距,但是在真實場景下應用的時候還會有差距,隨著時間的推移,大家都在實戰(zhàn)當中磨煉的話,都不會差距太大。甚至包括數(shù)據(jù)的優(yōu)勢,也會減少,很多的公司,不管是大公司還是創(chuàng)業(yè)公司,做得稍微早一點,積累了大量的數(shù)據(jù),不管是標注的信息還是算法在練習當中搜集的反饋,隨著時間的推移這部分紅利也會逐漸減少。
什么是具有競爭力的東西呢?這個問題很好,我覺得可能還是要看平臺和商業(yè)應用。從商業(yè)模式上來使得自己的競爭力具有長久性,尤其是在細分的這個行業(yè),你做到非常精深。因為這部分并不是那么顯而易見的,并不是說隨便搞搞,我們就都是90%幾之類的,這個需要你精耕細作的,需要你深入這個行業(yè),結合真實場景數(shù)據(jù)的一些特點,才能夠逐漸把這個行業(yè)吃透、打穿,才能夠有一席之地、成為高手。那么這個的話,其實是可以有差異化的。因為這個行業(yè)非常的多,其實大家不見得一定要擠在一個獨木橋上,一定要去刷通用的圖像識別這些東西,或者是非?;馃岬囊恍╊I域,其實有很多路可以走的。
我們確實也要冷靜看待一些問題,有幾個角度來看到。比如說現(xiàn)在的識別就已經做到真的那么好了呢?大家可能有一些體會,這個準確率的數(shù)字好像很高,但是在真實場景下,有時候也不那么好。我舉個例子,像大家比較公認的ImageNet比賽,有數(shù)百萬張圖片,進行1000類的分類,我們通常說現(xiàn)在最高的準確率已經做到96%點幾,錯誤是3%點幾。那這個其實這里面有很多可以去探討的.
第一點,這個96%點幾,是指前五的正確率。也就是說一個圖像識別出來5個結果,其中有一個對的就算對。如果規(guī)定第一個必須對才算達到正確,那可能正確率只有80%多點。
第二點,是我們這個世界是很復雜的,遠遠超過這1000類,有很多現(xiàn)實世界當中太多太多不一樣的東西都需要去識別。這實際上是一個覆蓋率的問題,剛才講到在標準的測試級上可以到很高,這是一個準確率的問題,準確率當然也是非常關鍵的,也是推動這個領域發(fā)展重要的一個指標,然而真正在現(xiàn)實當中的覆蓋也是非常重要的。覆蓋直接關系到人的體驗,尤其是在識別和搜索這里面。比如說我那一年在做拍立淘的時候也是花很大的心思去解決覆蓋的問題,覆蓋的意思是就是說你搜什么都能給點相關結果出來。那準確率是說,我搜出來的東西要跟我想象的東西是相關的。這兩個都是非常重要的?,F(xiàn)在的識別的技術在覆蓋上其實是有欠缺的,當然了覆蓋的話,也不是說不能解決的。我記得我在前些年也做過一套系統(tǒng),當時是利用了互聯(lián)網(wǎng)的數(shù)據(jù),使得覆蓋能夠得到更大的提升,所以用了互聯(lián)網(wǎng)的數(shù)據(jù)自動取挖掘訓練數(shù)據(jù),使得它可以識別任意的東西,當然這個任意的東西還是有條件的,互聯(lián)網(wǎng)上可以找得到數(shù)據(jù),可以找到足夠足量的數(shù)據(jù)然后可以自動清洗自動建立模型。
我記得當時我還在美國的時候,去參加一個朋友的聚會,他家里有一株花很好看,但是那個花就一朵,而且屬于剛剛開放的樣子。所以,大家其實就都認不出來,這個主人也忘了叫什么花。當時我正好在做這個項目,確實是有個花的自動識別的系統(tǒng),我當時拿來識別了一下,果然就識別出來了,它叫孤挺花,有點像百合。當時在那種情況下,只有一株花,如果有很多花還好一點,而且又是剛剛開放的樣子,不是很典型的,但是利用互聯(lián)網(wǎng)上的大量的數(shù)據(jù)可以把它自動識別出來,所以也是有很多工作需要去做的。那么到行業(yè)里面更是這樣的,一些通用算法在行業(yè)里面,在金融的環(huán)境對人臉的比對可能還是OK的。但是在安防的場景下,在城市的攝像頭的場景下,基本上是不行的,因為攝像頭也不是正臉,這有很多的問題需要去解決。像我們剛才提供了一些解決方案,不僅僅是從人臉的角度,還有從人體的角度去做。所以說,技術本身是不是一定那么好呢?其實也是值得考慮的。
第三點,有沒有好的商業(yè)應用,有沒有真正深入行業(yè)產生價值,那么這一點也是非常關鍵的。因為這一部分做不到的話,那么它就不能長久。所以我覺得還是應該認真地考慮一下,創(chuàng)業(yè)也好,創(chuàng)新也好,基礎是不是穩(wěn)固的?比如說剛才我講到的我的觀點的五個要素是不是都具備了,缺什么,需不需要補,或者我們的優(yōu)勢在哪里?如果我們的優(yōu)勢只在算法上,那么可能還有一點危險,如果我們還有成功的商業(yè)模式,有源源不斷的商業(yè)應用商業(yè)價值的產生,那可能就會比較安全一點。
從視覺的角度來講我覺得還有很多問題去解決,深度學習本身算法的研究還是有很大空間的,這并不是所有的問題都做得很好了。模型這些年也不斷在演化,訓練的策略都在不斷進步。
還有一個就是人工智能的平臺,我覺得也是值得思考的一個方向。就像過去電腦是單機的操作系統(tǒng),像Windows,那么在Windows這個平臺,產生了大量的程序。對于手機也一樣,在安卓、在蘋果的iOS上也產生大量的應用,那么云計算也一樣,它也是在云計算的平臺上逐漸在形成大量的應用。所以AI是不是也會這樣?是不是要有一個這樣的平臺,使得大家去做AI應用的開發(fā)和研究變得更加容易,就像過去寫一個程序一樣那么好做,我覺得這可能也是很關鍵的。
從應用的角度來講,我覺得計算的效率可能也是非常重要的,尤其是大規(guī)模的視覺計算,人工智能的話,如果需要大量的數(shù)據(jù),計算量非常大,這個事情你要讓他發(fā)生的話,必須是在資源消耗可控的情況下才能完成。如果發(fā)現(xiàn)完成這件事情都要破產的話,就沒有辦法繼續(xù)做下去了,這里面涉及到系統(tǒng)架構的效率包括算法本身的效率等等之類的各種優(yōu)化,這個也是很重要的系統(tǒng)問題。
AI的人才現(xiàn)在也是蠻多的,當然AI人才的需求量也是非常得大,所以AI的同學這時候找工作是一個旺季。當然這個時候我覺得AI的同學們,也是除了關注技術以外,還要專注應用,只有技術還沒有個很好的應用場景的話,那么是不能長久的,不能夠在現(xiàn)實當中產生真正的價值。
更多雷鋒網(wǎng)相關文章:
Facebook將反饋融入AI系統(tǒng),視覺障礙者現(xiàn)在也能“讀懂”照片啦
深度學習之四大經典CNN技術淺析 | 雷鋒網(wǎng)硬創(chuàng)公開課
雷峰網(wǎng)版權文章,未經授權禁止轉載。詳情見轉載須知。