計算機視覺之我見,碧空的cv之旅開篇

最近忙裡偷閒,剛好有機會整理關於計算機視覺的一些理解。作為一個老兵,又作為一個時刻保持hungry的新人,將自己對cv的很多思考總結一下,僅以拋磚。可能有偏,管中窺豹而已。

大致分成以下幾個部分吧:

A. 技術

B. 產品

C. 行業

先談談技術,也或許是因為技術是技術人最容易表達清楚的領域吧。最近越來越清晰的感覺到計算機視覺的問題和機器學習的問題更為接近了(排除掉圖像預處理等諸多操作),基本上概括起來就3條:1. 描述(特徵),或者用英文叫representation;2. 問題的刻畫和理解,在這裡我沒有單一的使用loss function來表述這個問題,問題的刻畫和理解應該有更廣闊的含義,比如檢索問題(當然檢索實際上也可以通過loss function來描述);3. 演算法、模型、求解:當有了『物』的描述,以及對於問題的刻畫,我們需要找到對應的模型來進行求解。上面3條在計算機視覺領域同樣適用。

a1. 可以說計算機視覺中有超過60%的工作我們都是在尋找對於圖片的一個描述;這個描述可以是0-255的像素值,可以是顏色直方圖的分布,可以是我們能夠想到的通過各種運算元計算到的圖像上的局部的,全局的,梯度的,空域的,頻域的,各種平滑、銳化、normalization之後的數值表達,也或者是通過類似bow方式獲得的圖像的統計表達(用block的相似性來表示圖片),也或者是計算圖像特徵點之後的特徵計算或者統計(用點的相似性來表示圖片),也或者是通過深度學習學習到的某些卷積核作用於圖片之後的表達。這些表達我們可能能夠描述物理含義,也可能只有統計意義上的物理含義;但有一個趨勢:就是這些表達越來越從圖像的底層往語意層發生轉移,其實追求就只有一個,那就是語意層級的相似性和區分度;無論是光照,大小,角度,雜訊,模糊等等可能引起的描述的差異,那麼我們終極的追求實際上是語意級的相似性。【在某一個場景下,化成灰我也能認識你】

a2. 問題的刻畫和理解。描述這個問題之前我們先來看看目前cv領域最重要也最為基礎的task:目標的檢測、跟蹤、識別,圖像的檢索,人臉的識別和驗證,image caption,image generation,超解像,視覺slam(vo計算)等等,而這些任務本質上都可以概括成幾個基本的問題:分類、回歸、排序ranking、關聯correlation;其實這幾個基本的問題放到任何以機器學習為背景的數據科學裡面同樣適用。搜索引擎是典型的ranking問題,CTR預估是回歸問題和ranking問題的結合,topic model是分類問題,人物畫像是分類問題(估計把聚類問題歸結到分類當中,不一定嚴謹,見諒),推薦是ranking為主,社交網路則是典型的correlation問題等等。目標檢測是典型的分類問題,目前也開始演變成回歸問題;物體識別、人臉識別是分類問題;跟蹤也是典型的分類+回歸的問題;圖像檢索是ranking問題;image caption是關聯問題;image generation是回歸問題,視覺slam中最核心的部分特徵點的匹配是ranking問題。

a3. 演算法、模型、求解:機器學習中一切能夠用來求解分類、回歸、排序、關聯等問題的演算法都能夠使用,相應的技巧都能夠使用,相應的優化方法都能夠使用。

總結起來,我們已經有意或無意的在使用更為general的機器學習的方法來處理cv的問題,或者說是用更general的機器學習的觀點來刻畫和理解cv的應用。

產品,其實是我最不想去聊的一個話題。cv的產品層出不窮。監控行業中有大量對cv的需求,工業檢測中也對cv的精度有很高的要求,人臉識別、物體識別等都是需求,image caption,拍立淘,百度明星臉,相冊分類,手勢識別、自然圖片中的文字識別、手寫識別等。總結起來我們實際上是在把任何需要【人的眼睛+人的記憶能力+人腦的想像力】的任何場景變成cv的場景。能變出什麼樣的花樣呢?視力更好(能夠識別比人眼更多的細節),記憶力更好(能夠存儲、檢索比人腦更大的庫),想像力更好(比如風格畫的生成)。說幾個我自己認為能夠提升行業效率並真正產生行業價值的產品。

b1. 替代人的智能監控設備,不管智能監控目前是不是效果還不理想,從產品角度他是在替代人工提升行業效率;

b2. 基於視覺的ADAS設備,解放人的部分注意力;

b3. 類似face++等演算法的服務,實際上是在通過計算換時間,也是在提升效率;

b4. 醫療圖像分析,人臉驗證(打卡、解鎖),證件識別也實際上是通過密集計算來減少人工成本;

b5. 亞馬遜未來超市中通過視覺拿到你所購買的商品信息,並通過人臉等技術完成支付;實際上依然是在通過技術來節省人力成本以及提升行業效率;包括格林深瞳早期希望通過shopping mall的視覺信息進行商業分析都是這個路子。

任何一個以cv為中心的產品,最終能夠得以生存下來的原因除了博人眼球之外一定是因為他要麼提升了行業效率(時間、人力、計算資源),要麼改變了用戶體驗。

行業。輕易不敢談行業的問題,既沒有那個高度,也沒有那個能力。一點愚見僅供參考。從入行cv有那麼一段時間開始,就在思考cv本身只是一個工具嗎?這個工具有可能成為某一個行業不可獲取的技術嗎?還真有那麼幾個領域cv不可或缺:

c1. 監控,產品的那一part已經說過,如果智能監控的演算法能夠好的落地,那cv在這中間一定是提升行業效率的;

c2. 雲+端 一體化的cv能力的構建:無論是交通還是醫療領域,雲端一體化的cv能力會是未來一個比較長時間的主題;

c3. 很多領域都對cv這個工具有需求,希望藉此來完成之前不能完成的任務或者是提升效率;

cv本身有可能能夠成為一個行業嗎?比如人們對於信息的需求誕生了百度,人們對於商品的需求誕生了阿里,人們對於社交的需求誕生了騰訊,人們對於行、食的需求誕生了滴滴、新美大;那人們對於視覺能力的需求能夠誕生什麼呢?

從馬斯洛需求層級來講,人對於視覺能力的需求應該是和人對於出行的需求處於同一級?人對於更powerful的視覺能力的需求到底是什麼呢?

見微知著?抑或博古通今?

那如果不僅僅是人,如果我們把cv也看成是一個to B的生意,那麼B對於更powerful的cv能力的需求是什麼呢?

留下這些問題,筆者也會多思考,也希望能夠和讀者多交流。

寫到這裡,依舊發現技術的那一part是最易書寫的。以此為開篇,開啟碧空的cv之旅。謝謝~


推薦閱讀:

聽說你剛中了NIPS?恭喜(研究德撲、老鼠鬍鬚等AI的都入圍了)
一文了解各種卷積結構原理及優劣
MATLAB神經網路(二):BP非線性建模
【神經網路】激活函數面面觀

TAG:计算机视觉 | 神经网络 | 深度学习DeepLearning |