カスタムデータセットのセグメンテーションにおけるDINOv2 総合的なチュートリアル.

「DINOv2を使用したカスタムデータセットのセグメンテーション:総合的なチュートリアル」

YOLOv8やSAM(Segment Anything Model)の後、最も期待されているコンピュータビジョンモデルはDINOv2です。このチュートリアルのモチベーションは、このGitHubリポジトリから得ました:https://github.com/NielsRogge/Transformers-Tutorials/tree/master、コードを実行している間、2つのバグを見つけました。それによって、モデルのトレーニング中にいくつかの厄介なエラーが発生しました(彼のチュートリアルでは、いくつかのステップでトレーニングプロセスを停止し、最後のトレーニングステップでエラーが発生します)。コード全体は彼のノートブックから取得しました(一部の変更を含む 🙂 )、ここが攻撃計画です:

攻撃計画

  1. DINOv2の紹介
  2. ライブラリのインストール
  3. データセットのロード
  4. PyTorchデータセットの作成
  5. PyTorchデータローダーの作成
  6. モデルの定義
  7. モデルのトレーニング

DINOv2の紹介

DINOv2は、142百万枚の画像から細心の注意を払って作成されたデータセットで自己教示学習されたビジョントランスフォーマーです。このモデルは、画像分類、画像セグメンテーション、深度推定などの下流タスクに最適な画像特徴または埋め込みを提供します。

図1:このチュートリアルではモデルが完全に動作しています。(モデルが1エポックだけトレーニングされたときの出力画像)(作成者による画像)

図1はこの手法を概念化しており、このチュートリアルでは、凍結されたDINOv2のバックボーンの上に線形変換(1*1 CNNレイヤー)を単純にトレーニングしています。この変換は、特徴(パッチの埋め込み)をロジット(ニューラルネットワークによって出力される非正規化されたスコアで、モデルの予測を示す)にマッピングします。セマンティックセグメンテーションの文脈では、ロジットは(バッチサイズ、クラスの数、高さ、幅)の形を取り、各ピクセルに対する予測クラスに対応します。

ライブラリのインストール

ここでは2つの主要なライブラリがあります:

!pip install -q git+https://github.com/huggingface/transformers.git datasets!pip install -q evaluate

データセットのロード

次に、画像セグメンテーションのデータセットをロードしましょう。この場合、Foodseg データセットを使用します。

from datasets import load_dataset#datasetdataset = load_dataset("EduardoPacheco/FoodSeg103")#lables…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more