| | |
| | | #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 |