99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

一種開(kāi)源的機(jī)器學(xué)習(xí)模型,可在瀏覽器中使用TensorFlow.js對(duì)人物及身體部位進(jìn)行分割

Tensorflowers ? 來(lái)源:lq ? 2019-02-26 16:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們很高興宣布推出BodyPix,這是一種開(kāi)源的機(jī)器學(xué)習(xí)模型,可在瀏覽器中使用TensorFlow.js對(duì)人物及身體部位進(jìn)行分割。默認(rèn)設(shè)置下,該模型可在 2018 版 15 英寸 MacBook Pro 以及 iPhone X 上分別以 25 fps 和 21 fps 的幀率,估測(cè)及呈現(xiàn)人物及身體部位的分割。

人物分割究竟是什么?在計(jì)算機(jī)視覺(jué)中,圖像分割是指將圖像中的像素分成幾組特定語(yǔ)義區(qū)域以確定對(duì)象和邊界的技術(shù)。研究期間,我們訓(xùn)練 BodyPix 模型對(duì)人物及 24 個(gè)身體部位(如左手、右前小腿或后背等部位)執(zhí)行此項(xiàng)操作。換言之,BodyPix 可將圖像的像素分為以下兩類(lèi):1) 表示人物的像素和 2) 表示背景的像素。它還可將表示人物的像素進(jìn)一步分類(lèi)為 24 個(gè)身體部位中的任一個(gè)部位。

若您在此處嘗試實(shí)時(shí)演示,這一切可能會(huì)更加明了。

注:此處 鏈接

https://storage.googleapis.com/tfjs-models/demos/body-pix/index.html

人物分割有何用途?這項(xiàng)技術(shù)可廣泛應(yīng)用于多個(gè)多領(lǐng)域,包括增強(qiáng)現(xiàn)實(shí)、攝影編輯以及圖像或視頻的藝術(shù)效果等。具體應(yīng)用由您決定!去年,當(dāng)我們推出PoseNet(首個(gè)能夠在瀏覽器中使用簡(jiǎn)易網(wǎng)絡(luò)攝像頭估測(cè)身體部位(Kinect 的功能)的模型)時(shí),人們便對(duì)此項(xiàng)技術(shù)設(shè)想出各類(lèi)用例。我們希望 BodyPix 也能用于開(kāi)展同樣的創(chuàng)意實(shí)驗(yàn)。

為何要在瀏覽器中執(zhí)行此操作?與 PoseNet 的情況類(lèi)似,您過(guò)去只能借助專(zhuān)用硬件,或?qū)ο到y(tǒng)要求嚴(yán)苛且安裝難度較高的軟件,才能進(jìn)行實(shí)時(shí)人物分割。相比之下,您無(wú)需執(zhí)行安裝步驟,而僅憑幾行代碼即可使用 BodyPix 和 PoseNet。使用這些模型時(shí)無(wú)需任何專(zhuān)用鏡頭,因?yàn)樗鼈兡芘c任何基本的網(wǎng)絡(luò)攝像頭或手機(jī)相機(jī)配合使用。最后,用戶只需打開(kāi)網(wǎng)址即可訪問(wèn)這些應(yīng)用。由于所有計(jì)算均在設(shè)備上完成,因此數(shù)據(jù)可以保持私密性。鑒于以上所有原因,我們認(rèn)為,對(duì)于藝術(shù)家、創(chuàng)意程序員編程新手而言,BodyPix 是一個(gè)可輕松上手的工具。

在深入介紹 BodyPix 之前,我們要感謝 Google Research 團(tuán)隊(duì)的Tyler Zhu(此模型的幕后研究員,專(zhuān)攻人體姿勢(shì)估測(cè))[1,2]、Google Brain 團(tuán)隊(duì)工程師Nikhil Thorat與Daniel Smilkov(TensorFlow.js庫(kù)的幕后研究員),以及Daniel Shiffman,同時(shí)還要感謝Google Faculty Research Award為 Dan Oved 的研究工作提供資助。

注:1 鏈接

https://arxiv.org/abs/1701.01779

2 鏈接

https://arxiv.org/abs/1803.08225

BodyPix 入門(mén)指南

