728x90

onnx 8

Yolov3-tiny 사물인식 추가 진행상황 Yolov3-tiny 사물인식 상황 이번달 초까지 Yolov3-tiny를 기존의 데이터셋을 통해 훈련을 진행했었고, 그 결과를 coreml 모델을 통해 onnx로 컨버팅 하여 최종적으로 Unity의 barracuda로 인식을 성공시켰다.Darknet을 통한 Yolov3-tiny 훈련 Darknet을 통한 Yolov3-tiny 훈련Darknet을 통한 Yolo v3 tiny훈련 지난번에 Darknet을 이용하여 Yolov2-tiny로 커스텀데이터셋을 결국에는 Unity에 인식하는데 어느 정도 성공을 해서 이번에는 Yolov3-tiny를 시도해 보았다. 참고적으로 Unitytipon.tistory.com 다만 문제로 생각되었던 것이 인식율이 너무 형편없었다. 인식율을 보면 30% ~ 90%로 범위가 너무나 .. 개발 관련/SW, App 관련 2024. 10. 30.
Darknet 사물인식 진행 상황 Darknet 사물인식 진행 상황 지난번 커스텀데이터로 Darknet 훈련을 통해 가중치(.weights) 파일을 얻고 이 가중치를 통한 테스트는 정상적으로 잘되었었다. 문제는 이 가중치 파일을 다이렉트로 onnx 컨버팅이 되지 않아 다시 keras의 .h로 변환한 뒤 onnx로 변환했다. 그러나 변환한 keras로도 훈련이 되지 않았고 이를 변환한 onnx 파일을 Unity에서 적용하여 Android 앱으로 빌드하여 사물인식을 시도하였으나 그것도 제대로 된 Bounding Box 출력이 되지 않았다.  따라서 여기에서의 문제는 바로 keras의 .h로 변환하는데서 문제가 발생하는 것이라 확신했다.참고한 yad2k 의 이슈에서도 이 문제가 제기되었고 다른 방법으로 해결했다고 한 사항이 있으나 내게는 적용.. 개발 관련/SW, App 관련 2024. 9. 26.
Darknet의 weights를 onnx로 컨버팅 지난번부터 계속 괴롭혀 왔던 onnx 컨버팅을 진행하게 되었다. 시간이 오래 걸린 이유는 고집이 좀 있었는데 darknet의 커스텀 데이터셋 훈련결과의 weights(가중치)를 바로 onnx로 컨버팅 하기 위한 방법을 찾기 위한 것이었기 때문이다. 또한 이를 unity 2018 버전에서 사용하기 위해서는 Yolo v3 이하에서만 사용할 수 있다. Unity 2018의 barracuda가 거기까지만 지원하기 때문이다. 거기다 python과 필요한 패키지의 지원 버전이 맞지 않으면 오류를 쏟아내고 그 원인을 해결하기 위한 방법 또한 구글링을 해도 각기 다 다른 원인이 많아 해결하기가 너무나 까다로웠다. 버전 특성과 환경상 거의 안된다고 보면 된다. 현재는 Yolo v8인가 까지 나온 상태라 더욱 그렇다. 그.. 개발 관련/SW, App 관련 2024. 8. 21.
아두이노 로봇제작 - 스마트폰 장착 그리고.. 먼저 darknet의 weights 파일을 onnx 컨버팅은 좀 더 기다려야 할 것 같고, 기존의 잘 되는 classifier 방식의 인식으로 가능한 방법을 찾고 있다. 이와 동시에 처음 구성한 대로 로봇에 스마트폰을 배치하기 위해 고정도구를 만드는 중이다.어느 정도 충격에도 빠지거나 넘어지지 않아야 해서 일반적인 받침형 보다는 당겨서 고정하는 방식을 고려 중이다. 생각보다 아이디어가 안 나와서 이것저것 구상해 보는 중이다. 그리고 최종적인 동작을 확인 중 한 가지 누락된 것이 있다. 바로 다음과 같다. 그렇다. 바로 초음파 센서이다. 이 초음파 센서의 역할은 로봇 팔이 물건을 잡기 위해 대략적인 거리로 유도하기 위함이다. 이게 있어야 물건의 위치를 파악하고 잡을 수 있다. 물론 이외에도 기본적인 거리측.. 개발 관련/프로젝트 2024. 6. 29.
로봇제작 - 이미지 인식 지난번 이미지인식을 진행했었는데, 동영상을 아래와 같이 캡처하였다. 인식율이 높은 이미지 위주로 2가지 정도만 표시하였다. 동영상은 안드로이드 앱으로 빌드하여 테스트하였다. PC의 웹캠보다는 인식율이 떨어진다. 아무래도 시스템 사양을 타는 것 같다. 인식하는 주요 대상물을 집안의 캔이나 우유, 두유팩 등의 음료 위주로 학습을 시킨 다음 onnx로 컨버팅 하여 Unity에서 모델을 불러왔다. Teachable Machine로 이미지 학습 후 jupyter notebook로 onnx로 모델을 컨버팅 하였다. ◇ ONNX 컨버팅 정보는 다음과 같다. tensorflow = 2.8.0 onnx = 1.15.0 tf2onnx = 1.16.1/15c810 opset 9 ~ 12 ◇ Unity의 정보는 다음과 같다... 개발 관련/프로젝트 2024. 3. 11.
Unity - 사물인식 진행 Unity를 이용한 사물인식에서 지난번 아래와 같은 포스트로 진행했고 이 결과를 이용하여 onnx로 변환한 뒤 Unity인식시키기 위한 작업을 줄 곳 진행했었다. Tensor Flow를 이용해야 하는 관계로 AMD의 Radeon 환경에서는 불가능에 가까워 지포스가 있는 PC에서 진행했다. 사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) (tistory.com) 사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) 지난번 사물인식을 위한 보완으로 파이토치를 검토하던 와중에 다른 방법도 있지 않을까 하고 검색해 봤다. 한 가지 방법으로 시도해 봤는데, 역시나 AMD 시스템에서는 안 되는 것 같다. 있다고 tipon.tistory.com 결과적으로 keras 모델을 onnx로 컨.. 개발 관련/프로젝트 2024. 3. 1.
사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) 지난번 사물인식을 위한 보완으로 파이토치를 검토하던 와중에 다른 방법도 있지 않을까 하고 검색해 봤다. 한 가지 방법으로 시도해 봤는데, 역시나 AMD 시스템에서는 안 되는 것 같다. 있다고 해도 ROCm인 거 같은데 어떻게 활용하는지는 모르겠다. 어쨌든 집의 AMD PC(CPU : AMD 5600, GPU : RX6650XT)에서는 안 되는 것 같다는 결론을 내리고 사무실이나 노트북이 Intel과 Nvidia GPU이니까 되지 않을까 한다. 다만... GPU가 GTX1050인데....설마 여기서도? 아무튼 시도해 볼 예정이다. 그러면 그 한 가지 시도한 방법을 기록해 본다. 먼저, 내가 하고자 하는 것은 기존에 있는 모델들은 내가 만든 것이 아니기 때문에 여러 가지 정보들을 담고 있는 모델들이다. 따라.. 개발 관련/프로젝트 2023. 12. 26.
Unity Yolo Android 검토 이전 포스팅에서 사물인식 방식에 대해 2가지로 진행하기로 하였다. 이에 첫 번째는 Yolo를 적용하기 위한 방안으로 여러 가지 자료를 서치 하였다. 대략적으로 접근해 보니.. Unity에서 OpenCV와 유사한 기능과 머신러닝의 혼용? 과 같은 기능으로 추론학습이 가능한 것을 지원하는 것이 있었다. 물론 머신러닝을 적용하는 것도 있지만 기본적으로는 Barracuda를 사용하는 것 같다. 이와 함께 학습된 모델을 가져다 써야 한다. 여러 가지가 있으나 대표적으로 ONNX 모델을 가져다 쓴다. 간단하게 정리하면 나의 사용 조건은, 1. Unity 2018.4에서 실행 2. Barracuda 1.0.4 (최신버전은 3.0 이상) 3. ONNX 모델 파일 이용 ONNX 모델 파일을 이용하는 가장 큰 이유는 많이.. 개발 관련/프로젝트 2023. 9. 14.
728x90