728x90 Unity 85 Yolov3을 이용한 Unity 사물인식 제작 정리(3) Yolov3을 이용한 Unity 사물인식 제작 정리(3) 5. 커스텀 데이터셋 준비 보통의 Yolo를 쓰면 미리 훈련된 모델들을 가지고 많이들 사용한다. 다양한 훈련 모델들이 있어서 플랫폼에 맞춰서 적절하게 사용되고 있다. 하지만 본인이 여기서 다루고자 하는 것은 원하는 데이터를 기반으로 훈련하는 것이다. 이게 가장 큰 목적이다.로봇이 플라스틱 병이나 우유팩 같은 것을 인식하여 물건을 잡고 이를 분리수거함으로 운반하여 넣는 것이 최초의 목적으로 시작하게 되었다. 이는 지금도 진행 중이다. 훈련데이터에서 준비되어할 것은 다음과 같다. Darknet 실행파일이 있는 위치에 data 폴더가 있다. obj 폴더에 훈련할 이미지와 label 정보 텍스트가 들어가야 한다. 하나의 이미지당 하나의 label 정보 텍.. 개발 관련/SW, App 관련 2024. 11. 11. Yolov3을 이용한 Unity 사물인식 제작 정리(2) Yolov3을 이용한 Unity 사물인식 제작 정리(2) 4. Darknet 및 Unity 설치우선 Unity부터 설치해 준다. 현재는 Unity6까지 해서 최신 버전들이 많겠지만 진행하고자 하는 사항은 Unity의 barracuda를 이용한 것이므로 낮은 버전을 다운로드하여야 한다. 다음의 Unity Archive에서 2018.4.xx를 다운 받는다. 다만, barracuda를 사용하는 것이기 때문에 더 상위버전인 unity 2019도 잘 될 것 같다. 혹시나 그다음 버전들이 Unity plugin package로 barracuda를 지원한다면 될 것도 같다. 하지만 확인을 못해봐서 현재는 알 수 없다. 다운로드 아카이브 다운로드 아카이브다운로드 아카이브unity.com 다운을 받게 되면 Unity .. 개발 관련/SW, App 관련 2024. 11. 10. Yolov3을 이용한 Unity 사물인식 제작 정리(1) Yolov3을 이용한 Unity 사물인식 제작 정리(1) 그동안에 Yolo를 이용하여 사물인식을 제작한 모든 과정을 기록으로 남기고자 한다. 분명 시간이 지나면 다 까먹을 것이다.물론 상위버전들도 있고 더 쉽게 구현이 가능할 수 있으나 주어진 환경과 프로그램 버전의 제약으로 Yolov3으로 진행하게 되었다. 진행은 최종적인 플랫폼인 Android OS의 App에서 작동할 것이므로 Yolov3-tiny 버전으로 할 것이지만 일부 수정 및 보완을 거치게 되면 Yolov2, Yolov2-tiny, Yolov3, Yolov3-tiny에서 호환되어 작동할 수 있다. 결과적으로 Unity의 환경의 App 제작에 따른다. 목차는 다음과 같다.1. 시스템 확인 및 필수 소프트웨어 설치2. 환경설정3. Python(An.. 개발 관련/SW, App 관련 2024. 11. 8. Yolov3-tiny 사물인식 결과 Yolov3-tiny 사물인식 결과 엊그제 표본을 최초 50개에서 310개로 약 6배 증가시킨 훈련 결과를 토대로 Unity에서 빌드하고 테스트를 진행했다.개발하는 플랫폼은 Android에서 Unity의 추론엔진 barracuda와 그래픽 API는 Vulkan을 이용하는 것이다. 결과적으로 높은 인식율을 보였다.그와 동시에 표본에 없던 대상까지도 인식을 하고 그 확률 또한 상당해서 만족스러운 결과로 나타났다. 다만 한가지 문제가 있는데 사물에 대한 거리이다. 동영상을 확인해 보면 가까운 거리나 조금 떨어진 거리는 인식률이 높게 나타난다. 하지만 그 거리에서 조금만 떨어져도 인식을 못하는 현상이 발생되었다.따라서 좀더 떨어진 것도 확보해서 잘 되는지 확인해 볼 필요가 있다. 역시나 이것도 손이 많이 간다.. 개발 관련/SW, App 관련 2024. 11. 1. Unity 로우 폴리곤 행성 추가 제작 Unity 로우 폴리곤 행성 추가 제작 지난번 얼음행성 다음으로 지구형 행성을 추가적으로 만들어 봤다. 처음 만든 것이 너무 대충 만들어서 모델링부터 좀 더 신경 써서 만들었다. 그리고 물고기 만들었던 것도 적절히 배치하였고, 추가적으로 새도 만들어서 적절히 배치하였다. 이와 함께 비주얼적인 것도 좀더 손보았다. 바다의 shader를 좀 더 보완했고, 육지도 좀 변경해 주었다. 대표적으로 변경한 것이 사막인데 사막에는 나무가 거의 자라지 않으니까 나무를 배치하는 방법을 이미지의 픽셀값을 읽는 것으로 변경했다.그전에는 좌표의 범위로 설정했는데 그렇게 되면 추후 조정시 복잡해질 것 같아서 편하게 아래와 같은 이미지로 조정했다. 검은색은 나무가 자라지 않는 지역이고 붉은색은 잎이 없는 나무의 위치이다.그래.. 개발 관련/SW, App 관련 2024. 10. 31. 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. 3D 물고기 애니메이션 테스트 3D 물고기 애니메이션 테스트 지난번 만들어 놓은 행성에서 지상과 하늘에는 그나마 나무도 있고 구름도 있고 비도 내리고 하지만 바다에는 아무것도 없다. 물론 추후 배라던가 뭐 이런 것들은 있겠지만 바닷속에는 아무것도 생각해 놓은 것이 없다. 그렇다고 실제 바다속 처럼 산호초며 그런 것들을 넣기에는 잘 보이지도 않는데 데이터만 많이 늘 것 같아서 표현상 적절한 해결 방법은 찾아야 할 것 같다. 우선은 바다속을 헤엄칠 열대어 물고기를 테스트 겸 아주 낮은 3D 로우폴리곤 모델링 및 애니메이션을 주고 여러 마리가 동시에 헤엄치는 것을 Unity로 만들어봤다. 인스턴스로 여럿 복사하여 곳곳에 배치하면 좋을 것 같다. 이외 좀더 큰 물고기와 좀 더 다른 물고기(고래?)를 만들어서 헤엄치면 좋을 것 같다. 3D 관련 2024. 10. 21. Unity 로우 폴리곤 얼음 행성 추가 Unity 로우 폴리곤 얼음 행성 추가 지난번 파괴되어 핵이 보이는 로우폴리곤 행성을 만들었었다. 이번에는 그와 반대되는 얼음행성을 테스트 겸 만들어 보았다. 물론 행성의 종류들은 많다. 그런 것들도 시간 되면 만들어볼 예정이다. 만드는 형식은 모두 비슷하다. 3D 모델에 적용되는 Material과 Shader만 변경하면 쉽게 만들 수 있다.그런 로우 폴리곤 행성의 코드는 다 비슷비슷해서 크게 바꿀 것이 없다. 우려되는 것은 안드로이드 플랫폼에서 느리지 않게 잘 돌아갈 정도의 퀄리티를 유지하는게 쉽지 않을 것 같다. 이전에 올린 행성들을 구동하는 안드로이드 폰은 갤럭시S9 정도의 기기로 돌아간다. 개발 관련/SW, App 관련 2024. 10. 17. Unity PostProcess Bloom 효과 코드제어 Unity PostProcess Bloom 효과 코드제어하기 지난번 로우폴리곤 행성을 만들다가 여러 행성의 환경 특성을 표현하는 효과를 주고자 Unity의 Post Process를 사용하는데 의외로 코드로 제어하는 정보를 찾기가 어려웠다.분명히 이것을 사용하는 사람들이 있을 텐데 말이다. 적어도 Unity 2018.4.x에서 다른 방법을 모르겠다. 따라서 좀 다른 코드를 찾았었는데.. 이를 쉽게 응용해서 최대한 간략하게 구성해 봤다. 생각보다 너무 간단하다.. 아래와 같이 응용하면 아주 쉽게 조절할 수 있다. Bloom 외에도 Unity에서 제공하는 다른 PostProcess들을 응용할 수 있을 것 같다.using UnityEngine;using UnityEngine.Rendering.PostProces.. 개발 관련/SW, App 관련 2024. 10. 16. Unity 로우 폴리곤 행성 추가 Unity 로우 폴리곤 행성 추가 지난번 제작한 로우폴리곤 행성은 지구와 같은 환경의 행성이었다. 이번에는 다양성을 위해 일반적인 행성에 운석의 충돌로 파괴된 행성과 같은 형태를 만들어 보았다.뭐 게임으로 활용한다면 탐색 성과물로 사용할 수 있을 것 같다. 모델링은 지난번과 같은 형식으로 만들어주고, 용암 부분만 쉐이더 코드로 적절하게 만들어서 구현했다.구름은 이전것에 컬러만 달리 해주고 skybox는 원래 cubemap을 활용하고자 했으나 깨지지 않을 정도로 보이려면 높은 해상도가 요구되어 기본적인 별빛 배경을 tile로 배치한 box를 normal로 하여 적용하니 아주 적절하게 들어갔다. 비록 현재는 파괴된 모델이 되었지만 추후 업데이트로 테라포밍을 통한 행성의 진화에도 이용할 수 있도록 3D에서는.. 3D 관련 2024. 10. 12. 728x90 이전 1 2 3 4 5 ··· 9 다음