讓我們深入了解使用此模型時(shí)的技術(shù)細(xì)節(jié)。BodyPix 可用于將圖像分割為人物像素和非人物像素。人物像素又可進(jìn)一步分類(lèi)為24 個(gè)身體部位中的任一部位。重要的是,此模型僅適用于單個(gè)人物,因此請(qǐng)確保您的輸入數(shù)據(jù)不包含多個(gè)人。

第 1 部分:導(dǎo)入 TensorFlow.js 和 BodyPix 庫(kù)

讓我們回顧一下有關(guān)如何建立 BodyPix 項(xiàng)目的基礎(chǔ)知識(shí)。

您可通過(guò) npm install @tensorflow-models/body-pix 安裝此庫(kù),然后使用 es6 模塊將其導(dǎo)入:

import * as bodyPix from '@tensorflow-models/body-pix'; async function loadAndUseBodyPix() { const net = await bodyPix.load(); // BodyPix model loaded}

您也可通過(guò)網(wǎng)頁(yè)中的軟件包將其導(dǎo)入,而無(wú)需執(zhí)行任何安裝步驟:

bodypix.load().then(function(net) { // BodyPix model loaded });

第 2a 部分:人物分割

應(yīng)用于圖像的人物分割算法示例。圖像來(lái)源:“Microsoft Coco:Common Objects in Context Dataset”,http://cocodataset.org

在基礎(chǔ)層面,人物分割將圖像分割為人物像素和非人物像素。但實(shí)際過(guò)程并非如此簡(jiǎn)單,圖像在輸入模型后會(huì)轉(zhuǎn)化為二維圖像,其中每個(gè)像素處的浮點(diǎn)值均介于 0 到 1 之間,表示該像素中存在人物的概率。我們需設(shè)定一個(gè)名為“分割閾值”的值,其表示像素分值必須達(dá)到此最小值后,方可視作人物的一部分。通過(guò)使用分割閾值,這些介于 0 到 1 之間的浮點(diǎn)值會(huì)成為二進(jìn)制數(shù)值 0 或 1(即表示,若閾值為 0.5 ,則任何高于 0.5 的值均會(huì)變?yōu)?1,而低于 0.5 的值則變?yōu)?0)。

我們調(diào)用 API 方法estimatePersonSegmentation對(duì)圖像或視頻執(zhí)行人物分割操作;下方簡(jiǎn)短的代碼塊展示了如何使用此方法:

const imageElement = document.getElementById('image');// load the BodyPix model from a checkpointconst net = await bodyPix.load();// arguments for estimating person segmentation.const outputStride = 16;const segmentationThreshold = 0.5;const personSegmentation = await net.estimatePersonSegmentation(imageElement, outputStride, segmentationThreshold);

人物分割輸出示例如下所示:

{ width: 640, height: 480, data: Uint8Array(307200) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, …]}// the data array contains 307200 values, one for each pixel of the 640x480 image that was passed to the function.

如需了解此方法及其參數(shù)的完整說(shuō)明,請(qǐng)參閱GitHub readme。

注:GitHub readme 鏈接

https://github.com/tensorflow/tfjs-models/tree/master/body-pix#person-segmentation

繪制人物分割輸出結(jié)果

BodyPix 在瀏覽器中的另一優(yōu)勢(shì)是,其允許我們?cè)L問(wèn)Canvas 合成等網(wǎng)絡(luò) API。通過(guò)這些 API,我們可以使用 BodyPix 的輸出結(jié)果遮蓋或替換部分圖像內(nèi)容。為幫助您入門(mén),我們提供了包含此功能的實(shí)用函數(shù),具體如下:

toMaskImageData會(huì)提取經(jīng)估測(cè)的人物分割的輸出結(jié)果,并生成透明圖像,該圖像會(huì)在人物或背景所處位置顯示模糊圖像,具體視 maskBackground 而定。然后,可使用drawMask方法在原始圖像上將其繪制為掩膜:

const imageElement = document.getElementById('image');const net = await bodyPix.load();const segmentation = await net.estimatePersonSegmentation(imageElement);const maskBackground = true;// Convert the personSegmentation into a mask to darken the background.const backgroundDarkeningMask = bodyPix.toMaskImageData(personSegmentation, maskBackground);const opacity = 0.7;const canvas = document.getElementById('canvas');// draw the mask onto the image on a canvas. With opacity set to 0.7 this will darken the background.bodyPix.drawMask( canvas, imageElement, backgroundDarkeningMask, opacity);

