0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

比閃電還快,人臉檢測中的戰(zhàn)斗雞!

nlfO_thejiangme ? 來源:YXQ ? 2019-07-17 17:22 ? 次閱讀

人臉檢測是應(yīng)用最為廣泛的計算機視覺任務(wù)之一,特別是在移動端上發(fā)揮著不可替代的重要作用,包括美顏、人臉跟蹤、VR、人臉特效、人臉識別等任務(wù)以及刷臉支付、直播、試妝等應(yīng)用上都有著廣泛的引用,幾乎涵蓋了人工智能落地的方方面面。作為很多后續(xù)工作的第一步,人臉檢測器需要達到非常高效的性能,盡可能高速準確地完成檢測任務(wù)。

為了不斷提升用戶的流程體驗、促進人臉相關(guān)應(yīng)用的進一步發(fā)展、拓寬支持人臉檢測的設(shè)備范圍,來自谷歌的研究人員通過改造mobileNet提出更為緊湊的輕量級特征提取方法、結(jié)合適用于移動端GPU高效運行的新型錨框機制,以及代替非極大值抑制的加權(quán)方法保證檢測結(jié)果的穩(wěn)定性,在移動端上實現(xiàn)了超高速的高性能人臉檢測BlazeFace最快不到一毫秒的檢測速度為眾多人臉相關(guān)的應(yīng)用提供了更廣闊的發(fā)展空間。

強大的模型一定有強大的細節(jié)在支撐。

BlazeFace模型一共從四個方面進行了有效改進,從而大幅減小了計算量并提高了檢測精度與穩(wěn)定性。它提升了mobilenet中深度可分離卷積的計算效率和感受野,基于此構(gòu)建了有效的特征抽取器、改進錨框機制后處理過程。

更大的感受野更快的計算。mobilenet中的深度可分離架構(gòu)包含了每個通道上的3*3卷積和逐點進行的在深度方向上的1*1的卷積操作。

深度可分離卷積

研究人員發(fā)現(xiàn),其中大部分計算量都發(fā)生在最后逐點計算1*1的過程中。例如針對一個s*s*c的張量,如果使用k*k卷積核為大小的深度可分離操作,那么第一步操作的計算量是s^2*c*k^2,第二步針對d個通道的輸出進行逐點1*1卷積的計算量則是s^2*c*d,第二步相對于第一步的計算量消耗是d/k^2倍。在mobilenet論文中也提高1*1卷積對于計算資源的占比較高。

讓我們再來直觀的感受一下這兩種操作計算量的大小。針對實際的iPhoneX手機,其中基于Metal Performance Shader實現(xiàn)的3*3卷積,針對56*56*128大小的16比特浮點張量操作需要0.07ms,而使用1*1卷積對128通道到128通道的操作則需要耗時0.3ms,幾乎是前者的四倍多。

這樣的結(jié)果為研究人員指明了提高效率的方向,增加深度可分離卷積操作中第一步核的大小是相對高效的選擇。所以在BlazeFace中研究人員將卷積核的大小擴大成了5*5。卷積核的增大在bottleneck總量減小的情況下保證了模型感受野的大小。

此外,MobileNetV2的bottleneck通過非線性將深度增加的擴張和深度縮減的投影分開。

mobileNet中的深度可分離卷積單元

為了適應(yīng)Blaze單元中更少的通道數(shù),研究人員對這一階段進行掃描使得殘差可以實現(xiàn)類似拓展通道分辨率的操作。

BlazeBlock的單元構(gòu)造,包括增大的卷積核與殘差連接。

左圖是基本的blaze單元,右圖是雙blaze單元

由于增大了卷積核后的Blaze單元的開銷很小,使得另一個層的加入成為可能。于是研究人員又在上面模塊的基礎(chǔ)上開發(fā)出了雙份的Blaze單元。不僅增加了感受野的大小,同時也提高了特征的抽象。

特征抽取器。雖然這一模型同時適合與后攝和前攝,研究人員在文章中針對前視攝像頭作為例子來構(gòu)建特征抽取器,前視攝像頭需要搜索的范圍更小,計算需求也更少。

模型的輸入是針對128*128大小的rgb圖像展開的,在一個卷積后疊加了5個單Blaze單元和6個雙Blaze單元,可以看到通道數(shù)最多的時候達到了96,而最低的空間分辨率則不低于8*8的大小。

可以發(fā)現(xiàn)這一模型的最大通道數(shù)大大小于其他模型,而最低空間分辨率也較高。下面是模型的構(gòu)造細節(jié):

