王 昕,寇云峰,辛 浪,宋 滔
(中國電子科技網絡信息安全有限公司,四川 成都 610041)
人工神經網絡是抽象人類大腦結構和對外界刺激響應機制,模擬人類神經系統對復雜信息處理機制的一套模型,涉及生物仿生學、數學、物理學、統計學、計算機科學、軟硬件工程學等科學和技術領域。目前在圖像檢索[1]、字符識別[2]、筆跡識別[3]等領域中已得到廣泛應用。
其基本由三個部分組成:輸入層、隱藏層、輸出層。輸入層接收外部信息,輸出層得到該網絡處理后的結果,隱藏層則處于兩者之間。層與層之間由大量神經元相互聯接。神經元的作用是對輸入的數據進行加權求和并應用于激活函數,處理后將輸出數據傳遞給下一個神經元。神經網絡輸入層接收到外部信息后,輸出結果可靠性的高低主要取決于神經網絡隱藏層結構優劣。對現有神經網絡內部結構的優化是突破類似手機攝像頭這種小目標物體實時識別瓶頸的關鍵點。
識別系統如圖1 所示。輸入采集模塊通過攝像頭實時抓取一定范圍內的圖像,由智能識別模塊識別該圖像中是否存在手機拍攝行為。如果存在則將識別結果傳遞給輸出控制模塊,輸出控制模塊根據識別結果控制屏幕供電電路。若存在違規行為,則關閉顯示并報警,實現智能防御功能,保障信息安全。
搭建人工神經網絡框架PyTorch,通過深度學習訓練形成模型。使用該模型結合OpenCV 圖像識別技術對手機拍攝行為進行識別檢測。

圖1 智能識別系統示意圖
(1)采集各種品牌手機和從不同角度、不同距離手機拍攝行為的圖片建立大數據樣本庫。將樣本庫劃分為訓練集和測試集。
(2)使用圖像處理軟件對樣本庫中的圖片進行預處理,如圖2 所示。保證圖片格式符合要求,手機特征明顯。加入類似手機的負樣本,降低誤識別率,提高模型的泛化能力。
(3)使用標注軟件Labelimg 將手機部分標注為cellphone,攝像頭部分標注為phonecamera.如圖3所示。將標注好的圖片保存在樣本庫中。

圖2 樣本預處理

圖3 手機特征標注
將標注后的樣本加載到人工神經網絡中進行深度學習,形成訓練結果模型。人工神經網絡深度學習原理如圖4 所示。智能識別系統將在第一層網絡中初步識別是否存在具有手機簡單特征的目標。如果初步識別結果為存在,則在第二層網絡中進一步精確識別該目標符合手機特征的可能性。如果該可能性超過預設的閾值,則判斷目標為手機。

圖4 深度學習原理圖
系統核心算法的關鍵點是在復雜場景中實時識別出小物體手機,確保在手機拍攝行為完成前關閉屏幕。在保證識別精度的前提下對神經網絡識別速度有很高要求。經過測試,識別時間不能超過500ms。這就需要在速度和精度上進行折中。
保證mAP(Mean Average Precision,總體平均精度)指標,要選擇一個圖像特征提取能力較強的主干網絡,并且不能太大,否則會影響檢測識別速度。如果采用R-CNN 算法[4],第一步是提取候選區域,第二步是修正候選區域的邊框位置并對候選區域識別。雖然精度很高,但需要先提取候選區域,然后才能在該候選區域內識別,速度上不能滿足需求。因此,選擇能夠直接預測出圖像中目標的位置,不需要先進行候選區域的計算的One stage 算法。
YOLO 是One stage 目標檢測的一種,全名為You only look once。它將目標識別定義為一個直接回歸問題,在預測時使用一整張圖像的全局信息作為輸入,直接由全圖就能預測其中目標的邊界框及所屬類別的概率。整個檢測是一個網絡,可以直接對其檢測性能進行端到端的優化,在保持高平均精度的同時實時做識別檢測[5]。因此,實現相同精度顯著地比其他檢測方法快,得到的目標特征更容易泛化,更有利于在不同場景下實時智能識別出手機的拍攝行為。選擇YOLOv4-Tiny 作為核心算法,它是YOLOv4 的簡化版,在精度損失不大的前提下提升了速度,更適合識別系統集成于嵌入式設備的特點。
YOLOv4-Tiny 主干特征提取網絡為CSPDarknet 53-Tiny。網絡采用CSPnet 結構,其結構如圖5 所示。殘差塊的堆疊被拆分成左右兩個部分,右邊部分繼續進行原來殘差塊的堆疊,左邊部分可以認為是一個殘差邊經少量處理直接聯系到最后。

圖5 CSPnet 結構圖
YOLOv4-Tiny 的原型主干特征提取網絡只有13×13×512、26×26×256 兩個有效特征層。在此基礎上增加一個52×52×128 有效特征層來優化網絡結構,其結構圖如圖6 所示。增加的有效特征層能更加精確地識別出手機攝像頭這種小目標。
輸入為416×416×3的圖像通過CSPDarknet53-Tiny 的主干特征提取網絡得到52×52×128、26×26×256、13×13×512 三個有效特征層,然后傳入加強特征提取網絡中進行FPN(Feature Pyramid Networks,特征金字塔)構建。FPN 會將13×13×512 有效特征層卷積后進行上采樣與26×26×256 有效特征層堆疊;將26×26×256 有效特征卷積后進行上采樣與52×52×128 有效特征層堆疊。這樣就在輸出層形成了三個預測特征的YOLO head。
將數據樣本訓練集中圖像為608×608,416×416 的樣本載入PyTorch 人工神經網絡框架中進行多尺度深度學習訓練,GPU 使用Nvidia RTX6400,訓練的迭代次數為15000 次。如表1、表2 所示。最后,通過訓練后生成的模型檢測測試集中像素為320×320、608×608、416×416 的樣本。

圖6 416×416 特征網絡結構

表1 訓練輸入:608x608 GPU:Nvidia RTX6400迭代:15000 次

表2 訓練輸入:416x416 GPU:Nvidia RTX6400迭代:15000 次
根據圖7、圖8 的數據可以看出優化后的YOLOv4-Tiny 對手機和攝像頭的特征識別得到了較高的mAP(總體平均精度)和較低的Loss(損失)值,取得了較好的訓練效果。
使用訓練后的模型對不同場景下手機拍攝行為進行檢測,模型三個特征提取層分別將整幅輸入圖像分成13×13、26×26、52×52 的網格。每個網格負責一個區域的檢測,網格數越多的特征提取層對物體細節特征的檢測越精確。13×13、26×26 主要負責檢測輸入圖像中的手機,52×52 主要負責檢測輸入圖像中的攝像頭。如圖9所示,通過檢測比較,對橫置攝像頭的識別度需加強。

圖7 訓練608×608 樣本

圖8 訓練416×416 樣本

圖9 識別檢測結果
本文介紹了一種基于人工神經網絡的實時智能識別系統。分析并部署了該產品神經網絡在具體應用中的優化方案。經過驗證實現了利用人工智能深度學習和圖像識別技術對手機拍攝行為實時的智能識別和防御報警,保障了信息安全。后續還需加強對小目標和遠距離目標的識別能力,提高集成在嵌入式設備中人工神經網絡的性能。此外,對于人工神經網絡結構和算法的優化是繼續探索的方向,也將推動人工智能與各行業的高度融合。