一套流程與小工具幫助標示影像數據


當一個AOI專案啟動時, 也許要面對的挑戰並不是深度學習...

至今應該不到十年內, 稍微關心科技新聞的, 甚或對此領域完全不在乎的, 多少都會聽聞到諸如: 某某圍棋高手輸給人工智慧; 某電動車啟動自動駕駛幫心臟病發作車主送去醫院救治等等訊息. 姑且不談我們距離所謂的人工智慧有多遠, 看看各國政府莫不大力發展人工智慧產業或是支持其應用, 也許我們可以思考一下眼下我們可以享用的人工智慧到底在哪裡? 或者我們再聚焦一點, 當下最被採用的深度學習技術, 我們要如何導入?

製造業有一環常用於品質管制的AOI (自動光學檢測,Automated Optical Inspection), 傳統上就算沒有人工智慧或深度學習技術, 以過去累積的電腦視覺技術, 也可以滿足多數製造業的需求. 唯一缺憾的是傳統AOI有些先天上的限制, 以致於性能指標可能未達要求.

而深度學習的出現, 透過大量已經被確認的標示數據(例如: 某些樣品圖片被標示為瑕疵品; 而另外一些圖片被標示為良品), 透過訓練(以上述的標示數據來優化選定的模型, 逐步降低預測誤差從而提高模型準確度)過程取得的深度模型, 通常可以大幅提升性能指標.

如果初步接觸人工智慧(這裡聚焦於深度學習運用於AOI), 有三個問題要面對:

  1. 有哪幾種深度學習模型適用我的問題? 如何選擇?

  2. 如何取得或產生<標示數據>?

  3. 如何訓練選定的模型?

關於 1. 與 3. 我個人的看法是: 找一位有點經驗的深度學習工程師, 或者退而求其次找在學校已經有實作此領域專題或計畫的新鮮人, 應當可以協助完成. 這裡並不是因為深度學習在這領域有多簡單, 而是因為: 若聚焦在 AOI 領域, 以這一兩年來的發展, 無論是影像分類或是物件(或者瑕疵)偵測的技術, 已經足以應付絕大多數的AOI需求, 而一般深度學習的課程一定會提供此類的知識. 所以大可不必太糾結在此.

但是關於 2. 如何取得或產生<標示數據>, 這牽扯到行業別還有產品類別的差異, 當然產線製程的知識更是不可或缺, 很難找到剛好有此經驗的人員來協助. 而對許多業主來看, 這些標示的資料多數是其商業機密, 更不可能假手外人來標示.

如果同意標示大量的優質數據是導入深度學習的關鍵, 其實就可以確認此需求: 有一個工具可以幫助品質工程師快速的標示數據, 並且如果忙中有錯時, 可以立即校正回歸. 很明顯此工具不會是個套裝軟體, 因為不同行業別與產品類別產線的差異, 注定了多少需要訂製的需求.

至於標題開宗明義談的一套流程, 我們後面慢慢說明.