在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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)的功能也不再是簡單的UI控件制作和內(nèi)容的展示,在互動(dòng)娛樂,小游戲領(lǐng)域也有著極大的發(fā)展前景。本文以通過Java開發(fā)一個(gè)基于瀏覽器攝像頭的實(shí)時(shí)人物動(dòng)作捕捉小程序?yàn)槔榻B一下前端在這一領(lǐng)域的可行性。

什么是TensorFlow

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

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

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

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

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

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

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

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

l基本配置

· 導(dǎo)入JS

7675f2c6ea9e411eb9c9f4a422b25b54.png

· HTML

df7c716bcb814e79b1bb2ce4d48390d3.png

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

3daaf70911944b1982171be31591868f.png

· 生成posenet對象

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ā)者對結(jié)果數(shù)據(jù)進(jìn)行處理。

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

由于以上的問題,該方法在單一人物動(dòng)作捕捉時(shí)被周圍環(huán)境干擾的影響極大。在背景存在其他人物時(shí)會因無法判斷主次人物關(guān)系,極大的降低準(zhǔn)確率。對單一人物動(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),將人物從背景中剝離。其作用對象為單一捕捉對象,正好適用于上述單人捕捉結(jié)果不理想的情況。

l基本配置

· 導(dǎo)入JS

f97f879121b0461b9654597f91a20dd5.png

