chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于TensorFlow的開源JS庫的網(wǎng)頁前端人物動(dòng)作捕捉的實(shí)現(xiàn)

張康康 ? 2019-08-13 20:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:極鏈科技 曾啟澔


前言


隨著前端生態(tài)的發(fā)展,Java已經(jīng)不僅僅局限于作為網(wǎng)頁開發(fā),也越來越活躍于服務(wù)器端,移動(dòng)端小程序等應(yīng)用開發(fā)中。甚至通過Electron等打包工具,甚至能夠開發(fā)多系統(tǒng)的桌面應(yīng)用。其涉足的領(lǐng)域?qū)挿阂彩沟媚軌驅(qū)崿F(xiàn)的功能也不再是簡(jiǎn)單的UI控件制作和內(nèi)容的展示,在互動(dòng)娛樂,小游戲領(lǐng)域也有著極大的發(fā)展前景。本文以通過Java開發(fā)一個(gè)基于瀏覽器攝像頭的實(shí)時(shí)人物動(dòng)作捕捉小程序?yàn)槔?,介紹一下前端在這一領(lǐng)域的可行性。

什么是TensorFlow

TensorFlow 最初是由Google大腦小組的研究員和工程師們開發(fā)出來,采用數(shù)據(jù)流圖(Data Flow Graphs)用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面數(shù)值計(jì)算的開源軟件庫。其高度的可移植性和多語言性使得它可以通過各種常用編程語言編寫,輕松的運(yùn)行在多種平臺(tái)的設(shè)備上。是一個(gè)集性能,可靠性,通用性,易用性為一體的強(qiáng)大開源庫。

本文所使用的開源Java模型庫:

l tfjs-models/posenet: 一個(gè)機(jī)器學(xué)習(xí)模型,功能為對(duì)圖像或者視頻中的人物進(jìn)行動(dòng)作捕捉,輸出人體各個(gè)部位的keypoints(坐標(biāo)集)。具有單一人物分析和多人物分析的特點(diǎn)。

l tfjs-models/body-pix: 一個(gè)機(jī)器學(xué)習(xí)模型,功能為對(duì)圖像或者視頻中人物和背景進(jìn)行分析,將人物從背景中剝離出來,輸出結(jié)果為人體24個(gè)部位在畫面中的像素位置。具有將人物與背景分離的功能。

實(shí)現(xiàn)原理

本文所介紹的基于瀏覽器和網(wǎng)絡(luò)攝像頭的人物實(shí)時(shí)動(dòng)作捕捉方法,其實(shí)現(xiàn)原理是通過Java調(diào)用

*在基本的原理中并不是必須的組成部分,但在下文中會(huì)簡(jiǎn)單介紹一種通過的圖像繪制功能,提升人物捕捉精度的方法。

通過tfjs-models/posenet模型庫實(shí)現(xiàn)人物動(dòng)作捕捉

l基本配置

· 導(dǎo)入JS

7675f2c6ea9e411eb9c9f4a422b25b54.png

· HTML

df7c716bcb814e79b1bb2ce4d48390d3.png

· 初始化網(wǎng)絡(luò)攝像頭

3daaf70911944b1982171be31591868f.png

· 生成posenet對(duì)象

1c91cb128c464aa1b19d50ccc7471fdf.png

參數(shù)說明:

architecture:分為MobileNetV1和ResNet50兩個(gè)體系,其中ResNet50精度更高但處理速度較慢。

outputStride:輸出結(jié)果每個(gè)像素占用字節(jié)數(shù),數(shù)字越小結(jié)果越精確,但處理的成本和時(shí)間更多。

inputResolution:輸入圖像壓縮后的尺寸,數(shù)字越大越精確,但處理的成本和時(shí)間更多。

multiplier:僅在MobileNetV1體系中使用,卷積運(yùn)算的深度(通道數(shù)),數(shù)字越大層數(shù)越多越精確,但處理的成本和時(shí)間更多。

l執(zhí)行實(shí)時(shí)分析

2833e7c75f6e4c68a1248417a053378a.png

l結(jié)果

· 多人捕捉:多人捕捉時(shí)能夠獲得畫面中人物的keypoints,互相之間有一定的干擾但影響并不是特別大。

· 單人捕捉:很容易被背景及身邊人物干擾,導(dǎo)致人體keypoint定位不準(zhǔn)確。

l缺點(diǎn)

通過實(shí)際的效果可以看到,該模型可以在多人物的時(shí)候準(zhǔn)確捕捉到各個(gè)人物的動(dòng)作和身體部位的keypoints,雖然存在若干干擾和不穩(wěn)定但基本能夠接受,實(shí)時(shí)性效果好,但是無法區(qū)分主要人物和次要人物,需要開發(fā)者對(duì)結(jié)果數(shù)據(jù)進(jìn)行處理。

其score的生成是根據(jù)形狀準(zhǔn)確度來計(jì)算,沒有場(chǎng)景深度的分析,因此無法判斷人物前后位置關(guān)系。

由于以上的問題,該方法在單一人物動(dòng)作捕捉時(shí)被周圍環(huán)境干擾的影響極大。在背景存在其他人物時(shí)會(huì)因無法判斷主次人物關(guān)系,極大的降低準(zhǔn)確率。對(duì)單一人物動(dòng)作捕效果非常的不理想,需要進(jìn)行改進(jìn)。

改進(jìn)方案

單一人物的動(dòng)作捕捉被外界干擾的影響太大導(dǎo)致結(jié)果并不理想,因此首先要考慮的就是屏蔽掉周圍干擾物體,突出主體人物。由此引入了tfjs-models/body-pix模型庫。

**tfjs-models/body-pix模型庫的主要功能:**實(shí)時(shí)分析人物結(jié)構(gòu),將人物從背景中剝離。其作用對(duì)象為單一捕捉對(duì)象,正好適用于上述單人捕捉結(jié)果不理想的情況。

l基本配置

· 導(dǎo)入JS

f97f879121b0461b9654597f91a20dd5.png

· 生成bodyPixNet對(duì)象

dca1c4f005984c13b5dc878a7d3c88bd.png

ltfjs-models/body-pix與tfjs-models/posenet的混合使用

298fe16954534859a253e6fb7c148c89.png

l結(jié)果

tfjs-models/body-pix與tfjs-models/posenet的混合使用,雖然加大了canvas處理的負(fù)擔(dān),加大了描繪和圖像處理的次數(shù),但是由于tfjs-models/body-pix已經(jīng)先將人物與背景剝離,在tfjs-models/posenet只使用用最高效但低準(zhǔn)確度的參數(shù)配置下,也能夠產(chǎn)生遠(yuǎn)高于使用高精確度但消耗處理性能極大的配置所不能達(dá)到的準(zhǔn)確度。從而實(shí)現(xiàn)了高效,高準(zhǔn)確度,流暢的實(shí)時(shí)單人動(dòng)作捕捉功能。

結(jié)論

通過TensorFlow的開源庫,能夠輕松的在瀏覽器上通過網(wǎng)絡(luò)攝像頭實(shí)現(xiàn)人物動(dòng)作的實(shí)時(shí)捕捉。

由于基于圖像分析,因此表現(xiàn)能力極大的依賴于對(duì)canvas的描繪性能,移動(dòng)端由于瀏覽器canvas描繪能力以及硬件性能限制的原因,表現(xiàn)并不出色,無法做到長(zhǎng)時(shí)間實(shí)時(shí)捕捉。甚至部分瀏覽器限制了網(wǎng)絡(luò)攝像頭的調(diào)用。在移動(dòng)端的表現(xiàn)并不出色。

在單一人物的動(dòng)作捕捉時(shí),tfjs-models/body-pix與tfjs-models/posenet的混合使用能夠使精確度大大提升。

