機器視覺中有哪些主要的問題和發展瓶頸存在?

之前了解到其中景深不足夠是一個問題,是不是還有更重要的問題和發展瓶頸呢?希望大家討論。


大概是從09年或者10年開始,隨著普通用工成本提高、蘋果產品的大賣以及帶來的硬體成本的降低,機器視覺似乎從應用層面上得到了大的發展。在這一片「繁榮」的景象背後其實還有很多被忽略或者忽視的問題:

1.人才的稀缺。

目前真正意義上的從業人員缺少科班出身,缺少對圖像處理的底層理論認知和理解。機器視覺中圖像處理是極為重要的一環,而目前大多數從業人員是本科或者大專畢業,或者是電氣工程師新入行,基本都比較缺乏圖像處理的基本理論,很多理論還停留在對「視覺嘛,就是對比嘛」「視覺嘛,就是二值化」等認知上。

待遇。雖然相對於普通的自動化從業者而言,機器視覺工程師待遇還是不錯的,但是卻難以吸引到碩士或者博士進行過專門圖像處理學術訓練的人加入,因為隨便加入那個互聯網大公司做圖像相關工作,待遇都能把自動化從業的工程師甩出幾條大街。

另外,機器視覺更多的應用是屬於自動化設備這一塊。而自動化屬於比較交叉的學科,涉及到機器視覺,需要了解的東西包括、電氣、運動控制、機械、光學、軟體編程等。這些學科了解一些基本的東西不難,但是研究的比較透徹並能高效率的綜合運用就比較難了。

2.圖像處理的不確定性

在我的理解機器視覺僅僅算是計算機視覺的一個微小分支,所以機器視覺主要還是指工業方面的應用。目前的工業應用主要需求有:測量、外觀檢測、條碼、字元識別、定位。而這幾個方面機器視覺還沒有一個能真正意義上實現批量化檢測的同時保證極高的準確率,極小的誤檢率和杜絕漏檢。這個目標不能實現,降低了機器視覺的應用預期。因為機器視覺設備不能完全解決,還是需要人複查,除非客戶的標準沒有那麼高。

另外,幾個應用類型目前存在的問題:
(1)測量。目前無法給出一個明確的測量的精度要求或者指標。比如測量尺寸,使用千分尺、遊標卡尺可以給出標準的測量精度是0.001mm或者0.01mm,但是視覺呢?只能給到有參考意義的0.01mm/pixl。多了個/pixl,就多了很大的差別,因為不同的外部光照環境、產品輪廓或者邊界、不同的軟體演算法結果都可能帶來重複測量結果的差異。另外,隨著產品尺寸的擴大,均勻光照、鏡頭畸變、單位像素尺寸大小都大大降低了精度範圍。
(2)外觀檢測。外觀檢測目前是最迫切的需求,也是最難實現並推廣的應用領域。因為產品的外觀缺陷是千差萬別,受到影響的可能性非常大。比如弧面、劃痕的深淺和方向、材料的反光、不同材質表面對不同光的反射不同等等。總而言之就是是受到千差萬別的缺陷類型和無法控制的約束條件限制。因為上了視覺系統,很少人期望只檢測某一種類型。
(3)條碼。目前條碼使用標準條碼槍還是最多的。
(4)字元識別。標準印刷體還比較好實現,如果是一些金屬蝕刻、雕刻等字體的識別比較難。
(5)定位應用的還算是不錯,比較穩定可靠。

本身應用特點和技術瓶頸限制了行業發展。

3.行業的發展態勢的限制。

一直感覺中國人最擅長的是把一個朝陽產業做成夕陽產業。

有人感覺視覺行業賺錢了,都一窩蜂往裡面頭,表面上降低了行業的應用成本,但是剛進來的人忽略了行業裡面不確定性帶來的技術支持或者服務的人力成本,導致行業的逐漸出現一些惡性競爭或者通過低成本進行競爭。對客戶而言,覺得成本降低是好事,但是最終結果卻可能導致項目識別。(視覺行業項目開發可能調試周期較長,項目失敗影響沒有連續失敗那麼震撼的感覺,同時一年失敗一兩個項目在一些人眼裡也是能接受的。)一些系統集成商或者代理商的急功近利以及一些客戶的短視的小算盤使行業偏離了良性發展的方向。最終由價格戰帶來了大家都玩不轉。類似可以參考光伏產業的發展態勢。

4.軟硬體技術。
不談自主知識產權。國內硬體核心部件(相機和鏡頭)和軟體演算法包還是老外的產品領先,國內也出現了一些替代產品,從性能上和老外PK還有很大的差距。

