97成人免费视频,97视频免费公开成人福利,免费视频99,99婷婷,国产伊人久久,亚洲视频欧美,国产精品福利久久

您當前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

在WebRTC上實現(xiàn)ML Kit笑容檢測

2018-06-21 09:40:21   作者:文 / Roberto Perez, Gustavo Garcia  譯 / 元寶   來源:CTI論壇   評論:0  點擊:


  本文來自Houseparty的WebRTC視頻專家Gustavo Garcia Bernardo和TokBox的WebRTC移動端專家Roberto Perez,他們通過Google的ML Kit在WebRTC通話中實現(xiàn)了簡單的笑容檢測,期間考慮到了檢測準確率、延時以及檢測頻度與CPU占用率的平衡等,實際結(jié)果表明ML Kit的檢測結(jié)果令人滿意。LiveVideoStack對本文進行了摘譯。
  現(xiàn)在,在大部分時間里建立視頻通話變得相對簡單,我們可以繼續(xù)使用視頻流做一些有趣的事情。隨著機器學習(ML)的新進展以及越來越多的API和庫的出現(xiàn),計算機視覺也變得越來越容易。Google的ML Kit是最近提出的一個新的基于機器學習的庫,可以快速訪問計算機視覺輸出。
  為了展示如何使用Google的新ML KIT來檢測實時WebRTC流上用戶的笑容,我想歡迎過去Houseparty的WebRTC視頻大師Gustavo Garcia Bernardo。與此同時歡迎TokBox的移動WebRTC專家Roberto Perez。他們給出了一些關(guān)于做面部檢測的背景知識,展示了一些代碼示例,但更重要的是分享了他們實現(xiàn)實時通信(RTC)應(yīng)用程序內(nèi)的微笑檢測的最佳配置的研究。
  介紹
  在實時通信(RTC)中最常見的機器學習(的例子是計算機視覺。然而,除了使用人臉檢測進行識別、跟蹤和增強之外,我們還沒有看到這些算法的許多實際應(yīng)用。 幸運地是兩周前Houseparty首席執(zhí)行官Ben Rubin發(fā)表的一則讓我們有機會探索人造視覺用例的評論:
  “若有人可以做一個來檢測笑臉的編外項目,以便讓我們可以開始測量笑容并在儀表板上顯示。 我認為這在許多不同的層面上都很重要。”
  幾乎與此同時,Google發(fā)布了他們用于機器學習的新的跨平臺移動SDK,名為ML Kit。 我們想要立即測試這個。 幸運地是,所有的行星都可以讓我們在一個真正的應(yīng)用上嘗試一下,即:在WebRTC對話中,在iPhone本地上通過ML檢測笑容。
  框架選擇
  我們可以一些設(shè)備上的機器學習框架和庫開始這項任務(wù)。這種類型的用例最有名的庫可能是OpenCV。 OpenCV是一個非常成熟的多平臺解決方案,具有多種基于傳統(tǒng)圖像處理技術(shù)的功能。 特別是對于iOS,Apple去年在這一領(lǐng)域開始添加一些新的API接口。現(xiàn)在他們擁有高層次的Vision框架和更低層次但更靈活的CoreML。 在Android方面,ML支持主要由Tensorflow Lite提供。另外還有,在前面提到的,Google最近添加了新的ML Kit框架。
  ML Kit具有一些優(yōu)點。首先,它是多平臺的,支持Android和iOS。 它也有幾個不同級別的抽象概念(高級和低級的API)。另外,它提供了不同的部署和執(zhí)行模型,允許在設(shè)備上和在云中進行處理。 最后,它還能夠?qū)崟r優(yōu)化和更新設(shè)備上的模型。
  實現(xiàn)
  從流中提取圖像
  我們需要做的第一件事是將ML Kit集成在我們的WebRTC應(yīng)用程序,以便訪問這些圖像。 我們需要獲取本地或遠程框架(取決于我們的用例)并將它們轉(zhuǎn)換為ML Kit支持的正確格式。
  ML Kit 人臉檢測實驗中 幀圖像朝上的方向
  在iOS中,ML Kit支持以UIImage或CMSampleBufferRef格式傳遞的幀。 注意 - 請確保旋轉(zhuǎn)圖像以保證圖像幀“朝上”。根據(jù)您使用的不同WebRTC API,獲取圖像的方法也不同。如果你使用官方WebRTC iOS框架,則可以將新的渲染器連接到本地或遠程RTCVideoTrack,以接收視頻幀作為RTCVideoFrame的實例。 通過訪問YUV緩沖區(qū),你可以輕松地將其轉(zhuǎn)換為UIImage。
  如果你使用的是像TokBox這樣的平臺上的API,那么你將使用自定義驅(qū)動程序訪問原始本地幀,然后在用戶端收到它們后將它們傳遞給WebRT和/或遠程幀。 這些幀將作為CVPixelBuffer或YUV緩沖區(qū)接收,這些緩沖區(qū)也很容易轉(zhuǎn)換為UIImage。
  人臉檢測API
  一旦你有了UIImage的框架,你可以將它傳遞給ML Kit人臉檢測器。正如我們稍后在大多數(shù)情況下會看到的那樣,您只會傳遞一定比例的幀,以減少對CPU使用率的影響。這是一段代碼,展示了訪問ML Kit API的容易程度:
  概率閾值
  我們發(fā)現(xiàn)使用0.5作為微笑概率閾值為我們的需求提供了良好的結(jié)果。 你可以看看我們構(gòu)建的示例應(yīng)用程序中的完整代碼,通過利用使用OpenTok捕獲視的頻和上面的代碼來檢測微笑的概率。
  性能評估
  RTC應(yīng)用程序通常是資源密集型的。 添加機器學習增加了這一點,所以資源消耗是一個主要問題。對于ML,通常要在準確性和資源使用之間進行權(quán)衡。在本節(jié)中,我們從不同的角度評估這些影響,為決定如何將這些功能引入應(yīng)用程序提供一些預(yù)期值和指導(dǎo)方針。
  注意:以下測試中的所有結(jié)果均在使用低端的iPhone 5 SE設(shè)備完成。
  時延
  要考慮的第一個重要參數(shù)是執(zhí)行檢測需要多長時間。
  ML Kit具有一系列設(shè)置:
  • 檢測模式:ML Kit在此提供兩個選項:Fast vs. Accurate(快速與準確)。
  • 標記:識別眼睛,嘴巴,鼻子和耳朵。啟用此功能會減慢檢測速度,但我們得到的結(jié)果要好得多。
  • 分類:我們需要此功能進行笑臉檢測
  • 臉部跟蹤:跨幀跟蹤相同的臉部。啟用它可以使檢測速度更快
  檢測時間以毫秒為單位 (ms)
  精確模式和快速模式之間的差異并不大(除非跟蹤功能被禁用)。 我們用快速模式獲得的精確度非常好,所以我們決定采用以下組合:快速模式+標志+追蹤。
  CPU使用率
  接下來我們將評估CPU使用率。 我們以每秒25幀的速率來處理。 在我們的用例中(以及其他許多情況下),我們不一定需要處理每一幀。 CPU /電池節(jié)省對我們來說比檢測每一個微笑更重要,因此我們運行了一些測試,修改了我們傳遞給ML Kit進行識別的每秒幀數(shù)。
  正如您在下圖中看到的那樣,在默認基線之上的額外CPU使用率(僅從攝像頭捕獲而不進行任何ML處理)與傳遞至ML Kit的臉部和笑臉檢測API的每秒幀數(shù)幾乎成線性增長。
  ML Kit以不同幀率處理的CPU使用率
  對于我們的實驗,每1或2秒處理一幀時,CPU使用率就是合理的。
  應(yīng)用程序大小
  現(xiàn)在,我們來考慮應(yīng)用程序的大小。 我們的應(yīng)用程序與任何應(yīng)用程序一樣,需要下載并加載。小總是好一些。隨著ML套件的應(yīng)用程序的大小“剛”增長約15Mb。 示例應(yīng)用程序大小從只使用OpenTok時的46.8Mb到ML Kit添加進來后的61.5Mb。
  準確度
  最后我們聊聊準確性。我們注意到的第一件事情是即使在快速模式下配置ML Kit時,面部檢測的準確程度也是如此。 我們的測試是在一個典型的移動/桌面視頻會議設(shè)置中完成的,人在看相機,沒有任何物體阻擋它。 在其他情況下,檢測會更加不可靠,并且不是很有用。 ML Kit也支持在圖像中檢測多個面,但我們沒有進行太多的測試,因為它在我們應(yīng)用程序的使用中并不常見。
  在我們的測試中,算法的決策總是非常接近人類可能會說的那樣(至少在我們看來)。 您可以在下面看到一個視頻以供參考,或者是自己運行示例應(yīng)用并查看結(jié)果。
  結(jié)論
  即使這個用例非常簡單,它也使我們有機會評估新的有前途的ML Kit框架。 它讓我們看到了向應(yīng)用程序添加新計算機視覺功能的價值和便利性。 從我們的角度來看,這次評估的兩個最有意思的結(jié)果是:一,這些模型的準確性之高令人驚訝,二,無法像預(yù)期中的在當今典型的移動設(shè)備中以全幀速率運行這些算法
  同樣重要的是要注意,這些人臉檢測用例中的一些可以用更簡單的圖像處理算法來解決,而不是應(yīng)用ML技術(shù)。 在這方面,像蘋果核心圖像這樣的一些API可能會提供更好的資源與精確度之間的折衷 - 至少可以在iOS平臺上進行人臉檢測。
  然而,傳統(tǒng)的圖像處理方法僅限于用在那些算法設(shè)計的一些簡化場景。 ML算法可以進行擴展和重新訓練。 例如,使用ML來檢測自定義人員的其他特征(如性別,年齡等)也可能很好。這種分析級別超出了傳統(tǒng)圖像分析算法可以達到的級別。
  下一步
  從技術(shù)角度來看,這次評估的下一步將是使用定制模型(可能使用CoreML)來實現(xiàn)更復(fù)雜的用例。 我們想到的是基于生成對抗網(wǎng)絡(luò)的圖像重建,用于非理想網(wǎng)絡(luò)條件下的視頻傳輸。這可能是提高視頻質(zhì)量的全新方法。
  LiveVideoStackCon 2018講師招募
  LiveVideoStackCon 2018是音視頻技術(shù)領(lǐng)域的綜合技術(shù)大會,今年是在10月19-20日在北京舉行。大會共設(shè)立18個專題,預(yù)計邀請超過80位技術(shù)專家。如果你在某一領(lǐng)域獨當一面,歡迎申請成為LiveVideoStackCon 2018的講師,讓你的經(jīng)驗幫到更多人,你可以通過speaker@livevideostack.com提交演講信息。
【免責聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

專題

呈贡县| 台南市| 搜索| 克东县| 嘉定区| 哈尔滨市| 油尖旺区| 威海市| 大庆市| 苗栗县| 盘锦市| 儋州市| 曲麻莱县| 申扎县| 沐川县| 富民县| 衢州市| 洪江市| 桃源县| 达拉特旗| 吉林市| 西贡区| 巴中市| 宜章县| 长葛市| 吉林省| 东乡县| 娱乐| 玉林市| 定日县| 定南县| 依安县| 绥芬河市| 县级市| 潜山县| 鸡西市| 靖江市| 弥渡县| 四平市| 望都县| 赤水市|