Old feature extraction method
| | |
| | | CC=gcc |
| | | COMMON=-Wall `pkg-config --cflags opencv` |
| | | COMMON=-Wall `pkg-config --cflags opencv` -I/usr/local/cuda/include/ |
| | | UNAME = $(shell uname) |
| | | OPTS=-O3 |
| | | ifeq ($(UNAME), Darwin) |
| | | COMMON+= -isystem /usr/local/Cellar/opencv/2.4.6.1/include/opencv -isystem /usr/local/Cellar/opencv/2.4.6.1/include |
| | | LDFLAGS= -framework OpenCL |
| | | else |
| | | OPTS+= -march=native -flto |
| | | OPTS+= -march=native |
| | | LDFLAGS= -lOpenCL |
| | | endif |
| | | CFLAGS= $(COMMON) $(OPTS) |
| | |
| | | { |
| | | cl_info info; |
| | | info.initialized = 0; |
| | | cl_uint platforms, devices; |
| | | //cl_uint num_platforms, num_devices; |
| | | // Fetch the Platform and Device IDs; we only want one. |
| | | info.error=clGetPlatformIDs(1, &info.platform, &platforms); |
| | | cl_device_id devices[2]; |
| | | info.error=clGetPlatformIDs(1, &info.platform, 0); |
| | | check_error(info); |
| | | info.error=clGetDeviceIDs(info.platform, CL_DEVICE_TYPE_ALL, 1, &info.device, &devices); |
| | | info.error=clGetDeviceIDs(info.platform, CL_DEVICE_TYPE_ALL, 2, devices, 0); |
| | | info.device = devices[rand()%2]; |
| | | check_error(info); |
| | | |
| | | cl_context_properties properties[]={ |
| | |
| | | IplImage *sized = cvCreateImage(cvSize(w,h), src->depth, src->nChannels); |
| | | cvResize(src, sized, CV_INTER_LINEAR); |
| | | image im = ipl_to_image(sized); |
| | | normalize_array(im.data, im.h*im.w*im.c); |
| | | //normalize_array(im.data, im.h*im.w*im.c); |
| | | //translate_image(im, -144); |
| | | resize_network(net, im.h, im.w, im.c); |
| | | forward_network(net, im.data); |
| | | image out = get_network_image_layer(net, 6); |
| | | image out = get_network_image(net); |
| | | free_image(im); |
| | | cvReleaseImage(&sized); |
| | | return copy_image(out); |
| | |
| | | cvWaitKey(0); |
| | | } |
| | | |
| | | void features_VOC_image(char *image_file, char *image_dir, char *out_dir) |
| | | void features_VOC_image(char *image_file, char *image_dir, char *out_dir, int flip) |
| | | { |
| | | int flip = 1; |
| | | int interval = 4; |
| | | int i,j; |
| | | network net = parse_network_cfg("cfg/voc_imagenet.cfg"); |
| | | network net = parse_network_cfg("cfg/voc_imagenet_nonorm.cfg"); |
| | | char image_path[1024]; |
| | | sprintf(image_path, "%s/%s",image_dir, image_file); |
| | | char out_path[1024]; |
| | |
| | | fprintf(fp, "%d, %d, %d\n",out.c, out.h, out.w); |
| | | for(j = 0; j < out.c*out.h*out.w; ++j){ |
| | | if(j != 0)fprintf(fp, ","); |
| | | fprintf(fp, "%g", out.data[j]); |
| | | float o = out.data[j]; |
| | | //if(o < 0) o = 0; |
| | | fprintf(fp, "%g", o); |
| | | } |
| | | fprintf(fp, "\n"); |
| | | free_image(out); |
| | |
| | | //test_vince(); |
| | | //test_full(); |
| | | //train_VOC(); |
| | | //features_VOC_image(argv[1], argv[2], argv[3]); |
| | | features_VOC_image(argv[1], argv[2], argv[3], 0); |
| | | features_VOC_image(argv[1], argv[2], argv[3], 1); |
| | | //features_VOC_image_size(argv[1], atoi(argv[2]), atoi(argv[3])); |
| | | //visualize_imagenet_features("data/assira/train.list"); |
| | | visualize_imagenet_topk("data/VOC2012.list"); |
| | | //visualize_imagenet_topk("data/VOC2012.list"); |
| | | //visualize_cat(); |
| | | //flip_network(); |
| | | //test_visualize(); |