Views
No views yet
#IOU come reward
if action == 6 and self.end:
if current_iou >= 0.5:
reward += 100 * current_iou
terminated = True
step_info = f"SUCCESS IoU: {current_iou:.2f}"
else:
reward -= 20
terminated = True
step_info = f"FALSE_ALARM IoU: {current_iou:.2f}"
elif action == 6:
if current_iou >= 0.5:
reward = 100 * current_iou # IoU = 0.6 * 80→ reward = 48
terminated = True
step_info = f"SUCCESS IoU: {current_iou:.2f}"
else:
reward = -20 # big penalty to avoid early trigger
terminated = True
step_info = f"FALSE_ALARM IoU: {current_iou:.2f}"
else:
delta_iou = current_iou - self.prev_iou
# Encourage improvement
reward = 30 * delta_iou # if IoU increases +0.1 * 10→ reward = +1
# If object not visible, use distance shaping
if current_iou == 0:
delta_dist = prev_dist - curr_dist
reward += 10 * delta_dist # avoid too large values