正在加载图片...
第3期 洪恺临,等:改进Center--Net网络的自主喷涂机器人室内窗户检测 ·429· F(W 图片,然后对其进行随机拼接,得到训练图,如 图6所示。这样做大幅度地增广了数据,还使得 训练集中存在大量的局部窗户图。因此本实验将 测试集的图片分成2个部分,1000张是采集的完 整窗户,1000张是采集的局部窗户。以此验证改 进网络的窗户检测效果,以及拼接方式增强的数 图5压缩激励模块结构 Fig.5 SE-block structure 据集是否更有利于网络学习局部窗户的特征。 该结构主要包括3个操作,首先压缩操作是 对所有通道的特征图做一个全局平均池化(glob al average pooling,GAP),得到cxl×1个特征。其 多图 中每个特征都具有全局的感受野,表征特征通道 拼接 上响应的全局分布。之后是激励操作,通过参数 W为每个特征通道生成权重,公式为 s=Fex(z,W)=(g(z,W))=(W26(Wiz)) 图6使用多图拼接得到的训练数据 式中:6对应Sigmoid激活函数;o对应Relu激活 Fig.6 Training data obtained by multi-graph splicing 函数;z是上一层的输出。最后是权重调整操作, 3.3网络训练与测试 公式为 如表1所示,本实验在训练和测试阶段分别 元e=Fce(ue,Se)=uc·S2 使用了2种不同的处理器。训练阶段使用图形工 式中:W为上一个卷积层的输出;s为经过压缩激 作站,加快网络的训练速度,节省实验时间。而 励操作的输出。相乘的作用是对原始的特征进行 在测试阶段,使用喷涂机器人上所搭载的移动端 重标定,这样有助于网络更关注具有代表性的特 处理器对网络的准确性和实时性进行验证,以此 征。在图3中使用蓝色方框代表SE模块,从图3 检验算法是否符合要求。 中可以看到,在网络完成3个HDA操作得到的聚 合节点不直接送到解码网络中,而是经过SE模 表1训练和测试过程实验平台对比 Table 1 Comparison of training and testing process exper- 块之后再进行解码。这种注意力机制的引入让网 imental platform 络更加集中于重要特征的学习,以此保证网络在 实验平台 训练过程 测试过程 数据量大幅度减小的情况下也能很好地完成检测 CPU Intel(R)i7-7700 ARM Cortex-A57 任务。 GPU NVIDIA GTX1080Ti NVIDIA Pascal 3实验测试与分析 系统 Ubuntu16.04LTS Ubuntu16.04LTS 3.1数据集 框架 Pytorch1.4.0 Pytorch1.4.0 本文所检测的日标还没有公开的数据集,所以 训练阶段首先使用网络在COCO数据集上进 文中使用的数据集是通过喷涂机器人所搭载的摄 行训练,以此得到较为健壮的权重参数,然后将 像头进行采集室内窗户影像,分辨率为640×480。 网络在本次实验中的窗户数据集上进行迁移学 使用labelimg软件进行手工标注。一共10000张图 习。将图片的分辨率转换为512×512,然后送入 像,其中8000张用作训练集,2000张用作测试集。 网络训练200次,前100次冻结特征提取网络的 3.2图像预处理与增强 权重,只训练3个网络分支,后100次将所有网络 相较于大型开源数据集,本次实验所使用的 层解冻,并且使用不同的学习率进行训练,以此 数据集相对较小,所以需要通过图像预处理对图 得到网络最终的权重值。 像进行数据增强,除了常规对图像进行简单的位 在测试阶段改变图像的分辨率,喷涂机器人 移、缩放、颜色空间变换之外,本次实验还对室内 上摄像头所采集的是640×480的分辨率,在训练 喷涂场景进行了相应的分析,以此让数据集得到 的时候将图像统一映射到512×512的分辨率,如 更为有效的增强。由于喷涂机器人在喷涂过程中 果测试阶段也沿用这种方式那么网络就会计算很 具有距离墙面比较近的工作特性,更多时候需要 多使用灰色填充的空缺位置,这无疑使得网络进 识别的窗户是不完整的,所以本实验对于图像的 行了很多没有价值的计算。所以在测试阶段,本 预处理还加人了多图拼接,即每次随机选取4张 文将图片映射成为512×384,由于网络中没有全h c c w h w c×1×1 c×1×1 uc 全局平 均池化 Fex(·,W) Fscale(·) xc ~ 图 5 压缩激励模块结构 Fig. 5 SE-block structure W 该结构主要包括 3 个操作,首先压缩操作是 对所有通道的特征图做一个全局平均池化 (glob￾al average pooling, GAP),得到 c×1×1 个特征。其 中每个特征都具有全局的感受野,表征特征通道 上响应的全局分布。之后是激励操作,通过参数 为每个特征通道生成权重,公式为 s = Fex(z,W) = σ(g(z,W)) = σ(W2δ(W1z)) δ σ z 式中: 对应 Sigmoid 激活函数; 对应 Relu 激活 函数; 是上一层的输出。最后是权重调整操作, 公式为 x˜c = Fscale(uc ,sc) = uc ·sc 式中:uc 为上一个卷积层的输出; sc 为经过压缩激 励操作的输出。相乘的作用是对原始的特征进行 重标定,这样有助于网络更关注具有代表性的特 征。在图 3 中使用蓝色方框代表 SE 模块,从图 3 中可以看到,在网络完成 3 个 HDA 操作得到的聚 合节点不直接送到解码网络中,而是经过 SE 模 块之后再进行解码。这种注意力机制的引入让网 络更加集中于重要特征的学习,以此保证网络在 数据量大幅度减小的情况下也能很好地完成检测 任务。 3 实验测试与分析 3.1 数据集 本文所检测的目标还没有公开的数据集,所以 文中使用的数据集是通过喷涂机器人所搭载的摄 像头进行采集室内窗户影像,分辨率为 640×480。 使用 labelimg 软件进行手工标注。一共 10000 张图 像,其中 8 000 张用作训练集,2 000 张用作测试集。 3.2 图像预处理与增强 相较于大型开源数据集,本次实验所使用的 数据集相对较小,所以需要通过图像预处理对图 像进行数据增强,除了常规对图像进行简单的位 移、缩放、颜色空间变换之外,本次实验还对室内 喷涂场景进行了相应的分析,以此让数据集得到 更为有效的增强。由于喷涂机器人在喷涂过程中 具有距离墙面比较近的工作特性,更多时候需要 识别的窗户是不完整的,所以本实验对于图像的 预处理还加入了多图拼接,即每次随机选取 4 张 图片,然后对其进行随机拼接,得到训练图,如 图 6 所示。这样做大幅度地增广了数据,还使得 训练集中存在大量的局部窗户图。因此本实验将 测试集的图片分成 2 个部分,1 000 张是采集的完 整窗户,1 000 张是采集的局部窗户。以此验证改 进网络的窗户检测效果,以及拼接方式增强的数 据集是否更有利于网络学习局部窗户的特征。 多图 拼接 图 6 使用多图拼接得到的训练数据 Fig. 6 Training data obtained by multi-graph splicing 3.3 网络训练与测试 如表 1 所示,本实验在训练和测试阶段分别 使用了 2 种不同的处理器。训练阶段使用图形工 作站,加快网络的训练速度,节省实验时间。而 在测试阶段,使用喷涂机器人上所搭载的移动端 处理器对网络的准确性和实时性进行验证,以此 检验算法是否符合要求。 表 1 训练和测试过程实验平台对比 Table 1 Comparison of training and testing process exper￾imental platform 实验平台 训练过程 测试过程 CPU Intel(R) i7-7700 ARM Cortex-A57 GPU NVIDIA GTX1080Ti NVIDIA Pascal 系统 Ubuntu16.04LTS Ubuntu16.04LTS 框架 Pytorch1.4.0 Pytorch1.4.0 训练阶段首先使用网络在 COCO 数据集上进 行训练,以此得到较为健壮的权重参数,然后将 网络在本次实验中的窗户数据集上进行迁移学 习。将图片的分辨率转换为 512×512,然后送入 网络训练 200 次,前 100 次冻结特征提取网络的 权重,只训练 3 个网络分支,后 100 次将所有网络 层解冻,并且使用不同的学习率进行训练,以此 得到网络最终的权重值。 在测试阶段改变图像的分辨率,喷涂机器人 上摄像头所采集的是 640×480 的分辨率,在训练 的时候将图像统一映射到 512×512 的分辨率,如 果测试阶段也沿用这种方式那么网络就会计算很 多使用灰色填充的空缺位置,这无疑使得网络进 行了很多没有价值的计算。所以在测试阶段,本 文将图片映射成为 512×384,由于网络中没有全 第 3 期 洪恺临,等:改进 Center-Net 网络的自主喷涂机器人室内窗户检测 ·429·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有