?我們公司之前從來沒有做過機器視覺項目,管理層對于機器視覺項目的概念也僅限于“用戶層面”,什么叫用戶層面大家想必都清楚吧?就是那種能提出“根據手機殼顏色動態改變手機屏幕背景顏色”方案的人,這對于一個搞開發的公司來說,可要了命了!這不,僅僅是一個Mark對位功能,我們做起來都是一波三折的!
![]()
首先說一下什么叫“Mark對位”,其實就是客戶生產的產品上面有個標記,用來標記位置的,我們叫作“Mark”,一般都是十字形、實心方型或者回字形。
我這次所說的項目,Mark是客戶那邊通過特殊材料鍍出來的,精度很高,用來鍍Mark的材料在每個產品里是不一樣的,但是,肉眼看基本都呈不透明的黑色,好在我們需要檢測的產品是那種透明的鋼化玻璃!
之前,我做過類似的項目,根據我的經驗,只有在Mark下方,也就是產品下方打背光,檢測起來精度才高,代碼寫起來也容易,也更容易兼容所有產品。
于是,我把我的想法跟老板說了下,老板表示認可,但是,經不住有人在這里面搗亂呀!
我們公司一項目經理也不知道咋想的,不想用背光的方案,還說他之前有過類似的經驗,打的基本上是同軸光,所謂的同軸光,就是在相機鏡頭前面增加一個發光機構或者直接在鏡頭里面打光,這樣一來,相機的感光面積和大光面積差不多就是一致的。
但是,他忽略了一點,那就是需要檢測產品的材質,以及Mark的材質,我之前做的項目里面也考慮過同軸光的方案,最后被否決了。
因為檢測產品是透明的鋼化玻璃,而放置玻璃的基臺下面是鏤空一個空間,這個空間內啥都有,比如一些支撐件還有電線啥的,甚至有一些指示燈,并且,因為玻璃是由機械手放到基臺上的,每次放的位置都稍有誤差,這就導致相機拍攝出來的畫面背景不純,比如非純黑或者非純白,且因為每次玻璃放置的位置都不一樣,背景特征也就是每回都不一樣,還有其他光線干擾,最終就可能導致Mark的特征不統一,算法就很難做了!
軸光雖然也能檢測Mark,但是因為Mark是材質會反光,導致原本在背光下檢測的Mark是黑色的,在同軸光下Mark呈現得是白色的,而且同軸光還不能打太亮,太亮的話Mark也會因為材質問題導致反光看不見,如果同軸光光線較暗的話,則會看到背景上的東西,因為背景不純,背景里面有其他東西也反射白光,稍微好點的情況,可能就是其他雜色混入Mark本身的形狀里,算法想做區分很難,再壞一點的情況就是Mark完全融入到其他光線里面去了,因為這個Mark很小,不到1毫米,背景里面隨便一個信號燈都能覆蓋掉!
我不是反對使用同軸光,只不過我之前做這個項目的時候,我把客戶那邊的所有產品都要了過來,發現使用同軸光沒辦法兼容所有產品,只有背光才能兼容,且背光還比同軸光便宜。
最重要的是,我是有成功的項目經驗的!退一萬步講,客戶那邊還有十幾家其他服務商做的方案,100%都用的背光去抓取Mark,前人踩了無數坑留下的寶貴經驗,加上我親自參與過相同的項目,我覺得用同軸光的方法不可取。
最終,我把我的評估報告給了項目經理,然后就去干其他項目去了!
項目經理還想再推翻我的觀點,最后我就有點不耐煩了,直接告訴他,如果使用同軸光也可以,但是這個項目機器視覺部分是我做,我的要求就是Mark必須拍攝出來是清晰的,且背景沒有其他雜物才可以,他滿口答應。
沒過多久,項目經理拿著他用同軸光做的打光實驗的圖片告訴我,同軸光完全可以!
我一看圖片,看起來是可以,拍攝出來的幾張圖片都不錯,Mark和背景的對比度都還可以,只不過背景偏黑而Mark偏白,和我的方案出來的效果是反的,我的方案出來的效果是背景偏白,Mark發黑,于是我問他,是不是客戶提供的所有產品都試過了,效果都是這個樣子?
項目經理很篤定得告訴我,他所有產品都試過了,絕對沒有問題,看他這么篤定,我也就陷入了深深地自我懷疑,覺得可能是我當初做同軸光打光實驗的時候做得不如人家仔細,我一直認為同軸光是兼容不了所有產品的。
既然人家實驗結果表明同軸光可以,那我就按照他給的圖片重新做了一套算法。
結果您猜怎么著?真正到項目實施的時候,我發現我當初所說的一點沒差,同軸光下,所有的Mark表現都不一樣,我最開始Mark使用的是形狀匹配算子,因為Mark表現得很糟糕,最后又把算法改成了Blob形式,發現還是兼容不下所有情況,就這樣搞了幾天,我徹底火了!
我火的原因有幾點,當初如果用我的背光方案,項目實施的當天Mark就能檢,但是現在,Mark不能檢不說,各種方法都試了個遍,都達不到效果,還浪費了時間,想要達到檢測效果,只能上深度學習,但這樣的話,又增加了項目復雜度。
可是,如果改回背光效果,那么我們所有設備上購買的同軸光都得扔掉,幾萬塊就這么浪費了。
最后,項目經理雖然承認了當初自己在做打光實驗的時候并沒有把客戶所有產品都做了實驗,但是,他認為目前情況下,優化下算法還是可以檢測出來的。
最后,我直接冷笑道:“不行算法你來寫?我能耐不夠!”
結果
我跟項目經理因為這個項目搞得還是挺僵的,從穩定性來看,我還是認為打光一致性對于檢測準確度來說是重中之重,否則后面不管是用Blob還是用深度學習,會讓項目陷入無休止的修改和維護困境中,最后,我只給項目經理提了一個要求,就是告訴他必須用背光,如果不加背光,這個項目我做不了,可以讓公司其他人來做。
此時,項目經理似乎感覺到了事情的嚴重性,答應我去改背光,還不服氣得問我,是不是用了背光就一定沒有問題?我告訴他,如果使用背光有問題,出了責任我兜著!
項目經理點點頭,表示他去張羅采購背光和光源驅動器這個事情。
我不知道項目經理咋想的,可能是不甘,也有可能是這個簍子闖的有點大,不敢上報給老板,遲遲沒見背光安排到位,我還是像當初說的,只要背光不到位,我視覺這邊就沒法做,畢竟,大家都是成年人,要對自己做的事情負責,更何況是職場!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.