mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
Supported files for training: jpg, jpeg, bmp, png, ppm - and UPPER CASE extensions
This commit is contained in:
@ -281,11 +281,7 @@ void validate_coco_recall(char *cfgfile, char *weightfile)
|
|||||||
if (nms) do_nms(boxes, probs, side*side*l.n, 1, nms_thresh);
|
if (nms) do_nms(boxes, probs, side*side*l.n, 1, nms_thresh);
|
||||||
|
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
find_replace(path, "images", "labels", labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
|
|
||||||
int num_labels = 0;
|
int num_labels = 0;
|
||||||
box_label *truth = read_boxes(labelpath, &num_labels);
|
box_label *truth = read_boxes(labelpath, &num_labels);
|
||||||
|
27
src/data.c
27
src/data.c
@ -213,12 +213,7 @@ void correct_boxes(box_label *boxes, int n, float dx, float dy, float sx, float
|
|||||||
void fill_truth_swag(char *path, float *truth, int classes, int flip, float dx, float dy, float sx, float sy)
|
void fill_truth_swag(char *path, float *truth, int classes, int flip, float dx, float dy, float sx, float sy)
|
||||||
{
|
{
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
find_replace(path, "images", "labels", labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
box_label *boxes = read_boxes(labelpath, &count);
|
box_label *boxes = read_boxes(labelpath, &count);
|
||||||
@ -252,15 +247,9 @@ void fill_truth_swag(char *path, float *truth, int classes, int flip, float dx,
|
|||||||
void fill_truth_region(char *path, float *truth, int classes, int num_boxes, int flip, float dx, float dy, float sx, float sy)
|
void fill_truth_region(char *path, float *truth, int classes, int num_boxes, int flip, float dx, float dy, float sx, float sy)
|
||||||
{
|
{
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
find_replace(path, "images", "labels", labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
|
|
||||||
find_replace(labelpath, ".jpg", ".txt", labelpath);
|
int count = 0;
|
||||||
find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
int count = 0;
|
|
||||||
box_label *boxes = read_boxes(labelpath, &count);
|
box_label *boxes = read_boxes(labelpath, &count);
|
||||||
randomize_boxes(boxes, count);
|
randomize_boxes(boxes, count);
|
||||||
correct_boxes(boxes, count, dx, dy, sx, sy, flip);
|
correct_boxes(boxes, count, dx, dy, sx, sy, flip);
|
||||||
@ -302,16 +291,8 @@ void fill_truth_detection(char *path, int num_boxes, float *truth, int classes,
|
|||||||
int small_object, int net_w, int net_h)
|
int small_object, int net_w, int net_h)
|
||||||
{
|
{
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
find_replace(path, "images", "labels", labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
|
|
||||||
find_replace(labelpath, "raw", "labels", labelpath);
|
|
||||||
find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".bmp", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int i;
|
int i;
|
||||||
box_label *boxes = read_boxes(labelpath, &count);
|
box_label *boxes = read_boxes(labelpath, &count);
|
||||||
|
@ -36,17 +36,6 @@ void draw_train_loss(IplImage* img, int img_size, float avg_loss, float max_img_
|
|||||||
|
|
||||||
static int coco_ids[] = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,70,72,73,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90};
|
static int coco_ids[] = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,70,72,73,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90};
|
||||||
|
|
||||||
void replace_image_to_label(char *input_path, char *output_path) {
|
|
||||||
find_replace(input_path, "images", "labels", output_path);
|
|
||||||
find_replace(output_path, "JPEGImages", "labels", output_path);
|
|
||||||
find_replace(output_path, ".jpg", ".txt", output_path);
|
|
||||||
find_replace(output_path, ".png", ".txt", output_path);
|
|
||||||
find_replace(output_path, ".bmp", ".txt", output_path);
|
|
||||||
find_replace(output_path, ".JPG", ".txt", output_path);
|
|
||||||
find_replace(output_path, ".JPEG", ".txt", output_path);
|
|
||||||
find_replace(output_path, ".ppm", ".txt", output_path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, int ngpus, int clear, int dont_show)
|
void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, int ngpus, int clear, int dont_show)
|
||||||
{
|
{
|
||||||
list *options = read_data_cfg(datacfg);
|
list *options = read_data_cfg(datacfg);
|
||||||
@ -486,14 +475,6 @@ void validate_detector_recall(char *datacfg, char *cfgfile, char *weightfile)
|
|||||||
|
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
replace_image_to_label(path, labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
//find_replace(path, "images", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".bmp", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
|
|
||||||
int num_labels = 0;
|
int num_labels = 0;
|
||||||
box_label *truth = read_boxes(labelpath, &num_labels);
|
box_label *truth = read_boxes(labelpath, &num_labels);
|
||||||
@ -645,14 +626,6 @@ void validate_detector_map(char *datacfg, char *cfgfile, char *weightfile, float
|
|||||||
|
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
replace_image_to_label(path, labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
//find_replace(path, "images", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".bmp", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
int num_labels = 0;
|
int num_labels = 0;
|
||||||
box_label *truth = read_boxes(labelpath, &num_labels);
|
box_label *truth = read_boxes(labelpath, &num_labels);
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -668,11 +641,8 @@ void validate_detector_map(char *datacfg, char *cfgfile, char *weightfile, float
|
|||||||
char *path_dif = paths_dif[image_index];
|
char *path_dif = paths_dif[image_index];
|
||||||
|
|
||||||
char labelpath_dif[4096];
|
char labelpath_dif[4096];
|
||||||
find_replace(path_dif, "images", "labels", labelpath_dif);
|
replace_image_to_label(path_dif, labelpath_dif);
|
||||||
find_replace(labelpath_dif, "JPEGImages", "labels", labelpath_dif);
|
|
||||||
find_replace(labelpath_dif, ".jpg", ".txt", labelpath_dif);
|
|
||||||
find_replace(labelpath_dif, ".JPEG", ".txt", labelpath_dif);
|
|
||||||
find_replace(labelpath_dif, ".png", ".txt", labelpath_dif);
|
|
||||||
truth_dif = read_boxes(labelpath_dif, &num_labels_dif);
|
truth_dif = read_boxes(labelpath_dif, &num_labels_dif);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -910,14 +880,7 @@ void calc_anchors(char *datacfg, int num_of_clusters, int width, int height, int
|
|||||||
char *path = paths[i];
|
char *path = paths[i];
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
replace_image_to_label(path, labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
//find_replace(path, "images", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
//find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".bmp", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
int num_labels = 0;
|
int num_labels = 0;
|
||||||
box_label *truth = read_boxes(labelpath, &num_labels);
|
box_label *truth = read_boxes(labelpath, &num_labels);
|
||||||
//printf(" new path: %s \n", labelpath);
|
//printf(" new path: %s \n", labelpath);
|
||||||
@ -1133,12 +1096,6 @@ void test_detector(char *datacfg, char *cfgfile, char *weightfile, char *filenam
|
|||||||
{
|
{
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
replace_image_to_label(input, labelpath);
|
replace_image_to_label(input, labelpath);
|
||||||
//find_replace(input, ".jpg", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".png", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".bmp", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
//find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
|
|
||||||
FILE* fw = fopen(labelpath, "wb");
|
FILE* fw = fopen(labelpath, "wb");
|
||||||
int i;
|
int i;
|
||||||
|
15
src/utils.c
15
src/utils.c
@ -183,6 +183,21 @@ void find_replace(char *str, char *orig, char *rep, char *output)
|
|||||||
sprintf(output, "%s%s%s", buffer, rep, p+strlen(orig));
|
sprintf(output, "%s%s%s", buffer, rep, p+strlen(orig));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void replace_image_to_label(char *input_path, char *output_path) {
|
||||||
|
find_replace(input_path, "images", "labels", output_path);
|
||||||
|
find_replace(output_path, "JPEGImages", "labels", output_path);
|
||||||
|
find_replace(output_path, ".jpg", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".JPG", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".jpeg", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".JPEG", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".png", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".PNG", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".bmp", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".BMP", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".ppm", ".txt", output_path);
|
||||||
|
find_replace(output_path, ".PPM", ".txt", output_path);
|
||||||
|
}
|
||||||
|
|
||||||
float sec(clock_t clocks)
|
float sec(clock_t clocks)
|
||||||
{
|
{
|
||||||
return (float)clocks/CLOCKS_PER_SEC;
|
return (float)clocks/CLOCKS_PER_SEC;
|
||||||
|
@ -40,6 +40,7 @@ void write_all(int fd, char *buffer, size_t bytes);
|
|||||||
int read_all_fail(int fd, char *buffer, size_t bytes);
|
int read_all_fail(int fd, char *buffer, size_t bytes);
|
||||||
int write_all_fail(int fd, char *buffer, size_t bytes);
|
int write_all_fail(int fd, char *buffer, size_t bytes);
|
||||||
void find_replace(char *str, char *orig, char *rep, char *output);
|
void find_replace(char *str, char *orig, char *rep, char *output);
|
||||||
|
void replace_image_to_label(char *input_path, char *output_path);
|
||||||
void error(const char *s);
|
void error(const char *s);
|
||||||
void malloc_error();
|
void malloc_error();
|
||||||
void file_error(char *s);
|
void file_error(char *s);
|
||||||
|
@ -252,11 +252,7 @@ void validate_yolo_recall(char *cfgfile, char *weightfile)
|
|||||||
if (nms) do_nms(boxes, probs, side*side*l.n, 1, nms);
|
if (nms) do_nms(boxes, probs, side*side*l.n, 1, nms);
|
||||||
|
|
||||||
char labelpath[4096];
|
char labelpath[4096];
|
||||||
find_replace(path, "images", "labels", labelpath);
|
replace_image_to_label(path, labelpath);
|
||||||
find_replace(labelpath, "JPEGImages", "labels", labelpath);
|
|
||||||
find_replace(labelpath, ".jpg", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".JPEG", ".txt", labelpath);
|
|
||||||
find_replace(labelpath, ".ppm", ".txt", labelpath);
|
|
||||||
|
|
||||||
int num_labels = 0;
|
int num_labels = 0;
|
||||||
box_label *truth = read_boxes(labelpath, &num_labels);
|
box_label *truth = read_boxes(labelpath, &num_labels);
|
||||||
|
Reference in New Issue
Block a user