Files
vision-anti-pinch/tests/ORIN_SESSION_REPORT.md
T

4.3 KiB
Raw Blame History

H.264 推理过程录制与回灌验证(2026-09-24)

范围:按本次要求,仅修改 inference-only。测试直接在当前 orin-desktop 的 Jetson Orin 上执行;真实 /dev/video5,1920×1536 UYVY,L4T R35.4.1,CUDA 11.4,TensorRT,OpenCV 4.5.4 / FFmpeg H.264。未使用 SSH。

本机模拟与编解码回归

  • tests/run_session.sh:实际 H.264 编码/解码,使用人工图像及模拟结果,不加载 TensorRT。覆盖有步长的 BGR 输入、视频帧顺序、帧号间隔、配置恢复、原始时间戳保留、编码器刷新、正常 EOF、空会话、拒绝覆盖、缺失 JSON、非法/截断索引、不完整会话和奇数尺寸。启用 UBSan。
  • tests/run_camera_timeout.sh:模拟 V4L2 采集;通过超时重试、有效帧后重新计数、第六次超时失败与主动停止回归。此项不是本次真实硬件故障恢复的证明。

真实摄像头与 TensorRT

脚本:tests/orin_session_test.py。完整数据见 orin_session_results.json。

项目 结果
摄像头录制 13 个完成推理的帧,H.264 / MP4,1920×1536
视频体积 303,989 字节;同帧数未压缩 BGR 为 115,015,680 字节,约缩小 378 倍,仅代表本次静态场景
完整回灌 13/13 帧,顺序与原帧号一致,原始采集元数据保留,EOF 正常退出
结果检查 13/13 跟踪 ID 与风险决策一致;本次无检测到的人员
录制期间 SIGTERM 1.417 秒完整退出,视频封装成功
回灌期间 SIGINT 0.865 秒完整退出,保存 2 帧后停止,视频封装成功
实际运行程序核对 /proc/<pid>/exe 与源码构建二进制 SHA256 相同

实机首次测试发现:若在 CameraPipeline 构造期间打开视频解码器,FFmpeg 工作线程可能在 StopSignals 安装前创建,SIGINT 可直接终止进程。已将解码器打开操作移至继承信号掩码的采集线程,修复后重跑上述实机测试全部通过。

测试前没有 camera_risk 进程,未更改既有启动参数;测试脚本仅管理自己启动的进程,测试后不留下常驻进程。原始视频、逐帧记录与日志在 /tmp/vap-video-session-hardware-20260924-fixed/,不提交摄像头图像。

板端故障注入与范围限制

本次未做板端 V4L2 故障注入或物理拔线操作;共享相机恢复实现保持原样,其既有硬件报告见 ORIN_TEST_REPORT.md,不能视作本次新增功能的实测覆盖。当前实机画面没有检测到人员,RTMW 完成初始化/预热,但未覆盖有人员的逐帧姿态推理、遮挡隔离推理或风险变化;报告中的关键点差异为 0 不代表有人员场景的精度结论。

未覆盖 GUI 预览、GPU 故障、磁盘写满、断电/强杀后的媒体恢复、长时间录制与 NVENC/NVDEC 硬件编解码。当前为软件 H.264 编解码;强杀留下的未完成会话按设计拒绝回灌。

经测试的程序 SHA256

0f178057529eb8be44bb9a639504dfe57a1e353a84d2351fd907304f6d951c11

独立包 orin/build/camera_risk 已更新,orin/SHA256SUMS 全部校验通过。使用独立包实际运行并完整回灌 13 帧,再次核对 /proc/<pid>/exe 与上述哈希一致;部署检查日志位于 /tmp/vap-video-session-deployment-20260924/。测试结束恢复原来的无常驻进程状态。

默认开启可视化补充验证(2026-09-24)

实时推理、录制和回灌默认显示全部现有叠加;新增 --no-visualize,无显示环境自动跳过预览。已在 Orin 的真实桌面上通过 X11 窗口列表确认默认创建 CMS Camera Risk 窗口,并使用更新后的独立包完成真实摄像头 13 帧录制、13 帧完整回灌、录制 SIGTERM(1.267 秒)及回灌 SIGINT(0.916 秒)检查。另验证 --no-visualize 和清除 DISPLAY / WAYLAND_DISPLAY 后均能正常完成 TensorRT 回灌。

新二进制 SHA256:cd9711d71c6d04f40adf9434f893abe1744e9e2013f1459ddf736a80dcbbfd64。源码构建文件、独立包文件及 /proc/<pid>/exe 一致;orin/SHA256SUMS 已刷新。完整数据在 orin_session_results.json 的 default_visualization 中,日志位于 /tmp/vap-default-preview-20260924/。此次未重复模拟采集和板端故障注入;仍未覆盖有人员时的关键点显示、窗口按钮/键盘关闭操作。测试前后均无常驻推理进程。