-----------------------------------------------------好的方面----------------------------------------------
1.人才。
從業人員增加了,技術普及帶來的人員技術層次也得到了提高。
2.目前主要針對一些特定的能批量檢測和視覺定位的項目,技術還是比較可靠的。
3.進入的企業多了,也許是一次重新洗牌的過程,優勝劣汰,關鍵是大家能堅持得下去。
4.國內一些企業的自主產品還是有了不小的份額,處於發展的態勢。
----------------------------------------------------------------------------------------------------------------
一口氣寫完,純自己的理解和分析,純手打,應該不需要再做補充了吧。


機器視覺可以看作是與人工智慧和模式識別密切相關的一個子學科或子領域。從我個人的研究經驗看,限制機器視覺發展的瓶頸是多方面的,其中最重要的可以歸結為三個方面:計算能力不足、認知理論未明以及精確識別與模糊特徵之間的自相矛盾。

1.機器視覺面向的研究對象主要是圖像和視頻,其特點是數據量龐大、冗餘信息多、特徵空間維度高,同時考慮到真正的機器視覺面對的對象和問題的多樣性,單一的簡單特徵提取演算法(如顏色、空間朝向與頻率、邊界形狀等等)難以滿足演算法對普適性的要求,因此在設計普適性的特徵提取演算法時對計算能力和存儲速度的要求是十分巨大的,這就造成了開發成本的大幅度提高。

2. 如何讓機器認知這個世界?這一問題目前沒有成熟的答案,早期的人工智慧理論發展經歷了符號主義學派、行為主義學派、連接主義學派等一系列的發展但都沒有找到令人滿意的答案,目前較新的思想認為應該從分析、了解和模擬人類大腦的信息處理功能去構建智能機器視覺系統,但神經科學的發展目前只能做到了解和模擬大腦的一個局部,而不是整體(當然計算能力限制也是原因之一)。事實上,我們對人是如何對一個目標或場景進行認知的這一問題仍停留在定性描述而非定量描述上。

3. 機器視覺系統經常被人詬病的問題之一就是準確性。以十年前如火如荼的人臉識別演算法為例,儘管一系列看似優秀的演算法不斷問世,但目前為止在非指定大規模樣本庫下進行人臉識別的準確率仍然無法滿足實際應用的需求,因此無法取代指紋或虹膜等近距接觸式生物特徵識別方法。這一問題的出現並非偶然。因為目標越精細,越複雜,信息越大,則其模糊性和不確定性也越強。人類之所以能夠較好的對人臉進行識別,其實也是以犧牲一定的準確性為代價的。而機器視覺在做的事情一方面想要借鑒人腦或人眼系統的靈感去處理複雜而龐大的信息流,另一方面又想摒除人腦在模式識別方面存在的精確性不足的缺陷。這顯然是一種一廂情願的做法。

綜合以上三點,機器視覺的發展在短期內難有重大突破,當前的實用技術仍然還是會集中在特定性任務或特定性目標的識別演算法的開發上。


圖像識別領域,接觸只有兩年吧大概。
為什麼不能把機器的識別能力提升的和人一樣?說穿了,不知道人是怎麼識別的,嚴謹點來說,對人的識別過程了解的不夠深入。心理學方面在此有不少研究,不過都沒能說的很清楚,要想讓機器有和人差不多的識別能力,不知道還得走多久。
還是具體點吧,現在的「不變數」不夠不變,姿態變了,光照變了,遮擋了,旋轉了,仿射了,機器的表述都容易改變,這樣的特例往往就成了識別中錯誤的那一部分,這時候就會想,為什麼人還能識別呢?就繞回上面的「人怎麼識別」的問題了。。。

一些題外話:
有時候會覺得這個領域有點浮躁,今天大家都說Deep Learning好就都去學,明天又有一個CNN表現出色又都用這個隨便改改,放到其他需求上(甚至創造需求)來發文章,也不管他們的理論自己是否真的認可。
上面有提到客戶需求的,這個沒辦法,才發展到這一步,現在就需求「代替人工」,「提高速度」,根本不可能,這需求已經違背了當前學科發展的水平了。強行要求只會變成你忽悠我我忽悠你的事情。
研究的學生有時會遇到尷尬的問題:想找一個有趣的,新的,就業前景好的領域來做研究-選擇了機器視覺-但是主要是博士來是做純粹的學術研究-博士都希望按期畢業-博士急著發文章-發文章最容易的路就是上面說的誰的東西好就拿來改進改進看看能不能發。所以這樣下來並沒有多少能推動機器視覺發展的貢獻,碩士就更不用說了,還沒弄明白就快畢業了,為了找工作方便還要盡量多做項目。
中國人確實喜歡把朝陽行業搞成夕陽行業,機器視覺這幾年熱了以後,還有好多註冊水會你給錢我就發的。


