Files
2026-03-27 03:41:42 +08:00

11 KiB
Raw Permalink Blame History

WUST_VISION

武汉科技大学崇实战队视觉代码仓库

写在前面

本项目基于中南大学FYT战队2024赛季视觉框架开源,华南师范大学PIONEER战队@chenjunnnrm_vision修改与适配,参考了深圳北理莫斯科大学北极熊战队/四川大学火锅战队/沈阳航空航天大学TUP战队/北京科技大学Reborn战队/同济大学superpower战队/河北科技大学Actor&Thinker战队的部分代码与模型感谢以上开源为本队以及本人的帮助(排名不分先后)

依赖

环境配置

./script/install_depences.sh

Quick Start

git clone --recurse-submodules https://github.com/WUST-RM/wust_vision.git
cd wust_vision
sudo ./run.sh run xx /rebuild/build #编译并运行xx可执行文件/删除build缓存重新编译/仅编译

注意本项目可选择编译OpenVINO/TensorRT-cuda/NCNN/OnnxRunetime需在build缓存前在CMakeLists.txt中修改对应编译选项,修改后需rebuild重新编译无OpenVINO/TensorRT-cuda/NCNN/OnnxRunetime环境仍可以使用OpenCV的装甲板识别装甲板的识别方案需要在config/auto_aim.yaml中修改

文件树

