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は製品、サービス、生産に焦点を当てる

ブログ    
ブログ    
ブログ    

推薦する

Google、3年ぶりの検索エンジンアルゴリズムの改良を発表

Googleは木曜日に創立15周年を迎えた。これを記念して、同社は同日、2010年以来最大の検索エン...

ゼロベース科学の普及: 4 つのシンプルな推奨アルゴリズムの背後にある原理

[[402797]]この記事はWeChatのパブリックアカウント「Big Data DT」から転載し...

...

WindowsとOfficeは使いやすく、大型モデルのインテリジェントエージェントはコンピュータを操作するのにとてもクールです

AI アシスタントの将来について語るとき、アイアンマン シリーズに登場する魅力的な AI アシスタン...

Google翻訳では対応できない?ドイツ語ハードコア翻訳DeepL体験

[[321121]]インターネットを頻繁に利用する人のほとんどは、お気に入りの翻訳ツールを持っていま...

...

2020 年の CIO にとっての 5 つの戦略的優先事項

ヘルスケア、小売、テクノロジー業界の IT リーダーが 2020 年の戦略的優先事項を共有します。ヒ...

自動運転車を最も必要としているのは誰でしょうか?

ほぼすべての道路状況に適応できる自動運転車の開発は、間違いなく非常に困難な課題です。無人運転車を実現...

2020 年の優れた産業用人工知能アプリケーション

人工知能技術は今、世界を変えつつあります。多くの業界はすでに、ビジネス プロセスを改善するために A...

...

ネットワークにおける機械学習の実際の応用

インターネット接続の需要が急速に高まっているため、企業にはネットワーク インフラストラクチャ、パフォ...

顔認識の混乱が蔓延しています。企業は規制に準拠しながら顔認識技術をどのように適用できるでしょうか?

2012年以来、情報セキュリティに対する世間の注目はますます高まっており、今年の315 Galaで...

Nvidia は年末に大きな動きを見せます!強力な画像ジェネレーターStyleGAN2のリリース

今年初め、NVIDIA の研究エンジニアは、生成的敵対ネットワーク用のスタイルベースのジェネレーター...