덕배의 블로그
OAK-D PoE 카메라에서 yolov8 커스텀 해보기 본문
OAK-D PoE 커스텀 학습
이번 글은 OAK-D PoE 카메라에 yolov8로 학습시킨 모델을 카메라에 적용시켜보려 한다.
이 글을 이해하기 위해서는 yolov8이 무엇인지 알아야 하고 cocodata가 아닌 자신이 커스텀 학습을 시키는 것이기에 커스텀 학습을 어떻게 하는지 알아야 하는 부분이다.
yolov8이 무엇인지 알고 싶다면 밑에 링크를 참고하자. 또 커스텀 학습을 어떻게 하는지에 대한 링크도 밑에 있다.
인공지능(AI) 딥러닝 YOLO 역사 series(yolov6,yolov7,yolov8)에 대해 알아보자
YOLO series yolov6, yolov7, yolov8에 대해 알아보기 전에 앞에 다른 버전들이 궁금하다면 밑에 사이트를 이용해 보자! 인공지능(AI) 딥러닝 YOLO 역사 series(yolov1,yolov2,yolov3)에 대해 알아보자 YOLO series flow
kdbeom.com
인공지능(AI) 딥러닝 YOLOv8 설치 및 커스텀 학습(파이썬 아나콘다 환경 설치 및 다운로드, 세팅)
아나콘다 가상 환경 생성 아나콘다란? 아나콘다는 파이썬을 포함한 데이터 과학에 필요한 다양한 언어 및 패키지의 배포 장점은 프로젝트마다 다른 환경을 만드는데 편리하고 환경마다 필요한
kdbeom.com
OAK-D PoE란?
Luxonis에서 개발한 강력한 깊이 감지 카메라 모듈이다.
통합된 AI 칩과 스테레오 카메라 설정을 특징으로 하여 깊이 정보를 capture 하고 실시간 깊이 인식을 수행할 수 있다.
- PoE(Power over Ethernet) 기능을 통해 장치는 단일 이더넷 케이블을 통해 전원과 데이터를 수신할 수 있으므로 다양한 애플리케이션에 설치하고 통합하는 데 편리합니다. OAK-D PoE는 일반적으로 정확한 깊이 인식 및 객체 추적이 필요한 로봇 공학, 컴퓨터 비전 및 AI 애플리케이션에 사용됩니다.
- OAK PoE 카메라는 인터넷에 연결되어 있기 때문에 비디오 피드를 컴퓨터로 직접 스트리밍 할 수 있다.
- 방수 기능 탑재(IP67등급)
YOLOv8 커스텀
- sudo date 날짜, 시간, 년도 별로 설정해 준다. ex) sudo date 0516103923
- OAK-D에 전원 공급 후 랜선으로 공유기 또는 컴퓨터와 직접 연결
- 192.168.0.1에서 OAK-D의 IP를 찾는다.
- ssh -X pi@192.168.0.xxx접속한다.
- 접속하게 되면 LUXONIS 문구가 뜨게 된다.
- 가장 최적의 weight 값인 best.pt —> OAK-D에 맞게 파일을 변환하는 것이 필요하다.
- 학습된 모델 pt 파일을 OAK-D에서 실행하기 위해 blob 파일로 변환해야 한다. - 핵심
- 밑에 사이트 tool을 이용해 변환시킨다.
- best.blob 변환한 파일을 리눅스 환경에 세팅을 해준다. (메일 또는 usb 이용해 파일을 가져온다.)
- best.blob 파일을 OAK-D 환경으로 가져오기 위해 scp ${blob 파일 위치} pi@192.168.0.xxx:${OAK-D 내에 넣을 넣을 위치} 해야 한다. ex) scp ./net.blob pi@192.168.0.xxx:~/Downloads
- Json 파일 안에 Anchor, Anchormask를 따로 실행 파일 안에 명시해주어야 한다.
DepthAI Tools
tools.luxonis.com
- Anchormask는 YOLOv7에서 사용하는 기술 중 하나로, Anchor box를 더욱 정교하게 만들어주는 기술
- Anchor box는 Object Detection에서 사용되는 bounding box의 크기와 위치를 미리 정해놓은 것
- Anchormask는 이 Anchor box를 더욱 정교하게 만들어주어 Object Detection의 성능을 높인다.
anchor와 anchormask를 넣어주고 실행하게 되면 원하고자 하는 커스텀 학습에 성공하게 된다.
이렇게 OAK-D PoE 카메라를 이용해 yolov8 커스텀해보았다. 많이 어려운 부분이라 힘들었지만 재미있었다.
'인공지능' 카테고리의 다른 글
소프트맥스(softmax) 회귀에 대해서 알아보고 파이토치로 실습 해보자 (0) | 2023.08.21 |
---|---|
원-핫 인코딩(One-Hot Encoding)에 대해 알아보자 (0) | 2023.08.20 |
로지스틱 회귀, 시그모이드와 비용함수(크로스 엔트로피)에 대해 알고 파이토치로 실습해보자 (0) | 2023.08.18 |
Gstreamer가 무엇인지 알아보자 (0) | 2023.08.17 |
NVIDIA Jetson Xavier Nx board에 대해서 알아보자 (0) | 2023.08.16 |