겨울철 고양이가 따뜻한 엔진룸에 들어갔다가 시동 시 벨트에 말려 죽는 사고를 막는 기능이다. 한국에서 "보닛 노크" 캠페인으로 알려진 것을 자동화한 것.
상시 추론이 아니다
§6.3.5 "정의된 트리거 조건 또는 주기에 따라 엔진룸 대상 동물 진입 판정을 수행해야 한다."
Raspberry Pi 3 B 에서 CNN 을 상시 돌리면 전력과 발열을 감당할 수 없다. 주차 상태로 며칠 버텨야 하므로 더 그렇다. TBD-036 이 트리거 조건(시동 시도 / 도어 개방 / 정의된 주기)을 확정 항목으로 둔 이유다.
시동 시도만으로 트리거하면 늦을 수 있다 — 추론에 수백 ms 가 걸리는데 그 사이 스타터가 돈다. 현실적으로는 도어 개방 시점에 미리 판정해 두고 시동 시점엔 캐시된 결과를 쓰되, 그 캐시가 max age 를 넘지 않게 해야 한다.
종 구분 오류는 상대적으로 무해하다
| 실제 | 판정 | 결과 |
|---|---|---|
| 고양이 | 고양이 | 정확 |
| 너구리 | 고양이 | 경고 발생 → 확인 → 동물이 실제로 있었으므로 유용 |
| 없음 | 고양이 | 오경보 |
| 고양이 | 없음 | 미검출 → 사고 |
존재/부재 오류가 치명적이고 종 구분 오류는 아니다. 그래서 신뢰도 기준을 "고양이일 확률"보다 "동물류가 있을 확률"로 잡는 쪽이 안전하다. TBD-030 이 "유사 소동물(너구리 등) 오탐 처리 포함"을 명시한 배경.
진입은 즉시, 해제는 지연
동물은 엔진룸 안에서 움직여 사각지대로 들어간다. 즉시 해제하면 "있음 → 없음 → 있음"이 반복되고, 더 나쁜 건 사용자가 "없음"을 보고 시동을 거는 순간이다. 그래서 §6.3.5 는 해제에만 유지 시간을 요구한다(TBD-031).