在與大家交流的過(guò)程中,發(fā)現(xiàn)了一個(gè)問(wèn)題,一直想說(shuō)出來(lái)??墒峭ǔ?shí)話都不會(huì)那么順耳,所以總有些猶豫??珊笤僖幌?,既然大家來(lái)此的目的不過(guò)是為了討論問(wèn)題、互通有無(wú),那么說(shuō)了也應(yīng)無(wú)妨。這個(gè)問(wèn)題就是:我發(fā)現(xiàn)國(guó)內(nèi)80%搞這行(機(jī)器視覺(jué))的朋友所走的路子是錯(cuò)的。
這個(gè)感覺(jué)是從論壇上大家所問(wèn)的問(wèn)題得出來(lái)的。因?yàn)椤T谡搲锌吹讲簧倥笥阉鶈?wèn)的問(wèn)題,是相當(dāng)可笑的。說(shuō)可笑并非指所提問(wèn)題過(guò)于簡(jiǎn)單幼稚,而是所問(wèn)的問(wèn)題一看就是從書本上抄來(lái)的,而不是在實(shí)際情況下所遇到的。換句話說(shuō),論壇中的朋友大多只是在紙上談兵,極少有人真正自已動(dòng)手開(kāi)發(fā)視覺(jué)系統(tǒng)。這樣說(shuō)是因?yàn)樽约焊汩_(kāi)發(fā)的人絕對(duì)問(wèn)不出某些奇怪問(wèn)題來(lái)的。往深了說(shuō)一點(diǎn),好象國(guó)內(nèi)的朋友們只喜歡啃書本,并不愿意(也可能是懶得)動(dòng)手。
現(xiàn)在就回到本文的題目上來(lái):到底如何學(xué)習(xí)機(jī)器視覺(jué)?為了說(shuō)明這個(gè)問(wèn)題,我覺(jué)得應(yīng)該先要簡(jiǎn)單地說(shuō)明另一個(gè)問(wèn)題:國(guó)內(nèi)外機(jī)器視覺(jué)發(fā)展的不同。我本人認(rèn)為,只有先搞清了兩邊的不一樣,才便于說(shuō)清如何下手學(xué)習(xí)。國(guó)外機(jī)器視覺(jué)發(fā)展到今天,已經(jīng)從“一包到底”式的工作程序,發(fā)展到了細(xì)致分工的階段了。由于篇幅問(wèn)題。就不細(xì)講這一行當(dāng)如何從“一包到底”發(fā)展到細(xì)致分工過(guò)程。
一句話,國(guó)外機(jī)器視覺(jué)發(fā)展到今天,已經(jīng)可以清清楚楚分為三個(gè)部分:
1,底層開(kāi)發(fā)部分。
2,二次開(kāi)發(fā)部分。
3,最終使用部分。
于是在國(guó)外,從事這一行業(yè)的人現(xiàn)在也就可以簡(jiǎn)單而清楚地分成三種人:
1,底層開(kāi)發(fā)的人(從事底層開(kāi)發(fā)工作的人)。
2,二次開(kāi)發(fā)的人(從事二次開(kāi)工作的人)。
3,使用及操作機(jī)器視覺(jué)系統(tǒng)的人(從事最終使用工作的人)。
第一類人。就是我們常說(shuō)的,開(kāi)發(fā)通用視覺(jué)系統(tǒng)(如:DVT,西門子,歐姆龍,EVISION,COGNEX等等)的開(kāi)發(fā)人員,也就是DVT,COGNEX這些公司開(kāi)發(fā)部的技術(shù)職工。
第二類。就是大家所說(shuō)的OEM用戶。是專門用第一類人所開(kāi)發(fā)出的系統(tǒng),給第三類人搞二次開(kāi)發(fā),開(kāi)發(fā)各種專為第三類人所用的系統(tǒng)。第三類人,就是用戶(end user)。這類人是真正將機(jī)器視覺(jué)系統(tǒng)應(yīng)用到各個(gè)領(lǐng)域中的人,他們不僅在各自的行業(yè)中使用種種已經(jīng)開(kāi)發(fā)成型的機(jī)器視覺(jué)系統(tǒng)。而且負(fù)責(zé)對(duì)各類系統(tǒng)進(jìn)行測(cè)試及評(píng)估。
舉個(gè)實(shí)際例子,這里有不少朋友問(wèn)過(guò)這類問(wèn)題:如何檢測(cè)某一工件;檢測(cè)光盤表面的系統(tǒng)該如何配置CCD相機(jī)、鏡頭及燈源等。問(wèn)這些問(wèn)題的朋友應(yīng)該算是第三類人。他們公司要他們尋找一個(gè)系統(tǒng)可以用來(lái)檢測(cè)本公司的產(chǎn)品。但由于第一類人所開(kāi)發(fā)的,只是通用的系統(tǒng)以及視覺(jué)系統(tǒng)開(kāi)發(fā)工具的軟件包。并沒(méi)有哪家公司專門開(kāi)發(fā)一套系統(tǒng)來(lái)檢測(cè)光盤或是某種特定的工件。所以,這些朋友就應(yīng)該來(lái)找我,因?yàn)槲沂堑诙惾恕?/span>
我的工作就是,專門用DVT,EVISION,COGNEX等的視覺(jué)卡,以及視覺(jué)系統(tǒng)開(kāi)發(fā)工具軟件包為他們專門開(kāi)發(fā)一套他們所需要的光盤檢測(cè)系統(tǒng)或是工件檢測(cè)系統(tǒng)。 但是,我在這里所看到奇怪的現(xiàn)象卻是,這些第三類的朋友一直問(wèn)的,都是第二類人所問(wèn)的問(wèn)題。如:?jiǎn)枒?yīng)該用哪家公司的開(kāi)發(fā)軟件;用什么樣的CCD;如何標(biāo)定等等。我真的不知道如何回答你:你明明是第三類人,要找第二類人幫忙?,F(xiàn)在卻以第二類人的身份甚至是以第一類人的身份問(wèn)問(wèn)題。繞了老大一圈,其實(shí)要說(shuō)的問(wèn)題就是一個(gè)----我所發(fā)現(xiàn)的問(wèn)題:這里80%以上朋友把自己的身分混淆了,越俎代庖。
或許有的朋友會(huì)這樣說(shuō):我雖然是第三類人,但我對(duì)機(jī)器視覺(jué)有興趣,想自己學(xué)習(xí)啊!。這就是我想討論的:到底如何學(xué)習(xí)機(jī)器視覺(jué)?我個(gè)人認(rèn)為,應(yīng)該先確定自己的身份,從自己具體的需要入手來(lái)學(xué)習(xí)。舉個(gè)例子:大家一定都有學(xué)習(xí)英文的經(jīng)驗(yàn),而且也一定都有同樣的感覺(jué)----怎么學(xué)也學(xué)不好----我就是這樣。我們拋開(kāi)所謂的語(yǔ)言天分不說(shuō),大家學(xué)不好的原因其實(shí)很簡(jiǎn)單:沒(méi)有語(yǔ)言環(huán)境。一語(yǔ)中的啊!學(xué)而不用,怎么也不會(huì)學(xué)好。
同樣,學(xué)習(xí)機(jī)器視覺(jué),無(wú)論你在書本上看了多少理論,你自己若沒(méi)有實(shí)際動(dòng)手操作、編程的經(jīng)驗(yàn)也是枉然。還不如從你每天能接觸得到的東西開(kāi)始學(xué)習(xí)。教游泳的教材隨手可得,但為什么并非人人都下得了水呢?!不客氣的說(shuō),目前國(guó)內(nèi)搞這行的朋友似乎都有些好高騖遠(yuǎn)。不少?gòu)氖碌诙糠止ぷ髋笥?搞二次開(kāi)發(fā)的第二類人)對(duì)于機(jī)器視覺(jué)有關(guān)知識(shí)的了解,尚不如國(guó)外第三類人的知識(shí)水平(我是從大家所問(wèn)的問(wèn)題感覺(jué)到的)。而國(guó)內(nèi)第三類朋友知識(shí)水平就更可想而知。
可是奇怪的是,每個(gè)人所問(wèn)的卻都是第二類人要問(wèn)的,有些甚至是一類人才會(huì)問(wèn)的問(wèn)題。好象,機(jī)器視覺(jué)是個(gè)十分簡(jiǎn)單的技術(shù),憑大家隨便問(wèn)幾個(gè)“關(guān)鍵性”的問(wèn)題,再由所謂的“專家”三言兩語(yǔ)的回答一下。大家就一夜之間都可以自己搞底層開(kāi)發(fā),成第一類人了。
要成為第一類人,又分硬件及軟件兩種。要對(duì)自己所負(fù)責(zé)的這個(gè)模塊非常了解,搞軟件要知道算法及運(yùn)行速度;搞硬件要明白公司所選用芯片的特點(diǎn)等等。同時(shí)還要清楚對(duì)手公司的優(yōu)缺點(diǎn)以及機(jī)器視覺(jué)這一行的種種動(dòng)態(tài)和最新技術(shù)。
想成為第二類人,你一定要是個(gè)通才。就是說(shuō)什么都要知道一點(diǎn)。不僅要了解第三類人的要求,而且也要知道各種第一類人(不同品牌的視覺(jué)卡及軟件包)的水平。
要成為第三類人,不僅要有機(jī)器視覺(jué)基本的相關(guān)知識(shí)。而且,要對(duì)自己所工作的行業(yè)及領(lǐng)域的機(jī)器視覺(jué)系統(tǒng)非常熟悉。專作你這行的機(jī)器視覺(jué)公司有哪幾家?各有什么優(yōu)缺點(diǎn)等等??偨Y(jié)一下。這三種人相比,第一類人一定要專業(yè),對(duì)機(jī)器視覺(jué)的某一領(lǐng)域非常非常了解;第二類人雖比不上第一類人那么專業(yè),但更加全面;第三類人更熟悉各個(gè)應(yīng)用系統(tǒng)開(kāi)發(fā)公司(第二類人)的優(yōu)缺點(diǎn)。
現(xiàn)在大家可以看得出,機(jī)器視覺(jué)發(fā)展到今天,其分工已經(jīng)越來(lái)越細(xì),每個(gè)部分的工作其實(shí)是很難相互取代的。大家不要以為第三類人就比第一類人低一等,這是一個(gè)錯(cuò)誤的等級(jí)概念。我本人過(guò)去曾屬于第一類人,現(xiàn)在作的是第二類工作。而我的幾個(gè)“師弟師妹”(當(dāng)初曾一起作第一類人時(shí)的同事)現(xiàn)在就在干第三類工作。大家別小看第三類工作,以為這是小兒科,你能真作好這一行也不是很容易。畢竟這也是一門行當(dāng)也是一個(gè)飯碗!另外,以我個(gè)人來(lái)看:以國(guó)內(nèi)現(xiàn)在機(jī)器視覺(jué)的水平,對(duì)于那些想作第一類人的朋友我在這里勸一句:還是算了吧。
國(guó)內(nèi)的機(jī)器視覺(jué)水平打根子上就差,您還打算搞底層?算法本身都是抄人家的,就只能和對(duì)手拼程序的寫法了。不過(guò)我覺(jué)得那更沒(méi)戲。這樣說(shuō)我絕沒(méi)有看不起初學(xué)者的意思。我說(shuō)過(guò):所問(wèn)的問(wèn)題再簡(jiǎn)單,我都不會(huì)笑話你。對(duì)于每樣事物我們都是從無(wú)知開(kāi)始的。但是,對(duì)于那些極不實(shí)際的好高騖遠(yuǎn)的問(wèn)題,我還是要說(shuō),希望大家踏實(shí)下來(lái),戒浮躁,從最基本地學(xué)起----先確定自己的身份。