Remove truth only if smaller than 1x1 pix during training

pull/675/head
AlexeyAB 7 years ago
parent 0c95d8dfac
commit 2ce6460c79
  1. 6
      src/data.c

@ -307,9 +307,9 @@ void fill_truth_detection(char *path, int num_boxes, float *truth, int classes,
int count = 0;
int i;
box_label *boxes = read_boxes(labelpath, &count);
if (small_object == 1) {
float lowest_w = 1.F / net_w;
float lowest_h = 1.F / net_h;
if (small_object == 1) {
for (i = 0; i < count; ++i) {
if (boxes[i].w < lowest_w) boxes[i].w = lowest_w;
if (boxes[i].h < lowest_h) boxes[i].h = lowest_h;
@ -329,7 +329,9 @@ void fill_truth_detection(char *path, int num_boxes, float *truth, int classes,
id = boxes[i].id;
// not detect small objects
if ((w < 0.001F || h < 0.001F)) continue;
//if ((w < 0.001F || h < 0.001F)) continue;
// if truth (box for object) is smaller than 1x1 pix
if ((w < lowest_w || h < lowest_h)) continue;
truth[i*5+0] = x;
truth[i*5+1] = y;

Loading…
Cancel
Save