TensorFlow2020: Tensorflow.js を使用してコンピューター ビジョン アプリケーションを実行する方法は?

TensorFlow2020: Tensorflow.js を使用してコンピューター ビジョン アプリケーションを実行する方法は?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

多くの人がコンピューター ビジョン アプリケーションを実行できます。はい、学習して実行するのはそれほど難しくありません。このような強力なコンピューター ビジョン アプリケーションを実行するために利用できるライブラリは数多くあります。

最近、TensorFlow 2020 Summit に注目していますか? 今年、TensorFlow チームは非常に優れた製品を多数リリースしました。この記事では、tensorflow.js モデルを使用してコンピューター ビジョン アプリケーションを実行する方法を説明します。

TensorFlow.js とは何ですか?

TensorFlow.js は、機械学習アプリケーションおよび JavaScript での機械学習モデルの開発、およびブラウザまたは Node.js で直接機械学習を使用するためのオープンソース コード ライブラリです。

Tensorflow.js モデルとは何ですか?

Tensorflow.js モデルは事前トレーニング済みのモデルであり、ユーザーはモデルをトレーニングするためのデータを準備/収集する必要がありません。モデルは NPM (Network Performance Monitor) および unpkg でホストされており、既存のプロジェクトに適用できます。

この記事では、tensorflow.js の MediaPipeFacemesh モデルを紹介します。このモデルは、顔がフレームの大部分を占める傾向があるモバイル デバイスの前面カメラ用に設計されています。

フェイスメッシュモデルのデモンストレーション

フェイスメッシュ モデルは、顔の動きに基づいてビデオ フレームを移動します。次のコンピューター ビジョン アプリケーションを実行するには、どのような手順が必要ですか?

ステップ 1: これらは、コンピューター ビジョン アプリケーションを実行するために独立して実行される 3 つの重要なスクリプト タグ コードです。

  1. < scriptsrc scriptsrc = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core" > </スクリプト>  
  2. < scriptsrc scriptsrc = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter" > </スクリプト>  
  3. < scriptsrc scriptsrc = "https://cdn.jsdelivr.net/npm/@tensorflow-models/facemesh" > </スクリプト>  
  • TensorFlow.js コアは、ニューラル ネットワークと数値計算用の柔軟な API です。
  • TensorFlow.js コンバーターは、TensorFlowSavedModel を TensorFlow.js にインポートするためのツールです。
  • facemesh パッケージは、画像内の顔の境界とランドマークを検出します。

ステップ 2: ウェブカメラを通じて顔を認識できるように、件名のコンテンツにビデオ HTML タグを含めます。

  1. <ビデオ幅ビデオ幅= 640  高さ= 480自動再生 ミュートid = "camera" > </ video >  

ステップ 3: スクリプト (通常は JavaScript) を使用して、キャンバス タグでグラフィックを動的に描画します。

  1. <キャンバス幅キャンバス幅= 640  高さ= 480   id = "拡張キャンバス" > </キャンバス>  

ステップ 4: キャンバス タグにビデオ タグを追加してビデオ フレームを再生し、顔の動きに応じてビデオ フレームを移動できるようにします。

  1. < videoautoplay loop id ="movie" style ="visibility: hidden" >  
  2. < sourcesrcsourcesrc = "TensorFlowjs.mp4" type = "video/mp4" > </ source >  
  3. </ビデオ>  

ステップ 5: 顔モデルを読み込み、顔のサイズを推定して、画像内の顔の境界とランドマークを見つけます。

  1. //カメラストリームを読み込む
  2. const frame = document .getElementById("camera"); // ムービーストリームを読み込む
  3. constムービー=ドキュメント.getElementById("ムービー");
  4. movie.play();//キャンバスを準備する
  5. constキャンバス= document .getElementById("augmented_canvas");
  6. const draw = canvas .getContext("2d");const result = awaitmodel .estimateFaces(frame, false);

ステップ 6: 検出された顔に次のコードを使用してビデオ フレームを描画します。

  1. // カメラストリームをキャンバスにコピー
  2. draw.drawImage(frame,0, 0, 640, 480);//顔が検出されているかどうかを確認します
  3. (結果の長さ 0)の場合
  4. {
  5. i = 0とすると、i <  結果.長さ; i++) {
  6. const start =結果[i].topLeft;
  7. 定数end =結果[i].bottomRight;
  8. const size = [end[0] — start[0], end[1] — start[1]]; //検出された各顔の上に四角形をレンダリングします。
  9. draw.drawImage(ムービー、開始[0]、開始[1]、サイズ[0]、サイズ[1]);
  10. }
  11.   
  12. }

以上です。上記の 6 つの手順に従って、コンピューター ビジョン アプリケーションを実行します。データ サイエンティストになるには Python または R プログラミング言語に精通している必要があると誰もが考えていますが、今では JavaScript を使用して機械学習アプリケーションを実行できます。

<<:  AI時代、私たちは将来の仕事にどう備えればいいのでしょうか?

>>:  AIが製造業に力を与え、PowerLeader Serverは製品、サービス、生産に焦点を当てる

ブログ    

推薦する

2024年に注目すべき5つの持続可能な技術

今年が進むにつれて、持続可能な開発をめぐる話題はますます高まるばかりであり、気候変動が近づいていると...

何開明のMAE制限が破られ、Swin Transformerと組み合わせることで、トレーニング速度が向上しました

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

WebGPT について簡単に説明してください。学びましたか?

原作者: エベネザー・ドン元のアドレス: https://blog.logrocket.com/in...

AIが米国の8年生の理科テストに高得点で合格。常識や推論の問題を解くことができ、同じ舞台でAIと競争する準備が整った。

8年生の理科のテストに60点で合格すれば、8万ドル(57万人民元相当)の賞金を獲得できます。 [[...

MySQL: データ構造とアルゴリズムの原則

[[190898]]この記事では、MySQL データベースを研究対象として取り上げ、データベース イ...

厳しい期限内で機械学習を行う方法: ラベル付きニュースの構築

[[195898]]翻訳者注: この記事では、著者と 3 人の友人がプログラミング マラソンに参加し...

2019年の人工知能の給与水準、給与水準分析チャート、わかりやすい

2019年の人工知能の給与水準、まずは全体の給与水準の2つの分析グラフを見てみましょう! ***は、...

私の国のロボット産業には隠れた懸念があります。すべての関係者が協力して高品質の開発を推進します

近年、我が国のロボット産業は急速な発展傾向を示していますが、一方で、中核技術の弱さや粗利益率の低下な...

人工知能に対する期待と不安

AI は世界を変えようとしていますが、問題は、それがどのように起こるか誰も予測できないことです。過去...

Zhiyuan が世界最大の中国語と英語のベクトルモデルトレーニングデータセットをリリースしました。最大3億のテキストペアまで拡張可能

9月15日、北京人工知能産業サミットおよび中関村科学城科学技術イノベーションコンテスト授賞式において...

世界に革命をもたらす新たなテクノロジートレンド

急速な技術進歩により、私たちの知る世界は変化し続け、変革の可能性を秘めた新たな時代が到来しています。...

強化学習を使用して、顧客が注目する広告を選択する方法

[51CTO.com クイック翻訳] 現在、世界中のデジタル広告代理店は、ニュースサイト、検索エンジ...

Java 配列から HashMap へのアルゴリズムの説明

1. 配列とは何ですか?どの本にこのような文章があったか忘れましたが、「すべてのデータ構造は配列の進...

体型の変化は千差万別! MIT が宇宙探査用人工物を開発 - モジュール式の自己再構成可能なマイクロロボット

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...