dmonitoring: use the same way as driving to build model output more clearly (#19933)

* Use the same way as driving to build model output more clearly

* rebase master
old-commit-hash: 2d0c249f40
commatwo_master
Dean Lee 4 years ago committed by GitHub
parent 33495e4368
commit 04d7c01eda
  1. 37
      selfdrive/modeld/models/dmonitoring.cc

@ -147,25 +147,24 @@ DMonitoringResult dmonitoring_eval_frame(DMonitoringModelState* s, void* stream_
double t2 = millis_since_boot(); double t2 = millis_since_boot();
DMonitoringResult ret = {0}; DMonitoringResult ret = {0};
memcpy(&ret.face_orientation, &s->output[0], sizeof ret.face_orientation); for (int i = 0; i < 3; ++i) {
memcpy(&ret.face_orientation_meta, &s->output[6], sizeof ret.face_orientation_meta); ret.face_orientation[i] = s->output[i];
memcpy(&ret.face_position, &s->output[3], sizeof ret.face_position); ret.face_orientation_meta[i] = softplus(s->output[6 + i]);
memcpy(&ret.face_position_meta, &s->output[9], sizeof ret.face_position_meta); }
memcpy(&ret.face_prob, &s->output[12], sizeof ret.face_prob); for (int i = 0; i < 2; ++i) {
memcpy(&ret.left_eye_prob, &s->output[21], sizeof ret.left_eye_prob); ret.face_position[i] = s->output[3 + i];
memcpy(&ret.right_eye_prob, &s->output[30], sizeof ret.right_eye_prob); ret.face_position_meta[i] = softplus(s->output[9 + i]);
memcpy(&ret.left_blink_prob, &s->output[31], sizeof ret.right_eye_prob); }
memcpy(&ret.right_blink_prob, &s->output[32], sizeof ret.right_eye_prob); ret.face_prob = s->output[12];
memcpy(&ret.sg_prob, &s->output[33], sizeof ret.sg_prob); ret.left_eye_prob = s->output[21];
memcpy(&ret.poor_vision, &s->output[34], sizeof ret.poor_vision); ret.right_eye_prob = s->output[30];
memcpy(&ret.partial_face, &s->output[35], sizeof ret.partial_face); ret.left_blink_prob = s->output[31];
memcpy(&ret.distracted_pose, &s->output[36], sizeof ret.distracted_pose); ret.right_blink_prob = s->output[32];
memcpy(&ret.distracted_eyes, &s->output[37], sizeof ret.distracted_eyes); ret.sg_prob = s->output[33];
ret.face_orientation_meta[0] = softplus(ret.face_orientation_meta[0]); ret.poor_vision = s->output[34];
ret.face_orientation_meta[1] = softplus(ret.face_orientation_meta[1]); ret.partial_face = s->output[35];
ret.face_orientation_meta[2] = softplus(ret.face_orientation_meta[2]); ret.distracted_pose = s->output[36];
ret.face_position_meta[0] = softplus(ret.face_position_meta[0]); ret.distracted_eyes = s->output[37];
ret.face_position_meta[1] = softplus(ret.face_position_meta[1]);
ret.dsp_execution_time = (t2 - t1) / 1000.; ret.dsp_execution_time = (t2 - t1) / 1000.;
return ret; return ret;
} }

Loading…
Cancel
Save