OpenCV 4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配项
公有成员函数 | 公有属性 | 保护成员函数 | 静态保护成员函数 | 所有成员列表
cv::dnn_objdetect::InferBbox 类参考

用于后处理模型预测的类。 更多...

#include <opencv2/core_detect.hpp>

cv::dnn_objdetect::InferBbox 的协作图

公有成员函数

 InferBbox (Mat _delta_bbox, Mat _class_scores, Mat _conf_scores)
 默认构造函数。
 
void filter (double thresh=0.8)
 过滤边界框。
 

公有属性

std::vector< objectdetections
 保存模型最终检测结果的向量。
 

保护成员函数

void assert_predictions (std::vector< std::vector< double > > *min_max_boxes)
 确保边界框值在图像边界内。
 
void filter_top_n (std::vector< std::vector< double > > *probs, std::vector< std::vector< double > > *boxes, std::vector< std::vector< double > > &top_n_boxes, std::vector< size_t > &top_n_idxs, std::vector< double > &top_n_probs)
 过滤前 n 个预测结果。
 
void final_probability_dist (std::vector< std::vector< double > > *final_probs)
 计算每个边界框的最终概率值。
 
void intersection_over_union (std::vector< std::vector< double > > *boxes, std::vector< double > *base_box, std::vector< double > *iou)
 计算边界框的交并比。
 
void nms_wrapper (std::vector< std::vector< double > > &top_n_boxes, std::vector< size_t > &top_n_idxs, std::vector< double > &top_n_probs)
 应用非最大抑制的包装器。
 
std::vector< bool > non_maximal_suppression (std::vector< std::vector< double > > *boxes, std::vector< double > *probs)
 应用非最大抑制。
 
void transform_bboxes (std::vector< std::vector< double > > *bboxes)
 将 ConvDet 中的相对坐标转换为边界框坐标。
 
void transform_bboxes_inv (std::vector< std::vector< double > > *pre, std::vector< std::vector< double > > *post)
 将边界框从 [x, y, h, w] 转换为 [xmin, ymin, xmax, ymax]。
 

静态保护成员函数

static bool comparator (std::pair< double, size_t > l1, std::pair< double, size_t > l2)
 

详细描述

用于后处理模型预测的类。

构造函数和析构函数文档

◆ InferBbox()

cv::dnn_objdetect::InferBbox::InferBbox ( Mat  _delta_bbox,
Mat  _class_scores,
Mat  _conf_scores 
)

默认构造函数。

参数
_delta_bbox包含边界框相对坐标的 Blob
_class_scores包含每个类概率值的 Blob
_conf_scores包含置信度得分的 Blob

成员函数文档

◆ assert_predictions()

void cv::dnn_objdetect::InferBbox::assert_predictions ( std::vector< std::vector< double > > *  min_max_boxes)
protected

确保边界框值在图像边界内。

参数
min_max_boxes包含形式为 [xmin, ymin, xmax, ymax] 的边界框的向量

◆ comparator()

static bool cv::dnn_objdetect::InferBbox::comparator ( std::pair< double, size_t >  l1,
std::pair< double, size_t >  l2 
)
inlinestaticprotected

◆ filter()

void cv::dnn_objdetect::InferBbox::filter ( double  thresh = 0.8)

过滤边界框。

◆ filter_top_n()

void cv::dnn_objdetect::InferBbox::filter_top_n ( std::vector< std::vector< double > > *  probs,
std::vector< std::vector< double > > *  boxes,
std::vector< std::vector< double > > &  top_n_boxes,
std::vector< size_t > &  top_n_idxs,
std::vector< double > &  top_n_probs 
)
protected

过滤前 n 个预测结果。

参数
probs边界框的最终概率值
boxes预测的边界框坐标
top_n_boxes包含前 n 个框的边界框坐标
top_n_idxs包含前 n 个边界框的类索引
top_n_probs包含前 n 个边界框的概率值

◆ final_probability_dist()

void cv::dnn_objdetect::InferBbox::final_probability_dist ( std::vector< std::vector< double > > *  final_probs)
protected

计算每个边界框的最终概率值。

参数
final_probs保存概率值的向量

◆ intersection_over_union()

void cv::dnn_objdetect::InferBbox::intersection_over_union ( std::vector< std::vector< double > > *  boxes,
std::vector< double > *  base_box,
std::vector< double > *  iou 
)
protected

计算边界框的交并比。

参数
boxes边界框坐标向量
base_box计算 IOU 的基础框
iou保存 IOU 值的向量

◆ nms_wrapper()

void cv::dnn_objdetect::InferBbox::nms_wrapper ( std::vector< std::vector< double > > &  top_n_boxes,
std::vector< size_t > &  top_n_idxs,
std::vector< double > &  top_n_probs 
)
protected

应用非最大抑制的包装器。

参数
top_n_boxes包含前 n 个框的边界框坐标
top_n_idxs包含前 n 个边界框的类索引
top_n_probs包含前 n 个边界框的概率值

◆ non_maximal_suppression()

std::vector< bool > cv::dnn_objdetect::InferBbox::non_maximal_suppression ( std::vector< std::vector< double > > *  boxes,
std::vector< double > *  probs 
)
protected

应用非最大抑制。

参数
boxes属于一个类的边界框坐标
probs属于一个类的框的概率值

◆ transform_bboxes()

void cv::dnn_objdetect::InferBbox::transform_bboxes ( std::vector< std::vector< double > > *  bboxes)
protected

将 ConvDet 中的相对坐标转换为边界框坐标。

参数
bboxes保存预测边界框的向量

◆ transform_bboxes_inv()

void cv::dnn_objdetect::InferBbox::transform_bboxes_inv ( std::vector< std::vector< double > > *  pre,
std::vector< std::vector< double > > *  post 
)
protected

将边界框从 [x, y, h, w] 转换为 [xmin, ymin, xmax, ymax]。

参数
pre包含初始坐标的向量
post包含转换后坐标的向量

成员数据文档

◆ detections

std::vector<object> cv::dnn_objdetect::InferBbox::detections

保存模型最终检测结果的向量。


该类的文档是从以下文件生成的