Google Cloud Vision API Object Localization识别全图车牌问题咨询
现有模型的限制说明
谷歌Cloud Vision API的原生OBJECT_LOCALIZATION能力默认优先召回图像中占比高、置信度高的突出对象,小尺寸、占比低的目标会被模型前置过滤,即使你将max_results设置为1000也无法突破这个模型本身的设计限制。且原生模型中「License plate」属于车辆的从属细分类别,仅当车辆区域在图像中占比足够高时才会触发检测,全图场景下车牌尺寸过小,无法被直接召回,这个问题无法通过调整现有公开调用参数解决。
无需自定义模型的可行解决方案
- 采用两级检测流程:第一阶段先调用OBJECT_LOCALIZATION检测全图中所有的Car对象,拿到每辆车的归一化边界框坐标,根据原图实际宽高换算出绝对坐标后,从原图中裁剪出每辆车的局部图像;第二阶段对每个裁剪出的车辆局部图单独调用OBJECT_LOCALIZATION能力,即可检出对应车辆的车牌,最后把车牌的局部坐标映射回全图坐标体系即可完成全图所有车牌的定位。该方案完全复用现有API能力,你之前的裁剪测试已经验证了该路径的有效性,实现成本最低。
- 结合文本检测能力优化召回:你当前的请求已经包含了TEXT_DETECTION特征,可先对全图做文本检测,筛选出字符长度、格式符合车牌规则的文本区域,再和两级检测得到的车牌区域做交叉校验,进一步提升车牌的召回率和识别准确率。
自定义模型的适用场景
如果上述方案无法满足你的需求,比如需要支持特殊格式的非标车牌、需要降低调用延迟、需要端侧离线运行,才需要训练自定义车牌检测模型:
你可以使用公开的车牌检测数据集,选择YOLO、Faster R-CNN等主流目标检测框架训练专属模型,可根据你的业务场景优化检测精度和召回率,效果会优于通用视觉API。
内容的提问来源于stack exchange,提问作者hannes
相关产品推荐
相关产品推荐

