任恒乐行人检测代码

0int
void cloud_cb
struct callback_args
void pp_callback
void joyCallback

int main
{ 实时导出行人及小车距离及夹角
SVM
min_confidence??????????????
voxel_size ????????????
读取参数SVM,conf,min_h,max_h
阅读Kinect实时流???
等待第一帧
显示点云
struct callback_args cb_args;向查看器添加回调
旋转直到按下“Q”键
地面平面估计?????????????
初始化新的查看器
Create classifier for people detection:load trained SVM
People detection app initialization:
For timing:???????????????(发布/接收话题,调用joyCallback)
Main loop:
初始化 distance,temp_distance,angle,temp_angle;
if a new cloud is available,Perform people detection on the new cloud:
Draw cloud and people bounding boxes in the viewer:
遇到人群,只吸引自信高于临界值的人(引入MyPeople)
找出候选人中距离最近的一个,计算???????
???????????
/vPeople中未有匹配项的处理及行人可视化

}

:1:行人检测:http://www.pointclouds.org/documentation/tutorials/ground_based_rgbd_people_detection.php#id9
http://www.pointclouds.org/documentation/tutorials/ground_based_rgbd_people_detection.php

2:代码思路

int print_help()
{
包含人员检测的经过训练的SVM(–svm)
允许的最小HOG置信度(–conf)的文件
人的最小(min_h)和最大(max_h)高度
如果未设置任何参数,则使用默认值。
}
void cloud_cb_
{
定义了用于使用OpenNI抓取点云的回调。
}
struct callback_args
{
用于向此回调传递参数的结构
}
pp_callback
{
用于地平面初始化的回调函数
}

int main
{
初始化主参数
voxel_size = 0.06;???
读取命令行参数,否则使用默认值
初始化对象以获取RGB-D点云
程序等待第一帧。
当获取第一个点云时,它将显示在可视化工具中,并要求用户按shift+click选择三个楼层点,
在此之后,必须按下q以关闭可视化工具并让程序继续。
估计地平面:给定这三个点,用样本一致性方法估计地平面,并将平面系数写入命令窗口。
为行人检测创建分类器
加载预先训练的参数来初始化SVM分类器
行人检测初始化
声明对象,设置参数对点云进行下采样的体素大小、RGB相机内部参数、对象和高度限制
主循环(获取并处理新的帧,直到用户终止应用程序)
{
接收当前云和估计的地面系数作为输入,并计算People Clusters属性

}
 在视图中绘制云和人员边界框:高于阈值绘制边框,可视化
 每30帧显示一次





















}

猜你喜欢

转载自blog.csdn.net/wangxue_1231/article/details/89395380
今日推荐