YOLO5 설치
Jetson Orin Nano에서 YOLO를 사용하려면, NVIDIA의 하드웨어 가속을 활용하여 딥러닝 모델을 실행할 수 있습니다. Jetson Orin Nano는 CUDA와 TensorRT를 지원하므로 YOLO 모델을 최적화하여 효율적으로 사용할 수 있습니다. 아래는 YOLO를 Jetson Orin Nano에서 사용하는 과정을 단계별로 정리한 가이드입니다.
1. Jetson Orin Nano 환경 준비
-
Python 및 필요한 라이브러리 설치
Python 및 패키지 관리 도구pip를 설치합니다.sudo apt update sudo apt install python3-pip pip3 install --upgrade pip -
YOLO 프레임워크 선택
YOLOv5, YOLOv7, YOLOv8 등 다양한 버전이 있으며, PyTorch 또는 TensorFlow 기반으로 실행됩니다. YOLOv5가 일반적으로 Jetson에서 많이 사용됩니다.
2. YOLO 모델 설치 및 실행
-
YOLOv5 설치
YOLOv5는 PyTorch를 기반으로 하므로 PyTorch를 먼저 설치해야 합니다. NVIDIA에서 Jetson용 PyTorch를 제공하므로 적합한 버전을 설치하세요.
PyTorch 설치:YOLOv5 클론:wget https://developer.download.nvidia.com/compute/redist/jp/vXX/pytorch/torch-<version>-cp<python_version>-linux_aarch64.whl pip3 install torch-<version>-cp<python_version>-linux_aarch64.whl pip3 install torchvisiongit clone https://github.com/ultralytics/yolov5.git cd yolov5 pip3 install -r requirements.txt -
모델 다운로드 및 테스트
YOLOv5의 사전 학습된 모델을 다운로드하여 테스트할 수 있습니다.python3 detect.py --source 0 --weights yolov5s.pt--source를 변경하여 웹캠(0) 또는 이미지 파일 경로를 입력할 수 있습니다.
3. TensorRT 최적화 (선택 사항)
Jetson Orin Nano의 TensorRT를 사용하여 YOLO 모델을 최적화하면 성능이 향상됩니다.
1. ONNX 형식으로 변환
YOLO 모델을 ONNX로 내보냅니다.
python3 export.py --weights yolov5s.pt --img 640 --batch 1
-
TensorRT 변환
NVIDIA TensorRT로 ONNX 모델을 최적화합니다.trtexec --onnx=yolov5s.onnx --saveEngine=yolov5s.trt --fp16 -
TensorRT 모델 실행
TensorRT 모델 실행을 위한 YOLO 구현체를 사용하거나 직접 코드를 작성합니다.
4. 사용 예제
YOLO 모델을 Jetson Orin Nano에서 실행하고 카메라 스트림을 처리하거나 객체 감지를 수행합니다. OpenCV와 함께 사용할 수 있습니다.
import cv2
import torch
from yolov5 import YOLO
model = YOLO('yolov5s.pt') # 모델 로드
cap = cv2.VideoCapture(0) # 웹캠 스트림 열기
while True:
ret, frame = cap.read()
if not ret:
break
results = model(frame) # 객체 감지
frame = results.render() # 결과 렌더링
cv2.imshow('YOLO Detection', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
5. 성능 최적화 팁
- TensorRT FP16 사용: 모델 추론 속도를 높이기 위해 FP16 정밀도를 활용하세요.
- CUDA Streams: GPU 사용률을 최적화하기 위해 CUDA 스트림을 사용하세요.
- 배치 크기: 가능한 한 큰 배치 크기를 설정하면 처리 속도가 향상됩니다.
- GPU 모니터링:
tegrastats명령으로 GPU 및 CPU 리소스 사용을 모니터링하세요.
Jetson Orin Nano에서 YOLO를 설정하고 실행하면서 추가적인 문제가 있으면 알려주세요!