안드로이드 YOLO v8 -3

알로에·2023년 4월 4일
6

YOLO v8 Onnx 변환

안드로이드에는 .pt 파일을 직접 추론할 수 있는 라이브러리가 없다. 따라서 .onnx 파일로 변환한 후에, OnnxRuntime 이라는 라이브러리를 통해서 추론을 해야한다. 따라서 .pt파일을 .onnx 파일로 변환해야한다.

✔ 1. YOLO v8 공식 사이트에서 사전학습된 모델을 다운받는다.

https://github.com/ultralytics/ultralytics

추론 속도는 기기마다 다르지만, 이번 글을 nano 모델을 기준으로 한다.
위 사이트에서 YOLOv8n 모델을 클릭하여 다운받는다.

✔ 2. yolov8n.pt -> yolov8n.onnx 로 변환

변환 코드는 파이썬으로 작성하였다.

cmd 창에서 
pip install ultralytics 

이후 아래 코드를 작성한다.

from ultralytics import YOLO

model = YOLO(model='yolov8n.pt')
model.export(format="onnx")

해당 .py 파일이 있는 곳에 yolov8n.pt파일을 같은 경로에 놓고
위의 파이썬 파일을 실행시키면 yolov8n.onnx파일이 생성된다.

train.py와 val.py, yolov8l.pt는 무시해도 된다. 나는 위 파이썬 파일을 test.py로 작성하였고, 같은 경로에 yolov8n.pt 가 있다.
그리고 test.py 파일을 실행하면 yolov8n.onnx 파일이 생성된다.

지금까지 yolov8n.pt -> yolov8n.onnx 파일로 변환했다.
다음 글에서 onnx파일을 안드로이드에서 OnnxRuntime 라이브러리를 통해서 실시간 객체 검출을 하는 내용을 적을 예정이다.

0개의 댓글