CN113065503B - 基于单目摄像头的苗线识别方法、装置和农机 - Google Patents
基于单目摄像头的苗线识别方法、装置和农机 Download PDFInfo
- Publication number
- CN113065503B CN113065503B CN202110407921.XA CN202110407921A CN113065503B CN 113065503 B CN113065503 B CN 113065503B CN 202110407921 A CN202110407921 A CN 202110407921A CN 113065503 B CN113065503 B CN 113065503B
- Authority
- CN
- China
- Prior art keywords
- crops
- image
- row
- coordinates
- monocular camera
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000013507 mapping Methods 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 6
- 238000009331 sowing Methods 0.000 claims 2
- 230000008859 change Effects 0.000 abstract description 10
- 244000089409 Erythrina poeppigiana Species 0.000 description 16
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 7
- 241000894007 species Species 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 241000276420 Lophius piscatorius Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Guiding Agricultural Machines (AREA)
Abstract
本申请提供一种基于单目摄像头的苗线识别方法、装置和农机,该方法包括:在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线。本申请提供的方案,可以在降低成本的前提下识别苗线,而且识别的该苗线可以不受农机行驶过程中由于参数的变化的影响,有效的提高了苗线识别的准确率。
Description
技术领域
本申请实施例涉及农业领域,并且更具体地,涉及一种基于单目摄像头的苗线识别方法、装置和农机。
背景技术
随着科技的发展,农业机械化越来越趋向于智能化,农业机械自动导航技术是精细农业的关键技术,尤其是农机在田间作业的时候,苗线的识别至关重要。
现有技术中,一般会利用农机上的摄像头抓拍若干张图像,然后将这若干张图像的图像坐标转换为实际平面坐标。然而,目前图像中的实际平面坐标需要双目摄像头支持,使得成本较高。
发明内容
本申请提供一种基于单目摄像头的苗线识别方法、装置和农机,可以在降低成本的前提下识别苗线,而且识别的该苗线可以不受农机行驶过程中由于参数的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
第一方面,提供了一种基于单目摄像头的苗线识别方法,包括:
在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;
将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;
将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线。
本申请提供的方案,通过对农机行驶过程中利用单目摄像头获得的图像中的每一行农作物包括的M个目标像素点进行转换,将其转换为每一行农作物包括的M个平面目标坐标,并将转换后的每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为农机行驶过程中的苗线,可以在降低成本的前提下识别苗线,而且识别的该苗线可以不受农机行驶过程中由于参数的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
结合第一方面,在一些可能的实现方式中,所述N=3。
结合第一方面,在一些可能的实现方式中,所述将每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标,包括:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标。
结合第一方面,在一些可能的实现方式中,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
本申请提供的方案,通过结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,并基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标,使得识别的苗线可以不受该组动态参数的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
结合第一方面,在一些可能的实现方式中,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
本申请提供的方案,通过结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,并基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标,使得识别的苗线可以不受农机行驶过程中由于摄像头的高度、俯角以及左右倾斜角的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
结合第一方面,在一些可能的实现方式中,所述结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,包括:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
y0=(imageH-topi)/imageH*maxV
sinak'=y0/Ik'*sin(angleBk')
ak'=ak'sin(sinak')
gyk'=sinak'*I0k'/sin(90-ak'-angleAk')
I2k'=gyk'/sinak'*sin(90+angleAk')
gxk'=(lefti-imageW/2)/inageW*maxHk'
gxk'=I2k'/Ik'*gxk'
gyk'=gyk'+d0k'
tgx0k'=heightk'*sin(angleTiltk')
tgy0=0
tgz0k'=heightk'*cos(angleTiltk')
tgx1k'=gx*cos(angleTiltk')
tgy1k'=gyk'
tgz1k'=gxk'*sin(angleTiltk')
rk'=tgz1k'/tgz0k'
tgxk'=(tgx1k'+rk'*tgx0k')/(1+rk')
tgyk'=(tgy1k'+rk'*tgy0)/(1+rk')
其中,i表示所述M个目标像素点中的第i个目标像素点,i≤M;k'表示所述k组平面目标中的第k'组平面目标,k'≤k;
imageW*imageH表示所述图像的图片分辨率,(topi,lefti)表示所述图像中的第i个目标像素坐标点的坐标值,maxV表示所述图像的垂直映射最远范围,I0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的直线距离,angleBk'表示所述动态参数取值为第k'种时所述图像的垂直映射夹角,angleAk'表示所述动态参数取值为第k'种时所述单目摄像头的下方盲区夹角,maxHk'表示所述动态参数取值为第k'种时所述图像的垂直映射宽度,d0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的水平距离,angleCk'、angleTiltk'、heightk'分别表示所述动态参数取值为第k'种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
结合第一方面,在一些可能的实现方式中,所述M=2。
第二方面,提供一种基于单目摄像头的苗线识别的装置,包括:
获取单元,用于在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;
转换单元,用于将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;
识别单元,用于将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线。
结合第二方面,在一些可能的实现方式中,所述N=3。
结合第二方面,在一些可能的实现方式中,所述转换单元进一步用于:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
所述装置还包括:
选择单元,用于基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标。
结合第二方面,在一些可能的实现方式中,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
结合第二方面,在一些可能的实现方式中,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
结合第二方面,在一些可能的实现方式中,所述转换单元进一步用于:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
y0=(imageH-topi)/imageH*maxV
sinak'=y0/Ik'*sin(angleBk')
ak'=ak'sin(sinak')
gyk'=sinak'*I0k'/sin(90-ak'-angleAk')
I2k'=gyk'/sinak'*sin(90+angleAk')
gxk'=(lefti-imageW/2)/inageW*maxHk'
gxk'=I2k'/Ik'*gxk'
gyk'=gyk'+d0k'
tgx0k'=heightk'*sin(angleTiltk')
tgy0=0
tgz0k'=heightk'*cos(angleTiltk')
tgx1k'=gx*cos(angleTiltk')
tgy1k'=gyk'
tgz1k'=gxk'*sin(angleTiltk')
rk'=tgz1k'/tgz0k'
tgxk'=(tgx1k'+rk'*tgx0k')/(1+rk')
tgyk'=(tgy1k'+rk'*tgy0)/(1+rk')
其中,i表示所述M个目标像素点中的第i个目标像素点,i≤M;k'表示所述k组平面目标中的第k'组平面目标,k'≤k;
imageW*imageH表示所述图像的图片分辨率,(topi,lefti)表示所述图像中的第i个目标像素坐标点的坐标值,maxV表示所述图像的垂直映射最远范围,I0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的直线距离,angleBk'表示所述动态参数取值为第k'种时所述图像的垂直映射夹角,angleAk'表示所述动态参数取值为第k'种时所述单目摄像头的下方盲区夹角,maxHk'表示所述动态参数取值为第k'种时所述图像的垂直映射宽度,d0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的水平距离,angleCk'、angleTiltk'、heightk'分别表示所述动态参数取值为第k'种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
结合第二方面,在一些可能的实现方式中,所述M=2。
第二方面的有益效果可以参考第一方面的有益效果,在此不再赘述。
第三方面,提供了一种农机,包括:单目摄像头,用于拍摄农机行驶过程中作业地块的图像;处理器,用于控制所述单目摄像头并执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机可读存储介质,包括计算机程序,当其在计算机设备上运行时,使得所述计算机设备中的处理单元执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面或第一方面的各实现方式中的方法。
第六方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一可能的实现方式中的方法。
附图说明
图1为本申请实施例的应用场景的示例图。
图2为本申请实施例提供的一种基于单目摄像头的苗线识别的方法的示意性流程图。
图3为本申请实施例提供的一种识别的苗线区域的示意图。
图4为本申请实施例提供的一种识别的苗线中线散点的示意图。
图5为本申请实施例提供的一种获取的目标像素点的示意图。
图6a为本申请实施例提供的基于垂直拍摄的光路示意图。
图6b为本申请实施例提供的基于平行拍摄的光路示意图。
图6c为本申请实施例提供的基于倾斜拍摄的光路示意图。
图7为本申请实施例提供的一种基于单目摄像头的苗线识别的装置。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例可以应用在田间作业中,识别作业地块的苗线的位置,使得农机按照苗线的方向行驶。
图1是本申请实施例提供的技术方案的应用场景的示例图。如图1所示,该应用场景中可以包括至少一个农机110和一个摄像头120。在农机110作业行驶过程中,摄像头120采集作业地块的图像,根据采集到的作业地块的图像的图像坐标识别作业地块的苗线的位置。
农机110在行驶过程中,一般会利用农机上的摄像头120抓拍若干张图像,然后将这若干张图像的图像坐标转换为实际平面坐标。然而,目前图像中的实际平面坐标需要双目摄像头支持,使得成本较高。
本申请提供一种基于单目摄像头的苗线识别方法,可以在降低成本的前提下识别苗线,而且识别的该苗线可以不受农机行驶过程中由于摄像头的高度、俯角以及左右倾斜角的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
下面将结合图2详细描述本申请的方案。
图2是本申请实施例提供的一种基于单目摄像头的苗线识别方法的示意性流程图。如图2所示,该方法200包括:
S210,在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点。
本申请实施例中的摄像头为单目摄像头,该单目摄像头可以安装于农机前方,同时确保其无遮挡。此外,该单目摄像头的分辨率可以为640*400,也可以为其它数值(如640*480),不予限制。
可选地,在一些实施例中,所述M=2。
如图3所示,为本申请实施例提供的一种识别的苗线区域的示意图。如图4所示,为本申请实施例提供的一种识别的苗线中线散点的示意图。
参考图3,可以看出,通过对图像进行识别后,可以识别出苗线区域,即用白色线条环绕的区域;然后再对该苗线区域进行中线处理,即提取每一行苗线区域中的中线散点,即图4中所示出的白色散点。
然后,从图4所示出的像素点选择2个目标像素点。如图5所示,为本申请实施例提供的一种获取的目标像素点的示意图。
参考图5,可以看出,对于拍摄的3行农作物,可以确定每一行农作物所包括的2个目标像素点,如图中所示的目标像素点m1、m2;目标像素点n1、n2;以及目标像素点p1、p2。
需要说明的是,每一行农作物的2个目标像素点可以是拍摄的该行农作物的三等分的像素点,也可以是拍摄的该行农作物的中点和四等分点,还可以是该行农作物上的任意像素点,不予限制。
S220,将所述每一行农作物包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标。
本申请实施例中,上述图5中所示出的目标像素点m1、m2;目标像素点n1、n2;以及目标像素点p1、p2这6个目标像素点的图像坐标即为基于该图建立的坐标系上的坐标,M个平面坐标即为农机行驶在地面上的坐标。
S230,将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线。
本申请实施例中,对于目标像素点m1、m2转换后的平面目标坐标所对应的坐标点连接形成的线即为农机行驶过程中的一个苗线,对于目标像素点n1、n2转换后的平面目标坐标所对应的坐标点连接形成的线即为农机行驶过程中的另一个苗线,对于目标像素点p1、p2转换后的平面目标坐标所对应的坐标点连接形成的线即为农机行驶过程中的再一个苗线。农机可以基于这3条苗线的方向行驶,可以避免对农作物的损坏。
本申请提供的方案,通过对农机行驶过程中利用单目摄像头获得的图像中的每一行农作物包括的M个目标像素点进行转换,将其转换为每一行农作物包括的M个平面目标坐标,并将转换后的每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为农机行驶过程中的苗线,可以在降低成本的前提下识别苗线,而且识别的该苗线可以不受农机行驶过程中由于参数的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
可选地,在一些实施例中,所述将每一行农作物包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标,包括:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标。
可选地,在一些实施例中,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
本申请实施例中,可以结合单目摄像头的一组动态参数的k种不同取值,对M个目标像素点中的每一个像素点的图像坐标进行转换。可以理解的是,由于该动态参数包括k种不同的取值,因此,基于其转换后获得的M个目标像素点中的每一个像素点的平面坐标也相应地包括多种坐标。
示例性地,假设该动态参数包括3个动态参数(即为本申请中的一组参数),该组参数的取值可以包括4种不同的数值(分别为第一组参数数值、第二组参数数值、第三组参数数值以及第四组参数数值)。对于每一组动态参数,均可以基于其对M个目标像素点中的每一个像素点的图像坐标进行转换。因此,对于每一个目标像素点,其转换后的平面坐标也包括4个不同的坐标,这样,可以获得每一行农作物所包括的2个目标像素点的4组平面坐标。然后,基于预设规则从这4组平面坐标中选择出一组平面坐标作为平面目标坐标。
具体地,假设该动态参数包括α、β、γ这3个动态参数,这3个动态参数取不同的数值,则每一行所包括的2个目标像素点中的每一个像素点的图像坐标转换后的平面坐标不同。
假设α、β、γ取值分别为α1、β1、γ1,则每一行所包括的2个目标像素点(即第一行包括目标像素点m1,m2;第二行包括目标像素点n1,n2;第三行包括目标像素点p1,p2)中的每一个像素点的图像坐标转换后的平面坐标依次分别为m1’,m2’;n1’,n2’;p1’,p2’。
假设α、β、γ取值分别为α2、β2、γ2,则每一行所包括的2个目标像素点(即第一行包括目标像素点m1,m2;第二行包括目标像素点n1,n2;第三行包括目标像素点p1,p2)中的每一个像素点的图像坐标转换后的平面坐标依次分别为m1”,m2”;n1”,n2”;p1”,p2”。
假设α、β、γ取值分别为α3、β3、γ3,则每一行所包括的2个目标像素点(即第一行包括目标像素点m1,m2;第二行包括目标像素点n1,n2;第三行包括目标像素点p1,p2)中的每一个像素点的图像坐标转换后的平面坐标依次分别为m1”’,m2”’;n1”’,n2”’;p1”’,p2”’。
在上述α、β、γ这3个动态参数的不同取值情况下,每一行农作物包括的2个目标像素点中的每一个像素点的图像坐标转换后的平面坐标不同。基于这3种情况下获得的不同平面坐标,分别计算每一行的直线方程,以及计算每一种情况下计算的相邻线之间的方向差和间距差,并从中选择方向差和/或间距差最小的所对应的平面坐标为转换后的平面目标坐标。
本申请提供的方案,通过结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,并基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标,使得识别的苗线可以不受该组动态参数的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
可选地,在一些实施例中,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
本申请实施例中的单目摄像头的俯角受农机前后倾斜影响变动,单目摄像头的左右倾斜角受农机左右倾斜影响变动,单目摄像头距离目标物体的高度受农机的行驶变动。其中,该目标物体可以是农作物。
为了便于理解,下文先结合光路图对本申请的方案进行说明。
如图6a所示,为本申请实施例提供的基于垂直拍摄的光路示意图,如图6b所示,为本申请实施例提供的基于平行拍摄的光路示意图,如图6c所示,为本申请实施例提供的基于倾斜拍摄的光路示意图。
参考图6a,在这种情况下,单目摄像头俯角为90°,单目摄像头左右倾斜角为0°,单目摄像头所拍摄的图像实际映射的区域为相似矩形区域,通过安装的单目摄像头距离目标物体的高度与单目摄像头的视角(包括垂直视角和水平视角)即可计算图像坐标所对应的平面坐标。
参考图6b,在这种情况下,单目摄像头俯角为大于0°且小于90°的角度,单目摄像头左右倾斜角为0°,单目摄像头所拍摄的图像实际映射的区域为梯形区域,可以先通过上述图6a的方法计算出虚拟垂直视角G1的映射关系,再根据单目摄像头俯角结合三角函数以及相似关系等可以推导出虚拟垂直视角G1与真实梯形视角G0的映射关系。
参考图6c,在这种情况下,单目摄像头俯角为大于0°且小于90°的角度,单目摄像头左右倾斜角为大于0°且小于90°的角度,单目摄像头所拍摄的图像实际映射的区域为不规则形状区域,可以先通过上述图6b的方法计算出水平梯形视角G0的映射,再结合单目摄像头左右倾斜角并结合两点式直线方程等可以推到出虚拟水平梯形视角G0与真实倾斜不规则视角G的映射关系。
可以理解的是,在农机实际作业过程中,其安装的单目摄像头通常为倾斜拍摄。在这一情况下,可以结合垂直拍摄和水平拍摄来计算倾斜拍摄的坐标转换。
下文将结合具体数值进行说明,详见下文。
首先介绍本申请实施例中所涉及的基础参数,该基础参数为单目摄像头的相关参数,可以包括固定参数和动态参数。
如上文所述,动态参数可以包括:单目摄像头的俯角、单目摄像头的左右倾斜角、以及单目摄像头距离目标物体的高度(即上文中的动态参数α、β、γ)。
单目摄像头的俯角(可以用angleC表示):通常为安装初始值,受农机前后倾斜影响变动;
单目摄像头的左右倾斜角(可以用angleTilt表示):通常为0,受农机左右倾斜影响变动;
单目摄像头距离目标物体的高度(可以用height表示):初始为摄像头安装高度,通常设置为1000mm。
此外,基础参数可以包括固定参数,该固定参数可以包括:
单目摄像头的垂直视角(可以用angleV表示):通常设置为50°;
单目摄像头的水平视角(可以用angleH表示):通常设置为95°;
图片分辨率(可以用imageW*imageH表示):可以取640*400。
基于上述基础参数结合公式可以对目标像素点的图像坐标进行坐标转换,具体请参见下文。
单目摄像头下方盲区夹角:angleA=90-angleC-angleV/2;
图像下沿距离单目摄像头的直线距离:I0=height/cos(angleA);
图像垂直映射夹角:angleB=angleA+angleC;
图像垂直映射最远范围:maxV=sin(angleV/2)*I0*2;
图像垂直映射宽度:maxH=I0*cos(angleV/2)*tan(angleH/2)*2;
图像下沿距离单目摄像头的水平距离:d0=I0*sin(angleA)。
可选地,在一些实施例中,所述结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,包括:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
y0=(imageH-topi)/imageH*maxV (1)
sinak'=y0/Ik'*sin(angleBk') (3)
ak'=ak'sin(sinak') (4)
gyk'=sinak'*I0k'/sin(90-ak'-angleAk') (5)
I2k'=gyk'/sinak'*sin(90+angleAk') (6)
gxk'=(lefti-imageW/2)/inageW*maxHk' (7)
gxk'=I2k'/Ik'*gxk' (8)
gyk'=gyk'+d0k' (9)
tgx0k'=heightk'*sin(angleTiltk') (10)
tgy0=0 (11)
tgz0k'=heightk'*cos(angleTiltk') (12)
tgx1k'=gx*cos(angleTiltk') (13)
tgy1k'=gyk' (14)
tgz1k'=gxk'*sin(angleTiltk') (15)
rk'=tgz1k'/tgz0k' (16)
tgxk'=(tgx1k'+rk'*tgx0k')/(1+rk') (17)
tgyk'=(tgy1k'+rk'*tgy0)/(1+rk') (18)
其中,i表示所述M个目标像素点中的第i个目标像素点,i≤M;k'表示所述k组平面目标中的第k'组平面目标,k'≤k;
imageW*imageH表示所述图像的图片分辨率,(topi,lefti)表示所述图像中的第i个目标像素坐标点的坐标值,maxV表示所述图像的垂直映射最远范围,I0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的直线距离,angleBk'表示所述动态参数取值为第k'种时所述图像的垂直映射夹角,angleAk'表示所述动态参数取值为第k'种时所述单目摄像头的下方盲区夹角,maxHk'表示所述动态参数取值为第k'种时所述图像的垂直映射宽度,d0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的水平距离,angleCk'、angleTiltk'、heightk'分别表示所述动态参数取值为第k'种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
本申请实施例中,上述公式(1)~(9)可以理解为上述图6b中虚拟垂直视角G1与真实梯形视角G0的映射关系,上述(10)~(18)可以理解为上述图6c中虚拟水平梯形视角G0与真实倾斜不规则视角G的映射关系。
示例性地,假设取图像中像素坐标点m1(134,299),m2(231,99);n1(354,299),n2(362,99);p1(570,299),p2(493,99);其中,这六个像素坐标点中,像素坐标点m1和像素坐标点m2这2个像素坐标点可以近似认为在一条直线上,可以记为L1;像素坐标点n1和像素坐标点n2这2个像素坐标点可以近似认为在一条直线上,可以记为L2;像素坐标点p1和坐标点像素p2这2个像素坐标点可以近似认为在一条直线上,可以记为L3。
则通过上述公式(1)~(18),可以计算出这6个像素坐标点映射后的物理平面坐标。
由于单目摄像头的俯角angleC、单目摄像头的左右倾斜角angleTilt以及单目摄像头距离目标物体的高度height随着农机的作业而变动,因此,对于不同的angleC、angleTilt和height,其映射的平面坐标不同。下文以M=2(即下文中每一行农作物包括2个目标像素点)、k=3(即下文中的动态参数不同取值的三种情况)为例进行说明。
情况一:(即k'=1)
若动态参数angleC=40°、angleTilt=-10°、height=900mm,则基于上述公式(1)~(18)可以获得这六个像素坐标点映射后的平面坐标点为m1’(-622,597),m2’(-538,1600);n1’(133,696),n2’(292,1889);p1’(1164,831),p2’(1505,2304)。
情况二:(即k'=2)
若动态参数angleC=40°、angleTilt=0°、height=910mm,则基于上述公式(1)~(18)可以获得这六个像素坐标点映射后的平面坐标点为m1”(-704,686),m2”(-597,1805);n1”(129,686),n2”(282,1805);p1”(947,686),p2”(1161,1805)。
情况三:(即k'=3)
若动态参数angleC=40°、angleTilt=9°、height=920mm,则基于上述公式(1)~(18)可以获得这六个像素坐标点映射后的平面坐标点为m1”’(-822,790),m2”’(-682,2037);n1”’(129,678),n2”’(275,1740);p1”’(832,595),p2”’(989,1518)。
基于上述3种情况下映射的平面坐标,可以分别计算这3条线(即上述L1、L2、L3)在平面坐标系中的方程。
情况一:动态参数angleC=40°、angleTilt=-10°、height=900mm
对于L1:假设其在平面坐标系中的方程为A1’x+B1’y+C1’=0,则根据上述映射后的平面坐标点m1’(-622,597)和m2’(-538,1600)可得到:
A1’=1600-597=1003;
B1’=-622-(-538)=-84;
C1’=597*(-538-(-622))-(-622)*(1600-597)=674014。
因此,L1在平面坐标系中的方程为1003x-84y+674014=0。该L1的斜率为11.9,对应的角度为85.2°。
对于L2:假设其在平面坐标系中的方程为A2’x+B2’y+C2’=0,则根据上述映射后的平面坐标点n1’(133,696)和n2’(292,1889)可得到:
A2’=1889-696=1193;
B2’=133-292=-159;
C2’=696*(292-133)-133*(1889-696)=-48005。
因此,L2在平面坐标系中的方程为1193x-159y-48005=0。该L2的斜率为7.5,对应的角度为82.4°。
对于L3:假设其在平面坐标系中的方程为A3’x+B3’y+C3’=0,则根据上述映射后的平面坐标点p1’(1164,831)和p2’(1505,2304)可得到:
A3’=2304-831=1473;
B3’=1164-1505=-341;
C3’=831*(1505-1164)-1164*(2304-831)=-1431201。
因此,L3在平面坐标系中的方程为1473x-341y-1431201=0。该L3的斜率为4.3,对应的角度为76.9°。
综上所述,L1与L2的方向差为85.2-82.4=2.8°,L2与L3的方向差为82.4-76.9=5.9°;L1与L2之间的距离为761.5,L2与L3之间的距离为1069.5,则L1与L2之间的距离和L2与L3之间的距离的差值为308。
情况二:动态参数angleC=40°、angleTilt=0°、height=910mm
对于L1:假设其在平面坐标系中的方程为A1”x+B1”y+C1”=0,则根据上述映射后的平面坐标点m1”(-704,686)和m2”(-597,1805)可得到:
A1”=1805-686=1119;
B1”=-704-(-597)=-107;
C1”=686*(-597-(-704))-(-704)*(1805-686)=861178。
因此,L1在平面坐标系中的方程为1119x-107y+861178=0。该L1的斜率为10.5,对应的角度为84.5°。
对于L2:假设其在平面坐标系中的方程为A2”x+B2”y+C2”=0,则根据上述映射后的平面坐标点n1”(129,686)和n2”(282,1805)可得到:
A2”=1805-686=1119;
B2”=129-282=-153;
C2”=686*(282-129)-129*(1805-686)=-39393。
因此,L2在平面坐标系中的方程为1119x-153y-39393=0。该L2的斜率为7.3,对应的角度为82.2°。
对于L3:假设其在平面坐标系中的方程为A3”x+B3”y+C3”=0,则根据上述映射后的平面坐标点p1”(947,686)和p2”(1161,1805)可得到:
A3”=1805-686=1189;
B3”=947-1161=-214
C3”=686*(1161-947)-947*(1805-686)=-979179。
因此,L3在平面坐标系中的方程为1189x-214y-979179=0。该L3的斜率为5.6,对应的角度为79.9°。
综上所述,L1与L2的方向差为84.5-82.2=2.3°,L2与L3的方向差为82.2-79.9=2.3°;L1与L2之间的距离为848.5,L2与L3之间的距离为858.8,则L1与L2之间的距离和L2与L3之间的距离的差值为10.3。
情况三:动态参数angleC=40°、angleTilt=9°、height=920mm
对于L1:假设其在平面坐标系中的方程为A1”’x+B1”’y+C1”’=0,则根据上述映射后的平面坐标点m1”’(-822,790)和m2”’(-682,2037)可得到:
A1”’=2037-790=1247;
B1”’=-822-(-682)=-140;
C1”’=790*(-682-(-822))-(-822)*(2037-790)=1135634。
因此,L1在平面坐标系中的方程为1247x-140y+1135634=0。该L1的斜率为8.9,对应的角度为83.6°。
对于L2:假设其在平面坐标系中的方程为A2”’x+B2”’y+C2”’=0,则根据上述映射后的平面坐标点n1”’(129,686)和n2”’(275,1740)可得到:
A2”’=1740-686=1054;
B2”’=129-275=-146;
C2”’=686*(275-129)-129*(1740-686)=-35810。
因此,L2在平面坐标系中的方程为1054x-146y-35810=0。该L2的斜率为7.2,对应的角度为82.1°。
对于L3:假设其在平面坐标系中的方程为A3”’x+B3”’y+C3”’=0,则根据上述映射后的平面坐标点p1”’(832,595)和p2”’(989,1518)可得到:
A3”’=1518-595=923;
B3”’=832-989=-157;
C3”’=595*(989-832)-832*(1518-595)=-674521。
因此,L3在平面坐标系中的方程为923x-157y-674521=0。该L3的斜率为5.9,对应的角度为80.4°。
综上所述,L1与L2的方向差为83.6-82.1=1.5°,L2与L3的方向差为82.1-80.4=1.7°;L1与L2之间的距离为972.9,L2与L3之间的距离为722.5,则L1与L2之间的距离和L2与L3之间的距离的差值为250.4。
农机自动化驾驶场景下,苗线之间是平行等距的,因此,可以选择方向差最小和线之间的距离差最小的动态参数值。基于上述三种情况,可以看出,上述情况三的方向差最小,情况二的线之间的距离差最小,由于情况二中的方向差相对于情况三来说,其差别相对较小,且情况二中的线之间的距离差最小,因此,可以选择上述情况二中的动态参数(即摄像头俯角angleC=40°、摄像头左右倾斜角angleTilt=0°、摄像头距离目标物体高度height=910mm)所对应的平面坐标。
应理解,上述示例中,包括三种情况,在一些实施例中,可以包括更多种情况(如可以包括几十或几百种情况),这样,可以从中选择方向差和线之间的距离差趋近于零的所对应的转换后的平面目标坐标。换句话说,基于上述预设规则所选择的平面目标坐标所对应的目标点连接形成的苗线相互平行,且苗线之间的间距是等距的。
还应理解,上述数值仅为举例说明,还可以为其它数值,不应对本申请造成特别限定。
需要说明的是,本申请的方案应用于农机行驶过程中,单目摄像头可以连续拍摄图像(如1s或2s拍摄一次图像),每次拍摄完成后可以利用上述方案识别苗线,可能每一次计算后识别的苗线所对应的动态参数不同,正因如此,即使农机行驶过程中参数出现了变化,通过上述方案也可以使得识别的苗线可以不受农机行驶过程中由于摄像头的高度、俯角以及左右倾斜角的变化的影响,有效的提高了苗线识别的准确率。
本申请提供的方案,通过结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,并基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标,使得识别的苗线可以不受农机行驶过程中由于摄像头的高度、俯角以及左右倾斜角的变化的影响,有效的提高了苗线识别的准确率,从而使得农机可以按照识别的苗线方向行驶,可以避免对农作物的损坏。
上文结合图1-图6c,详细描述了本申请的方法实施例,下面结合图7,描述本申请的装置实施例,装置实施例与方法实施例相互对应,因此未详细描述的部分可参见前面各部分方法实施例。
图7为本申请实施例提供的一种基于单目摄像头的苗线识别的装置700,该装置700可以包括获取单元710、转换单元720以及识别单元730。
获取单元710,用于在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;
转换单元720,用于将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;
识别单元730,用于将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线。
可选地,在一些实施例中,所述N=3。
可选地,在一些实施例中,所述转换单元720进一步用于:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
所述装置还包括:
选择单元,用于基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标。
可选地,在一些实施例中,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
可选地,在一些实施例中,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
可选地,在一些实施例中,所述转换单元进一步用于:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
y0=(imageH-topi)/imageH*maxV
sinak'=y0/Ik'*sin(angleBk')
ak'=ak'sin(sinak')
gyk'=sinak'*I0k'/sin(90-ak'-angleAk')
I2k'=gyk'/sinak'*sin(90+angleAk')
gxk'=(lefti-imageW/2)/inageW*maxHk'
gxk'=I2k'/Ik'*gxk'
gyk'=gyk'+d0k'
tgx0k'=heightk'*sin(angleTiltk')
tgy0=0
tgz0k'=heightk'*cos(angleTiltk')
tgx1k'=gx*cos(angleTiltk')
tgy1k'=gyk'
tgz1k'=gxk'*sin(angleTiltk')
rk'=tgz1k'/tgz0k'
tgxk'=(tgx1k'+rk'*tgx0k')/(1+rk')
tgyk'=(tgy1k'+rk'*tgy0)/(1+rk')
其中,i表示所述M个目标像素点中的第i个目标像素点,i≤M;k'表示所述k组平面目标中的第k'组平面目标,k'≤k;
imageW*imageH表示所述图像的图片分辨率,(topi,lefti)表示所述图像中的第i个目标像素坐标点的坐标值,maxV表示所述图像的垂直映射最远范围,I0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的直线距离,angleBk'表示所述动态参数取值为第k'种时所述图像的垂直映射夹角,angleAk'表示所述动态参数取值为第k'种时所述单目摄像头的下方盲区夹角,maxHk'表示所述动态参数取值为第k'种时所述图像的垂直映射宽度,d0k'表示所述动态参数取值为第k'种时所述图像沿距离所述单目摄像头的水平距离,angleCk'、angleTiltk'、heightk'分别表示所述动态参数取值为第k'种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
可选地,在一些实施例中,所述M=2。
本申请实施例还提供了一种农机,该农机至少包括:单目摄像头,用于拍摄农机行驶过程中作业地块的图像;处理器,用于控制所述单目摄像头并执行本申请的技术方案或部分技术方案。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的基于单目摄像头的苗线识别的装置,并且该计算机程序使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的基于单目摄像头的苗线识别的装置,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的基于单目摄像头的苗线识别的装置,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例的处理器可能是一种集成电路图像处理系统,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于单目摄像头的苗线识别方法,其特征在于,包括:
在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;
将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;
将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线,所述N=3;
所述将每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标,包括:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标;
所述结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,包括:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
其中,表示所述M个目标像素点中的第/>个目标像素点,/>;/>表示所述k组平面目标中的第/>组平面目标,/>;
表示所述图像的图片分辨率,/>表示所述图像中的第/>个目标像素坐标点的坐标值,/>表示所述图像的垂直映射最远范围,/>表示所述动态参数取值为第/>种时所述图像沿距离所述单目摄像头的直线距离,/>表示所述动态参数取值为第/>种时所述图像的垂直映射夹角,/>表示所述动态参数取值为第/>种时所述单目摄像头的下方盲区夹角,/>表示所述动态参数取值为第/>种时所述图像的垂直映射宽度,/>表示所述动态参数取值为第/>种时所述图像沿距离所述单目摄像头的水平距离,/>分别表示所述动态参数取值为第/>种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
2.根据权利要求1所述的方法,其特征在于,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
3.根据权利要求1或2所述的方法,其特征在于,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
4.根据权利要求1或2所述的方法,其特征在于,所述M=2。
5.一种基于单目摄像头的苗线识别的装置,其特征在于,包括:
获取单元,用于在农机行驶过程中,获取所述农机上的单目摄像头拍摄的图像的M个目标像素点,所述M个目标像素点为所述图像中包括的N行农作物中每一行农作物所包括的M个目标像素点;
转换单元,用于将所述每一行农作物所包括的M个目标像素点的图像坐标转换为所述每一行农作物包括的M个平面目标坐标;
识别单元,用于将转换后的所述每一行农作物的M个平面目标坐标所对应的坐标点连接形成的N条线识别为所述农机行驶过程中的苗线,所述N=3;
所述转换单元进一步用于:
结合所述单目摄像头的一组动态参数的k种不同取值,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标,k为大于或等于2的整数;
所述装置还包括:
选择单元,用于基于预设规则从所述k组平面坐标中选择所述每一行农作物包括的M个平面目标坐标;
所述转换单元进一步用于:
根据以下公式,将所述每一行农作物所包括的M个目标像素点中的每一个像素点的图像坐标转换为k个平面坐标,以获得所述每一行农作物所包括的M个目标像素点的k组平面坐标;
其中,表示所述M个目标像素点中的第/>个目标像素点,/>;/>表示所述k组平面目标中的第/>组平面目标,/>;
表示所述图像的图片分辨率,/>表示所述图像中的第/>个目标像素坐标点的坐标值,/>表示所述图像的垂直映射最远范围,/>表示所述动态参数取值为第/>种时所述图像沿距离所述单目摄像头的直线距离,/>表示所述动态参数取值为第/>种时所述图像的垂直映射夹角,/>表示所述动态参数取值为第/>种时所述单目摄像头的下方盲区夹角,/>表示所述动态参数取值为第/>种时所述图像的垂直映射宽度,/>表示所述动态参数取值为第/>种时所述图像沿距离所述单目摄像头的水平距离,/>分别表示所述动态参数取值为第/>种时所述单目摄像头的俯角、左右倾斜角、距离目标物体的高度。
6.根据权利要求5所述的装置,其特征在于,所述预设规则为使得识别的所述N行农作物中相邻行的农作物的苗线的斜率的差值最小和/或间距的差值最小。
7.根据权利要求5或6所述的装置,其特征在于,所述动态参数包括以下至少一个:
所述单目摄像头的俯角、所述单目摄像头的左右倾斜角、所述单目摄像头距离目标物体的高度。
8.根据权利要求5或6所述的装置,其特征在于,所述M=2。
9.一种农机,其特征在于,包括:
单目摄像头,用于拍摄农机行驶过程中作业地块的图像;
处理器,用于控制所述单目摄像头并执行如权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机设备上运行时,使得所述计算机设备中的处理单元执行如权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110407921.XA CN113065503B (zh) | 2021-04-15 | 2021-04-15 | 基于单目摄像头的苗线识别方法、装置和农机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110407921.XA CN113065503B (zh) | 2021-04-15 | 2021-04-15 | 基于单目摄像头的苗线识别方法、装置和农机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065503A CN113065503A (zh) | 2021-07-02 |
CN113065503B true CN113065503B (zh) | 2023-12-22 |
Family
ID=76566829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110407921.XA Active CN113065503B (zh) | 2021-04-15 | 2021-04-15 | 基于单目摄像头的苗线识别方法、装置和农机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065503B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114782555B (zh) * | 2022-06-20 | 2022-09-16 | 深圳市海清视讯科技有限公司 | 地图映射方法、设备、及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04360607A (ja) * | 1991-06-05 | 1992-12-14 | Kubota Corp | 作物列検出装置 |
CN101750051A (zh) * | 2010-01-04 | 2010-06-23 | 中国农业大学 | 一种视觉导航的多作物行检测方法 |
CN105987684A (zh) * | 2015-12-18 | 2016-10-05 | 中国科学院合肥物质科学研究院 | 一种基于单目视觉的农业车辆导航线检测系统及方法 |
CN109190452A (zh) * | 2018-07-09 | 2019-01-11 | 北京农业智能装备技术研究中心 | 作物行识别方法及装置 |
CN109344843A (zh) * | 2018-09-07 | 2019-02-15 | 华南农业大学 | 水稻秧苗行线提取方法、装置、计算机设备和存储介质 |
CN110196053A (zh) * | 2019-06-13 | 2019-09-03 | 内蒙古大学 | 一种基于fpga的实时田间机器人视觉导航方法与系统 |
CN110243372A (zh) * | 2019-06-18 | 2019-09-17 | 北京中科原动力科技有限公司 | 基于机器视觉的智能农机导航系统及方法 |
CN111091086A (zh) * | 2019-12-11 | 2020-05-01 | 安徽理工大学 | 一种利用机器视觉技术提高物流面单特征信息识别率的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019513B2 (en) * | 2006-05-18 | 2011-09-13 | Applied Perception Inc. | Vision guidance system and method for identifying the position of crop rows in a field |
-
2021
- 2021-04-15 CN CN202110407921.XA patent/CN113065503B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04360607A (ja) * | 1991-06-05 | 1992-12-14 | Kubota Corp | 作物列検出装置 |
CN101750051A (zh) * | 2010-01-04 | 2010-06-23 | 中国农业大学 | 一种视觉导航的多作物行检测方法 |
CN105987684A (zh) * | 2015-12-18 | 2016-10-05 | 中国科学院合肥物质科学研究院 | 一种基于单目视觉的农业车辆导航线检测系统及方法 |
CN109190452A (zh) * | 2018-07-09 | 2019-01-11 | 北京农业智能装备技术研究中心 | 作物行识别方法及装置 |
CN109344843A (zh) * | 2018-09-07 | 2019-02-15 | 华南农业大学 | 水稻秧苗行线提取方法、装置、计算机设备和存储介质 |
CN110196053A (zh) * | 2019-06-13 | 2019-09-03 | 内蒙古大学 | 一种基于fpga的实时田间机器人视觉导航方法与系统 |
CN110243372A (zh) * | 2019-06-18 | 2019-09-17 | 北京中科原动力科技有限公司 | 基于机器视觉的智能农机导航系统及方法 |
CN111091086A (zh) * | 2019-12-11 | 2020-05-01 | 安徽理工大学 | 一种利用机器视觉技术提高物流面单特征信息识别率的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113065503A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146794B (zh) | 一种光场图像旋转误差校正方法 | |
CN110717942B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
CN111028350B (zh) | 一种利用双目立体相机构建栅格地图的方法 | |
CN111462503B (zh) | 车辆测速方法、装置及计算机可读存储介质 | |
CN101853524A (zh) | 使用图像序列生成玉米果穗全景图的方法 | |
CN102884397A (zh) | 结构光测量方法以及系统 | |
US20220101542A1 (en) | Method and apparatus for stitching dual-camera images and electronic device | |
CN109741241B (zh) | 鱼眼图像的处理方法、装置、设备和存储介质 | |
CN113065503B (zh) | 基于单目摄像头的苗线识别方法、装置和农机 | |
CN114511611A (zh) | 一种基于图像识别的货堆统计方法及装置 | |
CN111815715A (zh) | 变焦云台摄像机的标定方法、装置及存储介质 | |
US7006706B2 (en) | Imaging apparatuses, mosaic image compositing methods, video stitching methods and edgemap generation methods | |
CN113065501B (zh) | 苗线识别的方法、装置和农机 | |
CN110060282B (zh) | 一种点云配准的方法及装置 | |
CN108961378B (zh) | 一种多目点云三维重建方法、装置及其设备 | |
CN107945136B (zh) | 一种鱼眼图像矫正方法、系统、设备及计算机存储介质 | |
CN108510538B (zh) | 三维图像合成方法、装置及计算机可读存储介质 | |
DE102016222319A1 (de) | 3d-referenzierung | |
CN114331919B (zh) | 深度恢复方法、电子设备及存储介质 | |
DE102016109153A1 (de) | Verfahren zum einstellen einer blickrichtung in einer darstellung einer virtuellen umgebung | |
CN111383231B (zh) | 一种基于3d图像的图像分割方法、装置及系统 | |
CN115514877B (zh) | 图像处理装置和降低噪声的方法 | |
CN116681732B (zh) | 一种基于复眼形态视觉的目标运动识别方法及系统 | |
KR102131445B1 (ko) | 관심객체 화질개선 시스템 및 방법 | |
CN114780762B (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 | ||
CB02 | Change of applicant information |
Address after: Building 1, Kechuang headquarters, Shenzhen (Harbin) Industrial Park, 288 Zhigu street, Songbei District, Harbin City, Heilongjiang Province Applicant after: Heilongjiang Huida Technology Co.,Ltd. Address before: 150006 6th floor, Yitong building, 133 xidazhi street, Nangang District, Harbin City, Heilongjiang Province Applicant before: HEILONGJIANG HUIDA TECHNOLOGY DEVELOPMENT Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |