def __init__(self, align_path, net_path, storage_folder):
self._bridge = CvBridge()
self._learn_srv = rospy.Service('learn', LearnFace, self._learn_face_srv)
self._detect_srv = rospy.Service('detect', DetectFace, self._detect_face_srv)
self._clear_srv = rospy.Service('clear', Empty, self._clear_faces_srv)
# Init align and net
self._align = openface.AlignDlib(align_path)
self._net = openface.TorchNeuralNet(net_path, imgDim=96, cuda=False)
self._face_detector = dlib.get_frontal_face_detector()
self._face_dict = {} # Mapping from string to list of reps
self._face_dict_filename = rospy.get_param( '~face_dict_filename', '' )
if ( self._face_dict_filename != '' ):
if ( not os.path.isfile( self._face_dict_filename ) ):
print '_face_dict does not exist; will save to %s' % self._face_dict_filename
else:
with open( self._face_dict_filename, 'rb') as f:
self._face_dict = pickle.load( f )
print 'read _face_dict: %s' % self._face_dict_filename
if not os.path.exists(storage_folder):
os.makedirs(storage_folder)
self._storage_folder = storage_folder
评论列表
文章目录