@@ -63,6 +63,13 @@ int32_t FaceContext::FaceDetectAndTrack(CameraStream &image) {
6363 m_quality_score_results_cache_.clear ();
6464 m_react_left_eye_results_cache_.clear ();
6565 m_react_right_eye_results_cache_.clear ();
66+
67+ m_action_normal_results_cache_.clear ();
68+ m_action_shake_results_cache_.clear ();
69+ m_action_blink_results_cache_.clear ();
70+ m_action_jaw_open_results_cache_.clear ();
71+ m_action_raise_head_results_cache_.clear ();
72+
6673 m_quality_score_results_cache_.clear ();
6774 m_attribute_race_results_cache_.clear ();
6875 m_attribute_gender_results_cache_.clear ();
@@ -138,6 +145,11 @@ int32_t FaceContext::FacesProcess(CameraStream &image, const std::vector<HyperFa
138145 m_attribute_race_results_cache_.resize (faces.size (), -1 );
139146 m_attribute_gender_results_cache_.resize (faces.size (), -1 );
140147 m_attribute_age_results_cache_.resize (faces.size (), -1 );
148+ m_action_normal_results_cache_.resize (faces.size (), -1 );
149+ m_action_jaw_open_results_cache_.resize (faces.size (), -1 );
150+ m_action_blink_results_cache_.resize (faces.size (), -1 );
151+ m_action_raise_head_results_cache_.resize (faces.size (), -1 );
152+ m_action_shake_results_cache_.resize (faces.size (), -1 );
141153 for (int i = 0 ; i < faces.size (); ++i) {
142154 const auto &face = faces[i];
143155 // RGB Liveness Detect
@@ -190,8 +202,12 @@ int32_t FaceContext::FacesProcess(CameraStream &image, const std::vector<HyperFa
190202 m_react_left_eye_results_cache_[i] = new_eye_left;
191203 m_react_right_eye_results_cache_[i] = new_eye_right;
192204 }
193- target.UpdateFaceAction ();
194-
205+ const auto actions = target.UpdateFaceAction ();
206+ m_action_normal_results_cache_[i] = actions.normal ;
207+ m_action_jaw_open_results_cache_[i] = actions.jawOpen ;
208+ m_action_blink_results_cache_[i] = actions.blink ;
209+ m_action_raise_head_results_cache_[i] = actions.raiseHead ;
210+ m_action_shake_results_cache_[i] = actions.shake ;
195211 } else {
196212 INSPIRE_LOGD (" Serialized objects cannot connect to trace objects in memory, and there may be some problems" );
197213 }
@@ -275,6 +291,26 @@ const std::vector<int>& FaceContext::GetFaceAgeBracketResultsCache() const {
275291 return m_attribute_age_results_cache_;
276292}
277293
294+ const std::vector<int >& FaceContext::GetFaceNormalAactionsResultCache () const {
295+ return m_action_normal_results_cache_;
296+ }
297+
298+ const std::vector<int >& FaceContext::GetFaceJawOpenAactionsResultCache () const {
299+ return m_action_jaw_open_results_cache_;
300+ }
301+
302+ const std::vector<int >& FaceContext::GetFaceBlinkAactionsResultCache () const {
303+ return m_action_blink_results_cache_;
304+ }
305+
306+ const std::vector<int >& FaceContext::GetFaceShakeAactionsResultCache () const {
307+ return m_action_shake_results_cache_;
308+ }
309+
310+ const std::vector<int >& FaceContext::GetFaceRaiseHeadAactionsResultCache () const {
311+ return m_action_raise_head_results_cache_;
312+ }
313+
278314int32_t FaceContext::FaceFeatureExtract (CameraStream &image, FaceBasicData& data) {
279315 std::lock_guard<std::mutex> lock (m_mtx_);
280316 int32_t ret;
0 commit comments