nba2k23-竞彩篮球分析推荐今日-今天足球比赛结果查询表-吉米巴特勒|www.yunnancai.com

視覺配件(光源)
您當前位置:產品中心 >> 視覺配件(光源) >> 瀏覽產品
    如何搞定機器視覺
詳細介紹

      在與大家交流的過程中,發現了一個問題,一直想說出來。可是通常實話都不會那么順耳,所以總有些猶豫。可后再一想,既然大家來此的目的不過是為了討論問題、互通有無,那么說了也應無妨。這個問題就是:我發現國內80%搞這行(機器視覺)的朋友所走的路子是錯的。


  這個感覺是從論壇上大家所問的問題得出來的。因為。在論壇中看到不少朋友所問的問題,是相當可笑的。說可笑并非指所提問題過于簡單幼稚,而是所問的問題一看就是從書本上抄來的,而不是在實際情況下所遇到的。換句話說,論壇中的朋友大多只是在紙上談兵,極少有人真正自已動手開發視覺系統。這樣說是因為自己搞開發的人絕對問不出某些奇怪問題來的。往深了說一點,好象國內的朋友們只喜歡啃書本,并不愿意(也可能是懶得)動手。

  

  現在就回到本文的題目上來:到底如何學習機器視覺?為了說明這個問題,我覺得應該先要簡單地說明另一個問題:國內外機器視覺發展的不同。我本人認為,只有先搞清了兩邊的不一樣,才便于說清如何下手學習。國外機器視覺發展到今天,已經從“一包到底”式的工作程序,發展到了細致分工的階段了。由于篇幅問題。就不細講這一行當如何從“一包到底”發展到細致分工過程。

  一句話,國外機器視覺發展到今天,已經可以清清楚楚分為三個部分:

   1,底層開發部分。

   2,二次開發部分。    

   3,最終使用部分。


于是在國外,從事這一行業的人現在也就可以簡單而清楚地分成三種人:

   1,底層開發的人(從事底層開發工作的人)。  

   2,二次開發的人(從事二次開工作的人)。

   3,使用及操作機器視覺系統的人(從事最終使用工作的人)。


第一類人。就是我們常說的,開發通用視覺系統(如:DVT,西門子,歐姆龍,EVISION,COGNEX等等)的開發人員,也就是DVT,COGNEX這些公司開發部的技術職工。


第二類。就是大家所說的OEM用戶。是專門用第一類人所開發出的系統,給第三類人搞二次開發,開發各種專為第三類人所用的系統。第三類人,就是用戶(end user)。這類人是真正將機器視覺系統應用到各個領域中的人,他們不僅在各自的行業中使用種種已經開發成型的機器視覺系統。而且負責對各類系統進行測試及評估。


舉個實際例子,這里有不少朋友問過這類問題:如何檢測某一工件;檢測光盤表面的系統該如何配置CCD相機、鏡頭及燈源等。問這些問題的朋友應該算是第三類人。他們公司要他們尋找一個系統可以用來檢測本公司的產品。但由于第一類人所開發的,只是通用的系統以及視覺系統開發工具的軟件包。并沒有哪家公司專門開發一套系統來檢測光盤或是某種特定的工件。所以,這些朋友就應該來找我,因為我是第二類人。


  我的工作就是,專門用DVT,EVISION,COGNEX等的視覺卡,以及視覺系統開發工具軟件包為他們專門開發一套他們所需要的光盤檢測系統或是工件檢測系統。 但是,我在這里所看到奇怪的現象卻是,這些第三類的朋友一直問的,都是第二類人所問的問題。如:問應該用哪家公司的開發軟件;用什么樣的CCD;如何標定等等。我真的不知道如何回答你:你明明是第三類人,要找第二類人幫忙。現在卻以第二類人的身份甚至是以第一類人的身份問問題。繞了老大一圈,其實要說的問題就是一個----我所發現的問題:這里80%以上朋友把自己的身分混淆了,越俎代庖。


  或許有的朋友會這樣說:我雖然是第三類人,但我對機器視覺有興趣,想自己學習啊!。這就是我想討論的:到底如何學習機器視覺?我個人認為,應該先確定自己的身份,從自己具體的需要入手來學習。舉個例子:大家一定都有學習英文的經驗,而且也一定都有同樣的感覺----怎么學也學不好----我就是這樣。我們拋開所謂的語言天分不說,大家學不好的原因其實很簡單:沒有語言環境。一語中的啊!學而不用,怎么也不會學好。


  同樣,學習機器視覺,無論你在書本上看了多少理論,你自己若沒有實際動手操作、編程的經驗也是枉然。還不如從你每天能接觸得到的東西開始學習。教游泳的教材隨手可得,但為什么并非人人都下得了水呢?!不客氣的說,目前國內搞這行的朋友似乎都有些好高騖遠。不少從事第二部分工作朋友(搞二次開發的第二類人)對于機器視覺有關知識的了解,尚不如國外第三類人的知識水平(我是從大家所問的問題感覺到的)。而國內第三類朋友知識水平就更可想而知。


  可是奇怪的是,每個人所問的卻都是第二類人要問的,有些甚至是一類人才會問的問題。好象,機器視覺是個十分簡單的技術,憑大家隨便問幾個“關鍵性”的問題,再由所謂的“專家”三言兩語的回答一下。大家就一夜之間都可以自己搞底層開發,成第一類人了。


  要成為第一類人,又分硬件及軟件兩種。要對自己所負責的這個模塊非常了解,搞軟件要知道算法及運行速度;搞硬件要明白公司所選用芯片的特點等等。同時還要清楚對手公司的優缺點以及機器視覺這一行的種種動態和最新技術。


  想成為第二類人,你一定要是個通才。就是說什么都要知道一點。不僅要了解第三類人的要求,而且也要知道各種第一類人(不同品牌的視覺卡及軟件包)的水平。


  要成為第三類人,不僅要有機器視覺基本的相關知識。而且,要對自己所工作的行業及領域的機器視覺系統非常熟悉。專作你這行的機器視覺公司有哪幾家?各有什么優缺點等等。總結一下。這三種人相比,第一類人一定要專業,對機器視覺的某一領域非常非常了解;第二類人雖比不上第一類人那么專業,但更加全面;第三類人更熟悉各個應用系統開發公司(第二類人)的優缺點。


  現在大家可以看得出,機器視覺發展到今天,其分工已經越來越細,每個部分的工作其實是很難相互取代的。大家不要以為第三類人就比第一類人低一等,這是一個錯誤的等級概念。我本人過去曾屬于第一類人,現在作的是第二類工作。而我的幾個“師弟師妹”(當初曾一起作第一類人時的同事)現在就在干第三類工作。大家別小看第三類工作,以為這是小兒科,你能真作好這一行也不是很容易。畢竟這也是一門行當也是一個飯碗!另外,以我個人來看:以國內現在機器視覺的水平,對于那些想作第一類人的朋友我在這里勸一句:還是算了吧。


  國內的機器視覺水平打根子上就差,您還打算搞底層?算法本身都是抄人家的,就只能和對手拼程序的寫法了。不過我覺得那更沒戲。這樣說我絕沒有看不起初學者的意思。我說過:所問的問題再簡單,我都不會笑話你。對于每樣事物我們都是從無知開始的。但是,對于那些極不實際的好高騖遠的問題,我還是要說,希望大家踏實下來,戒浮躁,從最基本地學起----先確定自己的身份。



掃一掃

返回頂部