公司有個(gè)視覺(jué)項(xiàng)目,本來(lái)相機(jī)拍照邏輯是飛拍加軟件觸發(fā)拍照,但是,經(jīng)過(guò)前期驗(yàn)證后,我給改成了靜止拍加硬觸發(fā),因?yàn)楸粰z物體的移動(dòng)速度實(shí)在是太快了,通過(guò)軟件觸發(fā)拍照很容易拍不到或者漏拍,我都做好了,可是,我們公司一個(gè)新入職的小伙子卻覺(jué)得我的方案不行,還是決定用飛拍加軟件觸發(fā)拍照,我只能說(shuō),還是太年輕了。
這個(gè)視覺(jué)項(xiàng)目的檢測(cè)內(nèi)容很簡(jiǎn)單,就是檢測(cè)液體是否正確滴下。首先,這個(gè)液滴很小,小到肉眼很難看到,其次,滴下的頻率很高,每秒大約要滴下上萬(wàn)滴,但是,每一滴液體之間需要有特定的間距才算合格。
我最開(kāi)始采取的方案跟小伙子是一樣的,也是選擇移動(dòng)拍照和軟件觸發(fā),但是發(fā)現(xiàn)有個(gè)問(wèn)題沒(méi)法解決。
問(wèn)題就是拍照時(shí)機(jī)的問(wèn)題,因?yàn)橐后w滴下的頻率實(shí)在是太快,但是我們采購(gòu)的相機(jī)幀率只有60幀,且畫面高度因?yàn)楦鞣N原因,只能看到兩個(gè)并列的液滴,所以,如果要檢測(cè)液滴之間的間距,那就必須保證畫面上有兩個(gè)同列存在的液滴才行。
可是,相機(jī)幀率只有60幀,理論上,相機(jī)在拍照時(shí),每隔大約16毫秒才能拍到一張照片,而液滴的滴下速度大約是每秒1萬(wàn)滴,因?yàn)轭l率不同,會(huì)導(dǎo)致拍照的時(shí)機(jī)不同,很容易出現(xiàn)畫面上一滴液滴都沒(méi)有或者只有一滴液滴的情況。
之所以前期排除了飛拍和軟件觸發(fā)拍照的原因也是因?yàn)樯鲜鲈颉?/p>
排除飛拍的原因是因?yàn)橐旱翁×?,稍微移?dòng)一下空間就會(huì)產(chǎn)生慣性風(fēng),影響液滴滴下軌跡,雖然可以通過(guò)下壓氣壓穩(wěn)定液滴,但是這種情況只有在靜止情況下有效,因此,最后我們還是決定固定拍照。
而決定不使用軟件觸發(fā)的原因是因?yàn)槭褂密浖|發(fā),首先我們得先向相機(jī)發(fā)送一個(gè)拍照的命令,然后相機(jī)收到命令以后再觸發(fā)拍照,而軟件發(fā)送拍照命令和相機(jī)觸發(fā)拍照中間也會(huì)有一個(gè)時(shí)間差,這個(gè)時(shí)間差大約是1-5毫秒左右,而且,因?yàn)槭茄h(huán)取圖,還必須設(shè)置循環(huán)間隔,否則視覺(jué)系統(tǒng)很有可能會(huì)進(jìn)入假死狀態(tài),雖然時(shí)間很短,但也會(huì)影響其他功能。
這樣的話,還是會(huì)回到那個(gè)問(wèn)題,那就是相機(jī)的拍照時(shí)機(jī)和液滴的滴下時(shí)機(jī)不一致,從而很容易出現(xiàn)拍不到液滴或只能拍到一個(gè)液滴。
因此,經(jīng)過(guò)討論,我們還是決定使用電信號(hào)觸發(fā),因?yàn)橐旱蔚牡蜗乱彩峭ㄟ^(guò)板卡信號(hào)觸發(fā)滴下的,因此,我們直接將相機(jī)的拍照信號(hào)線接在了板卡上,這樣,當(dāng)液滴滴下信號(hào)被觸發(fā)時(shí),相機(jī)的拍照信號(hào)也會(huì)被觸發(fā),這就使得液滴的滴下和相機(jī)的拍照信號(hào)同步了!
實(shí)驗(yàn)過(guò)后,我們發(fā)現(xiàn)相比使用軟件觸發(fā),使用板卡信號(hào)觸發(fā)也就是使用電信號(hào)觸發(fā)相機(jī)拍照,拍攝到合格圖片的成功率是使用軟件觸發(fā)沒(méi)法比的。
因?yàn)槲覀兦捌谠隍?yàn)證時(shí),使用軟件觸發(fā)拍照,最夸張的一次是拍了60張圖片,連一張可以用的都沒(méi)有,而使用電信號(hào)觸發(fā),拍了60張圖片,只有一張不能用。
對(duì)此,新來(lái)的那個(gè)做視覺(jué)的小伙子給出了自己的方案,他覺(jué)得使用電信號(hào)觸發(fā)拍照完全沒(méi)有必要,而是走了另外一個(gè)路子。
他覺(jué)得既然既然是使用板卡信號(hào)來(lái)觸發(fā)拍照,那么完全可以使用軟件去監(jiān)控板卡信號(hào),然后當(dāng)軟件監(jiān)控到板卡信號(hào)以后,再使用軟件去觸發(fā)相機(jī)拍照即可,而他覺(jué)得靜止拍浪費(fèi)時(shí)間,在沒(méi)有問(wèn)任何人的情況下,單純憑個(gè)人感覺(jué),還是改成了飛拍。
因?yàn)槲业墓δ芤呀?jīng)做好了,但老板對(duì)時(shí)間的確有點(diǎn)意見(jiàn),一聽(tīng)小伙子可以使用飛拍來(lái)節(jié)省檢測(cè)時(shí)間,二話不說(shuō)就讓小伙子去做了。
我只好不說(shuō)話啦!
但我知道,小伙子的這套方案有個(gè)很大的毛病,這個(gè)和飛拍沒(méi)有關(guān)系,光使用軟件去監(jiān)聽(tīng)板卡觸發(fā)信號(hào)就有一個(gè)問(wèn)題是他沒(méi)考慮到的。
他的意圖和我一樣,都是想要在板卡觸發(fā)液滴滴下的時(shí)候去拍照。
但是,監(jiān)聽(tīng)板卡觸發(fā)信號(hào),他估計(jì)只能做一個(gè)循環(huán)去監(jiān)聽(tīng)板卡某個(gè)IO點(diǎn)的信號(hào),或者是使用特定的通訊協(xié)議去獲取板卡當(dāng)時(shí)的狀態(tài)。
但不管怎么樣,這個(gè)循環(huán),也是一定要設(shè)置一定的間隔的,即使是拋開(kāi)間隔不談,他和板卡通訊也是需要時(shí)間的,這個(gè)時(shí)間和直接使用電信號(hào)觸發(fā)產(chǎn)生的時(shí)間是沒(méi)法比的。
假設(shè)板卡觸發(fā)液滴滴下的時(shí)間間隔是100微秒,那么可能軟件在收到這個(gè)滴下信號(hào)的時(shí)候已經(jīng)是500微秒以后了,光滴都已經(jīng)滴了5次了,也就是說(shuō),這個(gè)滴下信號(hào)的監(jiān)控本身就沒(méi)有什么意義。
其次,相機(jī)拍照是需要命令的,從給相機(jī)發(fā)送拍照命令到收到相機(jī)拍到的照片進(jìn)行處理,這里也是需要時(shí)間的。
因此,也是很難繞開(kāi)液滴滴下時(shí)機(jī)和拍照時(shí)機(jī)這個(gè)問(wèn)題。
結(jié)語(yǔ)
我不敢說(shuō)這個(gè)小伙子的方案一定不行,但是,我覺(jué)得解決問(wèn)題的概率不大,何況他還決定要飛拍!
但是,從我的角度來(lái)說(shuō),在不改硬件的情況下,目前來(lái)說(shuō),如果小伙子對(duì)我上述所說(shuō)的問(wèn)題都知曉的話,那么他的方案其實(shí)就是純碰運(yùn)氣的心理,想著液滴滴下頻率已經(jīng)那么高了,一定能拍到,但是這種心態(tài)在做項(xiàng)目時(shí)一點(diǎn)也不可取!
如果他對(duì)我上述所述的問(wèn)題一點(diǎn)都沒(méi)有考慮到的話,那就是太年輕了!我想說(shuō)的是,我雖然做機(jī)器視覺(jué)的時(shí)間不長(zhǎng),但總歸比他這個(gè)新兵蛋子考慮問(wèn)題要周全吧?
最后,新來(lái)的小伙子經(jīng)過(guò)驗(yàn)證,發(fā)現(xiàn)通過(guò)軟件觸發(fā)拍照和飛拍的確有很大問(wèn)題,加上項(xiàng)目比較緊,已經(jīng)來(lái)不及研究了,所以,又改回了我采取的方案,何必呢?浪費(fèi)時(shí)間罷了!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.