Joseph Redmon
2015-06-10 a79299d317bd47180ea5015e936182766e51b500
NIPS demo
3 files modified
26 ■■■■ changed files
Makefile 10 ●●●● patch | view | raw | blame | history
src/detection.c 9 ●●●●● patch | view | raw | blame | history
src/image.c 7 ●●●●● 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
src/image.c
@@ -577,13 +577,6 @@
void test_resize(char *filename)
{
    image im = load_image(filename, 0,0, 3);
    image small = resize_image(im, 65, 63);
    image big = resize_image(im, 513, 512);
    image crop = crop_image(im, 50, 10, 100, 100);
    image crop2 = crop_image(im, -30, -50, 291, 400);
    image rot = rotate_image(big, .02);
    image rot2 = rotate_image(big, 3.14159265/2.);
    image test = rotate_image(im, .6);
    image gray = grayscale_image(im);
    image sat2 = copy_image(im);