Darknet/YOLO v3.0-177-gfa2353b
Object Detection Framework
 
Loading...
Searching...
No Matches
Todo List
Member activate (float x, ACTIVATION a)
V3 Why were some activations missing? Was that intentional?
Member backward_network_gpu (Darknet::Network &net, Darknet::NetworkState state)

replace qsort() unknown priority

V3 benchmark layers

V3 benchmark layers

Member BLOCK
What is this? See where it is used in all the .cu files.
Member calc_anchors (char *datacfg, int num_of_clusters, int width, int height, int show)

shouldn't we check the .cfg file instead, and get the anchors, width, and height from there instead of requiring them as parms?

replace qsort() lowest priority

Member collapse_images_horz (const Darknet::Image *ims, int n)
COLOR
Member cuda_debug_sync

V3 is cuda_debug_sync still necessary?

V3 is this still needed?

Member Darknet::bgr_mat_to_rgb_image (const cv::Mat &mat)
COLOR this function assumes 3-channel images
Member Darknet::CfgAndState::process_arguments (const VStr &v, Darknet::NetworkPtr ptr=nullptr)
need to fix things like the function "map" and the optional training parameter "-map" which would trigger this code
Member Darknet::CfgFile::parse_dropout_section (const size_t section_idx)
why read in a float and then store it in an int?
Member Darknet::distort_image (Darknet::Image &im, float hue, float sat, float val)
COLOR - needs to be fixed for 1 <= c <= N
Member Darknet::draw_detections_v3 (Darknet::Image &im, const Darknet::Detection *dets, const int num, const float thresh, const Darknet::VStr &names, const int classes, const int ext_output)

replace qsort() mid priority

replace qsort() mid priority

Member Darknet::hsv_to_rgb (Darknet::Image &im)
COLOR - cannot do HSV if channels > 3
Member Darknet::image_loading_loop (const int idx, load_args args)
get rid of this busy-loop
Member Darknet::parse_arguments (const Darknet::VStr &v)
confirm that this works just as well on ARM
Member Darknet::random_distort_image (Darknet::Image &im, float hue, float saturation, float exposure)
COLOR - HSV no beuno
Member Darknet::rgb_to_hsv (Darknet::Image &im)
COLOR - cannot do HSV if channels > 3
Member Darknet::save_image_jpg (const Darknet::Image &im, const char *name)
merge with save_mat_jpg()
Member Darknet::save_image_png (const Darknet::Image &im, const char *name)
merge with save_mat_png()
Member denormalize_net (char *cfgfile, char *weightfile, char *outfile)
V3: I'm willing to bet this is supposed to be LSTM, not GRU...?
Member diou (const Darknet::Box &a, const Darknet::Box &b)

the following IF statement always evaluated to true due to the "|| 1" comparison. That line was changed by AlexeyAB on 2019-11-23. Was that an accident? Should the code below never run? Or was this a debug modification that was accidentally left in the code?

due to the error (?) in the IF statmeent above, we'll never get to the code below this line!

Member do_nms_sort_v2 (Darknet::Box *boxes, float **probs, int total, int classes, float thresh)
replace qsort() low priority
Member dump (Darknet::Network *net, const Darknet::CfgFile::CommonParms &parms)
dump(tree) not implemented
Member fill_network_boxes (Darknet::Network *net, int w, int h, float thresh, float hier, int *map, int relative, Darknet::Detection *dets, int letter)
V3 JAZZ: most of the time is spent in this function
Member fill_network_boxes_v3 (Darknet::Network *net, int w, int h, float thresh, float hier, int *map, int relative, Darknet::Detection *dets, int letter, Darknet::Output_Object_Cache &cache)
This assumes that "GAUSSIAN_YOLO", "REGION", and "DETECTION" layers don't exist, which is wrong. But they only exist in much older configurations which are hopefully not used anymore? Should we deprecate these?
Member fill_truth_detection (const char *path, int num_boxes, int truth_size, float *truth, int classes, int flip, float dx, float dy, float sx, float sy, int net_w, int net_h)

shouldn't this be x - w/2 < 0.0f? And same for other variables?

again, instead of checking for > 1, shouldn't we check x + w / 2 ?

check for y - h/2 and y + h/2?

Member forward_contrastive_layer (Darknet::Layer &l, Darknet::NetworkState state)
does this still apply now that classifier code has been removed?
Member forward_cost_layer_gpu (Darknet::Layer &l, Darknet::NetworkState state)
replace qsort() unknown priority
Member forward_network_gpu (Darknet::Network &net, Darknet::NetworkState state)

replace qsort() low priority

V3 benchmark layers

V3 benchmark layers

in previous versions we did not CHECK_CUDA here – was that intentional?

