본문 바로가기

개발

YOLOv8 맛보기

지난 며칠동안 삽질을 해가면서 YOLOv8을 돌려보았다.

 

https://docs.ultralytics.com/ko/

 

Ultralytics YOLOv8을 완벽하게 탐구하는 가이드로, 고속 및 정확성이 특징인 객체 탐지 및 이미지 분할 모델입니다. 설치, 예측, 훈련 튜토리얼 등이 포함되어 있습니다.

docs.ultralytics.com

 

간단하게 공홈에 들려서 욜로의 역사와 이것저것 알아보았다.

 

여러 버전이 있지만 큰 고민 없이 바로 v8 버전으로 작업을 수행하기로 결정했다.

 

라이센스는 기업체가 사용할 경우에는 라이센스 비용을 지불해야 하니 주의하도록 하자.

 

난 학습 용도로 쓰니 문제 없을 것이고, 나중에 회사에서 적용할 때는 다른 무료 라이센스를 찾던지 아니면 비용을 지불하는 방향으로 진행해야겠다.

 

일단 YOLOv8을 한번 찍먹 해보도록 하겠다.

 

홈페이지에서 퀵스타트 쪽으로 가면 예제가 나와있고 이대로 한번 실행을 해보았다.

 

나는 직접 로컬에서 동작할 수 있도록 CUDA를 사용하는 파이토치 환경에서 돌렸으며, 결과는 다를 수 있다.

 

https://docs.ultralytics.com/ko/quickstart/

 

빠른 시작

pip, conda, git 및 Docker를 사용하여 Ultralytics을 설치하는 다양한 방법을 탐색해 보세요. Ultralytics을 명령줄 인터페이스 또는 Python 프로젝트 내에서 사용하는 방법을 알아보세요.

docs.ultralytics.com

 

여기저기 조합해서 일단 돌리는데 성공했다.

 

 

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml')

# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')

# Train the model using the 'coco128.yaml' dataset for 3 epochs
if __name__ == '__main__':
     results = model.train(data='coco128.yaml', epochs=3)

# Evaluate the model's performance on the validation set
     results = model.val()

# Perform object detection on an image using the model
     results = model('https://ultralytics.com/images/bus.jpg')

# Export the model to ONNX format
     success = model.export(format='onnx')
 

 

요건 내가 작성한 코드인데, 중간에 freez 뭐시기 에러가 나와서

if __name__ == '__main__':

 

구문을 추가 해준 것을 결과물로 올려놨다. 저게 없으면 계속 에러가 나서 진행이 되지 않는다.

 

나의 목적은 결과물을 onnx가 아닌 tflite 형식으로 출력하는건데 이부분에 확인이 필요하다.

 

지금은 아주 간단한 예제 이며, 대부분 yolov8에서 제공하는 모델과 학습데이터를 가지고 모델을 만든 것이기 때문에 내가 만드려는 모델과는 거리가 있다.

 

추후 포스팅에 커스텀학습을 시켜 보도록 하겠다. 그리고 tflite의 모델로 출력하는 방법도 찾아보도록 하겠다.

 

끝.

728x90
반응형
LIST

'개발' 카테고리의 다른 글

플러터참조  (0) 2024.01.10
YOLOv8 to tflite  (1) 2023.12.20
파이토치 튜토리얼 탐방기  (1) 2023.12.20
정비지원시스템개발(2)  (1) 2023.12.17
정비지원시스템 개발  (2) 2023.12.16