İçindekiler:

OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama: 4 Adım
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama: 4 Adım

Video: OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama: 4 Adım

Video: OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama: 4 Adım
Video: Tensorflow ve OpenCV kullanarak Gerçek Zamanlı Nesne tespiti 2024, Temmuz
Anonim
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama
OpenCV ve Tensorflow Kullanarak Dragonboard 410c veya 820c ile Nesne Algılama

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 wget

Paketi çı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:

$ wget

Tensorflow'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.4

Dizine 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 klonu

Tensorflow modelleri deposunu indirin:

$ git klonu

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

Nesne Algılama API'sini Çalıştırma
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.

Önerilen: