91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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庫(kù)的網(wǎng)頁(yè)前端人物動(dòng)作捕捉的實(shí)現(xiàn)

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

掃碼添加小助手

加入工程師交流群

作者:極鏈科技 曾啟澔


前言


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

什么是TensorFlow

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

本文所使用的開源Java模型庫(kù):

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)行分析,將人物從背景中剝離出來(lái),輸出結(jié)果為人體24個(gè)部位在畫面中的像素位置。具有將人物與背景分離的功能。

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

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

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

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

l基本配置

· 導(dǎo)入JS

7675f2c6ea9e411eb9c9f4a422b25b54.png

· HTML

df7c716bcb814e79b1bb2ce4d48390d3.png

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

3daaf70911944b1982171be31591868f.png

· 生成posenet對(duì)象

1c91cb128c464aa1b19d50ccc7471fdf.png

參數(shù)說(shuō)明:

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)

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

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

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

改進(jìn)方案

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

**tfjs-models/body-pix模型庫(kù)的主要功能:**實(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é)論

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

由于基于圖像分析,因此表現(xiàn)能力極大的依賴于對(duì)canvas的描繪性能,移動(dòng)端由于瀏覽器canvas描繪能力以及硬件性能限制的原因,表現(xiàn)并不出色,無(wú)法做到長(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庫(kù)可以進(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)推薦

    動(dòng)作捕捉和盲人導(dǎo)航眼鏡的接合與應(yīng)用,web的開發(fā)代碼和調(diào)試步驟

    MediaPipe Holistic 完成頭部姿態(tài)(偏航 / 俯仰)+ 上肢動(dòng)作(摸臉 / 抬手 / 擺手) 捕捉,同時(shí)對(duì)接導(dǎo)航核心接口(地圖 / POI / 避障),實(shí)現(xiàn)動(dòng)作指令解
    發(fā)表于 02-02 07:10

    從納伏信號(hào)到精準(zhǔn)數(shù)據(jù):多功能炭素材料電阻率測(cè)試儀的前端與算法

    炭素材料的電阻率測(cè)試,往往始于微弱的納伏級(jí)電信號(hào)—— 這一信號(hào)承載著材料的導(dǎo)電本質(zhì),卻極易被干擾淹沒、被噪聲扭曲。多功能炭素材料電阻率測(cè)試儀實(shí)現(xiàn)從微弱信號(hào)到精準(zhǔn)數(shù)據(jù)的跨越,核心在于前端信號(hào)捕捉與后端
    的頭像 發(fā)表于 01-15 09:26 ?131次閱讀
    從納伏信號(hào)到精準(zhǔn)數(shù)據(jù):多功能炭素材料電阻率測(cè)試儀的<b class='flag-5'>前端</b>與算法

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫(kù)

    管理系統(tǒng)(RDBMS),使用結(jié)構(gòu)化查詢語(yǔ)言(SQL)高效地組織和管理數(shù)據(jù)。它是全球最受歡迎的開源數(shù)據(jù)庫(kù)系統(tǒng)之一,廣泛應(yīng)用于網(wǎng)頁(yè)開發(fā)、電子商務(wù)和商業(yè)應(yīng)用。 常見用例? MySQL 是多種應(yīng)用的可靠選擇,包括: 網(wǎng)絡(luò)應(yīng)用:管理用戶認(rèn)
    的頭像 發(fā)表于 01-14 14:25 ?180次閱讀

    OpenTenBase核心貢獻(xiàn)者分享開源數(shù)據(jù)庫(kù)的破局之路

    “在開源數(shù)據(jù)庫(kù)已成一片‘紅海’的當(dāng)下,單純比拼‘快’或‘省’,已很難在開發(fā)者心中建立獨(dú)特的護(hù)城河。”O(jiān)penTenBase核心貢獻(xiàn)者、騰訊云數(shù)據(jù)庫(kù)專家工程師李晉鋼這樣闡述他對(duì)當(dāng)前數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 12-29 14:00 ?424次閱讀

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

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

    100%開源!行業(yè)首個(gè)企業(yè)級(jí)智能體

    近日,京東云正式開源JoyAgent智能體。作為行業(yè)首個(gè)100%開源的企業(yè)級(jí)智能體,實(shí)現(xiàn)了產(chǎn)品級(jí)開源,包括前端、后端、框架、引擎和核心子智能
    的頭像 發(fā)表于 07-26 09:26 ?1186次閱讀

    飛書富文本組件庫(kù)RichTextVista開源

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

    請(qǐng)問EZ-Serial固件是否使用任何OSS(開源軟件)庫(kù)或軟件?

    EZ-Serial 固件是否使用任何 OSS(開源軟件)庫(kù)或軟件?
    發(fā)表于 07-02 08:14

    基于STM32 HAL庫(kù)與標(biāo)準(zhǔn)庫(kù)的esp8266接入機(jī)智云方案(二)

    ,我們還將討論如何移植HAL庫(kù)和標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)與機(jī)智云的兼容,幫助開發(fā)者更高效地完成項(xiàng)目的云平臺(tái)接入。代碼下載注意:此時(shí)手機(jī)app端的該設(shè)備為網(wǎng)頁(yè)端的虛擬設(shè)備僅僅是
    的頭像 發(fā)表于 05-28 18:02 ?1412次閱讀
    基于STM32 HAL<b class='flag-5'>庫(kù)</b>與標(biāo)準(zhǔn)<b class='flag-5'>庫(kù)</b>的esp8266接入機(jī)智云方案(二)

    如何用Brower Use WebUI實(shí)現(xiàn)網(wǎng)頁(yè)數(shù)據(jù)智能抓取與分析?

    數(shù)據(jù)時(shí),不會(huì)被網(wǎng)站反爬機(jī)制識(shí)別和封禁,能穩(wěn)定有效地獲取數(shù)據(jù)和執(zhí)行任務(wù)。除了數(shù)據(jù)采集外,Browser-use還能抓取網(wǎng)頁(yè)全部交互元素,自動(dòng)完成設(shè)置的動(dòng)作,如填寫表單、內(nèi)容提取等。 Browser-use已經(jīng)成為AI 智能體應(yīng)用首選的操作瀏覽器的工具,受到AI社區(qū)的熱烈追捧
    的頭像 發(fā)表于 04-17 17:48 ?1135次閱讀
    如何用Brower Use WebUI<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>網(wǎng)頁(yè)</b>數(shù)據(jù)智能抓取與分析?

    AIWA HS-JS415維修手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《AIWA HS-JS415維修手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-08 10:37 ?3次下載

    AIWA JS215維修手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《AIWA JS215維修手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-01 16:44 ?4次下載

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

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

    如何監(jiān)聽觸摸動(dòng)作是否松開?

    使用滾輪容器(scrollWheel),需要在使用完滾輪手指松開后切換界面,使用handleDragEvent(const DragEvent&amp; event)來(lái)監(jiān)聽觸摸動(dòng)作,沒有找到獲取動(dòng)作松開的API。我改怎么實(shí)現(xiàn)
    發(fā)表于 03-12 06:58

    紫荷科技:“五重防護(hù)”讓網(wǎng)頁(yè)防篡改有了“錦衣衛(wèi)”

    紫荷網(wǎng)頁(yè)防篡改保護(hù)系統(tǒng)基于“高效同步”、“安全傳輸”兩項(xiàng)技術(shù),尤其具備獨(dú)特的“五重防護(hù)”新特性,可以實(shí)現(xiàn)網(wǎng)頁(yè)安全管理強(qiáng)大功能。 一重防護(hù):實(shí)時(shí)阻斷。 紫荷網(wǎng)頁(yè)防篡改保護(hù)系統(tǒng)能夠阻斷對(duì)受
    的頭像 發(fā)表于 03-10 13:13 ?823次閱讀