!!hot!! | Mmodlist
options = dlib.simple_object_detector_training_options() options.add_left_right_image_flips = True options.C = 5 options.num_threads = 4 options.be_verbose = True detector = dlib.train_simple_object_detector(images, boxes_per_image, options) Save the detector detector.save("mmod_detector.svm")
std::vector<mmod_rect> mmodlist; mmod_rect mr; mr.rect = rectangle(10,20,50,80); mr.label = 0; mr.ignore = false; mmodlist.push_back(mr); mmodlist
# List of images (numpy arrays or dlib array2d) images = [img1, img2, ...] boxes_per_image = [ [mmod_rect(...), mmod_rect(...)], # image 0 [mmod_rect(...)], # image 1 [] # image 2 (no objects) ] Example construction: import dlib def load_mmodlist_from_annotation(image_path, annotation_dict): img = dlib.load_rgb_image(image_path) rects = [] for obj in annotation_dict['objects']: r = dlib.rectangle( left=obj['x'], top=obj['y'], right=obj['x']+obj['w'], bottom=obj['y']+obj['h'] ) # label: 0 for 'car', 1 for 'pedestrian', etc. m = dlib.mmod_rect(r, label=obj['class_id'], ignore=obj.get('ignore', False)) rects.append(m) return rects 4. Training a MMOD Detector with mmodlist Once you have images and mmodlists , training is: options = dlib