Facebook AI が、強力なフルスタック ビデオ ライブラリである PyTorchVideo をオープンソース化し、モバイル フォンで SOTA モデルを 8 倍高速に実行できるようにしました。

Facebook AI が、強力なフルスタック ビデオ ライブラリである PyTorchVideo をオープンソース化し、モバイル フォンで SOTA モデルを 8 倍高速に実行できるようにしました。

[[409522]]

動画は徐々にテキストや画像を超え、最も広く利用されているメディア形式になったと言えます。また、ユーザーの閲覧時間の大部分を占めるため、動画の理解は特に重要です。

大手インターネット企業やトップクラスの大学が、SOTA ビデオ理解モデルとアルゴリズムの研究に知恵を絞って競い合っています。

Google、Facebook、Open-MM Labなどが独自のキラー兵器を発売した後、Facebook AIはPySlowFastを発売してから1年後にPyTorchVideoで戦場に復帰しました。

[[409524]]

公式サイト: https://pytorchvideo.org/

今日は、PyTorchVideo がどのようなコード ベースであるか、また、オープン ソースの日に GitHub トレンド リストでどのようにランク付けされたかを見ていきます。

PyTorchVideoはどこでも使える

ここにいる他の人たちとは異なり、ビデオ コード理解フレームワークは独自のフレームワークにのみ執着しており、他のコード ベースに移行することはできません。

PyTorchVideo は、torchvision などの基本コード ライブラリと同様に、「どこでも使用できます」。 PyTorchVideo は、ビデオ理解タスクで使用できるだけでなく、他のタスクのコード ライブラリとしても使用できます。

Facebook の AI ラボの重役たちは、独自の PySlowFast コード ベースで PyTorchVideo をシームレスに使用しただけでなく、Classy Vision や PyTorch Lightening などのフレームワークにもシームレスに挿入しました。

PyTorchVideo は、恵まれた環境で誕生しました。PyTorch Lightning-Flash のビデオ理解ライブラリとして直接使用され、デフォルトで基本ライブラリとして使用されました。

FiftyOne プロジェクトでは、オープンソース コミュニティの人々が Lightning-Flash を使用して、ビデオのアクション カテゴリを直接表示できるビデオ閲覧ツールボックスを作成しました。

51: https://medium.com/pytorch/ushering-in-the-new-age-of-video-understanding-with-pytorch-1d85078e8015

PyTorchVideoは何でもできる

さらに驚くべきことは、PyTorchVideo は「何でもできる」ということです。ビデオ分類やアクション検出などのタスクで SOTA 結果を達成しただけではありません。

このAIは、LeCun氏のお気に入りの自己教師あり学習や、オーディオイベント検出などのさまざまな奇妙なタスクを「少しだけ理解」しています。

PyTorchVideo の SlowFast モデルに基づくアクション監視

PyTorchVideoは携帯電話でも再生可能

さらに驚くべきことは、PyTorchVideo がモバイル アクセラレーションの最適化もオープンソース化しており、ステップ バイ ステップのチュートリアルを提供しているだけでなく、ビデオ モデルのコア カーネルを段階的に最適化し、アクセラレーションを量子化していることです。

数倍の高速化を経て、モバイルデバイス上でリアルタイムに動作します。公式はAndroidとiOSモバイル端末向けのオープンソースコードも直接リリースしており、SOTAビデオモデルを携帯電話に直接インストールして楽しむことができます。

PyTorchVideo は、Samsung Galaxy S10 スマートフォンで実行される X3D モデルを高速化し、8 倍の速度で実行し、1 秒間のビデオを約 130 ミリ秒で処理します。

PyTorchVideoとは

PyTorchVideo の正体は、さまざまなコード ベース、さまざまな SOTA ビデオ モデル、オープン ソース ビデオ モデルに対応できるビデオ理解用の機械学習ライブラリです。

さらに、さまざまな基本的なビデオ アルゴリズム、ビデオ データ操作、さまざまな一般的なビデオ データ セット、ビデオ拡張、ビデオ モデルの高速化と量子化、およびその他のフルスタックのビデオ関連コンテンツも含まれます。

PyTorchVideoの遊び方

まずそれを潰します。

  1. pip pytorchビデオをインストールする

その後、公式チュートリアルを閲覧して実験してみたところ、PyTorchVideo でビデオ モデルをトレーニングするには、わずか数行しかかからないことがわかりました。

  1. Pytorchvideoからデータ、モデル、アクセラレータをインポートする
  2. # 視覚モデルと音響モデルを作成します。
  3. visual_model = models.slowfast.create_slowfast(
  4. モデル番号クラス = 400
  5. 音響モデル = models.resnet.create_acoustic_resnet(
  6. モデル番号クラス = 400
  7. # Kinetics データローダーを作成します。
  8. kinetics_loader = torch.utils.data.DataLoader(
  9. データ.キネティクス(
  10. データパス=データパス、
  11. clip_sampler = data.make_clip_sampler(
  12. 「ユニフォーム」
  13. クリップ時間、
  14. )、
  15. バッチサイズ=BATCH_SIZE、
  16. # モデルをデプロイします。
  17. visual_net_inst_deploy = アクセラレータ.deployment.\
  18. デプロイ可能な形式に変換します(net_inst、入力テンソル)

では、オープンソースのトレーニング モデル ライブラリから直接モデルを使用するとどのような効果があるのでしょうか?

  1. モデル = torch.hub.load( "facebookresearch/pytorchvideo" 、 model=model_name、 pretrained=True)

公式モデルライブラリは非常に豊富で、ただただ驚嘆するばかりです。

キネティクス-400

アーチ

深さ

フレーム長 x サンプルレート

トップ1

フロップ数 (G) x 視聴回数

パラメータ(M)

C2D

R50

8x8

71.46

25.89 x 3 x 10

24.33

3D

R50

8x8

73.27

37.53 x 3 x 10

28.04

遅い

R50

4x16

72.40

27.55 x 3 x 10

32.45

遅い

R50

8x8

74.58

54.52 x 3 x 10

32.45

スローファスト

R50

4x16

75.34

36.69 x 3 x 10

34.48

スローファスト

R50

8x8

76.94

65.71 x 3 x 10

34.57

スローファスト

R101

8x8

77.90

127.20 x 3 x 10

62.83

スローファスト

R101

16x8

78.70

215.61 x 3 x 10

53.77

CSN

R101

32x2

77.00

75.62 x 3 x 10

22.21

R(2+1)D

R50

16x4

76.01

76.45 x 3 x 10

28.11

3D

サイズ

4x12

69.12

0.91×3×10

3.79

3D

13x6

73.33

2.96 x 3 x 10

3.79

3D

16x5

75.94

6.72×3×10

3.79

3D

16x5

77.44

26.64 x 3 x 10

6.15

サムシングサムシングV2

アーチ

深さ

事前トレーニング

フレーム長 x サンプルレート

トップ1

フロップ数 (G) x 視聴回数

パラメータ(M)

遅い

R50

キネティクス400

8x8

60.04

55.10 x 3 x 1

31.96

スローファスト

R50

キネティクス400

8x8

61.68

66.60 x 3 x 1

34.04

ジェスチャーゲーム

アーチ

深さ

事前トレーニング

フレーム長 x サンプルレート

地図

フロップ数 (G) x 視聴回数

パラメータ(M)

遅い

R50

キネティクス400

8x8

34.72

55.10 x 3 x 10

31.96

スローファスト

R50

キネティクス400

8x8

37.24

66.60 x 3 x 10

34.00

アヴァ(V2.2)

アーチ

深さ

事前トレーニング

フレーム長 x サンプルレート

地図

パラメータ(M)

遅い

R50

キネティクス400

4x16

19.5

31.78

スローファスト

R50

キネティクス400

8x8

24.67

33.82

PyTorchVideo を搭載した Lightning Flash でも、ビデオの分類には 3 行しかかかりません。

  1. フラッシュからインポートVideoClassifier
  2. モデル = VideoClassifier.load_from_checkpoint( "checkpoint_uri" )
  3. model.predict( "ビデオフォルダへのパス" )

公式ブログによると、PyTorchVideo は、ICCV、ICML などに最近登場した Facebook の人工知能研究所の成果を含む、多数のビデオ モデルをオープンソース化している。

  • マルチスケールビジョントランスフォーマー https://arxiv.org/abs/2104.11227
  • 教師なし時空間表現学習に関する大規模研究 https://arxiv.org/abs/2104.14558
  • ビデオからの半教師あり学習のためのマルチビュー疑似ラベリング https://arxiv.org/abs/2104.00682
  • ビデオ理解に必要なのは時空間注意だけでしょうか?https://arxiv.org/abs/2102.05095
  • ボールから目を離さない: ビデオトランスフォーマーにおける軌道注意https://arxiv.org/abs/2106.05392
  • ビデオ認識のための SlowFast ネットワーク https://arxiv.org/abs/1812.03982
  • X3D: 効率的なビデオ認識のためのアーキテクチャの拡張 https://arxiv.org/abs/2004.04730
  • ビデオ認識のためのオーディオビジュアル SlowFast ネットワーク https://arxiv.org/abs/2001.08740
  • 非局所ニューラルネットワーク https://arxiv.org/abs/1711.07971
  • 動作認識のための時空間畳み込みの詳細 https://arxiv.org/abs/1711.11248
  • チャネル分離畳み込みネットワークによるビデオ分類 https://arxiv.org/abs/1904.02811

MultiScale Vision Transform もその中にあるようです。興味のある友人は調べてみてください。

<<:  スタンフォード大学の中国人博士、フェイフェイ・リー氏は、スライドモデルを提案し、NVIDIAと共同で汎用人工知能を研究した。

>>:  2021 年の人工知能の 4 つのビジネス アプリケーション

ブログ    
ブログ    

推薦する

SurfelGAN でメタバースを作成する車の脳を訓練するためにシムシティを立ち上げるお金がないからですか?

自動運転はディープラーニングの重要な応用分野です。長年にわたる蓄積の結果、現在では科学研究者が AI...

HipHop アルゴリズム: マイクロブログの相互作用関係を使用してソーシャル サークルをマイニングする

[[120924]] Weibo 環境において、Weibo ユーザーのソーシャル サークルや興味サー...

自然言語処理による検索分析とは何か、なぜそれがビジネスにどのように役立つのか

組織が高度な分析ソリューションを検討している場合、IT チームと管理チームはおそらく何らかの調査と分...

人工知能による仕事の代替

テスラとペイパルの創業者イーロン・マスク氏は、将来私たちのほとんどが職を失うとさえ言っており、人工知...

携帯電話のネットワークアクセスに顔認識が必要ですか?顔認識は私たちの生活にどれくらい近いのでしょうか?

工業情報化部の規定によると、2019年12月1日より、通信事業者はすべてのチャネルで顔認識を実装し、...

GitHub のネイティブ AI コード生成ツール Copilot が Visual Studio 2022 を正式にサポート

現在、Microsoft、OpenAI、GitHub が共同で作成した AI プログラミング支援ツー...

AI推論の進化

AI推論市場はここ3、4年で劇的に変化しました。以前は、エッジ AI は存在すらせず、推論機能のほと...

旅の途中を突破せよ! OpenAIが秘密裏に新プラットフォームをテスト

著者: 徐潔成校正:Yun Zhao 「使ってみて、もうMidjourneyには興味がなくなった」。...

自動運転列車が完成しました!しかし、あなたは座る勇気がありますか?

すべてが計画通りに進めば、鉱山大手リオ・ティントの貨物列車が8月にコロラド州プエブロ近郊の線路を走り...

...

コンピュータービジョンにおける AI の役割は何ですか?

コンピュータービジョン技術を使用することで、コンピューターは視覚的に物を識別したり確認したりすること...

...

企業は AI、IoT、AR、VR、ブロックチェーン、ビッグデータをどのように活用して顧客を維持できるでしょうか?

企業は、顧客維持率と顧客体験を向上させ、競合他社に負けないようにするために、人工知能 (AI)、モノ...

Javaソートアルゴリズムの概要(IV):シェルソート

シェルソート(縮小増分法)は挿入型ソートに属し、順序付けられていないシーケンス全体をいくつかの小さな...

大規模モデルのモデル融合法についてお話しましょう

モデル融合は、特に判別モデルにおいて、これまで頻繁に使用されてきました。これは、常に着実に改善できる...