v021 1.软件版本 021/921,firmware 005/905;配置 005、模型 004 随本版发布。 2.修复存图 / MPI / V4L2 并发与资源回收隐患。 3.红外日夜切换防抖帧数 `switch_cnts_th` 可配置(默认 40)。 4.循环存图空间不足时连续清理旧图;STANDBY 存图后归还相机缓冲;头/头盔 ROI 最小 20×20。 5.新增 `occlusion_strictness` 遮挡严格度配置; 6.头盔检测模型升级,识别效果提升。头盔检测模型升级为 004(OTA 904)。 7.红外补光工作更稳定;日志日配额可跨重启累计。 version: | 类型 | hw | sw | iq | npu | cfg | model | firmware | | 正式 | 001 | 021 | 002 | 001 | 006 | 004 | 005 | | OTA | 901 | 921 | 902 | 901 | 906 | 904 | 905 | v020 1.软件版本正式 020 / OTA 920;非文件版本按 0xx/9xx 映射(fw 004/904);cfg/iq/model 分 0xx 与 9xx 两套(cfg 005/905)。 2.V4L2 软件 MJPEG 推流,stream_enable 支持 0关/1推流/2推流+画框。 3.业务/调试存图分离,循环存图 userdata 不足 1024KB 才删最旧图。 4.镜头模糊/遮挡:检出 head/helmet 清遮挡;修复遮挡恢复后 fault=0x03 粘住。 5.启动故障驱动优先(ISP>MPP>NPU)>sensor>文件;模型/配置/IQ 正确报 0x06/0x07/0x05;支持 KANKAN_SKIP_* 验证。 6.卡死/超时只报故障退 STANDBY 不自退出;Flash 日配额 80KB 跨重启续计;smart_ir 常驻、工作态仅开关。 version: | 类型 | hw | sw | iq | npu | cfg | model | firmware | | 正式 | 001 | 020 | 002 | 001 | 005 | 003 | 004 | | OTA | 901 | 920 | 902 | 901 | 905 | 903 | 904 | v019 1.正式算法进程软件版本为 019,同包 OTA 算法进程软件版本为 919。 2.非文件版本随 SW 系列映射:正式版 0xx(hw/npu/fw=001/001/003),OTA 版 9xx(901/901/903);cfg/iq/model 仍从文件读取。 3.配置、IQ 和模型版本分别为 904、902 和 903。 version: | 类型 | hw | sw | iq | npu | cfg | model | firmware | | 正式 | 001 | 019 | 902 | 001 | 904 | 903 | 003 | | OTA | 901 | 919 | 902 | 901 | 904 | 903 | 903 | v918 1.算法程序版本号调整为 9xx。 2.取消 stream_osd_enable 后配置结构变化,配置版本升至 904,配置/IQ/模型版本改为运行时从对应配置文件与模型内嵌信息读取。 3.更新头盔检测模型,扩充训练数据集,模型版本号更新到 903。 version: | hw | sw | iq | npu | cfg | model | firmware | | 901 | 918 | 902 | 901 | 904 | 903 | 902 | v018 1.优化取帧异常处理与相机恢复策略,提升识别稳定性。 2.优化补光灯状态恢复,提升多次启停识别时的稳定性。 3.优化 main_controller 存图控制方式,支持循环存图选择。 4.优化停止识别后的待机状态,降低空闲功耗。 version: | hw | sw | iq | npu | cfg | model | firmware | | 001 | 018 | 002 | 001 | 003 | 002 | 002 | v017 1.增强识别、取流、初始化全链路的异常处理和自动恢复能力,故障统一上报并安全退回待机,不再出现崩溃、卡死或误判问题。 2.优化 3A 与取流架构,简化相关流程,调整日夜补光切换方式。 3.精简日志输出,减少初始化、拍照存图、结果上报等环节的冗余记录。 4.优化镜头脏污/遮挡检测算法,提升检测稳定性,覆盖遮挡与不同程度脏污、红外场景防误报;镜头模糊检测因误报暂时禁用。 5.优化 hex_controller 启动算法进程的方式。 6.推理模型版本升级。 7.红外补光日夜切换灵敏度支持配置文件调整,现场调优无需重新烧录。 8.修复循环存图删除旧图逻辑,改用文件时间判断最旧图片,避免误删。 9.单次推理不再保存原始帧,仅保存推理渲染结果图。 10.单次识别与存图取帧失败新增自动重连机制,与连续识别对齐。 11.配置版本号升至 003。 version: | hw | sw | iq | npu | cfg | model | firmware | | 001 | 017 | 002 | 001 | 003 | 002 | 001 | v016 1.修复单次推理和存图取到缓存旧帧,单次推理渲染改用 OSD 硬件叠加,去掉 OpenCV 软件画框和软件 JPEG 编码。 2.stdin/stdout/stderr 重定向移至 main_controller 子进程,算法进程只通过管道发送日志。 3.修复版本号八进制字面量导致上报值错误的问题。 4.V4L2 fallback 路径摄像头预热从 60 帧降至 3 帧,减少首次拍照延迟。 5.精简持续检测 DEBUG 日志,仅按上报间隔输出一条摘要。 6.IR 夜转日阈值从 0.20 调高到 0.30,每次结果上报时输出 smart_ir DEBUG 日志(AWB 增益、IR 强度、距离指标)。 7.调整 IQ 文件优化暗态下清晰度效果。 8.IR 夜转日阈值从 0.30 调高到 0.45,防抖帧数从 50 增至 80,修复夜间补光灯闪烁。 9.模糊检测适配 IR 夜视模式,夜间放宽强边缘阈值和模糊块判定数量,修复误报。 10.新增 stream_osd_enable 配置项,可关闭推流 OSD 叠加(单次识别不受影响),用于采集干净训练数据。 11.修复关闭推流 OSD 时程序卡死和推流变慢的问题,RGN 始终创建仅跳过绘制和 DMA。 12.取消硬件 OSD,推流结果框改为软件绘制。 version: | hw | sw | iq | npu | cfg | model | firmware | | 001 | 016 | 002 | 001 | 002 | 001 | 001 | v900 1.优化 sensor/ISP 自检方式,运行态实时检测取流状态和 3A 运行状态。 2.算法子进程集成 MPI 取流、OSD 渲染与 MJPEG 推流,单次识别渲染图改存 JPG 3.新增 smart_ir 日夜检测驱动 IR 补光(GPIO69),接管原亮度补光控制。 4.flag(label=2) 独立于头盔结果,通过 helmet_type 字段单独去抖上报。 5.修复摄像头未接入时进程无响应、断开后启动误报成功、拍照指令无响应。 6.完善启动故障码上报,各子系统异常精确区分。 7.新增画面模糊(0x03)和镜头脏污/遮挡(0x04)实时检测上报。 8.修复存图和单次推理取到缓存帧的问题,确保获取实时画面。 9.修复长时间推流识别导致死机的问题,优化资源释放和线程安全 10.初始化容错优化,各阶段独立初始化互不阻塞,失败仅上报故障码不影响进程运行 11.修复模型加载失败故障码误报为 NPU 异常(0x04)的问题,正确报 0x06。 12.修复结果上报 seq 跳号问题,seq 仅在实际上报时递增。 13.main_controller 存图指令自动生成随机订单号,多次存图 index 自动累加。 14.新增 IQ 文件加载异常(0x05)精确检测,IQ 缺失不阻塞 MPI 管道和模型加载。 15.取图失败自动尝试重新初始化相机,覆盖启动识别、持续识别、单次识别和存图 16.更新适配于内核版本的mpp_vcodec.ko rockit.ko v014 1. selfcheck 存储检查改为检查 /userdata 分区,不再检查根分区。 2. 去抖模块同步跟踪置信度, 上报结果始终携带窗口内最高 conf,修复 conf=0 问题。 3. 新增调试存图功能(debug_save_image 配置开关),推理帧按 head/helmet/no-result 分类保存 JPG。 4. 修正去抖模块变量命名,0x01=head、0x02=helmet 与协议定义一致。 5. 去抖改为阈值投票,新增 debounce_threshold 配置项,窗口内 ≥M 帧一致才切换状态。 6. 配置文件重命名为 helmetCameraConfig(去掉 .json 后缀)。 7. 头盔类别增加 ROI 最小尺寸过滤,宽或高 <30 像素的检测框直接丢弃。 8. 推理结果先按 helmet_conf_thre 过滤低置信度检测框,再进行逻辑判断。 9. 修正后处理置信度与检测框不匹配的问题; 推理模型文件更新。 10. 启动识别后首帧即上报当帧实际检测状态,单次识别直接上报结果。 v011 1. 启动时逐个 insmod 内核模块,已加载的跳过。 2. 相机 init 提前到启动,STREAMON 按需触发,退出才释放,避免 MIPI/DPHY 频繁开关。 3. 日志重构:同步直写管道,新增 WARN/ERROR 类型,stderr 统一改用 LOG 宏。 4. 推理 & 存图路径增加 debug 日志。 5. 优化推理模型。 6. FLASH 严格化:每帧日志降 DEBUG,失败路径限流,selfcheck 去噪声。 7. 启动预加载模型(preload_model 开关),首次 DETECT_START 即时响应。 8. V4L2 stale→fresh 三阶段排空,保证取到实时帧。 9. IQ 文件加载改用 force_iq_file 指定 helmetCameraIQFile.json,不再依赖 sensor 名匹配。 10. 新增结果去抖模块(滑动窗口投票),上报稳定结果,窗口大小可配置。 11. detect_interval 启用为结果上报间隔,全速推理但按间隔上报。 12. 检测结果取最大框过滤路人干扰,面积优先、置信度次之。 13. main_controller/hex_controller Ctrl+C 先发 exit 指令再退出,不再直接杀进程。 v006 1. 将三分类标签 helmet/head/flag 内置到算法程序中,移除运行时对 coco_3_labels_list.txt 的文件加载依赖。 2. 优化算法子进程日志链路:logger 改为 rolling ring 缓冲,缓冲满时滚动丢弃最旧日志、保留最新 日志。 3. 将 rkaiq_3A_server 由独立后台进程改为算法子进程内嵌线程,进程退出随之释放。 4. 算法子进程取消 --pipe-fd 选项,改为将拉起时传入的第一个位置参数作为日志匿名管道写端 fd;主控(main_controller / hex_controller)fork 后相应地以位置参数传入 fd。 5. 算法子进程启动流程调整:在拉起 ISP 3A 服务(rkaiq_3A_server)前,先执行内核模块安装。