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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorFlow.js制作了一個僅用 200 余行代碼的項目

lviY_AI_shequ ? 來源:機器之心 ? 2020-05-11 18:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

只需網頁端,秒速消失不留痕。

Jason Mayes 是一名在谷歌工作的資深網頁工程師,他長期致力于運用新興技術提供物聯(lián)網解決方案。近日,充滿奇思妙想的 Mayes 又使用 TensorFlow.js 制作了一個僅用 200 余行代碼的項目,名為 Real-Time-Person-Removal。它能夠實時將復雜背景中的人像消除,而且僅基于網頁端。 現(xiàn)在,Mayes 在 GitHub 上開源了他的代碼,并在 Codepen.io 上提供了演示 Demo。從視頻中看到,你現(xiàn)在只需要一臺能上網的電腦和一個網絡攝像頭就能體驗它。

項目地址:https://github.com/jasonmayes/Real-Time-Person-Removal

Demo 地址:https://codepen.io/jasonmayes/pen/GRJqgma

目前,該項目異常火熱,在 Github 上已經獲得了 3.4k 的 Star 量。 實時隱身不留痕項目作者:Jason Mayes 我們先來看一下運行的效果。下圖中,上半部分是原始視頻,下半部分是使用 TensorFlow.js 對人像進行消除后的視頻??梢钥吹?,除了偶爾會在邊緣處留有殘影之外,整體效果還是很不錯的。 為了展現(xiàn)這個程序在復雜背景下消除人像并重建背景的能力,Mayes 特意在床上放了一臺正在播放視頻的筆記本電腦。當他的身體遮擋住筆記本電腦時,可以看到消除算法暫停在電腦被遮擋前的播放畫面,并能在人移開時迅速地重建出當前畫面。

此外,Mayes 還在 Codepen.io 上提供了能夠直接運行的示例。只需要點擊 Enable Webcam,離開攝像頭一段距離確保算法能夠較全面的收集到背景圖像,之后當你再出現(xiàn)在攝像頭前時就能從下方的預覽窗口看到「隱形」后的畫面了。

網友表示有了這個程序,像之前 BBC 直播中孩子闖進門來那樣的大型翻車現(xiàn)場就有救了。 項目運行機制 Mayes 開發(fā)的這個人像消除程序背后的運行機制十分簡單,他使用了 TensorFlow.js 中提供的一個預訓練的 MobileNet,用于人像分割。

constbodyPixProperties={ architecture:'MobileNetV1', outputStride:16, multiplier:0.75, quantBytes:4 };

TensorFlow.js 提供的部分計算機視覺預訓練模型。 MobileNet 是谷歌在 2017 年針對移動端和嵌入式設備提出的網絡,針對圖像分割。其核心思想是使用深度可分離卷積構建快速輕量化的網絡架構。Mayes 選擇使用它的原因也是出于其輕量化的原因,假如使用 YOLO 或者 Fast-RCNN 這類物體檢測算法的話,在移動端就很難做到實時性。 通過 MobileNet 的輸出獲得檢測到人物像素的邊界框。