錨框機制。錨框在目標檢測中廣泛使用,通常為了適應(yīng)多尺度的目標,預(yù)定義的錨框都包含了多個不同的分辨率。同時大幅度的將采樣也為目標檢測中的計算量帶來了較多的優(yōu)化。雖然SSD中使用了多個不同尺度的特征度來進行預(yù)測,單池化金字塔架構(gòu)中卻表明過多尺度的特征圖可能在某個分辨率后變得冗余。

同時GPU計算相比于CPU存在一個需要注意的關(guān)鍵問題,針對特定層的計算GPU存在固定的調(diào)度開銷,在對低分辨率層進行計算時會尤其明顯。例如測試中的MobileNetV1耗時4.9ms,其中只有3.9ms真正在進行計算。

綜上考慮,研究人員對于錨框的設(shè)計作出了以下幾個方面的改進:

首先特征圖的尺寸不低于8*8,避免更深的下采樣;

其次將8*8,4*4和2*2各個特征圖上的兩個錨框用8*8特征圖上的6個錨框代替;

由于人臉的寬高比相對問題,在實際過程中使用1*1的錨框比例已經(jīng)能夠達到足夠的精度了。

后處理。由于在8*8的特征圖上存在多個錨框,很有可能產(chǎn)生多個重疊的結(jié)果。為了處理多個不同的框,先前的方法利用執(zhí)行度的非極大值抑制來選擇可能性最高的框作為結(jié)果,但這會帶來人臉檢測結(jié)果的抖動,造成人類感知上的不適。

為了緩解這種抖動,研究人員使用融合策略代替了非極大值抑制,通過加權(quán)平均多個重疊結(jié)果的方式來估計最后回歸的bbox參數(shù)。這不會增加額外的計算量,在減小抖動的同時還提升了10%的精度。實驗表明這一機制使得前視攝像頭的人臉檢測抖動降低了40%,后攝則降低了30%。

優(yōu)異性能

實驗中研究人員利用66K圖像進行了訓(xùn)練,2K多樣性圖像進行了測試。下圖顯示了數(shù)據(jù)在地理位置上的多樣性:

針對前視攝像頭模型,只有超過20%的區(qū)域被人臉(faces)占據(jù)才考慮(后攝5%,為了與實際情況相符)。下圖顯示了與MobileNetv2-SSD對比下的前視攝像頭性能,研究人員利用tensorflowLite在16bit下實現(xiàn)了模型,在iPhoneXS上僅需0.6ms,這意味著達到了1600fps+的速度。

研究人員還測試了在不同型號手機上的實現(xiàn)結(jié)果,速度都在約170fs到1600ps之間。

最后研究人員還比較了回歸參數(shù)的預(yù)測質(zhì)量,由于模型體量較小帶來了一定程度的退化,但不影響AR或者人臉跟蹤中的使用。

應(yīng)用展示

高速準確的人臉檢測網(wǎng)絡(luò)將為后續(xù)的人臉相關(guān)任務(wù)提供有效地預(yù)處理,包括關(guān)鍵點檢測、輪廓、表面幾何估計、微表情識別和人臉解譯等任務(wù)。

通過與BlazeFaze給出的人臉關(guān)鍵點結(jié)合,算法可以得到跟隨人臉旋轉(zhuǎn)的bbox,得到居中的、尺度歸一化的、相對框無較大角度誤差的人臉結(jié)果,這將大幅度降低后續(xù)對于圖像的旋轉(zhuǎn)和平移處理,節(jié)約了計算的開銷。

例如在人臉輪廓檢測中,首先利用BlazeFace模型預(yù)測出人臉框和對應(yīng)的關(guān)鍵點,隨后利用更為復(fù)雜的模型對人臉輪廓進行進一步優(yōu)化估計。這些檢測結(jié)果可以用于后續(xù)幀的處理中。

研究人員展示了基于這一人臉檢測模型的一系列例子,包括人臉幾何重建、分割、美妝等等。

值得一提的是,研究人員還將這一方法集成到了多模態(tài)媒體機器學(xué)習(xí)工具mediapipe中,這一工具包含了多種圖像處理模塊和方法、可以基于圖機制來構(gòu)建多模態(tài)的機器學(xué)習(xí)應(yīng)用工具鏈,并實現(xiàn)跨平臺的運行。

最后附上一份Blazeface的海報,再次感受下這一算法眾多的創(chuàng)新:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6177

    瀏覽量

    105691
  • 人臉檢測
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    16478

