david8862/keras-YOLOv3-model-set

end-to-end YOLOv4/v3/v2 object detection pipeline, implemented on tf.keras with different technologies

해결하는 문제

이 프로젝트는 YOLO(You Only Look Once) 계열 모델 기반의 포괄적인 객체 탐지 파이프라인을 제공합니다. TensorFlow Keras 프레임워크 내에서 다양한 사전 구성된 백본, 헤드, 손실 함수를 제공함으로써 객체 탐지 시스템의 구현, 훈련, 배포 과정을 간소화합니다.

작동 방식

이 파이프라인은 컴퓨터 비전 워크플로우의 여러 단계를 통합합니다:

  • 모델 구축: CSPDarknet53, MobileNet, EfficientNet 등의 다양한 백본을 YOLO 헤드(v2, v3, v4)와 조합하여 사용자 정의 아키텍처를 생성할 수 있습니다.
  • 데이터 처리: Pascal VOC 및 COCO 형식의 데이터셋을 사용자 정의 어노테이션 형식으로 변환하고 시각화하는 도구를 포함합니다.
  • 훈련: 다중 스케일 입력, Mosaic 데이터 증강, 동적 학습률 감소와 같은 고급 훈련 기법을 지원합니다. 또한 tf.distribute.MirroredStrategy를 통해 멀티 GPU 훈련도 지원합니다.
  • 후처리: SoftNMS, DIoU-NMS, Weighted-Boxes-Fusion(WBF)와 같은 다양한 경계 상자 개선 기법을 구현합니다.
  • 배포: Darknet 가중치를 Keras로 변환한 후 TensorFlow Lite 또는 MNN을 사용하여 장치에서 추론 가능한 형식으로 내보낼 수 있습니다.

대상 사용자

에지 디바이스에 모델을 배포하고 싶거나, 다양한 백본 아키텍처와 손실 함수를 실험하고 싶은 개발자 및 연구자에게 적합합니다.

주요 특징

  • 광범위한 아키텍처 지원: VGG16, Xception, GhostNet 등 다양한 백본과 YOLO 버전(v2, v3, v4)을 지원합니다.
  • 다양한 손실 함수: GIoU, DIoU, CIoU, SIoU 등 다양한 위치 손실 함수를 지원합니다.
  • 배포 준비 완료: TFLite 및 MNN Float32/UInt8 추론을 내장 지원합니다.
  • 고급 훈련 도구: Mosaic 및 GridMask 증강, ImageNet에서의 전이 학습, 모델 프루닝(TF 1.x용)을 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트