안드로이드(java)에서 yolov5 사용하자.

김찬울·2022년 4월 25일
0

어느 문서도 자세히 나타내지 않는다...

직접 알아보자 (중국어를 못하기 때문에 ncnn도 쓰기 어렵다..)

일단 안드로이드에서는 tflite 라는 tensorflow 라이트버전을 사용할 수 있다.

근데 여기서 문제는 yolov4까지는 tensorflow를 사용하지만

v5부터는 pytorch를 사용한다.

이때 발생하는 문제는 둘의 가중치 파일의 형식이 .pt(torch) .pb(tensorflow)로 다르다는 것을..

이때 우리는 한 가지 플랫폼을 떠올릴 수 있다 onnx라는 플랫폼을 말이다!

ONNX

저번 게시글에서 ONNX에 대해 간략히 설명한 적이 있다.
더 간략히 설명하자면

ONNX는 .pb와 .pt를 연결하는 매개체 역할을 한다.

원래는 그 자체로 가중치의 역할이지만 .pb도 .pt도 .onnx로 포맷 변환이 가능하기 때문에

이를 역이용해 .onnx로 .pb or .pt로 변경하는 것이다.

즉, 우리는 .pt -> .onnx -> .pb -> .tflite 순으로 변경한다.

.pb에서 .tflite의 변경은 쉽다. 둘은 같은 tensor형식으로 작성되었기 때문이다.

일단 이 여기까지는 다 했다.

26일 익일 이미지를 가지고 부가 설명 하겠다.

profile
코린코린이

0개의 댓글