近年來隨著時代的變遷以及技術的發展,工業的制造型態也歷經多次改革,而工業近期的重大轉變發生于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,以更低成本提供更有彈性的設計。
https://www.quicklogic.com/products/eos-s3/quickfeather-development-kit/
因此希望本文能為大家提供參考,在機器學習領域利用不同的感測組件來發揮巧思與創意。
審核編輯:湯梓紅
?
評論