@heavysheep
2018-05-09T11:21:08.000000Z
字数 1766
阅读 808
未分类
精度: 支持640 * 480的摄像头,如果不想有人工校准,则摄像头需配备自动调焦马达。
高度: 普通非广角镜头下,需保证安装后达到40-45cm高度,以保证39 * 28大小的餐盘内目标全部纳入拍摄镜头内。
质量: 摄像头色温、对比度、饱和度、RGB显示正常,支架无晃动。
幕布: 无可识别物体情况下,最好有全黑色彻底展开的幕布(放置后无褶皱)作为背景。
原因是保证非识别情况下RGB逼近0,增加识别能力和模型收敛速度。
餐盘: 餐盘颜色尽可能的与目标颜色有一定区别和反差。
明亮: 在识别时,保证光照条件良好,在二维下能清楚的看到物体,无明显灰暗处。
均匀: 光照角度明亮均匀,尽可能在识别情况下没有阴影出现。
无反光: 如目标有包装,尤其是透明的塑料等,在识别情况下不可有反光,否则反光会在二维屏蔽物体。
同样,上述幕布、餐盘在光照条件也不能出现任何反光。
量级: 每个目标种类,最好有80张以上的图片。
鲁棒性: 尽可能枚举所有正式使用中的情况;对同一种类,训练时抽样使用多个商品;配置5%的极端情况识别;配置在不同合理背景下的识别数据。
图像标注: 数据需要人工标注,时间成本约每500张/3小时。
训练速度: 单次训练,NVIDIA M40,batch24下训练ssd_mobilenet_v1约需要2天。
模型调优: 在业务初期,基于对数据的了解程度,需要多次训练调优以尽可能达到商业水准。
实现精度: 在物体形状、颜色反差明显、无反光、摆放无重叠的情况下,在多帧滑动后做平均能达到99%的准确率。在不利数据情况下,尽可能实现95%以上的准确率。
类别添加: 必须重新训练。业务上必须降低类别重训的周期,重训时间视新增加的类别难度而定。
ssd_mobilenet_v1模型有两个明显的优势:
1. 在i5桌面cpu下,识别速度能达到20-50ms,标注后投射也能达到100-200ms(优秀的faster_rcnn约需要25秒)。通过流畅的分类,在分类错误时,收银人员可以迅速收到反馈并对物体简单重新摆放,减少错误分类的负面情况。
2. 训练相比其他模型更快。
无干扰物: 为了尽可能识别每个目标模型是没有做异常鲁邦的,否则会下降正确目标的识别率。因此需要保证摄像头内物体,除了餐盘和识别目标外,没有其他干扰物。
无遮挡: 目标呈二维放置,不可互相堆叠。
目标完整: 每个目标均需全部处于摄像头内,以保证识别准确。
多帧滑动平均: 为了防止单帧识别错误的不可避免性,尽量使用多帧做滑动平均,以达到实战的99%准确率。
老王给出的方案是使用旋转托盘。
2018.4: 试错、实验阶段。
2018.5: 尝试找一家愿意配合的门店,逐步在真实情况下训练、使用、实测、调整。
2018.6: 无问题后,逐步推广。
简介
该产品是pos系统视觉辅助系统,通过预先搭载的摄像头,在短时间内识别出目标产品和数量,并录入POS系统,以达到加快收银速度的目的。
模型: tensorflow/keras
窗体: demo: QT5(python)
录入: demo: pywin32(python)
以下是老王要求写的部分。
学界目前对object detection的态度是在容忍度较低的环境下,技术依然较难的进行商用。对0-n个物体,先识别后分类,本身的失败率是叠加的。而在两年前的faster_rcnn之后,并没有一项革命性的算法大幅度提升了识别的准确率(尤其我们还不能使用faster_rcnn,识别太慢,此模型需要运算型显卡远程分类)。在革命性算法问世之前,我认为我们的竞争对手在与我们相同的情况下(本地模型,使用桌面CPU),即使是BAT在我们万倍成本之上,技术上也较难拉出较大的差距,更不谈小公司的竞争对手。且从技术的问世到实用,也有半年的时间,在这期间,业务上其实难有突破。