남들(?) 다하는 Object detection, Image segmentation, Pose estimation 등을 해보려고 한다.
그래봐야 모델은 미리 준비되어있고 명령어만 실행해주는 정도면 손쉽게 데모를 체험해볼수 있다.
yolo5, 6, 8, x 버전별로 실행이 가능하며 해상도도 변경가능하니 다양하게 체험할수 있는 환경을 제공해준다.
우선 적당한 크기(마침 놀고 있는 64GB를 사용)의 T-Flash 저장장치에 RaspberryPi OS 64bit를 설치한다.
RaspberryPi OS 설치가 완료되면 WiFi, ssh 등의 설정으로 기기를 인터넷에 접속할 수 있도록 한다.
https://www.raspberrypi.com/documentation/accessories/ai-kit.html
위 링크를 참고하면 RaspberryPi OS 에 Hailo에서 제공하는 AI Kit 기능을 위한 라이브러리나 파일들을 설치 할수 있다.
1. RaspberryPi OS 업데이트
sudo apt update && sudo apt -y full-upgrade
2. 라즈베리파이의 EEPROM을 업데이트
sudo rpi-eeprom-update
(다만 부트로더 버전이 2023년 12월 6일 이전이라면 라즈베리파이 설정(raspi-config)로 부트로더 업데이트를 해주어야하나보다. 상단 링크 참조)
3. 재부팅
sudo reboot
4. Hailo의 AI Kit 설치
sudo apt install hailo-all
5. 재부팅
sudo reboot
6. AI Kit 설치 확인
hailortcli fw-control identify
결과
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HL-----------------
Part Number: HM--------------
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
7. 카메라 테스트
rpicam-hello -t 10s
결과
카메라 프리뷰 팝업이 뜨면 성공!
8. 드디어 아기다리 고기다리 던 데모 실행(데모 파일 다운로드)
git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
9. Image segmentation 데모
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_segmentation.json --lores-width 640 --lores-height 640 --framerate 20
10. Pose Estimation
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640
11. Object detection(버전별로 5, 6, 8, x 제공)
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_personface.json --lores-width 640 --lores-height 640
그 밖에도 assets폴더를 들여다보니 좀 더 다양한 기능을 체험할수 있는 데모들이 들어있었다.
-rw-r--r-- 1 pi pi 158 Aug 12 14:09 annotate_cv.json
-rw-r--r-- 1 pi pi 629 Aug 12 14:09 drc.json
-rw-r--r-- 1 pi pi 303 Aug 12 14:09 face_detect_cv.json
-rw-r--r-- 1 pi pi 416 Aug 12 14:09 hailo_classifier.json
-rw-r--r-- 1 pi pi 650 Aug 12 14:09 hailo_yolov5_personface.json
-rw-r--r-- 1 pi pi 438 Aug 12 14:09 hailo_yolov5_segmentation.json
-rw-r--r-- 1 pi pi 551 Aug 12 14:09 hailo_yolov6_inference.json
-rw-r--r-- 1 pi pi 555 Aug 12 14:09 hailo_yolov8_inference.json
-rw-r--r-- 1 pi pi 259 Aug 12 14:09 hailo_yolov8_pose.json
-rw-r--r-- 1 pi pi 563 Aug 12 14:09 hailo_yolox_inference.json
-rw-r--r-- 1 pi pi 630 Aug 12 14:09 hdr.json
-rw-r--r-- 1 pi pi 249 Aug 12 14:09 motion_detect.json
-rw-r--r-- 1 pi pi 30 Aug 12 14:09 negate.json
-rw-r--r-- 1 pi pi 475 Aug 12 14:09 object_classify_tf.json
-rw-r--r-- 1 pi pi 410 Aug 12 14:09 object_detect_tf.json
-rw-r--r-- 1 pi pi 241 Aug 12 14:09 pose_estimation_tf.json
-rw-r--r-- 1 pi pi 139 Aug 12 14:09 segmentation_labels.txt
-rw-r--r-- 1 pi pi 238 Aug 12 14:09 segmentation_tf.json
-rw-r--r-- 1 pi pi 47 Aug 12 14:09 sobel_cv.json
-rw-r--r-- 1 pi pi 504 Aug 12 14:09 yolov5_personface.json
-rw-r--r-- 1 pi pi 489 Aug 12 14:09 yolov5seg.json
자 이렇게 기기 확인 또는 데모 체험정도의 기능을 실행해보았다. 13TOPS가 어느정도 기대에 부합될지 기대가 되면서
앞으로 어떻게 프로젝트에 활용할지 연구를 많이 해보아야겠다.
'개발 > hardware' 카테고리의 다른 글
Zombie Zero Car(aka. zzcar) (0) | 2024.08.13 |
---|---|
라즈베리파이용 26TOPS AI Kit (0) | 2024.08.12 |
RPi 5 + AI Kit(Hailo) (0) | 2024.08.12 |