> 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/ko/create-and-upload/adding-data.md).

# 이미지, 비디오 및 주석 업로드

이미지, 비디오 및 주석을 Roboflow에 업로드합니다.

Roboflow로 모델을 학습하고 배포하는 첫 단계는 데이터를 프로젝트에 업로드하는 것입니다.

먼저, 다음이 필요합니다 [프로젝트를 생성하세요](/datasets/ko/create-and-upload/create-a-project.md).

그다음, 데이터를 업로드할 수 있는 웹페이지로 이동합니다. 이 페이지는 프로젝트 사이드바에 있는 "데이터 업로드" 버튼에서도 접근할 수 있습니다.

## 데이터 추가 방법

Roboflow 계정에 데이터를 추가하는 방법은 다음과 같습니다:

* 웹 애플리케이션 사용: 이미지가 1,000장 미만인 데이터셋에 권장됩니다.
* 명령줄 사용: 이미지가 1,000장 초과인 데이터셋에 권장됩니다.
* Dataset Upload Workflow Block 사용: 이미 프로덕션에 배포된 모델이 있는 워크플로우에서 데이터를 수집할 때 권장됩니다.

{% hint style="info" %}
이미지가 이미 AWS S3, Google Cloud Storage, Azure Blob Storage 같은 클라우드 스토리지에 있다면, 다음을 사용하세요 [데이터 소스](/datasets/ko/create-and-upload/adding-data/datasources.md) 업로드를 스크립트로 작성하는 대신 기본 경로로 Bucket Mirror를 사용하세요. 데이터 소스는 이미지와 메타데이터를 워크스페이스로 자동으로 가져오고, 수집하고, 동기화합니다. 서명된 URL 업로드나 로컬 다운로드는 일회성 또는 임시 가져오기에만 사용하세요.
{% endhint %}

웹 애플리케이션과 명령줄에서 다음을 업로드할 수 있습니다:

* JPG, PNG, WEBP, AVIF, BMP, HEIC/HEIF 이미지.\*
* MOV 및 MP4 동영상.
* PDF 파일.
* [지원되는 모든 형식의 주석.](https://roboflow.com/formats)

\**최대 크기는 20MB이며 16,400 x 10,900픽셀입니다.*

주석은 관련 이미지와 함께만 업로드할 수 있습니다. 이미 데이터셋으로 가져온 이미지의 주석은 업로드할 수 없습니다.

## 웹 앱

프로젝트를 만들거나 데이터 업로드 페이지로 이동하면 이미지, 동영상, 주석을 끌어다 놓을 수 있는 상자가 표시됩니다:

<figure><img src="https://3735512388-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개 초과, 최대 8GB)는 대신 zip 원본을 Roboflow 서버에 업로드합니다. 확인하면 진행 표시줄이 업로드 상태를 추적하고, 이후 브라우저가 작업을 넘기며 처리는 서버 측에서 계속됩니다. Activity Center에서 진행 상황을 확인할 수 있으므로, 계속 작업하다가 나중에 원하는 때 다시 확인하면 됩니다. 추출된 이미지는 Annotate 페이지의 배치로 표시됩니다.

확인 대화상자에는 "이 프로젝트에 이미 있는 이미지의 주석을 교체" 체크박스가 있습니다. 이 옵션을 끄면 프로젝트에 이미 있는 이미지는 기존 주석을 유지합니다. 체크하면 zip 안의 주석으로 교체됩니다. 분류 프로젝트는 항상 레이블을 교체하므로 여기에는 체크박스가 표시되지 않습니다.

아카이브에 주석이 포함되어 있으면, 해당 이미지는 귀하에게 귀속되는 하나의 주석 작업으로 들어갑니다. 업로드마다 별도의 작업이 생성되므로 같은 zip을 다시 업로드해도 이전 작업을 재사용하지 않습니다. 다음을 사용하면 [검토 모드](/datasets/ko/annotate/annotate/team-collaboration.md#review-mode) 를 켜면 이미지는 검토 상태로 대기하다가 검토자가 승인하면 데이터셋에 추가됩니다. Review Mode를 끄면 바로 데이터셋에 추가됩니다.

8GB를 초과하는 아카이브는 zip을 업로드하세요 [명령줄로](#upload-datasets-with-the-command-line) 대신.

### 동영상 업로드

이미지 기반 프로젝트 유형에서는 업로드된 동영상이 주석을 달 수 있는 개별 프레임으로 분할됩니다. 동영상을 업로드하면 내장 비디오 플레이어, 샘플링 슬라이더, 선택적 수동 프레임 선택 기능이 있는 추출 대화상자가 열립니다.

동작 인식 프로젝트는 업로드된 각 동영상을 그대로 유지하여 작업을 다음과 같이 라벨링할 수 있습니다 [동영상 구간](/datasets/ko/annotate/annotate/annotate-video-segments.md).

#### 샘플링 간격

슬라이더를 사용해 프레임을 얼마나 자주 샘플링할지 설정하세요. 슬라이더 아래 입력란에 간격(초)이나 원하는 프레임 수를 직접 입력할 수도 있습니다. 샘플링 범위는 초당 60프레임부터 60초에 1프레임까지입니다.

#### 수동 프레임 선택

"수동 선택"을 클릭해 프레임 선택 패널을 펼치세요. 현재 재생 위치의 프레임을 선택하려면 "현재 프레임 추가"를 사용하거나 다음 키를 누르세요 `M` 현재 재생 헤드 위치의 프레임을 선택합니다. 개별 프레임은 다음 키로 하나씩 이동할 수 있습니다 `,` 그리고 `.`선택된 프레임 사이를 이동하려면 `Shift+왼쪽` 그리고 `Shift+오른쪽`.

샘플링된 프레임과 수동으로 선택한 프레임은 병합되고 중복이 제거되며, 대화상자에는 추출할 총 프레임 수가 실시간으로 표시됩니다.

#### 자르기

필름스트립의 자르기 핸들을 드래그해 시작점과 끝점을 설정하세요. 잘린 범위 밖의 프레임은 제외됩니다.

"N개 프레임 추출"을 클릭해 동영상을 프레임으로 분할하고 데이터셋에 업로드하세요.

여러 동영상이 대기 중일 때는 동일한 간격 설정을 모두에 적용할 수 있습니다. 선택된 프레임은 동영상별로 적용되므로, 선택된 프레임이 있는 경우 각 동영상마다 자체 대화상자가 열립니다.

<details>

<summary>지원되는 동영상 파일 형식</summary>

Roboflow는 브라우저의 내장 동영상 파일 지원을 사용해 동영상을 모델 학습에 사용할 수 있는 프레임 이미지로 파싱합니다. 즉, 사용 중인 브라우저에 따라 MOV 및 MP4 파일을 포함한 다양한 동영상 형식을 사용할 수 있습니다.

다음을 [브라우저에서 지원하는 동영상 형식](https://caniuse.com/?search=video%20format).

동영상이 브라우저에서 디코딩할 수 없는 형식을 사용하면, Roboflow는 "파일 스캔 중"에서 멈추지 않고 대신 "지원되지 않는 동영상" 오류를 표시하고 파일 변환을 안내합니다. HEVC/H.265가 흔한 원인이며(예: DJI 드론, GoPro, 최신 휴대폰 영상), Safari에서만 디코딩할 수 있습니다. 더 널리 지원되는 MP4(H.264)로 동영상을 다시 내보내거나 변환한 다음 다시 업로드하세요.

동영상 파일을 Roboflow에 불러오는 데 문제가 있다면, 저희 [포럼](https://discuss.roboflow.com/) 에 글을 올리거나 계정 담당자에게 문의하세요.

</details>

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

그다음, [Workspace 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://3735512388-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 압축하여 업로드합니다
workspace.upload_dataset("./dataset/folder", project_name="your-project", use_zip_upload=True)
```

{% hint style="info" %}
zip 업로드는 최대 8GB, 100,000개 파일의 아카이브를 지원합니다. 예측(`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://3735512388-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>

## 이미지 크기 제한

이미지의 최대 크기는 20MB입니다

최대 픽셀 크기는 16,400 × 10,900픽셀입니다.

## 중복 이미지

이미 프로젝트에 있는 이미지를 업로드하려고 하면 해당 이미지의 업로드는 건너뜁니다.

프로젝트에서 이미지를 제거해도 해당 주석은 유지됩니다. 그 이미지를 다시 업로드하면 이전 주석과 옛 주석 상태를 그대로 유지한 채 프로젝트에 다시 추가되므로, 주석이 달린 이미지가 주석 없는 상태로 돌아오지 않습니다.

{% hint style="info" %}
만약 [두 데이터셋을 병합하면](/datasets/ko/manage/merge-datasets.md)병합된 데이터셋과 두 원본 데이터셋이 계정에 모두 남습니다. 따라서 이미지가 중복이므로 병합에 대해 별도 요금이 부과되지 않습니다.
{% endhint %}

## 데이터 소유권

Roboflow에 업로드하는 모든 이미지와 동영상의 소유권은 귀하에게 있습니다. 이는 다음에 정의되어 있습니다 [이용 약관의 23B항](https://roboflow.com/terms):

> 귀하는 귀하가 게시, 제출, 게시, 표시 또는 전송하는 모든 콘텐츠, 정보 또는 자료에 대한 모든 소유권을 보유합니다

## 데이터 개인정보 보호

**공개 요금제:** 공개 요금제를 사용 중인 경우, Roboflow가 명시적으로 지정하고 조치하지 않는 한 데이터셋은 Roboflow Universe에서 공개됩니다.

**유료 요금제(엔터프라이즈 포함):** 별도로 명시되지 않는 한, 데이터는 계정에서만 비공개로 유지됩니다.