//Gothroughpixelsandfigureoutboundingboxofbodypixels. for(letx=0;xmaxX){ maxX=x; } if(y>maxY){ maxY=y; } foundBody=true; } } } 為避免人物沒有被檢測完全的現(xiàn)象,這里使用變量額 scale 對檢測區(qū)域進行適當放縮。這個 1.3 的參數(shù)是測試出來的,感興趣的讀者可以調整試試看。 //Calculatedimensionsofboundingbox. varwidth=maxX-minX; varheight=maxY-minY; //Definescalefactortousetoallowforfalsenegativesaroundthisregion. varscale=1.3; //Definescaleddimensions. varnewWidth=width*scale; varnewHeight=height*scale; //Caculatetheoffsettoplacenewboundingboxsoscaledfromcenterofcurrentboundingbox. varoffsetX=(newWidth-width)/2; varoffsetY=(newHeight-height)/2; varnewXMin=minX-offsetX; varnewYMin=minY-offsetY; 之后對人物 bounding box 之外的區(qū)域進行更新,并且當檢測到人物移動時,更新背景區(qū)域。 //Nowloopthroughupdatebackgoundunderstandingwithnewdata //ifnotinsideaboundingbox. for(letx=0;xnewXMin+newWidth)||(ynewYMin+newHeight)){ //Convertxyco-ordstoarrayoffset. letn=y*canvas.width+x; data[n*4]=dataL[n*4]; data[n*4+1]=dataL[n*4+1]; data[n*4+2]=dataL[n*4+2]; data[n*4+3]=255; }elseif(!foundBody){ //Nobodyfoundatall,updateallpixels. letn=y*canvas.width+x; data[n*4]=dataL[n*4]; data[n*4+1]=dataL[n*4+1]; data[n*4+2]=dataL[n*4+2]; data[n*4+3]=255; } } } ctx.putImageData(imageData,0,0); if(DEBUG){ ctx.strokeStyle="#00FF00" ctx.beginPath(); ctx.rect(newXMin,newYMin,newWidth,newHeight); ctx.stroke(); } } 至此為算法的核心部分,用了這個程序,你也可以像滅霸一樣彈一個響指(單擊一下鼠標)讓人憑空消失。 熱門的「視頻隱身術」 其實,這并非機器之心報道的第一個消除視頻中人像的項目。 2019 年,我們也曾報道過「video-object-removal」項目。在此項目中,只要畫個邊界框,模型就能自動追蹤邊界框內的物體,并在視頻中隱藏它。 項目地址:https://github.com/zllrunning/video-object-removal

但從項目效果來看,也會有一些瑕疵,例如去掉了行人后,背景內的車道線對不齊等。 與 Mayes 的這個項目類似,video-object-removal 主要借鑒了 SiamMask 與 Deep Video Inpainting,它們都來自 CVPR 2019 的研究。通過 SiamMask 追蹤視頻中的目標,并將 Mask 傳遞給 Deep Video Inpainting,然后模型就能重建圖像,完成最終的修復了。 對此類技術感興趣的讀者可自行運行下這兩個項目,做下對比。

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

    關注

    2942

    文章

    47414

    瀏覽量

    409091
  • tensorflow
    +關注

    關注

    13

    文章

    332

    瀏覽量

    61874

