CN110262529B - 一种基于卷积神经网络的无人机监控方法及系统 - Google Patents
一种基于卷积神经网络的无人机监控方法及系统 Download PDFInfo
- Publication number
- CN110262529B CN110262529B CN201910510327.6A CN201910510327A CN110262529B CN 110262529 B CN110262529 B CN 110262529B CN 201910510327 A CN201910510327 A CN 201910510327A CN 110262529 B CN110262529 B CN 110262529B
- Authority
- CN
- China
- Prior art keywords
- value
- data
- unmanned aerial
- aerial vehicle
- neural network
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012544 monitoring process Methods 0.000 title claims abstract description 31
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000009191 jumping Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000007493 shaping process Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 10
- 238000012549 training Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010037660 Pyrexia Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0808—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
-
- 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/10016—Video; Image sequence
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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/30232—Surveillance
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于卷积神经网络的无人机监控方法,包括:采集视频序列,将所述视频序列输到图像处理器中;对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。本发明将卷积神经网络模型应用于无人机监控,并采用多线程链队列等技术进一步优化性能。
Description
技术领域
本发明属于图像处理领域,具体涉及一种基于卷积神经网络的无人机监控方法及系统。
背景技术
近年来,无人机产业得到飞速发展与应用,全球进入无人机时代。无人机的应用领域主要有工业、农业、军事、政治、商业、休闲等领域,而随着产品的发展和法律规定的完善,各种新的应用也会随之诞生。智能无人机现广泛应用于国土、测绘、规划、建设局、设计院、大专院校、科研单位;电影制片厂,电视剧制作公司,广告公司等,企事业单位、电力、水利、交通、环保、监控;数字城市、电子地图、GIS应用、实景三维;部队、公安、国安、反恐;消防、武警、交管、城建等等。可以说各行各业都有无人机的身影,且无人机的应用呈爆炸式增长。2015年,全球无人机大约销售58.7万架,其中军用无人机约占3%,民用无人机占97%。民用无人机销量中,专业级无人机销量约17.1万架,消费级无人机销量约39.9万架。到2020年大众消费类市场空间260亿元;专业发烧类市场空间40亿元;行业应用类市场空间815亿元,总体上至2020年行业产值将超过千亿。随着消费类无人机市场的扩大,可能引起人伤物损、干扰航班飞行、测绘泄密以及被恐怖分子利用等危害,空域安全成为无人机监管的最大问题。因此有必要对无人机进行监管,国内己有较为成熟的无人机遥感和飞行管控系统,如北京国遥万维公司的“快眼系列”无人机遥感系统及其飞行控制系统,天津航天中为公司的适用于不同控制范围的无人机测控系统等。这些系统精度较高,具有远程控制大型无人机的能力,但有一个共同的缺点:设备繁琐,操作复杂,精度较低,导致实际作业中需一到两辆运输车保障设备的运输工作。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于卷积神经网络的无人机监控方法及系统。本发明将卷积神经网络模型应用于无人机监控,并采用多线程链队列等技术进一步优化性能。
为实现上述目的及其他相关目的,本发明提供一种基于卷积神经网络的无人机监控方法,该方法包括以下步骤:
采集视频序列,将所述视频序列输到图像处理器中;
对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;
读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。
可选地,通过摄像机线程对采集的视频数据进行预处理,通过视频分析线程对缓存的数据进行分析,通过舵机控制线程读取无人机的空间坐标。
可选地,将yv12格式的视频数据转换为YUV格式的视频数据。
可选地,将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为4×4大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在width×height开始读取数据,即V1处;
由于V值和U值在2×2大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在width×height+width×height/4位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
可选地,卷积神经网络模型为基于YOLOv2的目标检测框架。
为实现上述目的及其他相关目的,本发明还提供一种基于卷积神经网络的无人机监控系统,该系统包括:
视频采集模块,用于将所述视频序列输到图像处理器中;
图像处理器,用于对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
空间坐标计算模块,用于通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;
舵机转动量计算模块,用于读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。
可选地,所述图像处理器通过摄像机线程对采集的视频数据进行预处理,所述图像处理器通过视频分析线程对缓存的数据进行分析,所述图像处理器通过舵机控制线程读取无人机的空间坐标。
可选地,所述图像处理器将yv12格式的视频数据转换为YUV格式的视频数据。
可选地,将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为4×4大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在width×height开始读取数据,即V1处;
由于V值和U值在2×2大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在width×height+width×height/4位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
可选地,所述卷积神经网络模型为基于YOLOv2的目标检测框架。
如上所述,本发明的一种基于卷积神经网络的无人机监控方法及系统,具有以下有益效果:
1、通过采用多线程优化数据解析的流程,避免采用单线程导致时间延迟,并通过链队列优化视频数据的存储方式,避免视频分析过程和视频分析过程不同的处理速度导致的内存溢出问题。
2、采用PID算法优化舵机控制,由于PID算法采用了比例、微分、积分的方式,可通过微分的方式给舵机一个超前量,使舵机提前达到目标位置。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1是本发明无人机监控系统的流程图;
图2是本发明的视频预处理、链队列操作简图;
图3是本发明的视频分析流程图;
图4是本发明的PID控制示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本实施例提供一种基于卷积神经网络的无人机监控方法,其流程图如图1所示:包括以下步骤:
S1采集视频序列,将所述视频序列输到图像处理器中;
S2对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
S3通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标;
S4读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。
在步骤S1中,通过远程PTZ摄像机读取视频序列,调用海康的API将视频序列通过网络传输到图像处理器中。具体地,NET_DVR_Init初始化摄像机,并有NET_DVR_SetConnectTime函数和NET_DVR_SetReconnect函数设置连接时间与重连时间。NET_DVR_Login_V30函数中主要参数有摄像机的IP地址,主机用户名和密码,若用户名密码和IP地址验证通过登录则会返回lUserID,否则返回错误信息,程序终止。NET_DVR_SetExceptionCallBack_V30为异常消息回调函数,当程序运行发生错误时,可以返回程序运行的错误代码以便调试。初始设置完毕后,NET_DVR_RealPlay_V30函数实现实时流的回调,并通过fRealDataCallBack函数中的DecCBFun回调函数实现视频流数据的读取。
在步骤S2中,图像处理器设置多线程分析视频数据,首先摄像机线程对采集的视频数据进行预处理,进行格式转换,压缩数据内容,并且通过链队列将数据压入队列中进行缓存。
DecCBFun中的cvCreateImage创建IplImage结构体,IplImage结构体中存放视频数据。但是摄像机实时传输的视频流数据并不能直接进行处理,通过yv12toYUV函数实现数据格式的转换,cvCreateImage函数将1920*1080像素点大小的数据转换为1280*720大小以减少数据量提高计算速度。视频数据经过预处理之后通过EnQueue函数将视频数据放入链队列,QueueLength用于判断当前队列中视频数据数量,当视频数据大于15帧则丢弃最先进入链队列的一帧。当程序运行结束或发生错误时,通过cvReleaseImage释放内存空间,避免内存溢出。
由于摄像机视频流的传输速度与主机视频流分析的速度存在差距,所以需要创建链队列用于数据的缓冲。InitQueue函数用于构建一个新的队列,其中队列头和队列尾都指向同一个节点。DestoryQueue函数用于销毁队列。QueueLength函数用于计算视频序列的长度,在本软件中则为视频的帧数。EnQueue函数为入队操作,插入成功返回true,否则返回false。DeQueue函数为出队操作,若队列不为空,删除Q的队头元素,用data返回该图像的地址,并返回true表示操作成功,否则返回false。其流程简图如图2所示。
将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为4×4大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在width×height开始读取数据,即V1处;
由于V值和U值在2×2大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在width×height+width×height/4位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
在步骤S3中.视频分析线程通过提前预训练好的卷积神经网络模型对链队列中存取的数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端。
卷积神经网络的具体训练过程如下:首先下载darknet软件,准备好自己的数据集,最好固定格式,此处以VOC为例,采用jpg格式的图像,将采集到的图像数据命名为000001.jpg、000002.jpg等类似格式。并且将图像按照VOC数据集格式的方式放置图像文件。VOC文件夹下是Annotation、ImageSets、JPEGImages、SegmentationClass和SegmentationObject。其中文件夹Annotation中主要存放xml文件,每一个xml对应一张图像,并且每个xml中存放的是标记的各个目标的位置和类别信息,命名通常与对应的原始图像一样;而ImageSets只需要用到Main文件夹,这里面存放的是一些文本文件,通常为train.txt、test.txt等,该文本文件里面的内容是需要用来训练或测试的图像的名字;JPEGImages文件夹中放已按统一规则命名好的原始图像。其次,需要对数据进行标注,通过labelImg工具箱对目标区域进行标记。此处标记的目标位置作为后期卷积神经网络训练过程的正样本。按darknet说明编译好文件,接下来在darknet-master/scripts文件夹中新建文件夹VOCdevkit,将VOC文件夹拷贝到此文件下。修改voc_label.py中的数据集名以及类别信息。修改cfg文件中的网络配置文件,以tiny-yolo-voc.cfg为例,主要修改learning_rate、max_batches等参数。其次,修改cfg文件夹中的voc.data文件,将保存的训练样本文件路径,权重保存路径按文件路径进行编写。完成后,通过输入./darknet detectortrain./cfg/voc.data cfg/tiny-yolo-voc.cfg命令即可训练,训练结束后,将backup文件下的权重拷贝到window系统下,此文件就为卷积神经网络模型,通过此模型进行训练。window系统下的目标检测过程如下,在视频分析线程中调用run_detector函数,在run_detector函数中完成对GPU以及神经网络模型的配置,并调用test_detector函数进行视频数据的分析。在test_detector函数中中,read_data_cfg函数读取神经网络模型配置的参数,get_labels函数获取所要检测的目标名称,在本软件中即为uav(无人机),parse_network_cfg_custom函数用于解析神经网络,load_weights函数读取无人机神经网络模型。
当配置完成则进入死循环读取视频数据检测无人机。首先通过QueueLength函数查询链队列中的视频帧数,若当前没有视频数据,通过cvWaitKey函数等待数据到来。rgbgr_image函数将原来RGB格式的图像数据转化为BGR用于神经网络模型的检测。resize_image将视频数据转换为神经网络模型接受的图像大小。network_predict函数中通过卷积神经网络模型实现对图像数据的分析,输出无人机的box位置,由于之前对GPU进行了配置,所以这里通过GPU加速检测过程。get_region_boxes函数获取卷积神经网络模型检测到的box位置,并通过do_nms_sort函数对边界框进行非极大值抑制得到最终无人机的box位置。通过box就可计算出无人机的空间坐标(x,y)。draw_detections函数画出无人机在图像中的位置。show_image函数显示最终的视频图像及box位置。free_image函数对内存空间进行释放,避免内存溢出。视频分析过程如图3所示。
在步骤S4中,舵机控制线程读取无人机的空间坐标,对空间坐标进行分析计算出舵机的转动量,通过海康的API将舵机转动量发送到舵机中,控制舵机转动。
PID根据偏差的比例(P)、积分(I)、微分(D)进行控制(简称PID控制),是控制系统中应用最为广泛的一种控制规律。随着比例系数P的增加,超调量增大,系统响应速度加快,积分作用的强弱取决于积分常数I。I越小,积分作用就越强,反之I大则积分作用弱。积分控制的主要作用是改善系统的稳态性能,消除系统的稳态误差。当系统存在控制误差时,积分控制就进行,直至无差,积分调节停止,积分控制输出一常值。加入积分控制可使得系统的相对稳定性变差。I值的减小可能导致系统的超调量增大,I值的增大可能使得系统响应趋于稳态值的速度减慢。微分时间常数D的增加,闭环系统响应的响应速度加快,调节时间减小。微分环节的主要作用是提高系统的响应速度。由于该环节对误差的导数(即误差变化率发生作用),它能在误差较大的变化趋势时施加合适的控制。但是过大的D值会因为系统造成或者受控对象的大时间延迟而出现问题。微分环节对于信号无变化或变化缓慢的系统不起作用。总的来说:比例控制能迅速反映误差,从而减小误差,但比例控制不能消除稳态误差,P的加大会引起系统的不稳定;积分控制的作用是,只要系统存在误差,积分控制作用就不断地积累,输出控制量以消除误差。因此只要有足够的时间,积分控制将能完全消除误差,但是积分作用太强会使系统超调加大,甚至使系统出现振荡;微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。本系统采用增量式PID。图像经过神经网络模型最终会输出无人机的空间位置。这时,需要根据无人机的空间位置控制PTZ摄像的舵机转动,从而达到跟踪无人机的目的。目前,PID是常用的机械控制算法之一,但是本作品实时性要求高,丢弃花费时间较长的I参数,而使用PD参数控制舵机转动。最终根据PD参数计算出舵机的运动速度。PID控制过程如图4所示。PD算法模型为下式:
S(n)=Kpe(n)+Kd[e(n)-e(n-1)]
其中,Kp为比例参数,Kd为微分参数,e(n)为当前状态值与目标值之间的差值,S(n)为输出的舵机转动量,在本系统中就为舵机的转速,Td为微分时间常数,T为PID控制采样周期。e(n-1)表示下一时刻的状态值与目标值之间的差值,依据上述数学模型,首先,读取无人机空间坐标。其次,计算此坐标值与图像中心的差值,本系统采集的图像为1280×720大小,则图像中心为(640,360),并且计算此次差值和上次差值之间的差,即数学模型中的e(n)-e(n-1)。最后,通过上述的数学模型计算出云台的转动速度,在本系统中通过NET_DVR_PTZControlWithSpeed函数发送舵机的转速信号,实现对舵机的控制。
步骤(5).重复步骤(1)~步骤(4),直到视频序列结束。
本发明还提供一种基于卷积神经网络的无人机监控系统,包括:
视频采集模块,用于将所述视频序列输到图像处理器中;
图像处理器,用于对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
空间坐标计算模块,用于通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;
舵机转动量计算模块,用于读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。
可选地,所述图像处理器通过摄像机线程对采集的视频数据进行预处理,所述图像处理器通过视频分析线程对缓存的数据进行分析,所述图像处理器通过舵机控制线程读取无人机的空间坐标。
可选地,所述图像处理器将yv12格式的视频数据转换为YUV格式的视频数据。
可选地,将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为4×4大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在width×height开始读取数据,即V1处;
由于V值和U值在2×2大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在width×height+width×height/4位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
可选地,所述卷积神经网络模型为基于YOLOv2的目标检测框架。
于本实施例中,上述模块的功能都可以通过前述的方法步骤来实现,此处不再赘述。
本发明提供的一种基于卷积神经网络的无人机监控方法及系统,具有以下有益技术效果:
1、海康API协议稳定,并且可通过直接调用函数的形式简单的进行视频的提取
2、采用基于YOLOv2的目标检测框架,其具有优异的检测性能和检测速度。
3、通过采用双线程优化数据解析的流程,避免采用单线程导致时间延迟,并通过链队列优化视频数据的存储方式,避免视频分析过程和视频分析过程不同的处理速度导致的内存溢出问题。
4、采用PID算法优化舵机控制,由于PID算法采用了比例、微分、积分的方式,可通过微分的方式给舵机一个超前量,使舵机提前达到目标位置。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种基于卷积神经网络的无人机监控方法,其特征在于,该方法包括以下步骤:
采集视频序列,将所述视频序列输到图像处理器中;
对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;
读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动;
所述对采集的视频数据进行预处理的具体方式为:
将yv12格式的视频数据转换为YUV格式的视频数据;
所述将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在开始读取数据,即V1处;
由于V值和U值在大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
2.根据权利要求1所述的一种基于卷积神经网络的无人机监控方法,其特征在于,通过摄像机线程对采集的视频数据进行预处理,通过视频分析线程对缓存的数据进行分析,通过舵机控制线程读取无人机的空间坐标。
3.根据权利要求1所述的一种基于卷积神经网络的无人机监控方法,其特征在于,卷积神经网络模型为基于YOLOv2的目标检测框架。
4.一种基于卷积神经网络的无人机监控系统,应用于权利要求1-3任意一项所述的基于卷积神经网络的无人机监控方法,其特征在于,该系统包括:
视频采集模块,用于将所述视频序列输到图像处理器中;
图像处理器,用于对采集的视频数据进行预处理,并通过链队列将预处理后的视频数据进行缓存;
空间坐标计算模块,用于通过提前预训练好的卷积神经网络模型对链队列中存取的视频数据进行分析,分析后的输出结果为无人机的空间坐标,并将无人机空间坐标下发到监控终端;
舵机转动量计算模块,用于读取无人机的空间坐标,对所述空间坐标进行分析,计算出舵机转动量,将所述舵机转动量发送到舵机中,控制舵机转动。
5.根据权利要求4所述的一种基于卷积神经网络的无人机监控系统,其特征在于,所述图像处理器通过摄像机线程对采集的视频数据进行预处理,所述图像处理器通过视频分析线程对缓存的数据进行分析,所述图像处理器通过舵机控制线程读取无人机的空间坐标。
6.根据权利要求4所述的一种基于卷积神经网络的无人机监控系统,其特征在于,所述图像处理器将yv12格式的视频数据转换为YUV格式的视频数据。
7.根据权利要求5所述的一种基于卷积神经网络的无人机监控系统,其特征在于,将yv12格式的视频数据转换为YUV格式的视频数据的具体转换方法包括:
输入的yv12格式的视频流数据如下所示:
假设输入图像为大小,用col记录当前列值,row记录当前行值,YUV分别代表当前像素点的明亮度、色度及浓度,用idx代表输出的数据位置,将height赋值为4代表图像高度,width赋值为4代表图像宽度,widthStep代表储存一行像素需要的字节数,假设图像宽度为4,单像素点采用三个无符号整形的Y值、U值和V值表示,则widthStep长度为24个字节,inYv12代表输入的yv12格式的数据流,outYuv为格式转换后的数据流;
当第一个数据到来时,row为0,代表从图像的第1行开始处理数据,col在第1行从第1个位置增加至本行末端,Y值则逐点取出保存在outYuv中;V值和U值保存在字节流后端,需跳跃至字节流后端才可读取相应位置的数据,因此V值在开始读取数据,即V1处;
由于V值和U值在大小的像素块的值是一致的,所以通过tmp调整数据位置使其保持一致,当col为0和1时,tmp保持0不变,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,而U值则在位置处开始读取数值;
当第一行结束时,跳转第二行,Y从Y5位置读取数值,col为0和1时,tmp为0,即取V1值,当col为2,3时,tmp保持1不变,即取V2值,U值取法与第一行一致,依次类推,直到结束,即可完成格式转换。
8.根据权利要求5所述的一种基于卷积神经网络的无人机监控系统,其特征在于,所述卷积神经网络模型为基于YOLOv2的目标检测框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510327.6A CN110262529B (zh) | 2019-06-13 | 2019-06-13 | 一种基于卷积神经网络的无人机监控方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910510327.6A CN110262529B (zh) | 2019-06-13 | 2019-06-13 | 一种基于卷积神经网络的无人机监控方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262529A CN110262529A (zh) | 2019-09-20 |
CN110262529B true CN110262529B (zh) | 2022-06-03 |
Family
ID=67918018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910510327.6A Active CN110262529B (zh) | 2019-06-13 | 2019-06-13 | 一种基于卷积神经网络的无人机监控方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262529B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716513A (zh) * | 2019-09-17 | 2020-01-21 | 国网河北能源技术服务有限公司 | 一种基于excel的间接式模拟量原始数据采集方法 |
CN110673642B (zh) * | 2019-10-28 | 2022-10-28 | 深圳市赛为智能股份有限公司 | 无人机着陆控制方法、装置、计算机设备及存储介质 |
CN111369589B (zh) * | 2020-02-26 | 2022-04-22 | 桂林电子科技大学 | 一种基于多策略融合的无人机跟踪方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127815A (zh) * | 2016-07-21 | 2016-11-16 | 广东工业大学 | 一种融合卷积神经网络的跟踪方法及系统 |
CN107038450A (zh) * | 2016-10-13 | 2017-08-11 | 南京邮电大学 | 基于深度学习的无人机警察系统 |
CN107862705A (zh) * | 2017-11-21 | 2018-03-30 | 重庆邮电大学 | 一种基于运动特征和深度学习特征的无人机小目标检测方法 |
CN108986050A (zh) * | 2018-07-20 | 2018-12-11 | 北京航空航天大学 | 一种基于多分支卷积神经网络的图像和视频增强方法 |
CN109445453A (zh) * | 2018-09-12 | 2019-03-08 | 湖南农业大学 | 一种基于OpenCV的无人机实时压缩跟踪方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6674479B2 (en) * | 2000-01-07 | 2004-01-06 | Intel Corporation | Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion |
US7786877B2 (en) * | 2008-06-20 | 2010-08-31 | Billy Hou | Multi-wavelength video image fire detecting system |
US20190138830A1 (en) * | 2015-01-09 | 2019-05-09 | Irvine Sensors Corp. | Methods and Devices for Cognitive-based Image Data Analytics in Real Time Comprising Convolutional Neural Network |
US10558186B2 (en) * | 2016-10-13 | 2020-02-11 | Farrokh Mohamadi | Detection of drones |
-
2019
- 2019-06-13 CN CN201910510327.6A patent/CN110262529B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127815A (zh) * | 2016-07-21 | 2016-11-16 | 广东工业大学 | 一种融合卷积神经网络的跟踪方法及系统 |
CN107038450A (zh) * | 2016-10-13 | 2017-08-11 | 南京邮电大学 | 基于深度学习的无人机警察系统 |
CN107862705A (zh) * | 2017-11-21 | 2018-03-30 | 重庆邮电大学 | 一种基于运动特征和深度学习特征的无人机小目标检测方法 |
CN108986050A (zh) * | 2018-07-20 | 2018-12-11 | 北京航空航天大学 | 一种基于多分支卷积神经网络的图像和视频增强方法 |
CN109445453A (zh) * | 2018-09-12 | 2019-03-08 | 湖南农业大学 | 一种基于OpenCV的无人机实时压缩跟踪方法 |
Non-Patent Citations (2)
Title |
---|
四旋翼无人机航拍云台的控制系统设计;林峰;《沈阳航空航天大学学报》;20161031;全文 * |
视频监控中运动物体的检测与跟踪;郑丹;《计算机工程与应用》;20101231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110262529A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262529B (zh) | 一种基于卷积神经网络的无人机监控方法及系统 | |
Miao et al. | Neuromorphic vision datasets for pedestrian detection, action recognition, and fall detection | |
US10922585B2 (en) | Deterministic labeled data generation and artificial intelligence training pipeline | |
CN111899227A (zh) | 基于无人机作业的铁路扣件缺陷自动采集辨识方法 | |
CN111460968B (zh) | 基于视频的无人机识别与跟踪方法及装置 | |
CN116188821B (zh) | 版权检测方法、系统、电子设备和存储介质 | |
US9471993B2 (en) | Method and apparatus for sensor aided extraction of spatio-temporal features | |
CN112509047B (zh) | 基于图像的位姿确定方法、装置、存储介质及电子设备 | |
EP3766005A1 (en) | Real-to-synthetic image domain transfer | |
CN112330664B (zh) | 路面病害检测方法、装置、电子设备及存储介质 | |
CN113281780B (zh) | 对图像数据进行标注的方法、装置及电子设备 | |
CN110969604B (zh) | 一种基于深度学习的智能安防实时开窗检测报警系统及方法 | |
CN113516102B (zh) | 基于视频的深度学习抛物行为检测方法 | |
CN113596158A (zh) | 一种基于场景的算法配置方法和装置 | |
Luo et al. | Cloud Chaser: real time deep learning computer vision on low computing power devices | |
CN114095725B (zh) | 一种判断摄像头是否异常的方法和系统 | |
CN114332659A (zh) | 基于轻量化模型下发的输电线路缺陷巡检方法和装置 | |
Zhou et al. | Vehicle detection in remote sensing image based on machine vision | |
CN112422895A (zh) | 基于无人机的图像分析跟踪、定位系统及方法 | |
Wang et al. | Aprus: An airborne altitude-adaptive purpose-related uav system for object detection | |
CN116485974A (zh) | 画面渲染、数据预测及其训练方法、系统及存储和服务器 | |
Hao et al. | General target detection method based on improved SSD | |
CN109740509A (zh) | 一种改良的视频人脸检测提升稳定性的方法 | |
Li et al. | Intelligent vehicle visual pose estimation algorithm based on deep learning and parallel computing for dynamic scenes | |
WO2023086398A1 (en) | 3d rendering networks based on refractive neural radiance fields |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190920 Assignee: Guangxi Xinyang Shiji Information Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2022450000415 Denomination of invention: A method and system of uav monitoring based on convolutional neural network Granted publication date: 20220603 License type: Common License Record date: 20221227 |