《2 沈哲 使用機器學習提升自動化手機質檢設備的效率.pdf》由會員分享,可在線閱讀,更多相關《2 沈哲 使用機器學習提升自動化手機質檢設備的效率.pdf(42頁珍藏版)》請在三個皮匠報告上搜索。
1、使用機器學習提升自動化手機質檢設備的效率 沈哲Shanghai手機屏幕顯示質檢的現狀以及研發背景Shanghai現狀和背景該設備借助工業相機對手機的屏幕進行拍照,手機上會事先安裝一個質檢 App,它跟上位機(桌面端程序)通過 TCP 協議進行通信。質檢 App上位機工業相機拍照TCPKotlin Compose Desktop+HSM 實現上位機的軟件架構ShanghaiUI 框架的選擇我們團隊從服務端、客戶端、桌面端大多上都使用 Kotlin 語言,所以開發智能設備的上位機程序也是首選 Kotlin。SwingElectronCompose Desktop優點能夠快速上手進行開發,UI美觀U
2、I 層不再是一個獨立的應用,可以整體升級缺點界面不太理想 調用一些硬件設備、調用 OpenCV 也不是很好地支持、升級不方便剛處于1.0版本UI 框架的選擇狀態機的使用狀態機是現實事物運行規則抽象而成的一個數學模型。從 FSM 到 HSM從 FSM 到 HSM后來為何需要分層狀態機呢?分層狀態機,(英語:Hierarchical State Machine,HSM)用于描述復雜的狀態轉換系統,它通過將復雜的狀態圖分成多個子狀態機,從而使得狀態轉換的處理更加清晰、可控。在 HSM 中,每個狀態都可以是一個獨立的有限狀態機,其中每個有限狀態機可以包含若干子狀態機,形成一個樹形結構。HSM 不僅可以
3、描述一個狀態所對應的行為,還可以描述一個狀態所對應的子狀態機的切換。我們迭代了質檢方式,并且隨著流程的復雜,狀態和觸發條件都增加了。使用 HSM 可以讓整個流程更清晰,也更好解耦。從 FSM 到 HSM通過機器學習的算法提升質檢效率Shanghai強依賴網絡的手機屏幕質檢設備在早期的方案設計中,上位機跟手機的質檢 App 通過自定義的 TCP 協議進行通信。上位機跟 App 建立連接后,會獲取手機的基礎信息,然后發消息給 App 開始進行拍照質檢。在質檢過程中,上位機會發送消息告知 App 切換不同的顏色,質檢設備里的工業相機基于不同的顏色調整不同的拍照參數,進行拍照。質檢 App上位機工業相
4、機拍照TCPWiFi差、重試、超時、效率低20秒手機在屏幕質檢前,需要查找 Wi-Fi 熱點進行聯網 且之后 App 跟上位機保持實時通信之前的質檢上位機跟 App 是通過 TCP 來驅動完成的。屏幕正常的手機屏幕異常的手機新設計的流程去掉了上位機和 App 的通信。App 打開后直接放入質檢設備中,此時 App 會輪播各種圖片,上位機識別到標志頁后開始正式的質檢?;跈C器學習驅動的質檢流程因為 App 跟上位機之間沒有網絡通信了,所以上位機需要通過機器學習來判斷每一步的質檢步驟從而決定下一步的流程。新的質檢流程大致如下:1.查找第一個標志頁2.基于標志頁判斷下一頁的圖像并進行校驗3.質檢流程
5、中遇到標志頁,也需要校驗圖像4.將質檢圖片傳到服務端查找第一個標志頁基于輪播各種顏色以及圖案的頁面,檢測出第一個包含有三角形、圓形、二維碼(并識別二維碼的內容)的頁面作為第一個標志頁。查找標志頁的算法:首先對圖像灰度化和二值化。圖像分割是圖像進行視覺分析和模式識別的基本前提,而閾值分割是最簡單的圖像分割方法。我們使用閾值分割算法進行二值化,選用的是 OTSU 算法來進行全局的閾值分割。查找標志頁的算法OTSU 算法的基本思想是根據選取的閾值將圖像分為目標和背景兩個部分,計算該灰度值下的類間方差值。當類間方差最大時,對應的灰度值作為最佳閾值。查找標志頁的算法判斷是否有手機輪廓,如果有的話提取輪廓
6、的 ROI 作為單獨的圖像。如果沒有輪廓則停止分析當前圖像。查找標志頁的算法對 ROI 對象再進行一次閾值分割和輪廓分析。通過多邊形擬合的方式判斷 ROI 對象內是否有 三角形、圓形、二維碼?;跇酥卷撆袛嘞乱豁摰膱D像并進行校驗灰色:先對圖像進行增強,然后判斷是否有圖案白色:先對圖像進行增強,然后判斷是否有圖案黑色:檢測關燈拍攝黑色圖片的質量,判斷相機是否過曝、門沒關緊等各種環境因素,以及手機是否異常黑色(開燈):檢測開燈是否成功,并判斷是否有手機的輪廓質檢流程中遇到標志頁,也需要校驗圖像三角:校驗是否包含有三角形圓形:校驗是否包含有圓形二維碼:校驗是否包含有二維碼,并識別二維碼的內容遇到的問
7、題以及解決方案早期的方案使用顏色我們曾嘗試過比較顯著且能區分顏色的紅、綠、藍三種純色作為標志頁,放在被質檢的白色、灰色、黑色頁面之間,用于確定無網質檢時候的質檢步驟。遇到的問題以及解決方案節拍異常上位機每隔一定的時間 t 進行拍照,同時質檢 App 也每隔相同的時間 t 切換不同的頁面。因此,上位機和 App 都會采用定時任務。我們期望兩者都能準時執行,但是事與愿違。所以我們對每張拍攝的圖像都做了校驗,如果出現節拍異常,執行重試機制:清空當前已拍所有圖片,從下一張圖片開始重新拍照并識別標志頁。遇到的問題以及解決方案各種色斑、透圖、劃痕手機的影響色斑、透圖、劃痕等會影響到質檢過程的識別,進而影響
8、到質檢流程。由于 色斑、透圖 的存在,任何手機在灰色、白色頁面進行校驗的時候,都需要先對圖像增強,然后再分析圖像是否正確。對于劃痕,在黑色開燈圖、黑色關燈圖的時候,會對手機輪廓內進行分析。由于開燈圖和關燈圖的背景不同,先對這兩種圖采用不同的閾值分割算法進行二值化。通過閾值分割之后是查找輪廓,對已經找到輪廓進行排序,找到合適的輪廓,然后是對輪廓內進行分析。遇到的問題以及解決方案各種色斑、透圖、劃痕手機的影響只要在黑色開燈、黑色關燈頁面的手機輪廓里分析沒有出現標志頁的東西,就會認為圖像是正常的。否則上位機認為圖像異常,通過節拍異常的方式進行重試。遇到的問題以及解決方案優化 Gamma 校正算法我們
9、對灰色、白色圖像校驗的時候,用到了圖像增強的方法,我們選用了 Gamma 變換。其公式:Gamma 變換主要是提升了暗部細節,簡單來說就是通過非線性變換,讓圖像從曝光強度的線性響應變得更接近人眼感受的響應,即將漂白(相機曝光)或過暗(曝光不足)的圖片,進行矯正。遇到的問題以及解決方案優化 Gamma 校正算法在 gamma 值已知的情況下,0 255 之間的任一整數,經過“歸一 化、預補償、反歸一化”操作后,所對應的結果是唯一的,并且也落在 0 255 這個范圍內。我們只需為 0 255 之間的每個整數執行一次預補償操作,將其對應的預補償值存入一個預先建立的 gamma 校正查找表(Look
10、Up Table),就可以使用該表對任何像素值在 0 255 之間的圖像進行 gamma 校正。這樣,完全可以滿足我們的性能要求。其他的一些優化五彩斑斕的白其他的一些優化嘗試過多種圖像質量評價算法,依然發現誤檢率高。模糊的圖像其他的一些優化目前的做法:先定位到手機區域,在無參考圖像的情況下,使用 Laplacian 變換對圖像進行模糊檢測。根據拉普拉斯算子,圖像可以定義為當我們把圖像看做是一個二維離散函數時,通過將其展開泰勒級數,基于中心差分的二階導數為機器學習在其他 IoT 設備上的一些應用Shanghai流水線上的設備通過機械臂識別流水線上經過的手機,然后抓取手機,放入拍照設備進行拍照。識
11、別拍攝的手機圖片是否模糊,如果模糊就進行重拍。識別手機背后的條形碼,該條形碼是物品編號,可以避免操作人員手動輸入物品編號。識別手機在智能設備中的位置是否準確,避免拍攝無效的圖片。各種拍攝商品詳情圖的設備識別拍照設備拍攝的商品圖是否模糊,如果模糊就進行重拍。判斷圖像中的商品是否擺正,如果沒有擺正通過透視變換以及對齊將原圖中的商品放正。對商品圖做一些美化。手機回收機回收手機時,判斷回收倉是否有手機存在。事先拍一張回收倉沒有手機的圖片,等到需要判斷的時候再拍一張圖,兩者相減通過兩個圖像的差異來判斷是否存在手機?;厥?Apple Watch 時,判斷回收倉中 Apple Watch 是否存在表帶。通過直方圖雙峰法進行閾值分割,分析輪廓中是否有物體,再對輪廓分析是否有手表的表盤,最后再判斷是否有表帶。展望未來Shanghai展望未來在桌面端引入深度學習,將一些 CV 的算法轉由 Pytorch 訓練的神經網絡替代,然后導出成 onnx 格式的模型,最后通過模型部署框架(OpenCV DNN,OpenVINO,TensorRT)部署推理,這是未來發展的方向。謝謝大家Q/A