also use e2e model output for DM policy (#20526)

* neg mining

* clean up format

* eyes less noisy

* update ref
old-commit-hash: 0fb00e10b1
commatwo_master
ZwX1616 4 years ago committed by GitHub
parent bbdd55bbc6
commit 42c3b55f00
  1. 10
      selfdrive/monitoring/driver_monitor.py
  2. 2
      selfdrive/test/process_replay/ref_commit

@ -30,6 +30,8 @@ _BLINK_THRESHOLD_SLACK = 0.65
_BLINK_THRESHOLD_STRICT = 0.5
_PITCH_WEIGHT = 1.35 # pitch matters a lot more
_POSESTD_THRESHOLD = 0.14
_E2E_POSE_THRESHOLD = 0.9
_E2E_EYES_THRESHOLD = 0.75
_METRIC_THRESHOLD = 0.4
_METRIC_THRESHOLD_SLACK = 0.55
_METRIC_THRESHOLD_STRICT = 0.4
@ -194,8 +196,10 @@ class DriverStatus():
self.blink.left_blink = driver_state.leftBlinkProb * (driver_state.leftEyeProb > _EYE_THRESHOLD) * (driver_state.sunglassesProb < _SG_THRESHOLD)
self.blink.right_blink = driver_state.rightBlinkProb * (driver_state.rightEyeProb > _EYE_THRESHOLD) * (driver_state.sunglassesProb < _SG_THRESHOLD)
self.driver_distracted = self._is_driver_distracted(self.pose, self.blink) > 0 and \
driver_state.faceProb > _FACE_THRESHOLD and self.pose.low_std
self.driver_distracted = (self._is_driver_distracted(self.pose, self.blink) > 0 and
driver_state.faceProb > _FACE_THRESHOLD and self.pose.low_std) or \
((driver_state.distractedPose > _E2E_POSE_THRESHOLD or driver_state.distractedEyes > _E2E_EYES_THRESHOLD) and
(self.face_detected and not self.face_partial))
self.driver_distraction_filter.update(self.driver_distracted)
# update offseter
@ -209,7 +213,7 @@ class DriverStatus():
self.is_model_uncertain = self.hi_stds * DT_DMON > _HI_STD_FALLBACK_TIME
self._set_timers(self.face_detected and not self.is_model_uncertain)
if self.face_detected and not self.pose.low_std:
if self.face_detected and not self.pose.low_std and not self.driver_distracted:
self.hi_stds += 1
elif self.face_detected and self.pose.low_std:
self.hi_stds = 0

@ -1 +1 @@
3da639f754563292103525345ec26e384e4cb9a5
796df70c9c83a693f81e4a35d97f90dc5378ef06
Loading…
Cancel
Save