基于演化神经网络架构搜索的单目深度估计方法
- 国知局
- 2024-07-31 22:56:27
本发明属于深度估计,涉及一种基于演化神经网络架构搜索的单目深度估计方法。
背景技术:
1、单目深度估计技术旨在利用单个摄像头或图像来推断场景中各个物体的距离或深度信息。在视觉感知与理解、增强现实和虚拟现实、自动驾驶、三维重建和辅助医疗诊断等应用方向,单目深度估计逐渐发挥着越来越大的作用。例如,在三维建模领域,单目深度估计技术可以从普通的二维图像中恢复出三维场景的几何结构,从而实现场景的三维重建和建模。这对于虚拟旅游、文物保护、游戏开发等领域都具有重要意义;在自动驾驶领域,单目深度估计技术可以帮助车辆实时地理解周围环境,实现避障、路径规划等任务,以确保安全驾驶或飞行;在医学影像分析中,单目深度估计技术利用深度信息来量化肿瘤的大小和位置,可以帮助医生提供更准确的诊断和治疗方案。因此,单目深度估计技术在多个领域都具有重要意义,引起了工业界和学术界的广泛关注。
2、近年来,随着深度学习技术的发展,基于深度学习的单目深度估计技术在架构、数据、跨模态信息融合、学习方法和实时性等方面都取得了重要进展,为其在各种应用领域的应用提供了更多可能性。然而,在以编码器-解码器架构为主的深度估计技术仍旧存在一些挑战。
3、现有的深度估计技术通常利用现有的深度神经网络模型,如vgg,resnet系列和mobilenet系列等作为编码器提取深度特征。具体而言,研究人员提出了多种基于不同神经网络模型的深度估计方法,例如基于vgg-16的双流框架单目深度估计,以及基于resnet-101的多尺度局部平面指导深度估计等。有研究表明,例如,文献1(predicting depth,surface normals and semantic labels with a common multi-scale convolutionalarchitecture, in proc. ieee int. conf. comput. vis. (iccv), dec. 2015, pp.2650–2658.)记载将vgg16作为主干网络相较于alexnet能够提供更高的准确度,这一结果取决于vgg网络改进的区分能力使得深度估计学习到更复杂的特征。因此,编码器模型的深度特征提取能力对单目深度估计模型的性能有着决定性的影响。然而,如今手工设计的模型各有所长。举例来说,一些研究已经证实,文献2(from big to small: multi-scalelocal planar guidance for monocular depth estimation, 2019, arxiv:1907.10326.[online]. available: http://arxiv.org/abs/1907.10326)在nyuv2基准测试上,使用densenet161作为编码器主干相较于resnet101能够获得更高的准确性;而在kitti数据集上,文献3(monocular depth estimation using laplacian pyramid-based depthresiduals, ieee trans. circuits syst. video technol., early access, aug. 1,2021, doi: 10.1109/tcsvt.2021.3049869.)记载resnext编码器则为模型提供了相对最优的性能。针对不同的数据集,存在着不同的最优架构,但要选择最适合当前任务的手工模型,则需要研究人员一一尝试。此外,现有的编码器模型架构均是基于图像分类任务设计的。然而,图像分类问题需要关注一张图片的全局信息,判断图片所属的类别。而深度估计则是需要进一步判断图像中哪些像素属于哪个目标。当把此类为图像分类任务所设计的神经网络架构直接应用到深度估计任务中可能不是最优的方案。因此,设计一个面向深度估计任务专用的编码器模型架构是一个亟待解决的任务。
4、手工设计一个神经网络架构对于研究人员来说是一个巨大的挑战。手工设计网络架构往往需要丰富的专业知识和经验,且大量的结构参数和训练参数为模型架构的调优带来了巨大的工作量。选择合适的网络架构往往需要大量的经验和实验验证,需要耗费大量的时间成本和计算成本。因此,寻找一种自动化的方法来解决网络架构选择问题显得尤为重要。
5、神经架构搜索(neural architecture search, nas)作为一种自动化设计神经网络结构的方法近年来受到了广泛的关注。nas方法将神经网络架构的设计转化为组合优化问题,并利用优化方法作为搜索策略求解。优化算法输出的解就是针对该数据集的最优神经网络架构。nas方法可以针对给定任务自适应设计神经网络架构,弥补了传统手动设计方法的不足,可以节省大量的人力和时间成本。
6、因此,研究一种基于演化神经网络架构搜索的单目深度估计方法,以解决现有技术中存在的问题,具有十分重要的意义。
技术实现思路
1、本发明的目的是解决现有技术中存在的问题,提供一种基于演化神经网络架构搜索的单目深度估计方法。
2、为达到上述目的,本发明采用的技术方案如下:
3、一种基于演化神经网络架构搜索的单目深度估计方法,首先定义用于深度估计的编码器架构的神经架构搜索空间;然后利用基于遗传算法的神经架构搜索算法在所述用于深度估计的编码器架构的神经架构搜索空间进行搜索,在此过程中,将深度估计的准确度作为遗传算法的适应度值,来引导种群更新的方向,经过多次迭代演化得到最优架构,作为单目深度估计编码器的主干网络,并在主干网络中加入金字塔卷积,金字塔卷积包含多个不同尺寸的卷积核,从而引入多尺度学习机制,单目深度估计编码器与上采样解码器一同构成单目深度估计网络(单目深度估计网络通常使用编码器-解码器结构,编码器-解码器结构的核心思想是通过编码器将输入图像进行特征提取和压缩,然后通过解码器将提取到的特征图恢复成原始尺寸的输出。其中,编码器用于提取输入图像的特征信息,解码器用于推理还原图像的深度值);之后再对所述单目深度估计网络进行训练,直至网络收敛;最后将测试集输入至训练好的所述单目深度估计网络,获得图像中每个像素点的预测深度值,并与对应真实深度值比较,评估训练好的单目深度估计网络的性能;
4、已有的单目深度估计算法绝大多数使用编码器-解码器结构网络,而编码器的主干网络都直接使用现有的深度神经网络模型,例如,resnet、densenet等,而这类模型都是基于分类任务构建的,直接用于深度估计网络,其效果并不是最优的;本发明将神经架构搜索算法与单目深度估计相结合,将深度估计的准确度δ1作为遗传算法的适应度值,来引导种群更新的方向,利用神经架构搜索更适合单目深度估计网络的编码器架构,取代传统手工网络架构,实现性能的提升;此外,不同数据集的最优模型不同,本发明第一次在架构中引入多尺度学习的一个机制,具体而言,在编码器的主干网络加入了金字塔卷积,该金字塔卷积包含多个不同尺寸的卷积核,能帮助网络更好地处理不同尺度的特征信息,提高最终推理深度值的准确性。
5、作为优选的技术方案:
6、如上所述的一种演化神经网络架构搜索的单目深度估计方法,上采样解码器为包含拉普拉斯金字塔的上采样解码器,用于将编码器提取的图像特征映射回深度图;解码器主要由上采样层和卷积层组成,以及来自编码器中间层的跳跃连接;引入的拉普拉斯金字塔,用于强化物体轮廓特征;拉普拉斯金字塔具体操作为:将原图多次下采样后再上采样,通过对相同尺寸的图片进行相减操作得到的轮廓特征图来辅助指导解码器,解码器通过多次上采样、残差连接和对应尺寸轮廓图的加权合并逐步精细化,最终得到更准确的深度图。
7、如上所述的一种演化神经网络架构搜索的单目深度估计方法,所述用于深度估计的编码器架构的神经架构搜索空间定义了用于深度估计任务的编码器的架构搜索范围,它包括编码器的主干网络中的各个组成部分,如单元、块和层次结构,以及它们之间的连接方式和操作选择,具体如下:
8、(a)神经网络架构分3个层次:网络、单元和块;
9、(b)每个块由两个输入和候选操作组成,其中每个输入分别经过相应的候选操作,,然后通过加操作合并为一个输出;每个块的输入和候选操作即为搜索对象,包含在搜索空间内;每个块对应编码为整数四元组<mi>[</mi><msubsup><mi>i</mi><mi>a</mi><mi>i</mi></msubsup><mi>,</mi><msubsup><mi>i</mi><mi>b</mi><mi>i</mi></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>a</mi><mi>i</mi></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>b</mi><mi>i</mi></msubsup><mi>]</mi>,当单元中块的个数为时,一个单元的编码为:
10、<mi>[</mi><msubsup><mi>i</mi><mi>a</mi><mn>1</mn></msubsup><mi>,</mi><msubsup><mi>i</mi><mi>b</mi><mn>1</mn></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>a</mi><mn>1</mn></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>b</mi><mn>1</mn></msubsup><mi>,</mi><msubsup><mi>i</mi><mi>a</mi><mn>2</mn></msubsup><mi>,</mi><msubsup><mi>i</mi><mi>b</mi><mn>2</mn></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>a</mi><mn>2</mn></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>b</mi><mn>2</mn></msubsup><mi>,…,</mi><msubsup><mi>i</mi><mi>a</mi><msub><mi>n</mi><mi>b</mi></msub></msubsup><mi>,</mi><msubsup><mi>i</mi><mi>b</mi><msub><mi>n</mi><mi>b</mi></msub></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>a</mi><msub><mi>n</mi><mi>b</mi></msub></msubsup><mi>,</mi><msubsup><mi>o</mi><mi>b</mi><msub><mi>n</mi><mi>b</mi></msub></msubsup><mi>]</mi>;
11、第个块的计算公式如下:
12、;
13、其中,表示第个块中第一个输入索引,表示第个块中第一个输入进行的候选操作;
14、(c)候选操作有5种,分别为恒等连接、3×3最大池化层、3×3平均池化层、3×3深度可分离卷积和5×5深度可分离卷积;这些操作通过调整步长和填充,确保不改变输入特征图的尺寸,以便在搜索过程中进行替换;
15、(d)单元按照位置不同分为三种:输入单元、标准单元和降维单元;所有单元按串行排列,当前单元的输出即为下一个单元的输入,输入单元位于网络开头,只有一个输入;标准单元和降维单元都有两个输入,其中一个输入为前一个单元的输出,另一个输入为前一个单元的输入;具体来说,假设第n个单元的输入为,输出为,那么第n个单元的另一个输入为,即第n-1个单元的输入;
16、(e)每个单元的结构由一个有向无环图、一个金字塔卷积模块以及一个从头直连尾部的跳跃连接组成;其中有向无环图又由个块相互连接构成,块与块之间的拓扑连接方式和块内操作的选择即为需要搜索的目标,也是本发明的搜索空间;有向无环图的结尾将所有无出度的块的输出合并,输入到金字塔卷积模块;金字塔卷积通过多尺度卷积核帮助网络更好地处理不同尺度的特征信息,提高模型对尺度变化和空间结构的适应能力,从而提高推理深度值的准确度,具体为:
17、1)将输入特征图通过1×1卷积调整至合适通道数。其中,特征图是网络中信息流的单位,包含原图中浓缩的特征信息,是用于还原推理深度值依据。
18、2)特征图并行经过4个不同尺寸的卷积核,并将结果按通道维度拼接起来。
19、3)使用1×1卷积恢复原来的通道数,作为结果输出;
20、(f)以一个输入单元为首,后接个标准单元,然后以一个降维单元和个标准单元为一组,并重复堆叠3组,即构成深度估计编码器的主干网络;其中,每个降维单元前都额外使用池化操作将输入特征图尺寸缩小至原来的一半,并通过1×1卷积将通道数扩展至两倍。
21、如上所述的一种基于演化神经网络架构搜索的单目深度估计方法,利用基于遗传算法的神经架构搜索算法在所述用于深度估计的编码器架构的神经架构搜索空间进行搜索得到最优架构,具体步骤如下:
22、(1)准备深度估计相应的数据集,并划分为训练集和测试集;所述数据集包含图像-深度值对;
23、(2)设定搜索训练相关参数以及遗传算法相关参数;所述搜索训练相关参数包括:批处理数据量,训练轮次,初始学习率,权重衰减,动量系数;所述遗传算法相关参数包括每个单元中块的数量,标准单元堆叠数量,网络初始通道数,种群规模,每代产生新个体的数量,交叉率,突变率;
24、(3)初始化网络权重;
25、(4)对于每个批处理轮次,采样一个子网架构,在训练集上通过随机梯度下降(stochastic gradient descent,sgd)优化权重参数;
26、(5)判断是否完成所有批处理轮次的训练,若完成,则进入下一步,否则返回步骤(4);
27、(6)对当前种群中所有个体进行评估,利用权重共享继承步骤(4)中的权重参数,评估方式为在测试集的子集上进行推理计算深度估计相关性能评价指标,评价指标包括:绝对相对误差,平方相对误差,均方根相对误差,对数均方根误差,准确度, , ,对数误差,使用其中的作为个体的适应度值;其中abs rel(绝对相对误差)表示模型预测值与真实值之间的平均相对误差,强调了相对差异的大小;sq rel(平方相对误差)表示平均相对误差的平方,对大误差给予更高的惩罚;rmse(均方根相对误差)表示预测值与真实值之间的平均误差的标准差,反映了真实的误差值,受数据范围的影响;(对数均方根误差)衡量了预测值与真实值之间的对数差异的平均值的平方根,适用于数据范围很大时;表示预测的深度图中,满足预测值与真实值之比在1.25之内的像素点的百分比,用于表示模型预测深度值的准确度;而和是对于更宽容的误差范围进行评估的准确度,它们的具体阈值分别为和;(对数误差)是真实值和预测值之间的对数差的平均值,适用于数据分布较广泛的情况,因为它在对数尺度上比较了误差;常规情况下,评估网络架构的好坏需要重新训练该网络权重,因为不训练只随机初始化权重的网络性能不具有可比性。而权重继承是指是一种权重参数的共享机制,当一个子网架构在训练集上已经优化过权重参数时,可以将这些参数保存下来,在后续的搜索过程中,如果再次遇到相同的子网架构,就可以直接使用这些已经优化过的参数,而无需重新训练。本发明使用的神经架构搜索使用了权重共享策略,通过步骤(4)学习权重参数,在后续评估直接继承相同架构部分的权重,所以无需重新训练;
28、的计算公式如下:
29、;
30、其中,y表示预测深度图像中每个像素位置的深度值,表示真实深度图像中每个像素位置的深度值;
31、(7)基于步骤(6)进行环境选择,即保留优秀个体,淘汰劣质个体;具体操作为:依据适应度值从大到小对当前所有个体进行降序排序,只保留前的个体,组成当前种群,并更新记录最优架构;
32、(8)在完整测试集上重新验证当前最优架构的性能;
33、(9)依据交叉率和突变率,对当前种群依次进行选择、交叉、突变操作,重复至产生新个体数量等于;
34、(10)重复执行一次步骤(6)~(9),增加进化迭代次数;
35、(11)判断是否完成所有的训练轮次,若未完成,则返回步骤(4);若完成,则返回步骤(7)得到的最优架构,即为搜索得到的最优架构。
36、如上基于演化神经网络架构搜索的单目深度估计方法,步骤(3)中使用kaiming正态分布进行权重初始化。
37、如上基于演化神经网络架构搜索的单目深度估计方法,步骤(4)中采样方式为在当前种群中选择两个亲本,通过交叉突变操作产生两个子代个体,返回两个子代个体中的第一个个体;对于第一个训练轮次,即时,当前种群为空,则在搜索空间内随机生成一个子网架构返回。
38、如上基于演化神经网络架构搜索的单目深度估计方法,步骤(9)中选择操作具体为:随机选择个体,每个个体的选择概率根据个体的适应度获得,每个个体被选择的概率值为种群中所有个体适应度归一化,公式如下:
39、;
40、其中,为第个个体被选择的概率,表示第个个体的适应度值;
41、由交叉率决定是否要进行交叉;生成一个随机数,如果,则进行交叉,交叉操作具体为:从随机选择的个体中选出两个亲本个体,同时随机生成二进制列表,长度为单元中块的数量,交叉操作基本单位为块;若对应位置列表值为1,则交换该块,为0则不交换,最后返回两个新个体;
42、突变操作具体为:根据突变概率,随机生成一个二进制列表<mi>status</mi><mi>=[</mi><msub><mi>s</mi><mn>1</mn></msub><mi>,</mi><msub><mi>s</mi><mn>2</mn></msub><mi>,…,</mi><msub><mi>s</mi><mi>n</mi></msub><mi>]</mi>,其中的概率为,同时随机生成一个只包含的符号列表<mi>flag</mi><mi>=[</mi><msub><mi>f</mi><mn>1</mn></msub><mi>,</mi><msub><mi>f</mi><mn>2</mn></msub><mi>,…,</mi><msub><mi>f</mi><mi>n</mi></msub><mi>]</mi>;然后,对应位置元素的乘积加到个体编码的相应位置上,即使得个体随机位置编码发生或;个体突变计算公式如下:
43、<msub><mi>p</mi><mi>before</mi></msub><mi>=[</mi><msub><mi>x</mi><mn>1</mn></msub><mi>,</mi><msub><mi>x</mi><mn>2</mn></msub><mi>,…,</mi><msub><mi>x</mi><mi>n</mi></msub><mi>]</mi>;
44、<msub><mi>p</mi><mi>new</mi></msub><mi>=</mi><msub><mrow><mi>[</mi><mi>f</mi></mrow><mi>mutation</mi></msub><msub><mi>x</mi><mn>1</mn></msub></mfenced><mi>,</mi><msub><mi>f</mi><mi>mutation</mi></msub><msub><mi>x</mi><mn>2</mn></msub></mfenced><msub><mrow><mi>,…,</mi><mi>f</mi></mrow><mi>mutation</mi></msub><msub><mi>x</mi><mi>n</mi></msub></mfenced><mi>]</mi>;
45、;
46、其中,为突变前的个体编码,为突变后的新个体编码,为个体编码中的每一位,为每位编码的突变公式,为随机生成的二进制状态列表中的每一位,为随机生成的二进制符号列表中的每一位。
47、如上所述的一种基于演化神经网络架构搜索的单目深度估计方法,步骤(6)中各评价指标的计算公式分别如下;
48、绝对相对误差:;
49、平方相对误差:;
50、均方根相对误差:;
51、对数均方根误差:;
52、准确度:;
53、;
54、;
55、对数误差:;
56、其中,表示测试图像对应真实深度图中有效像素的总数量,表示预测深度图像中每个像素位置的深度值,表示真实深度图像中每个像素位置的深度值,和是对应关系,即同一张图像的预测图和真实深度图中的像素值(深度值);上述公式中,的计算公式较为复杂,在此解读:的值为满足条件的的百分比,此条件为,其中的为阈值,通常为,分别对应。
57、有益效果:
58、(1)本发明的一种基于演化神经网络架构搜索的单目深度估计方法,首次将神经架构搜索算法和单目深度估计算法结合,通过神经架构搜索算法搜索得到的最优架构作为单目深度估计编码器的主干网络,并与固定的上采样解码器组合作为最终架构,克服了选择和设计网络困难的问题;
59、(2)本发明的一种基于演化神经网络架构搜索的单目深度估计方法,将遗传算法作为搜索算法,把子网架构作为种群个体,通过种群的迭代演化优化子网架构,并通过权重共享策略,加速种群的评估,减少搜索开销;
60、(3)本发明的一种基于演化神经网络架构搜索的单目深度估计方法,将金字塔卷积模块融入到编码器的主干网络中,帮助网络更好地处理不同尺度的特征信息,进一步改善最终单目深度估计架构的性能;该方法在kitti、nyu单目深度估计任务中,均取得了优异的性能,相比较于传统手工架构编码器的单目深度估计算法,具有较高的精度和较小的参数量。
本文地址:https://www.jishuxx.com/zhuanli/20240730/195420.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。