前言:
上一篇從社會的角度聊了聊我對計算機視覺未來走向的看法,提出的主要觀點是未來計算機視覺需要擴充應用領域,研發新産品,去更好地為社會服務。具體而言,它可以與機器人、嵌入式裝置和移動端結合,是以需要做到模型小型化、專一化和輕量化。
如何看待計算機視覺未來的走向
在這篇,接着這個觀點從産品的角度聊一聊我對計算機視覺未來走向的看法。
目前計算機視覺的主要應用場合有:人臉識别、無人駕駛、安防監控等少數領域,而大家幾乎一緻認為,影響其落地應用的主要因素有資料量和計算算力。
目前,我們是如何解決這兩個問題的?
對于資料量太少,在大資料集上預訓練,再到小資料集上fine-tuning;使用遷移學習;使用資料增強;使用小樣本學習等。
對于資料分布不均衡,使用重采樣;使用重權重;使用遷移學習等。
對于标注資料太少或标注成本太高,使用現有的SOTA去做推理,生成标注,再人工調整校正;使用無監督;使用半監督等。
對于計算算力不足,設計輕量化模型;知識蒸餾;模型壓縮;模型量化等;
然而,影響計算機視覺落地應用的為何會是資料量和計算算力?上面這些方法為什麼沒有很好地解決這兩個問題?是這些方法目前尚未解決好但繼續下去的話日後可以解決,還是說這些方法隻能治标不能治本呢?
從技術的角度來看待計算機視覺的落地應用,大資料和計算算力确實是關鍵因素。但在上篇中我們提到,一味地追求技術并不是一個明智的做法,因為技術不是最終目的,産品才是。是以,我們可以從産品的角度來分析分析計算機視覺的落地應用。
在上篇中也提到了計算機視覺在未來可以與機器人、移動端和嵌入式裝置端結合,而它們之間的結合會出現很多新産品,這些産品之間是有差別的。第一,它們的應用場景不同;第二,它們的算法不同;第三,它們的硬體不同;第四,它們實作的功能不同。
我始終認為,算法總是要與硬體結合,也必須與應用場景聯系,它無法超然物外。
從具體産品這個角度來看,我們不能再片面地說,影響計算機視覺落地應用的是大資料和計算算力。因為大資料和大算力這兩個問題對于很多場景來說,也許根本就沒必要。
在一些特定的場合,始終在固定的場景下的監控或機器人,執行重複的、固定的任務,不存在意外的東西進入攝像頭範圍。在這樣的應用場景中,我們不再需要大資料去保證它的泛化能力,我們可以放心地過拟合,同時,我們可以針對這個特定的場景,為它增加很多特定的先驗知識,進而達到遠勝于目前SOTA模型的性能。
在一些雲計算的邊緣裝置中,例如移動端,或某些嵌入式裝置,随着5G的發展和建設,相信不久後可以實作在邊緣裝置傳輸原圖像或原視訊到雲伺服器檢測或識别再傳送回來,也可以先在邊緣裝置進行簡單處理,将提取的關鍵資訊傳輸到雲伺服器進行檢測識别。在具備這樣條件的裝置和應用場景中,大算力也不再是硬性條件。
在2019年有一條重磅新聞,“意法半導體推出STM32神經網絡開發工具箱,将AI技術引入邊緣和節點嵌入式裝置。AI技術使用經過訓練的人工神經網絡對運動和振動傳感器、環境傳感器、麥克風和圖像傳感器的資料信号進行分類,比傳統的手工信号處理方法更加快速、高效。”這似乎跟視覺沒什麼關系,對于視覺研究員來說,可能也沒感覺到這有什麼。但對于熟悉STM32的我來說,當時看到這個新聞是非常驚歎的。

以前stm32頂多用來做一些機器人、小車的運動控制以及一些傳感器的控制使用,使用OV7725等攝像頭完成循迹,顔色檢測等任務,此外用stm32制作的openMV也可以完成識别二維碼、人臉識别等任務。現在,它實作對神經網絡的支援,那它離一些簡單的計算機視覺任務還遠嗎?
最近很有感觸的體會就是,我們過于強調使用視覺解決某些問題,實際上在很多場合下,還有很多的條件可以利用。
前面提到的先驗知識是一方面,另一方面是各種各樣的傳感器。例如,結構光相機,它不僅能擷取RGB資訊,還擷取到了深度資訊。一些特定的場景下的一些傳感器是否也能與神經網絡結合呢?我相信這完全是可以的,由于傳感器的抗幹擾性很強,在很多影響視覺識别的情況下,傳感器的存在會極大提升模型的魯棒性,甚至于說這樣的結合會使得神經網絡在隻需要少量資料的情況下,就可以實作很高的準确率。
此外,可以根據視覺任務來設計相應的硬體,而不是将視覺模型部署到已有的硬體上。這樣的硬體會很輕松地解決視覺上拼死拼活都很難優化的問題。例如可以根據視覺的檢測結果來控制攝像頭的旋轉,避免需要多攝像頭去做行人重識别。例如高清相機,直接就讓很多場景下的圖像超分辨率的工作變得毫無意義。
目前很多的研究都是基于目前的硬體水準來進行的,當日後硬體性能提升,也許完全不需要模型壓縮或者模型輕量化就可以直接在硬體上部署,現在的很多工作又将變得毫無價值。
是以,從與配套硬體結合這個角度來看,當看到stm32支援神經網絡,我感到非常驚歎,因為,這條路線也許在不久的将來就可以得到實踐,并很好地能解決計算算力和大資料的問題。當然,這隻是我自己的一個設想,并不表示它真的可行。
有一句很有意思的話是:“打敗百年尼康的,不一定是佳能,也可能是2000萬柔光自拍,打敗康師傅的不一定是統一,也可能是美團,餓了嗎”。計算機視覺的未來,非得是深度學習嗎?當硬體水準不斷提升,未來會不會出現一條新的路線,直接對深度學習實行了降維打擊,我們現在考慮的大算力和大資料的問題在那條路線裡也許壓根不存在。
計算機視覺目前最缺的是産品,導緻現在的飽和也是因為沒什麼産品,當計算機視覺在各個場景下落地應用,若前面的一些設想能實作,我們需要針對每一個特定的場景設計專一的、輕量化的、小型的模型,到那時,計算機視覺将又會出現供不應求的情況。
以往我們總是帶着需求去研發技術,很奇怪的是,到了計算機視覺這個領域,大家都在帶着技術去找應用場景。然後我們就發現了,深度學習這個技術需要大資料和計算算力,結果符合大算力和大資料的場景沒幾個,然後就沒人做産品了?
最後,引用毛爺爺打遼沈戰役的一段話:“好吧,不太好勉強他們,同意他們先解決大算力和大資料好了,回電要講清楚,隻能說在目前情況下,先研究解決大算力和大資料的方法比較有利,不要過分強調研發新産品、跟硬體結合的困難,這也不行,那也不行,沒有那麼一回事。”
本文來源于公衆号CV技術指南的行業系列,更多内容請掃描文末二維碼關注公衆号。
最近把公衆号(CV技術指南)所有的技術總結打包成了一個pdf,在公衆号中回複關鍵字“技術總結”可擷取。