Flutter 에서 yolov8 사용하기 - 1
Flutter 에서 yolov8 을 사용하려면 이 방법이 가장 주효하다.
물론 더 나은 라이브러리가 제공된다면 좋을 것이다.
tflite_flutter 라이브러리가 현재 공식 지원이다.
예제 등을 찾아보면 없을 것이다.
어찌하여 이미지를 추론하는 것은 찾을 수 있다.
문제는 동영상을 추론하는 게 필요하다.
그에 대한 예제는 ssd_mobilenet 모델을 제공하고 있다.
ultralytics 에서 제공하는 export 방법을 사용하여 모바일용 모델을 생성한다.
format='tflite' 옵션을 사용하면 3가지 속성이 default 로 설정된다.
half=False, int8=False, imgsz=640 이다.
각각의 설정을 변경하면서 테스트 하여 속도를 체감해보길 권장한다.
나의 경우는 half 와 int8 은 양자화인데 속도에 크게 좌우되지 않고 정밀도를 낮추는거 같았다.
imgsz 를 조정하였는데 224, 320, 4800, 640 순으로 진행하였는데
224 가 속도가 가장 빨랐다.
export 하는 중에 input 텐서의 속성을 알려주는데 이게 중요하다.
[1, 224, 224, 3] 으로 나올 것이다.
output 텐서는 [1, 6, 1029] 이런 식으로 나올 것이다.
이 텐서의 3 ~ 4차원 행렬을 무시해서 삽질을 오래 하였다.
그리고 이런 부분에 대한 설명이 자세하지 않아서
인공지능 및 딥러닝을 전공하지 않은 개발자들에게 허들로 작용할 수 있다.
모델은 여기서 가져와서 이렇게 사용한다.
댓글
댓글 쓰기