Membangun kit peralatan OpenVINO™ Sumber Terbuka untuk OS Raspbian* dan Intel® Neural Compute Stick 2

Dokumentasi

Instal & Pengaturan

000057005

14/04/2022

Catatan
  • Semua langkah diperlukan dalam instalasi.
  • Langkah-langkah ini telah diuji dengan board Raspberry Pi 4* dan Raspbian* Buster, 32-bit.
  • Diperlukan koneksi Internet untuk mengikuti langkah-langkah dalam panduan ini.
  • Artikel ini diverifikasi menggunakan rilis 2021.3 dari distribusi sumber terbuka dari kit peralatan OpenVINO™.

Kit peralatan OpenVINO™ dengan cepat menerapkan aplikasi dan solusi yang meniru visi manusia. Kit peralatan memperluas beban kerja visi komputer (CV) di seluruh perangkat keras Intel® berdasarkan Convolutional Neural Networks (CNN), yang memaksimalkan performa. Langkah-langkah ini secara umum mengikuti artikel ini tentang kit peralatan Intel® Neural Compute Stick 2 dan Sumber Terbuka OpenVINO™, tetapi mencakup perubahan khusus untuk menjalankan segalanya di papan Anda.

Panduan ini memberi Anda langkah-langkah untuk membangun distribusi sumber terbuka kit peralatan OpenVINO™ untuk OS Raspbian* dan digunakan dengan Intel® Neural Compute Stick 2 (Intel® NCS2).

CatatanNeural Compute Stick Intel® Movidius™ asli juga kompatibel dengan kit peralatan OpenVINO™, dan perangkat tersebut dapat digunakan alih-alih Intel® Neural Compute Stick 2 sepanjang artikel ini.

Klik atau topik untuk detailnya:

Persyaratan sistem
CatatanPanduan ini mengasumsikan bahwa Anda menjalankan board Raspberry Pi* Anda dengan sistem operasi yang tercantum di bawah ini.

Hardware

  • Raspberry Pi* 4 (Raspberry Pi* 3 Model B+ harus berfungsi.)
  • Setidaknya Kartu microSD 8 GB
  • Intel® Neural Compute Stick 2
  • Koneksi Internet Ethernet atau jaringan nirkabel yang kompatibel
  • Adaptor Daya DC Khusus

Sistem operasi target

  • Raspbian* Stretch, 32-bit

  • Raspbian* Buster, 32-bit
Mengatur lingkungan rakit Anda
CatatanPanduan ini berisi perintah yang perlu dijalankan sebagai akses root atau sudo untuk menginstal dengan benar.

Pastikan perangkat lunak perangkat Anda terbarui:

sudo apt update && sudo apt upgrade -y

Beberapa ketergantungan toolkit tidak memiliki biner ARMv7 yang telah dibangun sebelumnya dan perlu dibangun dari sumber. Hal ini dapat meningkatkan waktu build secara signifikan dibandingkan platform lain. Bersiap untuk membangun kit peralatan memerlukan langkah-langkah berikut:

Menginstal alat build

sudo apt install build-essential

Menginstal CMake* dari sumber

Ambil CMake dari halaman rilis Kitware* GitHub*, ekstrak, dan masukkan folder yang diekstrak:

cd ~/

wget https://github.com/Kitware/CMake/releases/download/v3.14.4/cmake-3.14.4.tar.gz

tar xvzf cmake-3.14.4.tar.gz

cd ~/cmake-3.14.4

Jalankan skrip bootstrap untuk menginstal dependensi tambahan memulai build:

./bootstrap

make -j4

sudo make install

CatatanJumlah pekerjaan yang digunakan perintah make dapat disesuaikan dengan flag -j . Disarankan untuk menetapkan jumlah pekerjaan pada jumlah inti pada platform Anda.

Anda dapat memeriksa jumlah inti pada sistem Anda dengan menggunakan perintah:

grep -c ^processor /proc/cpuinfo

Ketahuilah bahwa pengaturan nomor terlalu tinggi dapat menyebabkan overruns memori, sehingga gagal membangun. Jika waktu memungkinkan, disarankan untuk menjalankan 1 hingga 2 pekerjaan.

