和我們公司另外一個搞機器視覺的同事吵了一架,原因很簡單,我們公司有個視覺項目,我的方案是使用傳統(tǒng)算法,且不需要客戶去標(biāo)定檢測物,也就是說,客戶只需要點擊軟件的開始按鈕就可以開始檢測,而另外一個同事采取的則是深度學(xué)習(xí)框架,也就是需要客戶對每一種型號的產(chǎn)品進行標(biāo)定和取樣才能開始檢測,我覺得他這樣做雖然對我們來說方便一些,但是對客戶很不友好。最后,我倆誰也沒說服得了誰,事情就僵在那了!
我之所以選擇傻瓜式操作,原因就是這次的視覺項目,操作者都是一些普通流水線的工人,平時別說機器視覺了,可能很多人連電腦都沒怎么用過,所以,我的設(shè)計就是讓他們只需要點擊“開始檢測”和“結(jié)束檢測”按鈕就行了,其他什么都不需要他們?nèi)ス堋?/p>
這種與人方便的設(shè)計思路,我也是結(jié)合客戶現(xiàn)場情況來決定的,選擇把麻煩留給自己。
最主要的是,本次視覺檢測項目其實也不是太難,只要代碼考慮的周全,完全不需要客戶去標(biāo)定產(chǎn)品的,前期只需要經(jīng)過一定的時間的測試驗證即可。
本來,這個項目都已經(jīng)快做完了,因為有部分產(chǎn)品存在一定的特殊性,因此出現(xiàn)了誤檢的情況,再加上我正在參與其他項目,暫時沒時間把這部分誤檢情況寫進代碼里面,所以,這期間就發(fā)生了一點誤會。
所謂的誤會,其實就是公司認(rèn)為我解決不掉這個問題,然后就讓另外一個同樣是搞視覺的同事問我情況,于是,我就把情況跟他說了。
我的意思就是現(xiàn)在出現(xiàn)的問題并不是解決不掉,而是我暫時沒時間,我還特意告訴他現(xiàn)在這種情況應(yīng)該怎么去解決。
最后,公司了解了情況,但是問題擺在那里有個不能不解決,所以就問我,如果讓另外一個同事幫我寫,我愿意不愿意。
我當(dāng)然愿意,表示其實代碼寫起來很簡單,主要費時間的就是測試這塊。
一般來說,我在視覺代碼寫完以后,會批量測試幾萬張之前采集的各種狀態(tài)下的產(chǎn)品圖片,如果所有圖片都批量跑完了算法沒有問題以后,我才會去給客戶更新最新算法。
這個過程可能需要耗費一兩天時間,因為可能新算法有兼顧不到的地方,批量測試的時候可能跑一半發(fā)現(xiàn)問題又得改代碼,改完以后還得從頭開始......
因為我是用傳統(tǒng)算法寫的,我的這位同事比較排斥傳統(tǒng)算法,因為他從學(xué)習(xí)到工作,使用的都是深度學(xué)習(xí)框架,傳統(tǒng)算法雖然會一些,但是不太精。
于是,他就跟我說,我這種方法太原始了,沒辦法兼顧到所有情況,后面萬一又出現(xiàn)物料不一致的情況,還得改代碼!
總之,他的意思是還是用深度學(xué)習(xí)比較好,這樣能兼顧到所有情況。
我跟他說,我知道深度學(xué)習(xí)好,但是你要當(dāng)一幫上了年紀(jì)的大哥大姐去幫你框選ROI,你覺得實際嗎?況且,還不僅僅是ROI的問題,訓(xùn)練成本也是一個問題。
客戶那邊的物料有上千個,但區(qū)別其實很小,而且,客戶那邊的生產(chǎn)車間是保密車間,圖片很難帶出來,我自己手上的幾萬張照片還是項目實施的時候帶出來的,深度學(xué)習(xí)要訓(xùn)練,必然需要現(xiàn)場圖片,難道還要每次出問題的時候讓客戶把圖片導(dǎo)出來發(fā)給我們嗎?我這里幾萬張圖片就將近10個G了,一個深度學(xué)習(xí)的訓(xùn)練集至少也得50萬張吧,這得多少數(shù)據(jù)?
不光如此,我負(fù)責(zé)的這個視覺項目其實已經(jīng)穩(wěn)定跑了半年多了,只不過最近出了幾次特殊情況,沒有考慮到而已,如果把現(xiàn)有邏輯從傳統(tǒng)算法改為深度學(xué)習(xí),那就意味著我們得重新修改代碼,那么代碼的穩(wěn)定性、檢測的穩(wěn)定性將都需要重新花時間來驗證,即使客戶愿意,公司也不愿意吧?
最后,我和他因為這件事情就爭執(zhí)了起來,最后他跟我說:“不上深度學(xué)習(xí),我是不知道怎么做了!”
我不知道他說的是不是氣話,但是我是怕了,萬一真的讓他去改代碼,那這個項目最起碼還得半年才能驗收!
最后,我跟公司說我抽個時間優(yōu)化下算法,然后給客戶一個交代!我堅持我的想法,這個項目不適合用深度學(xué)習(xí)來做!
結(jié)語
有時候,視覺項目的確是用深度學(xué)習(xí)能解決很多問題,但是,如果用純技術(shù)思維去做項目,雖然項目做成的可能性大,但是客戶體驗是極差的。
我就碰到過很多這種情況,我估計很多人也碰到過一種情況,那就是明明項目已經(jīng)通過驗收了,但是客戶就是不怎么去用,原因就在于此!
我們把很多本該可以通過代碼去解決的問題交給使用者去解決了,這本就背離了功能性軟件的初衷,功能性軟件,本身存在的意義不光是專業(yè)性,還得盡可能減少讓客戶自己去操作復(fù)雜場景的次數(shù),傻瓜式更好,否則,給客戶帶來的那就是冰冷的體驗!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(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.