Better gaze visualization.
This commit is contained in:
parent
73d8dddbb2
commit
fd4d06166a
2 changed files with 3 additions and 3 deletions
|
@ -203,20 +203,20 @@ int main (int argc, char **argv)
|
||||||
// Displaying the tracking visualizations
|
// Displaying the tracking visualizations
|
||||||
visualizer.SetImage(captured_image, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy);
|
visualizer.SetImage(captured_image, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy);
|
||||||
visualizer.SetObservationFaceAlign(sim_warped_img);
|
visualizer.SetObservationFaceAlign(sim_warped_img);
|
||||||
visualizer.SetObservationGaze(gazeDirection0, gazeDirection1, gazeAngle, LandmarkDetector::CalculateAllEyeLandmarks(face_model), LandmarkDetector::Calculate3DEyeLandmarks(face_model, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy));
|
|
||||||
visualizer.SetObservationHOG(hog_descriptor, num_hog_rows, num_hog_cols);
|
visualizer.SetObservationHOG(hog_descriptor, num_hog_rows, num_hog_cols);
|
||||||
visualizer.SetObservationLandmarks(face_model.detected_landmarks, face_model.detection_certainty, detection_success);
|
visualizer.SetObservationLandmarks(face_model.detected_landmarks, face_model.detection_certainty, detection_success);
|
||||||
visualizer.SetObservationPose(pose_estimate, face_model.detection_certainty);
|
visualizer.SetObservationPose(pose_estimate, face_model.detection_certainty);
|
||||||
|
visualizer.SetObservationGaze(gazeDirection0, gazeDirection1, gazeAngle, LandmarkDetector::CalculateAllEyeLandmarks(face_model), LandmarkDetector::Calculate3DEyeLandmarks(face_model, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy));
|
||||||
visualizer.ShowObservation();
|
visualizer.ShowObservation();
|
||||||
|
|
||||||
// Setting up the recorder output
|
// Setting up the recorder output
|
||||||
open_face_rec.SetObservationHOG(detection_success, hog_descriptor, num_hog_rows, num_hog_cols, 31); // The number of channels in HOG is fixed at the moment, as using FHOG
|
open_face_rec.SetObservationHOG(detection_success, hog_descriptor, num_hog_rows, num_hog_cols, 31); // The number of channels in HOG is fixed at the moment, as using FHOG
|
||||||
open_face_rec.SetObservationVisualization(visualizer.GetVisImage());
|
open_face_rec.SetObservationVisualization(visualizer.GetVisImage());
|
||||||
open_face_rec.SetObservationActionUnits(face_analyser.GetCurrentAUsReg(), face_analyser.GetCurrentAUsClass());
|
open_face_rec.SetObservationActionUnits(face_analyser.GetCurrentAUsReg(), face_analyser.GetCurrentAUsClass());
|
||||||
open_face_rec.SetObservationGaze(gazeDirection0, gazeDirection1, gazeAngle, LandmarkDetector::CalculateAllEyeLandmarks(face_model), LandmarkDetector::Calculate3DEyeLandmarks(face_model, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy));
|
|
||||||
open_face_rec.SetObservationLandmarks(face_model.detected_landmarks, face_model.GetShape(sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy),
|
open_face_rec.SetObservationLandmarks(face_model.detected_landmarks, face_model.GetShape(sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy),
|
||||||
face_model.params_global, face_model.params_local, face_model.detection_certainty, detection_success);
|
face_model.params_global, face_model.params_local, face_model.detection_certainty, detection_success);
|
||||||
open_face_rec.SetObservationPose(pose_estimate);
|
open_face_rec.SetObservationPose(pose_estimate);
|
||||||
|
open_face_rec.SetObservationGaze(gazeDirection0, gazeDirection1, gazeAngle, LandmarkDetector::CalculateAllEyeLandmarks(face_model), LandmarkDetector::Calculate3DEyeLandmarks(face_model, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy));
|
||||||
open_face_rec.SetObservationTimestamp(sequence_reader.time_stamp);
|
open_face_rec.SetObservationTimestamp(sequence_reader.time_stamp);
|
||||||
open_face_rec.SetObservationFaceAlign(sim_warped_img);
|
open_face_rec.SetObservationFaceAlign(sim_warped_img);
|
||||||
open_face_rec.WriteObservation();
|
open_face_rec.WriteObservation();
|
||||||
|
|
|
@ -184,7 +184,7 @@ void Visualizer::SetObservationGaze(const cv::Point3f& gaze_direction0, const cv
|
||||||
next_point = 20 + 28;
|
next_point = 20 + 28;
|
||||||
|
|
||||||
cv::Point nextFeaturePoint(cvRound(eye_landmarks2d[next_point].x * (double)draw_multiplier), cvRound(eye_landmarks2d[next_point].y * (double)draw_multiplier));
|
cv::Point nextFeaturePoint(cvRound(eye_landmarks2d[next_point].x * (double)draw_multiplier), cvRound(eye_landmarks2d[next_point].y * (double)draw_multiplier));
|
||||||
if (i < 8 || i > 19)
|
if ((i < 28 && (i < 8 || i > 19)) || (i >= 28 && (i < 8 + 28 || i > 19 + 28)))
|
||||||
cv::line(captured_image, featurePoint, nextFeaturePoint, cv::Scalar(255, 0, 0), thickness_2, CV_AA, draw_shiftbits);
|
cv::line(captured_image, featurePoint, nextFeaturePoint, cv::Scalar(255, 0, 0), thickness_2, CV_AA, draw_shiftbits);
|
||||||
else
|
else
|
||||||
cv::line(captured_image, featurePoint, nextFeaturePoint, cv::Scalar(0, 0, 255), thickness_2, CV_AA, draw_shiftbits);
|
cv::line(captured_image, featurePoint, nextFeaturePoint, cv::Scalar(0, 0, 255), thickness_2, CV_AA, draw_shiftbits);
|
||||||
|
|
Loading…
Reference in a new issue