项目简介
本项目是基于Spinnaker架构的粒子滤波器目标跟踪系统,借助事件相机获取的事件流,可实时跟踪圆形目标。系统既支持在标准CPU上运行,也能在Spinnaker硬件上运行,利用粒子滤波器算法达成目标定位与跟踪。
项目的主要特性和功能
- 粒子滤波器算法:运用该算法进行目标跟踪,通过预测和更新粒子状态实现目标定位。
- Spinnaker架构支持:在Spinnaker硬件上实现粒子滤波器算法,利用其并行处理能力提升算法运行效率。
- 事件相机输入:支持接收事件相机的事件流作为输入,能处理从事件相机获取的数据。
- 目标跟踪:实时跟踪圆形目标,提供目标的位置和半径信息。
- 多硬件实现:提供CPU和Spinnaker硬件两种实现方式,满足不同硬件环境需求。
安装使用步骤
CPU实现
- 安装依赖库。
- 复制项目代码:
bash cd particle-filter-tracking
- 编译项目:
bash mkdir build && cd build cmake .. make
- 运行项目:
bash yarpserver --write yarpmanager
- 打开提供的yarpmanager应用程序:
particle-filter-tracking/cpu/app_cpu_tracking.xml
- 运行所有模块
- 使用yarpdataplayer打开数据集或连接事件相机
- 播放数据集或启动事件相机
Spinnaker实现
- 设置Spinnaker环境:
- 创建Spinnaker项目目录:
bash mkdir ~/spinnaker && cd ~/spinnaker
- 安装交叉编译器:从ARM官网下载并解压到
~/spinnaker
- 复制必要的仓库:
bash
- 配置环境变量:
bash export SPINN_DIRS=~/spinnaker/spinnaker_tools export PATH=~/spinnaker/gcc-arm-none-eabi-6-2017-q2-update/bin:$SPINN_DIRS/tools:$PATH export PERL5LIB=$SPINN_DIRS/tools export PYTHONPATH=~/projects/particle-filter-tracking/:$PYTHONPATH source ~/.bashrc
- 应用补丁:
bash cd SpiNNFrontEndCommon git apply bug.patch
- 运行自动编译脚本:
bash cd ~/spinnaker ./automatic_make.sh
- 创建Spinnaker项目目录:
- 编译项目:
bash cd ~/projects/particle-filter-tracking/spinnaker make
- 运行项目:
bash python ~/projects/particle-filter-tracking/spinnaker/pfMain.py
注意事项
- 硬件需求:项目需要事件相机和Spinnaker硬件(如果使用Spinnaker实现)。
- 软件依赖:运行项目需要安装特定的软件库和工具,如YARP和event-driven库。
- 数据格式:输入数据格式需要符合项目的要求,包括事件相机输出的数据格式。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】