프로그래밍/데이터 사이언스 공부

YOLOv8 Detection WARNING ⚠️ NMS time limit

이자다 2023. 9. 18. 16:00
반응형

구글 코랩에서 객체탐지 시 위와 같은 오류가 계속해서 발생하였다.
 
해결법은 다음 링크를 참고하였다.
 
https://github.com/ultralytics/ultralytics/issues/3031

predict stops early due to WARNING ⚠️ NMS time limit 0.550s exceeded · Issue #3031 · ultralytics/ultralytics

Search before asking I have searched the YOLOv8 issues and discussions and found no similar questions. Question I have trained a custom model and when I want to test it on a video in colab I get th...

github.com

 위 링크에 따르면 모델 학습 시 과도하게 false positive를 생성했을 가능성이 높다고 하는데 자세한 이론은 나중에 알아봐야겠다.

 
 
먼저 ultralytics를 설치할 때 pip가 아니라 git clone으로 패키지 파일을 프로젝트에 포함시킨다.
 
아래 링크를 참고하자 
 
https://docs.ultralytics.com/quickstart/#install-ultralytics

Quickstart

Explore various methods to install Ultralytics using pip, conda, git and Docker. Learn how to use Ultralytics with command line interface or within your Python projects.

docs.ultralytics.com

# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

여기서 ultralytics는 yolov5의 github를 git clone으로 불러오는 것과 대응된다. 
 
git clone으로 불러오지 않고 패키지만 import해도 되지만 모델 detect, train에 대한 자세한 코드가 궁금하거나 세부사항을 수정할 일이 있다면 git clone으로 불러와야 한다.
 
 
 
 
이후 아래 사진의 답변에서 조언하는 대로 ops.py의 값을 수정한다.
 

 
기존에 0.05였던 max_time을 1로 바꿨다.
 
이후 NMS Warning 오류는 줄었지만 여전히 존재했다.
 
위 질의응답의 답변을 보면 근본적으로 모델 학습이 잘못되어 그렇다고 하는데 에폭과 배치 사이즈를 조절해서 학습시켜 봐야겠다.
 
yolov5를 사용할 땐 안그랬는데 yolov8은 뭔가 오류가 자꾸 발생한다.

반응형