두 모델 비교
하나의 워크플로에서 같은 이미지에 두 인스턴스 세분화 모델을 실행하고 예측 차이를 시각화합니다.
이 튜토리얼에서는 워크플로 를 사용하여 동일한 이미지에서 서로 다른 두 인스턴스 분할 모델을 실행하고, 예측 결과를 정성적으로 비교합니다.
이 가이드에서는 COCO 데이터셋의 80개 클래스에 대해 사전 학습된 YOLO 모델을 사용하지만, 관심 있는 도메인별 객체로 맞춤 학습한 파인튜닝 모델과 함께 사용할 때 워크플로는 훨씬 더 강력해집니다.
난이도: 쉬움 소요 시간: 5분
사전 요구 사항
이 튜토리얼에는 무료 Roboflow 계정 만 있으면 되며, 별도의 설정 없이 서버리스 클라우드 API에서 실행할 수 있습니다. 시작하기에 가장 쉬운 방법이며, 나중에 워크플로를 자체 호스팅으로 이전할 수 있습니다.
또한 플랫폼 UI 왼쪽 상단의 "Running on" 선택기를 클릭한 뒤 이를 localhost 또는 서버의 IP로 지정하여 클라우드 플랫폼에서 로컬에서 실행 중인 Inference Server에 연결할 수도 있습니다.
계정을 만든 후, 새로운(비어 있는) 워크플로를 생성한뒤 아래 내용을 계속 진행하세요.
분리 모드에서는 Roboflow 계정이나 API 키 없이 Inference Server와 Workflow Builder UI를 모두 로컬에서 실행합니다. 분리 모드에서는 원격 배포, 모니터링, 클라우드 모델 허브 및 데이터셋 관리 플랫폼과의 통합 같은 클라우드 연결 기능을 사용하지 않으며, 자체 액세스 제어를 구현해야 합니다.
Roboflow 계정 없이 자신의 머신에서 실행하려면 자체 호스팅 설치 지침 을 따르고 개발 모드로 Inference Server를 시작하세요( inference server start --dev).
그런 다음 로컬 워크플로 빌더로 이동하여 localhost:9001/build 에서 보라색 "Create a Workflow" 버튼을 사용해 빈 워크플로를 생성하세요. 메시지가 표시되면 "Build My Own"을 선택하세요.
이제 빈 워크플로가 준비되었으므로 빌드를 시작할 수 있습니다.

워크플로 이름 바꾸기
워크플로를 구분하기 쉽도록 설명적인 이름을 붙이는 것이 좋습니다. 그렇게 하려면 Editor UI 왼쪽 상단의 "Edit" 아이콘을 클릭하고 이름과 엔드포인트 URL을 업데이트하세요. 이 식별자는 나중에 API를 통해 이 워크플로를 참조할 때 사용합니다.

첫 번째 모델 추가
이 워크플로에는 두 개의 인스턴스 분할 모델을 추가할 것입니다. 분할 모델은 이미지에서 관심 객체를 찾아 그 윤곽을 예측합니다. 객체의 크기를 측정하거나 배경에서 분리해야 하는 사용 사례에 가장 적합합니다.
"Add Block" 버튼을 클릭하고 Models를 선택한 다음, 작업 유형으로 Instance Segmentation을 선택하세요.

사전 학습된 YOLOv8 Segmentation 모델을 사용할 것입니다. 이미 Roboflow에서 모델을 학습한 적이 있다면, 대신 파인튜닝한 모델 중 하나를 선택하거나, 이러한 모델이 식별하는 일반 객체 80개 클래스 대신 원하는 관심 객체를 예측하는 Roboflow Universe에서 다른 사용자가 공유한 모델 ID를 선택할 수도 있습니다.

두 번째 모델 추가
다음으로 첫 번째 모델 옆에 두 번째 모델을 추가하여 실행 흐름을 분기하겠습니다. 워크플로는 가능한 경우 실행을 자동으로 병렬화하여 더 빠르게 처리합니다. 이를 위해 첫 번째 모델 블록 옆의 "Fork" 버튼을 클릭하세요.

그다음 두 번째 Instance Segmentation Model 블록을 추가하도록 선택하세요.

그리고 이를 YOLOv11 Segmentation 모델이 실행되도록 설정하세요.

모델 비교
다음으로 두 모델의 예측 결과를 가져와 그 차이를 시각화하는 Model Comparison Visualization 블록을 추가하겠습니다.
추가한 두 모델 블록 중 하나의 출력에서 "+" 버튼을 클릭하세요.

그런 다음 Model Comparison Visualization 블록을 선택하세요.

이제 두 번째 입력을 두 번째 모델이 출력한 예측값에 연결해야 합니다. 이는 블록 설정 사이드바에서 수행합니다. 여기에서 색상과 투명도 같은 추가 설정도 변경할 수 있습니다.

출력 사용자 지정
인스턴스 분할 모델은 감지된 객체의 복잡한 형태를 설명하기 위해 많은 데이터를 반환합니다. 측정 같은 하위 작업에는 유용할 수 있지만, 이 튜토리얼에서는 시각화만 중요하므로 응답을 단순화하기 위해 추가 출력을 제거할 수 있습니다.
불필요한 출력을 삭제하려면 "Outputs" 블록을 클릭하고 두 모델 블록에서 나온 예측에 대해 휴지통 아이콘을 사용하세요.

그러면 출력은 하나만 남습니다. 바로 Model Comparison Visualization 블록에서 나온 이미지입니다.

결과 테스트
이제 워크플로를 테스트할 준비가 되었습니다. Builder UI 오른쪽 상단의 "Test Workflow"를 클릭한 다음 이미지를 추가하고 "Run"을 클릭하세요.

생성된 시각화는 두 모델의 예측 비교를 보여줍니다. 어두운 영역은 어느 모델도 예측하지 않았고, 밝은 영역은 두 모델 모두 예측했으며, 녹색 영역은 Model A(YOLOv8)만 예측했고, 빨간색 영역은 Model B(YOLOv11)만 예측했습니다.
이를 통해 이 이미지에서는 YOLOv11이 YOLOv8보다 더 나은 성능을 보인다는 것을 알 수 있습니다. YOLOv8이 놓친 두 사람을 식별했고, 사람들의 발과 다리를 더 잘 포착했으며, 선수들의 윤곽에서 배경 일부를 잘못 예측하지 않았습니다.

다음 단계
이 튜토리얼에서는 워크플로를 구성하고, 여러 모델을 병렬로 실행하며, 사용자 지정 입력으로 블록을 설정하는 방법을 배웠습니다. 이 워크플로를 사용해 다른 사전 학습 모델을 평가하거나, 자체 모델의 성능을 반복적으로 개선하고 초기 기준선과 비교하여 시간이 지남에 따른 결과를 시각화할 수 있습니다.
다음으로, 우리가 어떻게 작은 객체에 대한 모델 성능을 향상시킬 수 있는지 모델 자체를 변경하지 않고도 살펴보겠습니다.
마지막 업데이트
도움이 되었나요?