一种基于YOLOV3-tiny的共虚轴三维相机的实时测距方法与流程

    专利查询2022-08-10  119


    一种基于yolov3-tiny的共虚轴三维相机的实时测距方法
    [0001][0002][0003][0004][0005]
    技术领域
    [0006]
    本发明涉及基于yolov3-tiny(是一种轻量级的基于深度神经网络的对象识别和定位算法)算法的共虚轴三维相机的实时测距方法。


    背景技术:

    [0007]
    相机测距具有广泛的应用前景,无人驾驶,无人机等都需要相机进行初步测距。在工业测量领域和爆破等领域也具有极大应用前景。yolov3-tiny是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以用于实时系统。如何将yolov3-tiny算法与共虚轴三维相机相互结合,实现实时测距,是本领域技术人员研究的方向。


    技术实现要素:

    [0008]
    本发明的目的在于提供一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,能实时准确地测距。
    [0009]
    实现上述目的的技术方案是:
    [0010]
    一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,包括:
    [0011]
    步骤s1,共虚轴三维相机采集同一光轴上的远图和近图;
    [0012]
    步骤s2,利用yolov3-tiny目标识别神经网络加速算法对近图的图像数据和远图的图像数据进行处理;
    [0013]
    步骤s3,根据处理后的图像数据,确定远图和近图上预设识别的物体所对应的两个目标识别框;
    [0014]
    步骤s4,对目标识别框内的图像数据进行css(curvature scale space,基于曲率尺度空间)角点识别;
    [0015]
    步骤s5,根据识别的角点坐标,获得目标识别框内的图像数据的远、近角点到中心点的距离的平均值;
    [0016]
    步骤s6,将获得的平均值代入共虚轴三维相机光学关系式中,得出距离信息。
    [0017]
    优选的,步骤s2中,首先获取yolov3-tiny目标识别神经网络权重数据,根据yolov3-tiny目标识别神经网络权重数据及算法结构在fpga上进行加速核处理,之后,对同一帧远图的图像数据和近图的图像数据进行寄存,同时进行拼接操作。
    [0018]
    优选的,步骤s3中,两个目标识别框中心点的位置信息在远图和近图中重合。
    [0019]
    优选的,针对两个目标识别框中所识别的角点,建立一一对应关系。
    [0020]
    优选的,共虚轴三维相机光学关系式为:
    [0021][0022]
    其中,l1拍摄的是近图,l2拍摄的是远图;l1为50%反光镜中心与上镜头之间的距离,l2为全反镜中心与下镜头之间的距离;第一镜头中目标识别框内角点均值为d1,第二镜头中目标识别框内角点均值为d2;第一镜头光轴与第二镜头光轴之间距离h;物体与第一镜头的距离l’1。
    [0023]
    优选的,步骤s2,包括:
    [0024]
    通过三个linebuffer(fpga【现场可编程门阵列】图像处理之行缓存)缓存图像数据,将图像数据进行打包;
    [0025]
    第一层操作:
    [0026]
    对打包后的图像数据进行卷积操作和relu(线性整流函数)操作,得到第一结果;
    [0027]
    将第一结果进行maxpool(max pooling是cnn当中的最大值池化操作)操作,得到第二结果;
    [0028]
    获取yolov3-tiny目标识别神经网络权重数据;
    [0029]
    将第二结果和获取yolov3-tiny目标识别神经网络权重数据进行存储;
    [0030]
    重复多次执行下列操作:
    [0031]
    获取上一层操作的第二结果、yolov3-tiny目标识别神经网络权重数据和预存的偏置数据,替换第一层操作中的打包后的图像数据,执行第一层操作;
    [0032]
    输出处理后的图像数据:
    [0033]
    将预定的两个层次操作获得的第二结果,作为步骤s3中处理后的图像数据并输出。
    [0034]
    优选的,进行卷积操作采用包含有16个pe(处理元件)单元的定点矩阵乘法单元,
    [0035]
    pe单元将yolov3-tiny目标识别神经网络权重数据与图像数据做乘法运算,之后,将结果与偏置数据再相加并移位,输出最后结果。
    [0036]
    优选的,步骤s2中,利用两个fpga对yolov3-tiny目标识别神经网络算法进行加速,通过yolov3-tiny算法对近图的图像数据和远图的图像数据进行处理。
    [0037]
    本发明的有益效果是:本发明可以实时、快速有效地检测到特点目标的距离信息。并且具有准确、低成本的优点。
    附图说明
    [0038]
    图1是本发明的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法的流程图;
    [0039]
    图2是本发明中共虚轴三维相机一个具体实施例的结构图;
    [0040]
    图3是本发明中yolov3-tiny目标识别神经网络部署整体结构图。
    具体实施方式
    [0041]
    下面将结合附图对本发明作进一步说明。
    [0042]
    请参阅图1-3,本发明的一种基于yolov3-tiny的共虚轴三维相机的实时测距方
    法,包括下列步骤:
    [0043]
    步骤s1,共虚轴三维相机采集同一光轴上的远图和近图。共虚轴相机两个镜头的参数尽量保持一致性,同时采集一束光的远图和近图。对于远图和近图,在拍摄的同时,电子系统运行已经训练好数据模型的目标识别神经网络,图像传输保持同步性。
    [0044]
    步骤s2,利用yolov3-tiny目标识别神经网络加速算法对近图的图像数据和远图的图像数据进行处理。具体地,利用两个fpga对yolov3-tiny目标识别神经网络算法进行加速,通过yolov3-tiny算法对近图的图像数据和远图的图像数据进行处理。即:首先获取yolov3-tiny目标识别神经网络权重数据,根据yolov3-tiny 目标识别神经网络权重数据和算法结构在fpga上进行加速处理,之后,对同一帧远图的图像数据和近图的图像数据进行寄存,同时进行拼接操作。具体地,包括:
    [0045]
    1)通过三个linebuffer缓存图像数据,将图像数据进行打包。具体地,图像首先从摄像头模块进入,首先通过三个linebuffer缓存三行图像,然后根据通道方向第一次打包数据。当一个linebuffer缓存三个数据时,那么再将三个 linebuffer缓存的九个数据再次进行打包,即九个数据打包成一个数据。
    [0046]
    2)第一层操作:
    [0047]
    对打包后的图像数据进行卷积操作和relu操作,得到第一结果;
    [0048]
    将第一结果进行maxpool操作,得到第二结果;
    [0049]
    获取yolov3-tiny目标识别神经网络权重数据;
    [0050]
    将第二结果和获取yolov3-tiny目标识别神经网络权重数据进行存储;
    [0051]
    3)重复多次执行下列操作:
    [0052]
    获取上一层操作的第二结果、yolov3-tiny目标识别神经网络权重数据和预存的偏置数据,替换第一层操作中的打包后的图像数据,执行第一层操作;
    [0053]
    4)输出处理后的图像数据:
    [0054]
    将预定的两个层次操作获得的第二结果,作为步骤s3中处理后的图像数据并输出。一般是对第10次操作和第13次操作的输出结果进行处理,得到目标识别框。
    [0055]
    通过卷积模块实现卷积,本质上就是在进行乘加操作,所以卷积模块的工作效率直接影响工作效率。所以如何提高乘法计算效率至关重要。首先将darknet (darknet是一个较为轻型的完全基于c与cuda的开源深度学习框架)框架训练的32位权重数据通过caffe-ristretto(caffe-ristretto是一种自动cnn量化工具,可以压缩32位浮点网络)进行定点量化。得到16bit定点权重数据。
    [0056]
    进行卷积操作采用包含有16个pe单元的定点矩阵乘法单元,每个pe单元包含了一个定点乘法计算单元、偏置加法计算单元、relu函数计算单元以及存储计算结果的存储单元。pe单元将yolov3-tiny目标识别神经网络权重数据与图像数据做乘法运算,之后,将结果与偏置数据再相加并移位,输出最后结果。
    [0057]
    定点乘法计算单元将输入数据512bit的大位宽乘法计算拆分成32个16bit 乘法计算,在乘法计算后将结果送入偏置加法计算单元。偏置加法计算单元由5层加法器组成。数据首先通过16个加法器完成一次加法运算,然后将计算结果不断相加,最后得到最终结果。
    [0058]
    relu函数计算单元:一般的yolov3-tiny网络使用leaky relu作为激活函数,。但
    是当x《0时,y=kx其中k是0到1之间的小数,所以需要进行浮点乘法计算,这不仅浪费资源而且还消耗了大量时间。为了减少资源消耗并节约时间,本发明选择使用relu函数作为激活函数。relu函数公式如下表示。当x《0时,relu函数输出y=0。与leaky relu相比,relu功能在电路中实现不仅节省了资源而且还节省了计算时间。
    [0059][0060][0061]
    步骤s3,根据处理后的图像数据,确定远图和近图上预设识别的物体所对应的两个目标识别框。两个目标识别框中心点的位置信息在远图和近图中应该重合,有误差也应在一定阈值范围内,利用此条件进行物体在远图和近图中的匹配。
    [0062]
    步骤s4,对目标识别框内的图像数据进行css角点识别。分别对远图和近图输出相同数量有限的角点坐标。
    [0063]
    步骤s5,根据识别的角点坐标,获得目标识别框内的图像数据的远、近角点到中心点的距离的平均值。即:建立角点的一一对应关系,取去除目标识别框以外的图像部分的远近角点到中心点的距离的平均值。
    [0064]
    步骤s6,将获得的平均值代入共虚轴三维相机光学关系式中,得出距离信息。共虚轴三维相机光学关系式为:
    [0065][0066]
    其中,l1拍摄的是近图,l2拍摄的是远图;l1为50%反光镜中心与上镜头之间的距离,l2为全反镜中心与下镜头之间的距离;第一镜头中目标识别框内角点均值为d1,第二镜头中目标识别框内角点均值为d2;第一镜头光轴与第二镜头光轴之间距离h;物体与第一镜头的距离l’1。
    [0067]
    图2中,各序号表示:第一镜头1;第二镜头2;分光镜3;全反镜4;目标物体5;第一镜头光轴与第二镜头光轴之间距离h6;第一镜头光轴7;第二镜头光轴8。
    [0068]
    最后可以把距离信息实时传输到外设中显示或目标识别框上面,可以选择实时显示位置和距离信息。
    [0069]
    以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。

    技术特征:
    1.一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,包括:步骤s1,共虚轴三维相机采集同一光轴上的远图和近图;步骤s2,利用yolov3-tiny目标识别神经网络加速算法对近图的图像数据和远图的图像数据进行处理;步骤s3,根据处理后的图像数据,确定远图和近图上预设识别的物体所对应的两个目标识别框;步骤s4,对目标识别框内的图像数据进行css角点识别;步骤s5,根据识别的角点坐标,获得目标识别框内的图像数据的远、近角点到中心点的距离的平均值;步骤s6,将获得的平均值代入共虚轴三维相机光学关系式中,得出距离信息。2.根据权利要求1所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,步骤s2中,首先获取yolov3-tiny目标识别神经网络权重数据,根据yolov3-tiny算法特点在fpga上进行部署,之后,对同一帧远图的图像数据和近图的图像数据进行寄存,同时进行拼接操作。3.根据权利要求1所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,步骤s3中,两个目标识别框中心点的位置信息在远图和近图中重合。4.根据权利要求1所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,步骤s5中,针对两个目标识别框中所识别的角点,建立一一对应关系。5.根据权利要求1所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,共虚轴三维相机光学关系式为:其中,l1拍摄的是近图,l2拍摄的是远图;l1为50%反光镜中心与上镜头之间的距离,l2为全反镜中心与下镜头之间的距离;第一镜头中目标识别框内角点均值为d1,第二镜头中目标识别框内角点均值为d2;第一镜头光轴与第二镜头光轴之间距离h;物体与第一镜头的距离l’1。6.根据权利要求2所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,步骤s2,包括:通过三个linebuffer缓存图像数据,将图像数据进行打包;第一层操作:对打包后的图像数据进行卷积操作和relu操作,得到第一结果;将第一结果进行maxpool操作,得到第二结果;获取yolov3-tiny目标识别神经网络权重数据;将第二结果和获取yolov3-tiny目标识别神经网络权重数据进行存储;重复多次执行下列操作:获取上一层操作的第二结果、yolov3-tiny目标识别神经网络权重数据和预存的偏置数据,替换第一层操作中的打包后的图像数据,执行第一层操作;输出处理后的图像数据:
    将预定的两个层次操作获得的第二结果,作为步骤s3中处理后的图像数据并输出。7.根据权利要求6所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,进行卷积操作采用包含有16个pe单元的定点矩阵乘法单元,pe单元将根据yolov3-tiny目标识别神经网络权重数据及算法结构在fpga上进行加速核处理目标识别神经网络权重数据与图像数据做乘法运算,之后,将结果与偏置数据再相加并移位,输出最后结果。8.根据权利要求1所述的一种基于yolov3-tiny的共虚轴三维相机的实时测距方法,其特征在于,步骤s2中,利用两个fpga对yolov3-tiny目标识别神经网络算法进行加速,通过yolov3-tiny算法对近图的图像数据和远图的图像数据进行处理。

    技术总结
    本发明公开了一种基于YOLOV3-tiny的共虚轴三维相机的实时测距方法,包括:共虚轴三维相机采集同一光轴上的远图和近图;利用YOLOV3-tiny目标识别神经网络加速算法对近图的图像数据和远图的图像数据进行处理;根据处理后的图像数据,确定远图和近图上预设识别的物体所对应的两个目标识别框;对目标识别框内的图像数据进行CSS角点识别;根据识别的角点坐标,获得目标识别框内的图像数据的远、近角点到中心点的距离的平均值;将获得的平均值代入共虚轴三维相机光学关系式中,得出距离信息。本发明能实时准确地测距。本发明能实时准确地测距。本发明能实时准确地测距。


    技术研发人员:辛纪潼 查美怡 石珞家 王鹏 王方聪
    受保护的技术使用者:珠海泰姆兰科技有限公司
    技术研发日:2022.02.19
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-6040.html

    最新回复(0)