技術文章
高精度視覺識別與定位系統需要關注哪些因素?
閱讀:243 發布時間:2022-4-1機器視覺在生產制造中主要用在視覺引導,尺寸測量,產品檢測,物體識別等幾個領域。在這幾個領域中,一個最基本的算法就是產品識別和定位,比如視覺引導機器人,要在圖像中識別出要抓取的產品,并定位出坐標,才引導機器人到的產品位置。尺寸測量,產品檢測等也是一樣的,在測量和檢測之前,首先要知道有沒有產品,產品的位置在哪里,才可以應用后續的各種分析工具。因此,產品識別和定位是一個基本問題。
如果要設計一個可行的產品識別和定位的算法,需要克服幾方面的困難:
快速的產品:工業產品千差萬別。因此,對于每一個具體的應用,需要從幾張,甚至一張圖像上,快速需要查找的產品,比如當前產線需要定位鉚釘的位置,拍一張照片并進行相應的學習,就可以在后續的圖像中進行搜索定位
快速的搜索產品:對于一張200萬像素的圖片,通常要求在幾十毫秒的時間可以識別和定位出產品的位置
高精度的定位:工業生產對精度和公差有嚴格的要求,因此產品的定位就要力求準確。現在普遍要求識別定位算法可以達到一個像素級別的定位精度,甚至可以達到亞像素級別。
可以適應產品缺失,遮擋,臟污等的影響:如果一個產品被遮擋,導致產品在圖像中缺失一定比列,需要依然可以識別定位到物體。反之,如果產品表面發生臟污,導致表面的特征發生變化,需要依然可以識別定位
可以適應光照亮度不均勻的影響:如果產品的亮度發生變化,比如一半亮一半暗,需要依然可以識別定位
可以識別旋轉的產品:產品通常可能在360度范圍內旋轉
可以識別多個產品:一張圖像中可能有多個產品,需要分別識別定位
可以準確識別接近對稱的物體:接近對稱的物體很容易別識別成錯誤的方向,需要進行相應的設計
可以應對物體的極性翻轉:比如學習的產品是白底黑字,但是實際上產品圖像有可能是黑底白字,需要可以識別
深度學習可以解決這個問題嗎?深度學習中目標檢測算法(one-stage和two-stages的各種算法),在這個應用中有幾方面的難點
數據量:如何在只有一張圖像的情況下,學習到需要識別定位的物體?
速度:如何在一般配置的PC上達到ms級別的識別定位速度?傳統算法在幾千元的工控機上就可以發揮速度優勢,然而深度學習需要配置昂貴的GPU,或者在2019年會有一些垂直細分領域的ASIC芯片開發出來
定位精度:考慮到深度學習輸入的圖像本身都是進行了縮放的圖像,那么在原圖上很難達到像素精度的匹配
識別準確性:在數據量很少的情況下,怎么提升識別的準確性?
考慮到此類問題面臨的困難,一般還是用傳統的機器視覺方法來實現。