프로젝트 대표이미지
비글본(beaglebone black) 얼굴인식(Face Recognition) 시험하기
goingdol 생성일2023. 3. 27 조회2539 좋아요3 스크랩2 댓글0
 
첨부 파일 공개 기술 미판매 유사 개발 의뢰 미수락

beaglebone black(비글본 블랙) openCV, pytorch, tensorflow lite설치하기

2023. 3. 29 (수) 09:17 최종수정 2023. 4. 6 (목) 08:58 goingdol 조회 313 좋아요 1 스크랩 0 댓글 0

지금 OS image는 debian 11.6(bullseye)에 python 3.9.2가 기본포함되어 있습니다. 여기에 openCV 4.5.5.62, openCV-contirb 4.5.5.62, pytorch 1.8.1, tflite_runtime(tensorflow lite버전) 2.8.0 버전을 설치하도록 하겠습니다. 왜 이런 조합이 되었는지 궁굼하실텐데요. 저는 머신러닝 개발자는 아닙니다. 다른 Lab에서 ubuntu18.04+python3.8+openCV4.6+pytorch 1.1+tensorflow2.3 데스크탑 환경에서 개발하고 있는 모델이 있어서 그 모델이 beaglebone에서도 동작하는지 돌려보는 차원이었습니다. 그래서 처음에는 ubuntu18.04를 찾아서 package 설치를 시작했는데 진행하면서 각종 pakage간의 버전 종속성때문에 설치가 안되고, 버전에 맞는 Source build후 설치해야 하는데 각종 tool들도 버전이 안맞는다고 억지로 맞추어서 막상 build를 돌려놓으면 몇시간뒤에 보드가 stuck되거나 또다른 build error를 발생하는 문제가 발생했습니다. 그러다보니 어찌어찌 환경을 맞춘다하더라도 제대로 동작할지도 의심되서 가장 근접한 버전의 whl 파일들을 구글링으로 찾아서 설치하게 되었습니다. 잠깐 whl파일이 무엇인지보고 가겠습니다.

 

" What is a whl file ?

 

A WHL file is a Python Wheel file, which is a built-package format for distributing Python code. A Wheel is essentially a ZIP archive with a standardized file layout that includes metadata about the package, such as its name, version, and dependencies.

WHL files are used to distribute Python packages and their dependencies, making it easy to install and use Python packages on different systems. They are created using the "python setup.py bdist_wheel" command, which generates a wheel file that contains all the necessary files and metadata.

When installing a Python package using pip, pip will try to download a wheel file if available for the specific platform and Python version. This can save time and avoid the need for compiling the package from source code.

In summary, a WHL file is a distribution format for Python packages that simplifies the installation process by packaging all dependencies and metadata in a single file."

 

 

1. openCV 4.5.5.62설치하기

 

PuTTY로 연결된 상태에서 openCV, openCV-contrib, numpy를 설치하도록 하겠습니다.  numpy가 없으면 openCV를 import할때 Error가 발생합니다. beaglebone black이 Internet에 연결된 상태에서 아래의 설치 명령어를 차례로 진행합니다. 

 

debian@BeagleBone:~$ sudo apt update


debian@BeagleBone:~$ sudo apt upgrade

 

debian@BeagleBone:~$ sudo apt install software-properties-common -y

 

debian@BeagleBone:~$ sudo add-apt-repository ppa:deadsnakes/ppa

 

debian@BeagleBone:~$ sudo -H pip3 install --upgrade --ignore-installed pip setuptools

 

debian@BeagleBone:~$ sudo pip3 --no-cache-dir install opencv-python==4.5.5.62

 

debian@BeagleBone:~$ sudo pip3 --no-cache-dir install opencv-contrib-python==4.5.5.62

 

debian@BeagleBone:~$ sudo apt-get install -y libatlas-base-dev libhdf5-dev libhdf5-serial-dev libatlas-base-dev libatlas-base-dev libjpeg62 libwebp6 python3-libtiff libopenjp2-7 libavcodec-extra58 libavformat58 libswscale-dev libgtk-3-0

 

debian@BeagleBone:~$ sudo sudo pip3 install --upgrade numpy 

 

여기까지 특별한 문제 없이(노란색 WARN뜰수 있습니다)설치가 되었다면 python을 실행시켜 봅니다.

잘 설치되었다면 아래와같이 import할때 error없이 import되고 version확인이 가능합니다.

 

 

2. pytorch1.8.1, tflite_runtime 2.8.0(tensorflow lite) 설치하기

 

torch와 tflite_runtime을 설치 합니다.

 

debian@BeagleBone:~$ sudo apt-get install python3-pip libjpeg-dev libopenblas-dev libopenmpi-dev libomp-dev

 

debian@BeagleBone:~$ sudo -H pip3 install setuptools==58.3.0

 

debian@BeagleBone:~$ sudo -H pip3 install Cython

 

debian@BeagleBone:~$ sudo wget https://github.com/KumaTea/pytorch-arm/releases/download/v1.8.1/torch-1.8.1-cp39-cp39-linux_armv7l.whl

 

debian@BeagleBone:~$ sudo -H pip3 install torch-1.8.1-cp39-cp39-linux_armv7l.whl

 

debian@BeagleBone:~$ sudo wget https://github.com/PINTO0309/TensorflowLite-bin/releases/download/v2.8.0/tflite_runtime-2.8.0-cp39-none-linux_armv7l.whl

 

debian@BeagleBone:~$ sudo -H pip3 install tflite_runtime-2.8.0-cp39-none-linux_armv7l.whl

 

설치가 완료되면 같은 방법으로 import되는것을 확인합니다.

 

 

설치에 사용되었던 .whl파일을 zip으로 묶어서 첨부 합니다.

이제 얼굴인식 시험에 관련된 package가 설치 되었습니다. 다음편에는 USB Hub+마우스+키보드를 연결해서 Test image를 가지고 시험해 보겠습니다.

 

 

 

 

 

첨부파일
opencv_numpy_torch_tflite_cython_whl.zip 다운로드