科學家已經發展了邊緣面這是一種優化的新型面部識別模型,可在處理能力和存儲有限的設備上使用。這種輕巧的面部識別網絡的靈感來自EDGENEXT的混合體系結構,該網絡結合了卷積神經網絡(CNN)和變形金剛的優勢,以執行準確的面部識別,同時保存計算資源。
典型的面部識別系統依靠深度神經網絡,儘管它們準確性,但仍需要廣泛的記憶和處理能力,從而使它們不切實際地用於邊緣設備。為了應對這些挑戰,已經朝著設計更有效的神經網絡以進行視覺相關的任務了,旨在平衡準確性與可用的計算資源。
但是,隨著引入更新的模型視覺變壓器(VIT),該技術通過有效捕獲長期互動來提高面部識別的有前途的方法。題為“邊緣:邊緣設備的有效面部識別模型”的研究論文結合了諸如低級線性模塊(Loralin)之類的技術,以通過最大程度地減少對大量機上內存的需求來在邊緣設備上實現高性能。
引入邊緣面識別模型
研究人員擴大了現有的EDGENEXT為下一代邊緣設備上的面部識別而定制的建築。進行了一些修改,以使Edgenext體系結構降低參數和計算成本(FLOP),以使模型更加高效和輕巧。
該團隊之所以選擇EDGENEXT,是因為它在圖像識別精度中優於其他流行模型,例如MobileVit和EdgeFormer。 EDGENEXT還通過使用“轉置查詢和關鍵注意特徵圖”來解決邊緣設備的變壓器成本,從而跨通道而不是空間維度實現了有效的計算。
然而,儘管Edgenext的效率,其線性層仍然對計算成本和參數大小都有顯著貢獻。作者建議用新開發的洛拉林層代替傳統的線性層,這些層使用小矩陣來減少參數和計算的數量。
Pytorch類實現低級線性層(Loralin)
班級洛拉林(nn.模塊):
防禦__init __(self,in_feat,out_feat,伽馬,偏見):
極好的(Loralin,self).__ Init __()
等級=最大限度(2,int((int)(最小(in_feat,out_feat) * gamma))
self.lin1 = nn.linear(in_feat,等級,bias = false)
self.lin2 = nn.linear(等級,out_feat,bias = bias)
防禦向前(自我,輸入):
x = self.lin1(輸入)
x = self.lin2(x)
返回x
用於實現洛拉林的Pytorch類旨在通過將傳統的緻密層分解為兩個較低級別的矩陣來創建更具參數的線性轉換。這種方法降低了計算成本和所需的參數數量,使其適用於邊緣設備。
該代碼通過獲取四個參數,即輸入功能的數量來創建洛拉林類的實例(in_feat),輸出功能的數量(out_feat),控制低級矩陣等級的超參數(伽瑪)和布爾國旗(偏見)。下一行計算層中使用的低級矩陣的等級。它確保排名至少為兩個,並將其與由伽瑪超參數控制的輸入特徵,輸出特徵之間的較小維度進行比較。
代碼計算兩個線性層,第一個線性層(in_feat)輸入功能((秩)輸出功能,((偏見= false)沒有偏差術語,而第二個線性層(秩)輸入功能((out_feat)輸出功能,並指定(偏見) 行為。
當在神經網絡中使用層時,正向通行證執行實際計算。該代碼將第一個線性層應用於輸入數據,將第二個線性層應用於第一層的輸出,以返回洛拉林層的最終輸出。
基準的邊緣表面性能和準確性
與較大且更複雜的模型相比,新開發的Edgeface面部識別模型即使在LFW,IJB-B和IJB-C等基準數據集上達到了最新的精度。根據記錄,該模型僅需要177萬參數,使其非常緊湊,適合邊緣設備。
“我們的實驗表明,與SOTA輕量級模型相比,我們的模型非常有效,並且在我們評估中使用的七個基準測試數據集中,EdgeFace在每個模型中具有2-5 M參數和<2M參數的模型中,EdgeFace實現了四個不同的數據集的最佳識別性能。
該代碼將公開可用,允許採用者測試和驗證模型性能。