>기술 주변기기 >일체 포함 >Pytorch를 사용하여 처음부터 Yolov11 모델 빌딩 안내서

Pytorch를 사용하여 처음부터 Yolov11 모델 빌딩 안내서

Lisa Kudrow
Lisa Kudrow원래의
2025-03-07 09:42:10227검색

yolov11 : 최첨단 객체 감지 모델의 아키텍처 및 구현에 대한 깊은 다이빙

Yolo (한 번만 보이면) 모델은 객체 감지, 세분화, 포즈 추정 등을 포함한 컴퓨터 비전 작업의 효율성과 정확성으로 유명합니다. 이 기사는 Pytorch를 사용하여 최신 반복 인 Yolov11의 아키텍처 및 구현에 중점을 둡니다. Creators, Creators는 공식적인 연구 논문보다 실질적인 응용 분야를 우선시하는 초경량이지만 설계를 해부하고 기능 모델을 구축 할 것입니다.

.

yolov11의 아키텍처 이해

yolov11은 전임자들과 마찬가지로 3 부 아키텍처 : 백본, 목 및 머리를 사용합니다.

backbone : 는 효율적인 병목 기반 블록 (C3K2, Yolov8의 C2F의 개선)을 사용하여 기능을 추출합니다. DarkNet 및 DarkFPN을 활용하는이 백본은 세부 수준을 나타내는 3 개의 기능 맵 (P3, P4, P5)을 생성합니다.

목 :

는 백본의 출력을 처리하고, 샘플링 및 연합을 사용하여 스케일 전체의 융합 기능을 처리합니다. 중요한 구성 요소는 C2PSA 블록으로, 부분 공간주의 (PSA) 모듈을 통합하여 저수준 기능에서 관련 공간 정보에 대한 초점을 높이기 위해.
  • 헤드 :

    는 작업 별 예측을 처리합니다. 객체 감지의 경우 다음이 포함됩니다 dfl (분포 초점 손실) : 경계 상자 예측을 개선합니다 박스 감지 :

    경계 박스 좌표를 예측합니다 클래스 감지 :
  • 객체 클래스를 예측합니다. 이 모델은 또한 세분화 및 키패 포인트 감지 헤드를 지원합니다
  • 코어 빌딩 블록 : 컨볼 루션 및 병목 현상 레이어
  • 모델은 다음과 같이 크게 의존합니다
  • 컨볼 루션 레이어 :

    입력 데이터에서 기능을 추출합니다 병목 현상 레이어 : 바로 가기 연결 (연결 또는 잔여 추가)이있는 두 개의 컨볼 루션 레이어를 사용하여 효율성과 학습을 향상시킵니다. C3K 및 C3K2 모듈 :

    효율적인 기능 추출을위한 최적화 된 컨볼 루션 블록. SPPF (Spatial Pyramid Pooling Fast) :
      는 다양한 크기의 물체를 감지하는 모델의 능력을 향상시킵니다.
    • 코드 구현 하이라이트 (pytorch) 다음 코드 스 니펫은 주요 구성 요소를 보여줍니다

      (간단함을 단순화하고 완전한 코드는 원본 기사를 참조하십시오.) 모델 구성 및 테스트

        완전한 YOLOV11 모델은 백본, 목 및 머리를 결합하여 구성됩니다. 다양한 모델 크기 (나노, 소형, 중간, 대형, Xlarge)는 깊이 및 너비와 같은 매개 변수를 조정하여 달성됩니다. 제공된 코드에는이를 용이하게하기 위해 클래스가 포함되어 있습니다. 임의의 입력 텐서를 사용한 모델 테스트는 출력 구조를 보여줍니다 (훈련 모드의 기능지도, 평가 모드에서의 예측 예측). 최종 객체 탐지를 얻으려면 추가 처리 (비가 막대한 억제)가 필요합니다. 결론
        # Simplified Conv Block
        class Conv(nn.Module):
            def __init__(self, in_ch, out_ch, activation, ...):
                # ... (Initialization code) ...
            def forward(self, x):
                return activation(self.norm(self.conv(x)))
        
        # Simplified Bottleneck Block (Residual)
        class Residual(nn.Module):
            def __init__(self, ch, e=0.5):
                # ... (Initialization code) ...
            def forward(self, x):
                return x + self.conv2(self.conv1(x))
        
        # Simplified SPPF
        class SPPF(nn.Module):
            def __init__(self, c1, c2, k=5):
                # ... (Initialization code) ...
            def forward(self, x):
                # ... (MaxPooling and concatenation) ...
                return self.cv2(torch.cat((x, y1, y2, self.m(y2)), 1))
        
        # ... (Other key blocks: C3K, C3K2, PSA, Attention, PSABlock, DFL) ...

        yolov11은 객체 감지의 상당한 발전을 나타내며 강력하고 효율적인 아키텍처를 제공합니다. 이 설계는 실제 응용 프로그램을 우선시하여 실제 AI 프로젝트를위한 귀중한 도구입니다. 자세한 아키텍처 및 코드 스 니펫은 이해 및 추가 개발을위한 탄탄한 기반을 제공합니다. 완전하고 실행 가능한 코드는 원본 기사를 참조하십시오.

위 내용은 Pytorch를 사용하여 처음부터 Yolov11 모델 빌딩 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.