原文標題:超高速人臉檢測器BlazeFace,谷歌將人臉檢測效率提升到逆天水平

文章出處:【微信號:thejiangmen,微信公眾號:將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    《DNK210使用指南 -CanMV版 V1.0》第四十四章 人臉68關(guān)鍵點檢測實驗

    第四十四章 人臉68關(guān)鍵點檢測實驗 在上一章節(jié),介紹了利用maix.KPU模塊實現(xiàn)了人臉屬性分析,本章將繼續(xù)介紹利用maix.KPU模塊實現(xiàn)的人臉
    發(fā)表于 11-18 14:28

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    功能,首先要進行人臉檢測,判斷出圖片中人臉的位置,才能進行下一步的操作。 OpenCV人臉檢測方法 在OpenCV
    發(fā)表于 11-15 17:58

    閃電定位儀的原理

    機場智能防雷裝置 閃電定位儀
    發(fā)表于 11-13 16:37 ?0次下載

    閃電定位儀應(yīng)用簡介

    閃電定位儀應(yīng)用簡介
    發(fā)表于 11-13 16:34 ?0次下載

    雷電閃電定位系統(tǒng)是什么

    雷電閃電定位系統(tǒng)是什么
    發(fā)表于 11-06 10:52 ?0次下載

    安富利基于ZUBoard開發(fā)板和雙攝像頭子卡推出立體人臉檢測方案

    ,其前提必然是精準、可靠的人臉檢測。 為了滿足日益增長的人臉檢測需求, 安富利基于ZUBoard開發(fā)板和雙攝像頭子卡推出立體人臉
    的頭像 發(fā)表于 07-11 09:41 ?871次閱讀
    安富利基于ZUBoard開發(fā)板和雙攝像頭子卡推出立體<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>方案

    人臉識別技術(shù)的原理介紹

    的應(yīng)用。本文將詳細介紹人臉識別技術(shù)的原理,包括人臉檢測、人臉特征提取、人臉匹配等關(guān)鍵步驟。 一、人臉
    的頭像 發(fā)表于 07-04 09:22 ?1389次閱讀

    如何設(shè)計人臉識別的神經(jīng)網(wǎng)絡(luò)

    識別技術(shù)主要分為兩個步驟:人臉檢測人臉特征提取。人臉檢測是指在圖像定位出
    的頭像 發(fā)表于 07-04 09:20 ?700次閱讀

    人臉檢測模型的精確度怎么算

    檢測是計算機視覺領(lǐng)域的一個重要研究方向,其目的是在圖像或視頻快速準確地定位人臉的位置。人臉檢測模型通常包括兩個主要步驟:
    的頭像 發(fā)表于 07-04 09:14 ?586次閱讀

    人臉檢測模型有哪些

    人臉檢測是計算機視覺領(lǐng)域的一個重要研究方向,它涉及到從圖像或視頻檢測出人臉的位置和大小。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,人臉
    的頭像 發(fā)表于 07-03 17:05 ?1109次閱讀

    人臉檢測人臉識別的區(qū)別是什么

    檢測人臉識別的區(qū)別。 定義 人臉檢測是指在圖像或視頻快速準確地找到人臉的位置,并將其從背景中
    的頭像 發(fā)表于 07-03 14:49 ?1327次閱讀

    人臉檢測的五種方法各有什么特征和優(yōu)缺點

    人臉檢測是計算機視覺領(lǐng)域的一個重要研究方向,主要用于識別和定位圖像人臉。以下是五種常見的人臉檢測
    的頭像 發(fā)表于 07-03 14:47 ?919次閱讀

    人臉檢測與識別的方法有哪些

    越來越重要的角色。隨著計算機技術(shù)的發(fā)展,人臉檢測與識別技術(shù)也在不斷地進步和完善。本文將從人臉檢測與識別的基本概念出發(fā),詳細介紹各種方法和技術(shù),并探討它們在實際應(yīng)用
    的頭像 發(fā)表于 07-03 14:45 ?769次閱讀

    ESP32-S3運行人臉檢測功耗有多大呢?

    ESP32-S3運行人臉檢測,功耗有多大?
    發(fā)表于 06-26 06:32

    人臉識別技術(shù)的原理是什么 人臉識別技術(shù)的特點有哪些

    人臉檢測人臉識別的首要步驟。其目標是在圖像或視頻準確地定位人臉的位置。人臉
    的頭像 發(fā)表于 02-18 13:52 ?2089次閱讀