Member get_opencv_label (const std::string &str, const int area)
what are the performance implications of LINE_AA over LINE_4 or LINE_8?
Member get_pixel_kernel (float *image, int w, int h, int x, int y, int c)
COLOR - specific RGB - HSV logic in here that won't work (well) with multispectral
Member gradient (float x, ACTIVATION a)
V3 why were these 3 missed?
Member image_data_augmentation (cv::Mat mat, int w, int h, int pleft, int ptop, int swidth, int sheight, int flip, float dhue, float dsat, float dexp, int gaussian_noise, int blur, int num_boxes, int truth_size, float *truth)
COLOR - cannot do hue in hyperspectal land
Member load_network (const char *cfg, const char *weights, int clear)
V3 why do we not call fuse_conv_batchnorm() here?
Member load_network_custom (const char *cfg, const char *weights, int clear, int batch)
V3 Some code seems to also call this next function, and some not. This was not originally called here, but I copied it from several other code locations. Need to invetigate whether or not it should be here. 2024-08-03
Member main (int argc, char **argv)

V3 look through these and see what we no longer need

V3 "3d" seems to combine 2 images into a single alpha-blended composite. It works...but does it belong in Darknet? What is this for?

Member make_crnn_layer (int batch, int h, int w, int c, int hidden_filters, int output_filters, int groups, int steps, int size, int stride, int dilation, int pad, ACTIVATION activation, int batch_normalize, int xnor, int train)
V3 get rid of these unecessary xcalloc()?
Member make_gaussian_yolo_layer (int batch, int w, int h, int n, int total, int *mask, int classes, int max_boxes)
why!?
Member make_network_boxes (DarknetNetworkPtr ptr, float thresh, int *num)
V3 JAZZ: this is where we spend all our time
Member make_network_boxes_v3 (Darknet::Network *net, const float thresh, int *num, Darknet::Output_Object_Cache &cache)

Is anything but YOLO still used as an output layer in a modern .cfg file? Should these be removed?

V3 JAZZ: 97% of this function is spent in this next line

Member make_route_layer (int batch, int n, int *input_layers, int *input_size, int groups, int group_id)
Valgrind tells us this is not freed in free_layer_custom()
Member make_yolo_layer (int batch, int w, int h, int n, int total, int *mask, int classes, int max_boxes)
Valgrind tells us this is not freed in free_layer_custom()
Member num_detections (Darknet::Network *net, float thresh)
V3 JAZZ: this is where we spend all our time
Member num_detections_v3 (Darknet::Network *net, float thresh, Darknet::Output_Object_Cache &cache)

V3 JAZZ: this is where we spend all our time

Is this still used in a modern .cfg file? Should it be removed?

Is this still used in a modern .cfg file? Should it be removed?

Member random_gen_fast (void)
Is this really faster than using the C++11 rng? Do we gain something by keeping this?
Member read_map (const char *filename)

the while loop reallocs the array at every iteration, this needs to be refactored!

what is this "map" file that we're reading in?

Member run_detector (int argc, char **argv)

why only do this if ngpus > 1? Is this a bug? Should it be zero?

get rid of the old C-style filename access and use std::filesystem::path within the functions so we're not passing these around as char* parms

Member run_nightmare (int argc, char **argv)
Is there a memory leak here because we don't free the original im?
Member save_mat_jpg (cv::Mat mat, const char *name)
merge with Darknet::save_image_jpg()
Member save_mat_png (cv::Mat mat, const char *name)
merge with Darknet::save_image_png()
Member SECRET_NUM

what is this?

V2 what is SECRET_NUM? And/or move to a different header.

Member size_to_IEC_string (const size_t size)
not thread safe
Member TILE_M
V3 Would be nice to know where this file came from, and to see if there are updates available.
Member train_detector (const char *datacfg, const char *cfgfile, const char *weightfile, int *gpus, int ngpus, int clear, int dont_show, int calc_map, float thresh, float iou_thresh, int mjpeg_port, int show_imgs, int benchmark_layers, const char *chart_path)
copy the weights...?
Member UNUSED_ENUM_TYPE
V3 Need to get rid of UNUSED_ENUM_TYPE. And/or move to a different header.
Member USET

what is this?

what is this?

Member validate_detector_map (const char *datacfg, const char *cfgfile, const char *weightfile, float thresh_calc_avg_iou, const float iou_thresh, const int map_points, int letter_box, Darknet::Network *existing_net)

I think this is TP + FN (where the object actually exists, and we either found it, or missed it)

how many cores do we have available?

would we save anything if net was passed in by reference?

Member yolo_num_detections (const Darknet::Layer &l, float thresh)
V3 JAZZ 2024-06-02: Why does "omp parallel" not work like I expect?