.
├── 3rdparty
│   ├── angles.h
│   └── backward-cpp
│
├── cmake
│   ├── FindG2O.cmake
│   ├── FindHikSDK.cmake
│   ├── FindOrt.cmake
│   └── FindTensorRT.cmake
├── CMakeLists.txt
├── config
│   ├── auto_aim.yaml
│   ├── auto_buff.yaml
│   ├── auto_guidance.yaml
│   ├── auto_sniper.yaml
│   ├── camera_info.yaml
│   ├── camera.yaml
│   ├── common.yaml
│   ├── config -> /home/hy/wust_vision/config
│   ├── detect_ncnn.yaml
│   ├── detect_opencv.yaml
│   ├── detect_openvino.yaml
│   ├── detect_ort.yaml
│   ├── detect_trt.yaml
│   └── guard.sh
├── cuda_infer
│   ├── armor_infer.cu
│   ├── armor_infer.hpp
│   ├── CMakeLists.txt
│   ├── letter_box.cu
│   └── letter_box.hpp
├── env.bash
├── format.sh
├── KalmanHyLib
│   ├── adaptive_extended_kalman_filter.hpp
│   ├── error_state_extended_kalman_filter.hpp
│   ├── extended_kalman_filter.hpp
│   ├── kalman_hybird_lib.hpp
│   ├── README.md
│   └── unscented_kalman_filter.hpp
├── model
│
├── README.md
├── read_shm_image_mmap_only.py
├── ros2
│   ├── CMakeLists.txt
│   ├── ros2.cpp
│   └── ros2.hpp
├── run.sh
├── script
│   ├── install_depences.sh
│   ├── rsync.sh
│   ├── setup_devenv.sh
│   └── setup_service.sh
├── src
│   ├── dart.cpp
│   ├── hero.cpp
│   ├── sentry.cpp
│   ├── sim.cpp
│   └── standard.cpp
├── static
│   ├── 崇实战队logo图标.png
│   ├── css
│   │   └── style.css
│   ├── js
│   │   ├── chart_logic.js
│   │   ├── json_view.js
│   │   └── main.js
│   └── logo.JPG
├── tasks
│   ├── auto_aim
│   │   ├── armor_control
│   │   │   ├── aimer.cpp
│   │   │   ├── aimer.hpp
│   │   │   ├── planner.cpp
│   │   │   ├── planner.hpp
│   │   │   ├── shooter.cpp
│   │   │   ├── shooter.hpp
│   │   │   └── tinympc
│   │   │
│   │   ├── armor_detect
│   │   │   ├── armor_detect_common.cpp
│   │   │   ├── armor_detect_common.hpp
│   │   │   ├── armor_detector_base.hpp
│   │   │   ├── armor_infer.cpp
│   │   │   ├── armor_infer.hpp
│   │   │   ├── armor_pose_estimator.cpp
│   │   │   ├── armor_pose_estimator.hpp
│   │   │   ├── detector_factory.hpp
│   │   │   ├── light_corner_corrector.cpp
│   │   │   ├── light_corner_corrector.hpp
│   │   │   ├── ncnn
│   │   │   │   ├── armor_detector_ncnn.cpp
│   │   │   │   ├── armor_detector_ncnn.hpp
│   │   │   │   ├── armor_detector_ncnn_wrapper.cpp
│   │   │   │   └── armor_detector_ncnn_wrapper.hpp
│   │   │   ├── number_classifier.cpp
│   │   │   ├── number_classifier.hpp
│   │   │   ├── onnxruntime
│   │   │   │   ├── armor_detector_onnxruntime.cpp
│   │   │   │   ├── armor_detector_onnxruntime.hpp
│   │   │   │   ├── armor_detector_onnxruntime_wrapper.cpp
│   │   │   │   └── armor_detector_onnxruntime_wrapper.hpp
│   │   │   ├── opencv
│   │   │   │   ├── armor_detector_opencv.cpp
│   │   │   │   ├── armor_detector_opencv.hpp
│   │   │   │   ├── armor_detector_opencv_wrapper.cpp
│   │   │   │   └── armor_detector_opencv_wrapper.hpp
│   │   │   ├── openvino
│   │   │   │   ├── armor_detector_openvino.cpp
│   │   │   │   ├── armor_detector_openvino.hpp
│   │   │   │   ├── armor_detector_openvino_wrapper.cpp
│   │   │   │   └── armor_detector_openvino_wrapper.hpp
│   │   │   └── tensorrt
│   │   │       ├── armor_detector_tensorrt.cpp
│   │   │       ├── armor_detector_tensorrt.hpp
│   │   │       ├── armor_detector_tensorrt_wrapper.cpp
│   │   │       └── armor_detector_tensorrt_wrapper.hpp
│   │   ├── armor_optimize
│   │   │   ├── ba_solver.cpp
│   │   │   └── ba_solver.hpp
│   │   ├── armor_tracker
│   │   │   ├── motion_models
│   │   │   │   ├── acc_model.hpp
│   │   │   │   ├── motion_modela.hpp
│   │   │   │   ├── motion_modelonea.hpp
│   │   │   │   ├── motion_modeloneca.hpp
│   │   │   │   ├── motion_modeloneypd.hpp
│   │   │   │   ├── motion_modelr.hpp
│   │   │   │   ├── motion_modelrypd.hpp
│   │   │   │   ├── motion_modelypd.hpp
│   │   │   │   └── motion_modelypdv2.hpp
│   │   │   ├── target.cpp
│   │   │   ├── target.hpp
│   │   │   ├── tracker_manager.cpp
│   │   │   ├── tracker_manager.hpp
│   │   │   ├── trackerv3.cpp
│   │   │   └── trackerv3.hpp
│   │   ├── auto_aim.cpp
│   │   ├── auto_aim_fsm.hpp
│   │   ├── auto_aim.hpp
│   │   ├── CMakeLists.txt
│   │   ├── type.cpp
│   │   └── type.hpp
│   ├── auto_buff
│   │   ├── auto_buff.cpp
│   │   ├── auto_buff.hpp
│   │   ├── CMakeLists.txt
│   │   ├── rune_control
│   │   │   ├── aimer.cpp
│   │   │   └── aimer.hpp
│   │   ├── rune_detector
│   │   │   ├── rune_detector.cpp
│   │   │   └── rune_detector.hpp
│   │   ├── rune_optimize
│   │   │   ├── ba_solver.cpp
│   │   │   └── ba_solver.hpp
│   │   ├── rune_tracker
│   │   │   ├── motion_models
│   │   │   │   └── motion_modelrypd.hpp
│   │   │   ├── rune_target.cpp
│   │   │   ├── rune_target.hpp
│   │   │   ├── rune_tracker.cpp
│   │   │   ├── rune_tracker.hpp
│   │   │   └── spd_fitter.hpp
│   │   ├── type.cpp
│   │   └── type.hpp
│   ├── auto_guidance
│   │   ├── auto_guidance.cpp
│   │   ├── auto_guidance.hpp
│   │   ├── CMakeLists.txt
│   │   ├── debug.cpp
│   │   ├── debug.hpp
│   │   ├── guidance_detector
│   │   │   ├── detector_base.hpp
│   │   │   ├── detector_factory.hpp
│   │   │   ├── green_light_infer.cpp
│   │   │   ├── green_light_infer.hpp
│   │   │   ├── opencv
│   │   │   │   ├── guidance_detector_opencv.cpp
│   │   │   │   └── guidance_detector_opencv.hpp
│   │   │   └── openvino
│   │   │       ├── guidance_detector_openvino.cpp
│   │   │       └── guidance_detector_openvino.hpp
│   │   ├── guidance_tracker
│   │   │   ├── guidance_target.cpp
│   │   │   ├── guidance_target.hpp
│   │   │   ├── guidance_tracker.cpp
│   │   │   ├── guidance_tracker.hpp
│   │   │   └── motion_models
│   │   │       └── imgbox_model.hpp
│   │   └── type.hpp
│   ├── auto_offset
│   │   ├── auto_offset.cpp
│   │   ├── auto_offset.hpp
│   │   └── CMakeLists.txt
│   ├── auto_sniper
│   │   ├── auto_sniper.cpp
│   │   ├── auto_sniper.hpp
│   │   ├── CMakeLists.txt
│   │   └── trajectory_solver.hpp
│   ├── CMakeLists.txt
│   ├── debug.cpp
│   ├── debug.hpp
│   ├── main_base.hpp
│   ├── packet_typedef.hpp
│   ├── sinple_img_rotate_saver.hpp
│   ├── type_common.cpp
│   ├── type_common.hpp
│   ├── utils.cpp
│   ├── utils.hpp
│   ├── vision_base.cpp
│   └── vision_base.hpp
├── templates
│   └── index.html
├── test
│   ├── control.cpp
│   └── test_usbcamera.cpp
└── web.py