計算機視覺有哪些商業用途

 

01.計算機視覺概論算法

什麼是計算機視覺?爲何值得咱們花時間去了解?它是怎麼工做的?什麼樣的應用程序有商業價值?今天咱們就一塊兒來看看這個問題吧。數據庫

什麼是計算機視覺?數組

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

計算機視覺指使用計算機自動執行人類視覺系統能夠完成的任務。與人眼從外部環境接收光刺激相似,計算機使用數碼相機接受這一信息,輸入信息在大腦中進行處理,計算機則是使用某一種算法來處理得到的圖像。網絡

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

人眼與計算機的眼睛架構

目前的技術已經解決了獲取圖像不許確的問題,並且在過去的十年中也已經解決了數字圖像中的標註工做。在2012年版的ILSVRC(ImageNet大型視覺識別挑戰賽)中,來自世界各地的挑戰研究小組在1000對象類在其ImageNet數據集中的超過一萬張圖片進行分類,深度學習在圖像分類中也首次得到了第一名。機器學習

AlexNet [2]深度學習方法(第一做者Alex Krizhevsky)由多倫多大學SuperVision團隊提出。他們利用了卷積神經網絡(CNN)架構得到亞軍!相比之下,Andrej Karpathy訓練的圖像分類器,得到了5.1%的錯誤率。2014年的最佳方法GoogLeNet [3],並且Karpathy本人指若是很差好訓練的話圖像分類器表現要差得多。顯然,並不是全部人都對大型模式識別有耐心和訓練:ide

這是否意味着計算機如今可以像人類同樣「看見」?答案固然不是。2015年,研究人員發現,許多先進的計算機視覺模型都容易受到惡意設計的高頻模式的***,這些模式被稱爲「對抗性***」[4],從而誘騙模型修改其預測而咱們卻發現不了。工具

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

向「熊貓」添加高頻「線蟲」噪聲會誘使網絡預測「長臂猿」性能

這是另外一個對抗性***如何欺騙計算機視覺算法的幽默示例。麻省理工學院的研究人員開發了一種特殊的圖案,將它們放在專門設計的玩具烏龜上,以欺騙網絡以預測「步槍」。學習

爲何要研究機器視覺?

除了對抗性***以外,還有高度專業化的研究人員,爲何咱們還要關心計算機視覺?與Andrej Karpathy緣由相同-大規模視覺識別須要大量的訓練和時間。最終,仍然會有人爲錯誤。根據Karpathy在ILSVRC中與計算方法競爭的單一經驗,他已經放棄瞭如下想法:

l將任務外包給多我的以賺錢(例如,將其外包給Amazon Mechanical Turk上的付費本科生或付費貼標商)

l將任務外包給無薪的學術研究人員

最後,Karpathy決定獨自執行全部任務,以減小標籤不一致問題。Karpathy說,他花了大約1分鐘的時間才能在較小的測試集中識別出1,500張圖像中的每張圖像。相比之下,現代的卷積神經網絡可使用不錯的GPU在不到一秒鐘的時間內識別圖像中的對象。若是咱們必須識別100,000張圖像的完整測試集呢?儘管開發計算機視覺處理系統須要開發時間和專業知識,可是計算機能夠比人類更一致地執行視覺識別,而且在須要時能夠更好地擴展。

計算機視覺如何實現?

對於計算機,圖像是像素強度的2D陣列。若是圖像是黑白圖像,則每一個像素有一個通道。若是圖像是彩色的,則每一個像素一般有三個通道。若是圖像來自視頻,則還存在時間份量。因爲陣列很容易在數學上進行操做(參見線性代數),所以咱們能夠開發定量的方法來檢測圖像中存在的內容。

手動調整方法

例如,假設咱們但願計算機檢測圖像中的手寫數字是0仍是1。咱們知道0的曲線比1的曲線更彎曲,所以咱們獲取圖像數組並經過筆劃擬合一條線。而後,咱們找到這些線的曲率,並將其經過閾值,以肯定它是0仍是1。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

我有一個理論……0表明曲線,1表明直線

這被稱爲「手動調整方法」,由於它要求操做人員開發基於規則的理論,該理論關於如何檢測計算機能夠理解的給定模式。這多是執行計算機視覺的最明顯方式。可是,儘管它能夠解決一些簡單的問題,例如識別簡單的數字和字母,可是一旦爲它提供了具備光照變化,背景,遮擋和視點變化的更復雜的圖像,它就會迅速瓦解。

機器學習方法

這就是「機器學習方法」的用武之地。簡單來講,機器學習是在一組標記的訓練數據上開發算法,而後(但願)在部署過程當中在預留的測試集上表現良好。一般,要學習的數據越複雜,模型也就越須要複雜。

