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

ブログ    
ブログ    
ブログ    

推薦する

...

2018 年に知っておくべき 15 の人工知能統計

人工知能(AI)は日々驚異的な速度で成長しており、それに伴い、さまざまな業界を取り巻く統計も変化して...

ビッグモデルが明らかに:ユーザーレビューから金脈を抽出する方法

著者 | 崔昊レビュー | Chonglouまとめこの論文では、大規模な言語モデルと LangCha...

ベイジアンディープラーニング: ディープラーニングと確率的グラフィカルモデルを統合するフレームワーク

人工知能 (AI) の進歩により、多層のディープ ネットワークを構築し、大量のデータを学習に活用する...

人工知能技術はどのようにビジネスに統合されるのでしょうか?

AI技術の発展の歴史は数十年前に遡りますが、1970年代から1980年代までの初期段階では、ビジネ...

目標を達成するために、Google AI は自身の体をこのように変形させました...

[[246219]]強化学習 AI がゲームをプレイすることは珍しくありません。インテリジェントエ...

人工知能はターミネーターとなるのか?ぜひ見に来てください!

[[253100]]映画「ターミネーター」を見たことがある人は多いでしょう。実は、ターミネーターに似...

...

グラフ分野における初のユニバーサルフレームワークが登場しました。 ICLR'24 Spotlightに選ばれ、あらゆるデータセットと分類問題を解決できる

普遍的なグラフモデルはありますか?分子構造に基づいて毒性を予測するだけでなく、ソーシャル ネットワー...

...

アンドリュー・ン氏のチームが2019年のAIトレンドを振り返る:自動運転は寒い冬を迎え、ディープフェイクはモンスターとなった

あと数日で2019年も終わりです。今年は AI が夢から現実へと移り変わる年です。NLP から自動運...

適切な機械学習アルゴリズムを簡単に選択

著者: ヨギータ・キナブガッティが編集企画丨孫淑娊適切な機械学習アルゴリズムを選択するにはどうすれば...

...

わずか4つの例から、DeepMindの800億のモデルは本当に学習した

知能の鍵となるのは、簡単な指示を与えられて新しいタスクを実行する方法を素早く学習する能力です。たとえ...

AI が電子商取引におけるウェブサイト アクセシビリティ訴訟のリスクを最小限に抑える方法

進化する人工知能により、電子商取引分野におけるウェブサイトのアクセシビリティ訴訟のリスクを最小限に抑...