- 모바일 디바이스에 ML을 적용하기 위한 시작으로 라즈베리 파이4를 이용해 시스템을 구성했다.
- 아래는 라즈베리 파이와 카메라로 구성한 테스트용 Edge Device 기본 구성이다. 휴대를 위해 밧데리를 추가로 장착했다.
# 개발 환경을 구성하기 위해 아래와 같은 절차로 셋팅을 진항한다.
1. raspberry pi4b 설치용 ubuntu 20.10 install
2. Remote access 설정 : dconf-editor 활용
3. 가상환경 설치 : virtualenv
//path를 추가하고 재부팅하면 $ virtualenv opencv-env 이 실행된다.
$ cd /.local/bin
$ pwd // --> 로 경로 확인후
$ sudo nano ~/.bashrc //--> 내용 추가
#virtualenv path configure
export PATH="$PATH":/home/mydir/.local/bin
$source ~/.bashrc // 혹은 재부팅.
//가상환경 생성
$ vurtualenv opencv-env
// 가상환셩 실행
$ source opencv-env/bin/activate
// 비활성화
$ deactivate
// 가상환경 삭제
$ rm -rf opencv-env
- 우분투 python virtualenv 가상환경 설정 : asung123456.tistory.com/3
- 우분튜 python3.8,pip3.8, jupyter notebook 설치 : asung123456.tistory.com/2
#=== 참고 === #
- pip3 virtualenv path 오류 수정 : seonghyuk.tistory.com/16
- user mode로 설치한 pip 패키지 PATH 등록: beomi.github.io/2018/02/12/Add-packages-installed-with-pip-usermode/
- Sudo pip install 은 안돼요! : link
- 우분투에서 path 설정하는 방법 : link
4. Jupyter Notebook install
$ pip3 install jupyter notebook
5. opencv-python install
$ pip3 install opencv-python
# 예제코드 Jupyter Notebook으로 실행 테스트
해상도 설정을 1280x720으로 설정하여 실행한 결과
6. object detection
#1st Test:
- opencv dnn 모듈을 이용해서 yolov3로 객체인식을 실행시킨 결과이다.
- yolov3.weights, yolov3.cfg, coco.names --> inference time = 4571ms
modelConfiguration = "yolov3.cfg"
modelWeights = "yolov3.weights"
net = cv.dnn.readNetFromDarknet(modelConfiguration, modelWeights)
net.setPreferableBackend(cv.dnn.DNN_BACKEND_OPENCV)
net.setPreferableTarget(cv.dnn.DNN_TARGET_CPU)
- yolov3-tiny.weights, yolov3-tiny.cfg, coco.names --> inference time = 512ms
퇴근하는 길에 차에 설치해서 테스트를 해본 영상이다. 처리 시간과 정확도를 위해 다른 시도가 필요하다.
#2nd Test: (검토 예정)
Autonomous Driving Object Detection 관련 코드
개요 정리 : www.recantha.co.uk/blog/?p=20817
Code link : github.com/ecd1012/rpi_road_object_detection.git
* ubnutu 20.10 LT 에서 라이브러리 설치 문제 검토 및 코드 수정.
#== 참고 ==#
Darknet for embedded devices using ARM CPUs
darknet-nnpack : github.com/shizukachan/darknet-nnpack.git
'Raspberry Pi' 카테고리의 다른 글
ROS2 Rplidar & Webcam in raspberry pi4B (1) | 2022.05.15 |
---|---|
[Neural Compute Stick2] Installation (0) | 2021.08.06 |
[Raspberry pi 4B] GPIO test (0) | 2021.07.09 |
Edge AI/ML 개발 (0) | 2021.02.13 |
Raspberry pi4B (8GB) ubuntu 18.04.5 LT (0) | 2021.02.09 |