Menginstal OpenCV dari sumber

Kit peralatan Intel® OpenVINO™ menggunakan kecanggihan OpenCV* untuk mempercepat inferensi berbasis visi. Sementara proses CMake untuk Intel® OpenVINO™ toolkit mengunduh OpenCV* jika tidak ada versi yang diinstal untuk platform yang didukung, tidak ada versi tertentu yang ada untuk platform ARMv7. Dengan demikian, Anda harus membangun OpenCV dari sumber.

OpenCV memerlukan beberapa dependensi tambahan. Instal hal berikut dari manajer paket Anda:

sudo apt install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libatlas-base-dev python3-scipy 

CatatanDisarankan untuk menentukan cabang atau tag terbaru dan stabil ketika reposisi klona dari halaman OpenCV* GitHub alih-alih secara langsung mengkloning cabang master secara bawaan.

Kloning repository dari halaman OpenCV* GitHub, persiapkan lingkungan build, dan bangun:

cd ~/

git clone --depth 1 --branch 4.5.2-openvino https://github.com/opencv/opencv.git

cd opencv && mkdir build && cd build

cmake –DCMAKE_BUILD_TYPE=Release –DCMAKE_INSTALL_PREFIX=/usr/local ..

make -j4

sudo make install

Mengunduh kode sumber dan menginstal dependensi
CatatanDisarankan untuk menentukan cabang atau tag terbaru dan stabil ketika repositori klona dari halaman Openvinotoolkit GitHub alih-alih secara langsung mengkloning cabang master secara bawaan.

Versi sumber terbuka dari kit peralatan Intel® OpenVINO™ tersedia melalui GitHub. Folder repository berjudul openvino.

cd ~/

git clone --depth 1 --branch 2021.3 https://github.com/openvinotoolkit/openvino.git

Repositori ini juga memiliki submodule yang harus didapatkan:

cd ~/openvino

git submodule update --init --recursive

Kit peralatan Intel® OpenVINO™ memiliki sejumlah dependensi build. Skrip install_build_dependencies.sh mengambilnya untuk Anda. Jika ada masalah yang muncul saat mencoba menjalankan skrip, Anda harus menginstal setiap ketergantungan satu per satu.

Jalankan skrip untuk menginstal dependensi untuk kit peralatan Intel® OpenVINO™:

sh ./install_build_dependencies.sh

Jika skrip berhasil diselesaikan, Anda siap untuk membangun kit peralatan. Jika terjadi kegagalan pada saat ini, pastikan Anda menginstal ketergantungan yang tercantum dan coba lagi.

Bangunan

Langkah pertama untuk memulai build adalah memberi tahu sistem di mana instalasi OpenCV berada. Gunakan perintah berikut:

export OpenCV_DIR=/usr/local/lib/cmake/opencv4

Untuk membangun pembungkus Python API, instal semua paket tambahan yang tercantum dalam file /inference-engine/ie_bridges/python/requirements.txt :

cd ~/openvino/inference-engine/ie_bridges/python/

pip3 install -r requirements.txt

Catatan

Gunakan -DENABLE_PYTHON=ON option. To specify an exact Python version, use the following options:

-DPYTHON_EXECUTABLE=`which python3.7` \

-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \

-DPYTHON_INCLUDE_DIR=/usr/include/python3.7

Gunakan -DNGRAPH_ONNX_IMPORT_ENABLE=ON option to enable the building of the nGraph ONNX importer.

Gunakan -DNGRAPH_PYTHON_BUILD_ENABLE=ON option to enable the nGraph binding.

Gunakan -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_dist to specify the directory for the CMake building to build in:

for example, -DCMAKE_INSTALL_PREFIX=/home/pi/openvino_dist

Kit peralatan menggunakan sistem bangunan CMake untuk memandu dan menyederhanakan proses pembangunan. Untuk membangun mesin inferensi dan plugin MYRIAD untuk Intel® Neural Compute Stick 2, gunakan perintah berikut:

CatatanLepas semua garis miring terbalik (\) saat menjalankan perintah di bawah ini. Garis belakang digunakan untuk menginformasikan bahwa perintah ini tidak dipisahkan.

cd ~/openvino

mkdir build && cd build

cmake -DCMAKE_BUILD_TYPE=Release \

-DCMAKE_INSTALL_PREFIX=/home/pi/openvino_dist \

-DENABLE_MKL_DNN=OFF \

-DENABLE_CLDNN=OFF \

-DENABLE_GNA=OFF \

-DENABLE_SSE42=OFF \

-DTHREADING=SEQ \

-DENABLE_OPENCV=OFF \

-DNGRAPH_PYTHON_BUILD_ENABLE=ON \

-DNGRAPH_ONNX_IMPORT_ENABLE=ON \

-DENABLE_PYTHON=ON \

-DPYTHON_EXECUTABLE=$(which python3.7) \

-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \

-DPYTHON_INCLUDE_DIR=/usr/include/python3.7 \

-DCMAKE_CXX_FLAGS=-latomic ..

make -j4

sudo make install

Jika perintah make gagal karena masalah pada pustaka OpenCV, pastikan Anda telah memberi tahu sistem tempat instalasi OpenCV Anda. Jika build selesai pada saat ini, kit peralatan Intel® OpenVINO™ siap dijalankan. Perlu dicatat bahwa build ditempatkan di folder ~/openvino/inference-engine/bin/armv7l/Release .

Memverifikasi instalasi

Setelah berhasil menyelesaikan build mesin inferensi, Anda harus memverifikasi bahwa semuanya diatur dengan benar. Untuk memverifikasi bahwa kit peralatan dan Intel® Neural Compute Stick 2 berfungsi pada perangkat Anda, selesaikan langkah-langkah berikut:

  1. Jalankan object_detection_sample_ssd program sampel untuk mengonfirmasi bahwa semua pustaka dimuat dengan benar.
  2. Unduh model yang terlatih.
  3. Pilih input untuk jaringan syaraf.
  4. Konfigurasi Intel® Neural Compute Stick 2 driver USB Linux*.
  5. Jalankan object_detection_sample_ssd dengan model dan input tertentu.

Aplikasi sampel

Kit peralatan Intel® OpenVINO™ mencakup beberapa aplikasi sampel yang menggunakan Inference Engine dan Intel® Neural Compute Stick 2. Salah satu program adalah object_detection_sample_ssd, yang dapat ditemukan di:

~/openvino/bin/armv7l/Release

Jalankan perintah berikut untuk menguji object_detection_sample_ssd:

cd ~/openvino/bin/armv7l/Release

./object_detection_sample_ssd -h

Ini harus mencetak dialog bantuan, yang menjelaskan opsi yang tersedia untuk program.

Mengunduh model

Program ini memerlukan model untuk menyampaikan masukan. Anda dapat memperoleh model kit peralatan Intel® OpenVINO™ dalam format IR dengan:

  • Menggunakan Pengoptimal Model untuk mengonversi model yang ada dari salah satu kerangka kerja yang didukung menjadi format IR untuk Inference Engine
  • Menggunakan alat Pengunduh Model untuk mengunduh dari Open Model Zoo
  • Unduh file IR langsung dari download.01.org

Untuk tujuan kami, mengunduh secara langsung adalah hal yang paling mudah. Gunakan perintah berikut untuk mengambil model person-vehicle-bike detection :

cd ~/Downloads

wget https://download.01.org/opencv/2021/openvinotoolkit/2021.2/open_model_zoo/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin

wget https://download.01.org/opencv/2021/openvinotoolkit/2021.2/open_model_zoo/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml

CatatanIntel® Neural Compute Stick 2 memerlukan model yang dioptimalkan untuk format titik ambang 16 bit yang dikenal sebagai FP16. Model Anda, jika berbeda dari contoh, mungkin memerlukan konversi menggunakan Pengoptimal Model ke FP16.

Input untuk jaringan syaraf

Item terakhir yang diperlukan adalah input untuk jaringan syaraf. Untuk model yang telah kami unduh, Anda memerlukan gambar dengan 3 saluran warna. Unduh file yang diperlukan ke board Anda:

cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O walk.jpg

Mengonfigurasi Driver USB Linux Intel® Neural Compute Stick 2

Beberapa aturan udev perlu ditambahkan untuk memungkinkan sistem mengenali Intel® NCS2 perangkat USB.

CatatanJika pengguna saat ini bukan anggota grup pengguna, jalankan perintah berikut dan reboot perangkat Anda.

sudo usermod -a -G users "$(whoami)"

lingkungan Set up the OpenVINO™:

source /home/pi/openvino_dist/bin/setupvars.sh

To perform inferensi pada Intel® Neural Compute Stick 2, instal aturan USB dengan menjalankan install_NCS_udev_rules.shScript:

sh /home/pi/openvino_dist/install_dependencies/install_NCS_udev_rules.sh

The USB driver should be installed correctly now. If the Intel® Neural Compute Stick 2 is not detected when running demos, restart your device and try again.

Menjalankan object_detection_sample_ssd

Ketika model diunduh, gambar input tersedia, dan Intel® Neural Compute Stick 2 dicolokkan ke port USB, gunakan perintah berikut untuk menjalankan object_detection_sample_ssd:

cd ~/openvino/bin/armv7l/Release

./object_detection_sample_ssd -i ~/Downloads/walk.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD

Ini akan menjalankan aplikasi dengan opsi yang dipilih. Flag -d memberi tahu program perangkat mana yang digunakan untuk inferensi. -MYRIAD mengaktifkan plugin MYRIAD , menggunakan Intel® Neural Compute Stick 2. Setelah perintah berhasil dijalankan, terminal akan menampilkan statistik untuk inferensi dan menghasilkan keluaran gambar.

[ INFO ] Image out_0.bmp created!
[ INFO ] Execution successful
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool


Gunakan program tampilan gambar bawaan Raspbian* untuk membuka keluaran gambar yang dihasilkan:

gpicview out_0.bmp

Jika aplikasi berhasil dijalankan pada Intel® NCS2 Anda, OpenVINO™ kit peralatan dan Intel® Neural Compute Stick 2 diatur dengan benar untuk digunakan pada perangkat Anda.

Memverifikasi modul nGraph yang mengikat ke Python

Jalankan demo object_detection_sample_ssd Python:

source /home/pi/openvino_dist/bin/setupvars.sh

cd /home/pi/openvino_dist/deployment_tools/inference_engine/samples/python/object_detection_sample_ssd

python3 object_detection_sample_ssd.py -i ~/Downloads/walk.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD

Jika aplikasi berhasil dijalankan pada Intel® NCS2 Anda, modul nGraph mengikat dengan benar ke Python.

Variabel lingkungan

Anda harus memperbarui beberapa variabel lingkungan sebelum Anda dapat mengkompile dan menjalankan aplikasi kit peralatan OpenVINO. Jalankan skrip berikut untuk mengatur variabel lingkungan sementara:

source /home/pi/openvino_dist/bin/setupvars.sh

**(Opsional)** Variabel lingkungan OpenVINO dihapus ketika Anda menutup shell. Sebagai opsi, Anda dapat menetapkan variabel lingkungan secara permanen sebagai berikut:

echo "source /home/pi/openvino_dist/bin/setupvars.sh" >> ~/.bashrc

Untuk menguji perubahan Anda, buka terminal baru. Anda akan melihat hal berikut:

[setupvars.sh] lingkungan OpenVINO diinisialisasi

Ini menyelesaikan prosedur pembuatan untuk distribusi sumber terbuka kit peralatan OpenVINO™ untuk OS Raspbian* dan penggunaan dengan Intel® Neural Compute Stick 2.

Topik terkait
Membangun Demo Open Model Zoo pada Raspberry Pi*
Alur kerja untuk Raspberry Pi*
ncappzoo kini mendukung Intel® NCS 2 dan kit peralatan OpenVINO™
OpenVINO™ toolkit Open Model Zoo
Mengoptimalkan Jaringan untuk Perangkat Intel® Neural Compute Stick (Intel® NCS 2)
Forum Komunitas dan Dukungan Teknis