개발 관련/프로젝트

Unity - 사물인식 진행

by 소서리스25 2024. 3. 1.
반응형

Unity를 이용한 사물인식에서 지난번 아래와 같은 포스트로 진행했고 이 결과를 이용하여 onnx로 변환한 뒤 Unity인식시키기 위한 작업을 줄 곳 진행했었다. Tensor Flow를 이용해야 하는 관계로 AMD의 Radeon 환경에서는 불가능에 가까워 지포스가 있는 PC에서 진행했다.

사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) (tistory.com)

 

사물인식을 위한 모델 학습 시도(TensorFlow / ONNX)

지난번 사물인식을 위한 보완으로 파이토치를 검토하던 와중에 다른 방법도 있지 않을까 하고 검색해 봤다. 한 가지 방법으로 시도해 봤는데, 역시나 AMD 시스템에서는 안 되는 것 같다. 있다고

tipon.tistory.com

 

결과적으로 keras 모델을 onnx로 컨버팅하였다.

다만, 과정은 그동안에 계속 포스팅하면서 간간히 시도했었는데 처음부터 잘 되지 않았다. 우선 기존에 있던 파이썬부터 해서 모든 관련된 것을 삭제하고 다시 필요한 부분, 그리고 해당 버전에 맞게끔 설치하여 컨버팅 하였다. 

 

여기에서 중요한 것은 Unity의 barracuda에서 로딩이 되어야 하는데 샘플에서 자주 사용되는 opset 13에서는 되지 않아 10 ~ 12까지 우선 설정하여 뽑으니 13부터 안 되는 것이었다.

따라서 opset 12로 낮추니 제대로 정보를 불러왔다.

 

그리고 위 포스트에서 나온 것처럼 참고한 깃이 지금 쓰는 버전보다 높은 버전이어서 이게 된다고 하면 블루투스나 음성인식의 플러그인이 제대로 불러와서 작동된다는 보장이 없을뿐더러 버전이 높을수록 느려지는 현상이 있을 수 있다.

 

따라서 이번 기회에 아예 2018.4.3 버전으로 다시금 테스트를 진행하였다.

우선 이미지 인식부터 진행하였다.

 

결과적으로는 잘 되긴 하는데 샘플의 수가 너무 적어서인지.... 인식률이 개판이다. 좀 더 많은 샘플을 확보해서 다시 테스트하고 기록을 남겨야겠다.

 

>> 추가보완

상기 인식율이 개판이었던 이유는 Vulkan을 적용 안 해서였다. PC버전은 잘되는데 안드로이드에서 잘 안 되는 이유가 바로 저것이었다. 이거 작년 10월에 하고 컨버팅 하고 프레임만 신경 쓰는 데다가 2018로 다시 해보겠다고 해서 잊어 먹은 것이다. 덴장...

일단 Classifier은 성공적으로 진행되었고, 이제 Detector 형식으로 좌표 추적만 하면 될 것 같다.

 

이후 함께 합치는 작업을 진행하면 기본적인 인식 프로그램은 완성된다고 보면 될 것 같다.

 

 

반응형

댓글