序章
PaddleVideo は、開発者がビデオ分野での学術研究や産業実践をより適切に実施できるよう、豊富で優れた実用的なビデオ ツール ライブラリを作成することを目指しています。
PaddleVideo は、ビデオ データ注釈ツール、軽量 RGB および骨格点動作認識モデル、ビデオ ラベリングやモーション検出などの実用的なアプリケーションをサポートするパドルベースのビデオ理解ツール ライブラリです。
URL: https://github.com/PaddlePaddle/PaddleVideo/tree/develop
特性
さまざまなビデオ関連の最先端のアルゴリズムをサポートし、これに基づいて産業レベルの特性モデルPP-TSM および PP-TSMv2を構築し、データ生成、モデルのトレーニング、圧縮、予測展開のプロセス全体をオープンにします。
ライセンス
Apache 2.0 license
プロジェクトの投稿にはライセンス認証が必要です。
PaddleVideo ファイル ディレクトリの概要
.github/ ISSUE_TEMPLATE
フォルダー: GitHub問題テンプレートを保存します。
問題テンプレートは、質問や提案を標準化するための形式であり、開発者とユーザーがより効果的にコミュニケーションし、問題を解決するのに役立ちます。
プロジェクトごとに異なる課題テンプレートが存在する場合があります。これらは通常、プロジェクトのルート ディレクトリの下の.github
フォルダーに配置され、ISSUE_TEMPLATE で始まる名前が付けられます。たとえば、PaddleVideo プロジェクトには 2 つの課題テンプレートがあります。
Bug report
: 調査中に発生した問題を説明するために使用されます。これには、問題の説明、再現手順、予想される効果、スクリーンショット、環境バージョンのメモなどが含まれます。Feature request
: 問題の説明、提案された解決策、その他のアイデア、その他のコンテンツなど、チュートリアルの有効性を維持するために使用されます。
benchmark/TimeSformer
フォルダー:トランスフォーマー ベースの動作認識モデル TimeSformer のコードと構成を保存します。
ここでは
benchmark
、何かの質や量を既知の基準と比較して評価する方法を示します。
このフォルダーには、他のモデルとのパフォーマンス比較benchmark
のために、トランスフォーマー ベースの動作認識モデルである TimeSformer のコードと構成が保存されます。
data
: 、、データセットなどのさまざまなデータセットのサンプル ファイルと、、、などのさまざまなファイル形式のサンプルを保存します。ucf101
ntu-rgb-d
fsd10
example.pkl
example.avi
example_feat.npy
deploy
:デプロイメント関連のコードとファイルを保存します。test_tipc
:テスト関連のコードとファイルを保存します。tools
:ツール関連のコードとファイルを保存します。output
:トレーニング出力の重み、オプティマイザー パラメーター、その他のファイルを保存します。log
:トレーニング ログを保存します。inference
:予測モデルを保存します。
アプリケーションフォルダーの詳細
ビデオ アプリケーション関連のコードとデータを保存します。
このフォルダでは、 Figure S kating Figure\ Skatingなど、アプリケーションケースに応じてやりたいプロジェクトをすぐに見つけることができます。フィギュアスケートフィギュアスケート 。 _ _ _ _ _
応用例を以下の図に示します。
configsフォルダーの詳細
さまざまなモデルとデータセットの構成ファイルが含まれています。
構成ファイルは、モデルの構造、トレーニング パラメーター、データ処理などを定義するために使用される形式の
yaml
テキストファイルです。PaddleVideo は、モデルのトレーニング、テスト、推論、その他の操作だけでなく、構成ファイルを変更することによって、さまざまなモデルとデータ セットの組み合わせをサポートします。
PaddleVideo は、さまざまなモデルやデータセットの設定ファイルを保存するためのカテゴリに分割されています。 (行動認識)、(ビデオセグメンテーション)、(アクション位置決め)、 (アクション検出) などのフォルダー
PaddleVideo/configs/
があります。recognition
segmentation
localization
detection
たとえば、図に示すように、recognition
フォルダーの下には、動作認識方向のモデルとデータセットの設定ファイルが多数存在します。
ドキュメントフォルダーの詳細
ドキュメント関連のファイルを保存します。
クイック スタート、インストール手順、ユーザー ガイド、モデル ライブラリ、シナリオ アプリケーションなどが含まれます。これらのファイルはすべて というmarkdown
形式で記述されており、GitHub または Gitee で直接表示またはダウンロードできます。
PaddleVideo/docs/zh-CN/dataset/
フォルダーの下には、データセットの紹介、ダウンロード、前処理などを含む、さまざまなデータセットの説明ドキュメントがあります。
PaddleVideo/docs/zh-CN/model_zoo/
フォルダーの下には、さまざまなモデルの紹介、パフォーマンス、ダウンロード リンクを含む、いくつかの最先端のアルゴリズムとモデルの説明文書があります。
PaddleVideo/docs/zh-CN/benchmark.md
:異なるデータセット上のさまざまなモデルの精度や速度など、モデルのパフォーマンス比較の関連ドキュメントを保存します。
paddlevideo フォルダーの詳細
ビデオ モデル ライブラリに関連するコードとファイルを保存するフォルダー。
図に示すように、このフォルダーには主に次のファイルがあります。
ユーティリティフォルダー
paddlevideo/utils
このフォルダーには、補助ビデオ データなどのロード、前処理、後処理のためのいくつかの一般的なユーティリティ関数と前処理メソッドが含まれています。
タスクフォルダー
tasks
このフォルダーの役割は、さまざまな機械学習タスクを定義および実行するために使用されるいくつかのクラスまたは関数を保存することです。
画像分類タスク、関係分類タスク、意味検索タスク、インテリジェントな質問応答タスクなど、機械学習タスクが異なれば、異なるデータセット、モデル、指標、トレーニングおよびテストプロセスなどが必要になる場合があります。
tasks
フォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するモデルを構築および実行し、フォルダー内のインジケーターを使用してトレーニングまたはテスト中にmetrics
モデルのパフォーマンスを評価できます。
ローダーフォルダー
loader
フォルダーの役割は、データのロードと処理のためのいくつかのクラスまたは関数を保存することです。
機械学習タスクが異なれば、異なるデータ形式、データ前処理、データ拡張、データサンプリングなどが必要になる場合があります。
- 画像分類タスクでは、画像ファイルの読み込み、トリミング、回転、正規化などを行う必要があります。
- リレーショナル分類タスクでは、テキスト ファイルを読み込み、単語の分割、エンコード、埋め込みなどの操作を実行する必要があります。
loader
フォルダー内のクラスまたは関数は、さまざまなタスクやデータ セットに応じて対応するデータ ローダーを作成および使用し、トレーニングまたはテスト中にバッチ データ入力を提供できます。
モデリングフォルダー
modeling
フォルダーの役割は、モデルの構築と定義に使用されるいくつかのクラスまたは関数を保存することです。
フォルダは図のとおりです。
その中で、次のbackbones
フォルダーの下にあります。
heads
フォルダーの下:
機械学習タスクが異なれば、異なるモデル構造、モデルパラメーター、モデルレイヤー、モデルアクティベーションなどが必要になる場合があります。
- 画像分類タスクでは、畳み込みニューラル ネットワーク、全結合層、ソフトマックス ソフトマックスの使用が必要です。softmax 层, R e L U ReLU R e LUアクティベーションなど、
- 関係分類タスクではリカレント ニューラル ネットワーク、注意メカニズム、線形層、tanh Tanhを使用する必要があります。アクティベーションなど
modeling
フォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するモデルを作成および使用し、トレーニングまたはテスト中にモデルの順伝播と逆伝播を実現できます。
ソルバーフォルダー
solver
フォルダーの役割は、モデルの最適化と解決に使用されるいくつかのクラスまたは関数を保存することです。
異なる機械学習タスクには、異なる最適化アルゴリズム、損失関数、正則化項、学習率戦略などが必要になる場合があります。
- 画像分類タスクでは、確率的勾配降下法、クロスエントロピー損失、重み減衰、コサインアニーリングなどを使用する必要があります。
- 関係分類タスクでは、適応モーメント推定、対比損失、敵対的トレーニング、線形減衰などの使用が必要です。
solver
フォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するオプティマイザーを作成および使用し、トレーニングまたはテスト中にモデルのパラメーターを更新および調整できます。
メトリクスフォルダー
metrics
このフォルダーには、モデルのパフォーマンスを評価するために使用されるいくつかのクラスまたは関数が保存されます。
機械学習タスクが異なれば、モデルの品質を測定するために異なるメトリクスが必要になる場合があります。たとえば、次のようになります。
- 分類タスクで一般的に使用される指標は、精度、再現率、F 1 F1です。F 1スコア、ROC ROCROCカーブなど
- 回帰タスクで一般的に使用される指標には、平均二乗誤差、二乗平均平方根誤差、平均絶対誤差などがあります。
metrics
フォルダー内のクラスまたは関数は、さまざまなタスクやデータセットに従って対応するインジケーターを定義および計算し、トレーニングまたはテスト中にインジケーター値を更新および蓄積して、モデルの選択と最適化を容易にすることができます。