當前位置:
首頁 > 科技 > 圖像分類、目標檢測、圖像分割、圖像生成……一文「計算機視覺」全分析

圖像分類、目標檢測、圖像分割、圖像生成……一文「計算機視覺」全分析

GIF/1.7M

原文來源:Deep Dimension

作者:Shravan Murali

「機器人圈」編譯:嗯~阿童木呀、多啦A亮

相信大家都有所了解,迄今為止,在至少約十年的時間裡,用於解決計算機視覺領域問題的技術已經有了很大的改進。那對於計算機視覺領域存在的問題有哪些呢?一些顯著的問題是:圖像分類、目標檢測、圖像分割、圖像生成、圖像說明等。在本文中,將對這些問題進行簡要介紹,並且嘗試從人類是如何解讀圖像的角度去比較和對比一下這些技術。同時,在本文中還將涉及一些關於AGI(通用人工智慧)的相關知識,並就此提出一些個人觀點和想法。

目的

在深入了解之前,我們可以先從一些公司是如何創造性地使用計算機視覺的獲得動力的。從我的角度來說,最酷的初創企業之一是clarifai.com。Clarifai是由Matthew Zeiler(馬修?澤勒)創立的,他和他的團隊在2013年期間連續贏得了imageNet的挑戰賽的勝利。他的模型在上一年的最佳準確度的基礎上將圖像分類的錯誤率降低了近4%。Clarifai基本上是一家人工智慧公司,為視覺識別任務(如圖像和視頻標籤)提供API。Clarifai在這裡有演示。這家公司是非常有前途的,它的圖像和視頻識別技術是非常準確的。現在我們來看看Facebook的自動圖像標記,下次你登錄Facebook帳戶時,右鍵點擊任何圖片,然後點擊「檢查元素」(這是針對Chrome瀏覽器而言的;在其他瀏覽器上也會有相同的東西)。查看img標籤中的alt屬性(應該看起來像這樣)。你會發現alt屬性有這樣的文本前綴「Image may contain : …..」。這項技術也是非常準確的,可以識別人、文、山、天空、樹木、植物、戶外和自然等等。而另一個很酷的技術就是Google的了。點擊photos.google.com進去之後,然後在搜索欄中輸入內容。假設你輸入了「山脈」,那麼你就可以在包含山脈的搜索結果中準確地找到所有的照片。Google圖片搜索也是如此。關於圖像搜索的最好部分,反之亦然,即你可以上傳圖像並獲得圖像的最佳描述,同時還可獲取與上傳圖像相似的圖像,這個技術也是很重要的。

我希望你現在已經擁有了足夠的動力,當然肯定還有一大堆其他技術被我忽略了。實際上是因為有很多非常相似的技術,一篇文章是很難涵蓋一切的。

那麼,我們現在就來了解一些計算機視覺的相關問題!

計算機視覺

圖像分類

圖像分類主要是基於圖像的內容對圖像進行標記,通常會有一組固定的標籤,而你的模型必須預測出最適合圖像的標籤。這個問題對於機器來說相當困難的,因為它看到的只是圖像中的一組數字流。

上圖片來自於Google Images

而且,世界各地經常會舉辦多種多樣的圖像分類比賽。在Kaggle中就可以找到很多這樣的競賽。最著名的比賽之一就是ImageNet挑戰賽。ImageNet實際上是一個很神奇的圖像庫(截止到編輯本文時,其中就約有1400萬張圖像),擁有超過20000個圖像標籤。這是由斯坦福大學計算機視覺實驗室維護的。ImageNet挑戰或大規模視覺識別挑戰(LSVRC)都是一個年度競賽,其中具有諸如目標分類,目標檢測和目標定位等各種子挑戰。LSVRC,特別是目標分類的挑戰,自從2012年,Alex Krizhevsky實施了著名的AlexNet,將圖像的錯誤率降低到15.7%(在當時從未實現),便開始獲得了很多關注。而最新的結果顯示,微軟ResNet的錯誤率為3.57%,Google的Inception-v3已經達到3.46%,而Inception-v4則又向前進了一步。