drawMask會(huì)在畫(huà)布上繪制圖像,同時(shí)會(huì)繪制包含掩膜的 ImageData,使其帶有特定的模糊度。

借助對(duì)上方第一張圖像執(zhí)行estimatePersonSegmentation后的輸出結(jié)果,toMaskImageData將生成ImageData。若將 maskBackground 設(shè)為 true(默認(rèn)設(shè)置),則 ImageData 便會(huì)如上方第二張圖像所示;若將 maskBackground 設(shè)為 false,則其會(huì)與第三張圖像類(lèi)似

然后,可使用drawMask在圖像上繪制此掩膜

第 2b 部分:身體部位分割

應(yīng)用于圖像的身體部位分割算法示例。圖像來(lái)源:“Microsoft Coco:Common Objects in Context Dataset”,https://cocodataset.org.hb

除了簡(jiǎn)單的人物/非人物分類(lèi),BodyPix 還能將圖像分割為表示24 個(gè)身體部位中任一個(gè)部位的像素。圖像在輸入模型后會(huì)轉(zhuǎn)化為二維圖像,其中每個(gè)像素處的整數(shù)值均介于 0 到 23 之間,表示該像素在 24 個(gè)身體部位中的所屬部位。對(duì)于非身體部位的像素,此值為 -1。

我們調(diào)用 API 方法estimatePartSegmentation對(duì)圖像或視頻執(zhí)行身體部位分割操作;下方簡(jiǎn)短的代碼塊展示了如何使用此方法:

const imageElement = document.getElementById('image');// load the BodyPix model from a checkpointconst net = await bodyPix.load();// arguments for estimating body part segmentation.const outputStride = 16;const segmentationThreshold = 0.5;// load the person segmentation model from a checkpointconst net = await bodyPix.load();const partSegmentation = await net.estimatePartSegmentation(imageElement, outputStride, segmentationThreshold);

身體部位分割輸出示例如下所示:

{ width: 680, height: 480, data: Int32Array(307200) [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 3, 3, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 15, 15, 15, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, 23, 23, 22, 22, -1, -1, -1, -1, …]}// the ‘data’ array contains 307200 values, one for each pixel of the 640x480 image that was passed to the function.

如需了解此方法及其參數(shù)的完整說(shuō)明,請(qǐng)參閱GitHub readme。

注:GitHub readme 鏈接

https://github.com/tensorflow/tfjs-models/tree/master/body-pix#person-segmentation

繪制身體部位分割輸出結(jié)果

借助 estimatePartSegmentation 的輸出結(jié)果,以及按部位 id 索引的顏色數(shù)組,toColoredPartImageData可在每個(gè)像素處為每個(gè)部位生成帶有相應(yīng)顏色的圖像。然后,可在畫(huà)布上使用drawMask方法將其繪制為原始圖像的掩膜:

const imageElement = document.getElementById('person');const net = await bodyPix.load();const partSegmentation = await net.estimatePartSegmentation(imageElement);const rainbow = [ [110, 64, 170], [106, 72, 183], [100, 81, 196], [92, 91, 206], [84, 101, 214], [75, 113, 221], [66, 125, 224], [56, 138, 226], [48, 150, 224], [40, 163, 220], [33, 176, 214], [29, 188, 205], [26, 199, 194], [26, 210, 182], [28, 219, 169], [33, 227, 155], [41, 234, 141], [51, 240, 128], [64, 243, 116], [79, 246, 105], [96, 247, 97], [115, 246, 91], [134, 245, 88], [155, 243, 88]];// the colored part image is an rgb image with a corresponding color from the rainbow colors for each part at each pixel.const coloredPartImage = bodyPix.toColoredPartImageData(partSegmentation, rainbow);const opacity = 0.7;const canvas = document.getElementById('canvas');// draw the colored part image on top of the original image onto a canvas. The colored part image will be drawn semi-transparent, with an opacity of 0.7, allowing for the original image to be visible under.bodyPix.drawMask( canvas, imageElement, coloredPartImageData, opacity);

