【AI@IoT】MCU也能實現產線機器學習 – 以射出成型機為例

作者:康智維

近年來隨著時代的變遷以及技術的發展,工業的製造型態也歷經多次改革,而工業近期的重大轉變發生於2011年由德國政府所發起的工業4.0(Industrie 4.0)計畫,目的為將整體工業生產型態從原先的自動化進階至智慧化。於此工業4.0的相關核心技術也如火如荼快速發展,例如物聯網(IoT)、雲端(Cloud)、大數據(Big Data)、人工智慧(AI)及機器人等。

其中,人工智慧的開發和應用近年來更是因應領域需求的不同,創造出許多嶄新的訓練方法與演算法,在人工智慧領域中最常被討論的便是機器學習(Machine Learning)以及深度學習(Deep Learning)。而機器學習更可概略分為監督式學習(Supervised Learning)、非監督式學習(Unsupervised Learning)以及強化式學習(Reinforcement learning)三個面向,而本文主要應用的監督式學習,其原理便是透過標註數據特徵與資料訓練的方式來建立分類或模型。

監督式學習概略種類如圖1所示。

圖1 監督式學習簡易分類

為了符合國際潮流與產業實際需求,本文將以擁有「工業之母」稱號的模具產業為對象,使用射出成型機台做為示範,利用感測器蒐集機台於生產時的音頻,並透過監督式學習的方法來對資料進行標註與訓練,最終產出能夠自動辨識機台生產狀態之AI最適模型。同時亦可透過電腦或智慧型手持終端裝置來即時接收機台生產資訊,使生產機台、感測器、智慧型手持終端裝置與電腦四者之間形成一個完整的物聯網。以下將對整體實驗流程與軟硬體配置進行詳細的解說。

硬體設備

表1 硬體設備清單

本文所採用的感測器是QuickLogic的Merced HDK(Hardware Development Kit),此開發版非常適合下一代低功耗機器學習的物聯網設備,同時Merced HDK搭載支援16KHz ODR數位麥克風、電子羅盤以及六軸陀螺儀(三軸陀螺儀與三軸加速器)。

而本文中所使用的數位麥克風型號為Knowles製造的SPH0641LM4H,擁有微型、高性能、低功耗等特性,該元件的SNR為64.3 dB、聲壓級94 dB、靈敏度-26 dB。而燒錄模型所需的傳輸線規格為Sabrent的Type-A對Micro USB-B傳輸線,智慧型手持終端裝置因TestApp版本問題,故只能使用Android系統的ASUS ZenFone 5。

軟體與驅動程式

表2 軟體與驅動程式清單

本文將透過SensiML開發的三套軟體來進行整體實驗,首要是負責蒐集、匯入、原始數據處理以及標註數據特徵的Data Capture Lab,該軟體亦可導入CSV和WAV等格式檔案來進行數據處理,並將所有數據即時上傳雲端;接著,Analytics Studio是利用多樣演算法以及自定義參數來對已被標註數據進行高效率的模型推理軟體,快速的產出高性能邊緣運算模型;最後是安裝於智慧型手持裝置上並透過與感測器連結來達到驗證與即時辨識機台產狀態的TestApp。

步驟1. 感測器安裝

在準備好相關硬體設備以及安裝所需的軟體/驅動程式之後便可開始進行實驗。首先我們必須將感測器安裝在合適的位置,此處需考量安裝位置的環境溫度是否超出感測器的作業溫度以及是否妨礙到機械生產作動,本文最終選擇安裝於射座之上,如圖2所示。

圖2 感測器安裝位置

步驟2. 感測器初始狀態設置

打開Data Capture Lab並建立專案,接著切換至Capture模式來新增感測器初始配置,點選Sensor Configuration的加號來進行設定,裝置設定為Merced HDK (QuickAI);使用數位麥克風元件;採樣率為16 kHz,本文的配置如圖3所示。

圖3 感測器參數配置

接著,點選Find Devices透過低功耗藍芽來對周遭的感測器進行掃描,選取目標感測器後點選Connect進行連結,如圖4所示。

圖4 感測器連接

與感測器成功連接之後,開始設定我們所想要進行訓練的標籤,點選Add Labels新增狀態標籤,如圖5,此處本文預想辨識射出成型機基礎操作中關模、射出、頂出三項作動,因此以這三項作動名稱分別設置Label。

圖5 新增狀態標籤

設置完Labels之後便可開始著手錄製機台生產音頻,並於錄製前選取Label接著開始錄製(圖左),點選Begin Recording即可開始錄製(圖中),錄製後可至Project Explorer查看錄製完的檔案(圖右),檔名會依照錄製當下所選取的Label進行命名。

步驟3. 生產週期音頻錄製

於上述步驟設定好所需的關模、射出與頂出三項標籤之後即可開始錄製音頻,本文蒐集了多筆完整的生產週期音頻,而錄製的過程中將會產生.qlsm/.wav檔案,並於匯入Data Capture Lab後會以音頻波形圖來呈現,如圖6所示,另外亦可透過指令將其轉換為MFCC進行比對。

註:梅爾頻率倒譜係數(Mel-Frequency Cepstral Coefficients, MFCC)

圖6 生產週期音頻波型圖

我們可以從此音頻與實際錄影交叉比對後得知:(A)為關模;(B)為射出;(C)為頂出,並將波段放大來看即可明顯分辨三者的差異性,如圖7所示。

圖7 波段放大圖

步驟4. 標註作業

接著我們便可以對先前錄製的所有生產音頻進行標註作業,在Label Explorer模式下標註想擷取的片段,透過右鍵標註所要辨識的頻譜特徵段落,並於右方紅框處設置該特徵所代表的標籤,標註介面如圖8所示。

圖8 特徵標註

步驟5. 模型訓練

在Data Capture Lab標註完我們訓練模型所需的數據片段後並儲存上傳至雲端,接著開啟Analytics Studio來進行模型訓練。首先我們在Notebook新增Python 3專案,如圖9,並輸入程式碼來運行訓練UI,如圖10。

圖9 Analytics Studio新增專案

圖10 開啟模型訓練UI

接著在Project選擇先前在Data Capture Lab內創建的專案,再新增一個Pipeline名稱並點選Add,如圖11。然後於Data Exploration內的Create New Query中輸入名稱並選擇Device後點選Add,如圖12。

圖11 Pipeline建置

圖12 Query建置

於此階段我們已將模型訓練所需的數據都準備好了,經確認右側標籤名稱與資料筆數無誤後點選Save,為下一步驟的模型訓練進行準備更新,如圖13。

圖13 Data Preparing

更新過後即可執行Model Building,然而需要特別注意一點是關於Window Size該項參數的設置,如圖14中紅框處,可以將其理解為訊號切割的區間大小,參數的大小需視音頻特徵是屬於離散事件或連續事件而定,該參數將會直接影響整體模型準確率,經過本文反覆試驗後,以8000單位得到最佳約97 % (96.88 %)的準確率,如圖15。同時,該軟體的強大之處在於模型訓練階段會利用內建多樣演算法一次性產出五組最佳模型,因此我們能依照不同需求來挑選最適合的模型。

圖14 訓練參數設定

圖15 5組模型產出

另外,我們亦可透過混淆矩陣來詳細觀察該模型的指標,如圖16,本文以分類器大小、召回率以及F1-Score等評估指標為參考,選擇編號0模型為最適模型。同時,我們亦可透過該模型的向量圖或密度圖來更進一步分析該模型的表現,如圖18與圖19所示,而此模型使用K-NN來進行分類,如圖17。

圖16 混淆矩陣

圖17 模型演算法構成

圖18 密度圖

 

圖19 向量圖

步驟6. 模型產出與燒錄

在選定最適AI模型過後,為將其應用至感測器上,我們必須將該模型的Knowledge Pack進行打包與下載,如圖20所示。

圖20 Knowledge Pack生成

隨後將感測器透過傳輸線與電腦連結,並把上述知識包中的.bin檔燒入至S3 AI晶片中,連接與燒錄如圖21與圖22所示。

圖21 感測器連接電腦

 

圖22 開始燒錄模型

燒錄完成後即可進入logs資料夾觀看紀錄,若出現Success則代表燒錄成功,Log內容如圖23所示。

圖23 Log檔

步驟7. 模型驗證

成功將模型燒入感測器後,接著我們即可利用智慧型手機來驗證該模型是否正常運作,同時接收到最即時的生產狀態資訊。首先,打開Test APP並透過藍芽與目標感測器進行連結,然後進入Setup events將先前Knowledge Pack中的model.json的標籤資訊輸入至欄位中,如圖24。標籤狀態設置完成後,倘若感測器正常運行且成功識別機台生產狀態,便會在Last event detected即時更新狀態,如圖25所示。

圖24 狀態標籤設定

 

圖25 感測器狀態辨識顯示面板

小結

人工智慧發展至今,已有許多軟硬體的操作越趨人性化與便利,這樣的好處是能讓使用者能更專注在機器學習的應用層面,本文僅使用QuickLogic Merced HDK上的數位麥克風單元來蒐集數據,而該開發版仍有許多感測元件可蒐集更多元的原始數據。另外,日前QuickLogic也推出最新的開源(Open Source)硬體評估板QuickFeather,以更低成本提供更有彈性的設計,因此希望大家能以本文為參考,在機器學習領域利用不同的感測元件來發揮巧思與創意。

(責任編輯:謝涵如)

 

Author: 康智維

擅長領域包括人工智慧、AIoT、機器學習、電子商務、ERP。 曾參與眾多科技部或地方政府計畫,並熱衷學習新鮮事物,喜愛戶外運動,享受旅行與美食。

Share This Post On

發表

跳至工具列