Ejemplo n.º 1
0
def check_results(aligned, vs_ref=False):
    assert "pgm" in argv[3]  # only for pgms
    sse = 0.0
    for i in xrange(len(aligned)):
        bn = splitext(basename(argv[3 + i]))[0].lower()
        if vs_ref:  # Michael comparison
            pts = loadtxt("data/bioid/ref_impl_facepts/%s.facepts" % bn)
        else:  # ground truth comparison
            pts = read_pointsfile("data/bioid/points/%s.pts" % bn)
            # visualize(argv[3+i],pts)
        err = ((aligned[i] - pts) ** 2).sum()
        print bn, err
        sse += err
    print "total error:", sse
    print "avg per img:", sse / float(len(aligned))
Ejemplo n.º 2
0
def check_results(aligned, vs_ref=False):
    assert 'pgm' in argv[3]  # only for pgms
    sse = 0.0
    for i in xrange(len(aligned)):
        bn = splitext(basename(argv[3 + i]))[0].lower()
        if vs_ref:  # Michael comparison
            pts = loadtxt("data/bioid/ref_impl_facepts/%s.facepts" % bn)
        else:  # ground truth comparison
            pts = read_pointsfile("data/bioid/points/%s.pts" % bn)
            #visualize(argv[3+i],pts)
        err = ((aligned[i] - pts)**2).sum()
        print bn, err
        sse += err
    print "total error:", sse
    print "avg per img:", sse / float(len(aligned))
Ejemplo n.º 3
0
def main(img_dir,pts_dir,haar_file,num_trains):
	t = Trainer()
	cascade = load_cascade(haar_file)
	sglob = lambda dir: sorted(glob(dir+"/*"))
	paths = izip(sglob(img_dir),sglob(pts_dir))
	# split into training and testing
	for im,pf in islice(paths,num_trains):
		img = pvImage(im)
		pts = read_pointsfile(pf)
		faces = detect_faces(img,cascade)
		if faces:
			t.add_training_image(img,pts,faces[0])
		else:
			print "No face found for %s"%im
	t.train()
	t.export_aligner('aligner.yaml')