Distributed and Efficient Object Detection in Edge Computing: Challenges and Solutions
1 基于边缘计算的物体检测:架构与优势
- 终端设备负责收集数据(图像,视频)。将数据压缩发送给边缘节点。
- 边缘节点运行轻量级的物体检测算法。将不能检测的图像或置信度较低的检测结果发送给云端。
- 云端进行全面的检测,并且整合各个边缘节点的数据,帮助边缘节点更新本地的算法模型。
优势:
- 部署成本低:从终端设备到边缘节点的连接都是无线的,不需要提前部署。
- 实时性强:与将数据发送给云端处理相比,边缘节点的延时较低,数据压缩与运行在边缘中的轻量级模型结合设计,可以在尽可能保持精度的同时降低传输和计算时延。
- 云可以整合多个边缘的数据帮助边缘更新本地模型,进一步提高精度。
2 主要难点
- 压缩率、精度与延迟之间的权衡:一般的压缩方法如JPEG会大大降低目前物体检测算法的精度。作者认为一幅图像中只有部分区域是物体检测算法所关注的(RoI)。可以保留这个区域中的图像,压缩其他区域(背景)以保持检测精度。但有时图像中大部分区域都是RoI,而且网络状况不稳定,这时就必须在精度与压缩率之间作权衡。作者认为在视频中运行物体检测算法时,可以利用相邻帧之间的相关性提高准确率。
- 边缘节点上的模型是轻量级的,是指该模型只能检测部分物体,如何在云端整合多个边缘节点的模型是一个难题。同时,云端有一个完整的模型,如何将这个模型的更新推送到边缘节点,也就是边缘节点如何根据云端模型来更新自身的模型也是一个难题。
3 实现
实现时主要要考虑四个问题:
- 如何压缩数据。
- 如何为边缘节点设计一个轻量级的模型。
- 如何在云端整合不同边缘节点的模型。
- 终端设备、边缘节点和云端之间如何高效地交互。
压缩数据前需要找到RoI,对于RoI内外的图像采用不同压缩率的压缩算法。找RoI的算法基于BING,BING可以快速找到一张图片中可能包含对象的bounding box以及它们的分数,组合所有可能的bounding box的分数得到图片每个位置包含物体的可能性。当该位置包含物体的可能性高于某个阈值时认为时RoI。
边缘节点中运行的模型为Faster RCNN,负责生成物体的bounding box和物体类别判定。
终端设备使用的压缩阈值根据边缘节点的物体检测准确度调整,准确度越高,RoI的范围可以适当缩小,准确度越低,RoI的范围应该增大。
终端设备使用的BING模型由云端在线下训练,但运行过程中云端会不断收到边缘发来的无法识别的图像,此时云端使用这些图像更新BING模型并将新的BING模型(参数)推送给终端设备。
边缘节点使用的RCNN在本地训练(如何训练?训练数据来源),边缘节点中的RCNN只能检测一部分物体,当边缘节点接收到不能检测的物体图像时,该图像被发送到云端,如果该边缘节点多次收到的不能检测的物体为同一个物体,则云端将这个物体相关的图像加入训练集重新训练RCNN,并将新的模型推送到边缘节点。