Mmodlist Online

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")

# Convert simple rectangle list to mmodlist with default label 0 def to_mmodlist(rect_list, label=0): return [dlib.mmod_rect(r, label=label, ignore=False) for r in rect_list] Reverse conversion (strip labels/ignore): mmodlist

options = dlib.simple_object_detector_training_options() options.C = 1 options.num_threads = 8 options.add_left_right_image_flips = True options = dlib

#include <dlib/image_processing.h> using namespace dlib; label=0): return [dlib.mmod_rect(r

detector = dlib.train_simple_object_detector(images, mmodlists, options) img = dlib.load_rgb_image("test.jpg") dets = detector(img) for det in dets: print(f"Class det.label at det.rect, score det.detection_confidence")

Under the hood, train_simple_object_detector converts mmodlist into the internal MMOD loss format. The ignore flag is critical for hard examples: