โน้ต |
|
ชุดเครื่องมือ OpenVINO™ปรับใช้แอปพลิเคชันและโซลูชันที่จําลองวิสัยทัศน์ของมนุษย์ได้อย่างรวดเร็ว ชุดเครื่องมือจะขยายเวิร์กโหลดคอมพิวเตอร์วิทัศน์ (CV) ทั่วทั้งฮาร์ดแวร์ Intel® โดยใช้ Convolutional Neural Networks (CNN) ซึ่งเพิ่มประสิทธิภาพสูงสุด โดยทั่วไปแล้ว ทําตามขั้นตอนเหล่านี้ทําตามบทความนี้เกี่ยวกับ Intel® Neural Compute Stick 2 และชุดเครื่องมือ OpenVINO™โอเพนซอร์ส แต่มีการเปลี่ยนแปลงเฉพาะเพื่อให้ทุกอย่างทํางานบนบอร์ดของคุณ
คู่มือนี้อธิบายขั้นตอนการสร้างการกระจายโอเพ่นซอร์สของชุดเครื่องมือ OpenVINO™ สําหรับระบบปฏิบัติการ Raspbian* และเพื่อใช้กับ Intel® Neural Compute Stick 2 (Intel® NCS2)
คลิกบนหัวข้อเพื่อดูรายละเอียด:
โน้ต | คู่มือนี้จะสมมติฐานว่าคุณมีบอร์ด Raspberry Pi* ของคุณและทํางานกับระบบปฏิบัติการที่ระบุไว้ด้านล่าง |
ฮาร์ดแวร์
ระบบปฏิบัติการเป้าหมาย
Debian* Bullseye, 64 บิต
โน้ต | คู่มือนี้มีคําสั่งที่จําเป็นต้องดําเนินการเป็น root หรือ sudo access เพื่อติดตั้งอย่างถูกต้อง |
ตรวจสอบให้แน่ใจว่าซอฟต์แวร์อุปกรณ์ของคุณเป็นเวอร์ชันล่าสุด:
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential libclang-11-dev clang-11 clang-format-9 libssl-dev cmake
ชุดเครื่องมือ Intel® OpenVINO™ ใช้พลังของ OpenCV* ในการเร่งความเร็วการอนุมานตามการมองเห็น ในขณะที่กระบวนการ CMake สําหรับชุดเครื่องมือ Intel® OpenVINO™ จะดาวน์โหลด OpenCV* หากไม่มีการติดตั้งเวอร์ชันสําหรับแพลตฟอร์มที่รองรับ คุณต้องสร้าง OpenCV จากแหล่งที่มา
pip ติดตั้ง opencv-python
sudo apt-get install python3-opencv
โน้ต | เราแนะนําให้ระบุสาขาหรือแท็กที่เสถียรล่าสุดและเสถียรเมื่อทําการลอกแบบจากหน้า openvinotoolkit GitHub แทนที่จะโคลนสาขาหลักโดยตรงตามค่าเริ่มต้น |
เวอร์ชันโอเพนซอร์สของชุดเครื่องมือ Intel® OpenVINO™ มีให้บริการผ่าน GitHub โฟลเดอร์ที่เก็บมีชื่อว่า openvino
cd ~/
git clone --recurse-submodules --single-branch --branch=2022.1.0 https://github.com/openvinotoolkit/openvino.git
ชุดเครื่องมือ Intel® OpenVINO™ มีการอ้างอิง build หลายรายการ สคริปต์ install_build_dependencies.sh ดึงมาให้คุณ หากปัญหาเกิดขึ้นขณะพยายามเรียกใช้สคริปต์ คุณต้องติดตั้งการขึ้นต่อกันแต่ละรายการ
เรียกใช้สคริปต์เพื่อติดตั้งการขึ้นต่อกันสําหรับชุดเครื่องมือ Intel® OpenVINO™:
cd openvino
sed -i 's/raspbian/debian/g' install_build_dependencies.sh
sudo ./install_build_dependencies.sh
หากเขียนสคริปต์สําเร็จ แล้ว คุณก็พร้อมที่จะสร้างชุดเครื่องมือ หากมีบางสิ่งล้มเหลวในจุดนี้ ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งการอ้างอิงที่แสดงไว้และลองอีกครั้ง
ในการสร้าง Python API wrapper ให้ติดตั้งแพ็คเกจเพิ่มเติมที่ระบุไว้ด้านล่าง:
python3 -m pip install --upgrade pip
python3 -m pip install clang==11.0 pyaml
python3 -m pip install -r ~/openvino/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
python3 -m pip install -r ~/openvino/src/bindings/python/wheel/requirements-dev.txt
โน้ต | ใช้ตัวเลือก -DENABLE_PYTHON=ON เมื่อต้องการระบุเวอร์ชัน Python จริง ให้ใช้ตัวเลือกต่อไปนี้: -DPYTHON_EXECUTABLE=`which python3.9` \ ใช้ -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_dist เพื่อระบุไดเรกทอรีสําหรับการสร้าง CMake เพื่อสร้างใน: ตัวอย่างเช่น -DCMAKE_INSTALL_PREFIX=~/openvino_dist |
ชุดเครื่องมือใช้ระบบการสร้าง CMake เพื่อเป็นแนวทางและทําให้กระบวนการสร้างง่ายขึ้น ในการสร้างทั้งเอนจินการอนุมานและปลั๊กอิน MYRIAD สําหรับ Intel® Neural Compute Stick 2 ให้ใช้คําสั่งต่อไปนี้:
โน้ต | ให้เอาเครื่องหมายแบ็กสแลช (\) ออกทั้งหมดเมื่อเรียกใช้คําสั่งด้านล่าง ใช้แบ็กสแลชเพื่อระบุว่าคําสั่งเหล่านี้ไม่ได้แยกจากกัน |
cd ~/openvino
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=~/openvino_dist \
-DENABLE_INTEL_MYRIAD=ON \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_CLDNN=OFF \
-DENABLE_AUTO=OFF \
-DENABLE_MULTI=OFF \
-DENABLE_HETERO=OFF \
-DENABLE_TEMPLATE=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_SSE42=OFF \
-DTHREADING=SEQ \
-DENABLE_OPENCV=OFF \
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=$(which python3.9) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.9.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.9 ..
make -j4
sudo make install
หากคําสั่งทําให้ล้มเหลวเนื่องจากปัญหาเกี่ยวกับไลบรารี OpenCV ตรวจสอบให้แน่ใจว่าคุณได้บอกระบบว่าการติดตั้ง OpenCV ของคุณอยู่ที่ใด หากบิลต์เสร็จสมบูรณ์ในจุดนี้ ชุดเครื่องมือ Intel® OpenVINO™ ก็พร้อมทํางานแล้ว ควรสังเกตว่าการสร้างถูกวางไว้ในโฟลเดอร์ ~/openvino/bin/aarch64/Release
หลังจากเสร็จสิ้นการสร้างเอนจินการอนุมานสําเร็จคุณควรตรวจสอบว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง เมื่อต้องการตรวจสอบว่าชุดเครื่องมือและ Intel® Neural Compute Stick 2 ทํางานบนอุปกรณ์ของคุณ ให้ทําตามขั้นตอนต่อไปนี้:
ชุดเครื่องมือ Intel® OpenVINO™ ประกอบด้วยแอพพลิเคชั่นตัวอย่างบางส่วนที่ใช้เอ็นจิ้นการอนุมานและ Intel® Neural Compute Stick 2 หนึ่งในโปรแกรมคือ benchmark_app ซึ่งสามารถพบได้ใน:
~/openvino/bin/aarch64/Release
เรียกใช้คําสั่งต่อไปนี้เพื่อทดสอบ benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -h
โดยควรพิมพ์กล่องโต้ตอบวิธีใช้ ซึ่งอธิบายถึงตัวเลือกที่มีอยู่สําหรับโปรแกรม
โปรแกรมต้องการโมเดลเพื่อส่งผ่านอินพุต คุณสามารถรับโมเดลสําหรับชุดเครื่องมือ Intel® OpenVINO™ ในรูปแบบ IR ตาม:
สําหรับจุดประสงค์ของเรา การดาวน์โหลดโดยตรงนั้นง่ายที่สุด ใช้คําสั่งต่อไปนี้เพื่อจับแบบจําลองการตรวจจับจักรยานคน-ยานพาหนะ:
cd ~/Downloads
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin
wget https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml
โน้ต | Intel® Neural Compute Stick 2 ต้องใช้โมเดลที่ปรับให้เหมาะสมสําหรับรูปแบบจุดลอยตัว 16 บิต ที่เรียกว่า FP16 รุ่นของคุณหากแตกต่างจากตัวอย่าง อาจจําเป็นต้องแปลงโดยใช้ Model Optimizer เป็น FP16 |
รายการสุดท้ายที่ต้องการคืออินพุตสําหรับโครงข่ายประสาทเทียม สําหรับรุ่นที่เราดาวน์โหลด คุณต้องมีภาพที่มี 3 ช่องสี ดาวน์โหลดไฟล์ที่จําเป็นลงในบอร์ดของคุณ:
cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O person.jpg
ต้องเพิ่มกฎ udev บางข้อเพื่อให้ระบบจดจํา Intel® NCS2 อุปกรณ์ USB
โน้ต | หากผู้ใช้ปัจจุบันไม่ได้เป็นสมาชิกของกลุ่มผู้ใช้ ให้เรียกใช้คําสั่งต่อไปนี้ และเริ่มต้นอุปกรณ์ของคุณใหม่ |
sudo usermod -a -G users "$(whoami)"
ตั้งค่าสภาพแวดล้อม OpenVINO™
source ~/openvino_dist/setupvars.sh
ในการดําเนินการอนุมานบน Intel® Neural Compute Stick 2 ให้ติดตั้งกฎ USB โดยการเรียกใช้สคริปต์ install_NCS_udev_rules.sh :
sh ~/openvino_dist/install_dependencies/install_NCS_udev_rules.sh
ไดรเวอร์ USB ควรติดตั้งอย่างถูกต้องในตอนนี้ หากตรวจไม่พบ Intel® Neural Compute Stick 2 เมื่อเรียกใช้ตัวอย่าง ให้รีสตาร์ตอุปกรณ์ของคุณและลองอีกครั้ง
เมื่อดาวน์โหลดรุ่น ภาพอินพุตจะพร้อมใช้งาน และ Intel® Neural Compute Stick 2 จะเสียบเข้ากับพอร์ต USB ให้ใช้คําสั่งต่อไปนี้เพื่อเรียกใช้ benchmark_app:
cd ~/openvino/bin/aarch64/Release
./benchmark_app -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
การดําเนินการนี้จะเรียกใช้แอปพลิเคชันด้วยตัวเลือกที่เลือก แฟลก -d บอกโปรแกรมว่าอุปกรณ์ใดจะใช้สําหรับการอนุมาน -MYRIAD เปิดใช้งานปลั๊กอิน MYRIAD โดยใช้ Intel® Neural Compute Stick 2 หลังจากดําเนินการคําสั่งสําเร็จ เทอร์มินัลจะแสดงสถิติสําหรับการอนุมานและสร้างเอาต์พุตภาพ
INFO ] First inference took 267.43 ms
[Step 11/11] Dumping statistics report
Count: 12 iterations
Duration: 1620.69 ms
Latency:
Median: 532.82 ms
AVG: 494.30 ms
MIN: 278.83 ms
MAX: 557.00 ms
Throughput: 7.40 FPS
หากแอปพลิเคชันรันบน Intel® NCS2 ของคุณสําเร็จ ชุดเครื่องมือ OpenVINO™ และ Intel® Neural Compute Stick 2 ได้รับการตั้งค่าไว้อย่างถูกต้องสําหรับการใช้งานบนอุปกรณ์ของคุณ
source ~/openvino_dist/setupvars.sh
cd ~/openvino/tools/benchmark_tool
python3 benchmark_app.py -i ~/Downloads/person.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD
หากแอปพลิเคชันรันบน Intel® NCS2 ของคุณสําเร็จ โมดูล nGraph จะผูกเข้ากับ Python อย่างถูกต้อง
คุณต้องอัปเดตตัวแปรสภาพแวดล้อมหลายตัวก่อนที่จะสามารถคอมไพล์และรันแอปพลิเคชันชุดเครื่องมือ OpenVINO ได้ เรียกใช้สคริปต์ต่อไปนี้เพื่อตั้งค่าตัวแปรสภาพแวดล้อมชั่วคราว:
source ~/openvino_dist/setupvars.sh
**(ไม่บังคับ)** ตัวแปรสภาพแวดล้อม OpenVINO จะถูกเอาออกเมื่อคุณปิดเชลล์ คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรได้ดังนี้:
echo "source ~/openvino_dist/setupvars.sh" >> ~/.bashrc
ในการทดสอบการเปลี่ยนแปลงของคุณ ให้เปิดเทอร์มินัลใหม่ คุณจะเห็นข้อความต่อไปนี้:
[setupvars.sh] OpenVINO environment initialized
เสร็จสิ้นขั้นตอนการสร้างสําหรับการแจกจ่ายโอเพนซอร์สของชุดเครื่องมือ OpenVINO™ สําหรับระบบปฏิบัติการ Raspbian* และการใช้งานด้วย Intel® Neural Compute Stick 2