计算机视觉有哪些商业用途
點擊上方“小白學視覺”,選擇加"星標"或“置頂”
重磅干貨,第一時間送達
01.計算機視覺概論
什么是計算機視覺?為什么值得我們花時間去了解?它是怎么工作的?什么樣的應用程序有商業價值?今天我們就一起來看看這個問題吧。
什么是計算機視覺?
計算機視覺指使用計算機自動執行人類視覺系統可以完成的任務。與人眼從外部環境接收光刺激類似,計算機使用數碼相機接受這一信息,輸入信息在大腦中進行處理,計算機則是使用某一種算法來處理獲得的圖像。
人眼與計算機的眼睛
目前的技術已經解決了獲取圖像不準確的問題,而且在過去的十年中也已經解決了數字圖像中的標注工作。在2012年版的ILSVRC(ImageNet大型視覺識別挑戰賽)中,來自世界各地的挑戰研究小組在1000對象類在其ImageNet數據集中的超過一萬張圖片進行分類,深度學習在圖像分類中也首次獲得了第一名。
AlexNet [2]深度學習方法(第一作者Alex Krizhevsky)由多倫多大學SuperVision團隊提出。他們利用了卷積神經網絡(CNN)架構獲得亞軍!相比之下,Andrej Karpathy訓練的圖像分類器,獲得了5.1%的錯誤率。2014年的最佳方法GoogLeNet [3],而且Karpathy本人指如果不好好訓練的話圖像分類器表現要差得多。顯然,并非所有人都對大型模式識別有耐心和訓練:
這是否意味著計算機現在能夠像人類一樣“看見”?答案當然不是。2015年,研究人員發現,許多先進的計算機視覺模型都容易受到惡意設計的高頻模式的攻擊,這些模式被稱為“對抗性攻擊”[4],從而誘騙模型修改其預測而我們卻發現不了。
向“熊貓”添加高頻“線蟲”噪聲會誘使網絡預測“長臂猿”
這是另一個對抗性攻擊如何欺騙計算機視覺算法的幽默示例。麻省理工學院的研究人員開發了一種特殊的圖案,將它們放在專門設計的玩具烏龜上,以欺騙網絡以預測“步槍”。
為什么要研究機器視覺?
除了對抗性攻擊之外,還有高度專業化的研究人員,為什么我們還要關心計算機視覺?與Andrej Karpathy原因相同-大規模視覺識別需要大量的訓練和時間。最終,仍然會有人為錯誤。根據Karpathy在ILSVRC中與計算方法競爭的單一經驗,他已經放棄了以下想法:
l將任務外包給多個人以賺錢(例如,將其外包給Amazon Mechanical Turk上的付費本科生或付費貼標商)
l將任務外包給無薪的學術研究人員
最后,Karpathy決定獨自執行所有任務,以減少標簽不一致問題。Karpathy說,他花了大約1分鐘的時間才能在較小的測試集中識別出1,500張圖像中的每張圖像。相比之下,現代的卷積神經網絡可以使用不錯的GPU在不到一秒鐘的時間內識別圖像中的對象。如果我們必須識別100,000張圖像的完整測試集呢?盡管開發計算機視覺處理系統需要開發時間和專業知識,但是計算機可以比人類更一致地執行視覺識別,并且在需要時可以更好地擴展。
計算機視覺如何實現?
對于計算機,圖像是像素強度的2D陣列。如果圖像是黑白圖像,則每個像素有一個通道。如果圖像是彩色的,則每個像素通常有三個通道。如果圖像來自視頻,則還存在時間分量。由于陣列很容易在數學上進行操作(參見線性代數),因此我們可以開發定量的方法來檢測圖像中存在的內容。
手動調整方法
例如,假設我們希望計算機檢測圖像中的手寫數字是0還是1。我們知道0的曲線比1的曲線更彎曲,因此我們獲取圖像數組并通過筆劃擬合一條線。然后,我們找到這些線的曲率,并將其通過閾值,以確定它是0還是1。
我有一個理論……0代表曲線,1代表直線
這被稱為“手動調整方法”,因為它要求操作人員開發基于規則的理論,該理論關于如何檢測計算機可以理解的給定模式。這可能是執行計算機視覺的最明顯方式。但是,盡管它可以解決一些簡單的問題,例如識別簡單的數字和字母,但是一旦為它提供了具有光照變化,背景,遮擋和視點變化的更復雜的圖像,它就會迅速瓦解。
機器學習方法
這就是“機器學習方法”的用武之地。簡單來說,機器學習是在一組標記的訓練數據上開發算法,然后(希望)在部署過程中在預留的測試集上表現良好。通常,要學習的數據越復雜,模型也就越需要復雜。
例如,假設您要檢測圖像中是否包含狗或貓。在訓練時,您會獲得大量標有狗或貓的圖像集合。您采用一種算法并對它進行訓練,直到它可以很好地識別出大多數訓練圖像為止。要檢查它在看不見的圖像上是否仍能正常工作,請為其提供新的貓狗圖像,并驗證其性能。
近年來,機器學習的“繁榮”實際上是所謂的“深度學習”模型的繁榮。這些模型使用可學習權重的層來提取特征并進行分類,而先前的模型使用手動調整的特征和淺可學習的權重來對其進行分類。如前所述,計算機視覺中最基本的模型之一就是“卷積神經網絡”(簡稱CNN或ConvNet)。這些模型通過使用3D權重和下采樣對卷積進行反復卷積(將其視為2D乘法)從圖像中提取特征。然后,將要素轉換為一維矢量,然后與標量權重相乘以生成輸出分類。
02.計算機視覺的主要任務
由于人類視覺系統可以同時執行許多不同的任務,而計算機視覺應該可以復制它,因此有很多方法可以將其分解為離散的任務。通常,計算機視覺要解決的核心任務如下(以難度遞增的順序):
1.圖像分類:給定具有單個對象的圖像,預測存在的對象(對于按對象,標簽或其他屬性標記,搜索或索引圖像很有用)
2.圖像本地化:給定具有單個對象的圖像,預測存在的對象并在其周圍繪制一個邊框(用于定位或跟蹤對象的外觀或運動)
3.對象檢測:給定包含多個對象的圖像,預測兩個對象均存在,并在每個對象實例周圍繪制一個邊界框(用于定位或跟蹤多個對象的外觀或運動)
4.語義分割(圖中未顯示):給定具有多個對象的圖像,預測存在的兩個對象并預測屬于每個對象類別(例如貓類別)的像素(用于分析多個對象類別的形狀)
5.實例分割:給定包含多個對象的圖像,預測存在的兩個對象,并預測哪些像素屬于對象類的每個實例(例如Cat#1與Cat#2)(可用于分析多個對象實例的形狀)
可用的數據集和模型
正如ILSVRC提供已經注釋的數據(ImageNet)來客觀比較不同研究人員的算法一樣,競爭研究人員又發布了他們的模型來支持其主張并促進進一步的研究。這種開放式協作的文化意味著許多最新的數據集和模型可供公眾公開使用,并且頂級模型可以容易地應用,甚至不需要重新培訓。
當然,如果“ tape_player”和“ grey_whale”(也許是“ machine_1”或“ door_7”)未涵蓋需要識別的對象,則有必要收集自定義數據和注釋。但是在大多數情況下,可以使用新數據簡單地對最新模型進行重新訓練,并且仍然可以保持良好的性能。
圖像分類(單個標簽)
?ImageNet(例如tape_player,grey_whale)
FixEfficientNet-L2(2020),top-1精度= 88.5%
對象本地化(多個邊界框)
數據集:?KITTI汽車(例如汽車邊界框,方向)
Frustum PointNets(2017),AP = 84.00%
語義細分(多個類別細分)
數據集:PASCAL上下文(例如草,表)
ResNeSt-269(2020),mIoU = 58.9%
實例細分(多個實例細分)
數據集:CityScape(例如道路,人)
EfficientPS(2019),AP = 39.1%
03.可能的商業用途
現在,我們已經了解了什么是計算機視覺,它為何有用以及如何執行,對于企業來說有哪些潛在應用程序?與文本或數據庫記錄不同,圖像通常不被公司很好地分類和存儲。但是,我們認為,某些專業領域的公司將有數據和動力,可以從使用計算機視覺從其存儲的圖像數據中提取額外的價值中受益。
產業
第一個領域是制造業,資源開采和建筑業。這些公司通常會大量生產產品,開采資源或建造土建工程,并且許多監視或預測分析是手動完成的或使用簡單的分析技術完成的。但是,我們認為計算機視覺對于自動化以下任務會很有用:
缺陷檢測,質量控制:通過學習正常產品的外觀,計算機視覺系統可以在機器操作員檢測到可能的缺陷時對其進行標記(例如,來自AiBuild的Ai Maker)
預測性維護:通過了解給定機械在其使用壽命即將結束時的外觀,計算機視覺系統可以實時監視機械,量化其狀態(例如強度為90%)并預測何時需要維護
遠程測量:通過學習在感興趣的對象(例如,材料中的裂縫)周圍畫一個邊界框,計算機視覺系統可以確定該對象的實際大小
機器人技術:通過學習識別其視野中的物體,嵌入機器人內部的計算機視覺系統可以學習操縱物體(例如在工廠中)或導航其環境
醫療類
醫學領域是可以從計算機視覺中受益的類似領域,因為許多工作集中在監視和測量人類患者的身體狀況(而不是機械或制成品)上。
醫學診斷輔助工具:通過學習醫生感興趣的診斷組織的外觀,計算機視覺系統可以建議相關區域并加快診斷速度(例如,使用HistoSegNet從病理切片中分割組織學類型)
遠程測量:同樣,通過學習在感興趣的對象(例如病變)周圍繪制邊界框,計算機視覺系統可以確定該對象的實際大小,以監視患者隨時間的進展(例如,Swift Skin和Wound (來自Swift Medical)
文件和多媒體
文檔和多媒體是另一個可以從計算機視覺中受益的領域,因為大多數公司以掃描的文檔,圖像和視頻的形式保存大量的非結構化(和無注釋)信息。盡管大多數公司傾向于不標記這些圖像,但有些公司可能具有可以被利用的有用標簽(例如,在線零售商店的產品信息)。
光學字符識別(OCR):可以識別并提取掃描文檔的文本以進行進一步處理
圖像搜索引擎:圖像可用于搜索其他圖像(例如,用于在線零售網站,搜索與最近購買的產品類似的視覺相似產品或造型相似產品)
視覺問題解答(VQA):用戶可以向計算機視覺系統詢問有關圖像中描繪的場景的問題,并接收人為語言的響應-這對于視頻字幕很重要。
視頻摘要:計算機視覺系統可以總結視頻中的事件并返回簡明摘要-這對于自動生成視頻描述非常重要
零售和監視
零售(我們之前已經提到過)和監控是可以從計算機視覺中受益的其他領域。他們依靠實時監控人類行為者及其行為來優化所需的結果(例如購買行為,非法行為)。如果可以從視覺上觀察到該行為,則計算機視覺可以是一個很好的解決方案。
人類活動識別:可以訓練計算機視覺系統來識別視頻饋送中人類當前的活動(例如,步行,坐著),這對于量化人群中坐著的人數或識別人群流量瓶頸很有用
人體姿勢估計:還可以訓練計算機視覺系統來定位人體關節的位置和方向,這對于虛擬現實交互,手勢控制或出于醫療或體育目的分析人的動作非常有用
室內視覺本地化:計算機視覺系統可用于將室內環境的當前實時圖像或視頻饋送與已知快照的數據庫進行匹配,并在該室內環境中定位當前用戶的位置(例如,用戶在室內拍照)大學校園,并有一個應用顯示他們所在的位置)
衛星影像
衛星圖像是我們可以看到計算機視覺有用的最后領域,因為它經常被用于通過專家繁瑣的手動注釋來監視土地使用和環境隨時間的變化。如果訓練有素,計算機視覺系統可以加快對衛星圖像的實時分析,并評估哪些地區受到自然災害或人類活動的影響。
船舶/野生生物跟蹤:通過衛星圖像或港口或野生動植物保護區,計算機視覺系統可以快速計數和定位船舶和野生生物,而無需繁瑣的人工注釋和跟蹤
作物/牲畜監測:計算機視覺系統還可以監測農業用地狀況(例如,通過定位患病或低產地區),以優化農藥使用和灌溉的分配
大家會看到,計算機視覺為企業帶來了許多應用程序。但是,企業應該首先考慮以下幾點:
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.
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據研究方向邀請進入相關微信群。請勿在群內發送廣告,否則會請出群,謝謝理解~
總結
以上是生活随笔為你收集整理的计算机视觉有哪些商业用途的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 流媒体-RTMP协议-librtmp库学
- 下一篇: 论文管理软件 Zotero 备忘