| | |
| | | #include "box.h" |
| | | #include "demo.h" |
| | | |
| | | #pragma comment(lib, "opencv_core249.lib") |
| | | #pragma comment(lib, "opencv_imgproc249.lib") |
| | | #pragma comment(lib, "opencv_highgui249.lib") |
| | | //#pragma comment(lib, "opencv_gpu249.lib") |
| | | //#pragma comment(lib, "opencv_photo249.lib") |
| | | //#pragma comment(lib, "opencv_video249.lib") |
| | | |
| | | #ifdef OPENCV |
| | | #include "opencv2/highgui/highgui_c.h" |
| | | #include "opencv2/imgproc/imgproc_c.h" |
| | | #include "opencv2/core/version.hpp" |
| | | #ifndef CV_VERSION_EPOCH |
| | | #include "opencv2/videoio/videoio_c.h" |
| | | #endif |
| | | #endif |
| | | |
| | | char *voc_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"}; |
| | |
| | | int w = val[t].w; |
| | | int h = val[t].h; |
| | | get_detection_boxes(l, w, h, thresh, probs, boxes, 0); |
| | | if (nms) do_nms_sort(boxes, probs, l.side*l.side*l.n, classes, iou_thresh); |
| | | if (nms) do_nms_sort_v2(boxes, probs, l.side*l.side*l.n, classes, iou_thresh); |
| | | print_yolo_detections(fps, id, boxes, probs, l.side*l.side*l.n, classes, w, h); |
| | | free(id); |
| | | free_image(val[t]); |
| | |
| | | network_predict(net, X); |
| | | printf("%s: Predicted in %f seconds.\n", input, sec(clock()-time)); |
| | | get_detection_boxes(l, 1, 1, thresh, probs, boxes, 0); |
| | | if (nms) do_nms_sort(boxes, probs, l.side*l.side*l.n, l.classes, nms); |
| | | if (nms) do_nms_sort_v2(boxes, probs, l.side*l.side*l.n, l.classes, nms); |
| | | //draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, voc_names, alphabet, 20); |
| | | draw_detections(im, l.side*l.side*l.n, thresh, boxes, probs, voc_names, alphabet, 20); |
| | | save_image(im, "predictions"); |
| | |
| | | |
| | | void run_yolo(int argc, char **argv) |
| | | { |
| | | int dont_show = find_arg(argc, argv, "-dont_show"); |
| | | int http_stream_port = find_int_arg(argc, argv, "-http_port", -1); |
| | | char *out_filename = find_char_arg(argc, argv, "-out_filename", 0); |
| | | char *prefix = find_char_arg(argc, argv, "-prefix", 0); |
| | | float thresh = find_float_arg(argc, argv, "-thresh", .2); |
| | | float hier_thresh = find_float_arg(argc, argv, "-hier", .5); |
| | | int cam_index = find_int_arg(argc, argv, "-c", 0); |
| | | int frame_skip = find_int_arg(argc, argv, "-s", 0); |
| | | if(argc < 4){ |
| | |
| | | else if(0==strcmp(argv[2], "train")) train_yolo(cfg, weights); |
| | | else if(0==strcmp(argv[2], "valid")) validate_yolo(cfg, weights); |
| | | else if(0==strcmp(argv[2], "recall")) validate_yolo_recall(cfg, weights); |
| | | else if(0==strcmp(argv[2], "demo")) demo(cfg, weights, thresh, cam_index, filename, voc_names, 20, frame_skip, prefix); |
| | | else if(0==strcmp(argv[2], "demo")) demo(cfg, weights, thresh, hier_thresh, cam_index, filename, voc_names, 20, frame_skip, |
| | | prefix, out_filename, http_stream_port, dont_show); |
| | | } |