다음은 CPU 환경에서 실행한 결과 예시입니다. 사용된 시스템 사양: Windows 10 운영체제
최종 결과 이미지
실제 구현 절차
- Anaconda 및 PyCharm 설치
설치가 어려운 경우 검색을 통해 참고하세요. - Anaconda 실행
애플리케이션을 시작합니다. - 가상 환경 생성
아래 명령어로 Python 3.9 기반의 가상 환경을 생성합니다.
conda create -n yolov5_env python=3.9 - 가상 환경 활성화
conda activate yolov5_env - PyTorch 설치
CPU 전용 버전을 설치합니다.
conda install pytorch torchvision cpuonly -c pytorch - YOLOv5 소스 코드 다운로드
공식 저장소에서 다운로드: https://github.com/ultralytics/yolov5
로컬 디렉터리에 저장합니다. - 프로젝트 설정 및 환경 구성
다운로드한yolov5폴더를 PyCharm 프로젝트 폴더에 압축 해제합니다.
PyCharm은 자동으로 프로젝트를 인식하고 로드합니다.
설정 확인:
File → Settings → Project → Python Interpreter
생성한yolov5_env환경을 선택합니다.
터미널에서 다음 명령어로 의존성 설치:
pip install -r requirements.txt
이후, 공식 릴리스 페이지에서yolov5s.pt파일을 다운로드하여 프로젝트 루트 폴더에 복사합니다.
detect.py를 실행하면data/images폴더 내 이미지를 분석하고 결과는runs/detect/exp경로에 저장됩니다. - 모듈 오류 해결 팁
Pillow관련 에러 발생 시, 다음과 같이 버전 조정:
pip uninstall pillow
pip install pillow==8.4
OpenCV오류 발생 시, 낮은 버전 설치:
pip uninstall opencv-python
pip install opencv-python==3.8.0
컨테이너 데이터셋 준비 및 학습
- 학습용 데이터 폴더 구조 생성
train_data폴더 생성 후, 하위에images,labels폴더 생성.
각각의 폴더 내부에train폴더를 추가하고, 수집한 이미지(스마트폰 촬영 또는 공개 데이터셋 활용)를train_data/images/train에 배치합니다.
train_data/labels/train폴더는 비어 있어야 합니다. - 이미지 레이블링 도구 사용
온라인 레이블링 도구: https://www.makesense.ai/
Get Started 클릭 후, 대상 이미지를 업로드하고 태그를 정의합니다.
레이블링 주의사항: 먼저 사각형 영역을 그린 후, 형식에 맞게 저장해야 합니다. - 레이블 데이터 처리
레이블링 완료 후 내보낸 파일을train_data/labels/train폴더에 압축 해제합니다. - 데이터셋 설정 파일 수정
coco128.yaml파일을 열고, 자신의 객체 클래스(예: 컨테이너)에 맞게 설정을 변경합니다. - 모델 학습 실행
train.py스크립트를 실행합니다.
권장 설정:epochs=150 - 학습 결과 위치
학습 완료 후 모델은runs/train/exp12경로에 저장됩니다.
자신의 영상에 대해 탐지 실행
학습된 모델을 사용해 실시간 영상에서 컨테이너를 탐지하려면 detect.py 파일을 수정합니다.
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'runs/train/exp12/weights/best.pt', help='model path or triton URL')
parser.add_argument('--source', type=str, default=ROOT / 'rtsp://user@10.5.31.33:554/video1', help='file/dir/URL/glob/screen/0(webcam)')
또는 직접 변수로 지정:
source = "rtsp://user@10.5.31.33:554/video1"
이렇게 설정하면 실시간 스트리밍 영상에서 컨테이너를 탐지할 수 있습니다.
GPU 환경 설정 시 주의사항
- GPU 사용 시, 드라이버, CUDA, cuDNN, PyTorch 버전 간 호환성을 반드시 확인하세요.
- 특히, 알리바바나 토르 카페 등 공개 미러를 통한 설치 시, PyTorch가 자동으로 CPU 버전으로 설치될 수 있습니다.
torch.cuda.is_available()가false반환되는 경우, 다음 해결 방법을 적용하세요:
해결 방법 안내- 학습 중 오류 발생 시,
cmd.py파일에 아래 코드를 추가하세요:
os.environ['GIT_PYTHON_REFRESH'] = 'quiet'