# test print("Testing ...") gt3D = [j.gt3Dorig for j in testSeqs[0].data] jts_embed = poseNet.computeOutput(test_data) jts = jts_embed joints = [] for i in range(test_data.shape[0]): joints.append(jts[i].reshape(gt3D[0].shape[0], 3) * (testSeqs[0].config['cube'][2] / 2.) + testSeqs[0].data[i].com) joints = numpy.array(joints) hpe = ICVLHandposeEvaluation(gt3D, joints) hpe.subfolder += '/' + eval_prefix + '/' mean_error = hpe.getMeanError() max_error = hpe.getMaxError() print("Train samples: {}, test samples: {}".format(train_data.shape[0], len(gt3D))) print("Mean error: {}mm, max error: {}mm".format(mean_error, max_error)) print("MD score: {}".format(hpe.getMDscore(80))) print("{}".format( [hpe.getJointMeanError(j) for j in range(joints[0].shape[0])])) print("{}".format( [hpe.getJointMaxError(j) for j in range(joints[0].shape[0])])) # save results cPickle.dump(joints, open( "./eval/{}/result_{}_{}.pkl".format(
# save results poseNet.save("./eval/{}/net_{}.pkl".format(eval_prefix, eval_prefix)) # poseNet.load("./eval/{}/net_{}.pkl".format(eval_prefix,eval_prefix)) #################################################### # TEST print("Testing ...") gt3D = [j.gt3Dorig[di.crop_joint_idx].reshape(1, 3) for j in testSeqs[0].data] jts = poseNet.computeOutput([test_data, test_data2, test_data4]) joints = [] for i in xrange(test_data.shape[0]): joints.append(jts[i].reshape(1, 3)*(testSeqs[0].config['cube'][2]/2.) + testSeqs[0].data[i].com) hpe = ICVLHandposeEvaluation(gt3D, joints) hpe.subfolder += '/'+eval_prefix+'/' print("Mean error: {}mm, max error: {}mm".format(hpe.getMeanError(), hpe.getMaxError())) # save results cPickle.dump(joints, open("./eval/{}/result_{}_{}.pkl".format(eval_prefix,os.path.split(__file__)[1],eval_prefix), "wb"), protocol=cPickle.HIGHEST_PROTOCOL) print "Testing baseline" ################################# # BASELINE # Load the evaluation data_baseline = di.loadBaseline('../data/ICVL/LRF_Results_seq_1.txt') hpe_base = ICVLHandposeEvaluation(gt3D, numpy.asarray(data_baseline)[:, di.crop_joint_idx, :].reshape((len(gt3D), 1, 3))) hpe_base.subfolder += '/'+eval_prefix+'/' print("Mean error: {}mm".format(hpe_base.getMeanError()))
gt3D = [j.gt3Dorig for j in testSeqs[0].data] jts_embed = poseNet.computeOutput(test_data) jts = jts_embed joints = [] for i in xrange(test_data.shape[0]): joints.append(jts[i].reshape((-1, 3)) * (testSeqs[0].config['cube'][2] / 2.) + testSeqs[0].data[i].com) joints = numpy.array(joints) hpe = ICVLHandposeEvaluation(gt3D, joints) hpe.subfolder += '/' + eval_prefix + '/' print("Train samples: {}, test samples: {}".format(train_data.shape[0], len(gt3D))) print("Mean error: {}mm, max error: {}mm".format(hpe.getMeanError(), hpe.getMaxError())) print("{}".format( [hpe.getJointMeanError(j) for j in range(joints[0].shape[0])])) print("{}".format( [hpe.getJointMaxError(j) for j in range(joints[0].shape[0])])) # save results cPickle.dump(joints, open( "./eval/{}/result_{}_{}.pkl".format( eval_prefix, os.path.split(__file__)[1], eval_prefix), "wb"), protocol=cPickle.HIGHEST_PROTOCOL) print "Testing baseline"