美文网首页
仪表探测&读数

仪表探测&读数

作者: 李嘉怡_fe6e | 来源:发表于2018-08-23 16:52 被阅读0次

    PART I:仪表探测

    * 方式1: 接入实时巡检视频流,生成带有仪表盘的顺序截图

    a. 从视频中detect仪表,并用bounding box标出, 使用Faster_rcnn_resnet101网络训练,为提高计算速度,每1秒取一帧画面就可以,因为机器人移动速度很慢,在表盘的停留时间够长

    b. 因为读表盘示数对表盘大小&清晰度要求较高,只有当探测图像占据的面积达到画面一定比例以上时,且位置相对居中,才符合截图条件

    c. 为避免重复截图,时序上连续符合条件的截图只保留一张,但要注意聚焦问题,(cv.Laplacian(image, cv2.CV_64F).var() < threshold, then blur)与运行轨迹对应可以将仪表图片对号入座

    Test 1

    2018/08/24中午11点半左右开始,机器人具体出库时间不详,程序共运行62.5分钟

    其中在48.6分钟内检测到18块仪表,发现三个误判

    (编号空白因为没有截到仪表编号/仪表没有编号)

    Cropped示例 & 识别示例 & 三个误判::

    仪表编号在测试后进行过改编,此测试仅供效果参考

    * 方式2: 调取API接口传入图片,得到图片是否包含仪表盘的判断

    对gauge_detection model使用falsk进行封装,图片地址是以img_addr=XXX 的形式嵌入在请求中的,需要把其中的”=”全部用”%26”替换,否则会影响识别,对”img_addr=”中的”=”造成混淆

    接口返回值示例:

    包含了PARTII仪表读数部分的结果

    code部分为识别结果

    0:存在可读数仪表盘;1:圆盘定位故障;2:复杂表盘读数故障;3:数字&角度validate失败

    4:读数故障;5:不存在可读数仪表盘

    msg部分为读数结果

    读数精确到小数点后一位

    PART II:仪表读数

    难点分析:表盘种类繁多,有的还为多指针

    Step1: 用深度学习识别数字

    Step2: 根据数字位置定位表盘及圆心

    Step3: 定位指针角度

    Step4: Generate readings

    测试结果示例:

    准确度还是比较高的,对于开*视频流中唯一一种复杂表盘,无法用以上通用读法攻克,单独做了应对处理。

    PART III : PROJECT PROGRESS

    2018/10/12

    两个场地的测试样本接收,4500条

    2018/10/13 - 2018/10/25

    一轮一轮的调试优化代码

    2018/10/26 

    识别及读数效果统计



    2018/10/29

    场地三测试样本接收,10000条

    2018/10/30 -

    因为新的测试样本中有很多表盘带有小数点,更新算法以解决小数点的问题

    source code: https://git.c.citic/lijy/GaugeReading (Private,未对外开设权限)

    相关文章

      网友评论

          本文标题:仪表探测&读数

          本文链接:https://www.haomeiwen.com/subject/mfjmiftx.html