본문 바로가기

딥러닝

[YOLOv7]ubuntu환경에서 YOLOv7 실시간 객체 인식

 

저의 컴퓨터 환경은 ubuntu 20.04.02 환경에서 진행하였습니다.

 

 

기본셋팅 환경은 아래와 같이 진행 하였습니다.

 

anaconda 가상환경(python=3.10.13)

CUDA=11.4

cudnn=8.5

pytorch=1.12.0

torchvision=0.13.0

 

 

github를 참고 하였습니다.

 https://github.com/WongKinYiu/yolov7

 

GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time

Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors - WongKinYiu/yolov7

github.com

 

 

아래와 같이 터미널에 입력합니다.

git clone https://github.com/WongKinYiu/yolov7.git

 

입력하게 되면 YOLOv7이 다운로드가 됩니다.

 

다운로드된 YOLOv7폴더에 진입하여 아래와 같이 입력합니다.

입력하게 되면 YOLOv7실행하는데 필요한 라이브러리들이 설치 됩니다.

pip install -r requirements.txt

 

 

이렇게 기본 환경이 구성되었다면 이제 YOLOv7을 구동 할수 있습니다.

 

아래 코드는 웹캠을 이용하여 실시간 객체 인식을 하게 됩니다.

python detect.py --weights yolov7.pt --source 0

 

--source 0에서 0은 웹캠을 나타냅니다.

만약 사진, 동영상을 detect하고 싶으면 경로와 이름을 입력하면 됩니다.

 

아래처럼 입력하면됩니다. 

아래의 경우는 경로를 따로 입력하지 않았으므로 test.jpg사진은 YOLOv7폴더 내에 위치해야 합니다.

python detect.py --weights yolov7.pt --source test.jpg

 

 

다시돌아와서 --source 0의 결과를 마져 봅시다.

실시간 인식결과

 

위 사진과 같이 기본적으로  YOLOv7에 학습된 80개의 데이터셋들이 웹캠을 통해 인식되게 됩니다.

 

 

 

 

python detect.py --weights yolov7.pt --source 0

 

 

위 --weights는 어떤 가중치파일을 사용할것인지를 나타내게 됩니다.

 

가중치파일의 종류

위 표처럼 다양한 종류의 가중치 파일이 있습니다.

제일 성능이 좋은 YOLOv7-E6E를 사용하게 되면 가장 인식률은 좋지만 인식속도는 떨어지게 됩니다.

자신의 컴퓨터 환경에 맞게 사용하면 좋습니다.