CN112949519B - 目标检测方法、装置、设备及存储介质 - Google Patents
目标检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112949519B CN112949519B CN202110258491.XA CN202110258491A CN112949519B CN 112949519 B CN112949519 B CN 112949519B CN 202110258491 A CN202110258491 A CN 202110258491A CN 112949519 B CN112949519 B CN 112949519B
- Authority
- CN
- China
- Prior art keywords
- loss function
- target detection
- network model
- detected
- precision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
本发明实施例公开了一种目标检测方法、装置、设备及存储介质,该方法包括:获取待检测图像和待检测点云数据;将待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,网络参数与训练中的参数浮点精度关联;根据目标检测网络模型的输出结果,对待检测图像和待检测点云数据中的对象进行目标检测,获得对象在三维空间所对应矩形框的数据信息。解决了通过神经网络模型进行目标检测过程中无法准确识别对象的问题,在训练过程中通过动态选择参数浮点精度,避免了使用固定的参数浮点精度导致的模型识别准确度较低或速度较慢的情况发生,提高目标检测准确率,节省时间。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及目标检测方法、装置、设备和存储介质。
背景技术
随着人工智能技术的快速发展,人工神经网络被越来越多的应用在各个领域中,例如,计算机视觉、语音识别、机器翻译、社交网络过滤、玩棋盘和电子游戏和医学诊断等领域。人工神经网络是基于称为人工神经元的连接单元或节点所构成的集合,这些单元或节点松散地模拟生物大脑中的神经元,进行信息处理。利用神经网络技术可以构建用于进行对象(例如,人、车、动物等)识别的神经网络模型,判断对象所处的位置。如,在车辆行驶过程中准确识别车辆附近的人、车、动物等对象,以便在为车辆驾驶人员提供路况风险提醒,或者自动驾驶路径规划提供可靠信息。所以,对图像、点云或其他数据信息进行处理,准确识别对象变得尤为重要。
目前,在进行目标检测时,通常通过训练神经网络模型从获取到的数据信息中提取对象,从而实现目标检测。而模型训练过程中,需要设置训练时参数所使用的精度。现有的模型训练方法在确定采用何种精度进行训练时,其原理是通过操作符列表来规定操作符使用何种精度进行运算。通过查询列表来决定使用何种精度进行运算,无法做到动态选择。在精度要求较高时,使用低精度的计算过程中会出现溢出或者为0的情况导致误差增大;在精度要求较低时,使用高精度计算会导致内存占用过高,降低训练速度的情况发生。所以导致训练模型时无法兼顾速度和准确性。
发明内容
本发明提供目标检测方法、装置、设备和存储介质,实现了对目标的准确和快速识别。
第一方面,本发明实施例提供了一种目标检测方法,所述目标检测方法包括:
获取待检测图像和待检测点云数据;
将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;
根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息。
第二方面,本发明实施例还提供了一种目标检测装置,该目标检测装置包括:
获取模块,用于获取待检测图像和待检测点云数据;
输入模块,用于将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;
检测模块,用于根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息。
第三方面,本发明实施例还提供了一种计算机设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的一种目标检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的一种目标检测方法。
本发明实施例提供了一种目标检测方法、装置、设备及存储介质,通过获取待检测图像和待检测点云数据;将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息,解决了通过神经网络模型进行目标检测过程中无法准确识别对象的问题。在训练过程中根据参数浮点精度调整网络参数,进而根据网络参数完成对目标检测网络模型的训练。在训练过程中通过动态选择参数浮点精度,进而实现网络参数的调整,避免了使用固定的参数浮点精度导致的模型识别准确度较低或速度较慢的情况发生,提高目标检测准确率,节省时间。
附图说明
图1是本发明实施例一中的一种目标检测方法的流程图;
图2是本发明实施例二中的一种目标检测装置的结构示意图;
图3是本发明实施例三中的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
实施例一
图1为本发明实施例一提供的一种目标检测方法的流程图,本实施例可适用于在进行目标检测时得到准确识别结果的情况。该方法可以由计算机设备执行,该计算机设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,计算机设备可以是笔记本、台式计算机以及智能平板等。
需要说明的是,本实施例所提供的目标检测方法可以应用在任意一个通过损失函数调整网络参数从而达到网络模型训练目的的神经网络模型。通过训练好的神经网络模型可以根据输入的数据自动预测结果,并将预测结果作为模型输出结果输出。在本实施例中,将应用场景具体化为:目标检测方法有计算机设备执行,计算机设备可以安装在车辆上。车辆在行驶过程中,通过车辆上安装的摄像头和毫米波雷达采集图像和点云数据,通过将图像和点云数据输入至预先训练好的模型中,预测图像和点云数据中对象所在矩形框的相关信息,进而得到对象所在位置。进而根据对象所在位置提示驾驶员,或者在自动驾驶中根据对象所在的位置进行路线规划,避免车辆事故发生。
本实施例提供的目标检测方法能够准确识别对象,根据对象在三维空间中所对应矩形框的数据信息得到对象所在的位置,实现对对象的准确检测,以此克服现有技术方案所存在的问题。
如图1所示,本实施例一提供的一种目标检测方法的流程图,具体包括如下步骤:
S110、获取待检测图像和待检测点云数据。
在本实施例中,待检测图像具体可以理解为通过图像采集装置采集的、需要进行目标识别的图像;待检测点云数据具体可以理解为通过毫米波雷达采集的、需要进行和目标识别的点云数据。点云数据在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,点云的属性包括空间分辨率、点位精度、表面法向量等。
待检测图像由图像采集装置采集,图像采集装置可以是照相机、摄像机等可以进行图像采集的设备。待检测点云数据由毫米波雷达采集,毫米波雷达为工作在毫米波波段的雷达,其工作频率通常选在30~300吉赫范围内。本申请实施例以安装在车辆上的图像采集装置和毫米波雷达为例,车辆在前方、后方、侧方等位置均可以安装一个或多个图像采集装置,采集车辆周围的环境信息。同理,车辆上安装一个或者多个毫米波雷达采集车辆周围的环境信息。
图像采集装置和毫米波雷达的数量均为一个时,将其采集时刻设置为同一采集时刻,将同一采集时刻采集的待检测图像和待检测点云数据作为一组数据,进行后续的目标检测。当图像采集装置或毫米波雷达的数量不止一个时,根据图像采集装置和毫米雷达波的位置将一个或者多个待检测图像和待检测点云数据进行匹配,得到一组待检测图像和待检测点云数据,将其作为模型的输入。例如,将车辆前方的图像采集装置采集的待检测图像和车辆前方的毫米波雷达采集的待检测点云数据作为一组输入。
可以知道的是,若图像采集装置和毫米波雷达的采集频率不同,可以将相同采集时刻所采集的待检测图像和待检测点云数据作为一组数据,或者根据其他匹配方式选择一组待检测图像和待检测点云数据。并且,本申请实施例中的目标检测方法的执行频率可以与图像采集装置和毫米波雷达相同,也可以不同。例如,图像采集装置和毫米波雷达采集频率为120次/s,目标检测方法的执行频率为60次/s,即每采集两次待检测图像和待检测点云数据,执行一次目标检测。本申请实施例对此不进行限定,在实际应用过程中可以根据需求灵活设置。
S120、将待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,目标检测网络模型通过对网络参数训练得到,网络参数与训练中的参数浮点精度关联。
在本实施例中,目标检测网络模型具体可以理解为预先训练好的可识别目标的神经网络模型;网络参数具体可以理解为神经网络模型中每层的参数,也可以称为权重。神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一串数字。每层实现的变换由其权重(网络参数)来参数化(parameterize)。神经网络中的学习可以为神经网络的所有层找到一组网络参数值,使得该网络能够将每个示例输入与其目标正确地一一对应。一个深度神经网络可能包含数千万个网络参数,修改某个网络参数值将会影响其他所有网络参数的行为。参数浮点精度具体可以理解为网络参数的精度浮点数,例如Float16、Float32,目前在实际神经网络模型训练中通常选择这两种精度存储网络参数和梯度。
预先根据网络参数对目标检测网络模型进行训练,在训练过程中会不断调整网络参数,直到得到符合预期要求的目标检测网络模型,完成训练。训练过程中调整网络参数时,需要根据参数浮点精度进行调整,训练过程中的参数浮点精度不是固定的,其是动态变化的,可以根据训练过程中网络参数的精度需求自动调节,选择合适的精度,避免精度过低或者过高。将待检测图像和待检测点云数据作为一组输入数据,将其输入到目标检测网络模型中,由目标检测网络模型进行根据学习经验进行结果预测。
S130、根据目标检测网络模型的输出结果,对待检测图像和待检测点云数据中的对象进行目标检测,获得对象在三维空间所对应矩形框的数据信息。
在本实施例中,数据信息具体可以理解为矩形框的顶点坐标、中心点坐标、边长等可以唯一确定一个矩形框的信息。
以行驶在市区街道的车辆为例,待检测图像和待检测点云数据中可能包括行人、自行车、电动车或其他车辆等对象,通过目标检测网络模型对对象进行目标检测,获得目标检测网络模型输出的对象在三维空间所对应矩形框的数据信息。对象可以是一个或者多个,每个对象对应一个矩形框的数据信息。为了更好的描述对象在三维空间的位置,矩形框为三维空间的矩形框,矩形框中的任意一点的坐标均为三维坐标,即(x,y,z),相应的,若数据信息中包含边长,则边长也为3个。通过边长和中心点坐标的方式确定对象所对应的矩形框,仅需要存储一个中心点坐标和3个边长,可以减少数据存储量,节省空间。通过目标检测网络模型实现了目标检测。其检测得到的对象准确度高,可以应用在自动驾驶的路径规划中、车辆行驶的路况提醒中等应用场景中。
本发明实施例提供了一种目标检测方法,通过获取待检测图像和待检测点云数据;将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息,解决了通过神经网络模型进行目标检测过程中无法准确识别对象的问题。在训练过程中根据参数浮点精度调整网络参数,进而根据网络参数完成对目标检测网络模型的训练。在训练过程中通过动态选择参数浮点精度,进而实现网络参数的调整,避免了使用固定的参数浮点精度导致的模型识别准确度较低或速度较慢的情况发生,提高目标检测准确率,节省时间。
作为本实施例的一个可选实施例,本可选实施例进一步优化包括了目标检测网络模型的训练,目标检测网络模型的训练步骤包括:
A、将当前迭代下对应的训练样本输入至当前的待训练网络模型中,并根据待训练网络模型的当前网络参数确定当前损失函数。
在本实施例中,训练样本包括一组需要学习的数据以及对应的标准数据(即标准学习结果),在本申请实施例中,将一组图像和点云数据作为待学习数据,将待学习数据及其对应的标准数据作为一个训练样本。标准数据通常是人为标注的,或者通过其他方式标注的,在训练前预先确定标准数据。待训练网络模型具体可以理解为未进行训练的、基于深度学习的神经网络模型;当前网络参数具体可以理解为当前迭代下神经网路模型各层的参数,也是网络参数;当前损失函数具体可以理解为当前迭代下神经网络模型的损失函数。输出与预期值(标准数据)之间的距离,是神经网络损失函数(loss function)的任务,该函数也叫目标函数(objective function)。损失函数的输入是神经网络模型的预测值与真实目标值(标准数据),然后计算出一个距离值,衡量该网络在这个示例上的效果好坏,即损失函数用来衡量网络输出结果的质量。深度学习利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示例对应的损失值。调节由优化器(optimizer)来完成,实现了反向传播(backpropagation)算法。
将当前迭代下的训练样本输入至当前的待训练网络模型中,根据待训练网络模型的当前网络参数对训练样本中的待学习数据进行预测,可以得到预测结果,将预测结果与标准数据进行比较,得到当前损失函数。
B、根据当前损失函数确定参数浮点精度。
根据当前损失函数选择合适的参数浮点精度,当当前损失函数相比于上一次的损失函数变小,网络模型对精度要求变低,相应的,可以选择一个精度较低的参数浮点精度;反之,当当前损失函数相比于上一次的损失函数变大,网络模型对精度要求变高,相应的,选择一个精度较高的参数浮点精度。
作为本实施例的一个可选实施例,本可选实施例进一步将根据所述当前损失函数确定参数浮点精度优化为:
b1、根据上一损失函数和预确定的平滑参数确定平滑损失函数。
在本实施例中,上一损失函数具体可以理解为上一次迭代得到的损失函数。若当前迭代是第一次迭代,此时没有上一损失函数,可以将上一损失函数值设置为0,即初始损失函数设置为0。平滑参数具体可以理解为预先确定好的一个数值。平滑损失函数具体可以理解为根据所允许的浮动范围确定的损失函数。
由于损失函数不是连续和平滑的,忽高忽低的情况时有发生;为此添加平滑参数α来抚平训练中的损失函数产生毛刺以避免在不同的参数浮点精度之间不停切换而产生的颠簸。平滑参数α取值通常在1-2之间,数值越大容忍度也越大。平滑参数α可以是预先根据经验人为设置,也可以通过训练确定。通过平滑参数对上一损失函数进行运算,得到平滑损失函数。
作为本实施例的一个可选实施例,本可选实施例进一步将根据上一损失函数和预确定的平滑参数确定平滑损失函数优化为:将上一损失函数和平滑参数的乘积确定为平滑损失函数。
对上一损失函数和平滑损失函数进行乘运算,得到的乘积确定为平滑损失函数。
b2、比较当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果。
在本实施例中,比较结果包括大于、小于和等于。预设精度列表具体可以理解为预先设置的数据表,用于存储精度值,在本实施例中,预设精度列表以存储float16和float32为例。待训练网络模型可以动态选择基于float16的半精度计算,还是基于float32的全精度计算。
通过比较当前损失函数和平滑损失函数的大小,确定下一次迭代需要高精度还是低精度,进而从预设精度列表中选择符合要求的精度值。查询结果为float16或float32。
作为本实施例的一个可选实施例,本可选实施例进一步将比较所述当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果优化为:当所述当前损失函数小于或等于所述平滑损失函数时,将预设精度列表中的低精度所对应的精度值确定为查询结果;当所述当前损失函数大于所述平滑损失函数时,将预设精度列表中的高精度所对应的精度值确定为查询结果。
如果本次迭代的当前损失函数小于或等于平滑损失函数时,此时训练正常进行,模型中各项网络参数都在收敛,梯度趋势走向最低点,此时将预设精度列表中的低精度的精度值(如,float16)作为查询结果,以便进行前向传播和后向传播算法,避免使用高精度的精度值进行训练导致的训练速度过慢。如果本次迭代的当前损失函数大于平滑损失函数,此时的当前损失函数相比上一损失函数大出一定数值,此次训练没有收敛,那么在后面的训练中就将预设精度列表中的高精度的精度值(如,float32)作为查询结果,以便进行前向传播和后向传播算法,以此来避免由于使用了低精度的精度值进行训练导致的上溢或下溢所引起的误差。
b3、将查询结果作为参数浮点精度。
C、根据参数浮点精度和当前损失函数对待训练网络模型进行反向传播,确定新的当前网络参数,得到用于下一迭代的待训练网络模型,直至满足迭代收敛条件,得到目标检测网络模型。
可以知道的是,当前损失函数的作用是为了调整网络参数,实现网络优化。在神经网络模型训练在过程中,为了得到最小损失的网络,使其输出结果与目标值尽可能的接近,需要通过每次训练得到的损失函数不断调整网络参数。本申请实施例中的参数浮点精度的作用是用于确定网络参数的精度。
通过当前损失函数和参数浮点精度对当前网络参数进行更新,实现待训练网络模型的反向传播,得到合适精度的新的当前网络参数,新的当前网络参数构成了新的待训练网络模型,新的待训练网络模型用于下一次迭代。通过此种方式不断迭代,直到满足迭代收敛条件,得到目标检测网络模型。
作为本实施例的一个可选实施例,本可选实施例进一步将根据所述参数浮点精度和当前损失函数对所述待训练网络模型进行反向传播,确定新的当前网络参数优化为:
c1、根据参数浮点精度和当前损失函数确定目标梯度。
在本实施例中,目标梯度具体可以理解为此次迭代后进行反向传播的梯度。在实际的模型训练中,根据当前损失函数确定目标梯度,参数浮点精度的作用是用于确定计算得到的目标梯度的精度。
c2、根据目标梯度对当前网络参数进行更新,得到新的当前网络参数。
根据目标梯度对当前网络参数进行更新,得到的新的当前网络参数的精度与参数浮点精度相同。
其中,目标梯度和新的当前网络参数的精度与参数浮点精度相同。
需要知道的是,模型训练过程中,可以设置默认的精度,以及对网络参数进行初始化。在第一次输入训练样本,得到当前损失函数,根据当前损失函数选择参数浮点精度时,由于并不存在真实的上一损失函数,此时为了选择出参数浮点精度,可以将上一损失函数设置为0,即为上一损失函数设置一个初始值。或者在不存在真实的上一损失函数时,直接使用默认的精度作为参数浮点精度。
可以知道的是,在实际模型训练过程中,由精度选择器选择参数浮点精度。在选择了参数浮点精度后,根据参数浮点精度计算当前网络参数和目标梯度。当前损失函数在计算完成后,可以将其存储到数据库或本地存储空间中,以便下次选择参数浮点精度时使用。
本发明实施例所提供的目标检测模型训练方法,通过跟踪损失函数的变化来自动选择参数浮点精度进行运算,从而减少和修正因为精度过低而导致的结果上溢或下溢,以及精度过高导致的训练速度较慢的情况发生。避免了使用固定的参数浮点精度导致的模型识别准确度较低或速度较慢的情况发生,提高目标检测准确率,节省时间。在选择参数浮点精度时,通过设置平滑参数抚平训练中的损失函数产生毛刺,避免在不同的参数浮点精度之间不停切换而产生的颠簸。
实施例二
图2为本发明实施例二提供的一种目标检测装置的结构示意图,该装置包括:获取模块21、输入模块22和检测模块23。
其中,获取模块21,用于获取待检测图像和待检测点云数据;输入模块22,用于将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;检测模块23,用于根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息。
本发明实施例提供了一种目标检测装置,通过获取待检测图像和待检测点云数据;将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息,解决了通过神经网络模型进行目标检测过程中无法准确识别对象的问题。在训练过程中根据参数浮点精度调整网络参数,进而根据网络参数完成对目标检测网络模型的训练。在训练过程中通过动态选择参数浮点精度,进而实现网络参数的调整,避免了使用固定的参数浮点精度导致的模型识别准确度较低或速度较慢的情况发生,提高目标检测准确率,节省时间。
进一步地,该装置还包括:训练模块,用于训练得到所述目标检测网络模型;
相应的,所述训练模块包括:
损失函数确定单元,用于将当前迭代下对应的训练样本输入至当前的待训练网络模型中,并根据所述待训练网络模型的当前网络参数确定当前损失函数;
精度确定单元,用于根据所述当前损失函数确定参数浮点精度;
模型训练单元,用于根据所述参数浮点精度和当前损失函数对所述待训练网络模型进行反向传播,确定新的当前网络参数,得到用于下一迭代的待训练网络模型,直至满足迭代收敛条件,得到目标检测网络模型。
进一步地,精度确定单元,具体用于:根据上一损失函数和预确定的平滑参数确定平滑损失函数;比较所述当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果;将所述查询结果作为参数浮点精度。
进一步地,根据上一损失函数和预确定的平滑参数确定平滑损失函数,包括:将所述上一损失函数和平滑参数的乘积确定为平滑损失函数。
进一步地,比较所述当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果,包括:当所述当前损失函数小于或等于所述平滑损失函数时,将预设精度列表中的低精度所对应的精度值确定为查询结果;当所述当前损失函数大于所述平滑损失函数时,将预设精度列表中的高精度所对应的精度值确定为查询结果。
进一步地,模型训练单元,具体用于:根据所述参数浮点精度和当前损失函数确定目标梯度;根据所述目标梯度对当前网络参数进行更新,得到新的当前网络参数;其中,所述目标梯度和新的当前网络参数的精度与所述参数浮点精度相同。
本发明实施例所提供的目标检测装置可执行本发明任意实施例所提供的目标检测方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3为本发明实施例三提供的一种计算机设备的结构示意图,如图3所示,该设备包括处理器30、存储器31、输入装置32和输出装置33;设备中处理器30的数量可以是一个或多个,图3中以一个处理器30为例;设备中的处理器30、存储器31、输入装置32和输出装置33可以通过总线或其他方式连接,图3中以通过总线连接为例。
存储器31作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的目标检测方法对应的程序指令/模块(例如,目标检测装置中的获取模块21、输入模块22和检测模块23)。处理器30通过运行存储在存储器31中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的目标检测方法。
存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器31可进一步包括相对于处理器30远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置32可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置33可包括显示屏等显示设备。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种目标检测方法,该方法包括:
获取待检测图像和待检测点云数据;
将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;
根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的目标检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述目标检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种目标检测方法,其特征在于,包括:
获取待检测图像和待检测点云数据;
将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;
根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息;
所述目标检测网络模型的训练步骤包括:
将当前迭代下对应的训练样本输入至当前的待训练网络模型中,并根据所述待训练网络模型的当前网络参数确定当前损失函数;
根据所述当前损失函数确定参数浮点精度;
根据所述参数浮点精度和当前损失函数对所述待训练网络模型进行反向传播,确定新的当前网络参数,得到用于下一迭代的待训练网络模型,直至满足迭代收敛条件,得到目标检测网络模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前损失函数确定参数浮点精度,包括:
根据上一损失函数和预确定的平滑参数确定平滑损失函数;
比较所述当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果;
将所述查询结果作为参数浮点精度。
3.根据权利要求2所述的方法,其特征在于,所述根据上一损失函数和预确定的平滑参数确定平滑损失函数,包括:
将所述上一损失函数和平滑参数的乘积确定为平滑损失函数。
4.根据权利要求2所述的方法,其特征在于,所述比较所述当前损失函数和平滑损失函数的大小,并根据比较结果查找预设精度列表,得到查询结果,包括:
当所述当前损失函数小于或等于所述平滑损失函数时,将预设精度列表中的低精度所对应的精度值确定为查询结果;
当所述当前损失函数大于所述平滑损失函数时,将预设精度列表中的高精度所对应的精度值确定为查询结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述参数浮点精度和当前损失函数对所述待训练网络模型进行反向传播,确定新的当前网络参数,包括:
根据所述参数浮点精度和当前损失函数确定目标梯度;
根据所述目标梯度对当前网络参数进行更新,得到新的当前网络参数;
其中,所述目标梯度和新的当前网络参数的精度与所述参数浮点精度相同。
6.一种目标检测装置,其特征在于,包括:
获取模块,用于获取待检测图像和待检测点云数据;
输入模块,用于将所述待检测图像和待检测点云数据作为输入数据输入到预确定的目标检测网络模型中,其中,所述目标检测网络模型通过对网络参数训练得到,所述网络参数与训练中的参数浮点精度关联;
检测模块,用于根据所述目标检测网络模型的输出结果,对所述待检测图像和待检测点云数据中的对象进行目标检测,获得所述对象在三维空间所对应矩形框的数据信息;
训练模块,用于训练得到所述目标检测网络模型;
相应的,所述训练模块包括:
损失函数确定单元,用于将当前迭代下对应的训练样本输入至当前的待训练网络模型中,并根据所述待训练网络模型的当前网络参数确定当前损失函数;
精度确定单元,用于根据所述当前损失函数确定参数浮点精度;
模型训练单元,用于根据所述参数浮点精度和当前损失函数对所述待训练网络模型进行反向传播,确定新的当前网络参数,得到用于下一迭代的待训练网络模型,直至满足迭代收敛条件,得到目标检测网络模型。
7.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的目标检测方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的目标检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258491.XA CN112949519B (zh) | 2021-03-09 | 2021-03-09 | 目标检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258491.XA CN112949519B (zh) | 2021-03-09 | 2021-03-09 | 目标检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949519A CN112949519A (zh) | 2021-06-11 |
CN112949519B true CN112949519B (zh) | 2023-05-30 |
Family
ID=76229078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110258491.XA Active CN112949519B (zh) | 2021-03-09 | 2021-03-09 | 目标检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949519B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115147673B (zh) * | 2022-05-10 | 2023-04-07 | 首都医科大学附属北京友谊医院 | 影像设备质量检测方法、装置、设备和存储介质 |
CN114919819B (zh) * | 2022-06-01 | 2023-06-06 | 中迪机器人(盐城)有限公司 | 一种钢带贴膜自动化控制方法及系统 |
CN115861162A (zh) * | 2022-08-26 | 2023-03-28 | 宁德时代新能源科技股份有限公司 | 定位目标区域的方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108010060A (zh) * | 2017-12-06 | 2018-05-08 | 北京小米移动软件有限公司 | 目标检测方法及装置 |
CN111310775A (zh) * | 2018-12-11 | 2020-06-19 | Tcl集团股份有限公司 | 数据训练方法、装置、终端设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11216719B2 (en) * | 2017-12-12 | 2022-01-04 | Intel Corporation | Methods and arrangements to quantize a neural network with machine learning |
US11385863B2 (en) * | 2018-08-01 | 2022-07-12 | Hewlett Packard Enterprise Development Lp | Adjustable precision for multi-stage compute processes |
CN109597087B (zh) * | 2018-11-15 | 2022-07-01 | 天津大学 | 一种基于点云数据的3d目标检测方法 |
CN110032949B (zh) * | 2019-03-22 | 2021-09-28 | 北京理工大学 | 一种基于轻量化卷积神经网络的目标检测与定位方法 |
-
2021
- 2021-03-09 CN CN202110258491.XA patent/CN112949519B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108010060A (zh) * | 2017-12-06 | 2018-05-08 | 北京小米移动软件有限公司 | 目标检测方法及装置 |
CN111310775A (zh) * | 2018-12-11 | 2020-06-19 | Tcl集团股份有限公司 | 数据训练方法、装置、终端设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112949519A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112949519B (zh) | 目标检测方法、装置、设备及存储介质 | |
CN111401201B (zh) | 一种基于空间金字塔注意力驱动的航拍图像多尺度目标检测方法 | |
CN110567480B (zh) | 车辆定位的优化方法、装置、设备及存储介质 | |
CN104794733A (zh) | 对象跟踪方法和装置 | |
CN111602138B (zh) | 基于人工神经网络的物体检测的系统及方法 | |
CN110889421A (zh) | 目标物检测方法及装置 | |
CN110910445B (zh) | 一种物件尺寸检测方法、装置、检测设备及存储介质 | |
CN111915657A (zh) | 一种点云配准方法、装置、电子设备及存储介质 | |
CN115546705B (zh) | 目标识别方法、终端设备及存储介质 | |
CN111738319B (zh) | 一种基于大规模样本的聚类结果评价方法及装置 | |
CN113222149A (zh) | 模型训练方法、装置、设备和存储介质 | |
CN110276801B (zh) | 一种物体定位方法、装置及存储介质 | |
CN109902641B (zh) | 基于语义对齐的人脸关键点检测方法、系统、装置 | |
CN114882307A (zh) | 分类模型训练和图像特征提取方法及装置 | |
CN114926498A (zh) | 一种基于时空约束与可学习特征匹配的快速目标跟踪方法 | |
CN115131621A (zh) | 一种图像质量评估方法与装置 | |
CN112862730A (zh) | 点云特征增强方法、装置、计算机设备和存储介质 | |
CN115984723A (zh) | 道路破损检测方法、系统、装置、存储介质及计算机设备 | |
CN112561956B (zh) | 视频目标跟踪方法、装置、电子设备及存储介质 | |
CN113902898A (zh) | 目标检测模型的训练、目标检测方法、装置、设备和介质 | |
CN113947154A (zh) | 一种目标检测方法、系统、电子设备及存储介质 | |
CN116258052A (zh) | 一种路损预测方法、装置及电子设备 | |
CN110807397A (zh) | 一种预测目标物运动状态的方法及装置 | |
CN111179284A (zh) | 交互式图像分割方法、系统及终端 | |
CN111210500B (zh) | 一种三维点云处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |