For the complete documentation index, see llms.txt. This page is also available as Markdown.

작은 객체 탐지

워크플로에서 SAHI(slicing aided hyper inference)를 사용해 이미지를 분할하고, 타일별로 모델을 실행한 뒤 탐지를 이어 붙여 작은 객체를 탐지합니다.

머신러닝 시스템의 성능을 향상시키는 가장 좋은 방법은 종종 모델을 개선하는 것과는 별개입니다. 더 많은 데이터를 수집하고, 데이터셋을 더 정확하게 라벨링하고, 탐지에 중복성을 추가하거나, 문제를 더 작은 조각으로 나누는 것이 보통 모델 아키텍처를 반복 개선하는 것보다 더 큰 효과를 냅니다.

모델 성능에서 흔히 나타나는 한 가지 단점은 관심 대상 객체가 이미지 크기에 비해 매우 작을 때 발생합니다. 한 가지 방법은 이미지를 더 작은 조각으로 타일링한 뒤 이를 병렬로 모델에 통과시키는 것입니다. 이 방법을 SAHI(Slicing Aided Hyper Inference)라고 합니다. 큰 이미지를 서로 겹치는 슬라이스로 나누고, 각 슬라이스를 모델에 통과시킨 뒤, 단일 예측 결과를 출력으로 재구성합니다.

SAHI를 워크플로 Image Slicer와 Detections Stitch 블록으로 쉽게 할 수 있습니다.

난이도: 쉬움 완료 시간: 10분

시작 지점

우리는 다음과 비슷한 출력으로 시작할 것입니다 Hello World 튜토리얼을 따르세요. 이 가이드를 따라 객체 탐지 모델의 예측 결과를 시각화하는 간단한 워크플로를 만드세요:

시작 지점

하지만 객체가 작을 때 이 모델은 이를 찾아내지 못합니다.

SAHI 없이 테스트하기

이 모델이 학습한 MS COCO 데이터셋에서 자동차는 가장 널리 대표되는 클래스 중 하나임에도 불구하고, 이미지가 모델의 입력 해상도로 축소되면 자동차의 너비가 겨우 몇 픽셀에 불과해지기 때문에 여전히 하나만 찾습니다.

원본 예측 결과

SAHI 추가하기

이미지를 더 작은 타일로 잘라 모델이 작업할 수 있는 픽셀 정보를 더 많이 얻도록 하여 이를 해결할 것입니다.

SAHI 경로 시작

첫 번째 단계는 Workflow에 Image Slicer 블록을 추가하는 것입니다. 마지막에 원래의 SAHI 없는 예측 결과와 출력을 비교할 수 있도록 이를 병렬 실행 경로에서 수행하겠습니다.

Image Slicer 블록 추가

그다음 각 슬라이스에서 실행되는 객체 탐지 모델을 추가하겠습니다. Image Slicer와 Image Stitch 블록 사이의 모든 것은 슬라이스 집합에 대해 요소별로 작동합니다. Workflows는 가능한 곳에서 작업(예: GPU를 통한 예측 배치 처리)을 자동으로 병렬화합니다.

모델 추가

다음으로, 예측 결과를 원래 이미지의 차원으로 다시 집계하기 위해 Detections Stitch 블록을 추가하겠습니다.

Detections Stitch 추가

이제 일반 모델의 출력을 시각화했을 때와 같은 방식으로 이 집계된 예측 결과를 시각화할 수 있습니다.

시각화 추가

모델이 예측하지 않은 이미지 영역을 어둡게 하기 위해 배경 색상 시각화를 추가해, 예측된 영역이 더 두드러지게 하겠습니다.

배경 색상 추가

예측된 관심 객체 주위에 바운딩 박스를 추가합니다.

바운딩 박스 추가

SAHI 테스트하기

이제 개선한 접근 방식이 어떻게 작동하는지 볼 준비가 되었습니다. 관심 있는 두 가지 시각화만 예측하도록 출력을 간단히 하겠습니다.

출력 조정

워크플로를 실행하면 이제 모든 자동차가 탐지된 것을 볼 수 있습니다.

SAHI 테스트
SAHI가 적용된 출력

원하지 않는 예측 필터링

하지만 SAHI 접근 방식이 너무 잘 작동했습니다. 이제 모델이 우리가 관심 없었던 배경의 일부 객체까지 잡아내고 있습니다. 모델의 예측을 수정해 이를 해결해 봅시다.

필터 추가

Detections Filter 블록을 추가합니다. 이 블록을 사용하면 우리가 정의한 기준 집합과 일치하지 않는 예측을 제외할 수 있습니다.

Detections Filter 선택

기준을 설정하려면 블록 사이드바에서 Operations 구성을 클릭하세요.

Operations 선택

그런 다음 "Filter By Class & Confidence"를 선택합니다.

Class Confidence 선택

그리고 다음만 포함합니다 car 클래스.

클래스별 필터링

이제 다시 모델을 테스트하면 자동차 주변에 박스가 표시되고 배경에는 불필요한 탐지가 없음을 볼 수 있습니다.

필터와 함께 테스트하기
SAHI 및 필터가 적용된 출력

다음 단계

이 튜토리얼에서는 SAHI를 사용해 작은 객체를 탐지하는 방법, 이미지 배치에 대해 연산을 수행하는 방법, 그리고 탐지를 변환하는 방법을 배웠습니다.

다음으로, 실시간 비디오 스트림에서 워크플로를 실행할 것입니다.

마지막 업데이트

도움이 되었나요?