Joseph Redmon
2015-06-10 2fb75da727edbbd842b6d2d7cdc52022ecb39aa4
NIPS demo
2 files modified
19 ■■■■■ changed files
Makefile 10 ●●●● patch | view | raw | blame | history
src/detection.c 9 ●●●●● patch | view | raw | blame | history
Makefile
@@ -1,5 +1,5 @@
GPU=1
OPENCV=1
GPU=0
OPENCV=0
DEBUG=0
ARCH= -arch=sm_52
@@ -42,7 +42,7 @@
OBJS = $(addprefix $(OBJDIR), $(OBJ))
DEPS = $(wildcard src/*.h) Makefile
all: $(EXEC)
all: obj $(EXEC)
$(EXEC): $(OBJS)
    $(CC) $(COMMON) $(CFLAGS) $(LDFLAGS) $^ -o $@
@@ -53,6 +53,10 @@
$(OBJDIR)%.o: %.cu $(DEPS)
    $(NVCC) $(ARCH) $(COMMON) --compiler-options "$(CFLAGS)" -c $< -o $@
obj:
    mkdir -p obj
.PHONY: clean
clean:
src/detection.c
@@ -7,16 +7,16 @@
char *class_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"};
void draw_detection(image im, float *box, int side, int bg, char *label)
void draw_detection(image im, float *box, int side, char *label)
{
    int classes = 20;
    int elems = 4+classes+bg;
    int elems = 4+classes;
    int j;
    int r, c;
    for(r = 0; r < side; ++r){
        for(c = 0; c < side; ++c){
            j = (r*side + c) * elems + bg;
            j = (r*side + c) * elems;
            int class = max_index(box+j, classes);
            if(box[j+class] > .2){
                printf("%f %s\n", box[j+class], class_names[class]);
@@ -212,6 +212,7 @@
        load_weights(&net, weightfile);
    }
    detection_layer layer = get_network_detection_layer(net);
    if (!layer.joint) fprintf(stderr, "Detection layer should use joint prediction to draw correctly.\n");
    int im_size = 448;
    set_batch_network(&net, 1);
    srand(2222222);
@@ -227,7 +228,7 @@
        time=clock();
        float *predictions = network_predict(net, X);
        printf("%s: Predicted in %f seconds.\n", filename, sec(clock()-time));
        draw_detection(im, predictions, 7, layer.background || layer.objectness, "predictions");
        draw_detection(im, predictions, 7, "predictions");
        free_image(im);
        free_image(sized);
        #ifdef OPENCV