用于后处理模型预测的类。 更多...
#include <opencv2/core_detect.hpp>
|
| std::vector< object > | 检测 |
| | 用于保存模型最终检测结果的向量。
|
| |
|
| 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) |
| | 计算边界框的交并比 (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 | ) |
|
|
保护 |
确保边界框值在图像边界内。
- 参数
-
| 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 ) |
|
保护 |
过滤前 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 | ) |
|
|
保护 |
◆ 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 ) |
|
保护 |
计算边界框的交并比 (IOU)。
- 参数
-
| 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 ) |
|
保护 |
应用非极大值抑制的包装器。
- 参数
-
| 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 ) |
|
保护 |
应用非极大值抑制。
- 参数
-
| boxes | 属于一个类的边界框坐标 |
| probs | 属于一个类的框的概率值 |
◆ transform_bboxes()
| void cv::dnn_objdetect::InferBbox::transform_bboxes |
( |
std::vector< std::vector< double > > * | bboxes | ) |
|
|
保护 |
将相对坐标从 ConvDet 转换为边界框坐标。
- 参数
-
◆ transform_bboxes_inv()
| void cv::dnn_objdetect::InferBbox::transform_bboxes_inv |
( |
std::vector< std::vector< double > > * | pre, |
|
|
std::vector< std::vector< double > > * | post ) |
|
保护 |
将边界框从 [x, y, h, w] 转换为 [xmin, ymin, xmax, ymax]。
- 参数
-
| pre | 包含初始坐标的向量 |
| post | 包含转换后的坐标的向量 |
◆ detections
| std::vector<object> cv::dnn_objdetect::InferBbox::detections |
此类的文档是从以下文件生成的