> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/ja/toappurdo/adding-data.md).

# 画像、動画、注釈をアップロードする

画像、動画、注釈を Roboflow にアップロードします。

Roboflow でモデルを学習・デプロイする最初のステップは、データをプロジェクトにアップロードすることです。

まず、次のことを行う必要があります [プロジェクトを作成する](/datasets/ja/toappurdo/create-a-project.md).

すると、データをアップロードできる Web ページに移動します。このページには、プロジェクトのサイドバーにある「データをアップロード」ボタンからもアクセスできます。

## データの追加方法

Roboflow アカウントには、次の方法でデータを追加できます。

* Web アプリケーションを使用する: 1,000 枚未満の画像のデータセットに推奨。
* コマンドラインを使用する: 1,000 枚を超える画像のデータセットに推奨。
* モデルがすでに本番環境で動作している Workflows からデータを収集する場合は、Dataset Upload Workflow Block を使用する: 推奨。

{% hint style="info" %}
AWS S3、Google Cloud Storage、Azure Blob Storage などのクラウドストレージに画像がすでにある場合は、 [データソース](/datasets/ja/toappurdo/adding-data/datasources.md) と Bucket Mirror を、アップロード用のスクリプトではなくデフォルトの方法として使用してください。Datasource は、画像とメタデータを自動的にワークスペースへインポート、取り込み、同期します。署名付き URL のアップロードまたはローカル डाउनलोडは、1 回限りのインポートや臨時のインポートにのみ使用してください。
{% endhint %}

Web アプリケーションとコマンドラインから、次をアップロードできます。

