OpenEB เป็นโครงการโอเพ่นซอร์สที่เกี่ยวข้องกับ Metavision SDK
ช่วยให้ทุกคนมีความเข้าใจที่ดีขึ้นเกี่ยวกับการมองเห็นตามเหตุการณ์ โต้ตอบกับเหตุการณ์ได้โดยตรง และสร้างแอปพลิเคชันหรือปลั๊กอินกล้องของตนเอง ในฐานะผู้ผลิตกล้อง ตรวจสอบให้แน่ใจว่าลูกค้าของคุณได้รับประโยชน์จากชุดซอฟต์แวร์ตามเหตุการณ์ที่ทันสมัยที่สุดที่มีให้โดยการสร้างปลั๊กอินของคุณเอง ในฐานะผู้สร้าง นักวิทยาศาสตร์ นักวิชาการ เข้าร่วมและมีส่วนร่วมในชุมชนวิสัยทัศน์ตามเหตุการณ์ที่เติบโตอย่างรวดเร็ว
OpenEB ประกอบด้วยโมดูล Open ของ Metavision SDK:
HAL: Hardware Abstraction Layer เพื่อใช้งานอุปกรณ์วิชันซิสเต็มตามเหตุการณ์
ฐาน: รากฐานและคำจำกัดความทั่วไปของแอปพลิเคชันตามเหตุการณ์
แกนหลัก: อัลกอริธึมทั่วไปสำหรับการแสดงภาพ การจัดการสตรีมเหตุการณ์
Core ML: ฟังก์ชันทั่วไปสำหรับ Machine Learning, ไปป์ไลน์ event_to_video และ video_to_event
สตรีม: นามธรรมระดับสูงที่สร้างขึ้นบน HAL เพื่อให้โต้ตอบกับกล้องตามเหตุการณ์ได้อย่างง่ายดาย
UI: โปรแกรมดูและตัวควบคุมการแสดงผลสำหรับข้อมูลตามเหตุการณ์
OpenEB ยังมีซอร์สโค้ดของปลั๊กอินกล้อง Prophesee ซึ่งช่วยให้สามารถสตรีมข้อมูลจากกล้องตามเหตุการณ์ของเราและอ่านการบันทึกข้อมูลตามเหตุการณ์ได้ กล้องที่รองรับคือ:
EVK2 - เอชดี
EVK3 - VGA/320/HD
EVK4 - HD
เอกสารนี้อธิบายวิธีการคอมไพล์และติดตั้งโค้ดเบส OpenEB สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารออนไลน์ของเราที่คุณจะพบบทช่วยสอนเพื่อเริ่มต้นใช้งานในภาษา C++ หรือ Python ตัวอย่างบางส่วนเพื่อค้นหาวิธีใช้ API ของเรา และคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับโมดูลและแพ็คเกจของเรา
การรวบรวมและการดำเนินการได้รับการทดสอบบนแพลตฟอร์มที่ตรงตามข้อกำหนดต่อไปนี้:
Linux: Ubuntu 22.04 หรือ 24.04 64 บิต
สถาปัตยกรรม: amd64 (aka x64)
กราฟิกการ์ดที่รองรับ OpenGL 3.0 ขั้นต่ำ
CPU ที่รองรับ AVX2
การคอมไพล์บนแพลตฟอร์มอื่น (ลินุกซ์สำรอง, Ubuntu เวอร์ชันต่างๆ, สถาปัตยกรรมโปรเซสเซอร์ ARM ฯลฯ) ไม่ได้รับการทดสอบ สำหรับแพลตฟอร์มเหล่านั้นอาจจำเป็นต้องมีการปรับเปลี่ยนคู่มือนี้หรือโค้ดบางอย่าง
หากคุณกำลังอัพเกรด OpenEB จากเวอร์ชันก่อนหน้า คุณควรอ่านบันทึกประจำรุ่นอย่างละเอียดก่อน เนื่องจากการเปลี่ยนแปลงบางอย่างอาจส่งผลกระทบต่อการใช้งาน SDK ของเรา (เช่น การอัปเดต API) และกล้อง (เช่น อาจจำเป็นต้องอัปเดตเฟิร์มแวร์)
จากนั้น คุณจะต้องทำความสะอาดระบบของคุณจากซอฟต์แวร์ Prophesee ที่ติดตั้งไว้ก่อนหน้านี้ หากหลังจากการคอมไพล์ครั้งก่อน คุณเลือกที่จะปรับใช้ไฟล์ Metavision ในพาธระบบของคุณ ให้ไปที่โฟลเดอร์ build
ในไดเร็กทอรีซอร์สโค้ด และเรียกใช้คำสั่งต่อไปนี้เพื่อลบไฟล์เหล่านั้น:
sudo ทำการถอนการติดตั้ง
นอกจากนี้ ให้ตรวจสอบทั่วโลกในเส้นทางระบบของคุณ ( /usr/lib
, /usr/local/lib
, /usr/include
, /usr/local/include
) และในตัวแปรสภาพแวดล้อมของคุณ ( PATH
, PYTHONPATH
และ LD_LIBRARY_PATH
) เพื่อลบ การเกิดขึ้นของไฟล์ Prophesee หรือ Metavision
หากต้องการดึงซอร์สโค้ด OpenEB คุณสามารถโคลนพื้นที่เก็บข้อมูล GitHub ได้:
git clone https://github.com/prophesee-ai/openeb.git --branch 5.0.0
ในส่วนต่อไปนี้ เส้นทางที่แน่นอนไปยังไดเร็กทอรีนี้เรียกว่า OPENEB_SRC_DIR
หากคุณเลือกที่จะดาวน์โหลดไฟล์เก็บถาวรของ OpenEB จาก GitHub แทนที่จะทำการโคลนพื้นที่เก็บข้อมูล คุณต้องแน่ใจว่าคุณเลือกไฟล์เก็บถาวร Full.Source.Code.*
แทนที่จะใช้ไฟล์เก็บถาวร Source.Code.*
ที่สร้างขึ้นโดยอัตโนมัติ เนื่องจากส่วนหลังไม่ได้รวมโมดูลย่อยที่จำเป็นไว้
ติดตั้งการอ้างอิงต่อไปนี้:
อัปเดต sudo apt sudo apt -y ติดตั้ง apt-utils ซอฟต์แวร์ที่จำเป็นสำหรับการสร้างคุณสมบัติทั่วไป wget unzip curl git cmake sudo apt -y ติดตั้ง libopencv-dev libboost-all-dev libusb-1.0-0-dev libprotobuf-dev protobuf-คอมไพเลอร์ sudo apt -y ติดตั้ง libhdf5-dev hdf5-tools libglew-dev libglfw3-dev libcanberra-gtk-โมดูล ffmpeg
หรือหากคุณต้องการดำเนินการทดสอบ คุณจะต้องติดตั้งแพ็คเกจ Google Gtest และ Gmock สำหรับรายละเอียดเพิ่มเติม โปรดดูคู่มือผู้ใช้ Google Test:
sudo apt -y ติดตั้ง libgtest-dev libgmock-dev
สำหรับ Python API คุณจะต้องมี Python และไลบรารีเพิ่มเติมบางส่วน เรารองรับ Python 3.9 และ 3.10 บน Ubuntu 22.04 และ Python 3.11 และ 3.12 บน Ubuntu 24.04
เราขอแนะนำให้ใช้ Python กับ virtualenv เพื่อหลีกเลี่ยงความขัดแย้งกับแพ็คเกจ Python อื่น ๆ ที่ติดตั้งไว้ ดังนั้นก่อนอื่นให้ติดตั้งมันพร้อมกับเครื่องมือพัฒนา Python:
sudo apt -y install python3.x-venv python3.x-dev# โดยที่ "x" คือ 9, 10, 11 หรือ 12 ขึ้นอยู่กับเวอร์ชัน Python ของคุณ
ถัดไป สร้างสภาพแวดล้อมเสมือนและติดตั้งการขึ้นต่อกันที่จำเป็น:
python3 -m venv /tmp/prophesee/py3venv --system-site-packages /tmp/prophesee/py3venv/bin/python -m pip ติดตั้ง pip --upgrade /tmp/prophesee/py3venv/bin/python -m pip ติดตั้ง -r OPENEB_SRC_DIR/utils/python/python_requirements/requirements_openeb.txt
โปรดทราบว่าเมื่อสร้างสภาพแวดล้อมเสมือน จำเป็นต้องใช้ตัวเลือก --system-site-packages
เพื่อให้แน่ใจว่าแพคเกจ SDK ที่ติดตั้งในไดเร็กทอรีระบบสามารถเข้าถึงได้ อย่างไรก็ตาม ตัวเลือกนี้ยังทำให้ไซต์แพ็คเกจผู้ใช้ในพื้นที่ของคุณ (โดยทั่วไปจะพบใน ~/.local/lib/pythonX.Y/site-packages
) มองเห็นได้ตามค่าเริ่มต้น เพื่อป้องกันสิ่งนี้และรักษาสภาพแวดล้อมเสมือนที่สะอาดขึ้น คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PYTHONNOUSERSITE
ให้เป็นจริงได้
ทางเลือก คุณสามารถรันคำสั่ง activate
( source /tmp/prophesee/py3venv/bin/activate
) เพื่อแก้ไขตัวแปรสภาพแวดล้อมของเชลล์ โดยตั้งค่าล่าม Python และสคริปต์ของสภาพแวดล้อมเสมือนเป็นค่าเริ่มต้นสำหรับเซสชันปัจจุบันของคุณ ซึ่งจะทำให้คุณสามารถใช้คำสั่งง่ายๆ เช่น python
ได้โดยไม่จำเป็นต้องระบุเส้นทางแบบเต็มในแต่ละครั้ง
การผูก Python ของ C++ API อาศัยไลบรารี pybind11 โดยเฉพาะเวอร์ชัน 2.11.0
โปรดทราบ ว่าจำเป็นต้องใช้ pybind11 เฉพาะในกรณีที่คุณต้องการใช้การเชื่อมโยง Python ของ C++ API คุณสามารถเลือกไม่สร้างการเชื่อมโยงเหล่านี้ได้โดยส่งอาร์กิวเมนต์ -DCOMPILE_PYTHON3_BINDINGS=OFF
ในขั้นตอนที่ 3 ระหว่างการคอมไพล์ (ดูด้านล่าง) ในกรณีนั้น คุณไม่จำเป็นต้องติดตั้ง pybind11 แต่จะไม่สามารถใช้อินเทอร์เฟซ Python ของเรากับ C++ API ได้
น่าเสียดายที่ไม่มี pybind11 เวอร์ชันที่คอมไพล์ไว้ล่วงหน้า ดังนั้นคุณต้องติดตั้งด้วยตนเอง:
wget https://github.com/pybind/pybind11/archive/v2.11.0.zip แตกไฟล์ v2.11.0.zipcd pybind11-2.11.0/ mkdir build && ซีดี build cmake .. -DPYBIND11_TEST=ปิด cmake --build .sudo cmake --build --การติดตั้งเป้าหมาย
หากต้องการใช้ฟีเจอร์ Machine Learning คุณต้องติดตั้งการขึ้นต่อกันเพิ่มเติมบางอย่าง
ขั้นแรก หากคุณมีฮาร์ดแวร์ Nvidia ที่มี GPU คุณสามารถเลือกติดตั้ง CUDA (11.6 หรือ 11.7) และ cuDNN เพื่อใช้ประโยชน์จาก pytorch และ libtorch ได้
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง CUDA เวอร์ชันที่เข้ากันได้กับ GPU ของคุณโดยตรวจสอบหน้าความเข้ากันได้ของ Nvidia
โปรดทราบว่าในขณะนี้เราไม่รองรับ OpenCL และ AMD GPU
สร้างและเปิดไดเร็กทอรี build OPENEB_SRC_DIR
: mkdir build && cd build
สร้าง makefiles โดยใช้ CMake: cmake .. -DBUILD_TESTING=OFF
หากคุณต้องการระบุให้ cmake เวอร์ชันของ Python ที่จะพิจารณา คุณควรใช้ตัวเลือก -DPython3_EXECUTABLE=<path_to_python_to_use>
สิ่งนี้มีประโยชน์ ตัวอย่างเช่น เมื่อคุณมี Python เวอร์ชันล่าสุดมากกว่าเวอร์ชันที่เรารองรับซึ่งติดตั้งอยู่ในระบบของคุณ ในกรณีนั้น cmake จะเลือกมันและการคอมไพล์อาจล้มเหลว
คอมไพล์: cmake --build . --config Release -- -j 4
เมื่อการคอมไพล์เสร็จสิ้น คุณมีสองตัวเลือก: คุณสามารถเลือกที่จะทำงานโดยตรงจากโฟลเดอร์ build
หรือคุณสามารถปรับใช้ไฟล์ OpenEB ในพาธของระบบ ( /usr/local/lib
, /usr/local/include
...) .
ตัวเลือกที่ 1 - ทำงานจากโฟลเดอร์ build
หากต้องการใช้ OpenEB โดยตรงจากโฟลเดอร์ build
คุณจะต้องอัปเดตตัวแปรสภาพแวดล้อมบางตัวโดยใช้สคริปต์นี้ (ซึ่งคุณสามารถเพิ่มใน ~/.bashrc
เพื่อให้เป็นแบบถาวร):
แหล่งที่มา utils/scripts/setup_env.sh
ปลั๊กอินกล้อง Prophesee รวมอยู่ใน OpenEB แต่คุณยังต้องคัดลอกไฟล์กฎ udev ในเส้นทางของระบบและโหลดซ้ำเพื่อให้กล้องของคุณถูกตรวจพบด้วยคำสั่งนี้:
sudo cp <OPENEB_SRC_DIR>/hal_psee_plugins/resources/rules/*.rules /etc/udev/rules.d การควบคุม sudo udevadm --reload-rules ทริกเกอร์ sudo udevadm
ตัวเลือกที่ 2 - การปรับใช้ในเส้นทางของระบบ
หากต้องการปรับใช้ OpenEB ให้เรียกใช้คำสั่งต่อไปนี้:
sudo cmake --build . --การติดตั้งเป้าหมาย
โปรดทราบว่าคุณยังสามารถปรับใช้ไฟล์ OpenEB (แอปพลิเคชัน ตัวอย่าง ไลบรารี ฯลฯ) ในไดเร็กทอรีที่คุณเลือกได้โดยใช้ตัวแปร CMAKE_INSTALL_PREFIX
( -DCMAKE_INSTALL_PREFIX=<OPENEB_INSTALL_DIR>
) เมื่อสร้าง makefiles ในขั้นตอนที่ 2 ในทำนองเดียวกัน คุณสามารถกำหนดค่าได้ ไดเร็กทอรีที่จะปรับใช้แพ็คเกจ Python โดยใช้ตัวแปร PYTHON3_SITE_PACKAGES
( -DPYTHON3_SITE_PACKAGES=<PYTHON3_PACKAGES_INSTALL_DIR>
)
คุณต้องอัปเดต LD_LIBRARY_PATH
และ HDF5_PLUGIN_PATH
ด้วย (ซึ่งคุณอาจเพิ่มใน ~/.bashrc
เพื่อให้เป็นแบบถาวร):
ส่งออก LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libexport HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/local/hdf5/lib/plugin # บน Ubuntu 22.04ส่งออก HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/local/lib/hdf5/plugin # บน Ubuntu 24.04
โปรดทราบว่าหากคุณใช้กล้องของบริษัทอื่น คุณจะต้องติดตั้งปลั๊กอินที่ผู้จำหน่ายกล้องให้มา และระบุตำแหน่งของปลั๊กอินโดยใช้ตัวแปรสภาพแวดล้อม MV_HAL_PLUGIN_PATH
ในการเริ่มต้นใช้งาน OpenEB คุณสามารถดาวน์โหลดตัวอย่างการบันทึกและแสดงภาพด้วย metavision_viewer หรือคุณสามารถสตรีมข้อมูลจากกล้องตามเหตุการณ์ที่เข้ากันได้กับ Prophesee ของคุณ
การเรียกใช้ชุดทดสอบเป็นวิธีที่แน่นอนเพื่อให้แน่ใจว่าคุณทำทุกอย่างได้ดีกับกระบวนการรวบรวมและการติดตั้ง
ดาวน์โหลดไฟล์ที่จำเป็นในการดำเนินการทดสอบ คลิก Download
ที่โฟลเดอร์ด้านขวาบน ระวังขนาดของไฟล์เก็บถาวรที่ได้รับซึ่งมีน้ำหนักประมาณ 1.5 Gb
แยกและวางเนื้อหาของไฟล์เก็บถาวรนี้ไปที่ <OPENEB_SRC_DIR>/datasets
ตัวอย่างเช่น พาธที่ถูกต้องของลำดับ gen31_timer.raw
ควรเป็น <OPENEB_SRC_DIR>/datasets/openeb/gen31_timer.raw
สร้าง makefiles ใหม่โดยเปิดใช้งานตัวเลือกการทดสอบ:
ซีดี <OPENEB_SRC_DIR>/build cmake .. -DBUILD_TESTING=ON
เรียบเรียงอีกครั้ง. cmake --build . --config Release -- -j 4
สุดท้าย ให้รันชุดทดสอบ: ctest --verbose
ขณะนี้เรารองรับเฉพาะ Windows 10 เท่านั้น ยังไม่มีการทดสอบการคอมไพล์บน Windows เวอร์ชันอื่น สำหรับแพลตฟอร์มเหล่านั้นอาจจำเป็นต้องมีการปรับเปลี่ยนคู่มือนี้หรือโค้ดบางอย่าง
หากคุณกำลังอัพเกรด OpenEB จากเวอร์ชันก่อนหน้า คุณควรอ่านบันทึกประจำรุ่นอย่างละเอียดก่อน เนื่องจากการเปลี่ยนแปลงบางอย่างอาจส่งผลกระทบต่อการใช้งาน SDK ของเรา (เช่น การอัปเดต API) และกล้อง (เช่น อาจจำเป็นต้องอัปเดตเฟิร์มแวร์)
จากนั้น หากคุณได้ติดตั้งซอฟต์แวร์ของ Prophesee ไว้ก่อนหน้านี้ คุณจะต้องถอนการติดตั้งซอฟต์แวร์ดังกล่าวก่อน ลบโฟลเดอร์ที่คุณติดตั้งสิ่งประดิษฐ์ Metavision (ตรวจสอบทั้งโฟลเดอร์ build
ของซอร์สโค้ดและ C:Program FilesProphesee
ซึ่งเป็นเส้นทางการติดตั้งเริ่มต้นของขั้นตอนการปรับใช้)
หากต้องการดึงซอร์สโค้ด OpenEB คุณสามารถโคลนพื้นที่เก็บข้อมูล GitHub ได้:
git clone https://github.com/prophesee-ai/openeb.git --branch 5.0.0
ในส่วนต่อไปนี้ เส้นทางที่แน่นอนไปยังไดเร็กทอรีนี้เรียกว่า OPENEB_SRC_DIR
หากคุณเลือกที่จะดาวน์โหลดไฟล์เก็บถาวรของ OpenEB จาก GitHub แทนที่จะทำการโคลนพื้นที่เก็บข้อมูล คุณต้องแน่ใจว่าคุณเลือกไฟล์เก็บถาวร Full.Source.Code.*
แทนที่จะใช้ไฟล์เก็บถาวร Source.Code.*
ที่สร้างขึ้นโดยอัตโนมัติ เนื่องจากส่วนหลังไม่ได้รวมโมดูลย่อยที่จำเป็นไว้
ขั้นตอนบางขั้นตอนนี้ใช้ไม่ได้กับระบบไฟล์ FAT32 และ exFAT ดังนั้น ตรวจสอบให้แน่ใจว่าคุณใช้ระบบไฟล์ NTFS ก่อนที่จะดำเนินการต่อ
คุณต้องเปิดใช้งานการสนับสนุนสำหรับเส้นทางยาว:
กดปุ่ม Windows พิมพ์ gpedit.msc แล้วกด Enter
ไปที่นโยบายคอมพิวเตอร์เฉพาะที่ > การกำหนดค่าคอมพิวเตอร์ > เทมเพลตการดูแลระบบ > ระบบ > ระบบไฟล์
ดับเบิลคลิกตัวเลือก "เปิดใช้งาน Win32 long paths" เลือกตัวเลือก "เปิดใช้งาน" แล้วคลิก "ตกลง"
ในการคอมไพล์ OpenEB คุณจะต้องติดตั้งเครื่องมือพิเศษบางอย่าง:
ติดตั้งคอมไพล์
ติดตั้ง CMake 3.26
ติดตั้งคอมไพเลอร์ Microsoft C++ (64 บิต) คุณสามารถเลือกหนึ่งในวิธีแก้ไขปัญหาต่อไปนี้:
ดาวน์โหลดและเรียกใช้ตัวติดตั้ง "เครื่องมือสร้างสำหรับ Visual Studio 2022"
เลือก "เครื่องมือสร้าง C++" ตรวจสอบให้แน่ใจว่าได้เลือก Windows 10 SDK และเพิ่มชุดภาษาอังกฤษ
สำหรับการสร้างเท่านั้น คุณสามารถติดตั้ง MS Build Tools (ฟรี เป็นส่วนหนึ่งของแพ็คเกจ Windows 10 SDK)
สำหรับการพัฒนา คุณยังสามารถดาวน์โหลดและเรียกใช้ Visual Studio Installer ได้
ติดตั้ง vcpkg ที่จะใช้สำหรับการติดตั้งการอ้างอิง:
ดาวน์โหลดและแยก vcpkg เวอร์ชัน 2024.04.26 ในโฟลเดอร์ที่เราจะเรียกว่า VCPKG_SRC_DIR
cd <VCPKG_SRC_DIR>
bootstrap-vcpkg.bat
vcpkg update
คัดลอกไฟล์ vcpkg-openeb.json
ที่อยู่ในซอร์สโค้ด OpenEB ที่ utils/windows
ลงใน VCPKG_SRC_DIR
และเปลี่ยนชื่อเป็น vcpkg.json
ติดตั้งไลบรารีโดยการรัน:
vcpkg install --triplet x64-windows --x-install-root installed
สุดท้าย ให้ดาวน์โหลดและติดตั้ง ffmpeg และเพิ่มไดเร็กทอรี bin
ลงใน PATH ของคุณ
โปรดทราบว่าหากคุณใช้ vcpkg ในหลายโปรเจ็กต์หรือหลายเวอร์ชันของ OpenEB จะเป็นประโยชน์ในการปรับปรุงจำนวนการติดตั้ง vcpkg ที่คุณจัดการ เพื่อให้บรรลุเป้าหมายนี้ คุณจะต้องมีเวอร์ชันเฉพาะของไลบรารีที่จำเป็น คุณสามารถค้นหาเวอร์ชันเหล่านี้ได้โดยการอ้างอิงโยงไฟล์ vcpkg.json
ของเรากับที่เก็บ vcpkg อย่างเป็นทางการ แต่เพื่อความสะดวกของคุณ เราได้แสดงรายการไว้ด้านล่าง:
ลิบัส: 1.0.27
บูสต์: 1.78.0
opencv: 4.8.0
แตกต่าง: 1.24.0
ทดสอบ: 1.14.0
ไพบินด์11: 2.12.0
เปล่งประกาย: 2.2.0
glfw3: 3.4.0
hdf5: 1.14.2
โปรโตบุฟ: 3.21.12
ดาวน์โหลด "ตัวติดตั้งปฏิบัติการ Windows x86-64" สำหรับหนึ่งในเวอร์ชัน Python เหล่านี้:
หลาม 3.9
หลาม 3.10
หลาม 3.11
หลาม 3.12
เพิ่มไดเร็กทอรีการติดตั้ง Python และสคริปต์ใน PATH
ของคุณ และตรวจสอบให้แน่ใจว่าแสดงรายการก่อนโฟลเดอร์ WindowsApps
ซึ่งมีนามแฝง Python ที่เปิดตัว Microsoft Store ดังนั้น หากคุณติดตั้ง Python 3.9 ในพาธเริ่มต้น PATH
ผู้ใช้ของคุณควรประกอบด้วยสามบรรทัดตามลำดับ:
% USERPROFILE% AppData Local Programs Python Python39 % USERPROFILE% AppData Local Programs Python Python39 สคริปต์ %USERPROFILE%AppDataLocalMicrosoftWindowsApps
เราขอแนะนำให้ใช้ Python กับ virtualenv เพื่อหลีกเลี่ยงความขัดแย้งกับแพ็คเกจ Python อื่น ๆ ที่ติดตั้งไว้
สร้างสภาพแวดล้อมเสมือนและติดตั้งการขึ้นต่อกันที่จำเป็น:
หลาม -m venv C:tmppropheseepy3venv --system-site-packages C:tmppropheseepy3venvScriptspython -m pip ติดตั้ง pip --upgrade C:tmppropheseepy3venvScriptspython -m pip install -r OPENEB_SRC_DIRutilspythonpython_requirementsrequirements_openeb.txt
เมื่อสร้างสภาพแวดล้อมเสมือน จำเป็นต้องใช้ตัวเลือก --system-site-packages
เพื่อให้แน่ใจว่าแพ็คเกจ SDK ที่ติดตั้งในไดเร็กทอรีระบบสามารถเข้าถึงได้ อย่างไรก็ตาม ตัวเลือกนี้ยังทำให้แพ็คเกจไซต์ผู้ใช้ภายในของคุณมองเห็นได้ตามค่าเริ่มต้น เพื่อป้องกันสิ่งนี้และรักษาสภาพแวดล้อมเสมือนที่สะอาดขึ้น คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PYTHONNOUSERSITE
ให้เป็นจริงได้
หรือคุณสามารถรันคำสั่ง activate
( C:tmppropheseepy3venvScriptsactivate
) เพื่อแก้ไขตัวแปรสภาพแวดล้อมของเชลล์ โดยตั้งค่าล่าม Python และสคริปต์ของสภาพแวดล้อมเสมือนเป็นค่าเริ่มต้นสำหรับเซสชันปัจจุบันของคุณ ซึ่งจะทำให้คุณสามารถใช้คำสั่งง่ายๆ เช่น python
ได้โดยไม่จำเป็นต้องระบุเส้นทางแบบเต็มในแต่ละครั้ง
หากต้องการใช้ฟีเจอร์ Machine Learning คุณต้องติดตั้งการขึ้นต่อกันเพิ่มเติมบางอย่าง
ขั้นแรก หากคุณมีฮาร์ดแวร์ Nvidia ที่มี GPU คุณสามารถเลือกติดตั้ง CUDA (11.6 หรือ 11.7) และ cuDNN เพื่อใช้ประโยชน์จาก pytorch และ libtorch ได้
เปิดพรอมต์คำสั่งภายในโฟลเดอร์ OPENEB_SRC_DIR
:
สร้างและเปิดไดเร็กทอรี build ซึ่งไฟล์ชั่วคราวจะถูกสร้างขึ้น: mkdir build && cd build
สร้าง makefiles โดยใช้ CMake: cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>cmaketoolchainsvcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR>
โปรดทราบว่าค่าที่ส่งไปยังพารามิเตอร์ -DCMAKE_TOOLCHAIN_FILE
ต้องเป็นพาธสัมบูรณ์ ไม่ใช่พาธแบบสัมพันธ์
คอมไพล์: cmake --build . --config Release --parallel 4
เมื่อการคอมไพล์เสร็จสิ้น คุณจะมีสองตัวเลือก: คุณสามารถเลือกที่จะทำงานโดยตรงจาก build
ด์ หรือคุณสามารถปรับใช้ไฟล์ OpenEB (แอปพลิเคชัน ตัวอย่าง ไลบรารี ฯลฯ) ในไดเร็กทอรีที่คุณเลือก
ตัวเลือกที่ 1 - ทำงานจากโฟลเดอร์ build
หากต้องการใช้ OpenEB โดยตรงจากโฟลเดอร์ build
คุณต้องอัปเดตตัวแปรสภาพแวดล้อมบางตัวโดยใช้สคริปต์นี้:
utilsscriptssetup_env.bat
ตัวเลือกที่ 2 - การปรับใช้ในไดเร็กทอรีที่คุณเลือก
ผนวก <OPENEB_INSTALL_DIR>bin
ต่อท้าย PATH
( C:Program FilesPropheseebin
หากคุณใช้การกำหนดค่าเริ่มต้น)
ผนวก <OPENEB_INSTALL_DIR>libmetavisionhalplugins
ไปที่ MV_HAL_PLUGIN_PATH
( C:Program FilesPropheseelibmetavisionhalplugins
หากคุณใช้การกำหนดค่าเริ่มต้น)
ผนวก <OPENEB_INSTALL_DIR>libhdf5plugin
เข้ากับ HDF5_PLUGIN_PATH
( C:Program FilesPropheseelibhdf5plugin
หากคุณใช้การกำหนดค่าเริ่มต้น)
ผนวก <PYTHON3_PACKAGES_INSTALL_DIR>
เข้ากับ PYTHONPATH
(ไม่จำเป็นหากคุณใช้การกำหนดค่าเริ่มต้น)
หากต้องการปรับใช้ OpenEB ในโฟลเดอร์เริ่มต้น ( C:Program FilesProphesee
) ให้ดำเนินการคำสั่งนี้ (คอนโซลของคุณควรเปิดตัวในฐานะผู้ดูแลระบบ):
cmake --build . --config Release --การติดตั้งเป้าหมาย
หากต้องการปรับใช้ OpenEB ในโฟลเดอร์อื่น คุณควรสร้างโซลูชันอีกครั้ง (ขั้นตอนที่ 2 ด้านบน) โดยมีตัวแปรเพิ่มเติม CMAKE_INSTALL_PREFIX
ที่มีค่าของโฟลเดอร์เป้าหมายของคุณ ( OPENEB_INSTALL_DIR
)
ในทำนองเดียวกัน หากต้องการระบุตำแหน่งที่จะปรับใช้แพ็คเกจ Python ( PYTHON3_PACKAGES_INSTALL_DIR
) คุณควรใช้ตัวแปร PYTHON3_SITE_PACKAGES
นี่คือตัวอย่างของคำสั่งที่ปรับแต่งทั้งสองโฟลเดอร์:
cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>cmaketoolchainsvcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DCMAKE_INSTALL_PREFIX=<OPENEB_INSTALL_DIR> -DPYTHON3_SITE_PACKAGES=<PYTHON3_PACKAGES_INSTALL_DIR> -DBUILD_TESTING=OFF
หลังจากคำสั่งนี้ คุณควรเริ่มการคอมไพล์และการติดตั้ง OpenEB จริง (คอนโซลของคุณควรเปิดตัวในฐานะผู้ดูแลระบบ):
cmake --build . --config Release --ขนาน 4 cmake --build . --config Release --การติดตั้งเป้าหมาย
คุณต้องแก้ไขตัวแปรสภาพแวดล้อมบางอย่างด้วยตนเอง:
เปิดพรอมต์คำสั่งภายในโฟลเดอร์ OPENEB_SRC_DIR
:
สร้างและเปิดไดเร็กทอรี build ซึ่งไฟล์ชั่วคราวจะถูกสร้างขึ้น: mkdir build && cd build
สร้างไฟล์ Visual Studio โดยใช้ CMake: cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>cmaketoolchainsvcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR>
(ปรับให้เข้ากับเวอร์ชัน Visual Studio ของคุณ) . โปรดทราบว่าค่าที่ส่งไปยังพารามิเตอร์ -DCMAKE_TOOLCHAIN_FILE
ต้องเป็นพาธสัมบูรณ์ ไม่ใช่พาธแบบสัมพันธ์
เปิดไฟล์โซลูชัน metavision.sln
เลือกการกำหนด Release
และสร้างโปรเจ็กต์ ALL_BUILD
เมื่อการคอมไพล์เสร็จสิ้น คุณสามารถเลือกทำงานโดยตรงจาก build
บิลด์ หรือคุณสามารถปรับใช้ไฟล์ OpenEB (แอปพลิเคชัน ตัวอย่าง ไลบรารี ฯลฯ) ในไดเร็กทอรีที่คุณเลือกได้
ตัวเลือกที่ 1 - ทำงานจากโฟลเดอร์ build
หากต้องการใช้ OpenEB โดยตรงจากโฟลเดอร์ build
ด์ คุณจะต้องอัปเดตตัวแปรสภาพแวดล้อมเช่นเดียวกับที่ทำในสคริปต์ utilsscriptssetup_env.bat
ตัวเลือกที่ 2 - การปรับใช้ OpenEB
หากต้องการปรับใช้ OpenEB คุณต้องสร้างโปรเจ็กต์ INSTALL
ตามค่าเริ่มต้น ไฟล์จะถูกปรับใช้ใน C:Program FilesProphesee
ปลั๊กอินกล้อง Prophesee รวมอยู่ใน OpenEB แต่คุณต้องติดตั้งไดรเวอร์เพื่อให้กล้องพร้อมใช้งานบน Windows โดยทำตามขั้นตอนนี้:
ดาวน์โหลด wdi-simple.exe จากไฟล์เซิร์ฟเวอร์ของเรา
ดำเนินการคำสั่งต่อไปนี้ใน Command Prompt ที่เปิดตัวในฐานะผู้ดูแลระบบ:
wdi-simple.exe -n "EVK" -m "ผู้พยากรณ์" -v 0x04b4 -p 0x00f4 wdi-simple.exe -n "EVK" -m "ผู้พยากรณ์" -v 0x04b4 -p 0x00f5 wdi-simple.exe -n "EVK" -m "ผู้พยากรณ์" -v 0x04b4 -p 0x00f3
หากคุณเป็นเจ้าของ EVK2 หรือ RDK2 มีขั้นตอนเพิ่มเติมสองสามขั้นตอนที่ต้องดำเนินการซึ่งมีรายละเอียดอยู่ในเอกสารออนไลน์ของเราในส่วนปลั๊กอินกล้องของคู่มือการติดตั้ง OpenEB
หากคุณใช้กล้องของบริษัทอื่น คุณต้องปฏิบัติตามคำแนะนำจากผู้จำหน่ายกล้องเพื่อติดตั้งไดรเวอร์และปลั๊กอินของกล้อง ตรวจสอบให้แน่ใจว่าคุณอ้างอิงตำแหน่งของปลั๊กอินในตัวแปรสภาพแวดล้อม MV_HAL_PLUGIN_PATH
ในการเริ่มต้นใช้งาน OpenEB คุณสามารถดาวน์โหลดตัวอย่างการบันทึกและแสดงภาพด้วย metavision_viewer หรือคุณสามารถสตรีมข้อมูลจากกล้องตามเหตุการณ์ที่เข้ากันได้กับ Prophesee ของคุณ
การเรียกใช้ชุดทดสอบเป็นวิธีที่แน่นอนเพื่อให้แน่ใจว่าคุณทำทุกอย่างได้ดีกับกระบวนการรวบรวมและการติดตั้ง
ดาวน์โหลดไฟล์ที่จำเป็นในการดำเนินการทดสอบ คลิก Download
ที่โฟลเดอร์ด้านขวาบน ระวังขนาดของไฟล์เก็บถาวรที่ได้รับซึ่งมีน้ำหนักประมาณ 1.5 Gb
แยกและวางเนื้อหาของไฟล์เก็บถาวรนี้ไปที่ <OPENEB_SRC_DIR>/datasets
ตัวอย่างเช่น พาธที่ถูกต้องของลำดับ gen31_timer.raw
ควรเป็น <OPENEB_SRC_DIR>/datasets/openeb/gen31_timer.raw
หากต้องการเรียกใช้ชุดทดสอบ คุณต้องกำหนดค่าสภาพแวดล้อมบิลด์ของคุณใหม่โดยใช้ CMake และคอมไพล์ใหม่
เรียบเรียงโดยใช้ MS Visual Studio
การรวบรวมโดยใช้ CMake
สร้างไฟล์ Visual Studio โดยใช้ CMake (ปรับคำสั่งให้เป็นเวอร์ชัน Visual Studio ของคุณและโปรดทราบว่า -DCMAKE_TOOLCHAIN_FILE
ต้องเป็นพาธสัมบูรณ์ ไม่ใช่พาธแบบสัมพันธ์):
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>cmaketoolchainsvcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DBUILD_TESTING=ON
เปิดไฟล์โซลูชัน metavision.sln
เลือกการกำหนด Release
และสร้างโปรเจ็กต์ ALL_BUILD
สร้างบิลด์ใหม่โดยใช้ CMake (โปรดทราบว่า -DCMAKE_TOOLCHAIN_FILE
ต้องเป็นพาธสัมบูรณ์ ไม่ใช่พาธแบบสัมพันธ์)::
cd <OPENEB_SRC_DIR>/build cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<OPENEB_SRC_DIR>cmaketoolchainsvcpkg.cmake -DVCPKG_DIRECTORY=<VCPKG_SRC_DIR> -DBUILD_TESTING=ON
คอมไพล์: cmake --build . --config Release --parallel 4
การรันชุดทดสอบเป็นเพียง ctest -C Release