İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu talimat, Nesne Algılama uygulamasını çalıştırmak için Python 3.5 için OpenCV, Tensorflow ve makine öğrenimi çerçevelerinin nasıl kurulacağını açıklar.
Adım 1: Gereksinimler
Aşağıdaki öğelere ihtiyacınız olacak:
- DragonBoard™ 410c veya 820c;
-
Linaro-alip'in temiz kurulumu:
- DB410c: v431 sürümünde test edilmiştir. Link:
- DB820c: v228 sürümünde test edilmiştir. Link:
- En az 16 GB kapasiteli MicroSD Kart (410c kullanılıyorsa);
Dosyayı indirin (Bu adımın sonunda), sıkıştırmayı açın ve MicroSD karta kopyalayın; Obs: Bir DB820c kullanıyorsanız, dosyayı indirin, sıkıştırmayı açın ve komutların kullanımını kolaylaştırmak için /home/*USER*/ dizinine gidin.
- Bir USB Hub'ı;
- Bir USB kamera (Linux uyumlu);
- Bir USB fare ve klavye;
- İnternet bağlantısı.
Gözlemler: Mümkünse DragonBoard tarayıcısında bu talimatları izleyerek komutların kopyalanmasını kolaylaştırın
Adım 2: MicroSD Kartın Takılması (yalnızca W/DB410c)
- Dragonboard'daki terminali açın;
- Terminal çalıştırmasında fdisk:
$ sudo fdisk -l
- MicroSD kartı DragonBoard MicroSD kart yuvasına takın;
- Listedeki yeni aygıtın adını (ve bölümünü) arayarak fdisk'i yeniden çalıştırın (örn. mmcblk1p1)
$ sudo fdisk -l
Kök dizine gidin:
$ cd ~
Bir klasör oluşturun:
$ mkdir sdklasörü
MicroSD kartı takın:
$ mount /dev/ sdklasörü
3. Adım: Gerekli Çerçeveleri Yükleme
- Dragonboard'daki terminali açın;
- Terminalde, seçilen bir dizine gidin (820c için "~" ve 410c için takılı SDCard kullanarak):
(820c) $ cd ~
(410c) $ cd ~/sdklasör
Object Detector komut dosyaları klasörüne gidin:
$ cd object_detector_tensorflow_opencv/scripts/
Ortam kurulum komut dosyasını çalıştırın:
$ sudo bash set_Env.sh
Sistemi güncelleyin:
$ sudo uygun güncelleme
Bu paketleri kurun:
$ sudo apt install -y protobuf-derleyici gcc-aarch64-linux-gnu
g++-aarch64-linux-gnu debootstrap schroot git curl pkg-config zip unzip python python-pip g++ zlib1g-dev varsayılan-jre libhdf5-dev libatlas-base-dev gfortran v4l-utils hdf5* libhdf5de* builde-lipsng libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libavcodec-dev libvlv-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl
Bu dizine gidin:
$ cd /usr/src
Python 3.5'i indirin:
$ sudo wgetPaketi çıkarın:
$ sudo tar xzf Python-3.5.6.tgz
Sıkıştırılmış paketi silin:
$ sudo rm Python-3.5.6.tgz
Python 3.5 dizinine gidin:
$ cd Python-3.5.6
Python 3.5 derlemesi için optimizasyonları etkinleştirin:
$ sudo./configure --enable-optimizations
Python 3.5'i derleyin:
$ sudo altinstall yap
Pip ve kurulum araçlarını yükseltin:
$ sudo python3.5 -m pip kurulumu --upgrade pip && python3.5 -m pip kurulumu --upgrade kurulum araçları
numpy'yi yükleyin:
$ python3.5 -m pip kurulumu numpy
Seçilen dizine gidin:
(820c) $ cd ~
(410c) $ cd ~/sdklasör
Tensorflow 1.11 whl'yi indirin:
$ wgetTensorflow'u yükleyin:
$ sudo python3.5 -m pip kurulumu tensorflow-1.11.0-cp35-none-linux_aarch64.whl
OpenCV ve OpenCV Contrib depolarını klonlayın:
$ sudo git klonu -b 3.4 https://github.com/opencv/opencv.git && sudo git klonu -b 3.4Dizine git:
$ cd opencv
Derleme dizini oluşturun ve ona gidin:
$ sudo mkdir derlemesi && cd derlemesi
CMake'i çalıştırın:
$ sudo cmake -D CMAKE_BUILD_TYPE=SERBEST -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_java=KAPALI -D BUILD_opencv_python=KAPALI -D BUILD_opencv_python3=AÇIK -D PYTHPAS_3_ONCUT_ON-D PYTH_3_DEĞİŞTİRİLE AÇIĞI -D PYTHPA$3_ONCUT_DEĞIYI: hangi python3.5) -D PYTHON_INCLUDE_DIR=/usr/local/include/python3.5m/ -D INSTALL_C_EXAMPLES=KAPALI -D INSTALL_PYTHON3_EXAMPLES=KAPALI -D BUILD_EXAMPLES=KAPALI -D WITH_CUDA=KAPALI -D BUILD_TB_TESTS=KAPALI -DBUILD_TBB=AÇIK -D OPENCV_ENABLE_NONFREE=AÇIK -DBUILD_opencv_xfeatures2d=KAPALI -D OPENGL=AÇIK -D OPENMP=AÇIK -D ETKİNLEŞTİR_NEON=AÇIK -D BUILD_PERF_TESTS= KAPALI -D BUILD_DUOPENCV_DNNNV_AÇIK. modüller..
OpenCV'yi 4 çekirdekle derleyin:
$ sudo yapmak -j 4
OpenCV'yi yükleyin:
$ sudo kurulum yap
Seçilen dizine gidin:
(820c) $ cd ~
(410c) $ cd ~/sdklasörü
Komut dosyaları dizinine gidin:
$ cd object_detector_tensorflow_opencv/scripts/
Python3.5 gereksinimlerini yükleyin:
$ sudo python3.5 -m pip kurulumu -r gereksinimleri.txt --no-cache-dir
Test ithalatları:
$ piton3.5
> cv2'yi içe aktar >> tensorflow'u içe aktar
Gözlem: cv2 içe aktarma hatası verirse, OpenCV derleme klasöründe make install komutunu çalıştırın ve tekrar deneyin
Seçilen dizine gidin:
(820c) $ cd ~
(410c) $ cd ~/sdklasörü
Cocoopi deposunu indirin:
$ git klonuTensorflow modelleri deposunu indirin:
$ git klonuBu dizine gidin:
Bu dizine gidin:
$ cd kakaopi/PythonAPI
Makefile dosyasını düzenleyin, 3. ve 8. satırda python'u python3.5 olarak değiştirin ve ardından dosyayı kaydedin (örnek olarak nano kullanarak):
$ nano Makefile
Cocoopi'yi derleyin:
$ sudo yapmak
Gözlem: 'make' komutu derlenmezse, cython'u aşağıdakilerle yeniden yüklemeyi deneyin:
$ sudo python3.5 -m pip kurulum cython
pycocotools'u tensorflow /models/research dizinine kopyalayın:
(820c) $ cp -r pycocotools ~/models/research/
(410c) $ cp -r pycocotools ~/sdfolder/models/research/
Seçilen dizine gidin:
(820c) $ cd ~
(410c) $ cd ~/sdklasör
Modeller/araştırma dizinine gidin:
$ cd modelleri/araştırma
Protokol ile derleyin:
$ protokol object_detection/protos/*.proto --python_out=.
Ortam değişkenini dışa aktar:
$ dışa aktar PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
Çevreyi test edin:
$ python3.5 object_detection/builders/model_builder_test.py
Obs: Tamam döndürmelidir, aksi takdirde uygulama çalışmaz. Değilse, gerekli çerçeveleri yükleme sürecinde herhangi bir hata olup olmadığını dikkatlice araştırın
4. Adım: Nesne Algılama API'sini Çalıştırma
Tüm çerçeveler yapılandırıldığında, Tensorflow ile birlikte OpenCV kullanan nesne algılama API'sini çalıştırmak artık mümkün.
Seçilen dizine gidin:
(820c) $ cd ~
(410c) $ cd ~/sdklasörü
Nesne algılama dizinine gidin:
$ cd object_detector_tensorflow_opencv/
Şimdi uygulamayı çalıştırın:
$ python3.5 app.py
Şimdi Dragonboard, videoyu ağ üzerinden aktaracak. Çıktı videosunu görmek için DB'deki tarayıcıyı açın ve "0.0.0.0:5000" seçeneğine gidin.