原文標題:Github 3.4k星,200余行代碼,讓你實時從視頻中隱身

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    20代碼開發(fā)平臺多維度對比:解鎖企業(yè)應用開發(fā)新動能

    、行業(yè)痛點剖析 1.1 開發(fā)周期冗長 在傳統(tǒng)應用開發(fā)模式下,完整的項目從需求分析階段開始,便需要投入大量時間。開發(fā)團隊要與業(yè)務部門反復溝通,梳理出詳盡的需求文檔,這個過程往往會因
    的頭像 發(fā)表于 11-05 17:04 ?540次閱讀

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

    使用TensorFlow-Lite庫之前,必須先編譯OpenCV庫,生成頭文件和庫文件: 這里需要注意下,TensorFlow-Lite代碼所使用的GLIBC庫為2.34,
    發(fā)表于 09-12 22:43

    【匯思博SEEK100開發(fā)板試用體驗】3/第次使用OpenHarmony

    :??eTS??(或JS) Device Type:勾選目標設備(如Phone) 。 ??二、編寫第一個功能:修改歡迎語?? ??定位入口文件?? eTS項目:entry/src/main/ets
    發(fā)表于 08-20 22:21

    開放原子開源基金會發(fā)布150開源項目應用案例

    。案例覆蓋電力、通信、醫(yī)療、教育、金融、交通等10關系國計民生的關鍵行業(yè),彰顯了開源技術在促進產業(yè)升級、行業(yè)創(chuàng)新方面的強大動力,標志著開源技術實現(xiàn)從代碼研發(fā)到千百業(yè)規(guī)模化應用的重
    的頭像 發(fā)表于 07-28 17:10 ?1016次閱讀

    Ansible代碼上線項目實戰(zhàn)案例

    在DevOps浪潮中,自動化部署已經成為每個運維工程師的必備技能。今天我將分享完整的Ansible代碼上線項目實戰(zhàn)案例,讓你的部署效率提升10倍!
    的頭像 發(fā)表于 07-24 14:03 ?389次閱讀

    使用CY3014USB芯片組制作了臺相機,視頻顯示延遲怎么解決?

    我使用 CY3014USB 芯片組制作了臺相機,視頻從相機流向計算機,顯示屏上顯示出精美的圖像。 我注意到攝像機前發(fā)生的事情和信息在屏幕上更新/流動之間存在延遲。 延遲時間幾乎持續(xù) 1 秒。 這
    發(fā)表于 05-06 09:11

    如何將調用方函數(shù)的MATLAB代碼導入到DS?

    我最近制作了包含調用方函數(shù)的模型(我已將模型附加到 zip 文件中)。代碼構建正常。但是當我在 design studio 中導入代碼
    發(fā)表于 04-02 06:51

    在樹莓派上構建和部署 Node.js 項目

    探索在RaspberryPi上構建和部署Node.js項目的最佳實踐。通過我們的專業(yè)提示和技巧,克服常見挑戰(zhàn),使您的項目順利運行。去年圣誕節(jié),我收到了份極其令人著迷的禮物,它占據了我
    的頭像 發(fā)表于 03-25 09:44 ?525次閱讀
    在樹莓派上構建和部署 Node.<b class='flag-5'>js</b> <b class='flag-5'>項目</b>

    用樹莓派搞深度學習?TensorFlow啟動!

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

    如何將firware安裝到使用MC9S08JS16CWJ的新USBDM中?

    我正在根據您名為 USBDM_SWD_SER_JS16CWJ_V3_1 的文件制作 USBDM。 現(xiàn)在,我遇到了
    發(fā)表于 03-24 07:46

    開源項目!Open Echo:開源的聲納項目

    與 Arduino 兼容的回聲測深儀用于另一個水深 GPS 記錄設備項目??勺x取 Arduino 的回聲測深儀很難買到,所以我想,為什么不自己制作呢?基本工作原理很簡單,但底層的電子學和物理學并不總是那么簡單
    發(fā)表于 03-20 13:37

    Open Echo:開源的聲納項目

    “ ?這是還在迭代中的項目。開源的回聲測深儀/水深測量儀/聲吶系統(tǒng),適用于水文測繪及科研用途?;贏rduino平臺開發(fā)并具備良好兼容性? ” ? Open Echo 概覽 作為持續(xù)迭代
    的頭像 發(fā)表于 03-20 11:14 ?2107次閱讀
    Open Echo:<b class='flag-5'>一</b><b class='flag-5'>個</b>開源的聲納<b class='flag-5'>項目</b>

    開源項目!教你如何制作開源教育機械臂

    128x64實時反饋。 經過多次失敗的測試和設計迭代,Pedro 2.0終于在2024年發(fā)布,具有改進的功能,經過徹底的測試和驗證。 Pedro 2.0是完全開源的項目,旨在讓每個人都可以訪問
    發(fā)表于 03-10 11:22

    HarmonyOS NEXT 原生應用/元服務-ArkTS代碼調試使用斷點

    光標置于該行上并按Ctrl + F8(macOS為Command+F8)。 當您設置斷點時,相應的代碼旁邊會出現(xiàn)紅點,如圖。 在設置的斷點紅點處,單擊鼠標右鍵,在Conditio
    發(fā)表于 03-04 17:15

    開源項目!手把手教你制作互動式LED墻壁時鐘!

    在這篇教程中,將教你使用Arduino創(chuàng)建互動式LED墻壁時鐘。這個項目結合了創(chuàng)意和技術,設計出功能性強且視覺效果驚人的時鐘,它配
    發(fā)表于 02-08 17:47