* JPG、PNG、WEBP、AVIF、BMP、HEIC/HEIF 画像。\*
* MOV および MP4 動画。
* PDF ファイル。
* [サポートされている任意の形式のアノテーション。](https://roboflow.com/formats)

\**最大サイズは 20MB、16,400 x 10,900 ピクセルです。*

アップロードできるのは、関連付けられた画像を含むアノテーションのみです。すでにデータセットに取り込まれている画像のアノテーションをアップロードすることはできません。

## Web アプリ

プロジェクトを作成するとき、または「データをアップロード」ページでは、画像、動画、アノテーションをドラッグ＆ドロップできるボックスが表示されます。

<figure><img src="https://2416768182-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-deb24c5aa34b10e1ccab8bec61e7f55ed2f8c273%2Fimage%20(426).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

[40 種類以上のアノテーション形式に対応しています。](https://roboflow.com/formats) サポートされる形式は、プロジェクトの種類によって異なります。

<details>

<summary>ファイル名の処理方法</summary>

画像ファイル名を標準化できるように、アップロード/インポート時とエクスポート時の両方でクラス名をサニタイズします。アップロードとデータセットのエクスポート時には、次の処理を行います。

* 先頭/末尾の空白の削除
* すべての空白文字（改行やタブを含む）はスペースに変換されます
* 連続するスペースは削除されます
* `/.[]#~*` 文字はダッシュ（`-`)
* `|'"` 文字は削除されます

</details>

### Zip ファイルをアップロード

次のものをドラッグ＆ドロップするか、選択できます `.zip` 画像とアノテーションのアーカイブです。小さいアーカイブ（300 ファイルまで）はブラウザ内で展開され、ドロップしたフォルダと同じアップロードフローで処理されるため、プレビューサムネイル、アノテーションの照合、バッチ名の設定はすべて同じように機能します。アーカイブ内の入れ子になったフォルダは保持されます。

大きいアーカイブ（300 ファイル超、最大 8 GB）は、代わりに生の zip を Roboflow のサーバーへアップロードします。確認後、進行状況バーがアップロードを追跡し、その後はブラウザが処理を引き継ぎ、処理はサーバー側で続行されます。Activity Center で進捗を確認できるので、作業を続けながら都合のよいときに戻って確認できます。展開された画像は Annotate ページのバッチとして表示されます。

確認ダイアログには「このプロジェクトにすでにある画像のアノテーションを置き換える」チェックボックスがあります。オフのままにすると、プロジェクト内にすでにある画像は既存のアノテーションを保持します。オンにすると、zip 内のアノテーションで置き換えられます。分類プロジェクトでは常にラベルが置き換えられるため、このチェックボックスは表示されません。

アーカイブにアノテーションが含まれている場合、その画像は 1 つのアノテーションジョブに入り、あなたにクレジットされます。アップロードごとに専用のジョブが作成されるため、同じ zip を再アップロードしても以前のジョブは再利用されません。 [レビューモード](/datasets/ja/zhu-shi/zhu-shi/team-collaboration.md#review-mode) をオンにすると、画像は Review に保留され、レビュアーが承認するとデータセットに追加されます。Review Mode をオフにすると、すぐにデータセットに追加されます。

8 GB を超えるアーカイブの場合は、代わりに zip を [コマンドラインで](#upload-datasets-with-the-command-line) アップロードしてください。

### 動画をアップロード

画像ベースのプロジェクトタイプでは、アップロードされた動画は、アノテーション可能な個別のフレームに分割されます。動画をアップロードすると、内蔵の動画プレーヤー、サンプリングスライダー、任意の手動フレーム選択を備えた抽出ダイアログが開きます。

Action Recognition プロジェクトでは、アップロードした各動画をそのまま保持し、アクションを [動画セグメント](/datasets/ja/zhu-shi/zhu-shi/annotate-video-segments.md).

#### サンプリング間隔

スライダーを使って、フレームのサンプリング頻度を設定します。スライダーの下にある入力欄に、間隔を秒単位で入力するか、希望するフレーム数を直接入力することもできます。サンプリング範囲は、1 秒あたり 60 フレームから 60 秒に 1 フレームまでです。

#### フレームの手動選択

「手動選択」をクリックして、フレーム選択パネルを展開します。「現在のフレームを追加」を使用するか、 `M` を押して、現在の再生位置のフレームを選択します。 `,` と `.`で個々のフレームを移動できます。 `Shift+Left` と `Shift+Right`.

サンプリングされたフレームと手動で選択したフレームは結合され、重複は排除されます。ダイアログには、抽出される総フレーム数のリアルタイムカウントが表示されます。

#### トリミング

フィルムストリップ上のトリムハンドルをドラッグして、開始点と終了点を設定します。トリミング範囲外のフレームは除外されます。

「N フレームを抽出」をクリックして、動画をフレームに分割し、データセットにアップロードします。

複数の動画がキューに入っている場合、同じ間隔設定をすべてに適用できます。選択されたフレームは動画ごとなので、選択フレームがある場合は各動画で個別のダイアログが開きます。

<details>

<summary>サポートされている動画ファイル形式</summary>

Roboflow は、ブラウザに組み込まれている動画ファイルのサポートを利用して、動画をフレーム画像に解析し、モデルの学習に使用できるようにします。つまり、使用しているブラウザに応じて、MOV や MP4 を含むさまざまな動画形式を使用できます。

できます [ブラウザがサポートする動画形式を確認する](https://caniuse.com/?search=video%20format).

動画がブラウザでデコードできない形式の場合、Roboflow は「Scanning files」で停止する代わりに「unsupported video」エラーを表示し、ファイルの変換を促します。HEVC/H.265 はよくある原因で（例: DJI ドローン、GoPro、新しいスマートフォンの映像）、Safari でのみデコード可能です。より広くサポートされている MP4（H.264）に再エクスポートまたは変換してから、再度アップロードしてください。

Roboflow への動画ファイルの読み込みで問題がある場合は、 [フォーラム](https://discuss.roboflow.com/) に投稿するか、アカウント担当者にお問い合わせください。

</details>

### 動画セグメントのアノテーションをインポート

Action Recognition プロジェクトでは、各アクションがいつ起きるかを示すラベルをインポートできます。1 つの `_annotations.coco.json` を、その説明対象の各動画の横に置いた動画フォルダをドラッグしてください。

```
my_videos/
├── train/
│   ├── serve-01.mp4
│   └── _annotations.coco.json
└── valid/
    ├── serve-02.mp4
    └── _annotations.coco.json
```

各ファイルは `info.format` を `roboflow-video-coco` に設定し、1 つの MP4 または MOV 動画を説明します。空間アノテーションとフレームごとのアノテーションはスキップされ、zip アーカイブは受け付けられません。 `train`, `valid`または `test` という名前のフォルダが、その中にある動画の split を設定します。それ以外の場合は、アップロード開始前に split を選択します。

動画を再度インポートすると、そのセグメントは置き換えられます。ただし、すでにフレームアノテーションがある場合は、Roboflow はそれを保持します。

## HTTP API

### 動画をアップロード

MP4 または MOV 動画を最大 3 GB までワークスペース、または Action Recognition プロジェクトなどのプロジェクトにアップロードできます。アップロードは 3 つのステップで行います。

1. アップロードを準備します。取得できるのは `videoId`、 `signedUrl`、および `requiredHeaders`.
2. 動画ファイルを `PUT` リクエストで `signedUrl`に送信し、 `requiredHeaders`のすべてのヘッダーを含めます。URL は 60 分後に期限切れになります。
3. アップロードのステータスを確認し、 `status` が `uploaded` または `failed`.

任意の `batch`, `tag`, `metadata`、および `split` フィールドは、画像アップロードの場合と同じように機能します。同じ動画がすでにプロジェクトにある場合、Roboflow はそれを再利用します。動画はその batch を保持し、タグ、メタデータ、split が適用されます。

{% openapi src="/files/9417dd9b22cd189c66ed7b470e987b9944d45144" path="/{workspace}/upload/video" method="post" %}
[video-upload.yaml](https://2416768182-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-672cc8cab7fa39ba40ed81342d570dfe826f5406%2Fvideo-upload.yaml?alt=media)
{% endopenapi %}

{% openapi src="/files/9417dd9b22cd189c66ed7b470e987b9944d45144" path="/{workspace}/upload/video/{videoId}" method="get" %}
[video-upload.yaml](https://2416768182-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-672cc8cab7fa39ba40ed81342d570dfe826f5406%2Fvideo-upload.yaml?alt=media)
{% endopenapi %}

アップロードされた動画を見つけるには、 [データセットを検索し](/datasets/ja/guan-li/manage-datasets/dataset-search.md#http-api) 、 `mediaTypes` を `["video"]`.

## CLI

Roboflow の Python コマンドラインインターフェースを使って、より大きなデータセットをアップロードできます。

コマンドラインインターフェースでは画像のみアップロードできます。動画がある場合は、 [ファイルとして保存されたフレームに分割する](https://superuser.com/questions/1044444/how-do-i-use-ffmpeg-to-split-a-video-into-images-and-then-reassemble-exactly-the)必要があります。これらのファイルは、その後 Roboflow にアップロードできます。

始めるには、まず `roboflow-python`:

```
pip install roboflow
```

次に、 [ワークスペース ID を取得し](https://docs.roboflow.com/reference/authentication/authentication/workspace-and-project-ids).

最後に、次の形式でコマンドを準備します。

```
roboflow import -w testupload -p project-1-8zgld /path/to/dataset/folder
```

指定する必要がある引数は次のとおりです。

* `-w testupload`: これはワークスペース名です。
* `-p <project-id>`: これはプロジェクト ID です。

コマンドを実行すると、アップロード処理が開始されたことを示すメッセージが表示されます。その後、画像のアップロード中のログが表示されます。

<figure><img src="https://2416768182-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-cb3c6b1fff1fa6883a6fb226f8a3704493263a70%2FCleanShot%202024-03-13%20at%2011.29.09%402x.png?alt=media" alt=""><figcaption><p>コマンドラインを使用したデータセットのアップロード</p></figcaption></figure>

コマンドラインからデータをアップロードする方法を示す動画のウォークスルーがあります。

{% embed url="<https://www.loom.com/share/19637984033a466b831af56f9404fa89>" %}

### Zip ファイルをアップロード

大規模なデータセットでは、個別のファイルではなく、単一の `.zip` 画像とアノテーションのアーカイブをアップロードできます。アーカイブは一度だけアップロードされ、Roboflow のサーバー上で非同期的に処理されるため、ファイルごとにアップロードするより高速で信頼性があります。

次を `.zip` 直接アップロードします:

```bash
roboflow image upload dataset.zip --workspace <workspace> -p <project>
```

または、アップロード前に CLI にフォルダを zip 化させることもできます。

```bash
roboflow image upload ./dataset/folder --zip-upload --workspace <workspace> -p <project>
```

既定では、コマンドは処理完了まで待機し、要約を出力します。 `--no-wait` を指定するとすぐに戻ります。CLI は、アップロードのステータスをポーリングするために使用できるタスク ID を出力します。

## Python SDK

次を使用します `Workspace.upload_dataset()` を使って `.zip` アーカイブをアップロードするか、アップロード前にフォルダを zip 化します。

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
workspace = rf.workspace()

# .zip パスは自動的に検出され、アーカイブとしてアップロードされます
workspace.upload_dataset("dataset.zip", project_name="your-project")

# フォルダの場合は、use_zip_upload を有効にして zip 化し、1 つのアーカイブとしてアップロードします
workspace.upload_dataset("./dataset/folder", project_name="your-project", use_zip_upload=True)
```

{% hint style="info" %}
Zip アップロードは、最大 8 GB、100,000 ファイルまでのアーカイブをサポートします。Predictions（`is_prediction=True`）は zip の方法ではサポートされていません。これらには、画像ごとのアップロードを使用してください。
{% endhint %}

## MCP サーバー

AI エージェントを [MCP サーバー](https://docs.roboflow.com/agents/mcp-server) に接続すると、次のツールでプロジェクトに画像を追加できます。

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>image_upload</code></td><td>ローカルの画像ファイルを zip 経由でプロジェクトにアップロードします。</td></tr><tr><td><code>image_upload_status</code></td><td>画像 zip アップロードタスクのステータスを確認します。</td></tr><tr><td><code>images_update_metadata</code></td><td>アップロード済み画像のメタデータとタグを更新します。</td></tr></tbody></table>

## アップロードしたデータを表示

Roboflow にアップロードされたすべてのデータは「バッチ」としてアップロードされます。これらのバッチは、プロジェクトの Annotate ページで確認できます。

<figure><img src="https://2416768182-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-e02e3663f94fef52256a1528c2361066bcc4d89f%2FScreenshot%202025-05-20%20at%2008.04.10.png?alt=media" alt=""><figcaption></figcaption></figure>

## 画像サイズの制限

画像の最大サイズは 20 MB です

最大ピクセル寸法は 16,400 × 10,900 ピクセルです。

## 重複画像

すでにプロジェクト内にある画像をアップロードしようとすると、その画像のアップロードはスキップされます。

画像をプロジェクトから削除しても、そのアノテーションは保持されます。その画像を再度アップロードすると、そのアノテーションと以前のアノテーション状態を保持したままプロジェクトに再追加されるため、アノテーション済みの画像が未アノテーションの状態で戻ることはありません。

{% hint style="info" %}
もし [2 つのデータセットを統合すると](/datasets/ja/guan-li/merge-datasets.md)、統合後のデータセットと元の 2 つのデータセットはアカウント内に残ります。そのため、画像は重複しているので、統合に対する課金はありません。
{% endhint %}

## データの所有権

Roboflow にアップロードしたすべての画像と動画の所有権は引き続きあなたにあります。これは [利用規約の第 23B 条](https://roboflow.com/terms):

> You が投稿、送信、公開、表示、または転送するあらゆるコンテンツ、情報、または素材に関するすべての所有権を保持します

## データのプライバシー

プライベートプロジェクトは Roboflow Universe に公開一覧表示されません。 [プロジェクトのプライバシーを管理できます](/datasets/ja/guan-li/make-a-project-public.md).
