Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

CutMix

CutMix는 한 학습 이미지의 사각형 패치를 다른 이미지에 붙이고 패치 면적에 따라 레이블을 혼합하여 정확도와 위치 파악 성능을 높입니다.

CutMix는 한 학습 이미지에서 직사각형 패치를 잘라 다른 이미지의 같은 영역에 붙이고, 각 이미지가 차지하는 면적에 비례해 두 라벨을 혼합하는 데이터 증강 기법입니다. NAVER Clova AI Research의 Sangdoo Yun과 동료들은 두 가지 선행 아이디어인 무작위 영역을 제거하는 Cutout과 라벨을 혼합하는 MixUp을 결합한 방식으로 2019년 ICCV 논문에서 이를 소개했습니다. ImageNet에서 CutMix는 ResNet-50의 top-1 오류율을 23.68%에서 21.40%로 낮췄습니다. 이는 MixUp의 22.58%, Cutout의 22.93%보다 낮은 수치입니다. CutMix로 사전 학습한 모델은 객체 탐지와 이미지 캡셔닝으로 전이할 때도 성능이 더 좋았습니다.

CutMix의 작동 방식#

이미지 A와 B를 짝지을 때마다 CutMix는 Beta 분포에서 혼합 비율 λ를 샘플링합니다. 기본 매개변수 α = 1이면 0과 1 사이에서 균등하게 샘플링됩니다. 그런 다음 이미지 너비와 높이에 √(1 − λ)를 각각 곱한 크기의 상자를 만들고, 임의의 지점을 중심으로 배치한 뒤 이미지 경계에 맞게 잘라내고, B의 해당 영역을 A에 복사합니다. 잘라낸 후에는 λ를 다시 계산해 A에서 유지된 면적의 비율로 설정합니다. 라벨은 A의 비율 λ, B의 비율 (1 − λ)로 구성되므로 개 이미지에 고양이 패치가 30%를 차지하면 목표 라벨은 개 0.7, 고양이 0.3이 됩니다. 학습에서는 손실 함수를 이 소프트 라벨과 비교해 최소화하며, 이는 라벨 스무딩과 같은 방식입니다.

PyTorch의 torchvision은 각 이미지를 배치 내 이웃 이미지와 짝지어 전체 배치에 CutMix를 적용합니다.

import torch
from torchvision.transforms import v2

# A batch of 4 random 224x224 images labeled with classes 0-3 of 10
torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)
labels = torch.tensor([0, 1, 2, 3])

# Paste a random box from each image's neighbor in the batch and mix the labels by area
cutmix = v2.CutMix(num_classes=10)
mixed_images, mixed_labels = cutmix(images, labels)

# Image 0 received its patch from image 3
pasted = (mixed_images[0] != images[0]).any(dim=0).float().mean()
print(f"pasted area: {pasted:.3f}")
print(f"label weights for classes 0-3: {mixed_labels[0, :4].numpy().round(3)}")

출력에는 복사된 면적 0.187과 클래스 0의 라벨 가중치 0.813, 클래스 3의 라벨 가중치 0.187이 표시됩니다. 각 클래스에 할당된 목표 비율은 해당 클래스 이미지가 기여하는 픽셀 비율과 같습니다.

CutMix가 효과적인 이유#

전체 이미지를 학습한 이미지 분류 모델은 개 얼굴처럼 판별력이 높은 작은 부분 하나를 알아보는 것만으로도 정답을 맞힐 수 있습니다. CutMix가 그 부분을 다른 이미지로 덮으면 모델은 개의 몸통, 다리, 털을 보고 개를 알아봐야 하므로 각 객체의 더 많은 부분을 활용하는 방법을 학습하고 약한 지도 학습 기반 위치 추정과 가림에 대한 강건성이 향상됩니다. 혼합 이미지의 모든 픽셀은 실제 사진에서 가져오므로 모델은 빈 영역이나 유령처럼 겹쳐진 이미지로 학습하지 않습니다. 다른 강력한 증강 기법과 마찬가지로 CutMix는 과적합을 줄이는 정규화 기법으로 작동합니다. Meta의 Data-efficient Image Transformers(DeiT)에 사용된 학습 레시피를 비롯한 최신 비전 트랜스포머(ViT) 학습 레시피에서는 CutMix와 MixUp을 함께 적용합니다.

  • MixUp: 두 이미지 전체를 가중치 λ에 따라 픽셀 단위로 혼합하고 라벨도 같은 방식으로 섞습니다. 그 결과 실제 장면과 닮지 않은 반투명 오버레이가 만들어집니다.
  • Cutout: 무작위 정사각형 영역을 0으로 마스킹하고 원본 라벨은 그대로 유지하므로, 마스킹된 픽셀은 학습에 정보를 제공하지 않습니다.
  • Mosaic: 크기를 조정한 이미지 네 장을 하나로 타일링합니다. 객체 탐지기 학습에서 일반적으로 사용하는 증강 기법으로, 프레임에 남아 있는 모든 객체의 박스 라벨을 유지합니다.
  • 인스턴스 세그멘테이션용 복사-붙여넣기: 직사각형 대신 한 이미지의 분할된 객체 인스턴스를 다른 이미지에 붙여넣습니다.

객체 탐지에서의 CutMix#

탐지에서는 모든 라벨을 하드 라벨로 유지합니다. 혼합된 클래스 벡터를 사용하는 대신 객체가 보이는 상태로 남아 있는 한 두 이미지의 박스를 모두 유지합니다. 기본적으로 비활성화된 Ultralytics YOLO cutmix 증강은 0에서 1 사이의 확률을 사용합니다. 구현 과정에서 대상 이미지의 기존 박스와 겹치지 않는 잘라내기 영역을 선택하고, 두 번째 이미지에서 같은 영역을 복사한 뒤 해당 영역 안에 면적의 최소 10%가 남아 있는 각 바운딩 박스를 유지합니다. 세그멘테이션 라벨의 경우 기준은 1%입니다. 기본적으로 학습 마지막 10 에포크에는 모자이크와 함께 CutMix도 비활성화되며, 이 설정은 close_mosaic=10으로 지정합니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요