由于需要對(duì)canvas進(jìn)行描繪,結(jié)合其他canvas的JS庫可以進(jìn)行交互UI,交互小游戲等不同場(chǎng)合APP的開發(fā)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【上海晶珩睿莓1開發(fā)板試用體驗(yàn)】TensorFlow-Lite物體歸類(classify)

    目前尚未得知睿莓1開發(fā)板上面有NPU或者DPU之類的額外處理器,因此使用樹莓派系列使用最廣泛的TensorFlow-Lite進(jìn)行物體歸類,使用CPU運(yùn)行代碼,因此占用的是CPU的算力。在
    發(fā)表于 09-12 22:43

    飛書富文本組件RichTextVista開源

    近日,飛書正式將其自研的富文本組件 RichTextVista(簡(jiǎn)稱“RTV”)開源,并上線OpenHarmony 三方中心倉。該組件以領(lǐng)先的性能、流暢的渲染體驗(yàn)與高度的開放性,為鴻蒙生態(tài)提供了更高效的富文本解決方案。
    的頭像 發(fā)表于 07-16 16:47 ?649次閱讀

    用樹莓派搞深度學(xué)習(xí)?TensorFlow啟動(dòng)!

    介紹本頁面將指導(dǎo)您在搭載64位Bullseye操作系統(tǒng)的RaspberryPi4上安裝TensorFlow。TensorFlow是一個(gè)專為深度學(xué)習(xí)開發(fā)的大型軟件,它消耗大量資源。您可以在
    的頭像 發(fā)表于 03-25 09:33 ?844次閱讀
    用樹莓派搞深度學(xué)習(xí)?<b class='flag-5'>TensorFlow</b>啟動(dòng)!

    摩爾線程支持DeepSeek開源通信DeepEP和并行算法DualPipe

    DeepSeek開源周第四日,摩爾線程宣布已成功支持DeepSeek開源通信DeepEP和并行算法DualPipe,并發(fā)布相關(guān)開源代碼倉庫:MT-DeepEP和MT-DualPipe
    的頭像 發(fā)表于 02-28 15:58 ?730次閱讀

    摩爾線程完成DeepSeek開源FlashMLA和DeepGEMM適配

    自DeepSeek啟動(dòng)“開源周”以來,已陸續(xù)開源三個(gè)代碼。摩爾線程基于全新MUSA Compute Capability 3.1計(jì)算架構(gòu),可提供原生FP8計(jì)算能力,同時(shí)升級(jí)了高性能線性代數(shù)模板
    的頭像 發(fā)表于 02-27 14:40 ?884次閱讀

    沐曦GPU跑通DeepSeek開源代碼FlashMLA

    今日,DeepSeek正式啟動(dòng)"開源周"計(jì)劃,首發(fā)代碼FlashMLA一經(jīng)開源即引發(fā)全網(wǎng)關(guān)注。截至發(fā)稿,該項(xiàng)目已在GitHub斬獲超7.2K Star!
    的頭像 發(fā)表于 02-25 16:25 ?1227次閱讀

    AI開源模型有什么用

    AI開源模型作為推動(dòng)AI技術(shù)發(fā)展的重要力量,正深刻改變著我們的生產(chǎn)生活方式。接下來,AI部落小編帶您了解AI開源模型有什么用。
    的頭像 發(fā)表于 02-24 11:50 ?705次閱讀

    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運(yùn)行時(shí)新星

    了與 Node.js 的兼容性,還為開發(fā)者帶來了內(nèi)置的數(shù)據(jù)支持和云服務(wù)集成能力,進(jìn)一步強(qiáng)化了其“全能工具包”的定位。Node.js 兼容性獲得突破性進(jìn)展在此次更新中,最引人注目的是 Bun 在 Node.
    的頭像 發(fā)表于 01-24 10:42 ?1216次閱讀
    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.<b class='flag-5'>js</b>生態(tài)的JavaScript運(yùn)行時(shí)新星

    SciChart—高性能的JavaScript圖表和圖形

    使用 SciChart 的 JavaScript 圖表為您的 JS 應(yīng)用程序發(fā)現(xiàn)終極解決方案。 使用 WebGL 創(chuàng)建動(dòng)態(tài)、高速的圖表和圖形,非常適合實(shí)時(shí)處理復(fù)雜的數(shù)據(jù)可視化。使用我們強(qiáng)大而靈活
    的頭像 發(fā)表于 01-22 10:15 ?1849次閱讀
    SciChart—高性能的JavaScript圖表和圖形<b class='flag-5'>庫</b>

    前端性能優(yōu)化:提升用戶體驗(yàn)的關(guān)鍵策略

    在互聯(lián)網(wǎng)飛速發(fā)展的今天,用戶對(duì)于網(wǎng)頁的加載速度和響應(yīng)性能要求越來越高。前端性能優(yōu)化成為了提升用戶體驗(yàn)、增強(qiáng)網(wǎng)站競(jìng)爭(zhēng)力的關(guān)鍵策略。一個(gè)性能良好的前端應(yīng)用,能夠快速響應(yīng)用戶的操作,減少等待時(shí)間,為用戶
    的頭像 發(fā)表于 01-22 10:08 ?699次閱讀

    前端技術(shù)的未來趨勢(shì):擁抱創(chuàng)新,塑造無限可能

    為未來的重要趨勢(shì)之一。智能交互將變得更加自然和流暢。例如,通過語音識(shí)別和自然語言處理技術(shù),用戶可以直接通過語音指令與網(wǎng)頁進(jìn)行交互,實(shí)現(xiàn)更加便捷的操作。智能聊天機(jī)器人將在網(wǎng)頁中得到更廣泛的應(yīng)用,為用戶提供實(shí)時(shí)
    的頭像 發(fā)表于 01-22 10:07 ?787次閱讀

    開源AI模型是干嘛的

    開源AI模型是指那些公開源代碼、允許自由訪問和使用的AI模型集合。這些模型通常經(jīng)過訓(xùn)練,能夠執(zhí)行特定的任務(wù)。以下,是對(duì)開源AI模型的詳細(xì)
    的頭像 發(fā)表于 12-14 10:33 ?1118次閱讀

    Node.js小科普和Node.js安裝常見管理工具

    Node.js是一個(gè)JavaScript的運(yùn)行環(huán)境,用來執(zhí)行JavaScript代碼。 為什么會(huì)出現(xiàn)這么一個(gè)運(yùn)行環(huán)境呢,從JavaScript研發(fā)初衷可以看出它是為了運(yùn)行在瀏覽器中的,讓網(wǎng)頁交互更加
    的頭像 發(fā)表于 11-23 15:37 ?675次閱讀
    Node.<b class='flag-5'>js</b>小科普和Node.<b class='flag-5'>js</b>安裝常見管理工具

    前端技術(shù)探秘-Nodejs的CommonJS規(guī)范實(shí)現(xiàn)原理

    了解Node.js Node.js是一個(gè)基于ChromeV8引擎的JavaScript運(yùn)行環(huán)境,使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式I/O模型,讓JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái),它讓
    的頭像 發(fā)表于 11-05 11:56 ?1348次閱讀
    <b class='flag-5'>前端</b>技術(shù)探秘-Nodejs的CommonJS規(guī)范<b class='flag-5'>實(shí)現(xiàn)</b>原理

    PNI高精度低功耗3D動(dòng)作捕捉手柄方案

    SpacePoint3D動(dòng)作捕捉手柄方案被虛擬現(xiàn)實(shí)(VR)廠商PICO選入PICOTrackingkit產(chǎn)品。虛擬現(xiàn)實(shí)和游戲類手柄的設(shè)計(jì)師們非常清楚地了解,用消費(fèi)類慣性傳感器想做到高精準(zhǔn)度的動(dòng)作
    的頭像 發(fā)表于 11-05 08:06 ?699次閱讀
    PNI高精度低功耗3D<b class='flag-5'>動(dòng)作</b><b class='flag-5'>捕捉</b>手柄方案