개발/hardware

Raspberry Pi 5 AI Kit 데모 체험해보기

harftware 2024. 8. 12. 22:23

남들(?) 다하는 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