來源於Alfredo Canziani,Adam Paszke和Eugenio Culurciello於2017年撰寫的文章《實際應用中深度神經網路模型的分析》(https://arxiv.org/pdf/1605.07678.pdf

目標檢測

圖像中的目標檢測涉及識別各種子圖像並且圍繞每個識別的子圖像周圍繪製一個邊界框。這裡有一個例子:

上圖片來自於Google Images

與分類相比,這個問題要稍微複雜一點,你必須對圖像進行更多的操作和處理。現在最著名檢測方法叫做Faster-RCNN。RCNN是局部卷積神經網路,它使用一種稱為候選區域生成網路(Region Proposal Network,RPN)的技術,實際上是將圖像中需要處理和分類的區域局部化。後來RCNN經過調整效率得以調高,現在稱之為faster – RCNN,一種用作候選區域生成方法的一部分用以生成局部的卷積神經網路。目前最新的image-net挑戰(LSVRC 2017)有一個目標檢測的挑戰賽的冠軍,被一個名為「BDAT」的團隊所囊括,該團隊包括來自南京信息工程大學和倫敦帝國理工學院的人員。

圖像/實例分割

圖像分割或實例分割包括對具有現有目標和精確邊界的圖像進行分割。

圖片來自於是Google Images

它使用了一種叫做Mask R-CNN的技術,實際上就是我們前面看到的R-CNN技術上的幾個卷積層。微軟、Facebook和Mighty AI聯合發布了這個稱為COCO的數據集。它與ImageNet很相似,但它主要用於分割和檢測。

圖像說明

這是我前面所說的具有一系列自然語言處理的最酷的計算機視覺問題之一。這其中包括生成一個最適合你的圖像的標題。

圖像來自於Google Images

圖像說明是基本圖像檢測+說明。圖像檢測通過我們前面看到的相同的Faster R-CNN方法完成。字幕使用RNN(循環神經網路)完成。為了更加精確,使用作為RNN的高級版本的LSTM(長短期記憶網路)。這些RNN非常類似於我們的常規深度神經網路,除了這些,RNN取決於網路的先前狀態。你可以想像它更像一個神經網路,神經元隨著時間的推移與空間建立。在結構上,RNN看起來像這樣:

通常,這些RNN用於你的數據與時間相關的問題。例如,如果你想預測一個句子中的下一個單詞,那麼新單詞取決於在之前的時間步驟中出現的所有單詞。

現在讓我們稍微切換一下主題,看看人類的視覺理解。

為什麼人類的視覺理解更好?

在深入了解人類大腦的細節之前,我想討論一下深度神經網路的缺點。

雖然深度神經網路看起來奇妙而神奇,但不幸的是它們很容易被愚弄。看看這個:

以上圖片來自Andrej Karpathy的博客

如圖所示,每張圖像強加一個噪音圖像,視覺上不會改變原始圖像,但被錯誤分類為鴕鳥!

這種攻擊被稱為深度神經網路的對抗攻擊。他們最初由Szegedy等人提出,隨後在2013年,由Goodfellow等人進一步研究。基本上發現,通過優化圖像中的像素強度,我們可以找到最小的雜訊信號,從而優先考慮一個不同類別的深度神經網路,而不是當前的、。這使得生成式模型的快速增長。目前有3種眾所周知的生成模型,即Pixel RNN / Pixel CNN,變分自動編碼器(Variational Auto-encoders)和生成對抗網路(Generative Adversarial Networks)。

人類視覺理解

雖然我們在開發與計算機視覺相關的酷炫技術方面已經取得了長足的進步,但從長遠來看,人類在圖像理解方面比任何技術都要好得多。這是因為,機器是非常狹隘的,在某種意義上說,他們只是通過學習固定的圖像類別來學習東西。雖然他們可能從大量的圖像中學習(代表性的是ImageNet挑戰賽中大約有一百萬張圖像),但它離人類所能做的還很遠。我主要把這歸因於人腦,確切地說是人腦中的新皮層(neocortex)。新皮層是大腦的一部分,負責識別模式、認知和其他高階功能,如感知。我們的大腦是如此複雜的設計,它可以幫助我們記住東西,而不是直接轉儲所需的數據到內存中,就像硬碟一樣。大腦相當於存儲我們所目擊事物的模式,並在必要的時候檢索它們。

此外,人類在生活中的每一個時刻都在不斷地收集數據(例如,通過視覺採集圖像),這與機器不同。我們來舉個例子,我們大多數人幾乎每天都能看到狗,同樣我們會看到狗的不同姿勢和不同角度。這意味著,鑒於有狗的圖像,我們很可能在圖片中識別出一隻狗。機器不是這樣。機器可能只是針對一定數量的狗的圖像進行了訓練,因此可能容易被愚弄。如果你提供同一隻狗的圖像略有不同的姿勢,那麼可能就會被錯誤分類。

AI真的可以與「人腦」抗衡嗎?

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

在Jeff Dean的演講中,他提到了自2011年以來大部分已發表的組成深度神經網路的參數數量。如果你注意到,對於人類來說,他提到了「100萬億」。雖然他似乎認為有些像一個笑話,但考慮到人腦所能處理的複雜事物的數量,這似乎是千真萬確的。假設我們的大腦是複雜的,設計一個具有這麼多參數的系統是否更為實用?

那麼在人工智慧領域有一些重大的突破,如AlphaGo在圍棋遊戲中打敗世界冠軍,OpenAI的Dota2機器人在遊戲中多次打敗職業玩家。然而,在某種意義上這些東西似乎非常適用,因為Dota2機器人是符合Dota2特性的,而不適用於其他任何東西。相反,人類的大腦是非常通用的。你會用你的大腦進行幾乎所有的日常活動。由此我想推斷的是,為了與哺乳動物的大腦競爭,我們需要通用人工智慧!

一些隨想

我會說使用強化學習(RL)(特別是深度加強學習:DRL)使我們更加靠近解決通用智能。 在RL中,智能體自己發現了採取行動的最佳方式。這似乎類似於也是人類如何學習。人類通過了解他們的行為是否正確來學習做事情。以同樣的方式,在強化學習中,智能體執行隨機動作,每個動作都具有相關的獎勵。智能體從獲得的動作中學習,即以這樣的方式選擇一個動作,使其獲得的未來全部獎勵最大化。

目前這是一個活躍的研究領域,涉及DeepMind和OpenAI等巨頭。事實上,DeepMind的主要目標是「解決通用人工智慧」!

點擊鏈接查看原文:https://medium.com/deep-dimension/an-analysis-on-computer-vision-problems-6c68d56030c3。

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

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


請您繼續閱讀更多來自 機器人圈 的精彩文章:

TensorFlow 1.3的Dataset和Estimator?谷歌大神來解答
如何更好地理解神經網路的正向傳播?我們需要從「矩陣乘法」入手
遞歸神經網路RNN怎樣加速?看PyTorch如何進行動態批處理
人工智慧在「奔跑」,助跑器「計算」怎可缺席

TAG:機器人圈 |