借助對(duì)上方第一張圖像執(zhí)行estimatePartSegmentation后的輸出結(jié)果,以及提供的色度,toColoredPartImageData將生成類(lèi)似于第二張圖像的 ImageData。之后,可在畫(huà)布上使用drawMask以將彩色部位圖像繪制在原始圖像上,并將模糊度設(shè)為 0.7;所得結(jié)果如上方第三張圖所示

如需了解有關(guān)這些方法及其具體用法的詳細(xì)說(shuō)明,請(qǐng)參閱 GitHubreadme。

注:GitHubreadme 鏈接

https://github.com/tensorflow/tfjs-models/tree/master/body-pix#output-utility-functions

如何讓 BodyPix 運(yùn)行得更快或更精確

模型大小和輸出步長(zhǎng)最能影響性能和精確度,您可以設(shè)置二者的值,讓 BodyPix 以低精確度高速運(yùn)行,或以高精確度低速運(yùn)行。

加載模型時(shí),我們會(huì)設(shè)置模型大小和mobileNetMultiplier參數(shù),參數(shù)值可能為 0.25、0.50、0.75 或 1.00。該值與 MobileNet 架構(gòu)和檢查點(diǎn)相對(duì)應(yīng)。值越大,層的規(guī)模就越大,模型也會(huì)越精確,但其運(yùn)行速度會(huì)相應(yīng)降低。將其設(shè)為較小值有助于提升模型速度,但精確度也會(huì)相應(yīng)降低。

運(yùn)行分割時(shí),我們會(huì)設(shè)置輸出步長(zhǎng),此參數(shù)值可能為 8、16 或 32??傮w來(lái)看,步長(zhǎng)值還會(huì)影響姿勢(shì)估測(cè)的精確度和速度。輸出步長(zhǎng)的值越低,精確度就越高,但速度也會(huì)越慢;而此值越高,預(yù)測(cè)時(shí)間則會(huì)越短,但精確度也會(huì)越低。

此外,原始圖像的大小也會(huì)影響性能。由于分割的估測(cè)結(jié)果之后會(huì)放大為原始圖像大小,因此原始圖像越大,放大及繪制結(jié)果所需執(zhí)行的計(jì)算就會(huì)越多。如要提高速度,您可以嘗試縮小圖像,然后再將其輸入 API。

如果您想上手嘗試 BodyPix,不妨在此處暫停片刻。若您有興趣了解此模型的創(chuàng)建方法,可前往下一節(jié)閱讀更多技術(shù)細(xì)節(jié)。

BodyPix 的創(chuàng)建過(guò)程

BodyPix 使用卷積神經(jīng)網(wǎng)絡(luò)算法。我們訓(xùn)練了 ResNet 和 MobileNet 這兩個(gè)模型。盡管基于 ResNet 的模型更為精確,但本篇博文關(guān)注的是 MobileNet 已經(jīng)過(guò)開(kāi)源,能夠在移動(dòng)設(shè)備和標(biāo)準(zhǔn)消費(fèi)類(lèi)計(jì)算機(jī)上高效運(yùn)行。MobileNet 模型用 1x1 卷積層代替?zhèn)鹘y(tǒng)分類(lèi)模型最后的全連接池化層,以便預(yù)測(cè)密集的 2D 分割圖。下圖展示了使用 MobileNet 處理輸入圖像時(shí)所發(fā)生的情況:

本示例展示了 MobileNet 從輸入圖像到輸出層的逐層激活過(guò)程(為便于演示,我們省略了特征圖下采樣操作)

人物分割

BodyPix 的核心是執(zhí)行人物分割操作的算法,換言之,該算法會(huì)為輸入圖像的每個(gè)像素執(zhí)行二進(jìn)制決策,從而估測(cè)該像素是否屬于人物的一部分。讓我們通覽一下此算法的運(yùn)作過(guò)程:

上圖說(shuō)明人物區(qū)域分割任務(wù)可表示為對(duì)每個(gè)像素的二進(jìn)制決策任務(wù)。1 表示像素屬于人物區(qū)域,0 表示像素不屬于人物區(qū)域(為便于演示,我們已降低分割分辨率)