例如,假設您要檢測圖像中是否包含狗或貓。在訓練時,您會得到大量標有狗或貓的圖像集合。您採用一種算法並對它進行訓練,直到它能夠很好地識別出大多數訓練圖像爲止。要檢查它在看不見的圖像上是否仍能正常工做,請爲其提供新的貓狗圖像,並驗證其性能。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

近年來,機器學習的「繁榮」其實是所謂的「深度學習」模型的繁榮。這些模型使用可學習權重的層來提取特徵並進行分類,而先前的模型使用手動調整的特徵和淺可學習的權重來對其進行分類。如前所述,計算機視覺中最基本的模型之一就是「卷積神經網絡」(簡稱CNN或ConvNet)。這些模型經過使用3D權重和下采樣對卷積進行反覆卷積(將其視爲2D乘法)從圖像中提取特徵。而後,將要素轉換爲一維矢量,而後與標量權重相乘以生成輸出分類。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

02.計算機視覺的主要任務

因爲人類視覺系統能夠同時執行許多不一樣的任務,而計算機視覺應該能夠複製它,所以有不少方法能夠將其分解爲離散的任務。一般,計算機視覺要解決的核心任務以下(以難度遞增的順序):

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

1.圖像分類:給定具備單個對象的圖像,預測存在的對象(對於按對象,標籤或其餘屬性標記,搜索或索引圖像頗有用)

2.圖像本地化:給定具備單個對象的圖像,預測存在的對象並在其周圍繪製一個邊框(用於定位或跟蹤對象的外觀或運動)

3.對象檢測:給定包含多個對象的圖像,預測兩個對象均存在,並在每一個對象實例周圍繪製一個邊界框(用於定位或跟蹤多個對象的外觀或運動)

4.語義分割(圖中未顯示):給定具備多個對象的圖像,預測存在的兩個對象並預測屬於每一個對象類別(例如貓類別)的像素(用於分析多個對象類別的形狀)

