TensorFlow2020:如何使用Tensorflow.js執行計算機視覺應用程式?
本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。
很多人都能執行操作計算機視覺應用程式。是的,學習並執行它並不難,現在有很多庫可以用來執行如此強大的計算機視覺應用程式。
你有沒有關注最近有沒有看TensorFlow2020峰會?今年,TensorFlow團隊釋出了很多非常酷的產品,本文就將介紹如何使用tensorflow.js模型執行計算機視覺應用程式。
什麼是TensorFlow.js?
TensorFlow.js是一個開原始碼庫,用於JavaScript中的機器學習應用程式和開發機器學習模型,並直接在瀏覽器或Node.js中使用機器學習。
什麼是Tensorflow.js模型?
Tensorflow.js模型是經過預先訓練的模型,使用者無需為訓練模型而準備/收集資料。這些模型託管在NPM(網路效能監控器)和unpkg上,可以應用於任何現成的專案。
本文將介紹tensorflow.js中的MediaPipeFacemesh模型。該模型是為移動裝置上的前置攝像頭設計的,在這些攝像頭中,人臉往往會佔據較大一部分畫面。
Facemesh模型演示
facemesh模型會根據筆者的面部動作移動影片幀。執行下面的計算機視覺應用程式需要哪些步驟呢?
第1步:這些是執行計算機視覺應用程式的三個重要的獨立執行指令碼標籤程式碼。
<scriptsrcscriptsrc="
- TensorFlow.js核心,用於神經網路和數值計算的靈活API。
- TensorFlow.js轉換器,將TensorFlowSavedModel匯入TensorFlow.js的工具。
- facemesh包可查詢影像中的面部邊界和界標。
第2步:在主題內容中加入影片HTML標籤,從而透過網路攝像頭識別面部。
<videowidthvideowidth=640 height=480 autoplay muted id=”camera”></video>
第3步:透過指令碼處理(通常是JavaScript),使用畫布標籤動態繪製圖形。
<canvaswidthcanvaswidth=640 height=480 id=”augmented_canvas”></canvas>
第4步:在畫布標籤上新增影片標籤以播放影片幀,從而根據面部動作移動影片幀。
<videoautoplay loop id=”movie” style=”visibility: hidden”> <sourcesrcsourcesrc=”TensorFlowjs.mp4" type=”video/mp4"></source> </video>
第5步:載入人臉模型並估計人臉大小,從而在影像中找到人臉邊界和界標。
//load camerastream const frame =document.getElementById("camera");//load movie stream const movie =document.getElementById("movie"); movie.play();//preparecanvas const canvas =document.getElementById("augmented_canvas"); const draw =canvas.getContext("2d");const result = awaitmodel.estimateFaces(frame, false);
第6步;在檢測到的人臉上使用以下程式碼繪製影片幀。
//copy camerastream to canvas draw.drawImage(frame,0, 0, 640, 480);//check if face is detected if(result.length > 0) { for (let i = 0; i < result.length; i++) { const start = result[i].topLeft; const end = result[i].bottomRight; const size = [end[0] — start[0], end[1] —start[1]]; //Render a rectangle over each detected face. draw.drawImage(movie, start[0], start[1],size[0], size[1]); } }
完成啦!按照上面的六個步驟就可以執行計算機視覺應用程式。所有人都認為想成為資料科學家就必須熟悉python或R程式語言,現在,使用javascript就可以執行機器學習應用程式啦。
【編輯推薦】
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2705152/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 計算機視覺入門大全:基礎概念、執行原理、應用案例詳解計算機視覺
- 計算機視覺與深度學習應用關係計算機視覺深度學習
- 來了解下計算機視覺的八大應用計算機視覺
- IDC:中國計算機視覺行業應用的現狀、挑戰與契機計算機視覺行業
- 計算機視覺應用:深度學習的力量和侷限性計算機視覺深度學習
- 計算機視覺論文集計算機視覺
- iOS計算機視覺—ARKitiOS計算機視覺
- 計算機視覺隨談計算機視覺
- HuggingFace在NLP和計算機視覺中的應用 - Reddit計算機視覺
- 乾貨|如何利用CNN建立計算機視覺模型?CNN計算機視覺模型
- 計算機視覺環境配置計算機視覺
- OpenVINO計算機視覺模型加速計算機視覺模型
- 計算機視覺—影象特效(3)計算機視覺特效
- OpenCV計算機視覺程式設計攻略(第2版)程式碼OpenCV計算機視覺程式設計
- 深度學習在計算機視覺各項任務中的應用深度學習計算機視覺
- 【計算機視覺】視訊格式介紹計算機視覺
- 超全!深度學習在計算機視覺領域應用一覽(附連結)深度學習計算機視覺
- 葉聰:朋友圈背後的計算機視覺技術與應用計算機視覺
- 計算機視覺技術在物聯網中的發展與應用計算機視覺
- [深度學習] 計算機視覺低程式碼工具Supervision庫使用指北深度學習計算機視覺
- 人工智慧 (14) 計算機視覺人工智慧計算機視覺
- 計算機視覺方向乾貨文章計算機視覺
- 機器學習工作坊 - 計算機視覺機器學習計算機視覺
- 計算機視覺頂會引用格式計算機視覺
- 機器視覺應用例項視覺
- 朋友圈爆款背後的計算機視覺技術與應用(附視訊)計算機視覺
- 如何理解神經網路空間,深度學習在計算機視覺中的應用有哪些?神經網路深度學習計算機視覺
- 幾行JavaScript程式碼構建計算機視覺程式,這裡有6個js框架JavaScript計算機視覺JS框架
- 計算機視覺 | Matlab實現單目視覺里程計基於SURF特徵(程式碼類)計算機視覺Matlab特徵
- 計算機系統->Hello World的一生 | 程式如何執行計算機
- 淺談深度學習的技術原理及其在計算機視覺的應用深度學習計算機視覺
- 計算機視覺與深度學習公司計算機視覺深度學習
- 計算機視覺技術專利分析計算機視覺
- 計算機視覺中的深度學習計算機視覺深度學習
- iOS計算機視覺—人臉識別iOS計算機視覺
- 計算機視覺基本原理——RANSAC計算機視覺
- Python計算機視覺-第2章Python計算機視覺
- 計算機視覺崗實習面經計算機視覺