From 3abbd858084c9f3634a30307f36a0d23303796b6 Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Sat, 23 Nov 2019 20:00:35 +0300 Subject: [PATCH] fixed consistency darknet and python code --- build/darknet/x64/darknet.py | 3 ++- darknet.py | 3 ++- src/gaussian_yolo_layer.c | 8 ++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build/darknet/x64/darknet.py b/build/darknet/x64/darknet.py index 5cfb26ba..55afcb0e 100644 --- a/build/darknet/x64/darknet.py +++ b/build/darknet/x64/darknet.py @@ -60,7 +60,8 @@ class DETECTION(Structure): ("mask", POINTER(c_float)), ("objectness", c_float), ("sort_class", c_int), - ("uc", POINTER(c_float))] + ("uc", POINTER(c_float)), + ("points", c_int)] class IMAGE(Structure): diff --git a/darknet.py b/darknet.py index 5cfb26ba..55afcb0e 100644 --- a/darknet.py +++ b/darknet.py @@ -60,7 +60,8 @@ class DETECTION(Structure): ("mask", POINTER(c_float)), ("objectness", c_float), ("sort_class", c_int), - ("uc", POINTER(c_float))] + ("uc", POINTER(c_float)), + ("points", c_int)] class IMAGE(Structure): diff --git a/src/gaussian_yolo_layer.c b/src/gaussian_yolo_layer.c index 0fe8a5e1..d179ddd8 100644 --- a/src/gaussian_yolo_layer.c +++ b/src/gaussian_yolo_layer.c @@ -136,10 +136,10 @@ box get_gaussian_yolo_box(float *x, float *biases, int n, int index, int i, int b.w = exp(x[index + 4 * stride]) * biases[2 * n] / w; b.h = exp(x[index + 6 * stride]) * biases[2 * n + 1] / h; + b.x = (i + x[index + 0 * stride]) / lw; + b.y = (j + x[index + 2 * stride]) / lh; if (yolo_point == YOLO_CENTER) { - b.x = (i + x[index + 0 * stride]) / lw; - b.y = (j + x[index + 2 * stride]) / lh; } else if (yolo_point == YOLO_LEFT_TOP) { b.x = (i + x[index + 0 * stride]) / lw + b.w / 2; @@ -176,12 +176,12 @@ float delta_gaussian_yolo_box(box truth, float *x, float *biases, int n, int ind float tx, ty, tw, th; + tx = (truth.x*lw - i); + ty = (truth.y*lh - j); tw = log(truth.w*w / biases[2 * n]); th = log(truth.h*h / biases[2 * n + 1]); if (yolo_point == YOLO_CENTER) { - tx = (truth.x*lw - i); - ty = (truth.y*lh - j); } else if (yolo_point == YOLO_LEFT_TOP) { tx = ((truth.x - truth.w / 2)*lw - i);