看了幾位同行的點評,忍不住想說幾句。我一直從事視覺測量研究,隨著了解越來越多,困惑也就越大,那就拋幾塊磚:
(1)機器視覺測量的可靠性。相比與其他測量手段,視覺的最大優點就是可以快速獲得三維信息,一張或幾張照片就可以重建出被測物體的三維特徵,進而實現測量。但正如大家所說,只要測量條件、環境、被測物表面特性等改變,有時甚至時稍加改變,結果則大不一樣,測量重複性和精度更無從談起。這也是目前機器視覺測量尺寸、位姿等參數時比較突出的問題,特別是在一些強光干擾、溫度場變化、光照條件變化的應用場合這個問題尤為突出。因此,視覺測量的環境適應性問題解決難度很大,無法找到普適性的方法,只能針對具體問題,研究相應光照、特徵提取、匹配、重建、標定等具體方法。
(2)測量精度問題。精度是測量系統的重要指標。視覺測量精度依賴於相機解析度、視場大小、圖像處理演算法等等。CCD和CMOS的製造工藝已取得長足進步,目前6000*4000pixel的解析度已經成為穩定商品。而採用壓電驅動晶元做微米級移動進行像素細分的方法和設備已經商品化,號稱解析度可近20000*14000pixel。在軟體方面,各類演算法層出不窮,但具有普適性的演算法幾乎沒有,這個在CV領域也是如此。因此,提高視覺測量的普適性、並確保精度,目前似乎是個不可能完成的任務。
綜上,視覺測量要去的大的突破確實很難,感覺必須和應用光學、視覺認知、CV、人工智慧等相關學科進行深度交叉,也許可以撥開雲霧現南山。不知所云,歡迎批判。


閑聊一些~~
1、不要奢想機器視覺能夠搞定所有檢測應用。只在某些方面能夠代替人工做重複勞動並提高檢測效率及精度。
2、如果必須考慮使用機器視覺,很多場合需要調整現有操作方式、環境,原則就是採取一切手段盡量保證機器視覺採集到的圖像穩定、簡單、對比度好,如果做不到這一點,則要考慮放棄機器視覺檢測手段。不要天馬行空地炫耀多麼多麼複雜的視覺演算法,這不是科研,這是實際應用。否則投入和產出不成正比,甚至沒有產出!


從屬性上講,視覺是所有感覺中最為直觀地反映事物特性的官能。而事物的特性所包含的方面就足夠多了:面積,長度,數量,顏色,光照,紋理,運動,靜止,分割,趨勢等等。所以這也就決定了機器視覺所要關注的方向和領域是全方面的。

所以,從底層來講,機器視覺第一個問題或者說要有所突破的首先要關注【底層視覺與感知】。也就是東西的外在。這其中複雜的數據量,冗餘的各類信息,都需要儘可能多的捕捉到。所以高性能的CCD或者CMOS感光元件還需要有進一步發展,相對來說更精確的檢測元件也是十分必要的,要保證能夠獲得高精確度和高對比度的圖像和底層視覺感知數據。畢竟只有底層完整的採樣才能有後一步的識別檢測和建模。硬體的精度始終是機器視覺領域的敲門磚

第二個重要方面是在完整的底層採樣之後,【基於圖像的物理建模】,和數學建模不同的是,基於圖像的物理建模涉及到立體視覺與運動結構的重構,這裡面不僅僅是構建一個普適性演算法的問題,可能還需要立體結構學,神經生物學,心理物理學,數據統計學科等多學科的交叉。比如蘋果iPhone5S當下最熱的指紋識別,也是首先由元件採集指紋信息,然後構建物理模型。而其中神經生物學知識必不可少。往更廣層面上講,醫療圖像分析、智能交通的空間動態管理、大型構件的光電檢測等等,凡是基於圖像的機器視覺問題,都需要建立相關的物理模型,此間千變萬化的庫變化需要有更高效、更普適性的演算法與數據結構的支撐。軟體的高效與普適決定機器視覺的廣度

第三個問題是【精確識別與模糊特徵】的智能取捨。理論上有高精度的硬體與高效的演算法,機器視覺相對來說就能到達一個很高的適用度。但是機器與人類的差異在於智能的判斷,也就是在精確識別與模糊特徵之間進行智能取捨。舉一個簡單的例子,如果以人眼視覺識別,20歲的熟人與21歲的同一熟人的差異不足以讓你將他拒之門外。因為你智能地摒棄了兩者之間的模糊差異。而如果這扇門是一個機器視覺識別系統的話,複雜而龐大的信息流在精確識別與計算的前提下足以分辨20歲的你與21歲的你的差異,而這點差異可能會拒熟人於門外。這也是機器始終只是機器的原因。精確識別與模糊特徵的取捨反映機器視覺是否智能