5.實例分割:給定包含多個對象的圖像,預測存在的兩個對象,並預測哪些像素屬於對象類的每一個實例(例如Cat#1與Cat#2)(可用於分析多個對象實例的形狀)

可用的數據集和模型

正如ILSVRC提供已經註釋的數據(ImageNet)來客觀比較不一樣研究人員的算法同樣,競爭研究人員又發佈了他們的模型來支持其主張並促進進一步的研究。這種開放式協做的文化意味着許多最新的數據集和模型可供公衆公開使用,而且頂級模型能夠容易地應用,甚至不須要從新培訓。

固然,若是「 tape_player」和「 grey_whale」(也許是「 machine_1」或「 door_7」)未涵蓋須要識別的對象,則有必要收集自定義數據和註釋。可是在大多數狀況下,可使用新數據簡單地對最新模型進行從新訓練,而且仍然能夠保持良好的性能。

圖像分類(單個標籤)

 ImageNet(例如tape_player,grey_whale) watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=FixEfficientNet-L2(2020),top-1精度= 88.5%

對象本地化(多個邊界框)

數據集: KITTI汽車(例如汽車邊界框,方向)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Frustum PointNets(2017),AP = 84.00%

語義細分(多個類別細分)

數據集:PASCAL上下文(例如草,表) watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=ResNeSt-269(2020),mIoU = 58.9%

實例細分(多個實例細分)

數據集:CityScape(例如道路,人) watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=EfficientPS(2019),AP = 39.1%

03.可能的商業用途

如今,咱們已經瞭解了什麼是計算機視覺,它爲什麼有用以及如何執行,對於企業來講有哪些潛在應用程序?與文本或數據庫記錄不一樣,圖像一般不被公司很好地分類和存儲。可是,咱們認爲,某些專業領域的公司將有數據和動力,能夠從使用計算機視覺從其存儲的圖像數據中提取額外的價值中受益。

產業

第一個領域是製造業,資源開採和建築業。這些公司一般會大量生產產品,開採資源或建造土建工程,而且許多監視或預測分析是手動完成的或使用簡單的分析技術完成的。可是,咱們認爲計算機視覺對於自動化如下任務會頗有用:

缺陷檢測,質量控制:經過學習正常產品的外觀,計算機視覺系統能夠在機器操做員檢測到可能的缺陷時對其進行標記(例如,來自AiBuild的Ai Maker)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

預測性維護:經過了解給定機械在其使用壽命即將結束時的外觀,計算機視覺系統能夠實時監視機械,量化其狀態(例如強度爲90%)並預測什麼時候須要維護

遠程測量:經過學習在感興趣的對象(例如,材料中的裂縫)周圍畫一個邊界框,計算機視覺系統能夠肯定該對象的實際大小

機器人技術:經過學習識別其視野中的物體,嵌入機器人內部的計算機視覺系統能夠學習操縱物體(例如在工廠中)或導航其環境

醫療類

醫學領域是能夠從計算機視覺中受益的相似領域,由於許多工做集中在監視和測量人類患者的身體情況(而不是機械或製成品)上。

醫學診斷輔助工具:經過學習醫生感興趣的診斷組織的外觀,計算機視覺系統能夠建議相關區域並加快診斷速度(例如,使用HistoSegNet從病理切片中分割組織學類型)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

遠程測量:一樣,經過學習在感興趣的對象(例如病變)周圍繪製邊界框,計算機視覺系統能夠肯定該對象的實際大小,以監視患者隨時間的進展(例如,Swift Skin和Wound (來自Swift Medical)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

文件和多媒體

文檔和多媒體是另外一個能夠從計算機視覺中受益的領域,由於大多數公司以掃描的文檔,圖像和視頻的形式保存大量的非結構化(和無註釋)信息。儘管大多數公司傾向於不標記這些圖像,但有些公司可能具備能夠被利用的有用標籤(例如,在線零售商店的產品信息)。

光學字符識別(OCR):能夠識別並提取掃描文檔的文本以進行進一步處理

圖像搜索引擎:圖像可用於搜索其餘圖像(例如,用於在線零售網站,搜索與最近購買的產品相似的視覺類似產品或造型類似產品)

視覺問題解答(VQA):用戶能夠向計算機視覺系統詢問有關圖像中描繪的場景的問題,並接收人爲語言的響應-這對於視頻字幕很重要。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

視頻摘要:計算機視覺系統能夠總結視頻中的事件並返回簡明摘要-這對於自動生成視頻描述很是重要

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

零售和監視

零售(咱們以前已經提到過)和監控是能夠從計算機視覺中受益的其餘領域。他們依靠實時監控人類行爲者及其行爲來優化所需的結果(例如購買行爲,非法行爲)。若是能夠從視覺上觀察到該行爲,則計算機視覺能夠是一個很好的解決方案。

人類活動識別:能夠訓練計算機視覺系統來識別視頻饋送中人類當前的活動(例如,步行,坐着),這對於量化人羣中坐着的人數或識別人羣流量瓶頸頗有用

人體姿式估計:還能夠訓練計算機視覺系統來定位人體關節的位置和方向,這對於虛擬現實交互,手勢控制或出於醫療或體育目的分析人的動做很是有用

室內視覺本地化:計算機視覺系統可用於將室內環境的當前實時圖像或視頻饋送與已知快照的數據庫進行匹配,並在該室內環境中定位當前用戶的位置(例如,用戶在室內拍照)大學校園,並有一個應用顯示他們所在的位置)

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

衛星影像

衛星圖像是咱們能夠看到計算機視覺有用的最後領域,由於它常常被用於經過專家繁瑣的手動註釋來監視土地使用和環境隨時間的變化。若是訓練有素,計算機視覺系統能夠加快對衛星圖像的實時分析,並評估哪些地區受到天然災害或人類活動的影響。

船舶/野生生物跟蹤:經過衛星圖像或港口或野生動植物保護區,計算機視覺系統能夠快速計數和定位船舶和野生生物,而無需繁瑣的人工註釋和跟蹤

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

做物/牲畜監測:計算機視覺系統還能夠監測農業用地情況(例如,經過定位患病或低產地區),以優化農藥使用和灌溉的分配

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

你們會看到,計算機視覺爲企業帶來了許多應用程序。可是,企業應該首先考慮如下幾點:

l數據:您是從第三方,供應商處獲取圖像數據仍是本身收集圖像數據?大多數數字數據不可用或未分析

l註釋:您是從第三方,供應商處獲取註釋仍是本身收集註釋?

l問題表述:您要解決什麼樣的問題?這是領域專業知識將派上用場的地方(例如,足以檢測機器什麼時候有缺陷(圖像識別),仍是咱們還須要定位缺陷區域(對象檢測)?)

l轉移學習:通過預訓練的模型是否能夠很好地完成工做(若是是,則須要較少的研發工做)?

l計算資源:您是否有足夠的計算能力用於訓練/推理(計算機視覺模型一般須要雲計算或強大的本地GPU)?

l人力資源:您是否有足夠的時間或專業知識來實施模型(計算機視覺一般須要機器學習工程師,數據科學家或具備研究生教育水平且工做時間專用於研究問題的研究科學家)?

l信任問題:最終用戶/客戶是否信任計算機視覺方法?必須創建良好的關係,並採用可解釋性的方法來確保透明度和問責制,從而促進更高的用戶接受度

參考文獻[1] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg, and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. https://arxiv.org/abs/1409.0575, 2015.[2] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. Conference on Neural Information Processing Systems (NeurIPS), 2012.[3] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going Deeper with Convolutions. https://arxiv.org/abs/1409.4842, 2014.[4] Ian J. Goodfellow, Jonathon Shlens, and Christian Szegedy. Explaining and Harnessing Adversarial Examples. https://arxiv.org/abs/1412.6572, 2015.
相關文章
相關標籤/搜索