포스트

AI-DX education_yolo 복습

1. yolov5_test

https://github.com/ultralytics/yolov5

https://www.ultralytics.com/ko

https://github.com/ultralytics/yolov5?tab=readme-ov-file

1) 개발 환경 설정

(1) 가상 환경 생성

: Anaconda Powershell Prompt에서 다음 명령어를 실행하여 Python 3.12 기반의 가상 환경을 생성

1
2
conda create -n p312_yolov5 python=3.12
conda env list 

가상환경

(2) 프로젝트 폴더 생성 및 YOLOv5 다운로드

  • YOLOv5 zip 파일 다운로드 https://github.com/ultralytics/yolov5?tab=readme-ov-file

  • d:\ai_exam\yolov5_test 폴더에 다운한 파일 넣기

(3) 라이브러리 설치

: 프로젝트 폴더 내의 requirements.txt 파일을 사용하여 필요한 라이브러리를 한 번에 설치

1
pip install -r requirements.txt

2) YOLOv5 기본 테스트 및 활용

(1) 객체 클래스 확인

: data/coco.yaml 파일에서 YOLOv5가 인식할 수 있는 객체 클래스 목록을 확인 class

(2) 실시간 객체 인식 (웹캠)

: 다음 명령어를 실행하여 웹캠을 통해 실시간 객체 인식을 테스트

1
python detect.py --weights yolov5s.pt --source 0

yoloTest

(3) 특정 객체 인식

: 특정 클래스의 객체만 인식하려면 –classes 옵션을 사용한다. 예를 들어 핸드폰(class 67)만 인식하려면 다음 명령어를 실행한다.

1
python detect.py --weights yolov5s.pt --source 0 --classes 67

(4) 이미지 및 영상 객체 인식

: 이미지 파일 경로, 이미지 URL 또는 YouTube 영상 URL을 입력하여 객체 인식을 수행한다.

1
python detect.py --weights yolov5s.pt --source 이미지/영상 경로 또는 URL
1
Results saved to runs\detect\exp28

-> runs\detect\exp28에 아이브 멤버를 감지한 사진이 저장된다고 나온다.

iveDetect

videoIveDetect -> 영상 또한 잘 감지하는 것을 알 수 있다.

2. test.py

1) 모델 로드

: torch.hub.load 함수를 사용하여 YOLOv5 모델을 로드

1
2
import torch
model = torch.hub.load('ultralytics/yolov5', 'yolov5s') 

2) 객체 인식 및 결과 확인

: 이미지 경로 또는 URL을 입력하여 객체 인식 결과를 확인하고, results.print()를 통해 터미널에 결과를 출력

1
2
3
img = "이미지 경로 또는 URL"
results = model(img)
results.print()

사진검증

3) 결과 시각화

: results.show()를 사용하여 감지된 객체에 경계 상자를 표시한 이미지를 확인

1
results.show()

4) 결과 데이터 분석

: results.pandas().xyxy[0]를 사용하여 감지된 객체의 좌표, 클래스, 신뢰도 등의 정보를 데이터프레임 형태로 확인하고 필요한 정보를 추출

1
print(results.pandas().xyxy[0])

5) 결과 저장 및 객체별 이미지 추출

: results.save()를 사용하여 감지 결과를 이미지 파일로 저장하고, results.crop()을 사용하여 각 객체를 개별 이미지로 잘라내어 저장

1
2
3
4
5
# savedata 폴더에 저장
results.save()

# crop
results.crop()

사진저장 사람마다


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.