用于后处理模型预测的类。 更多...
#include <opencv2/core_detect.hpp>
|
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 |
◆ 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 中的相对坐标转换为边界框坐标。
- 参数
-
◆ 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 |
该类的文档是从以下文件生成的