· 生成bodyPixNet對象

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

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

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


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

    評論

    相關(guān)推薦

    開源AI模型是干嘛的

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

    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 ?162次閱讀
    PNI高精度低功耗3D<b class='flag-5'>動(dòng)作</b><b class='flag-5'>捕捉</b>手柄方案

    鴻蒙跨端實(shí)踐-JS虛擬機(jī)架構(gòu)實(shí)現(xiàn)

    類似的框架,我們需要自行實(shí)現(xiàn)以確保核心基礎(chǔ)能力的完整。 鴻蒙虛擬機(jī)的開發(fā)經(jīng)歷了從最初 ArkTs2V8 到 JSVM + Roma新架構(gòu)方案 。在此過程中,我們實(shí)現(xiàn)了完整的鴻蒙版的“J2V8”和 基于系統(tǒng)JSVM的JS虛擬機(jī)框架
    的頭像 發(fā)表于 09-30 14:42 ?2444次閱讀
    鴻蒙跨端實(shí)踐-<b class='flag-5'>JS</b>虛擬機(jī)架構(gòu)<b class='flag-5'>實(shí)現(xiàn)</b>

    第四章:在 PC 交叉編譯 aarch64 的 tensorflow 開發(fā)環(huán)境并測試

    本文介紹了在 PC 端交叉編譯 aarch64 平臺的 tensorflow 而非 tensorflow lite 的心酸過程。
    的頭像 發(fā)表于 08-25 11:38 ?1173次閱讀
    第四章:在 PC 交叉編譯 aarch64 的 <b class='flag-5'>tensorflow</b> 開發(fā)環(huán)境并測試

    如何在Tensorflow實(shí)現(xiàn)反卷積

    TensorFlow實(shí)現(xiàn)反卷積(也稱為轉(zhuǎn)置卷積或分?jǐn)?shù)步長卷積)是一個(gè)涉及多個(gè)概念和步驟的過程。反卷積在深度學(xué)習(xí)領(lǐng)域,特別是在圖像分割、圖像超分辨率、以及生成模型(如生成對抗網(wǎng)絡(luò)GANs)等任務(wù)中
    的頭像 發(fā)表于 07-14 10:46 ?658次閱讀

    TensorFlow是什么?TensorFlow怎么用?

    TensorFlow是由Google開發(fā)的一個(gè)開源深度學(xué)習(xí)框架,它允許開發(fā)者方便地構(gòu)建、訓(xùn)練和部署各種復(fù)雜的機(jī)器學(xué)習(xí)模型。TensorFlow憑借其高效的計(jì)算性能、靈活的架構(gòu)以及豐富的工具和
    的頭像 發(fā)表于 07-12 16:38 ?732次閱讀

    tensorflow和pytorch哪個(gè)更簡單?

    TensorFlow和PyTorch都是用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的開源框架。TensorFlow由Google Brain團(tuán)隊(duì)開發(fā),而PyTorch由Facebook的AI研究團(tuán)隊(duì)開發(fā)。 易用性:
    的頭像 發(fā)表于 07-05 09:45 ?905次閱讀

    tensorflow簡單的模型訓(xùn)練

    在本文中,我們將詳細(xì)介紹如何使用TensorFlow進(jìn)行簡單的模型訓(xùn)練。TensorFlow是一個(gè)開源的機(jī)器學(xué)習(xí),廣泛用于各種機(jī)器學(xué)習(xí)任務(wù),包括圖像識別、自然語言處理等。我們將從安裝
    的頭像 發(fā)表于 07-05 09:38 ?711次閱讀

    keras模型轉(zhuǎn)tensorflow session

    和訓(xùn)練深度學(xué)習(xí)模型。Keras是基于TensorFlow、Theano或CNTK等底層計(jì)算框架構(gòu)建的。TensorFlow是一個(gè)開源的機(jī)器學(xué)習(xí)框架,由Google Brain團(tuán)隊(duì)開發(fā)。它提供了一種靈活
    的頭像 發(fā)表于 07-05 09:36 ?560次閱讀

    如何使用Tensorflow保存或加載模型

    TensorFlow是一個(gè)廣泛使用的開源機(jī)器學(xué)習(xí),它提供了豐富的API來構(gòu)建和訓(xùn)練各種深度學(xué)習(xí)模型。在模型訓(xùn)練完成后,保存模型以便將來使用或部署是一項(xiàng)常見的需求。同樣,加載已保存的模型進(jìn)行預(yù)測或
    的頭像 發(fā)表于 07-04 13:07 ?1602次閱讀

    TensorFlow的定義和使用方法

    TensorFlow是一個(gè)由谷歌人工智能團(tuán)隊(duì)谷歌大腦(Google Brain)開發(fā)和維護(hù)的開源機(jī)器學(xué)習(xí)。它基于數(shù)據(jù)流編程(dataflow programming)的概念,將復(fù)雜的數(shù)學(xué)運(yùn)算表示為
    的頭像 發(fā)表于 07-02 14:14 ?809次閱讀

    解鎖未來,無線姿態(tài)傳感器如何革新動(dòng)作捕捉與VR體驗(yàn)

    隨著科技的飛速發(fā)展,動(dòng)作捕捉和虛擬現(xiàn)實(shí)(VR)技術(shù)成為我們生活中的一部分,它們?yōu)槲覀儙砹饲八从械某两襟w驗(yàn)。而在這個(gè)變革之中,無線傳感器憑借其獨(dú)特的優(yōu)勢,推動(dòng)這一技術(shù)革新的關(guān)鍵力量。 無線
    的頭像 發(fā)表于 06-27 10:02 ?381次閱讀

    鴻蒙OS元服務(wù)開發(fā)說明:【W(wǎng)ebGL網(wǎng)頁圖形開發(fā)接口】

    WebGL主要幫助開發(fā)者在前端開發(fā)中完成圖形圖像的相關(guān)處理,比如繪制彩色圖形等。目前該功能僅支持使用兼容JS的類Web開發(fā)范式開發(fā)。
    的頭像 發(fā)表于 04-02 17:02 ?474次閱讀
    鴻蒙OS元服務(wù)開發(fā)說明:【W(wǎng)ebGL<b class='flag-5'>網(wǎng)頁</b>圖形<b class='flag-5'>庫</b>開發(fā)接口】

    web前端開發(fā)和前端開發(fā)的區(qū)別

    、CSS和JavaScript等技術(shù)來構(gòu)建用戶界面,實(shí)現(xiàn)用戶與應(yīng)用程序的交互。Web前端開發(fā)包括網(wǎng)頁設(shè)計(jì)、網(wǎng)頁編碼、前端框架使用以及優(yōu)化頁面
    的頭像 發(fā)表于 01-18 09:54 ?3577次閱讀

    基于TensorFlow和Keras的圖像識別

    ,讓我們先花點(diǎn)時(shí)間來了解一些術(shù)語。TensorFlow/KerasTensorFlow是GoogleBrain團(tuán)隊(duì)創(chuàng)建的一個(gè)Python開源,它包含許多算法和模型
    的頭像 發(fā)表于 01-13 08:27 ?847次閱讀
    基于<b class='flag-5'>TensorFlow</b>和Keras的圖像識別
    主站蜘蛛池模板: www.a级片| 午夜100| 老色批在线播放视频网站免费| 欧美性野久久久久久久久| 午夜寂寞在线一级观看免费| www.色妞| 天天视频国产免费入口| 久久人人网| 西西人体44rt高清午夜| 在线观看中文字幕一区| 4338×亚洲全国最大色成网站| 亚洲色图综合网站| 日日操日日射| 国模沟沟一区二区三区| 夜夜cao| 欧美午夜视频一区二区| 操www| 欧美日韩亚洲一区| 亚洲bbb| 免费中国一级啪啪片| 国产精品五月天| 天天爱夜夜操| 1000部又爽又黄的做黄禁片| 亚洲成年网站| 四虎影院免费观看视频| 久久瑟| 午夜精品在线视频| 成人爽a毛片在线视频网站| 亚洲乱码卡一卡二卡三永久| 五月天色丁香| 免费观看做网站爱| 深爱开心激情网| 国产一级真人毛爱做毛片| 午夜剧院免费| 免费黄色大片视频| 一级毛片免费网站| 农村妇女野外一级毛片| 在线好吊色视频98gao| 国产在线免| 超级淫小黄文大全很污的那种| 人人做人人插|