婁莉 徐學宇 牛國鋒 朱苗苗



關鍵詞:深度學習; 圖像多樣化分析; 貨物識別
0 引言
在當今競爭激烈的全球商業環境中,中國作為世界級工廠的大國優勢也在日益凸顯,國內海量倉儲貨物的管理將耗費大量人力、物力資源。倉儲貨物管理至今仍然有許多依靠人力完成貨物出入庫時的信息登記和貨物統計,該項工作不僅信息登記效率低,統計速度慢,還容易導致統計結果出錯,而且人工成本較高[1]。目前,我國“物聯網+”技術不斷成熟,在各個領域內得到廣泛應用,倉儲貨物識別及管理的現狀對人們提出了更高的要求,要能夠高效地實現倉儲貨物的智能化管理。隨著數字技術的發展,圖像視覺內容在倉儲貨物管理中能夠起到很好的輔助作用。如何搜索到所需要的圖像成為一個挑戰,特別是在數據庫中搜索相似的內容,即基于內容的圖像檢索是一個由來已久的研究領域,實時檢索需要更高效、更準確的方法。人工智能在基于內容的檢索方面取得了進展,極大地促進了智能搜索的進程。基于深度學習進行圖像檢索工作,自動化程度不斷提高,并逐漸趨于高速小型化、智能化[2]。如何使用深度學習進行圖像檢索,并根據深度網絡結構、深度特征、特征增強方法和網絡微調策略等方法應用到倉儲貨物的管理中需要進行研究。倉儲貨物驗收、復檢等作業由于種類多且數量龐大,導致作業費時費力。本應用系統可實現自動對貨物進行快速圖像比對后查驗識別,排查貨物遺漏或錯誤等問題,從而減少人力與時間資源的成本投入,大大提高貨物識別篩查驗收效率,為倉儲貨物、快遞公司等企業降低相關成本。
1 云端EasyDL 開發平臺及系統架構
1.1 云端EasyDL 開發平臺
2017年11月,EasyDL在國內率先推出針對AI零算法基礎或者追求高效率開發的企業用戶的AI開發平臺,平臺背后主要使用了深度學習的技術,提供從數據采集、標注、清洗到模型訓練、部署的一站式AI開發能力。本系統在云端使用EasyDL AI開發平臺,采用一站式完成模型訓練及部署工作。EasyDL圖像支持定制圖像分類、物體檢測、圖像分割三類模型。這三類模型有效地利用圖像多樣化分析技術對圖像進行處理,功能分別如下[3]:
1) 圖像分類:識別一張圖中是否為某類物體、某一狀態或場景,主要應用于需要對整張圖片內容的對比后進行分類的簡單場景,相對比較單一。
2) 物體檢測:檢測圖中每個物體的位置、名稱等特征,應用在適合圖中有多個主體要識別、要識別主體位置及數量的較復雜場景。
3) 圖像分割:對比物體檢測,支持用多邊形標注訓練數據模型,應用于要求較高的像素級識別目標,適合圖中有多個主體、需識別其位置或輪廓的復雜場景。
1.2 系統架構及配置
本系統通過工作機終端連接到云端 EasyDL AI開發平臺,外接網絡攝像頭,系統基本架構如圖1所示。
通過工作機終端進行系統配置,在config文件中配置好攝像頭相關參數信息,包括外接攝像頭配置IP 地址,訪問http端口、訪問賬號和密碼等,配置數據庫相關信息,包括設置服務器地址、訪問賬號、訪問密碼、數據庫名等,并且進行數據庫連接。同時設置系統處理日志輸出到指定的文本文件中,日志記錄文件將按照日期自動生成。
1.3 系統安全設計
公有云API、私有服務器和設備端SDK均支持圖像分類、物體檢測、圖像分割三種模型。
訓練完成的模型部署在私有CPU/GPU服務器上,支持私有API和服務器端SDK兩種集成方式,可在內網或無網環境下使用模型,確保數據隱私。在私有API方式下,將模型以Docker形式在本地服務器(僅支持Linux) 上部署為http服務,可調用與公有云API 功能相同的接口,可純離線完成部署,服務調用便捷,可進行設備端離線計算。在服務器端SDK方式下,將模型封裝成適配本地服務器(支持Linux和Windows)的SDK,可集成在其他程序中運行,占用服務器資源更少,使用方法更靈活。
2 系統深度學習及物體檢測
2.1 系統深度學習過程
2.1.1 模型創建
按照導航,在創建模型中填寫系統要創建的模型名稱、功能描述及個人相關信息等,即可創建模型,創建好的模型可在“ 我的模型”中進行相關信息的修改和查看。本系統創建的物體模型信息如圖2所示。
2.1.2 模型訓練
模型訓練即系統的深度學習過程,通過學習數據集中的樣本數據,讓系統“認識”物體對象,并“記憶”對象特征。在EasyDL平臺進行訓練的過程中,可以可視化在線操作訓練任務的啟停、訓練任務的配置。可以大幅減少線下搭建訓練環境、自主編寫算法代碼的相關成本前期的數據提交到系統中后,在導航中的訓練模型模塊中選擇需要訓練的模型以及相應的數據,然后開始訓練。訓練完成的模型存儲在云端,可通過獨立Rest API調用模型,實現AI能力與業務系統或硬件設備整合。
EasyDL目前提供兩種訓練方式:常規訓練和精度提升配置包。本系統采用精度提升配置包,選用百度自有超大規模預訓練模型,讓模型有更好的精度效果,并提供按云調用時延選擇網絡模型形式,根據實際需求及應用場景,選擇優質模型。
訓練時的算法選擇也是重要的一環。不同的部署方式下,可以選擇不同的算法。本系統選擇采用公有云API中的高精度算法完成模型訓練。
2.1.3 模型校驗
模型訓練完成后進行模型的校驗。校驗模型可通過模型評估報告或模型校驗了解掌握模型效果。模型評估報告是在模型訓練完成后,在導航“我的模型”列表中展示和查看模型效果以及詳細的模型評估報告。模型在線校驗:可以在左側導航中找到“校驗模型”,在線校驗模型效果。模型校驗功能如圖3 所示。
2.1.4 發布模型
訓練完成后,可將完成的模型部署在公有云服務器、通用小型設備、本地服務器等,可實現靈活適配各種使用場景及運行環境[4]。
1) 公有云在線服務部署:將訓練完成的模型存儲在云端,通過獨立Rest API調用模型,實現AI能力與業務系統或硬件設備整合。云端部署的優越性在于具有完善的鑒權、流控等安全機制,GPU集群穩定,實現承載高并發請求,同時支持查找云端模型識別錯誤的數據,糾正結果并將其加入模型迭代的訓練集中,不斷優化模型效果。
2) 離線服務部署:訓練完成的模型也可整體打包為純離線服務,下載到本地后實現穩定調用。純離線服務按部署硬件芯片不同分為本地服務器部署、通用小型設備部署。為了提供更好的算法與硬件推理效果,EasyDL提供軟硬一體化部署方案。
2.2 物體檢測
2.2.1 檢測數據集管理
本系統在創建數據集時,包含了大量的用于機器識別深度學習的標簽樣板數據,建立相應的數據集,包含大量“海康威視””“紫光”“ 維達”等標簽樣板數據,標簽樣板數據集部分圖如圖4所示。用于檢測的標簽樣板越多,系統的對比結果精確度就越高。
2.2.2 標簽標注
標簽可以理解為物體的標識,經過對比識別,通過標簽標注將一張檢測圖中某物體標注為某特定標簽,即系統將物體與該標簽綁定,也是系統識別物體的過程。
2.2.3 公有云服務發布
物體檢測結果在正式使用之前,還需要做的一項工作是為接口賦權,即物體檢測API 發布。登錄EasyDL云端控制臺中創建一個應用,獲得由一串數字組成的appid,然后就可以正式使用。
3 終端圖像識別
3.1 攝像預覽及圖像識別
系統通過調用攝像頭官方提供的CHCNetSDK DLL庫調用攝像頭,遠程訪問到攝像頭并獲取實時流數據,進行預覽。
圖像識別是將圖像根據提取出的特征進行分類,進而將待識別的圖像與已有的圖像分類進行匹配[5]。圖像識別可采用在線手動識別和離線自動識別兩種方式實現。
3.1.1 在線手動識別
在線的手動識別功能通過人為的手動觸發一次識別功能,系統會自動完成圖像的抓取、圖像檢測和檢測結果數據的統計。圖像抓取是從當前網絡攝像頭的視頻流中抓取某一時刻的圖片,用于與數據集中的標簽樣板進行比對。圖像檢測過程是系統首先通過API Key 和Secret Key 獲取Access_Token,通過HTTP/POST方式向云端發出請求,然后Access_Token 調用發布的API地址,并將圖片作為參數提交請求,系統根據API返回的結果進行圖像檢測結果解析,響應結果正確,返回圖片標識ID、分類名稱、圖像位置信息及圖像識別結果的物體及數量等,并將檢測結果的位置坐標在圖像中繪制矩形框進行明顯標識;當響應結果為錯誤時,返回錯誤并輸出保存至日志文件中,最后將檢測結果保存至Sqlserver數據庫的數據表中。本系統采用在線手動識別模式,圖像識別相應結果正確完成后的識別結果清晰,效果明顯,如圖5所示。
3.1.2 離線自動識別
離線自動識別功能使用系統定時器,可按需設置觸發間隔時間,比如定時器設定時間間隔為1s,定時的自動觸發識別功能每隔1秒執行1次自動識別操作,然后按照在線手動識別同樣的步驟完成圖像的識別,并輸出結果。
3.2 實現的App 主要程序代碼
本系統實現的主要程序代碼如圖6所示。
4 結束語
機器深度學習是倉儲貨物圖像分析及類型識別的強大工具之一,它可以有效應用于物體檢測、圖像分割及物體分類中。本應用系統采用云端EasyDL AI 開發平臺,通過工作機終端外接網絡攝像頭系統架構,設計實現基于機器深度學習和圖像貨物類型識別系統。本系統應用架構簡單,針對倉儲、物流企業實用性強,可為企業減少人力和時間資源的投入成本,大大提高貨物識別篩查和驗收效率。