Matlab 如何利用基于零件的判别训练模型获取目标检测中的零件分数

Matlab 如何利用基于零件的判别训练模型获取目标检测中的零件分数,matlab,image-processing,computer-vision,object-detection,object-recognition,Matlab,Image Processing,Computer Vision,Object Detection,Object Recognition,该代码在目标检测中有着广泛的应用。有一个imgdetect函数,它返回ds、bs和树。似乎ds包含检测框,bs包含用于检测的过滤器在图像中响应,而树包含有关零件分数的一些信息。我无法找到如何使用树和bs获得零件分数。基本上,给定一个检测框,我想找出哪些过滤器响应检测,以及用于检测对象的每个过滤器(子部分)的分数是多少。我想出了如何做到这一点,在gdetect_parse.m的末尾,添加以下行,边界框(x1、x2、y1、y2)将对应于bs中的框,分数将位于树{i}中的最后第二行 节点id=8//确

该代码在目标检测中有着广泛的应用。有一个imgdetect函数,它返回dsbs树。似乎ds包含检测框,bs包含用于检测的过滤器在图像中响应,而包含有关零件分数的一些信息。我无法找到如何使用bs获得零件分数。基本上,给定一个检测框,我想找出哪些过滤器响应检测,以及用于检测对象的每个过滤器(子部分)的分数是多少。

我想出了如何做到这一点,在gdetect_parse.m的末尾,添加以下行,边界框(x1、x2、y1、y2)将对应于bs中的框,分数将位于树{i}中的最后第二行

节点id=8//确保它是叶节点,即第二行树{i}应为1

树id=1//检测树之一

scale=(model.sbin/pyra.scales(trees{tree_id}(8,node_id))

x1=(trees{tree\u id}(6,node\u id)-1-pyra.padx*(2^ trees{tree\u id}(9,node\u id)))*比例+1

y1=(trees{tree\u id}(7,node\u id)-1-pyra.pady*(2^ trees{tree\u id}(9,node\u id)))*比例+1

filter_id=model.symbols(树{1}(3,节点_id)).filter

fx=型号。过滤器(过滤器id)。尺寸(2)

fy=型号过滤器(过滤器id).尺寸(1)

x2=x1+fx*刻度-1

y2=y1+fy*刻度-1