728x90

개발 관련 168

keras의 HDF5(.h)로 변환시 utf-8 오류 해결방법 Darknet 훈련을 통한 가중치(.weights) 파일을 kera hdf5 포맷 변환시 아래와 같은 오류가 발생했다.model_config = json.loads(model_config.decode('utf-8')) 이는 패키지의 버전차이로 발생하는 것이며 간단하게 하위 버전으로 설치하면 해결된다. pip uninstall h5py pip install hypy==2.10.0 그러면 오류를 해결할 수 있다. 개발 관련/SW, App 관련 2024. 9. 5.
Yolov2, v3-tiny 훈련 다시... congfig에서 변경 안 한 것이 있어서 다시 훈련을 돌렸다.. 이번 다시 돌리는김에 yolov2-tiny 와 yolov3-tiny를 같이 돌림.. v3 훈련도중 다음과 같은 오류가 발생하여 사이즈를 낮춰서 재실행했더니 정상적으로 훈련이 되었다. 혹시나 v3이 안될 수 있기 때문에 2개를 돌린 것이다. cuDNN isn't found FWD algo for convolution. 해결책은 해상도를 낮춰서...  그리고 두 버전의 훈련과정은 좀 다른 것 같다.   물론 따로 돌려도 되는데 GPU 점유율을 생각보다 적게? 차지하는 것 같아서 동시에 돌렸다. 그래서 메모리 문제가 발생된 듯. 훈련시간은 서로 다른데 v3이 더 빨랐다. 전체 훈련 시간의 경우 v2는 약 7~8시간, v3은 6시간 가량 소요되었.. 개발 관련/프로젝트 2024. 8. 31.
Darknet Yolov3-tiny 훈련 완료 Yolov3-tiny 훈련 완료지난번 darknet.exe를 빌드하고 nvidia 그래픽카드 드라이버를 업데이트 한 이후 훈련을 진행했다. 이번에는 yolo v2가 아닌 v3의 tiny로 진행했다. 모바일에서 사용하기에는 용량이 너무 커서 tiny로 진행했다. 물론 데이터 경로문제가 조금 있었지만 금방 해결되었다.절대경로의 위치가 지난번 darknet_no_gpu때와 달라서 인식 오류가 있었다. 이거 상황에 따라 바뀌는 건지는 모르겠다. train.txt 내의 절대경로가 darknet 실행파일 이하의 경로로 되어 있어야 한다. 아무튼 훈련을 시작하고 약 6.2시간만에 아래와 같이 끝났다. 지난번 GPU를 사용하지 않았을때는 무려 5일의 시간이 소요되었다. 차이가 엄청나다..(펜티엄골드 지못미) 이제 이 .. 개발 관련/프로젝트 2024. 8. 29.
Darknet의 GPU버전 빌드 오류 해결 Unity Barracuda에서의 onnx 인식 오류.지난번 onnx 컨버팅 이후 Unity에 적용해 봤으나 인식하지 못하는 문제가 발생했다.물론 netron에서는 정상적으로 보이긴 했다. 결과적으로 원하는 곳에서 인식이 안되니 사용할 수가 없다.따라서 이번 것은 가중치 용량도 크고 해서 다시 데이터셋을 이용해서 yolo-tiny로 구성해 보고자 했다.  Darknet의 GPU 버전 빌드처음 시도할 때 아무래도 문제 해결에 시간이 많이 소요되고 오류도 많고 가능성도 적어 보여서 darknet_no_gpu버전으로 진행했었다.  시스템이 너무나 구려서 대부분의 옵션을 다음과 같이 사용할 수가 없었다. 그래서 시간이 너~~무 오래 걸렸다. 이미지 몇 장 하는데만 며칠이 걸렸으니 도저히 이대로는 진행하기가 곤란.. 개발 관련/SW, App 관련 2024. 8. 26.
Darknet의 weights를 onnx로 컨버팅 지난번부터 계속 괴롭혀 왔던 onnx 컨버팅을 진행하게 되었다. 시간이 오래 걸린 이유는 고집이 좀 있었는데 darknet의 커스텀 데이터셋 훈련결과의 weights(가중치)를 바로 onnx로 컨버팅 하기 위한 방법을 찾기 위한 것이었기 때문이다. 또한 이를 unity 2018 버전에서 사용하기 위해서는 Yolo v3 이하에서만 사용할 수 있다. Unity 2018의 barracuda가 거기까지만 지원하기 때문이다. 거기다 python과 필요한 패키지의 지원 버전이 맞지 않으면 오류를 쏟아내고 그 원인을 해결하기 위한 방법 또한 구글링을 해도 각기 다 다른 원인이 많아 해결하기가 너무나 까다로웠다. 버전 특성과 환경상 거의 안된다고 보면 된다. 현재는 Yolo v8인가 까지 나온 상태라 더욱 그렇다. 그.. 개발 관련/SW, App 관련 2024. 8. 21.
Android TargetSDK API 34 업데이트와 AD_ID 권한 지난해 초중순쯤 살아있는 앱들의 업데이트를 진행했었다. 그때는 API 31로만 해서 특별한 설정이 없이도 업데이트가 가능했다. 하지만 방치했던 것을 살펴보니 계속되는 경고 알림이 떠서 자세히 보게 되었다. 앱이 삭제된다나 어쩐다나... 해서..이번에는 API 34 이상 타겟팅이 되어야 한다고 하니 필요한 이상 해 줘야 할 것 같다. 그런데 문제는 지난해에 API 31까지만 한 것이 Unity 2018 버전에서 잘 안되었기 때문이었다. 아직도 쓰고 있으니..아무튼 그래서 이번에 다시 시도하였다.  우선 Android Studio를 통해 SDK를 API를 35까지 업데이트하였다.다음으로 예전부터 기존에 사용하던 SDK 폴더에 업데이한 내용만 복사를 하였다. build-tools, platforms 의 내용만.. 개발 관련/SW, App 관련 2024. 8. 18.
Unity ARCore 설정(예전 버전) Unity에서 Google의 ARCore 사용에 대한 설정을 기록을 남겨본다.현재는 AR Foundation으로 사용되고 있어서 ARCore의 버전은 2021년도에 1.25 버전까지만 나와 있는 상태다.Releases · google-ar/arcore-unity-sdk (github.com) Releases · google-ar/arcore-unity-sdkARCore SDK for Unity. Contribute to google-ar/arcore-unity-sdk development by creating an account on GitHub.github.com 어쨌든 현재 내가 주력으로 Unity 2018.4.3을 사용하고 있어서 업그레이드를 하지 않는 이상 ARCore를 사용할 것이다.그런데 약 .. 개발 관련/SW, App 관련 2024. 8. 15.
아두이노 로봇 제작 - 진행 현황 현재까지 진행된 상태는 지난번 초음파 센서 장착 이후 아두이노 코드와 이를 제어할 유니티의 코드를 수정하고 추가하는 작업을 진행했다.이에 따라 사물을 인식 및 추적하면 현재의 화면에서 위치를 잡을 수 있다. 그리고 일정 거리가 될 때까지 가까이 이동한다.그러면 최종적인 위치에 다가갈때까지 천천히 이동한 뒤 잡을 수 있는 거리가 되면 로봇암이 동작하게 된다.대충 아래의 동영상과 같다. 현재는 제자리에서 바퀴만 회전다록 했다. 이유는 아래에 있다. 위의 제자리 이동의 이유에는 몇가지 문제가 있다. 이것은 프로그램적인 것보다는 제품의 문제가 크다. 일단 DC모터가 계산대로 세밀하게 움직이지 못하는 점, 바퀴가 생각보다 쉽게 미끄러지는 점이 있다.물론 DC모터를 서서히 움직이는 가속코드를 넣어둔 것이 있긴 하지.. 개발 관련/프로젝트 2024. 8. 12.
아두이노 로봇제작 상황 이 프로젝트를 구상한 지 거의 1년이 다 되어 간다. 시간이 참 빨리 흘러 가고 있다. 단지 이 프로젝트는 먼저 1차적인 프로토타입을 만드는 것인데 너무나도 더디게 진행되는 것 같다.  현생을 하면서 틈나는대로 하고 있지만 진도가 너무 느리다.마음먹고 시간을 좀더 투자한다면 적어도 2~3개월 이내에는 프로토타입을 거의 완성할 것인데 말이다.프로토타입에 너무 정성을 들이는 게 아닌가 한다. 따라서 이번 프로토타입은 이번 8월내에 마무리를 해야겠다. 프로그램적인 부분은 좀 미흡할 것 같으나 본격적인 프로젝트에서 이를 보완하여 진행해야겠다. 다음번엔 아예 3D 프린터를 구입하는 게 여러모로 빠르고 좋을 것 같다. 진행이 더딘 가장 큰 원인은 아마도 여러 가지 오류에 대한 해결이 늦어지는 탓일 것이다.특히나 p.. 개발 관련/프로젝트 2024. 8. 1.
아두이노 로봇제작-HC-SR04 초음파센서 장착 드디어 초음파 센서를 장착했다.그전에 원하는 기능으로 테스트를 진행하였다. 매번 거리값을 호출하는 것이 아니라 필요에 따라 호출해서 사용할 예정이다. 장착 시 디지털 핀이 남는 게 거의 없었다. 난감했으나 DC모터와 서보모터 충돌 방지차 9, 10번은 비워두었는데 여기에 설치하여 테스트했다.물론 아직 전체 동작을 테스트해 볼 수는 없었다.  초음파 센서는 가이드를 만들어서 장착했다. 완전 고정은 아니며 위로 쉽게 뺄 수 있도록 했다.가이드를 만드는 과정에서 설계미스가 있어 볼트 고정을 2곳 생각했으나 한 곳밖에 사용할 수 없다. 하지만 큰 지장은 없다. 미스는 설계도를 토대로 만든 3D와 실물의 몸체 프레임 고정 구멍의 위치가 다르기 때문에 나타났다..;; 아무튼 그래서 아래와 같이 고정하였다.  테스트.. 개발 관련/프로젝트 2024. 7. 26.
728x90