# 机器人软件设计
## 检测识别
![](https://img.kancloud.cn/9c/51/9c51186180a2de1eab251b4fe4f3725e_732x778.png)
目标检测部分在整个系统中起着重要的作用。如图6所示,检测节点订阅摄像机消息(原始图像和摄像机信息)。当接收到新的摄像机帧时,图像预处理器将进行一系列的预处理(包括历史均衡和颜色抖动)。Tiny-YoloV3探测器能够以25 FPs的速度找到场景中的所有车辆,并且对色光或“远车”(即敌车与我们有一定距离)敏感。在探测到所有车辆后,我们需要找到装甲的位置。我们希望在RoboRTS中使用原始的检测算法,但在此之前必须进行曝光调整。在确定敌方装甲兵位置时,需要将装甲兵的二维中心像素位置转换为三维世界位置,并用框架控制信息发布。
Tiny-Yolov3是Yolov3的轻量级版本,具有24个网络层(包括卷积层、最大池层和yolo层)。我们按照darknet教程训练我们的定制训练数据集。输入大小为416×416,使用SGD优化器,初始学习率为0.001,动量为0.9。检测结果与传统的roboRTS检测算法相比,我们的检测系统获得了更为鲁棒的检测结果。因为我们减少了对汽车的检测指标,消除了环境光照的影响。其次,我们可以侦测到一辆与我们有一定距离的敌车,即使没有发现装甲,也可以将它的位置发布到决策节点!它将允许决策节点实时跟踪敌方车辆。
![](file:///C:/Users/YXF/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg)
图6 . 自主识别框架图