摘 要:文章讨论了目标检测在计算机视觉领域中的重要性,并介绍了目标检测算法的 2 种主要类型:传统计算机视觉方法和基于深度学习的方法。随着深度学习技术的发展,基于深度学习的目标检测算法逐渐成为主流,并取得了较好的效果。然而,为进一步提高 Faster R-CNN 在目标检测方面的性能,文章结合鲸鱼优化算法对Faster R-CNN 网络进行优化,并使用 PASCAL VOC 2012数据集对网络性能进行测试。实验结果表明,基于鲸鱼优化算法的 Faster R-CNN 网络性能明显优于标准 Faster RCNN 网络。基于此,深度学习的目标检测算法将在未来有更广泛的应用和更好的效果。
关键词:Faster R-CNN;目标检测:实时性
中图法分类号:TP391文献标识码:A
1 引言
目标检测是计算机视觉领域的一项重要任务,其主要作用是在图像或视频中自动识别并定位感兴趣的目标物体。目标检测在许多应用中都具有重要作用,如自动驾驶、医学影像分析领域等。
现有的目标检测算法主要分为2 类:传统计算机视觉方法的算法和基于深度学习的算法。传统计算机视觉方法主要基于图像特征提取和分类器构建,如Haar 特征[1] 、HOG 特征[2] 、SIFT 特征[3] 等。而基于深度学习的算法主要基于卷积神经网络和其变种,如Faster R?CNN[4] 、YOLO[5] 等。随着深度学习技术的不断发展,基于深度学习的目标检测算法逐渐成为主流,并取得了较好的效果。这些算法不仅具有较高的检测准确率,还具有较快的检测速度,能够满足实时应用的需求。
随着技术的不断发展,其应用范围将会越来越广泛。为了进一步提高Faster R?CNN 在目标检测方面的性能,本文结合鲸鱼优化算法对Faster R?CNN 网络进行优化,并采用数据集PASCAL VOC 2012 对网络性能做了测试,实验结果表明,基于鲸鱼优化算法的Faster R?CNN 网络性能明显优于标准Faster R?CNN网络。
2 Faster R?CNN 网络与鲸鱼优化算法
2.1 Faster R?CNN 网络架构
Faster R?CNN 是目标检测领域中比较先进的一种网络结构,其架构主要包括卷积层、RPN 网络、ROI池化和全连接层。其中,卷积层用于提取图像的特征,RPN 网络用于生成候选区域,ROI 池化用于对候选区域进行特征提取,全连接层用于对候选区域进行分类和回归。Faster R?CNN 的基本架构如图1 所示。
(1)卷积层。
本文的Faster R?CNN 使用了深度卷积神经网络来提取图像的特征。常用的卷积神经网络有VGG[6] 、ResNet、Inception 等,这些网络可以提取不同层次的特征。本文将ResNet 卷积神经网络作为特征提取器。
(2)RPN 网络。
RPN 是Faster R?CNN 中的一个关键模块,其作用是生成候选区域,即物体可能出现的位置。RPN 网络是一个小型的卷积神经网络,其输入为卷积特征图,输出为多个候选区域。具体而言,RPN 网络通过滑动窗口的方式在特征图上滑动,每个位置生成多个不同大小和长宽比的锚框,然后对每个锚框进行分类和回归,得到每个锚框的置信度和偏移量,最后根据置信度选择一定数量的候选区域。
(3)ROI 池化。
ROI 池化是指Faster R?CNN 对候选区域进行特征提取的操作。对于每个候选区域,ROI 池化将其划分成固定大小的网格,然后在每个网格上进行最大池化操作,将每个网格内的最大值作为该网格的特征表示。最后将所有网格的特征拼接起来,作为该候选区域的特征表示。
(4)全连接层。
Faster R?CNN 的最后一层是全连接层,用于对候选区域进行分类和回归。具体而言,全连接层首先将每个候选区域的特征表示通过一层全连接层映射到一个固定长度的向量,然后分别对该向量进行分类和回归,得到物体类别和位置信息。
2.2 鲸鱼优化算法
鲸鱼优化算法是一种新兴的基于仿生学的全局优化算法,其灵感来源于鲸鱼的群体行为。鲸鱼优化算法通过模拟鲸鱼的游动行为,对搜索空间进行探索和优化,以找到最优解。算法的基本流程如下:
(1)初始化种群,包括鲸鱼的位置和速度;
(2)计算每条鲸鱼的适应度;
(3)根据适应度更新最优解;
(4)根据当前最优解和鲸鱼的位置更新鲸鱼的速度和位置;
(5)重复步骤(2) ~(4),直至达到停止准则。
鲸鱼优化算法的关键在于鲸鱼的游动行为。在该算法中,鲸鱼的游动行为被抽象成3 种基本的行为,分别是旋转、俯冲和泡沫聚集。
旋转行为是指鲸鱼在游动过程中绕着自身旋转的行为,可用公式(1)表示;俯冲行为是指鲸鱼在游动过程中向下俯冲的行为,可用公式(2)表示;泡沫聚集行为是指鲸鱼在游动过程中围绕着一些食物源聚集的行为,可用公式(3)表示。
2.3 针对R?CNN 的优化策略
在Faster R?CNN 中,鲸鱼优化算法的优化策略主要体现在损失函数的优化上。该算法可以用来优化模型的分类损失和回归损失。在分类损失方面,本文使用该方法来优化模型的权重参数,以提高分类准确率。具体而言,可以将分类损失作为鲸鱼优化算法的目标函数,然后再搜索最优的权重参数:
其中,θc 表示分类损失的权重参数,Lc 表示分类损失函数。在回归损失方面,本文使用该算法來优化模型的边界框回归系数,以提高目标检测的准确率,优化回归损失的边界框回归系数:
其中,θr 表示回归损失的边界框回归系数,Lr 表示回归损失函数。需注意的是,由于该方法只能使用历史数据进行优化,因此在进行优化时,需要使用已有的训练数据进行训练,并将训练得到的模型作为初始解来进行优化。此外,为了避免过拟合,还需要对其进行一定的正则化处理。
3 实验与讨论
3.1 数据集
PASCAL VOC 2012 数据集是一个广泛使用的图像识别和目标检测数据集,其图像来源于真实世界中的场景,具有一定的多样性和复杂性,主要用于评估计算机视觉算法的性能。该数据集包含20 个常见类别的物体(如人、车、飞机等),每个类别有大约1 000张图像,其中包含了物体的位置和类别标签信息。PASCAL VOC 2012 数据集的部分图片如图2 所示。
3.2 测试结果
针对PASCAL VOC 2012 数据集,本实验使用基于鲸鱼优化算法的Faster R?CNN 算法和标准FasterR?CNN 算法对物体进行分类,并将准确率、召回率和F1 值作为评价指标。实验结果如表1 所列。
从表1 中可以看出,基于鲸鱼优化算法的FasterR?CNN 算法在准确率、召回率和F1 值上均优于标准Faster R?CNN 算法。
3.3 结果分析
基于算法结构和实验结果可知,Faster R?CNN算法通过引入Region Proposal Network(RPN)来生成候选区域,并使用卷积神经网络(CNN)对这些候选区域进行分类和定位,使它在目标检测任务中具有较高的准确率和速度,但是在处理大规模数据集时,其性能可能会受到限制。基于鲸鱼优化算法的Faster R?CNN 算法通过引入鲸鱼优化算法来优化Faster R?CNN 算法中的超参数,从而提高了算法的性能,实验结果表明,基于鲸鱼优化算法的Faster R?CNN 算法在PASCAL VOC 2012 数据集上具有更高的准确率、召回率和F1 值。此外,基于鲸鱼优化算法的Faster R?CNN 算法通过优化超参数,理论上具备更好的泛化能力,且可以处理更大规模、更复杂的数据集。
4 结束语
目标检测算法是计算机视觉领域的一项核心技术,它的主要任务是在图像或视频中检测出特定目标的位置和数量,并对其进行分类。一个好的目标检测算法应该既能够准确地检测出目标,又能够尽可能地找到所有真实目标。本文为了提高Faster R?CNN 算法的精度,首先对其结构进行了系统性分析,然后使用鲸鱼优化算法对其进行优化。针对PASCAL VOC2012 数据集的实验表明,目标检测算法提高了目标检测精确度以及实用性。另外,目标检测算法还需要具备对遮挡和尺度变化的鲁棒性,这也是本研究下一步要做的内容。
参考文献:
[1] 甘玲,朱江,苗东.扩展Haar 特征检测人眼的方法[J].电子科技大学学报,2010,39(2):247?250.
[2] 尚俊.基于HOG 特征的目标识别算法研究[D].武汉:华中科技大学,2012.
[3] 蔺海峰,马宇峰,宋涛.基于SIFT 特征目标跟踪算法研究[J].自动化学报,2010,36(8):1204?1208.
[4] REN S,HE K,GIRSHICK R,et al.Faster R?CNN:Towardsreal?time object detection with region proposal networks[ J]. IEEE transactions on pattern analysis and machineintelligence,2017,39(6):1137?1149.
[5] JIANG P,ERGU D,LIU F,et al.A Review of Yolo algorithmdevelopments[J].Procedia Computer Science,2022,199:1066?1073.
[6] 包嘉欣,田秋红,杨慧敏,等.基于肤色分割与改进VGG 网络的手语识别[J].计算机系统应用,2020,29(6):47?55.
作者简介:
曹宏徙(1987—),硕士,工程师,研究方向:网络安全、计算机视觉。