728x90

개발 관련/프로젝트 61

Unity 음성인식 테스트 지난번 사물인식에 이어 이번에는 같이 활용할 안드로이드용 음성인식을 진행하였다. AI 기술은 적용되지 않고 특정한 명령어 위주로만 실행되게끔 진행 중인 사항이다. 인터넷상에서 음성인식 자료는 찾아보면 금방 나오기는 한다. 그런데 문제는 한글을 잘 인식하느냐는 것이다. 예전에도 몇몇 찾아서 해 보았으나 한글인식이 잘 안 되거나 지원이 안된 경우 있었다. 현재는 것은 애셋스토어에서 판매되는 오래된 플러그인으로 그나마 잘 인식하는데 문제가 있다. 음성인식이 없다면 종료되거나 초기화되어야 하는데 아직 못찾겠다..;;; 매뉴얼에도 없는데;;; 이게 끝까지 안된다면 다른 음성인식을 찾아 볼 예정이다. 아무튼 진행된 동영상은 아래와 같다. 간단한 큐브를 음성으로 이동시킨다. 현재는 오브젝트를 움직이는데 활용하지만 추.. 개발 관련/프로젝트 2023. 10. 29.
Unity에서 사물인식을 위한 테스트 next 지금까지는 Unity의 barracuda 추론학습을 이용한 방법의 가능성을 살펴봤다. 결론은 현재 내가 가진 환경에서 1차적으로는 가능하다는 것이다. 다음으로 음성인식을 진행하고자 하였으나 아직 한 가지 테스트가 더 남았다. 초반에 언급했던 방식 중 두 번째인 방식으로 ImageSearch를 이용한 방법이다. 그전에 지난번 가로에서 작동이 안되었던 이유는 이미지 처리시 회전값이 -90로 되어 있어서 문제가 발생된 것이다. 이를 수정하니 가로 모드에서도 제대로 작동하였다. 그럼 수정도 했으니 일단 보류하고 다음의 추가적인 인식을 진행해 본다. ImageSearch를 이용한 방법은 이미 오래전부터 Autoit을 이용하여 진행해 왔다. PC화면에서의 이미지 찾기나 웹캠을 이용한 이미지 찾기 등에 주로 사용해 .. 개발 관련/프로젝트 2023. 10. 21.
Unity에서 사물인식을 위한 테스트 보완 지난번 테스트 이후 한 가지 간과한 사항이 있는데 그것은 카메라의 시야각이다. 세로의 카메라 시야각보다 가로의 시야각이 더 넓게 화면에 나오니 화면을 가로 기준에 맞춰 작업해 주었다. 그리고 또 다른 문제가 발생했다. 이건 끝 부분에서 다시 설명.. 가로기준에 맞춰서 대략적인 전체적인 외형의 디자인이 필요해졌다. 요건 좀 더 테스트해 보고 3D로 구성해 보려 한다. 가로로 고정하고 어느 정도 높이에 위치해야 할지도 검토가 필요하다. 프레임드롭에 대해서는 30 fps로 고정했음에도 발생되었다. 이는 근본적으로 해결하려면 상위버전을 쓰던지 다른 방법으로 해야 할 듯 싶다. GitHub - wooni-github/YOLOv5-ONNX-Inference-UnityBarracuda: YOLOv5 inference.. 개발 관련/프로젝트 2023. 10. 16.
Unity에서 사물인식을 위한 테스트 지난번 참고사항들을 토대로 몇몇 테스트를 진행했다. 참고사항의 Git 자료들은 대부분이 내가 원하는 버전이 아니었기 때문에 그대로 사용할 수 없고, 코드만 가져와서 참고하여 테스트해 볼 수밖에 없었다. 그리고 잘 안된 부분들은 결국 상위버전을 설치하여 테스트하였다. 상위버전들을 잘 안쓰는 이유 중 하나는 apk 빌드 용량이 20% 정도 크게 나온다. 아무리 줄여도 안된다. 사물인식은 Unity의 barracuda를 사용하며 모델 데이터는 onnx를 사용하였다. 추후 나머지 한가지도 테스트해 볼 예정이다. 원래는 Autoit에서 사용하던 ImageSearch인데 이것을 Unity에서 활용해 보고자 한다. 결과적으로 테스트에서는 잘 되긴 하는데, 프레임 드롭이 심하다. 아무래도 안드로이드에서 실행되다보니 성.. 개발 관련/프로젝트 2023. 10. 13.
Unity에서 사물인식을 위한 참고사항 검토 역시나 맨땅에 헤딩하면서 뭔가를 하려고 하니 쉽지 않다. 선호하는 툴의 버전이 낮은 것도 한몫하는 것 같다. 그러면 왜 상위버전을 사용하지 않는지에 대한 궁금증이 있을 것인데... 기존의 것을 상위 버전으로 업데이트하면 원인을 알 수 없거나 찾기가 너무 힘든 오류가 발생한다. 한두개가 아니다. 대부분의 정상적인 실행이 한 번에 되지 않으며 되더라도 매우 느린 속도로 플레이되는 경우도 있다. 그나마 현재 사용하는 버전에서 만큼은 작동이 잘 된다. 그리고 달라진 인터페이스에 적응이 쉽지 않다. 좋은건 아는데 말이다. 어쨌든 참고자료를 검색하고, 검토하고 진행중인데, 사물인식에 대한 설명을 한 분들 중에서 접근하는 방식이 생각과 비슷(?)하여 구글 번역본으로 옮겨본다.(출처 있음) Barracuda를 사용한 .. 개발 관련/프로젝트 2023. 9. 23.
Unity에서 사물인식을 위한 도구(Barrcuda, Yolo) 참고사항들 지난번 이후 틈날 때마다 인터넷 자료들을 많이 검색하였다. 직접 실행도 해 봤으나 생각보다 잘 되지 않았다. 대부분 버전이 맞지 않는 문제다. 아울러 내 실력으론 접근할 수 없는 전문적인?(내 기준으로) 코드를 이해할리가 없어서 응용이 어렵다. 그도 그럴 것이 상위 버전에 있는 자료를 하위 버전에 돌리려고 하고, 그걸 하위 버전에 맞게 코드를 짤려고 하니 뭐 그게 잘 되나.... 안되지..;;; Yolo로 대해선 지난번 포스팅의 내용처럼 잘 설명된 블로그가 있어서 참고해 본다. [Object detection] YOLO (you only look once) : Real-Time Object Detection (feat. 동작원리) (tistory.com) [Object detection] YOLO (yo.. 개발 관련/프로젝트 2023. 9. 17.
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.
소프트웨어 검토 우선 개발하기 위한 소프트웨어?를 검토해 봐야 하는데..... 소프트웨어라기 보단 개발 프로그램으로 봐야 할 것 같다. 내가 윈도우 프로그램을 개발할 때는 대부분을 Autoit으로 이용하며 키관련해서는 C# 기반의 Sharp Develop를 아주 가끔 이용하고 3D가 적용되거나 그래픽 UI를 사용할 때는 Unity를 사용한다. 가끔 둘이 섞는 경우도 있다. 백그라운드 프로그램으로는 Autoit을 사용하고, 메인 프로그램은 Unity를 사용하기도 한다. 아무튼 비전문으로 사용 가능한 도구가 아주 한정적인 상황이라 선택의 여지가 없다. 따라서 목표는 안드로이드 스마트폰에 앱으로 설치할 것이므로 Unity를 사용한다. 안드로이드 버전은 배포할 것이 아니므로 대략 API 28 ~ 30 정도를 사용할 것이다. 큰.. 개발 관련/프로젝트 2023. 9. 10.
개발 순서 정의 앞전의 프로토타입 구상 설계에 따라 다음과 같은 순서로 진행을 생각해 봤다. 일단 생각대로 적어봤다. 하드웨어 부분은 일단 프로그램에 어느 정도 되었을 때 진행하면 될 것 같고, 우선은 내가 개발이 가능한 범위에서 찾아야 할 것 같다. 물론 배워서 해도 되긴 하는데 어느 세월에 될지 모르겠다. 개발 쪽에 전문적인 지식이 없거니와 그쪽 경험도 없고.... 계획에 따라 진행하면 되는데, 상황에 따라 변경될 수도 있다. 개발 관련/프로젝트 2023. 9. 7.
프로토타입 구상 설계 이제 그러면 어떻게?, 뭘?, 그래서? 등 해야 할 것들을 정리해 보자 우선은 똑같이 만들 실력은 절대, 전혀 안된다고 보고 쉽게 접근할 수 있도록 기초가 되는 프로토타입을 만드는 것에 목적을 두고 설계를 시작해 본다. 예전 전시용 3D 애니메이션을 제작할 때도 시놉시스, 시나리오, 콘티가 나오게 되면 그다음 콘티를 바탕으로 러닝타임을 계산하고 콘티를 이용한 영상을 제작 한다. 이후 콘티에 따른 시간의 동선으로 라이드 맵을 제작한다. 시나리오 및 콘티에서 캐릭터나 안내 나래이션 등이 나올 텐데 여기에 적합한 시간을 또한 반영한다. 그러면 대략적인 전체 러닝타임이 나오게 된다. 물론 자잘한 시나리오 변경에 따른 수정이나 편집은 중요할 경우 중반에 작업(??!!) 하기도 하고 그렇지 않으면 후반에 작업하였다.. 개발 관련/프로젝트 2023. 8. 30.
728x90