將圖像輸入 MobileNet 網(wǎng)絡(luò),并使用 sigmoid 激活函數(shù)將輸出結(jié)果轉(zhuǎn)換為 0 到 1 之間的值,該值可表示像素是否屬于人物區(qū)域。分割閾值(如 0.5)能夠確定像素分值必須達(dá)到哪一最小值后,方可視作人物的一部分,進(jìn)而能將此過(guò)程轉(zhuǎn)化為二進(jìn)制分割。

應(yīng)用于圖像的人物分割算法的數(shù)據(jù)表示示例。從左到右依次為:輸入圖像、網(wǎng)絡(luò)在使用 sigmoid 函數(shù)后作出的分割預(yù)測(cè),以及使用閾值后的二進(jìn)制分割。插圖作者:Ashley Jane Lewis。圖像來(lái)源:“Microsoft Coco:Common Objects in Context Dataset”,https://cocodataset.org

身體部位分割

為對(duì)身體部位分割作出估測(cè),我們使用相同的 MobileNet 模型作為演示,但這次會(huì)通過(guò)預(yù)測(cè)一個(gè)附加的 24通道輸出張量P來(lái)重復(fù)上述過(guò)程,其中24表示身體部位的數(shù)量。每個(gè)通道會(huì)將身體部位存在與否的概率編成代碼。

示例表明,分割人體部位區(qū)域的任務(wù)可表示為對(duì)每像素的多通道二進(jìn)制決策任務(wù)。對(duì)于每個(gè)身體部位通道,1 表示像素屬于身體部位區(qū)域,0 表示像素不屬于身體部位區(qū)域(從左到右依次為:輸入圖像、右臉通道和左臉通道)

本示例展示了 MobileNet 從輸入圖像到附加的 24 通道身體部位分割輸出層的逐層激活過(guò)程(為便于演示,我們省略了特征圖下采樣操作)

由于圖像各位置的輸出張量P中均有 24 個(gè)通道,因此我們需要在這些通道中找到最佳部位。推理期間,對(duì)于身體部位輸出張量 P 的各像素位置 (u,v),我們使用以下公式來(lái)選擇概率最高的最佳body_part_id:

如此便會(huì)生成一張二維圖像(大小與原始圖像相同),且圖像中的每個(gè)像素都包含一個(gè)整數(shù),用以表示該像素所屬的身體部位。人物分割輸出結(jié)果用于裁剪完整圖像中的人物,方法是將對(duì)應(yīng)的人物分割輸出值小于分割閾值的像素值設(shè)為 -1。

本示例展示了如何將 24 通道身體部位分割與人物分割合并為單通道部位 id 輸出。插圖作者:Ashley Jane Lewis。圖像來(lái)源:“Microsoft Coco:Common Objects in Context Dataset”,https://cocodataset.org

本示例展示了在使用上述 argmax 公式合并 24 通道身體部位掩膜,并使用人物分割裁剪出人物區(qū)域后,最終形成的單通道身體部位 id 輸出(每個(gè)body_part_id 均由唯一的顏色表示,且為便于演示,我們已降低輸出分辨率)

使用真實(shí)數(shù)據(jù)與模擬數(shù)據(jù)進(jìn)行訓(xùn)練

在將圖像中的像素分割成 24 個(gè)身體部位區(qū)域的任務(wù)中,手動(dòng)標(biāo)注大量訓(xùn)練數(shù)據(jù)的方法相當(dāng)耗時(shí)。于是,我們?cè)趦?nèi)部使用計(jì)算機(jī)圖形技術(shù),以生成具有真實(shí)身體部位分割標(biāo)注數(shù)據(jù)的圖像。為訓(xùn)練模型,我們將生成的圖像與真實(shí)的 COCO 圖像(帶有 2D 關(guān)鍵點(diǎn)和實(shí)例分割標(biāo)注)混在一起使用。通過(guò)利用混合訓(xùn)練策略和多任務(wù)損失函數(shù),我們的 ResNet 模型能夠完全從模擬的標(biāo)注數(shù)據(jù)中學(xué)習(xí)掌握對(duì) 24 個(gè)身體部位的預(yù)測(cè)功能。最后,我們將 ResNet “老師” 模型對(duì) COCO 圖像的預(yù)測(cè)功能提取至 BodyPix 所采用的 MobileNet “學(xué)生” 模型。

