> 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-ko/workflows/build-a-workflow.md).

# Workflow 빌드

Workflow는 블록으로 이루어져 있으며, 각 블록은 모델 추론 실행, 로직 수행, 외부 서비스와의 연동과 같은 특정 작업을 수행합니다.

사용 가능한 block 목록을 더 자세히 살펴보려면, 우리의 [block 문서](https://inference.roboflow.com/workflows/blocks/).

### 개요

이 가이드에서는 객체 감지 모델을 실행하고, 예측을 집계하고, 모델 결과를 시각화하는 4개 블록 Workflow를 만드는 방법을 살펴봅니다. 다음은 [최종 Workflow 템플릿](https://app.roboflow.com/workflows/embed/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3JrZmxvd0lkIjoiMmdqakJxMDV3Q01ac1hHM3hkeFAiLCJ3b3Jrc3BhY2VJZCI6ImtyT1RBYm5jRmhvUU1DZExPbGU0IiwidXNlcklkIjoiSW1GTElaU2tHYk55OXpiNFV1cWxNelBScHBRMiIsImlhdCI6MTczODE4ODk5MH0.f72WI5bdjtnwC8iqXF_XiUVarfOktIAH1egpsI0Oh4Q) 함께 따라 해보세요.

{% embed url="<https://app.roboflow.com/workflows/embed/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3JrZmxvd0lkIjoiMmdqakJxMDV3Q01ac1hHM3hkeFAiLCJ3b3Jrc3BhY2VJZCI6ImtyT1RBYm5jRmhvUU1DZExPbGU0IiwidXNlcklkIjoiSW1GTElaU2tHYk55OXpiNFV1cWxNelBScHBRMiIsImlhdCI6MTczODE4ODk5MH0.f72WI5bdjtnwC8iqXF_XiUVarfOktIAH1egpsI0Oh4Q>" fullWidth="false" %}

<figure><img src="/files/6b3496c93fb1d0d890f588c6f9dc5994d63b1a8f" alt="" width="563"><figcaption><p>Detect, Count, and Visualize Workflow</p></figcaption></figure>

### 블록 연결

구축을 시작하기 전에, 블록 연결이 어떻게 작동하는지 이해하는 것이 중요합니다.

특정 위치에 블록을 추가하려면, 이전 블록을 입력으로 사용해야 합니다. 예를 들어, 위에 표시된 Workflow에서 *Property Definition* 블록은 다음에 오는데 *Object Detection* 블록은 모델 블록을 입력으로 사용하기 때문에 그 뒤에 옵니다. 그 *Bounding Box Visualization* 블록은 오른쪽에 있는데, 이는 해당 블록이 *Property Definition* 블록의 출력을 사용하지 않지만, 모델 출력을 참조합니다.

<figure><img src="/files/618a0107cc7cc3febb5dd791c9bf90bce51a6820" alt=""><figcaption><p>Model Comparison Workflow</p></figcaption></figure>

위의 예시 Workflow에는 서로 다른 4개의 경로가 있습니다. 각 분기는 런타임에 병렬로 실행되며, 다른 분기 블록을 입력으로 사용하지 않기 때문입니다.

### Builder Assist

Builder Assist는 블록을 연결하고 삽입할 때 Workflow editor가 제공하는 도움의 정도를 제어합니다. 오른쪽 상단 내비게이션 바의 토글을 사용해 모드를 전환할 수 있습니다.

모드는 세 가지입니다:

* **Auto** (기본값): 블록이 연결되거나 삽입될 때 호환되는 입력 및 출력 필드를 자동으로 연결합니다. Builder는 블록을 제거하거나 연결을 해제하면 downstream 참조도 복구합니다.
* **Quick**: 제안된 연결과 블록 추천을 표시하지만, 명시적으로 수락했을 때만 적용됩니다. Builder가 대신 변경을 수행하지 않으면서 안내를 받고 싶을 때 유용합니다.
* **Manual**: 제안도 없고 자동 연결도 없습니다. 모든 연결을 직접 제어합니다.

선택한 모드는 로컬에 저장되므로 세션 간에도 유지됩니다.

### Workflow 구축하기

#### Object Detection Model

먼저, 다음을 추가하세요. *Object Detection Model* block. YOLOv8n처럼 COCO로 학습된 공개 사전 학습 모델이나 [COCO](https://universe.roboflow.com/microsoft/coco), 또는 Workspace의 미세 조정된 모델을 사용할 수 있습니다. 저는 사전 학습된 *yolov8n* 모델을 사용해 사람과 차량을 감지하겠습니다.

<figure><img src="/files/cfed15731e4108ea6a3fc3b7fa8e11c2a904bee9" alt="" width="344"><figcaption></figcaption></figure>

객체 감지 block에는 모델이 무엇을 추론할지 결정하는 필수 image 파라미터가 있습니다. 여러 선택적 파라미터가 있으며, 핵심 항목은 아래에서 자세히 설명합니다:

* Class Filter: 모델이 반환할 클래스 목록입니다. 참고: 모델은 항상 학습된 클래스만 반환하므로, 이 기능을 통해 불필요한 클래스를 걸러낼 수 있습니다.
* Confidence: 해당 confidence 이하의 객체는 반환되지 않습니다.
* IoU threshold: 임계값이 높을수록 더 많은 중첩 예측이 반환됩니다. 0.9는 90% 이하로 겹치는 객체가 반환된다는 뜻이며, 0.1은 10%를 초과해 겹치는 객체가 포함되지 않는다는 뜻입니다.
* Max Detections: 모델이 반환할 수 있는 최대 객체 수
* Class Agnostic NMS: 중첩 필터링에서 같은 클래스의 객체끼리만 비교하고 제외할지, 아니면 모든 클래스를 비교하고 제외할지를 지정합니다

#### Property Definition

Property Definition block을 사용하면 이미지 크기, 예측된 클래스, 또는 감지된 객체 수와 같은 데이터의 관련 정보를 추출할 수 있습니다. 이 예제에서는 object detection model이 찾은 객체 수를 계산합니다.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc507UbRnkEH6XMdrfmwVZbHcK6x6K5THwnt1RmEk8iXSojwvmiA_q6KwRXV9bJudYnW7NMTQKKb9GqGxm_P0VjbuOoGWcDsM5NoQckl9jV4YcjYQFIvYoCgvd_YnQTNJLlwdbZwA?key=yGJPQzp1abf4J7pT0mnBw8w4" alt="" width="375"><figcaption></figcaption></figure>

다음의 *Data* 프로퍼티에는 모델 예측 결과를 참조하세요. 다음의 *Operations*, Count Items를 선택하세요. 이 설정은 객체 감지 모델이 생성한 예측 수를 반환합니다.

#### Bounding Box Visualization

모델 결과를 시각화하려면 Bounding Box Visualization block을 추가하세요. 다음의 *image* 파라미터에는 입력 이미지를 선택하세요. predictions에는 모델 결과를 선택하세요. 선택적 구성 속성을 사용하여 bounding box의 색상과 크기를 변경할 수도 있습니다.

<figure><img src="/files/058027ee5493882179a7636b1d06c8302e187d4e" alt="" width="342"><figcaption></figcaption></figure>

#### Label Visualization

bounding box를 그리는 것 외에도, 예측의 클래스 이름도 표시하고 싶습니다. 이를 위해 다음을 추가하세요. *Label Visualization* Bounding Box Visualization 뒤에 오는 block. 같은 이미지에 bounding box와 레이블을 모두 그리려면, 참조 입력 이미지를 *bounding\_box\_visualization* image로 설정해야 하며, 입력 이미지를 참조하지 않아야 합니다. 이렇게 하면 레이블이 bounding box 위에 그려집니다.

<figure><img src="/files/92eab617a18fb9fb4b7b55a34c66580c4333bba2" alt="" width="343"><figcaption></figcaption></figure>

선택적 *Text* 파라미터를 사용해 표시 텍스트를 클래스 이름, confidence, 또는 클래스 이름과 confidence로 변경할 수 있습니다.

### 변경 사항 저장

Workflow editor는 변경 사항을 초안으로 자동 저장합니다. 편집하는 동안 수동으로 저장할 필요가 없습니다.

변경 사항을 실제로 반영하려면 Workflow를 게시하세요. Workflow를 배포한 경우, 게시된 버전은 Workflow가 배포된 모든 기기에서 실행되기 시작합니다.

이제 완성된 Workflow가 있으니, 테스트할 차례입니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-ko/workflows/build-a-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