的確,最後一個問題也是人工智慧領域長期的困擾,經歷了符號主義學派、行為主義學派、連接主義學派等一系列的發展但都沒有找到令人滿意的答案。如陳東嶽老師所說,目前較新的思想認為應該從分析、了解和模擬人類大腦的信息處理功能去構建智能機器視覺系統,但神經科學的發展目前只能做到了解和模擬大腦的一個局部,所以其他學科的發展與交叉也從某種意義上決定和推動著機器視覺的發展。比如控制科學與工程領域有一個重要的方向就是生物神經網路與模糊系統。

綜合來說,機器視覺短期內還只能是特定領域的高效技術而已,雖然這一技術的想像空間巨大,但是要能「超乎技近乎道」還是有相當長的距離。

另外,12月份馬上ICCV2013就要開了,可以密切關注。


現在說到機器視覺,都是和上面排名第一的答案一樣,說技術。我接觸過不少科班出身的碩士博士以及導師,那又如何呢?他們的工作更多是在重複發明輪子。說到具體的把產品競爭力提高,懂得打光的人才少之又少,有耐心磨代碼優化的人更少。大家都把心思花在所以自主知識產權上,有什麼用呢?用國外核心做出穩定可靠的設備也是一種本領,縱觀國內,為什麼機器視覺發展遇到瓶頸,就是因為在客戶那裡過不了關。客戶的要求是要代替人工的,是要提高速度的,現在光說理論有什麼用???廣發論文有什麼用???


研究機器視覺兩年,真的是深受其害,說是能達到什麼什麼樣的效果,多麼多麼的先進,純屬天方夜譚。硬體上,想要效果好就要加大成本,應用一些高端的計算機;想拿DSP來做創新,就得犧牲效果,完事還要吹噓自己的東西多先進,噁心!軟體上,演算法好的能沒有時間限制嘛,想要實時性就不能用複雜演算法。優化演算法?再優化時間在哪放著呢,除非能把自適應優化成雙峰法!個人觀點,吐槽一下!


舉個栗子:我現在要識別一個隨風飄動的細線,先考慮靜止的圖片,再考慮視頻中的細線,怎麼識別?是否要考慮光源分布、是否要考慮拓撲認知、是否要考慮物體
扭轉....我是在動車上無意間看到的,也就來學習機器視覺,想看看怎麼能識別出飄動的細線。我的下一份工作是機器學習,有些基礎,但是人的認知問題涉及到太多的科學難題,我依然想利用業餘時間,去把細線給找出來,純屬愛好,也降低了難度,當然需要查閱資料,但是我想試試。


我們行業需要機器識別 迫切

希望早日有成熟的方案


雖然說用機器視覺可以替代人工進行檢測,但最大的問題還是系統的穩定性,視覺檢測方面受到環境等客觀因素影響,實際應用中往往會達不到理論上的效果,一些產品有較多的缺陷種類的難以一次進行全檢。由於視覺檢測為非標準產品,幾乎每台設備都需要根據企業的需求定製,所以最近幾年視覺檢測的公司都是創業型的中小企業。大企業都在集中在機器視覺相機和鏡頭等硬體方面,而且大部分的相機鏡頭都是國外企業,當然最近這幾年也有些國內企業發展較好。我們公司是一家視覺檢測方面的小公司,卷材、片材在線檢測,我們的微信公眾號「新機器視覺」,主要是機器視覺與計算機視覺方面的內容。


海量圖像的採集存儲、嵌入式處理等都基本解決了,但是後續的圖像處理我覺得是最大瓶頸


視覺行業學是有很多坑的,在視覺待了這麼久,非標定製化的案例往往更多,小企業又捨不得成本,那問題就是一直拖著,在他們眼裡覺得人眼能識別的,機器視覺都要識別,其實這是不可能的,眾多定製化的視覺案例,導致了沒有巨頭的誕生, 小公司依然有存活的餘地,上市公司大華,海康從安防領域開始涉足機器視覺領域,到時候又會掀起國內品牌在硬體上的一種風波啊.


推薦閱讀:

在攝影鏡頭中,相同參數不同品牌和型號對畫面到底有什麼區別?
如何看懂一個鏡頭的光學結構(有有限的光學基礎)?
如何看待DXO評測佳能35L2得分低於適馬35art?
旅遊帶兩三隻鏡頭來回換是怎樣的體驗?
鏡片上有劃痕,為什麼戴上去不覺得?

TAG:科技 | 鏡頭 | 計算機視覺 | 機器視覺 |