本示例展示了 ResNet “老師” 模型在真實(shí)圖像與計(jì)算機(jī)圖形技術(shù)所生成圖像上的訓(xùn)練過(guò)程。身體部位的真實(shí)標(biāo)注只出現(xiàn)在由計(jì)算機(jī)圖形技術(shù)生成的圖像上

本示例展示了如何將 ResNet“老師”模型的預(yù)測(cè)功能提取至 BodyPix 所采用的 MobileNet“學(xué)生”模型

我們相信 BodyPix 將成為除 PoseNet 之外,助我們邁向如下目標(biāo)的又一小步,即幫助用戶利用消費(fèi)類(lèi)設(shè)備在本地完成野外動(dòng)作捕捉。目前,我們?nèi)杂胁簧傺芯繂?wèn)題尚未完全解決,如捕捉 3D 身型、高頻軟組織肌肉運(yùn)動(dòng),以及詳細(xì)展示服飾外觀及其變形等。盡管前路漫漫,但我們?nèi)詷?lè)觀期待動(dòng)作捕捉技術(shù)能夠更方便地應(yīng)用于各個(gè)領(lǐng)域和行業(yè),同時(shí)帶來(lái)更大用處。

我們已提供一些示例和實(shí)用方法,旨在幫助您啟用 BodyPix 模型,并希望以此啟發(fā)您對(duì)模型作出進(jìn)一步修改。

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

    關(guān)注

    1

    文章

    1040

    瀏覽量

    36310
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    330

    瀏覽量

    61184
  • 機(jī)器學(xué)習(xí)模型

    關(guān)注

    0

    文章

    9

    瀏覽量

    2663

