當前位置:
首頁 > 知識 > 針對計算機視覺一些問題的分析

針對計算機視覺一些問題的分析

本文為AI研習社編譯的技術博客,原標題 An analysis on computer vision problems,作者為 Shravan Murali 。翻譯 | 狒狒 黃偉聰 Lamaric 校對 | Lamaric 整理 | MY

至少在過去十年間,解決計算機視覺領域內各種問題的技術已經有了很大的進步,其中一些值得注意的問題有圖像分類、對象檢測、圖像分割、圖像生成、圖像字幕生成等。在這篇博客文章中,我將簡要地解釋其中的一些問題,並嘗試從人類如何解讀圖像的角度比較這些技術。我還將把這篇文章引導到 AGI(人工智慧)領域並加入我的一些想法。


動機

在我們深入研究之前,讓我們從一些公司如何創造性地使用計算機視覺技術的例子中獲得一些動力。據我所知,其中一個最酷的初創公司是 clarifai.com(http://clarifai.com/)。Clarifai 由 Matthew Zeiler (http://www.matthewzeiler.com/)創立,他的團隊在 2013 年贏得了 imageNet 挑戰(http://www.image-net.org/challenges/LSVRC/)。他的模型將圖像分類中的錯誤率比前一年的最佳精度降低了近 4%。Clarifai 基本上是一個為視覺識別任務提供 API 的 AI 公司,如圖像和視頻標籤。Clarifai 在這裡有一個示例。該公司非常有前途,它的圖像和視頻識別技術非常準確。現在讓我們轉到 Facebook 的自動圖像標記。下次登錄你自己的 Facebook 帳戶時,右鍵單擊任何圖像,然後單擊審查元素(這是用於 chrome;其他瀏覽器上有相同的內容)。查看 img 標記中的 alt 屬性(應該看起來像這樣:)。您會發現 alt 屬性的文本前綴為「Image 可能包含:......」。這項技術現在也很精確。這項技術可以識別人、文本、山脈、天空、樹木、植物、戶外和自然等等。另一個很酷的技術是 Google 的技術。轉到 photos.google.com 並在搜索欄中輸入內容。假設您輸入的是「山脈」,那麼您將準確地將得到所有照片內容都包含山脈的搜索結果,谷歌搜圖也是如此。關於圖像搜索的最核心部分是,反過來也有效,即,您可以上傳圖像並獲得圖像的最佳描述,並獲得與上載圖像類似的圖像。這項技術也很有意義。

好的,我希望你現在已經有了足夠的興趣與動力。但肯定有很多其他類似但是我不曾介紹的技術,事實上僅僅一篇博文不足以讓我闡述所有。現在讓我們來看看一些計算機視覺領域的問題吧!


計算機視覺

圖像分類

圖像分類基本上僅涉及基於圖像的內容標記圖像。通常會有一組固定的標籤,您的模型必須預測最適合圖像的標籤。這個問題對於機器來說肯定很難,因為它看到的只是圖像數據中的一連串數字。

上圖來自 Google 圖片

並且,世界各地通常會舉辦許多圖像分類競賽。Kaggle 是一個去找到這種比賽的一個非常好的平台。其中最著名的競賽之一是 ImageNet 挑戰賽。ImageNet 根本上說是一個龐大的圖像資料庫(在撰寫本文時大約有 1400 萬個圖像),包含 20000 多個圖像標籤。它由斯坦福大學的計算機視覺實驗室維護。ImageNet 挑戰或者說大規模視覺識別挑戰(LSVRC)是一年一度的競賽,它有各種子類挑戰,例如對象分類,對象檢測和對象定位。在 LSVRC 中,特別是對象分類挑戰,從 2012 年開始獲得了很多關注,當時 Alex Krizhevsky 使用了著名的 AlexNet,通過它使得圖像的錯誤率降低到 15.7% 而搶盡風頭(當時從未實現過)。而且,看看最新的結果,微軟的 ResNet 實現了 3.57% 的錯誤率,谷歌的 Inception-v3 則達到了 3.46% 錯誤率,而 Inception-v4 已經在此方面走得更遠了。

該圖像來自 Alfredo Canziani,Adam Paszke 和 Eugenio Culurciello 在 2017 年撰寫的論文

對象檢測

圖像中的對象檢測涉及識別各種子圖像並在每個識別的子圖像周圍繪製邊界框。以下是一個例子:

上圖來自 Google 圖片

與圖像分類相比,這個解決起來要稍微複雜一些。在這裡你必須更多地處理圖像坐標。目前最著名的檢測方法叫做 Faster-RCNN。RCNN 是區域卷積神經網路(Region Convolutional Neural Network)。它使用一種名為候選區域網路(Region Proposal Network)的技術,該技術負責從根本上對圖像中需要分類和處理的區域進行局部化。這個 RCNN 模型後來被調整並且效率更高了,現在稱為 Faster-RCNN。卷積神經網路通常用作候選區域方法的一部分來生成區域。最近的圖像網路挑戰(LSVRC 2017)有一個對象探測的挑戰,並由一個名為 BDAT 的隊包攬前三,該隊成員來自南京信息科技大學和倫敦帝國理工學院。

圖像分割

圖像分割涉及基於現有對象對圖像進行分割,具有精確的邊界。

圖像分割有兩種類型,語義分割和實例分割。在語義分割中,您必須通過類對象標記每個像素。基本上,在這種情況下,屬於同一類(比如每隻貓)的每個對象都將被著色。而在實例分割中,每個對象的分類都不同。這意味著圖片中的每隻貓都會有不同的顏色。

以深藍色著色的汽車為例的語義分割:

這是實例分割的典型例子:

上圖來自 Google 圖片

由上同樣可以看出,語義分割是實例分割的子集。因此,接下來我們將著手怎樣解決實例分割。

解決此問題的最新已知技術名為 Mask R-CNN,總的來說它是基於我們之前看到的 R-CNN 技術里的幾個卷積層。微軟、Facebook 和 Mighty Ai 聯合放出了這個名為COCO(http://cocodataset.org/)的數據集。它類似於 ImageNet,但主要用於分割和檢測。

圖像描述

這是最酷炫的計算機視覺課題之一,它要結合一點點自然語言處理知識。它包含生成最適合你圖像的描述。

上圖來自 Google 圖片

圖像描述根本上是圖像檢測+描述。圖像檢測是通過我們之前看到的相同 的 Faster R-CNN 方法完成的。描述使用 RNN(遞歸神經網路)完成。更確切地說,使用的是 RNN 的高級版本,LSTM(長短期記憶網路)。這些 RNN 網路與我們的常規深度神經網路非常相似,只是這些 RNN 取決於之前的網路狀態。你可以把它想像成一個神經網路,神經元隨著時間和空間構建。在結構上,RNN 看起來像這樣:

通常,這些 RNN 用於數據與時間相關性較大的問題。例如,如果您想預測句子中的下一個單詞,那麼新單詞取決於前一個時間步驟中顯示的所有單詞。現在讓我們更深入一點,著眼於人類的視覺理解。


為什麼人類更善於視覺理解?

在深入了解壯麗的人類大腦的細節之前,我想先討論這些深度神經網路的缺點。

雖然深度神經網路似乎很精彩和神奇,但遺憾的是它們很容易被愚弄。看看這個 :

上圖來自 Andrej Karpathy 的博客

如圖所示,每張圖像都是用一個噪點圖像處理之後的,它在視覺上根本不會改變原始圖像,但卻被錯誤分類為鴕鳥!

此類攻擊稱為深度神經網路上的對抗攻擊。他們最初由 Szegedy 等人在 2013 年提出。然後由 Goodfellow 等人在 2014 年進一步發展。在此基礎上我們發現,可以通過優化圖像中的像素強度來找到最小雜訊信號,以優先考慮深度神經網路中的不同類而不是當前的類。這促成了生成模型的發展。目前有 3 種眾所周知的生成模型,即 Pixel RNN / Pixel CNN,變分自動編碼器和生成性對抗網路。


人類的視覺理解

儘管我們在開發與計算機視覺相關的炫酷技術方面已經取得了長足的進步,但從長遠來看,人類在圖像理解方面比其他任何技術都要好得多。這是因為,機器是非常狹隘的,它們只是通過瀏覽固定類別的圖像來學習東西。雖然他們可能從大量的圖像中學習(通常大約有一百萬數量級的圖像網路挑戰),但它並不像人類可以做的那樣接近。我想主要歸結於這樣人的大腦,正是對人的大腦新皮層。大腦皮層是大腦的一部分,負責模式識別,認知和其他更高階的功能,如感知。我們的大腦設計錯綜複雜,它可以幫助我們記住內容,而不必像硬碟那樣直接將所需數據轉儲到內存中。大腦相當存儲我們見證的東西的模式,並在必要時隨後檢索它們。

此外,與機器不同,人類在生命的每個階段都會不斷收集數據(例如,通過視覺收集圖像)。我們來舉個例子吧。我們大多數人幾乎每天都會看到狗。這也意味著我們會看到不同姿勢和不同角度的狗。因此,給定一個有狗的圖像,我們很有可能在圖片中識別出一隻狗。但這對於機器來說並非如此。機器可能僅針對一定數量的狗圖像進行訓練,因此可能很容易被愚弄。如果您以略微不同的姿勢訓練同一隻狗的圖像,它可能會被錯誤分類。


AI 真的可以與「人腦」競爭嗎?

嗯,這在過去是一個非常有爭議的話題。讓我們一起來分析吧!

在 Jeff Dean 的一次演講中,他提到了自 2011 年以來大部分已發布的神經網路構成深度神經網路的參數數量。如果你注意到,對於人類來說,他提到了「100 兆」。雖然他似乎已經考慮過一些類似笑話的東西,但考慮到人類大腦可以處理的複雜事物的數量,這似乎是相當真實的。假設我們的大腦是那麼複雜,那麼設計一個有這麼多參數的系統是否實用?

是的,人工智慧領域近期有一些重大突破,例如 AlphaGo 在圍棋對弈中擊敗世界冠軍,OpenAI 的 Dota2 機器人在 Dota2 遊戲中擊敗遊戲專家等等。然而,從某種意義上說,這些東西看起來非常狹小,Dota2 機器人特定使用於 Dota2,而不是其他任何東西。相反,人類的大腦非常通用。我們幾乎所有的日常活動都會使用到大腦。由此我想說的是,為了與哺乳動物的大腦之間競爭,我們需要一個通用的人工智慧!


一些隨意的想法

我想說使用強化學習(RL)(特別是深度強化學習:DRL)讓我們更接近解決一般情況。在 RL 中,agent 通過試探行為對環境的影響來發現採取行動的最佳方式。這似乎也類似於人類學習東西的方式。人類通過了解他們的行為是否正確來學習做事。以同樣的方式,在強化學習中,agent 執行隨機動作,並且每個動作都具有相關的獎勵。agent 從獎勵中獲知它為動作獲得的動作,即 agent 以這樣的方式選擇動作,使得它獲得的總未來獎勵最大化。

這是一個活躍的研究領域,涉及像 DeepMind 和 OpenAI 這樣的巨頭。事實上,DeepMind 的座右銘是「解決通用人工智慧」!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

計算機視覺領域的王者與榮耀
當AI 開始學習藝術創作,我們應該覺得擔心嗎?

TAG:AI研習社 |