> 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/roboflow/roboflow-jp/datasets/adding-data.md).

# 画像、ビデオ、アノテーションをアップロード

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

まず、 [Projectを作成する必要があります](/roboflow/roboflow-jp/datasets/create-a-project.md).

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

## データの追加方法

Roboflowアカウントにデータを追加する方法は次のとおりです：

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

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

* JPG、PNG、WEBP、AVIF、BMP、HEIC/HEIF画像。\*
* MOVおよびMP4動画。
* PDFファイル。
* [対応形式のアノテーション。](https://roboflow.com/formats)

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

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

## Webアプリケーションでデータをアップロードする

Projectを作成すると、またはUpload Dataページで、画像、動画、アノテーションをドラッグ＆ドロップできるボックスが表示されます：

<figure><img src="/files/7ac9bdbedd4e924fdedaabe8f6731656700d2d33" alt="" width="563"><figcaption></figcaption></figure>

[40以上のアノテーション形式に対応しています。](https://roboflow.com/formats) 対応形式はProjectの種類によって異なります。

<details>

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

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

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

</details>

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

をドラッグ＆ドロップするか、選択できます `.zip` 画像とアノテーションのアーカイブ。小さめのアーカイブ（最大300ファイル）はブラウザ内で展開され、フォルダをドロップした場合と同じアップロードフローで処理されます。そのため、プレビューサムネイル、アノテーションの照合、バッチ名付けはすべて同じように動作します。アーカイブ内にネストされたフォルダは保持されます。

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

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

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

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

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

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

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

「Manual selection」をクリックしてフレーム選択パネルを展開します。「Add current frame」を使用するか、 `M` を押して現在の再生位置のフレームを選択します。Step through individual frames with `,` と `.`で個々のフレームを前後に移動するか、 `Shift+Left` と `Shift+Right`.

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

#### トリミング

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

「Extract N frames」をクリックすると、動画がフレームに分割され、データセットにアップロードされます。

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

<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への動画ファイルの読み込みで問題がある場合は、私たちの [forum](https://discuss.roboflow.com/) に投稿するか、アカウント担当者にお問い合わせください。

</details>

## コマンドラインでデータセットをアップロードする

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
```

次に、 [Workspace IDを取得します](https://docs.roboflow.com/developer/rest-api/workspace-and-project-ids).

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

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

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

* `-w testupload`：Workspace名です。
* `-p <project-id>`：Project IDです。

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

<figure><img src="/files/3e79da5898dce124a8b4bbf3921ffb7f4a5666a5" alt=""><figcaption><p>コマンドラインを使用したデータセットのアップロード</p></figcaption></figure>

コマンドラインからデータをアップロードする方法を示す動画チュートリアルがあります：

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

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

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

{% tabs %}
{% tab title="CLI" %}
アップロードする `.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を出力します。
{% endtab %}

{% tab title="Python SDK" %}

```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)
```

{% endtab %}
{% endtabs %}

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

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

Roboflowにアップロードされたすべてのデータは「batch」としてアップロードされます。これらのbatchはProjectのAnnotateページで確認できます：

<figure><img src="/files/ac6e56e2fbfadf7a00126c3f1f504b867fdd627f" alt=""><figcaption></figcaption></figure>

## 画像サイズの制限

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

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

## 重複画像

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

{% hint style="info" %}
もし [2つのデータセットをマージすると](https://docs.roboflow.com/merge-datasets)、マージされたデータセットと元の2つのデータセットがアカウント内に存在します。したがって、画像は重複しているため、マージに対する料金は発生しません。
{% endhint %}

## データの所有権

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

> で定義されています。あなたが投稿、送信、公開、表示、または転送するコンテンツ、情報、もしくは資料について、あなたはすべての所有権を保持します

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

**Publicプラン：** Publicプランをご利用の場合、Roboflowによって明示的に別途指定・手配されない限り、あなたのデータセットはRoboflow Universeで公開されます。

**有料プラン（Enterpriseを含む）：** 別途指定がない限り、あなたのデータはアカウント内で非公開です。
