派生自 Algorithm/baseDetector

Scheaven
2021-06-03 168af40fe9a3cc81c6ee16b3e81f154780c36bdb
lib/detecter_tools/darknet/box.h
@@ -1,59 +1,59 @@
#ifndef BOX_H
#define BOX_H
#include "darknet.h"
//typedef struct{
//    float x, y, w, h;
//} box;
typedef struct{
    float dx, dy, dw, dh;
} dbox;
//typedef struct detection {
//   box bbox;
//   int classes;
//   float *prob;
//   float *mask;
//   float objectness;
//   int sort_class;
//} detection;
typedef struct detection_with_class {
   detection det;
   // The most probable class id: the best class index in this->prob.
   // Is filled temporary when processing results, otherwise not initialized
   int best_class;
} detection_with_class;
#ifdef __cplusplus
extern "C" {
#endif
box float_to_box(float *f);
box float_to_box_stride(float *f, int stride);
float box_iou(box a, box b);
float box_iou_kind(box a, box b, IOU_LOSS iou_kind);
float box_rmse(box a, box b);
dxrep dx_box_iou(box a, box b, IOU_LOSS iou_loss);
float box_giou(box a, box b);
float box_diou(box a, box b);
float box_ciou(box a, box b);
dbox diou(box a, box b);
boxabs to_tblr(box a);
void do_nms(box *boxes, float **probs, int total, int classes, float thresh);
void do_nms_sort_v2(box *boxes, float **probs, int total, int classes, float thresh);
//LIB_API void do_nms_sort(detection *dets, int total, int classes, float thresh);
//LIB_API void do_nms_obj(detection *dets, int total, int classes, float thresh);
//LIB_API void diounms_sort(detection *dets, int total, int classes, float thresh, NMS_KIND nms_kind, float beta1);
box decode_box(box b, box anchor);
box encode_box(box b, box anchor);
// Creates array of detections with prob > thresh and fills best_class for them
// Return number of selected detections in *selected_detections_num
detection_with_class* get_actual_detections(detection *dets, int dets_num, float thresh, int* selected_detections_num, char **names);
#ifdef __cplusplus
}
#endif
#endif
#ifndef BOX_H
#define BOX_H
#include "darknet.h"
//typedef struct{
//    float x, y, w, h;
//} box;
typedef struct{
    float dx, dy, dw, dh;
} dbox;
//typedef struct detection {
//   box bbox;
//   int classes;
//   float *prob;
//   float *mask;
//   float objectness;
//   int sort_class;
//} detection;
typedef struct detection_with_class {
   detection det;
   // The most probable class id: the best class index in this->prob.
   // Is filled temporary when processing results, otherwise not initialized
   int best_class;
} detection_with_class;
#ifdef __cplusplus
extern "C" {
#endif
box float_to_box(float *f);
box float_to_box_stride(float *f, int stride);
float box_iou(box a, box b);
float box_iou_kind(box a, box b, IOU_LOSS iou_kind);
float box_rmse(box a, box b);
dxrep dx_box_iou(box a, box b, IOU_LOSS iou_loss);
float box_giou(box a, box b);
float box_diou(box a, box b);
float box_ciou(box a, box b);
dbox diou(box a, box b);
boxabs to_tblr(box a);
void do_nms(box *boxes, float **probs, int total, int classes, float thresh);
void do_nms_sort_v2(box *boxes, float **probs, int total, int classes, float thresh);
//LIB_API void do_nms_sort(detection *dets, int total, int classes, float thresh);
//LIB_API void do_nms_obj(detection *dets, int total, int classes, float thresh);
//LIB_API void diounms_sort(detection *dets, int total, int classes, float thresh, NMS_KIND nms_kind, float beta1);
box decode_box(box b, box anchor);
box encode_box(box b, box anchor);
// Creates array of detections with prob > thresh and fills best_class for them
// Return number of selected detections in *selected_detections_num
detection_with_class* get_actual_detections(detection *dets, int dets_num, float thresh, int* selected_detections_num, char **names);
#ifdef __cplusplus
}
#endif
#endif