[업데이트] :이 Repo는 내 연구의 드라이버 코드 역할을합니다. 나는 방금 대학을 졸업했으며 결국 석사 학위를 신청하기 전에 연구 인턴쉽 / 친교 역할을 찾고 매우 바쁘다. 당분간 문제를 조사 할 시간이 없을 것입니다. 감사합니다.
이 저장소에는 YOLOV3 : Pytorch에서 구현 된 증분 개선을 기반으로 한 객체 검출기에 대한 코드가 포함되어 있습니다. 이 강령은 Marvis의 공식 코드와 원래 코드의 Pytorch 포트를 기반으로합니다. 이 코드의 목표 중 하나는 코드의 중복 부분을 제거하여 원래 포트를 개선하는 것입니다 (공식 코드는 기본적으로 완전히 날아간 딥 러닝 라이브러리이며 Yolo에서 사용되지 않는 시퀀스 모델을 포함합니다). 또한 코드를 최소화하고 가능한 한 문서화하려고 노력했습니다.
이 탐지기를 처음부터 직접 구현하는 방법을 이해하려면 Paperspace에 쓴이 매우 자세한 5 부 튜토리얼 시리즈를 살펴볼 수 있습니다. 초보자에서 중급 Pytorch 기술로 이사하려는 사람에게 적합합니다.
Yolo V3를 처음부터 구현하십시오
현재 코드에는 감지 모듈 만 포함되어 있지만 곧 교육 모듈이 예상됩니다. :)
Pytorch 0.3을 사용하면 검출기가 파손됩니다.
복제 및 cd Repo 디렉토리에 넣습니다. 가장 먼저해야 할 일은 이번에 가중치 파일을 얻는 것입니다.
가중치는 리포 디렉토리에 파일을 파일합니다. 또는, 당신은 그냥 입력 할 수 있습니다 (Linux에있는 경우)
wget https://pjreddie.com/media/files/yolov3.weights
python detect.py --images imgs --det det
--images 플래그는 이미지를로드하는 디렉토리 또는 단일 이미지 파일 (파악)을 정의하고 --det 은 이미지를 저장하는 디렉토리입니다. 배치 크기 ( --bs 플래그 사용)와 같은 다른 설정, 객체 임계 값 신뢰도를 찾을 수있는 플래그로 조정할 수 있습니다.
python detect.py -h
--reso 플래그로 입력 이미지의 해상도를 변경할 수 있습니다. 기본값은 416입니다. 선택한 값이든, 기억은 32의 배수이고 32보다 큰 것입니다 . 그렇지 않으면 이상한 일이 일어날 것입니다. 당신은 경고를 받았습니다.
python detect.py --images imgs --det det --reso 320
이를 위해서는 비디오 파일을 지정하는 video 플래그를 사용하여 video_demo.py 파일을 실행해야합니다. OpenCV는 OpenCV를 입력 형식으로 만 허용하므로 비디오 파일은 .avi 형식이어야합니다.
python video_demo.py --video video.avi
-H 플래그로 조정 가능한 설정을 볼 수 있습니다.
비디오 추론 속도를 높이려면 32 비트 플로트 대신 16 비트 반 정밀 플로트로 모든 추론을 수행하는 video_demo_half.py 파일을 사용해 볼 수 있습니다. 나는 큰 개선을 보지 못했지만 오래된 카드 (Tesla K80, Kepler Arch)가 있다고 생각합니다. 빠른 Float16 지원이있는 카드 중 하나가 있으면 시도해 보면 가능하면 벤치마킹하십시오.
비디오 모듈과 동일하지만 카메라에서 피드가 가져 오기 때문에 비디오 파일을 지정할 필요가 없습니다. 정확하게 말하면, 피드는 OpenCV가 카메라 0으로 인식되는 것에서 가져옵니다. 기본 이미지 해상도는 160이지만 reso 플래그로 변경할 수 있습니다.
python cam_demo.py
Yolo 웹 사이트에서 제공되는 다른 웨이트 파일을 사용하도록 코드를 쉽게 조정할 수 있습니다.
참고 : 스케일 기능은 더 나은 리팩토링을 위해 비활성화되었습니다.
Yolo V3는 서로 다른 척도에 걸쳐 탐지되는데, 각각은 거친 특징, 미세한 특징 또는 그 사이의 무언가를 캡처하는지 여부에 따라 다양한 크기의 물체를 감지하는 데 대리를합니다. --scales 플래그로 이러한 척도를 실험 할 수 있습니다.
python detect.py --scales 1,3