在城市治理迈向精细化的今天,路侧停车电子收费系统早已不是简单的“地磁 摄像头”组合。过去三年,我参与过多个城市的泊位智能化改造项目,有一个问题始终绕不开:识别精度上去之后,边缘设备的功耗曲线几乎同步陡峭攀升;而一旦为了省电调低采样频率或关闭部分推理模块,错判、漏判又立刻反弹。这本质上是一个典型的资源约束下多目标博弈问题,而最近我们尝试用强化学习(RL)做动态调优,才真正摸到了“精度—能耗”帕累托前沿的门道。
先说现场的真实约束。路侧终端多靠太阳能板 蓄电池供电,夏天光照好时尚能维持,到了连续阴雨的初冬,很多点位电池掉到30%以下,系统就被迫降频。传统做法是写死一套“低电量模式”:帧率砍半、模型量化到int8、只跑车辆存在检测不跑车牌识别。结果呢?电表是安静了,但收费员后台投诉量涨了两倍——一半的误识是因为低帧率下跟车漏检。
我们换了个思路:把每个泊位终端当作一个Agent,状态空间包括电池余量、光照强度、历史车流密度、当前识别置信度分布;动作空间是连续的,比如调整图像采集帧率(1–15fps)、选择轻量或完整检测模型、决定是否启动车牌OCR后验。奖励函数没有用简单的“精度高 耗电低”,而是用运营视角的复合项:错单率折算成客诉成本,能耗超出预算部分折算成运维更换电池的人力。这个设计很关键,因为纯学术里的accuracy和FLOPs,在城管支队那儿根本不买单。
训练是在仿真环境里先跑的。我们用某新区去年全年的真实车流和气象数据,驱动一个功耗-视觉联合仿真器。起初Q-learning直接上,发现策略震荡厉害——Agent在下午光照强时疯狂提帧率刷精度,傍晚马上饿肚子。后来改成SAC(软演员-评论家),加入熵正则,策略才稳下来:它学会在平峰期用4fps 轻模型苟着,高峰期来临时提前两分钟“预热”完整模型,等车牌压线瞬间拉到12fps抓拍,过后立刻回落。
落地到1200个试点泊位后,有意思的现象出现了。系统自发演化出“邻里互助”式调度:同一个供电微电网下的相邻终端,若A点满电且车流小,会主动让出部分识别任务给隔壁快没电的B点,通过LoRa把特征图上抛。这在奖励函数里我们并没显式写,是Agent在共享状态观测下自己榨出来的协同策略。
能耗曲线方面,对比旧逻辑,同等识别精度(车牌识别F1维持在0.972)下,日均终端能耗降了38%;若放宽到可接受客诉阈值,能耗还能再砍15%。更重要的是,电池寿命预估从11个月延到19个月,这对财政来说比算法本身更性感。
当然,RL不是银弹。奖励函数一旦偏移,Agent会比规则引擎更“聪明”地钻空子——比如某次我们把客诉成本设低了,它直接学会“宁可错勿耗”,导致一周内人工复核工单爆仓。所以现在生产环境我们只敢用离线策略评估 周级模型热更新,绝不开放在线自由探索。
说到底,路侧停车这种碎片化、弱连接、强约束的场景,正是强化学习从论文走向马路牙子的试金石。识别精度和能耗从来不是跷跷板的两端,用对方法,它们可以在动态平衡里彼此成全。
微信号:18581869297