CN115527103A - 无人艇感知实验平台系统 - Google Patents
无人艇感知实验平台系统 Download PDFInfo
- Publication number
- CN115527103A CN115527103A CN202211097047.5A CN202211097047A CN115527103A CN 115527103 A CN115527103 A CN 115527103A CN 202211097047 A CN202211097047 A CN 202211097047A CN 115527103 A CN115527103 A CN 115527103A
- Authority
- CN
- China
- Prior art keywords
- image
- module
- function
- sub
- value
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/05—Underwater scenes
-
- 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
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/34—Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种无人艇感知实验平台系统,包括用户管理模块,用于用户账户的权限设置;参数设置模块,用于编辑系统算法的参数;图像处理模块,用于根据编辑的参数处理获得的图像;视频处理模块,用于处理获得的视频。通过本系统的建设,以图像处理技术为核心,向学生展示图像处理的相关知识,方便学生掌握的同时,基于该套系统,还可以模拟无人艇的环境,为无人艇的检测技术提供实验环境。
Description
技术领域
本发明涉及一种无人艇感知实验平台系统。
背景技术
水面无人艇(Unmanned Surface Vessel,USV)是继无人机、无人陆地车辆、无人水下潜航艇之后的又一重要无人平台。相较于无人机、无人潜航器和移动机器人、无人陆地车辆等无人化平台,水面无人艇已被公认是未来战争中执行水面作战的重要手段之一。而无人艇又具有体积小、速度快和智能化等优点,其研发与制造对海洋资源的开发与利用、海洋权益的维护、海上航行安全的保障和国家影响力的增强等方面具有重要意义。
因此,对水面无人艇的研究是目前的一大趋势,而目前缺乏一个既能方便学生学习无人艇目标检测相关知识同时又能为无人艇目标检测算法的研究提供实验环境的系统。
发明内容
本发明的目的在于提供一种无人艇感知实验平台系统。
一种无人艇感知实验平台系统,包括用户管理模块,用于用户账户的权限设置;参数设置模块,用于编辑系统算法的参数;图像处理模块,用于根据编辑的参数处理获得的图像;视频处理模块,用于处理获得的视频。
进一步的,图像处理模块包括噪声仿真子模块、图像预处理子模块、图像分割子模块、图像平滑子模块、图像锐化子模块、图像几何变换子模块、图像算术变换子模块、图像逻辑运算子模块、形态学子模块及频域分析子模块。
进一步的,噪声仿真子模块包括椒盐噪声添加功能、高斯噪声添加功能、均值滤波功能、中值滤波功能及双边滤波功能。
其中,σ为z的标准差,μ为均值。
进一步的,均值滤波功能可通过下式计算得到滤波图像的灰度值:
其中,(x,y)为目标像素坐标,m*n为包含靠近目标像素的窗口尺寸。
进一步的,中值滤波功能输出为g(x,y)=med{f(x-k,y-l),(k,l)∈w}
其中,f(x,y),g(x,y)分别为原始图像和处理后图像,w为二维模板。
其中(xi,yi)为当前点位置,(xc,yc)为中心点的位置,σ为空间域标准差;
其中gray(xi,yi)为当前点灰度值,gray(xc,yc)为中心点灰度值。
本申请的有益之处在于:通过本系统的建设,以图像处理技术为核心,向学生展示图像处理的相关知识,方便学生掌握的同时,基于该套系统,还可以模拟无人艇的环境,为无人艇的检测技术提供实验环境。
附图说明
图1为本发明的系统软件主界面;
图2为本发明的参数设置模块主界面;
图3为本发明的目标检测结果界面示意图;
图4为本发明中输入图像预处理子模块的原图;
图5为本发明中添加椒盐噪声的图像;
图6为本发明中添加高斯噪声的图像;
图7为本发明中中值滤波平滑结果图像;
图8为本发明中教学讲台结构、水池环境结构及数据采集结构的配合示意图;
图9为本发明中教学讲台结构、水池环境结构及数据采集结构的布局示意图;
图10为本发明中单高斯背景建模方法的原理图;
图11为本发明中混合高斯背景模型的流程框图;
图12为本发明中YOLO3深度学习模型示意图;
图13为本发明中NanoDet模型架构示意图;
图14为本发明中FCOS架构示意图;
图15为本发明中轻量化检测示意图;
图16为本发明中SVM算法的分离超平面示意图。
具体实施方式
下面参照附图,对本发明的优选方式详细地进行说明,为了使本技术领域的人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明中实施例中的技术方案进行清楚、完整的描述。
如图1-16所示,一种无人艇感知实验平台系统,包括教学讲台结构、水池环境结构及数据采集结构。其中,教学讲台结构包括部署有目标检测实验软件系统的服务器、与服务器相连的显示部件和操作部件;水池环境结构可用于模拟自然水体环境,包括但不限于海洋、湖泊、江流;数据采集结构则用于采集水池环境结构模拟的自然水体环境信息,并将采集到的信息输送至服务器,令服务器对采集到的信息进行加工处理。
具体的,如图8-11所示水池环境结构包括池体、环境干扰部件及水面目标;本实施例中,水池由透明亚克力材料制成,长约3m,宽约2m,高约0.4m,盛水体积约2.4m3,于其他实施例中,也可以根据需要,由其他材料制作或制作成其他尺寸;环境干扰部件包括造浪器和/或造雾器,用于模拟自然水体环境中的波浪及水雾等干扰环境,从而验证、展示数据采集结构的数据采集能力、效果,以及目标检测实验软件系统对采集的数据的处理能力、效果,并且还能够验证、比较后续研发的处理算法的处理能力、效果。环境干扰部件设于所述池体四壁或池体周边,本实施例中,造雾器采用工业级超声波加湿喷雾器,造浪器采用超静音环流变频泵,具有恒流模式、间隙模式、乱流模式、潮汐模式等十档造浪模式调节,可根据池体面积安装一个或多个。水面目标可漂浮于池体内的水面上,本实施例中,水面目标采用一组大小不同的舰船模型模拟水面目标。
具体的,数据采集结构包括安装架和传感器,本实施例中传感器包括视觉传感器和测距传感器,其中,视觉传感器拟采用海康威视低功耗热成像双光谱云台摄像机DS-2TD5136/DS-2TD5137系列产品,激光测距传感器拟采用迈测L2激光测距传感器。传感器与安装架为可拆卸链接,能够快速新增(或者替换)目标检测传感器(如双目视觉,超声波、激光雷达等传感器),为后续扩展新的目标检测手段的教学及研究提供便利。
具体的,所述目标检测实验软件系统包括用户管理模块、参数设置模块、图像处理模块及视频处理模块;其中,用户管理模块用于用户账户的权限设置,根据不同用户(如,适用于学生的普通账户,适用于导师的管理员账户)的需求,设置不同的账户权限;参数设置模块则用于编辑系统算法的参数,比如图像的平移距离、旋转角度、形态学腐蚀尺寸等(如图2所示),根据每次分析的目标情况不同,可以调整参数,以使得对图像或视频的处理效果更好,同时也可以通过调整不同的参数,获得不同的处理结果,从而便于学生学习理解不同的参数对后续处理的影响情况,而且也便于后续研究水面无人艇检测技术或算法。
具体的,图像处理模块包括噪声仿真子模块、图像预处理子模块、图像分割子模块、图像平滑子模块、图像锐化子模块、图像几何变换子模块、图像算术变换子模块、图像逻辑运算子模块、形态学子模块及频域分析子模块。
在一些实施例中,噪声仿真子模块包括椒盐噪声添加功能和高斯噪声添加功能,图像平滑子模块包括均值滤波功能、中值滤波功能及双边滤波功能;其中,噪声添加功能用于对目标图像人为添加一定强度的噪声信号,混淆原始部分图像信息;从而不仅可以让学生认识到收到噪声干扰后获得的图像状态和特点,便于学生学习记忆,而且可以在后续利用不同的滤波功能对受到不同噪声干扰的图像进行滤波处理,方便学生直观的认知并学习受到不同噪声干扰的图像,经过不同的滤波功能进行滤波处理后的图像状态和特点,方便把握不同滤波功能的特性,便于学生学习和应用不同的滤波功能,并且在后续对水面无人艇检测技术、算法等相关技术进行研究时,可以用于校验研究成果的抗噪能力,方便与现有的滤波功能做对比。
具体的,椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应器导致像素值为最大值;人为添加椒盐噪声一般符合下列概率密度函数:
椒盐噪声是根据图像的信噪比,随机生成一些图像内的像素位置,并随机对这些像素点赋值为0或255。
具体的,在通信信道测试和建模中,高斯噪声被用作加性白噪声以产生加性白高斯噪声(如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声),高斯噪声被用作加性白噪声以产生加性白高斯噪声,而人为添加高斯噪声一般符合下列概率密度函数:其中,σ为z的标准差,μ为均值。高斯噪声为加性噪声,在原图的基础上加上符合上述概率密度函数的噪声即为加噪后的图象。
具体的,一般在该类检测中,采用遥感技术获取目标图像,而由于大气等因素对传感器的影响,遥感图像上会出现某些亮度变化过大的区域,或出现一些亮点(也称噪声),故需要使用滤波功能抑制噪声,是图像亮度趋于平缓,本实施例中采用的是均值滤波功能、中值滤波功能及双边滤波功能。
具体的,均值滤波功能可通过下式计算得到滤波图像的灰度值:其中,(x,y)为目标像素坐标,m*n为包含靠近目标像素的窗口尺寸。即,在待处理图像上指定目标像素;以该目标像素为中心点设定一个窗口,这个窗口包含了以目标像素的坐标点(x,y)为中心点,尺寸为m*n的矩形窗口中的像素坐标;计算中心点的灰度值(以窗口中的全部像素的均值作为中心点的灰度值)。
具体的,中值滤波功能输出为:g(x,y)=med{f(x-k,y-l),(k,l)∈w},其中,f(x,y),g(x,y)分别为原始图像和处理后图像,w为二维模板,通常为3*3,5*5区域,也可以是不同的形状,如线状,圆形,十字形,圆环形等。
上述原理为一个与空间距离(指的是当前点与中心点的欧式距离)相关的高斯函数与一个灰度距离(指的是当前点灰度与中心点灰度的差的绝对值)相关的高斯函数相乘;
空间域高斯函数其数学形式为:
其中(xi,yi)为当前点位置,(xc,yc)为中心点的位置,σ为空间域标准差;
在一些实施例中,图像预处理子模块包括彩色图像灰度化功能、显示图像直方图功能、直方图均衡化功能、亮度调整功能、对比度调整功能、饱和度调整功能、图像伪彩色功能、图像去雾功能、图像去雨功能及霍夫直线检测功能。
具体的,彩色图像灰度化功能为现有技术,在此不做赘述。
具体的,显示图像直方图功能中,图像的灰度直方图函数表达式为:
h(k)=nk k=0,1,...,L-1
其中,L为图像灰度等级,k为像素值Pi的灰度等级,nk为对应的像素数量,N为图像总像素;
在直方图的基础上,进一步定义归一化的直方图为灰度级出现的相对频率,即
Pr(k)=nk/N。
具体的,直方图均衡化功能的计算过程如下:第一步,计算原始图像的灰度直方图nk;第二步,计算原始图像的像素总个数N;第三步,计算原始图像的灰度分布频率Pr(k);第四步,计算原始图像的灰度累积分布频率Sk;其中,第五步,将归一化的Sk乘以L-1再四舍五入,以使得均衡化后图像的灰度级与归一化前的原始图像一致;第六步,根据以上映射关系,参照原始图像中的像素,可以得到直方图均衡化之后的图像。
具体的,图像伪彩色功能中,将灰度图像进行伪彩需要经过以下步骤:
1)根据配色方案,将方案色彩空间转换为RGB空间,将颜色信息与空间的R、G、B坐标一一对应;
2)设计配色方案,建立RGB色彩映射表,将灰度值与对应的R、G、B颜色坐标相对应;
3)读取图像,根据RGB色彩映射表将每个点的灰度计算得到色彩信息,得到彩色图片数据;
4)输出图像,将彩色封装为标准位图格式,并保存。
具体的,亮度调整功能、对比度调整功能、饱和度调整功能、图像去雨功能、图像去雾功能均为现有技术,且不是本申请的重点,故不在此赘述。
具体的,霍夫直线检测功能中,使用霍夫变换检测直线的具体步骤为:
1)将彩色图像转化为灰度图;
2)利用高斯核去噪,过滤图像中的噪声信息,去掉干扰;
3)利用边缘算子提取图像边缘;
4)将边缘灰度图像二值化;
5)映射到霍夫空间,准备两个容器,一个用来展示霍夫空间的概况,一个数组用来储存投票的值,因为投票过程往往有某个极大值超过阈值,多达几千,不能直接用灰度图来记录投票信息;
6)取局部极大值,设定阈值,过滤干扰直线;
7)绘制直线、标定角点。
其中,为像素区域Z1与像素区域Z2的最大类间方差方差,而Z1代表一组灰度级为[0,1,2,3,...,k]的像素区域,Z2是代表一组灰度级为[k+1,...,L-1]的像素区域;P1(k)代表像素区域Z1发生的概率,P2(k)代表像素区域Z2发生的概率,且P2(k)=1-P1(k);而由于像素区域Z1的灰度均值为像素区域Z2的灰度均值为所以,m为直到灰度级k的累加均值,表达为而mg为整个图像的平均灰度,表达为
上式在实际计算更为方便,快速,这是因为mg只要计算一次,而对于所有可能的k,只有两个参数P1(k)和m需要计算。阈值k属于范围[0,L-1],因此只要不断的循环迭代,求得最大时的阈值k即为最佳阈值。当然,如果阈值k不唯一,可以通过计算其平均值来代替最佳阈值。
具体的,区域生长法分割功能在对图像进行处理时,区域生长实现的步骤如下:
1.对图像顺序扫描找到第1个还没有归属的像素,设该像素为(x0,y0);
2.以(x0,y0)为中心,考虑(x0,y0)的4邻域像素(x,y),如果(x0,y0)满足生长准则,将(x,y)与(x0,y0)合并在同一区域内,同时将(x,y)压入堆栈;
3.从堆栈中取出一个像素,把它当作(x0,y0)返回到步骤2;
4.当堆栈为空时返回到步骤1;
5.重复步骤1-4直到图像中的每个点都有归属时。生长结束。
具体的,分水岭算法功能在对图像进行处理时,整个过程如下:
1)把梯度图像中的所有像素按照灰度值进行分类,并设定一个测地距离阈值。
2)找到灰度值最小的像素点(默认标记为灰度值最低点),让阈值从最小值开始增长,这些点为起始点。
3)水平面在增长的过程中,会碰到周围的邻域像素,测量这些像素到起始点(灰度值最低点)的测地距离,如果小于设定阈值,则将这些像素淹没,否则在这些像素上设置大坝,这样就对这些邻域像素进行了分类。
4)随着水平面越来越高,会设置更多更高的大坝,直到灰度值的最大值,所有区域都在分水岭线上相遇,这些大坝就对整个图像像素的进行了分区。
用上面的算法对图像进行分水岭运算,由于噪声点或其它因素的干扰,可能会得到密密麻麻的小区域,即图像被分得太细(over-segmented,过度分割),这因为图像中有非常多的局部极小值点,每个点都会自成一个小区域。
而当出现过度分割时,解决方法是:
1)对图像进行高斯平滑操作,抹除很多小的最小值,这些小分区就会合并。
2)不从最小值开始增长,可以将相对较高的灰度值像素作为起始点(需要用户手动标记),从标记处开始进行淹没,则很多小区域都会被合并为一个区域。
具体的,图像锐化子模块包括梯度锐化功能、Roberts算子、Sobel算子及拉普拉斯算子;其中,梯度代表灰度值的变化率,图像在(x,y)点处x方向和y方向上的梯度如下所示:
从上面的表达式可以看出来,图像的梯度相当于2个相邻像素之间的差值。
x方向和y方向上的梯度可以用如下式子表示在一起作为图像的综合梯度:
具体的,拉普拉斯算子的基本流程包括:
1)判断图像中心像素灰度值与它周围其他像素的灰度值,如果中心像素的灰度更高,则提升中心像素的灰度;反之降低中心像素的灰度,从而实现图像锐化操作;
2)在算法实现过程中,Laplacian算子通过对邻域中心像素的四方向或八方向求梯度,再将梯度相加起来判断中心像素灰度与邻域内其他像素灰度的关系;
3)最后通过梯度运算的结果对像素灰度进行调整。
Laplacian算子分为四邻域和八邻域,四邻域是对邻域中心像素的四个方向求梯度,八邻域是对八个方向求梯度。
具体的,图像几何变换子模块包括图像平移功能、图像旋转功能、图像镜像功能、图像缩放功能,该功能均为现有技术,故在此不做赘述。
具体的,图像逻辑运算子模块主要是针对二值图像,以像素对像素为基础进行的两幅或多幅图像间的操作。常用的逻辑运算有与、或、非和异或等。
(a)与运算:定义为A图像与B图像共同的部分。将二值图像转化为0,1值;循环两幅图像的像素点;将像素点做与运算并保留结果。
(b)或运算:定义为A图像加上B图像的部分,为AB图像共同组成的集合。与上述类似,但是将像素点做或运算并保留结果。
(c)非运算:定义为图像区域中除去A图像的区域。具体操作为对图像像素取反操作,即像素点值为1置0,为0置1。
(d)异或运算:定义为A图像加B图像部份,然后去除叠交部份。具体操作为两像素点值相同则置0,不同则置1。
具体的,形态学子模块主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质〈最具区分能力-mostdiscriminative)的形状特征,如边界和连通区域等。二值图像的基本形态学运算,包括膨胀、腐蚀、开和闭,此为现有技术,故在此不做赘述。
具体的,频域分析子模块包括傅里叶变换频谱图功能、高/低通滤波功能、同态滤波功能;在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。
一个M行N列的二维图像f(x,y),先按行队列变量y做一次长度为N的一维离散傅里叶变换,再将计算结果按列向对变量x做一次长度为M傅里叶变换就可以得到该图像的傅里叶变换结果,如式所示:
将上式分解开来就是如下的两部分,先得到F(x,v),再由F(x,v)得到F(u,v):
而高通滤波器为:让高频信息通过,过滤低频信息;低通滤波相反。
其中,D0表示通带半径,D(u,v)是到频谱中心的距离(欧式距离),计算公式如下:
M和N表示频谱图像的大小,(M/2,N/2)即为频谱中心。
理想的高通滤波器与此相反,1减去低通滤波模板即可。
而应用同态滤波功能时,一幅图像可看成由两部分组成,即f(x,y)=fi(x,y)fr(x,y)
其中,fi代表随空间位置不同的光强(Illumination)分量,其特点是缓慢变化,集中在图像的低频部分。fr代表景物反射到人眼的反射(Reflectance)分量。其特点包含了景物各种信息,高频成分丰富。
同态滤波过程,分为以下5个基本步骤:
1)原图做对数变换,得到两个加性分量;
2)对数图像做傅里叶变换,得到其对应的频域表示为:
DFT[ln f(x,y)]=DFT[ln fi(x,y)]+DFT[ln fr(x,y)]
3)设计一个频域滤波器H(u,v),进行对数图像的频域滤波;
4)傅里叶反变换,返回空域对数图像;
5)取指数,得空域滤波结果。
在一些实施例中,视频处理模块包括视频防抖子模块、视频增强子模块、视频超分辨率子模块、背景建模子模块、目标检测子模块;其中视频防抖子模块、视频增强子模块、视频超分辨率子模块采用的是现有技术,在此不做赘述。背景建模子模块包括单高斯背景建模功能、混合高斯背景建模功能、主成份背景建模功能、压缩感知背景建模功能;目标检测子模块包括支持向量机功能、单阶段目标检测(YOLO)功能、无锚点(nanodet)检测功能。
具体的,单高斯背景建模功能应用了单高斯背景模型,单高斯背景建模方法的原理如图10所示,单高斯背景建模方法认为图像中的每一个像素点的像素值随着时间的变化是一个随机值,并且该点像素值出现的概率满足高斯分布原理。目标像素点的概率密度函数为:
其中,(x,y)为目标像素点的坐标,I(x,y,r)为目标像素点在t时刻的像素值,μt为目标像素点(x,y)在t时刻的均值,σt为目标像素点(x,y)在t时刻的标准差。
单高斯背景建模方法的具体步骤包括:
步骤1:初始化背景模型;选用目标视频中前N帧图片,取其像素值的均值做为模型的均值,初始标准差选取范围为20~30,本实施例中初始标准差为25。初始化表示如下:
步骤2:运动目标检测;当背景模型初始化结束以后,开始进入运动目标检测阶段,利用高斯分布原理做前景检测。前景和背景的检测公式定义为:
|I(x,y,t)-μt-1(x,y)|<λσt-1
|I(x,y,t)-μt-1(x,y)|≥λσt-1
其中,I(x,y,r)是像素点z(x,y)在t时刻的像素值,μt-1是背景模型在t-1时刻的均值,σt-1是背景模型在t-1时刻的标准差,λ是前景判断系数,取值范围在2.5到3.0之间。
步骤3:背景模型更新;最后是背景模型更新阶段。随着时间的推移,背景也会发生部分变化,为了能够实时准确地检测运动目标,背景模型也需要相应的更新去响应背景的变化。一般更新的原则是:当前像素点检测为前景时,其背景模型保持不变;当前像素点检测为背景时,其背景模型按照如下方式更新:
μt(x,y)=(1-α)μt-1(x,y)+αI(x,y,t)
其中,α是背景学习速率,且0<α<1。
由上述背景模型更新原理可知,只对判断为背景的像素点进行更新,被判断为前景的像素点,其背景模型保持不变。单高斯背景模型适用于单模态场景下的目标检测。
具体的,混合高斯背景建模功能应用了混合高斯背景建模算法,混合高斯背景模型就是在背景建模的过程中,为每一个像素点建立多个单高斯背景模型;
处理三通道视频时,假设图像像素点的r,g,b三色通道相互独立并具有相同的方差。假设图像中某一个位置的像素点X的观测数据集为{X1,X2,...,Xt},Xt={rt,gt,bt}为t时刻像素的样本,其中rt,gt,bt分别样本像素的r,g,b三通道的颜色值,则单个采样点Xt服从的混合高斯分布概率密度函数为:
其中,在t时刻,wi,t是第i个高斯分布的权值,η(Xt,μi,t,∑i,t)是第i个高斯分布概率,μi,t为其均值,∑i,t为其协方差矩阵,是其方差,I是三维单位矩阵,k是高斯分布个数,n是图像的像素通道数,单通道图像,则n为1。混合高斯背景模型的权值之和为1,即为
混合高斯背景建模算法的具体步骤包括:
步骤1:输入视频序列;
步骤2:模型初始化;获取视频序列的前N帧像素信息以构建模型,模型定义如下:
前景检测;完成模型初始化以后,在t时刻,每个新像素样本Xt同当前k个高斯模型逐个进行比较,比较方式如下:|Xt-μi,t-1|≤2.5σi,i-1 i=1,2,...,k
如果新像素样本与其中任何一个高斯模型之间的数学关系满足上式,则认为样本像素与其相匹配,同时更新该样本像素对应的背景模型;如果所有的高斯模型与新样本像素均不匹配,则用该样本像素的像素值取代k个高斯模型中权值最小的模型的均值,得到的新背景模型延用替换掉的高斯模型的权值。
在k个高斯模型中,其中权值大,方差小的高斯模型用来描述背景,权值小,方差大的高斯模型用来描述前景,因为视频中视场中的背景占有很大的比例,前景占有比例较小,各模型根据。按降序排列,权值大,标准差小的模型排列靠前,如果排序的前M个高斯模型的权值满足公式(2-17),则认为该像素点的前M个高斯模型是用于描述背景,剩余的高斯模型用于描述前景运动物体。
其中T取值太小可能导致M为1,此时模型就会变成单高斯模型;T取值太大,模型可能会过度刻画背景,使部分前景检测为背景,造成漏检。
步骤3:模型更新;由步骤2中可知,当新像素样本戈满足公式条件时,则认为当前像素点背景点,需要对其背景模型进行更新,权值更新公式如下:ωi,t=(1-α)ωi,t-1+αPi,t
对于匹配的模型,Pi,t=1,对于未匹配的模型,Pi,t=0,然后对各模型的权值进行归一化,α是权值更新速率,一般0<α<1。
权值更新以后,模型参数更新方式如下:
ρ=α/ωi,t
μi,t=(1-ρ)μi,t-1+ρXt
其中ρ是参数更新速率。
混合高斯背景建模通过对每个像素点建立多个模型的方法,避免了单一的模型检测的不稳定性,提高了背景模型了对动态背景的适应能力,例如抖动的树叶,流动的水波,这些小运动不是真正的运动目标。
具体的,在主成份背景建模功能中,输入数据一般是由固定的相机拍摄到的一个图像序列。将每帧图像重新排列为一个列向量,再将所有图像列向量的序列按照时间顺序排列起来,得到一个矩阵D。该矩阵D由两个部分组成的:比较稳定的场景的背景部分,对应一个低秩的矩阵A;和运动的目标构成的前景部分,对应另一个矩阵E。即:D=A+E
其中,矩阵D己知,矩阵A和E未知,A是一个低秩矩阵。
当矩阵E中的所有元素都服从独立同分布的高斯分布时,最优的矩阵A采用下式进行最优化求解获得:minA,E||E||F s.t.rank(A)≤r,D=A+E
对矩阵D进行奇异值分解便可得到上述优化问题的最优解。由于E中的所有元素都服从高斯分布的假设在背景建模并不一定成立。因此采用另一个更符合实际应用场景的假设来替代此假设,即矩阵E为一个非零元素稀疏的矩阵,此时,求解低秩矩阵A的问题被转化为一个双目标的优化问题:minA,E(rank(A),||E||0)s.t.D=A+E
引入一个折中因子常数λ>0,将上面的双目标优化问题转换为如下的单目标优化问题:
minA,E rank(A)|λ||E||0 s.t.D=A+E
对上述单目标优化问题的目标函数进行松弛(由于矩阵的核范数是矩阵的秩的包络;矩阵的(1,1)范数是矩阵的0范数的凸包),获得下述优化问题:
minA,E||A||*+λ·||E||1,1 s.t.D=A+E
采用迭代阈值算法或增广拉格朗日乘子法求解上述优化问题,由于迭代阈值算法或增广拉格朗日乘子法为现有技术,故在此不做赘述。
为了实现对视频背景的自动划分,需要自动地将一个视频划分为几个分别满足低秩假设的部分。将选取出一帧图像作为参考帧,然后定义2个距离函数,通过它们的加权平均来度量两帧图像之间的距离,当某一帧图像与参考帧之间的距离小于某个阈值时,认为此帧与参考帧属于一个部分,如果大于这个阈值则属于另一个部分。
满足低秩假设的同一部分图像的背景很大程度上相同而前景可能不同,它们与另外的那一部分图像的背景和前景都有差异,故满足低秩假设的图像序列之间的差异是相对小的,使用正规化之后的帧间相减的差来度量n帧图像中的两帧fa,fb之间的帧间距离fd:
根据视频背景建模的实际情况,背景的突然变化将视频在时间上划分为了2个部分,每个部分在时间上通常是连续的,故使用正规化之后的时间差Td来度量两帧之间时间距离:
两帧图像的帧间距离D和其时间距离分别乘以一个系数后相加即是两帧图像之间的距离,如下所示。当这个距离小于一个阈值Th时,判断两帧图像属于同一个部分,大于阈值则属于不同的部分。因为两个系数和阈值是相对的,故可以固定帧间距离的系数为1,时间距离的系数为λ,阈值为Th。
D(fa,fb)=fd(fa,fb)+λ·Td(fa,fb)
D(fa,fb)≤Th
之后找到几段符合局部低秩假设并且可以划分为两个部分的视频,手动划分这些视频,然后调整λ和Th的值,使得划分视频的结果可以较好地与手动划分的结果保持一致。这样就找到了合适的λ和Th的值。
在一些实施例中,压缩感知背景建模功能应用了一种基于压缩感知和背景差分的背景建模算法,能够准确、鲁棒地检测出前景运动目标,有效减少计算量,降低算法的时间复杂度;背景差分法要求建立的背景模型足够鲁棒,并需要在后期处理中设定合适的二值化阈值,以能够准确的检测出前景目标。由于初始背景图像的精度,会影响后续过程中背景图像的更新时间,所以获取高精度的初始背景图像是必要的;故本实施例中提供了一种改进的初始背景建模方法,该建模方法的建模思想如下:首先用平均值法获得几幅帧图像的平均值,然后计算这几幅帧图像的平均差,并用此平均差去除这些帧图像中变化较大的像素值点,最后将这些已经去除大变化像素值点的帧图像再次求平均,用此次求得的平均值作为初始背景图像的像素值。
具体的,上述改进的初始背景建模方法包括以下具体的建模步骤:
步骤1:计算用于获得初始背景图像的N帧图像的平均值Mean(x,y),计算公式如下:
步骤2:计算N帧图像的平均差MD(x,y),计算公式如下:
MD(x,y)=D(x,y)/N
步骤3:将第N+1帧图像的像素值替代第N帧图像中变化较大的像素值;即,用下一帧图像的像素值替代当前帧图像中变化较大的像素值;
如果|Ii(x,y)-Mean(x,y)|>μMD(x,y),则Ii(x,y)=Ii+1(x,y)
其中,i=0,1,2,...,N,设置μ=2.5(经验值)
在得到初始背景图像后,为了减少图像数据的传输量,接下来运用压缩感知技术将得到的初始背景图像和当前输入的帧图像先进行稀疏化处理,然后再用测量矩阵得到他们的压缩测量值,过程如下:
步骤2:对得到的稀疏系数进行测量得到图像的压缩测量值:ybn=Φθbn,ytn=Φθtn
其中,n表示时刻,n=0,1,2,3........,由上述两个过程可以看出,运用压缩感知技术处理后,系统传输的不再是图像的像素值,而是图像少量的压缩测量值,因此可以大大减少图像数据的传输量。
由于传统的背景图像更新策略是针对图像的像素值设计的,而应用压缩感知技术后得到的是图像少量的压缩测量值,不再是图像的像素值,因此在设计更新策略时,设计对象要更改为图像的压缩测量值。由于利用当前帧图像和背景图像的压缩测量差值可以重构出差值图像,因此利用当前帧图像和背景图像的压缩测量值也是可以进行背景更新的。现假设In、Bn分别代表当前输入帧图像和背景图像,ytn是In的压缩测量值,ybn是Bn的压缩测量值,则n+1时刻背景Bn+1的压缩测量值ybn+1由下式计算得到:
其中,α表示模型的更新速度,是一个常数,满足0<α<1,其倒数表示衰减过程中的时间常数,一般是经验值;M表示压缩测量值的个数;i代表相应压缩测量值的位置;yb0是初始背景图像的压缩测量值。
在位置i处,如果条件满足下式,则表明在此位置有移动目标。
|ytn+1(i)-ytn(i)|>Tn+1(i)
其中,Tn+1(i)是一个实时更新的阈值,其更新策略如下式表示:
其中,a是一个接近1的整数,阈值Tn+1(i)的大小可以通过改变a的值来调整。
当通过摄像头获得视频图像后,视频图像将以一帧一帧的形式传入目标检测实验软件系统中,之后,目标检测实验软件系统会根据目标的运动情况自动完成背景图像的更新,将外在环境的变化所带来的影响降到最低。
当前输入图像和背景图像的测量值差值定义为:rtn=||ytn(i)-ybn(i)||2
判定的依据是:如果当前输入图像和背景图像的测量值差值小于设定的阈值,则判定为背景的测量值,否则判定为前景目标的测量值。一般情况下,判定阈值的设定非常关键,因为只有设定了合适的判定阈值,才能够将前景运动目标准确地分割出来。如果阈值过大,容易将前景判定为背景,则无法有效的进行目标检测。如果阈值过小,则算法将对图像中的干扰因素比较敏感,会将场景中背景较小的变化误检成前景目标。阈值的设定一般有两种方法,一是根据经验值设定,二是在算法中自适应地学习设定。根据经验设定固定的阈值,方法相对较为简单,但不够灵活,在某些场景下可能会降低检测算法的鲁棒性。通过设定的阈值得到差分结果后,还需要进行进一步的处理以得到精确完整的背景,如在光照变化下,运动目标的阴影有可能会被误检为前景目标,因此需要去除阴影干扰;或差分前后前景产生的少量噪声,可以通过一定的去噪方法进行处理,以得到完整的背景等等。
具体的,支持向量机功能中的支持向量机(support vector machines,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。
SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如图16所示,wx+b=0即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。
在推导之前,先给出一些定义。假设给定一个特征空间上的训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)}。其中,xi∈Rn,yi∈{+1,-1},i=1,2,...,N,xi为第i个特征向量,yi为类标记,当它等于+1时为正例;为-1时为负例。再假设训练数据集是线性可分的。
超平面关于所有样本点的几何间隔的最小值为:r=minri
实际上这个距离就是所谓的支持向量到超平面的距离。
根据以上定义,SVM模型的求解最大分割超平面问题可以表示为以下约束最优化问题:
简化后,SVM模型的求解最大分割超平面问题又可以表示为以下约束最优化问题:
s.t.yi(wxi+b)≥1,i=1.2,...N
这是一个含有不等式约束的凸二次规划问题,可以对其使用拉格朗日乘子法得到其对偶问题(dual problem)。
支持向量机的一个重要性质是训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。由于实际情况下几乎不存在完全线性可分的数据,为了解决这个问题,引入了“软间隔”的概念,即允许某些点不满足约束,即yj(wxj+b)≥1。采用hinge损失,将原优化问题改写为:
s.t.yi(wxi+b)≥1-ξi
ξi≥0,i=1.2,...N
其中ξi为“松弛变量”,ξi=max(0,1-yi(wxi+b)),即一个hinge损失函数。每一个样本都有一个对应的松弛变量,表征该样本不满足约束的程度。C称为惩罚参数,C值越大,对分类的惩罚越大。跟线性可分求解的思路一致,同样这里先用拉格朗日乘子法得到拉格朗日函数,再求其对偶问题。
综合所述可以得到线性支持向量机学习算法如下:
输入:训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)}。其中,xi∈Rn,yi∈{+1,-1},i=1,2,...,N。
输出:分离超平面和分类决策函数
0≤αi≤C,i=1.2,...N
3)求分离超平面:w*·x+b*=0
分类决策函数:f(x)=sign(w*·x+b*)。
具体的,关于单阶段目标检测(YOLO)功能,物体检测(object detection)是计算机视觉中一个重要的分支,其大致功能是在一张图片中,用最小矩形框框出目标物体位置,并进行分类。YOLO3深度学习模型主要的改进有:调整了网络结构;利用多尺度特征进行对象检测;对象分类用Logistic取代了softmax。模型中构建的darknet-53结构借用了resnet的思想,在网络中加入了残差模块,这样有利于解决深层次网络的梯度问题,每个残差模块由两个卷积层和一个shortcut connections,1,2,8,8,4代表有几个重复的残差模块,整个v3结构里面,没有池化层和全连接层,网络的下采样是通过设置卷积的stride为2来达到的,每当通过这个卷积层之后图像的尺寸就会减小到一半。而每个卷积层的实现又是包含卷积+BN+Leaky relu,每个残差模块之后又要加上一个zero padding。
输入416*416*3的图像,通过darknet网络得到三种不同尺度的预测结果,每个尺度都对应N个通道,包含着预测的信息;每个网格每个尺寸的anchors的预测结果。YOLOv3共有13*13*3+26*26*3+52*52*3个预测。每个预测对应85维,分别是4(坐标值)、1(置信度分数)、80(coco类别数)。
对于多尺度检测来说,采用多个尺度进行预测,具体形式是在网络预测的最后某些层进行上采样拼接的操作来达到;对于分辨率对预测的影响如下解释:
分辨率信息直接反映的就是构成object的像素的数量。一个object,像素数量越多,它对object的细节表现就越丰富越具体,也就是说分辨率信息越丰富。这也就是为什么大尺度feature map提供的是分辨率信息了。语义信息在目标检测中指的是让object区分于背景的信息,即语义信息是让你知道这个是object,其余是背景。在不同类别中语义信息并不需要很多细节信息,分辨率信息大,反而会降低语义信息,因此小尺度feature map在提供必要的分辨率信息下语义信息会提供的更好。(而对于小目标,小尺度feature map无法提供必要的分辨率信息,所以还需结合大尺度的feature map)。
YOLO3更进一步采用了3个不同尺度的特征图来进行对象检测。能够检测的到更加细粒度的特征。对于这三种检测的结果并不是同样的东西,这里的粗略理解是不同给的尺度检测不同大小的物体。网络的最终输出有3个尺度分别为1/32,1/16,1/8;在第79层之后经过几个卷积操作得到的是1/32(13*13)的预测结果,下采样倍数高,这里特征图的感受野比较大,因此适合检测图像中尺寸比较大的对象。然后这个结果通过上采样与第61层的结果进行concat,再经过几个卷积操作得到1/16的预测结果;它具有中等尺度的感受野,适合检测中等尺度的对象。91层的结果经过上采样之后在于第36层的结果进行concat,经过几个卷积操作之后得到的是1/8的结果,它的感受野最小,适合检测小尺寸的对象。
concat:张量拼接。将darknet中间层和后面的某一层的上采样进行拼接。拼接的操作和残差层add的操作是不一样的,拼接会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。
YOLO2已经开始采用K-means聚类得到先验框的尺寸,YOLO3延续了这种方法,为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。
在COCO数据集这9个先验框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。
分配上,在最小的13*13特征图上(有最大的感受野)应用较大的先验框(116x90),(156x198),(373x326),适合检测较大的对象。中等的26*26特征图上(中等感受野)应用中等的先验框(30x61),(62x45),(59x119),适合检测中等大小的对象。较大的52*52特征图上(较小的感受野)应用较小的先验框(10x13),(16x30),(33x23),适合检测较小的对象。
Yolo v3对bbox进行预测的时候,采用了logistic regression。yolo v3每次对b-box进行predict时,输出和v2一样都是(tx,ty,tw,th,to),然后通过公式1计算出绝对的(x,y,w,h,c)。
logistic回归用于对anchor包围的部分进行一个目标性评分(objectnessscore),(用于NMS),即这块位置是目标的可能性有多大。
Yolo v3只会对1个prior进行操作,也就是那个最佳prior。而logistic回归就是用来从9个anchor priors中找到objectness score(目标存在可能性得分)最高的那一个。预测对象类别时不使用softmax,改成使用logistic的输出进行预测。这样能够支持多标签对象(比如一个人有Woman和Person两个标签)。
Yolov3的训练策略如下:
1)预测框一共分为三种情况:正例(positive)、负例(negative)、忽略样例(ignore)。
2)正例:任取一个ground truth,与4032个框全部计算IOU,IOU最大的预测框,即为正例。并且一个预测框,只能分配给一个ground truth。例如第一个ground truth已经匹配了一个正例检测框,那么下一个ground truth,就在余下的4031个检测框中,寻找IOU最大的检测框作为正例。ground truth的先后顺序可忽略。正例产生置信度loss、检测框loss、类别loss。预测框为对应的ground truth box标签(需要反向编码,使用真实的x、y、w、h计算出tx,ty,tw,th;类别标签对应类别为1,其余为0;置信度标签为1。
3)忽略样例:正例除外,与任意一个ground truth的IOU大于阈值(经验值为0.5),则为忽略样例。忽略样例不产生任何loss。
4)负例:正例除外(与ground truth计算后IOU最大的检测框,但是IOU小于阈值,仍为正例),与全部ground truth的IOU都小于阈值(0.5),则为负例。负例只有置信度产生loss,置信度标签为0。
特征图1的Yolov3的损失函数抽象表达式如下:
Yolov3 Loss为三个特征图Loss之和:
Loss=lossN1+lossN2+lossN3
1)λ为权重常数,控制检测框Loss、obj置信度Loss、noobj置信度Loss之间的比例,通常负例的个数是正例的几十倍以上,可以通过权重超参控制检测效果。
3)x、y、w、h使用MSE作为损失函数,也可以使用smooth L1 loss(出自Faster R-CNN)作为损失函数。smooth L1可以使训练更加平滑。置信度、类别标签由于是0,1二分类,所以使用交叉熵作为损失函数。
Yolov3精度与SSD相比略有小优,与Faster R-CNN相比略有逊色,几乎持平,比RetinaNet差。但是速度是SSD、RetinaNet、Faster R-CNN至少2倍以上。输入尺寸为320*320的Yolov3,单张图片处理仅需22ms,简化后的Yolov3 tiny可以更快。
具体的,无锚点(nanodet)检测功能中,NanoDet是一个速度超快和轻量级的移动端Anchor-free目标检测模型;NanoDet是一种FCOS式的单阶段anchor-free目标检测模型,它使用ATSS进行目标采样,使用Generalized Focal Loss损失函数执行分类和边框回归(box regression)。最终得到的NanoDet模型架构如图13所示。
损失函数:NanoDet使用了李翔等人提出的Generalized Focal Loss损失函数。该函数能够去掉FCOS的Centerness分支,省去这一分支上的大量卷积,从而减少检测头的计算开销,非常适合移动端的轻量化部署。
检测头轻量化:FCOS系列使用了共享权重的检测头,即对FPN出来的多尺度Feature Map使用同一组卷积预测检测框,然后每一层使用一个可学习的Scale值作为系数,对预测出来的框进行缩放。
好处是能够将检测头的参数量降低为不共享权重状态下的1/5。这对于光是检测头就拥有数百通道的卷积的大模型来说非常有用,但是对于轻量化模型来说,共享权重检测头并没有很大的意义。由于移动端模型推理由CPU进行计算,共享权重并不会对推理过程进行加速,而且在检测头非常轻量的情况下,共享权重使得其检测能力进一步下降,因此还是选择每一层特征使用一组卷积比较合适。
同时,FCOS系列在检测头上使用了Group Normalization作为归一化的方式,GN对比BN有很多好处,但是却有一个缺点:BN在推理时能够将其归一化的参数直接融合进卷积中,可以省去这一步计算,而GN则不行。为了能够节省下归一化操作的时间,选择将GN替换为BN。
FCOS的检测头使用了4个256通道的卷积作为一个分支,也就是说在边框回归和分类两个分支上一共有8个c=256的卷积,计算量非常大。为了将其轻量化,首先选择用深度可分离卷积替换普通卷积,并且将卷积堆叠的数量从4个减少为2组。在通道数上,将256维压缩至96维,之所以选择96,是因为需要将通道数保持为8或16的倍数,能够享受到大部分推理框架的并行加速。
最后,借鉴YOLO系列的做法,将边框回归和分类使用同一组卷积进行计算,然后split成两份。最终得到的轻量化检测头如图15所示。
FPN层改进:目前针对FPN的改进有许多,如EfficientDet使用了BiFPN,YOLO v4和v5使用了PAN,除此之外还有BalancedFPN等等。BiFPN虽然性能强大,但是堆叠的特征融合操作会导致运行速度降低,而PAN只有自上而下和自下而上两条通路,非常简洁,是轻量级模型特征融合的好选择。
原版的PAN和YOLO系列中的PAN都使用了stride=2的卷积进行大尺度FeatureMap到小尺度的缩放。而该项目出于轻量化的考虑,选择完全去掉PAN中的所有卷积,只保留从骨干网络特征提取后的1x1卷积来进行特征通道维度的对齐,上采样和下采样均使用插值来完成。与YOLO使用的concatenate操作不同,该模型选择将多尺度的Feature Map直接相加,使整个特征融合模块的计算量变得非常小。
骨干网络:选择使用ShuffleNetV2 1.0x作为骨干网络,去掉了该网络的最后一层卷积,并且抽取8、16、32倍下采样的特征输入到PAN中做多尺度的特征融合。整个骨干模型使用了Torchvision提供的代码,能够直接加载Torchvision上提供的imagenet预训练权重,对加快模型收敛起到很大帮助。
在经过对one-stage检测模型三大模块(Head、Neck、Backbone)都进行轻量化之后,得到了目前开源的NanoDet-m模型,在320x320输入分辨率的情况下,整个模型的Flops只有0.72B,而yolov4-tiny则有6.96B,小了将近十倍!模型的参数量也只有0.95M,权重文件在使用ncnn optimize进行16位存储之后,只有1.8mb,非常适合在移动端部署,能够有效减少APP体积,同时也对更低端的嵌入式设备更加友好。
在一些实施例中,本申请还公开了一种无人艇感知系统检测方法,包括
根据传感器捕捉的初始视频图像获得初始背景图像;(当获得的初始视频图像不符合需求时,即可采用上述的图像处理模块对图像进行处理,如,需要验证系统的识别能力时,用噪声仿真子模块对图像进行加噪;或图像不清晰时,运用其他模块进行处理以使图像清晰。)
将传感器捕捉的当前输入帧图像于初始背景图像比较以获得移动目标或更新初始背景图像;
其中,初始背景图像的获取方法包括以下步骤:
获得初始视频图像中N帧图像的平均值Mean(x,y)和平均差MD(x,y);
将第N+1帧图像的像素值替代第N帧图像中变化较大的像素值,若|Ii(x,y)-Mean(x,y)|>μMD(x,y),则;
计算替代后的N帧图像的平均值,此平均值即为初始背景图像的像素值;
其中,i=0,1,2,...,N;μ=2.5。
具体的,将传感器捕捉的当前输入帧图像于初始背景图像比较以获得移动目标或更新初始背景图像,包括以下步骤:
对得到的稀疏系数进行测量得到初始背景图像和当前输入帧图像的压缩测量值:ybn=Φθbn,ytn=Φθtn;其中,n表示时刻,n=0,1,2,3........;
获取n+1时刻背景图像的压缩测量值:
其中,In代表当前输入帧图像,Bn代表背景图像,ytn是当前输入帧图像In的压缩测量值,ybn是背景图像Bn的压缩测量值,ybn+1是n+1时刻的背景图像Bn+1的压缩测量值;表示模型的更新速度,是一个常数,满足01,其倒数表示衰减过程中的时间常数,一般是经验值;M表示压缩测量值的个数;i代表相应压缩测量值的位置;yb0是初始背景图像的压缩测量值;
在位置i处,如果条件满足下式,则表明在此位置有移动目标:|ytn+1(i)-ytn(i)|>Tn+1(i)
其中,Tn+1(i)是一个实时更新的阈值,其更新策略如下式表示:
其中,a是一个接近1的整数,阈值Tn+1(i)的大小可以通过改变a的值来调整;
当前输入图像和背景图像的测量值差值定义为:rtn=||ytn(i)-ybn(i)||2
若当前输入图像和背景图像的测量值差值小于设定的阈值,则判定为背景的测量值,否则判定为前景目标的测量值。
本发明的任意实施例既可以作为独立的技术方案,也可以跟其他实施例相互组合。这里所引用的所有专利和出版物都被同样列在参考文献中,跟每一个出版物具体的单独被参考引用一样。这里的本发明可以在缺乏任何一种元素或多种元素,一种限制或多种限制的情况下实现,这里这种限制没有特别说明。这里采用的术语和表达方式所为描述方式,而不受其限制,这里也没有任何意图来指明此书描述的这些术语和解释排除了任何等同的特征,但是可以知道,可以在本发明和权利要求的范围内做任何合适的改变或修改。可以理解,本发明所描述的实施例子都是一些在一些实施例中实施例子和特点,任何本领域的一般技术人员都可以根据本发明描述的精髓下做一些更改和变化,这些更改和变化也被认为属于本发明的范围和独立权利要求以及附属权利要求所限制的范围内。
Claims (8)
1.一种无人艇感知实验平台系统,其特征在于,包括
用户管理模块,用于用户账户的权限设置;
参数设置模块,用于编辑系统算法的参数;
图像处理模块,用于根据编辑的参数处理获得的图像;
视频处理模块,用于处理获得的视频。
2.根据权利要求1所述的一种无人艇感知实验平台系统,其特征在于,所述图像处理模块包括噪声仿真子模块、图像预处理子模块、图像分割子模块、图像平滑子模块、图像锐化子模块、图像几何变换子模块、图像算术变换子模块、图像逻辑运算子模块、形态学子模块及频域分析子模块。
3.根据权利要求2所述的一种无人艇感知实验平台系统,其特征在于,所述噪声仿真子模块包括椒盐噪声添加功能、高斯噪声添加功能、均值滤波功能、中值滤波功能及双边滤波功能。
7.根据权利要求3所述的一种无人艇感知实验平台系统,其特征在于,所述中值滤波功能输出为g(x,y)=med{f(x-k,y-l),(k,l)∈w}
其中,f(x,y),g(x,y)分别为原始图像和处理后图像,w为二维模板。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211073493 | 2022-09-02 | ||
CN2022110734932 | 2022-09-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115527103A true CN115527103A (zh) | 2022-12-27 |
Family
ID=84697048
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211097047.5A Pending CN115527103A (zh) | 2022-09-02 | 2022-09-08 | 无人艇感知实验平台系统 |
CN202211111696.6A Pending CN115527104A (zh) | 2022-09-02 | 2022-09-13 | 无人艇感知系统检测方法 |
CN202211123940.0A Pending CN115641767A (zh) | 2022-09-02 | 2022-09-15 | 无人艇感知实验平台装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211111696.6A Pending CN115527104A (zh) | 2022-09-02 | 2022-09-13 | 无人艇感知系统检测方法 |
CN202211123940.0A Pending CN115641767A (zh) | 2022-09-02 | 2022-09-15 | 无人艇感知实验平台装置 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN115527103A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502047A (zh) * | 2023-05-23 | 2023-07-28 | 成都市第四人民医院 | 神经医学数据处理方法及系统 |
CN116912246A (zh) * | 2023-09-13 | 2023-10-20 | 潍坊医学院 | 一种基于大数据的肿瘤ct数据处理方法 |
-
2022
- 2022-09-08 CN CN202211097047.5A patent/CN115527103A/zh active Pending
- 2022-09-13 CN CN202211111696.6A patent/CN115527104A/zh active Pending
- 2022-09-15 CN CN202211123940.0A patent/CN115641767A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116502047A (zh) * | 2023-05-23 | 2023-07-28 | 成都市第四人民医院 | 神经医学数据处理方法及系统 |
CN116502047B (zh) * | 2023-05-23 | 2024-05-07 | 成都市第四人民医院 | 神经医学数据处理方法及系统 |
CN116912246A (zh) * | 2023-09-13 | 2023-10-20 | 潍坊医学院 | 一种基于大数据的肿瘤ct数据处理方法 |
CN116912246B (zh) * | 2023-09-13 | 2023-12-29 | 潍坊医学院 | 一种基于大数据的肿瘤ct数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115527104A (zh) | 2022-12-27 |
CN115641767A (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472627B (zh) | 一种端到端的sar图像识别方法、装置及存储介质 | |
CN110796037B (zh) | 基于轻量级感受野金字塔的星载光学遥感图像舰船目标检测方法 | |
Santra et al. | Learning a patch quality comparator for single image dehazing | |
CN112308019B (zh) | 基于网络剪枝和知识蒸馏的sar舰船目标检测方法 | |
CN108615226B (zh) | 一种基于生成式对抗网络的图像去雾方法 | |
CN112149547B (zh) | 基于图像金字塔引导和像素对匹配的遥感影像水体识别方法 | |
CN112150821B (zh) | 轻量化车辆检测模型构建方法、系统及装置 | |
CN111985376A (zh) | 一种基于深度学习的遥感影像舰船轮廓提取方法 | |
CN115527103A (zh) | 无人艇感知实验平台系统 | |
Tonazzini et al. | A Markov model for blind image separation by a mean-field EM algorithm | |
CN111583276B (zh) | 基于cgan的空间目标isar图像部件分割方法 | |
CN111626993A (zh) | 一种基于嵌入式FEFnet网络的图像自动检测计数方法及系统 | |
CN116665176B (zh) | 一种面向车辆自动驾驶的多任务网络道路目标检测方法 | |
CN114332578A (zh) | 图像异常检测模型训练方法、图像异常检测方法和装置 | |
Maryan et al. | Machine learning applications in detecting rip channels from images | |
CN113591617B (zh) | 基于深度学习的水面小目标检测与分类方法 | |
CN111127360A (zh) | 一种基于自动编码器的灰度图像迁移学习方法 | |
CN114863348A (zh) | 基于自监督的视频目标分割方法 | |
Sun et al. | IRDCLNet: Instance segmentation of ship images based on interference reduction and dynamic contour learning in foggy scenes | |
CN113850783B (zh) | 一种海面船舶检测方法及系统 | |
CN111476226B (zh) | 一种文本定位方法、装置及模型训练方法 | |
KR20220045762A (ko) | 인공지능 영상 처리를 이용한 선박 자동 인식 및 모니터링 시스템 및 그 제공 방법 | |
CN116863293A (zh) | 一种基于改进YOLOv7算法的可见光下海上目标检测方法 | |
CN115223033A (zh) | 一种合成孔径声呐图像目标分类方法及系统 | |
CN115205624A (zh) | 一种跨维度注意力聚合的云雪辩识方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |