一种改进的背景差分模型视频图像分割方法
- 格式:pdf
- 大小:1.25 MB
- 文档页数:3
引入差分图像具有多重特性的图像分割模型何玲娜;曹建伐;郑河荣【期刊名称】《计算机科学》【年(卷),期】2015(042)006【摘要】大多数经典活动轮廓模型只具有某些方面的优势,不能同时满足处理复杂图像的要求,对此提出一种具有多重分割特性的分割模型.模型通过引入差分图像,将差分图像的BGFRLS模型作为全局控制项,以保证模型能够最大限度地检测到所有的目标边缘;其次,将长度项设为局部项,使得分割进一步精确化,并将Li方法中的惩罚项加入到模型中,避免了重新初始化水平集函数,提高了分割效率;最后,模型在全局控制项和局部控制项之间引入了自适应权值,避免了过多的参数设置.通过上述方法使得模型具有如下优点:1)具有更强的全局分割性;2)可以分割灰度不均匀的图像,而且能够有效地检测出虚弱目标边缘;3)算法具有一定鲁棒性,能够克服一定噪声.实验表明,该模型在保证分割效率的前提下可以分割灰度不均匀的图像,而且能够有效检测出虚弱目标边缘,此外还具有更强的全局分割性,并能抵御一定噪声.【总页数】5页(P303-307)【作者】何玲娜;曹建伐;郑河荣【作者单位】浙江工业大学计算机科学与技术学院杭州310023;浙江省可视媒体智能处理技术研究重点实验室杭州310023;浙江工业大学计算机科学与技术学院杭州310023;浙江工业大学计算机科学与技术学院杭州310023;浙江省可视媒体智能处理技术研究重点实验室杭州310023【正文语种】中文【中图分类】TP301.6【相关文献】1.具有多指标柔性能量的Mumford-Shah模型图像分割 [J], 张建伟;孟祥瑞;罗嘉;夏德深2.一种改进的背景差分模型视频图像分割方法 [J], 陈文俊;张定会;王少宾3.一种具有边缘保持的多尺度马尔可夫随机场模型图像分割方法 [J], 孟月波;刘光辉;徐胜军;冯峰4.基于改进活动轮廓模型和视觉特性的图像分割方法 [J], 付荣; 冉杨鋆; 孙晓光; 孙虎元; 孙立娟5.基于改进活动轮廓模型和视觉特性的图像分割方法 [J], 付荣; 冉杨鋆; 孙晓光; 孙虎元; 孙立娟因版权原因,仅展示原文概要,查看原文内容请购买。
robustvideomatting算法RobustVideoMatting算法是一种用于视频抠像的深度学习算法。
它基于对视频序列中前景与背景之间交互的建模,并利用深度学习网络进行前景抠像。
下面给出RobustVideoMatting算法的原理、优点、用途,以及相应的应用场景。
一、算法原理:RobustVideoMatting算法基于深度卷积神经网络,而且采用了挖掘对象结构与纹理的策略。
该算法采用三个网络分别进行训练,分别是输入编码器、REFINE编码器与解码器。
输入编码器用于提取视频序列中的信息,REFINE编码器则用于进一步优化结果,并且解码器用于抠取前景。
当用户选择视频中的过程时,RobustVideoMatting算法对纹理进行建模并进行提取,然后把其转换成对前景的判断。
二、算法优点:1.该算法可通过深度学习网络进行前景抠像;2.该算法利用了交互建模,可以更准确地分离出前景与背景;3.该算法能处理复杂的光照问题,从而更好地区分前景与背景。
三、算法用途:1. 图像去背景处理:RobustVideoMatting算法可以从静态图像中将前景和背景分离出来,更好地处理图像的去背景问题;2. 视频抠像:RobustVideoMatting算法可以广泛用于视频抠像,例如自动驾驶的场景,车辆识别。
,等。
四、应用场景:1. 视频编辑:在电影、电视剧、广告等视频制作过程中,RobustVideoMatting算法的使用能够帮助编辑自动进行分离;2. 自动驾驶:RobustVideoMatting算法可以帮助汽车识别并追踪道路、车道标识等,提高自动驾驶的安全性能;3. 车辆识别:RobustVideoMatting算法可以利用视频流识别车辆的品牌、类型甚至是颜色,用于交通监控等领域。
总之,RobustVideoMatting算法是一种可以广泛应用于视频抠像、图像去背景处理以及自动驾驶等领域的深度学习算法,具有很高的实用性与准确性。
改进的Unet型木材缺陷图像分割方法
严飞;章继鸿;姚宇晨;刘军
【期刊名称】《林业机械与木工设备》
【年(卷),期】2022(50)1
【摘要】卷积神经网络(Convolutional Neural Network,CNN)是深度学习的最重要的网络之一,基于CNN的语义分割是当前研究的热点之一,Unet是在FCN基础上发展而来的卷积神经网络模型。
针对木材缺陷图像分割问题,提出一种基于改进的Unet模型与像素阈值的木材缺陷图像分割方法。
首先,在Unet的基本网络结构上,对网络的层数、通道数进行修改;然后,利用Unet实现网络训练,获得结构参数,最后用训练好的网络对图像进行测试,获取特征通道灰度图,并利用OTSU阈值算法对灰度图进行分割。
结果表明,选择好的网络结构和阈值等参数,算法能够实现木材缺陷的图像分割,激活层通道灰度图分割效果优于卷积层。
【总页数】5页(P41-45)
【作者】严飞;章继鸿;姚宇晨;刘军
【作者单位】南京林业大学机械电子工程学院
【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.改进的GrabCut算法木材表面缺陷图像分割试验
2.应用改进分水岭算法对木材表面缺陷图像分割试验
3.基于改进ResNet-UNet的立木图像分割方法
4.基于改
进ResNet-UNet的火焰图像分割方法5.基于改进Res-UNet网络的钢铁表面缺陷图像分割研究
因版权原因,仅展示原文概要,查看原文内容请购买。
背景差分法又称背景减法,背景差分法的原理是将当前帧与背景图像进行差分来得到运动目标区域,这种方法较帧差法能更好的识别和提取运动目标,是目前运动分割中最常用的一种方法。
但是需要构建一幅背景图像,这幅背景图像必须不含运动目标,并且应该能不断的更新来适应当前背景的变化,构建背景图像的方法有很多,比较常用的有基于单个高斯模型的背景构建,基于混合高斯模型的背景构建,基于中值滤波器的背景构造,基于卡尔曼滤波器的背景构造,基于核函数密度估计的背景模型构造。
背景差分法法是静止背景下运动目标识别和分割的另一种思路。
如不考虑噪音n(x ,y ,t)的影响,视频帧图像I(x ,y ,t)可以看作是由背景图像b(x ,y ,t)和运动目标m(x ,y ,t)组成:(,,)(,,)(,,)I x y t b x y t m x y t =+ (4-14)由式(4-14)可得运动目标m(x ,y ,t):(,,)(,,)(,,)m x y t I x y t b x y t =- (4-15)而在实际中,由于噪音的影响,式(4-15)不能得到真正的运动目标,而是由运动目标区域和噪音组成的差分图像d(x ,y ,t),即:(,,)(,,)(,,)(,,)d x y t I x y t b x y t n x y t =-+ (4-16)得到运动目标需要依据某一判断原则进一步处理,最常用的方法为阈值分割的方法:(,,)(,,)(,,)0(,,)I x y t d x y t T m x y t d x y t T ≥⎧=⎨<⎩ (4-17) 式中T 为一阈值,图4-1为背景差分法的流程图:图4-1 背景差分法的流程图背景差分法较帧差法更能准确地提取运动目标,帧差法如果不与其他方法进行结合只能提取运动变化区域(包括真正的运动目标、被覆盖和显露的背景)而不能直接提取运动目标。
然而,当我们运用背景减法时还要考虑很多问题:(1)要得到背景图像b(x ,y ,t),最简单的方法就是将第一帧没有运动目标的图像帧作为背景图像。
背景差分法又称背景减法,背景差分法的原理是将当前帧与背景图像进行差分来得到运动目标区域,这种方法较帧差法能更好的识别和提取运动目标,是目前运动分割中最常用的一种方法。
但是需要构建一幅背景图像,这幅背景图像必须不含运动目标,并且应该能不断的更新来适应当前背景的变化,构建背景图像的方法有很多,比较常用的有基于单个高斯模型的背景构建,基于混合高斯模型的背景构建,基于中值滤波器的背景构造,基于卡尔曼滤波器的背景构造,基于核函数密度估计的背景模型构造。
背景差分法法是静止背景下运动目标识别和分割的另一种思路。
如不考虑噪音n(x ,y ,t)的影响,视频帧图像I(x ,y ,t)可以看作是由背景图像b(x ,y ,t)和运动目标m(x ,y ,t)组成:(,,)(,,)(,,)I x y t b x y t m x y t =+ (4-14)由式(4-14)可得运动目标m(x ,y ,t):(,,)(,,)(,,)m x y t I x y t b x y t =- (4-15)而在实际中,由于噪音的影响,式(4-15)不能得到真正的运动目标,而是由运动目标区域和噪音组成的差分图像d(x ,y ,t),即:(,,)(,,)(,,)(,,)d x y t I x y t b x y t n x y t =-+ (4-16)得到运动目标需要依据某一判断原则进一步处理,最常用的方法为阈值分割的方法:(,,)(,,)(,,)0(,,)I x y t d x y t T m x y t d x y t T ≥⎧=⎨<⎩ (4-17)式中T 为一阈值,图4-1为背景差分法的流程图:图4-1 背景差分法的流程图背景差分法较帧差法更能准确地提取运动目标,帧差法如果不与其他方法进行结合只能提取运动变化区域(包括真正的运动目标、被覆盖和显露的背景)而不能直接提取运动目标。
然而,当我们运用背景减法时还要考虑很多问题:(1)要得到背景图像b(x,y,t),最简单的方法就是将第一帧没有运动目标的图像帧作为背景图像。
监控系统下的运动目标检测方法摘要在监控系统中,运动目标的检测是其智能化程度的重要体现。
一个能够克服外界干扰,从而清楚的检测到运动目标的算法,己经成为研究人员的共同研究目标。
本文采用改进的帧间差分背景模型,运用高斯概率分布图的规律来更新背景模型,运用形态学理论来处理结果,效果不错。
关键词运动目标检测;背景差分法;背景模型;帧间差分法DETECTION OF OBJECTS IN VIDEOSABSTRACTIn monitoring system, moving targets detection is the important embodiment of the level of intelligence. One can overcome interference, thus clear detect moving targets algorithm, already become the common study researchers goal. This paper using an improved frame differential method background model, useing the rules of gaussian probability distribution update background model, using morphological theory to processing results, the results are right.KEY WORDS Motion Detection; Background Subtraction; Background Model; Frame Difference Method目录中文摘要................................................Ⅰ英文摘要................................................Ⅱ目录.....................................................Ⅲ引言 (1)1.课题研究的背景 (1)2. 运动目标检测的基本理论 (2)2.1 图像预处理 (2)2.1.1 图像去噪 (2)2.1.2 图像增强 (2)2.2 常用运动目标检测算法 (4)2.2.1 背景差分法 (4)2.2.2 帧间差分法 (5)2.3 运动目标分割 (7)2.4 后处理 (7)3. 改进的帧间差分背景模型 (7)3.1 背景模型建立 (8)3.2 背景模型更新 (8)3.3 运动目标检测 (10)3.4 形态学处理 (10)3.5 实验结果分析 (10)4. 小结 (13)参考文献 (13)致谢 (15)引言本文研究的内容为监控系统下的运动目标的检测方法。
//---------------------------------------------------------// 概要:包含背景更新的背景差分法// File Name : bbs3.cpp// Library : OpenCV for MS-Windows 1.0//---------------------------------------------------------#include <stdio.h>#include <cv.h>#include <cxcore.h>#include <highgui.h>#define MASK_THRESHOLD 1 // 生成backgroundMaskImage和stillObjectMaskImage的threshold #define THRESHOLD_MAX_VALUE 255 // threshold在2值化时使用的最大值#define BACKGROUND_ALPHA 0.01 // 背景更新时的混合比#define BACKGROUND_INITIAL_THRESHOLD 20 // 背景的初期threshold#define STILL_OBJECT_ALPHA 0.1 // 静止物体更新时的混合比#define STILL_OBJECT_INITIAL_THRESHOLD 255 // 静止物体的初期threshold#define THRESHOLD_COEFFICIENT 5.0 // threshold的使用次数#define NOT_STILL_DEC_STEP 10 // 移动时计数器的减少量#define STILL_OBJECT_TO_BACKGROUND 100 // 作为背景使用的基准//// 图像上下反转表示//// 参数:// windowName : 表示画像的窗口的名字// image : 上下反转表示图像用IplImage//void showFlipImage( char *windowName, IplImage *image ) {if ( image->origin == 0 ) {cvFlip( image, image, 0 );cvShowImage( windowName, image );cvFlip( image, image, 0 );}}int main( int argc, char **argv ) {int key; // 输入用参数keyCvCapture *capture = NULL; // 摄像头捕捉用结构char *windowNameCapture = "Capture"; // 表示捕获的图像的窗口的名字char *windowNameForeground = "Foreground Mask"; // 表示前景mask图像的窗口的名字char *windowNameStillObjectMask = "Still Object Mask"; // 表示静止物体mask图像的窗口的名字char *windowNameBackground = "Background"; // 表示背景图像的窗口的名字char *windowNameStillObject = "Still Object"; // 表示静止物体的窗口的名字char *windowNameCounter = "Counter"; // 表示counter的窗口的名字// camera初始化if ( ( capture = cvCreateCameraCapture( -1 ) ) == NULL ) {// 没有发现camera的时候printf( "Not found camera\n" );return -1;}// create windowscvNamedWindow( windowNameCapture, CV_WINDOW_AUTOSIZE );cvNamedWindow( windowNameForeground, CV_WINDOW_AUTOSIZE );cvNamedWindow( windowNameStillObjectMask, CV_WINDOW_AUTOSIZE );cvNamedWindow( windowNameBackground, CV_WINDOW_AUTOSIZE );cvNamedWindow( windowNameStillObject, CV_WINDOW_AUTOSIZE );cvNamedWindow( windowNameCounter, CV_WINDOW_AUTOSIZE );IplImage *frameImage = cvQueryFrame( capture );// 保存图像的大小CvSize imageSize = cvGetSize( frameImage );// 生成图像IplImage *backgroundAverageImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 背景的平均值保存用IplImageIplImage *backgroundThresholdImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 背景的threshold 保存用IplImageIplImage *stillObjectAverageImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 静止物体的平均值保存用IplImageIplImage *stillObjectThresholdImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 静止物体的threshold 保存用IplImageIplImage *stillObjectCounterImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 静止物体的counter用IplImageIplImage *backgroundDifferenceImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 背景差分图像用IplImage IplImage *stillObjectDifferenceImage = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 静止物体差分图像用IplIMageIplImage *thresholdImage32 = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 32bitのthreshold 图像用IplImage IplImage *thresholdImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 3 ); // threshold 图像用IplImageIplImage *resultImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 结果图像用IplImageIplImage *backgroundMaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 背景Mask图像用IplImage IplImage *foregroundMaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 前景Mask用IplImage IplImage *stillObjectMaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 静止物体Mask用IplImage IplImage *movingObjectMask = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 动物体Mask用IplImage IplImage *backgroundCopyMaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // 往背景里复制时使用的Mask用IplImageIplImage *tmpMaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // temp用IplImageIplImage *tmp2MaskImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 1 ); // temp2用IplImageIplImage *frameImage32 = cvCreateImage( imageSize, IPL_DEPTH_32F, 3 ); // 32bit的被捕获的图像用IplImage IplImage *backgroundImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 3 ); // 背景图像用IplImageIplImage *stillObjectImage = cvCreateImage( imageSize, IPL_DEPTH_8U, 3 ); // 静止物体图像用IplImage// 初始化cvConvert( frameImage, backgroundAverageImage );cvSet( backgroundThresholdImage, cvScalarAll( BACKGROUND_INITIAL_THRESHOLD ) );cvSetZero( stillObjectAverageImage );cvSetZero( stillObjectThresholdImage );cvSetZero( stillObjectCounterImage );while ( 1 ) {frameImage = cvQueryFrame( capture );// 变换为float 32bitcvConvert( frameImage, frameImage32 );// 和背景的差/////////////////////////////////////////////////////////// 计算和現在的背景的差的绝对值cvAbsDiff( frameImage32, backgroundAverageImage, backgroundDifferenceImage );cvAddWeighted( backgroundDifferenceImage, 1.0, backgroundThresholdImage, -THRESHOLD_COEFFICIENT, 0.0, thresholdImage32 );// thresholdImage 中即使存在一个元素也不是背景cvConvert( thresholdImage32, thresholdImage );cvCvtColor( thresholdImage, resultImage, CV_BGR2GRAY );cvThreshold( resultImage, backgroundMaskImage, MASK_THRESHOLD, THRESHOLD_MAX_VALUE, CV_THRESH_BINARY_INV );// 同背景候補的差/////////////////////////////////////////////////////// 计算和現在的背景候補的差的绝对值cvAbsDiff( frameImage32, stillObjectAverageImage, stillObjectDifferenceImage );cvAddWeighted( stillObjectDifferenceImage, 1.0, stillObjectThresholdImage, -THRESHOLD_COEFFICIENT, 0.0, thresholdImage32 );// thresholdImage 中即使存在一个元素也不是背景cvConvert( thresholdImage32, thresholdImage );cvCvtColor( thresholdImage, resultImage, CV_BGR2GRAY );cvThreshold( resultImage, stillObjectMaskImage, MASK_THRESHOLD, THRESHOLD_MAX_VALUE, CV_THRESH_BINARY_INV );// 到这里,在// backgroundDifferenceImage, backgroundMaskImage// stillObjectDifferenceImage, stillObjectMaskImage// 里添加了有意义的值。
基于改进边缘活动轮廓模型的超声图像分割倪晓航;肖明波【摘要】To overcome the problem that the traditional edge-stop functions (ESFs) fail to stop the poor boundary contours,a framework was proposed,which constructed an active contour model of a group edge function to realize the segmentation of fuzzy boundary.The framework included a set of standard classifiers with gray information as well as probability scores.ESFs could be constructed using any classification algorithms and applied to any edge-based model.Experiments on ultrasonic image were carried out using distance regularization level set for edge-based active contour models as well as k-nearest neighbor algorithm (k-NN) or support vector machine (SVM).Experimental results show that the proposed method can effectively segment the ultrasound image,which is superior to other segmentation methods.%为克服传统边缘函数(edge-stop functions,ESFs)不能停止模糊边界问题,提出一种方法构建一组边缘停止函数的活动轮廓模型实现模糊边界的分割.该方法包括一组带有灰度信息和概率评分的标准分类器,ESF可以由任意分类算法构造,将其应用到基于边缘的水平集分割方法中.采用距离正则化水平集演化方法结合k-近邻算法(k-nearest neighbor,k-NN)或支持向量机(support vector machine,SVM)对超声图像进行分割,实验结果表明,该方法能够有效分割超声图像,明显优于其它分割方法.【期刊名称】《计算机工程与设计》【年(卷),期】2018(039)006【总页数】5页(P1675-1678,1749)【关键词】基于边缘的活动轮廓;边缘停止函数;梯度信息;超声图像分割;概率得分【作者】倪晓航;肖明波【作者单位】杭州电子科技大学通信工程学院,浙江杭州310018;杭州电子科技大学通信工程学院,浙江杭州310018【正文语种】中文【中图分类】TP3120 引言由于超声图像固有的复杂性,医学超声图像分割十分困难[1]。
改进三帧差分法与背景差分法结合的运动目标检测算法高林;王昌宇【摘要】针对传统三帧差分法对于运动速度较慢物体容易漏检等问题,提出了利用光流法对传统三帧算法改进并与背景差分法结合的运动目标检测算法.实验结果表明,改进的三帧差分算法与背景差分算法结合具有良好的抗躁性、适应性和鲁棒性.【期刊名称】《装备制造技术》【年(卷),期】2018(000)003【总页数】3页(P172-173,177)【关键词】三帧差分法;背景差分法;光流法;移动目标检测【作者】高林;王昌宇【作者单位】沈阳理工大学自动化与电气工程学院学院,辽宁沈阳110159;沈阳理工大学自动化与电气工程学院学院,辽宁沈阳110159【正文语种】中文【中图分类】TP3910 引言运动目标检测与识别的实用化是近几年图像识别领域重要研究方向,对运动目标图像的分割、跟踪和分类等在各个方面中都有重要应用。
目前,应用较多的算法是三帧差分法、背景差分法和光流法。
其中三帧差分法的优点是速度快,背景不用积累,但是对于与运动速度较慢物体容易漏检;背景差分法对于光照、天气等外界环境变化比较敏感;光流法具有精度相对较高的优点,但很难达到实时性[1]。
本文所提出的运动目标检测算法,能够达到最大程度降低噪声和最快速度反应目的。
1 应用光流法改进的三帧差分法利用金字塔Lucas-Kanade光流法对传统三帧差分算法进行改进。
采用金字塔结构来计算光流,可以减小光流计算的误差。
金字塔结构是对图像的各个层都计算光流矢量,首先计算出图像金字塔最高层处的光流,然后将该光流定义为下一层金字塔的起始点,重复上述过程,直至计算到金字塔的最底层[5]。
最后提取出可能存在运动目标的区域,根据不同的阈值在该区域内提取各个目标,这样便将光流法与传统的三帧差分算法结合了起来。
Lucas-Kanade光流法需要满足以下条件:(1)相邻的帧图像的灰度值不变;(2)该像素点邻域内的点具有相似的运动状态;(3)图像运动随时间的变化相对比较缓慢[3]。