From 9f256eab75c54e3b369492a1fc4dfe5606303d69 Mon Sep 17 00:00:00 2001 From: Emiliana <38952746+emilianavt@users.noreply.github.com> Date: Fri, 3 Jan 2020 16:40:45 +0100 Subject: [PATCH] Blink detection and stabilized 3D pose estimation --- README.md | 4 +- Unity/OpenSee.cs | 22 +++++- Unity/OpenSeeShowPoints.cs | 7 +- facetracker.py | 13 +++- models/gaze_opt.onnx | Bin 0 -> 146550 bytes tracker.py | 133 ++++++++++++++++++++++++++++++------- 6 files changed, 145 insertions(+), 34 deletions(-) create mode 100644 models/gaze_opt.onnx diff --git a/README.md b/README.md index ae135d8..98dcdb3 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,9 @@ Additional training has been done on the WFLW dataset after reducing it to 66 po year = {2018} } -The original model can be selected with `--model 0` instead. +The original model can still be selected with `--model 0` instead. + +For the training the gaze and blink detection model, the WFLW dataset and [MRL Eye](http://mrl.cs.vsb.cz/eyedataset) datasets were used. ## Algorithm diff --git a/Unity/OpenSee.cs b/Unity/OpenSee.cs index 3afdd5e..be1a80c 100644 --- a/Unity/OpenSee.cs +++ b/Unity/OpenSee.cs @@ -16,7 +16,7 @@ public class OpenSee : MonoBehaviour { public int listenPort = 11573; private const int nPoints = 66; - private const int packetFrameSize = 8 + 1 + 4 + 4 * 4 + 3 * 4 + 3 * 4 + 4 * 66 + 4 * 2 * 66 + 4 * 3 * 66; + private const int packetFrameSize = 8 + 2 * 4 + 1 + 4 + 3 * 4 + 3 * 4 + 4 * 4 + 4 * 68 + 4 * 2 * 68 + 4 * 3 * 70; [Header("Tracking data")] [Tooltip("This is an informational property that tells you how many packets have been received")] @@ -28,6 +28,10 @@ public class OpenSee : MonoBehaviour { public class OpenSeeData { [Tooltip("The time this tracking data was captured at.")] public double time; + [Tooltip("This field tells you how likely it is that the right eye is open.")] + public float rightEyeOpen; + [Tooltip("This field tells you how likely it is that the left eye is open.")] + public float leftEyeOpen; [Tooltip("This field tells you if 3D points have been successfully estimated from the 2D points. If this is false, do not rely on pose or 3D data.")] public bool got3DPoints; [Tooltip("This field contains the error for fitting the original 3D points. It shouldn't matter much, but it it is very high, something is probably wrong")] @@ -42,9 +46,9 @@ public class OpenSee : MonoBehaviour { public Vector3 rawEuler; [Tooltip("This field tells you how certain the tracker is.")] public float[] confidence; - [Tooltip("These are the detected face landmarks in image coordinates.")] + [Tooltip("These are the detected face landmarks in image coordinates. There are 68 points. The last too points are pupil points from the gaze tracker.")] public Vector2[] points; - [Tooltip("These are 3D points estimated from the 2D points. The should be rotation and translation compensated.")] + [Tooltip("These are 3D points estimated from the 2D points. The should be rotation and translation compensated. There are 70 points with guesses for the eyeball center positions being added at the end of the 68 2D points.")] public Vector3[] points3D; public OpenSeeData() { @@ -81,6 +85,9 @@ public class OpenSee : MonoBehaviour { public void readFromPacket(byte[] b, int o) { time = System.BitConverter.ToDouble(b, o); o += 8; + + rightEyeOpen = readFloat(b, ref o); + leftEyeOpen = readFloat(b, ref o); byte got3D = b[o]; o++; @@ -105,14 +112,23 @@ public class OpenSee : MonoBehaviour { for (int i = 0; i < nPoints; i++) { confidence[i] = readFloat(b, ref o); } + + // Gaze tracker results are still bad, ignore them + readFloat(b, ref o); readFloat(b, ref o); for (int i = 0; i < nPoints; i++) { points[i] = readVector2(b, ref o); } + + // Gaze tracker results are still bad, ignore them + readVector2(b, ref o); readVector2(b, ref o); for (int i = 0; i < nPoints; i++) { points3D[i] = readVector3(b, ref o); } + + // Gaze tracker results are still bad, ignore them + readVector3(b, ref o); readVector3(b, ref o); readVector3(b, ref o); readVector3(b, ref o); } } diff --git a/Unity/OpenSeeShowPoints.cs b/Unity/OpenSeeShowPoints.cs index 442b7e5..383eb59 100644 --- a/Unity/OpenSeeShowPoints.cs +++ b/Unity/OpenSeeShowPoints.cs @@ -9,6 +9,7 @@ public class OpenSeeShowPoints : MonoBehaviour { public bool show3DPoints = true; public bool applyTranslation = false; public bool applyRotation = false; + public float minConfidence = 0.20f; private OpenSee.OpenSeeData[] openSeeData; private GameObject[] gameObjects; private GameObject centerBall; @@ -18,8 +19,8 @@ public class OpenSeeShowPoints : MonoBehaviour { if (openSee == null) { openSee = GetComponent(); } - gameObjects = new GameObject[66]; - for (int i = 0; i < 66; i++) { + gameObjects = new GameObject[68]; + for (int i = 0; i < 68; i++) { gameObjects[i] = GameObject.CreatePrimitive(PrimitiveType.Sphere); gameObjects[i].name = "Point " + (i + 1); gameObjects[i].transform.SetParent(transform); @@ -45,7 +46,7 @@ public class OpenSeeShowPoints : MonoBehaviour { if (show3DPoints) { centerBall.gameObject.SetActive(false); for (int i = 0; i < 66; i++) { - if (openSeeData[0].got3DPoints) { + if (openSeeData[0].got3DPoints && openSeeData[0].confidence[i] > minConfidence) { Renderer renderer = gameObjects[i].GetComponent(); renderer.material.SetColor("_Color", Color.Lerp(Color.red, Color.green, openSeeData[0].confidence[i])); gameObjects[i].transform.localPosition = openSeeData[0].points3D[i]; diff --git a/facetracker.py b/facetracker.py index 6adae5c..3582af8 100644 --- a/facetracker.py +++ b/facetracker.py @@ -28,6 +28,7 @@ parser.add_argument("--log-data", help="You can set a filename to which tracking parser.add_argument("--model", type=int, help="This can be used to select between the two models with 0 being the original model that might be overall more accurate, 1 being a model that might be able to fit eye and eyebrow shapes more accurately and 2 being a much faster, but lower accuracy model", default=1, choices=[0, 1, 2]) parser.add_argument("--model-dir", help="This can be used to specify the path to the directory containing the .onnx model files", default=None) parser.add_argument("--high-quality-3d", type=int, help="When set to 1, more nose points are used when estimating the face pose", default=1) +parser.add_argument("--gaze-tracking", type=int, help="When set to 1, experimental blink detection and gaze tracking are enabled, which makes things slightly slower", default=1) args = parser.parse_args() os.environ["OMP_NUM_THREADS"] = "1" @@ -103,7 +104,7 @@ try: first = False height, width, channels = frame.shape sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - tracker = Tracker(width, height, threshold=args.threshold, max_threads=args.max_threads, max_faces=args.faces, discard_after=args.discard_after, scan_every=args.scan_every, silent=False if args.silent == 0 else True, model_type=args.model, pnp_quality=args.high_quality_3d, model_dir=args.model_dir) + tracker = Tracker(width, height, threshold=args.threshold, max_threads=args.max_threads, max_faces=args.faces, discard_after=args.discard_after, scan_every=args.scan_every, silent=False if args.silent == 0 else True, model_type=args.model, pnp_quality=args.high_quality_3d, model_dir=args.model_dir, no_gaze=False if args.gaze_tracking != 0 else True) if not args.video_out is None: out = cv2.VideoWriter(args.video_out, cv2.VideoWriter_fourcc('M','J','P','G'), 24, (width,height)) @@ -114,13 +115,15 @@ try: tracking_frames += 1 packet = bytearray() detected = False - for face_num, (conf, lms, success_3d, pnp_error, quaternion, euler, rotation, translation, pts_3d) in enumerate(faces): + for face_num, (conf, lms, success_3d, pnp_error, quaternion, euler, rotation, translation, pts_3d, (right_open, left_open)) in enumerate(faces): # TODO: eye_state if args.silent == 0: print(f"Confidence: {conf:.4f} / 3D fitting error: {pnp_error:.4f}") detected = True if not success_3d: - pts_3d = np.zeros((66, 3), np.float32) + pts_3d = np.zeros((70, 3), np.float32) packet.extend(bytearray(struct.pack("d", now))) + packet.extend(bytearray(struct.pack("f", right_open))) + packet.extend(bytearray(struct.pack("f", left_open))) packet.extend(bytearray(struct.pack("B", 1 if success_3d else 0))) packet.extend(bytearray(struct.pack("f", pnp_error))) packet.extend(bytearray(struct.pack("f", quaternion[0]))) @@ -142,6 +145,10 @@ try: packet.extend(bytearray(struct.pack("f", x))) if not log is None: log.write(f",{y},{x},{c}") + if pt_num == 66:# and right_open < 0.5: + continue + if pt_num == 67:# and left_open < 0.5: + continue if args.visualize != 0 or not out is None: if args.visualize > 1: frame = cv2.putText(frame, str(pt_num), (int(y), int(x)), cv2.FONT_HERSHEY_SIMPLEX, 0.25, (255,255,0)) diff --git a/models/gaze_opt.onnx b/models/gaze_opt.onnx new file mode 100644 index 0000000000000000000000000000000000000000..02401ce5d4f2715330ae0a0134ab98fa5d91a558 GIT binary patch literal 146550 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 literal 0 HcmV?d00001 diff --git a/tracker.py b/tracker.py index e4b3b42..ff540ad 100644 --- a/tracker.py +++ b/tracker.py @@ -53,13 +53,13 @@ def group_rects(rects): rect_groups[str(other_rect)] = [group, -1, []] return rect_groups -def logit(p): +def logit(p, factor=16.0): if p >= 1.0: p = 0.9999999 if p <= 0.0: p = 0.0000001 p = p/(1-p) - return float(np.log(p) / 16.0) + return float(np.log(p) / factor) def matrix_to_quaternion(m): t = 0.0 @@ -87,7 +87,7 @@ def worker_thread(session, input, crop_info, queue, input_name, idx, tracker): queue.put((session, conf, lms, crop_info, idx)) class Tracker(): - def __init__(self, width, height, model_type=1, threshold=0.4, max_faces=1, discard_after=5, scan_every=3, bbox_growth=0.0, max_threads=4, silent=False, pnp_quality=1, model_dir=None): + def __init__(self, width, height, model_type=1, threshold=0.4, max_faces=1, discard_after=5, scan_every=3, bbox_growth=0.0, max_threads=4, silent=False, pnp_quality=1, model_dir=None, no_gaze=False): options = onnxruntime.SessionOptions() options.inter_op_num_threads = 1 options.intra_op_num_threads = max_threads @@ -123,6 +123,14 @@ class Tracker(): options.graph_optimization_level = onnxruntime.GraphOptimizationLevel.ORT_ENABLE_ALL self.sessions.append(onnxruntime.InferenceSession(os.path.join(model_base_path, model), sess_options=options)) self.input_name = self.session.get_inputs()[0].name + + options = onnxruntime.SessionOptions() + options.inter_op_num_threads = 1 + options.intra_op_num_threads = max_threads + options.execution_mode = onnxruntime.ExecutionMode.ORT_SEQUENTIAL + options.graph_optimization_level = onnxruntime.GraphOptimizationLevel.ORT_ENABLE_ALL + options.log_severity_level = 3 + self.gaze_model = onnxruntime.InferenceSession(os.path.join(model_base_path, "gaze_opt.onnx"), sess_options=options) self.faceCascade = cv2.CascadeClassifier() self.faceCascade.load(os.path.join(model_base_path, "haarcascade_frontalface_alt2.xml")) @@ -205,6 +213,11 @@ class Tracker(): [-0.04980, -0.21723, -0.14035], [0.00000, -0.21201, -0.11404], [0.04980, -0.21723, -0.14035], + # Pupils and eyeball centers + [0.25799, 0.27608, -0.16923], + [-0.25799, 0.27608, -0.16923], + [0.25799, 0.27608, -0.24967], + [-0.25799, 0.27608, -0.24967], ], np.float32) * np.array([1.0, 1.0, 1.15]) self.contour = np.empty((21 if self.high_quality_3d else 18, 3)) @@ -231,6 +244,7 @@ class Tracker(): self.silent = silent self.res = 224. if self.model_type < 2 else 112. self.res_i = int(self.res) + self.no_gaze = no_gaze def landmarks(self, tensor, crop_info): crop_x1, crop_y1, scale_x, scale_y = crop_info @@ -242,6 +256,15 @@ class Tracker(): y = m % 28 conf = float(tensor[i][x,y]) avg_conf = avg_conf + conf + + # Bugfix for heatmaps being offset during training (models need retraining, but this seems to be working fine somehow) + x += 2 + y += 2 + if x >= 28: + x = 27 + if y >= 28: + y = 27 + off_x = 0 off_y = 0 if self.model_type > 0: @@ -250,13 +273,15 @@ class Tracker(): else: off_x = self.res * ((2. * float(tensor[66 + i][y, x])) - 1.0) off_y = self.res * ((2. * float(tensor[66 * 2 + i][y, x])) - 1.0) - x = crop_y1 + scale_y * (self.res * (float(x) / 28.) + off_x) - y = crop_x1 + scale_x * (self.res * (float(y) / 28.) + off_y) - lms.append((x,y,conf)) + lm_x = crop_y1 + scale_y * (self.res * (float(x) / 28.) + off_x) + lm_y = crop_x1 + scale_x * (self.res * (float(y) / 28.) + off_y) + lms.append((lm_x,lm_y,conf)) avg_conf = avg_conf / 66. return (avg_conf, lms) - def estimateDepth(self, lms): + def estimateDepth(self, lms, eye_state): + lms = np.concatenate((lms, np.array([[eye_state[0][1], eye_state[0][2], eye_state[0][3]], [eye_state[1][1], eye_state[1][2], eye_state[1][3]]], np.float)), 0) + image_pts = np.empty((21 if self.high_quality_3d else 18, 2), np.float32) image_pts[0:17] = np.array(lms)[0:17,0:2] if (self.high_quality_3d): @@ -266,26 +291,38 @@ class Tracker(): success = False if self.max_faces < 2 and not self.rotation is None: - success, self.rotation, self.translation = cv2.solvePnP(self.contour, image_pts, self.camera, self.dist_coeffs, useExtrinsicGuess=True, rvec=np.transpose(self.rotation), tvec=np.transpose(self.translation), flags=cv2.SOLVEPNP_EPNP) + success, self.rotation, self.translation, inliers = cv2.solvePnPRansac(self.contour, image_pts, self.camera, self.dist_coeffs, useExtrinsicGuess=True, rvec=np.transpose(self.rotation), tvec=np.transpose(self.translation), flags=cv2.SOLVEPNP_ITERATIVE) else: - success, self.rotation, self.translation = cv2.solvePnP(self.contour, image_pts, self.camera, self.dist_coeffs, flags=cv2.SOLVEPNP_EPNP) + rvec = np.array([-180, 0, -90], np.float32) + tvec = np.array([0, 0, 0], np.float32) + success, self.rotation, self.translation, inliers = cv2.solvePnPRansac(self.contour, image_pts, self.camera, self.dist_coeffs, useExtrinsicGuess=True, rvec=rvec, tvec=tvec, flags=cv2.SOLVEPNP_ITERATIVE) rotation = self.rotation translation = self.translation + pts_3d = np.zeros((70,3), np.float32) if not success: - self.rotation = np.array([0.0, 0.0, 0.0], np.float32) - self.translation = np.array([0.0, 0.0, 0.0], np.float32) - return False, np.zeros(4), 0.0, [] + self.rotation = np.array([[0.0, 0.0, 0.0]], np.float32) + self.translation = np.array([[0.0, 0.0, 0.0]], np.float32) + return False, np.zeros(4), np.zeros(3), 99999., pts_3d, lms else: self.rotation = np.transpose(self.rotation) self.translation = np.transpose(self.translation) rmat, _ = cv2.Rodrigues(rotation) inverse_rotation = np.linalg.inv(rmat) - pts_3d = [] pnp_error = 0.0 for i, pt in enumerate(self.face_3d): + if i == 68: + eye_center = np.transpose(pts_3d[36:42,0:2], (1,0)).mean(1) + pt_3d = np.array([eye_center[0], eye_center[1], self.face_3d[i][2]], np.float32) + pts_3d[i] = pt_3d + continue + if i == 69: + eye_center = np.transpose(pts_3d[42:48,0:2], (1,0)).mean(1) + pt_3d = np.array([eye_center[0], eye_center[1], self.face_3d[i][2]], np.float32) + pts_3d[i] = pt_3d + continue reference = rmat.dot(pt) reference = reference + self.translation reference = self.camera.dot(reference[0]) @@ -295,14 +332,14 @@ class Tracker(): e1 = lms[i][0] - reference[0] e2 = lms[i][1] - reference[1] pnp_error += e1*e1 + e2*e2 - pt_2d = np.array([lms[i][0] * depth, lms[i][1] * depth, depth], np.float32) - pt_2d = self.inverse_camera.dot(pt_2d) - pt_2d = pt_2d - self.translation - pt_2d = inverse_rotation.dot(pt_2d[0]) - pts_3d.append(pt_2d) + pt_3d = np.array([lms[i][0] * depth, lms[i][1] * depth, depth], np.float32) + pt_3d = self.inverse_camera.dot(pt_3d) + pt_3d = pt_3d - self.translation + pt_3d = inverse_rotation.dot(pt_3d[0]) + pts_3d[i,:] = pt_3d[:] euler = cv2.RQDecomp3x3(rmat)[0] - return True, matrix_to_quaternion(rmat), euler, np.sqrt(pnp_error / (2 * 17.0)), pts_3d + return True, matrix_to_quaternion(rmat), euler, np.sqrt(pnp_error / (2.0 * image_pts.shape[0])), pts_3d, lms def preprocess(self, im, crop): x1, y1, x2, y2 = crop @@ -317,6 +354,53 @@ class Tracker(): im = np.expand_dims(im, 1) return im + def prepare_eye(self, frame, lms): + lms = np.transpose(lms, (1,0)) + center = lms.mean(1) + radius = np.abs(lms - np.expand_dims(center, 1)).max(1).max() * 0.8 + x = center[1] + y = center[0] + x1, y1 = clamp_to_im((x - radius, y - radius), self.width, self.height) + x2, y2 = clamp_to_im((x + radius, y + radius), self.width, self.height) + dist = min(x2-x1, y2-y1) + x2 = x1 + dist + y2 = y1 + dist + im = np.float32(frame[int(y1):int(y2), int(x1):int(x2),::-1]) + im = cv2.resize(im, (32, 32), interpolation=cv2.INTER_LINEAR) / self.std - self.mean + im = np.expand_dims(im, 0) + im = np.transpose(im, (0,3,1,2)) + return (im, x1, y1, dist / 32.) + + def get_eye_state(self, frame, lms): + if self.no_gaze: + return [(1.0, 0.0, 0.0, 0.0), (1.0, 0.0, 0.0, 0.0)] + lms = np.array(lms) + e_x = [0,0] + e_y = [0,0] + scale = [0,0] + (right_eye, e_x[0], e_y[0], scale[0]) = self.prepare_eye(frame, lms[36:42,0:2]) + (left_eye, e_x[1], e_y[1], scale[1]) = self.prepare_eye(frame, lms[42:48,0:2]) + both_eyes = np.concatenate((right_eye, left_eye)) + results = np.array(self.gaze_model.run([], {self.input_name: both_eyes})[0]) + open = [0, 0] + open[0] = results[0][3].mean() + open[1] = results[1][3].mean() + + eye_state = [] + for i in range(2): + m = int(results[i][0].argmax()) + x = m // 8 + y = m % 8 + conf = float(results[i][0][x,y]) + + off_y = 32.0 * logit(results[i][1][y, x], 8.0) + off_x = 32.0 * logit(results[i][2][y, x], 8.0) + eye_y = e_y[i] + scale[i] * (32.0 * float(x) / 8.0 + off_x) + eye_x = e_x[i] + scale[i] * (32.0 * float(y) / 8.0 + off_y) + eye_state.append([open[i], eye_y, eye_x, conf]) + + return eye_state + def predict(self, frame, additional_faces=[]): start = time.time() im = frame @@ -404,6 +488,7 @@ class Tracker(): best_results = {} for crop in crop_info: conf, lms, i = outputs[crop] + eye_state = self.get_eye_state(frame, lms) if conf < self.threshold: continue; group_id = groups[str(new_faces[i])][0] @@ -411,7 +496,7 @@ class Tracker(): best_results[group_id] = [-1, []] if conf > self.threshold and best_results[group_id][0] < conf: best_results[group_id][0] = conf - best_results[group_id][1] = lms + best_results[group_id][1] = (lms, eye_state) sorted_results = sorted(best_results.values(), key=lambda x: x[0], reverse=True) duration_model = 1000 * (time.time() - start_model) @@ -419,20 +504,20 @@ class Tracker(): results = [] detected = [] detections = 0 - for conf, lms in sorted_results: + for conf, (lms, eye_state) in sorted_results: if detections >= self.max_faces: break; if conf > self.threshold: detections += 1 start_pnp = time.time() - success, quaternion, euler, pnp_error, pts_3d = self.estimateDepth(lms) + success, quaternion, euler, pnp_error, pts_3d, lms = self.estimateDepth(lms, eye_state) duration_pnp += 1000 * (time.time() - start_pnp) - results.append((conf, lms, success, pnp_error, quaternion, euler, self.rotation, self.translation, pts_3d)) + results.append((conf, lms, success, pnp_error, quaternion, euler, self.rotation, self.translation, pts_3d, (eye_state[0][0], eye_state[1][0]))) min_x = 10000 max_x = -1 min_y = 10000 max_y = -1 - for (x,y,c) in lms: + for (x,y,c) in lms[0:66]: if x > max_x: max_x = x if y > max_y: