PanChuang AI シェアリング 出典: Facebook AI 編集者:眠いですね [はじめに] 1年間の休止期間を経て、Facebook AIがPyTorchVideoで動画理解の戦場に帰ってきました。様々なコードライブラリとシームレスに統合できるだけでなく、LeCun氏が得意とする自己教師学習の基本的な理解も備えています。ちなみに、モバイルデバイスでも利用可能です!ビデオは徐々にテキストや画像を超え、現在最も広く使用されているメディア形式になり、ユーザーの閲覧時間の多くを占めているため、ビデオの理解が特に重要になっています。 大手インターネット企業やトップクラスの大学が知恵を絞って、SOTA ビデオ理解モデルとアルゴリズムの研究に競い合っています。 Google、Facebook、Open-MM Labなどがそれぞれのキラー機能をリリースした後、Facebook AIはPySlowFastをリリースしてから1年後、PyTorchVideoで戦場に戻ってきました。
公式サイト: https://pytorchvideo.org/
今日は、PyTorchVideo がどのようなコードベースであるか、そしてそれがリリースされたその日にどのようにして GitHub トレンド リストに載ることができたのかについて詳しく説明します。
PyTorchVideo はどこでも使用できます。 ビデオでコードを学ぶときに自分のフレームワークにのみ焦点を当て、他のコードベースを調べることができない多くの皆さんとは異なり、私は同じことができません。 PyTorchVideo は、torchvision などの基礎ライブラリと同様に、「どこでも使用可能」です。PyTorchVideo は、ビデオ理解タスクだけでなく、他のタスクライブラリでも使用できます。 Facebook AI Labs の専門家は、PyTorchVideo を独自の PySlowFast コードベースにシームレスに統合しただけでなく、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 が「何でもできる」ように見えることです。ビデオ分類やモーション検出といった最先端のタスクに優れているだけではありません。 LeCun 氏のお気に入りの自己教師あり学習や、音声イベント検出、その他の奇妙なタスクについても「少し理解」しています。
PyTorchVideoのSlowFastモデルに基づくモーション検出
PyTorchVideo は携帯電話でも再生できます。 さらに驚くべきことに、PyTorchVideo はモバイル アクセラレーションの最適化もオープンソース化し、ビデオ モデルのコア カーネルを最適化して量子化を加速するためのステップバイステップのチュートリアルも提供しています。 複数回の高速化を経て、モバイルデバイス上でリアルタイムに動作します。AndroidおよびiOSモバイルデバイス向けの公式ソースコードも直接公開されており、ユーザーはSOTAビデオモデルをスマートフォンで直接実行して楽しむことができます。
Samsung Galaxy S10 フォンで実行される PyTorchVideo Accelerated X3D モデルは最大 8 倍高速で、1 秒のビデオを約 130 ミリ秒で処理します。
PyTorchVideo とは何ですか? PyTorchVideo は、基本的にはビデオ理解のための機械学習ライブラリであり、さまざまなコードベース、さまざまな最先端 (SOTA) ビデオ モデル、オープンソース ビデオ モデルを提供できます。 また、基本的なビデオ アルゴリズム、ビデオ データ操作、一般的なビデオ データセット、ビデオ拡張、ビデオ モデルの高速量子化など、ビデオ関連のさまざまなトピックも取り上げます。
PyTorchVideoの遊び方 まず、pip を使用します。 pipでpytorchvideoをインストールする その後、公式チュートリアルを閲覧して実験してみたところ、PyTorchVideo を使用すると、わずか数行のコードでビデオ モデルをトレーニングできることが分かりました。 from pytorchvideo import data, models, accelerate# 視覚モデルと音響モデルを作成します。visual_model = models.slowfast.create_slowfast( model_num_class=400,) acoustic_model = models.resnet.create_acoustic_resnet( model_num_class=400,) # Kinetics データ ローダーを作成します。 kinetics_loader = torch.utils.data.DataLoader( data.Kinetics( data_path=DATA_PATH, clip_sampler=data.make_clip_sampler( "uniform", CLIP_DURATION, ), ) batch_size=BATCH_SIZE,) # モデルをデプロイします。visual_net_inst_deploy = accelerate.deployment.\ convert_to_deployable_form(net_inst, input_tensor) では、オープンソースのトレーニング モデル ライブラリからモデルを直接使用することはどれほど効果的でしょうか?
モデル = torch.hub.load("facebookresearch/pytorchvideo", model=model_name, pretrained=True)
公式モデルライブラリは非常に広範囲にわたるので、驚かされます。
キネティクス-400
サムシングサムシングV2
ジェスチャーゲーム
アヴァ(V2.2)
PyTorchVideo 対応の Lightning Flash でも、ビデオの分類に必要なのは 3 行だけです。
flash からインポート VideoClassifier model = VideoClassifier.load_from_checkpoint("checkpoint_uri")model.predict("path_to_video_folder")
公式ブログによると、PyTorchVideo は、ICCV、ICML、その他のカンファレンスで Facebook AI Labs が最近発表したものも含め、多数のビデオモデルをオープンソース化しているという。
MultiScale Vision Transform もその中に含まれるようですので、興味のある方はさらに詳しく調べてみてください。 参考文献: https://pytorchvideo.org/ https://ai.facebook.com/blog/pytorchvideo-a-deep-learning-library-for-video-understanding/ |