车辆检测“Integrating Context and Occlusion for Car Detection by Hierarchical And-Or Model”
2015-11-18 16:40
429 查看
sczhu课题组的文章:
http://www.stat.ucla.edu/~boli/projects/context_occlusion/context_occlusion.html
主要思路
And-Or模型结合上下文及遮挡信息用于车辆检测,And-Or模型在三个层次上描述car-to-car上下文及遮挡信息,(1)N个car之间的空间布局,(2)单个car不同的遮挡结构,(3)part。
学习过程包含两步,首先学习And-Or模型的结构,设计为无回路有向图(directed and acyclic graph)。然后使用Weak Label Structural SVM学习模型参数,在KITTI,Street Parking dataset,Pascal VOC上进行测试。
And-Or车辆检测结构
下图是车辆检测的And-Or模型,包含3种节点,And节点表示分解,Or节点表示structural variations,Terminal节点grounding symbols to image data.
(1)根Or节点表示N-car结构,包含车辆视图及car-to-car上下文信息,之后使用And节点表示N-car结构,上下文信息反应N-car在场景中的布局。
(2)N-car结构使用And节点表示,分解为N个车辆,由于车辆具有不同的视图及遮挡方式组合,将每个车辆使用一个Or节点表示。
(3)每个遮挡的模式使用And节点表示,并将被分解为parts,part可用3D CAD仿真或者DPM学习。
And-Or模型及其评分函数
1.And-Or模型
本文的And-Or模型有五层,使用3元组表示G=V,E,ΘG={V,E,\Theta},其中V表示节点,E表示边,Θ=(Θapp,Θdef,Θbias)\Theta=(\Theta^{app},\Theta^{def},\Theta^{bias})分别是表示app,def和bias的参数。
2.评分函数
Terminal节点:
给定父节点A,terminal节点使用四元组表示(θappt,st,at|A,θdeft|A)(\theta^{app}_t,s_t,a_t|A,\theta^{def}_{t|A}),其中θappt\theta^{app}_t是appearance模板,s是尺度,a定义了锚点位置,θdeft|A\theta^{def}_{t|A}是deformation参数,节点t的得分函数是:
And节点将N-car分解为单个car,或单个car分解为part,单个car的And节点可认为是DPM,得分是:
N-car 的And节点的子节点是Or节点,Or节点表示不同的结构变化,对于根Or节点,得分是:
对于i-th car Or节点,给定pAp_A位置N-car And节点A,得分是:
DP算法检测
1.depth-first-search,自下往上计算所有节点appearance和deformation得分图
2.自上往下过程,寻找所有根节点得分满足score(O,p)>=tscore(O,p)>=t的位置
通过挖掘Context及Occlusion模式学习模型参数
使用D+=(I1,B1),...,(In,Bn)D^+={(I_1,B_1),...,(I_n,B_n)}表示正样本集,B是图像I中bbox,从D+D^+中生成N-car正样本,即:
1.挖掘上下文信息
使用相对位置描述N-car的布局,(cx,cy)表示bbox的中心,布局特征为:
使用k-means对布局特征进行聚类获取T个聚类中心,聚类中心用来定义Layer 1层的And节点,KITTI及Parking Lot数据库的D+2−carD^+_{2-car}聚类可视化如下,不同的颜色标识了特定的2-car上下文模式:
2.挖掘遮挡模式
对于D+1−carD^+_{1-car}与其他车辆无遮挡的情况,使用DPM定义Layer 3和4的节点:(1)对D+1−carD^+_{1-car}的bbox的长宽比聚类,训练初始的appearance模板(2)定义Terminal节点。
主要对D+2−carD^+_{2-car}挖掘遮挡信息,下图显示了KITTI及Parking Lot数据库的遮挡率:
遮挡建模的方法使用参考文献【19】。
实验结果
http://www.stat.ucla.edu/~boli/projects/context_occlusion/context_occlusion.html
主要思路
And-Or模型结合上下文及遮挡信息用于车辆检测,And-Or模型在三个层次上描述car-to-car上下文及遮挡信息,(1)N个car之间的空间布局,(2)单个car不同的遮挡结构,(3)part。
学习过程包含两步,首先学习And-Or模型的结构,设计为无回路有向图(directed and acyclic graph)。然后使用Weak Label Structural SVM学习模型参数,在KITTI,Street Parking dataset,Pascal VOC上进行测试。
And-Or车辆检测结构
下图是车辆检测的And-Or模型,包含3种节点,And节点表示分解,Or节点表示structural variations,Terminal节点grounding symbols to image data.
(1)根Or节点表示N-car结构,包含车辆视图及car-to-car上下文信息,之后使用And节点表示N-car结构,上下文信息反应N-car在场景中的布局。
(2)N-car结构使用And节点表示,分解为N个车辆,由于车辆具有不同的视图及遮挡方式组合,将每个车辆使用一个Or节点表示。
(3)每个遮挡的模式使用And节点表示,并将被分解为parts,part可用3D CAD仿真或者DPM学习。
And-Or模型及其评分函数
1.And-Or模型
本文的And-Or模型有五层,使用3元组表示G=V,E,ΘG={V,E,\Theta},其中V表示节点,E表示边,Θ=(Θapp,Θdef,Θbias)\Theta=(\Theta^{app},\Theta^{def},\Theta^{bias})分别是表示app,def和bias的参数。
2.评分函数
Terminal节点:
给定父节点A,terminal节点使用四元组表示(θappt,st,at|A,θdeft|A)(\theta^{app}_t,s_t,a_t|A,\theta^{def}_{t|A}),其中θappt\theta^{app}_t是appearance模板,s是尺度,a定义了锚点位置,θdeft|A\theta^{def}_{t|A}是deformation参数,节点t的得分函数是:
And节点将N-car分解为单个car,或单个car分解为part,单个car的And节点可认为是DPM,得分是:
N-car 的And节点的子节点是Or节点,Or节点表示不同的结构变化,对于根Or节点,得分是:
对于i-th car Or节点,给定pAp_A位置N-car And节点A,得分是:
DP算法检测
1.depth-first-search,自下往上计算所有节点appearance和deformation得分图
2.自上往下过程,寻找所有根节点得分满足score(O,p)>=tscore(O,p)>=t的位置
通过挖掘Context及Occlusion模式学习模型参数
使用D+=(I1,B1),...,(In,Bn)D^+={(I_1,B_1),...,(I_n,B_n)}表示正样本集,B是图像I中bbox,从D+D^+中生成N-car正样本,即:
1.挖掘上下文信息
使用相对位置描述N-car的布局,(cx,cy)表示bbox的中心,布局特征为:
使用k-means对布局特征进行聚类获取T个聚类中心,聚类中心用来定义Layer 1层的And节点,KITTI及Parking Lot数据库的D+2−carD^+_{2-car}聚类可视化如下,不同的颜色标识了特定的2-car上下文模式:
2.挖掘遮挡模式
对于D+1−carD^+_{1-car}与其他车辆无遮挡的情况,使用DPM定义Layer 3和4的节点:(1)对D+1−carD^+_{1-car}的bbox的长宽比聚类,训练初始的appearance模板(2)定义Terminal节点。
主要对D+2−carD^+_{2-car}挖掘遮挡信息,下图显示了KITTI及Parking Lot数据库的遮挡率:
遮挡建模的方法使用参考文献【19】。
实验结果
相关文章推荐
- 学习笔记_android之复制黏贴实现方法
- IIC总线协议
- Linux 给History命令加上时间和IP显示
- mysql 存储过程权限相关
- javafx form
- 华为USG域内nat配置
- Android基础入门教程——8.4.4 Android动画合集之属性动画-又见
- 【ThinkPHP】变量输出至模板
- MyEclipse 10 创建Maven项目
- JFrame基础
- 正则表达式
- 【java基础】计算机各种编码来历及区别
- 文件管理手机app新功能-Zoho Docs
- Chrome真机调试步骤
- Java中的static关键字
- Sass函数--数字函数
- oracle sqlplus 登陆用法
- 启动Service--onstartService实例
- linux udp 客户端recvfrom,一直没有数据接收,谁能帮看看这代码哪里出了问题了????
- 延迟渲染实现