原文標(biāo)題:BodyPix 發(fā)布:在瀏覽器中使用 TensorFlow.js 進(jìn)行實(shí)時(shí)人物分割

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)模型
    的頭像 發(fā)表于 01-08 09:25 ?1333次閱讀
    如何使用<b class='flag-5'>TensorFlow</b>構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>模型</b>

    一種WAP嵌入式瀏覽器的設(shè)計(jì)

    為解決傳統(tǒng)瀏覽器可移植性差、效率比較低的問(wèn)題,設(shè)計(jì)出一種基于WAP的嵌入式瀏覽器。與傳統(tǒng)瀏覽器比較,該瀏覽器分為各個(gè)模塊同時(shí)去掉
    發(fā)表于 09-29 15:55 ?1442次閱讀
    <b class='flag-5'>一種</b>WAP嵌入式<b class='flag-5'>瀏覽器</b>的設(shè)計(jì)

    一種新型分割圖像中人物的方法,基于人物動(dòng)作辨認(rèn)

    圖像分割般方法是先對(duì)物體進(jìn)行檢測(cè),然后用邊界框?qū)Ξ?huà)中物體進(jìn)行分割。最近,例如Mask R-CNN的深度
    的頭像 發(fā)表于 04-10 15:02 ?5948次閱讀
    <b class='flag-5'>一種</b>新型<b class='flag-5'>分割</b>圖像中<b class='flag-5'>人物</b>的方法,基于<b class='flag-5'>人物</b>動(dòng)作辨認(rèn)

    TensorFlow發(fā)表推文正式發(fā)布TensorFlow v1.9

    是前所未有的。之前人工智能頭條也為大家介紹了個(gè)在瀏覽器中通過(guò)TensorFlow.js 進(jìn)行多人人臉識(shí)別與特征檢測(cè)的項(xiàng)目,也受到大家的廣泛關(guān)注。此外
    的頭像 發(fā)表于 07-16 10:23 ?3387次閱讀

    利用TensorFlow.js,D3.js 和 Web 的力量使訓(xùn)練模型的過(guò)程可視化

    TensorFlow.js機(jī)器學(xué)習(xí)引入 JavaScript 和 Web。 我們將利用這個(gè)很棒的框架來(lái)構(gòu)建個(gè)深度神經(jīng)網(wǎng)絡(luò)模型。這個(gè)
    的頭像 發(fā)表于 08-08 14:24 ?7331次閱讀

    如何使用TensorFlow.js構(gòu)建這系統(tǒng)

    TensorFlow.js團(tuán)隊(duì)直在進(jìn)行有趣的基于瀏覽器的實(shí)驗(yàn),以使人們熟悉機(jī)器學(xué)習(xí)的概念,并鼓
    的頭像 發(fā)表于 08-19 08:55 ?3771次閱讀

    基于tensorflow.js設(shè)計(jì)、訓(xùn)練面向web的神經(jīng)網(wǎng)絡(luò)模型的經(jīng)驗(yàn)

    你也許會(huì)好奇:為什么要在瀏覽器里基于tensorflow.js訓(xùn)練我的模型,而不是直接在自己的機(jī)器上基于tensorflow訓(xùn)練
    的頭像 發(fā)表于 10-18 09:43 ?4410次閱讀

    TensorFlow.js瀏覽器中構(gòu)建了個(gè)使用任意圖像進(jìn)行風(fēng)格化的demo

    了10倍。所以作者認(rèn)為distillation這種技術(shù)被低估了,它可以為瀏覽器帶來(lái)些很酷的ML功能,因?yàn)楹芏?b class='flag-5'>模型由于太大而無(wú)法在資源有限的環(huán)境中進(jìn)行部署。
    的頭像 發(fā)表于 11-22 09:33 ?3857次閱讀

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

    Java模型庫(kù):l tfjs-models/posenet: 個(gè)機(jī)器學(xué)習(xí)模型,功能為對(duì)圖像或者視頻中的
    的頭像 發(fā)表于 08-13 20:07 ?1725次閱讀
    基于<b class='flag-5'>TensorFlow</b>的<b class='flag-5'>開(kāi)源</b><b class='flag-5'>JS</b>庫(kù)的網(wǎng)頁(yè)前端<b class='flag-5'>人物</b>動(dòng)作捕捉的實(shí)現(xiàn)

    創(chuàng)建新的開(kāi)源瀏覽器非常困難

    今天的主流瀏覽器幾乎全部是基于開(kāi)源瀏覽器,但開(kāi)源社區(qū)流行的創(chuàng)建分支卻日益變得不切實(shí)際,原因是 Web 和瀏覽器變得太復(fù)雜了。
    的頭像 發(fā)表于 03-20 14:18 ?2172次閱讀

    TensorFlow.js制作了個(gè)僅用 200 余行代碼的項(xiàng)目

    我們先來(lái)看下運(yùn)行的效果。下圖中,上半部分是原始視頻,下半部分是使用 TensorFlow.js 對(duì)人像進(jìn)行消除后的視頻??梢钥吹剑伺紶枙?huì)在邊緣處留有殘影之外,整體效果還是很不錯(cuò)的。
    的頭像 發(fā)表于 05-11 18:08 ?5816次閱讀

    如何基于 ES6 的 JavaScript 進(jìn)行 TensorFlow.js 的開(kāi)發(fā)

    環(huán)境中,如果有 CUDA 環(huán)境支持,或者在瀏覽器環(huán)境中,有 WebGL 環(huán)境支持,那么 TensorFlow.js 可以使用硬件進(jìn)行加速。 微信小程序 微信小程序也提供了官方插件,封裝了 T
    的頭像 發(fā)表于 10-31 11:16 ?3487次閱讀

    CNN到底是怎么回事?

    它用TensorFlow.js加載了個(gè)10層的預(yù)訓(xùn)練模型,相當(dāng)于在你的瀏覽器上跑個(gè)CNN模型
    的頭像 發(fā)表于 06-28 14:47 ?4549次閱讀
    CNN到底是怎么回事?

    js文件可以直接瀏覽器運(yùn)行嗎

    JS文件可以直接在瀏覽器中運(yùn)行。JavaScript(簡(jiǎn)稱(chēng)JS)是一種廣泛用于瀏覽器端編程的腳本語(yǔ)言。作為
    的頭像 發(fā)表于 11-27 16:45 ?4894次閱讀

    js腳本怎么在瀏覽器中運(yùn)行

    瀏覽器中運(yùn)行JavaScript腳本是一種常見(jiàn)的方式,因?yàn)镴avaScript是一種在Web瀏覽器中執(zhí)行的腳本語(yǔ)言。下面是個(gè)詳細(xì)的,最少
    的頭像 發(fā)表于 11-27 16:46 ?3402次閱讀