当前位置:文档之家› mean shift及其改进算法图像跟踪原理和应用

mean shift及其改进算法图像跟踪原理和应用

mean shift及其改进算法图像跟踪原理和应用
mean shift及其改进算法图像跟踪原理和应用

mean shift及其改进算法图像跟踪原理和应用Mean Shift 简介

Mean Shift 这个概念最早是由Fukunaga等人[1]于1975年在一篇关于概率密度梯度函数的估计中提出来的,其最初含义正如其名,就是偏移的均值向量,在这里Mean Shift是一个名词,它指代的是一个向量,但随着Mean Shift理论的发展,Mean Shift的含义也发生了变化,如果我们说Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束.

然而在以后的很长一段时间内Mean Shift并没有引起人们的注意,直到20年以后,也就是1995年,另外一篇关于Mean Shift的重要文献才发表.在这篇重要的文献中,Yizong Cheng对基本的Mean Shift算法在以下两个方面做了推广,首先Yizong Cheng定义了一族核函数,使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同,其次Yizong Cheng还设定了一个权重系数,使得不同的样本点重要性不一样,这大大扩大了Mean Shift的适用范围.另外Yizong Cheng 指出了Mean Shift可能应用的领域,并给出了具体的例子.

Comaniciu等人把Mean Shift成功的运用的特征空间的分析,在图

像平滑和图像分割中Mean Shift 都得到了很好的应用. Comaniciu 等在文章中证明了,Mean Shift 算法在满足一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此Mean Shift 算法可以用来检测概率密度函数中存在的模态.

Comaniciu 等人还把非刚体的跟踪问题近似为一个Mean Shift 最优化问题,使得跟踪可以实时的进行.

在后面的几节,本文将详细的说明Mean Shift 的基本思想及其扩展,其背后的物理含义,以及算法步骤,并给出理论证明.最后本文还将给出Mean Shift 在聚类,图像平滑,图像分割,物体实时跟踪这几个方面的具体应用.

Mean Shift 的基本思想及其扩展

基本Mean Shift

给定d 维空间d R 中的n 个样本点i x ,i=1,…,n,在x 点的Mean Shift 向量的基本形式定义为:

()()1

i h

h i x S M x x x k ∈≡

-∑ (1)

其中,h S 是一个半径为h 的高维球区域,满足以下关系的y 点的集合,

()()

(){

}

2:T

h S x y y x y x h ≡--≤

(2)

k 表示在这n 个样本点i x 中,有k 个点落入h S 区域中.

我们可以看到()i x x -是样本点i x 相对于点x 的偏移向量,(1)式定义

的Mean Shift 向量()h M x 就是对落入区域h S 中的k 个样本点相对于点

x 的偏移向量求和然后再平均.从直观上看,如果样本点i x 从一个概率

密度函数()f x 中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说, h S 区域内的样本点更多的落在沿着概率密度梯度的方向.因此,对应的, Mean Shift 向量()h M x 应该指向概率密度梯度的方向

.

图1,Mean Shift 示意图

如上图所示, 大圆圈所圈定的范围就是h S ,小圆圈代表落入h S 区域

内的样本点i h x S ∈,黑点就是Mean Shift 的基准点x ,箭头表示样本点相对于基准点x 的偏移向量,很明显的,我们可以看出,平均的偏移向量

()h M x 会指向样本分布最多的区域,也就是概率密度函数的梯度方向.

扩展的Mean Shift

核函数

首先我们引进核函数的概念.

定义:X 代表一个d 维的欧氏空间,x 是该空间中的一个点,用一列

向量表示. x 的模2

T x x x =.R 表示实数域.如果一个函数:K X R →存在一个剖面函数[]:0,k R ∞→,即

()2

()K x k x

=

(3)

并且满足:

(1) k 是非负的.

(2) k 是非增的,即如果a b <那么()()k a k b ≥. (3) k 是分段连续的,并且0()k r dr ∞

<∞? 那么,函数()K x 就被称为核函数.

举例:在Mean Shift 中,有两类核函数经常用到,他们分别是, 单位均匀核函数:

1 if 1()0 if 1

x F x x ?

≥??

(4)

单位高斯核函数:

2

()x

N x e

-=

(5)

这两类核函数如下图所示.

图2, (a) 单位均匀核函数 (b) 单位高斯核函数

一个核函数可以与一个均匀核函数相乘而截尾,如一个截尾的高斯核函数为,

()2

if ()0 if

x e x N F x x ββ

λλλ-?

≥?? (6)

图 3 显示了不同的,βλ值所对应的截尾高斯核函数的示意图

.

图3 截尾高斯核函数 (a) 11N F (b) 0.11N F

Mean Shift 扩展形式

从(1)式我们可以看出,只要是落入h S 的采样点,无论其离x 远近,对最终的()h M x 计算的贡献是一样的,然而我们知道,一般的说来,离x 越近的采样点对估计x 周围的统计特性越有效,因此我们引进核函数的概念,在计算()h M x 时可以考虑距离的影响;同时我们也可以认为在这所有的样本点i x 中,重要性并不一样,因此我们对每个样本都引入一个权重

系数.

如此以来我们就可以把基本的Mean Shift 形式扩展为:

()1

1

()()()

()()

n

H

i i i i n

H

i i i G

x x w x x x M x G

x x w x ==--≡

-∑∑

(7) 其中: ()()1/2

1/2()H i i G x x H

G H x x ---=-

()G x 是一个单位核函数

H 是一个正定的对称d d ?矩阵,我们一般称之为带宽矩

()0i w x ≥是一个赋给采样点i x 的权重

在实际应用的过程中,带宽矩阵H 一般被限定为一个对角矩阵

221

diag ,...,d H h h ??=??,甚至更简单的被取为正比于单位矩阵,即2

H h I =.由于后一形式只需要确定一个系数h ,在Mean Shift 中常常被采用,在本文的后面部分我们也采用这种形式,因此(7)式又可以被写为:

()1

1

(

)()()()()n

i i i i h n

i i i x x

G w x x x h

M x x x G w x h ==--≡

-∑∑

(8)

我们可以看到,如果对所有的采样点i x 满足

(1)()1i w x =

(2) 1 if 1()0 if 1

x G x x ?

≥??

则(8)式完全退化为(1)式,也就是说,我们所给出的扩展的Mean Shift 形式在某些情况下会退化为最基本的Mean Shift 形式.

Mean Shift 的物理含义

正如上一节直观性的指出,Mean Shift 指向概率密度梯度方向,这一节将证明Mean Shift 向量()h M x 是归一化的概率密度梯度.在本节我们还给出了迭代Mean Shift 算法的详细描述,并证明,该算法会收敛到概率密度函数的一个稳态点.

概率密度梯度

对一个概率密度函数()f x ,已知d 维空间中n 个采样点i x ,i=1,…,n,

()f x 的核函数估计(也称为Parzen 窗估计)为,

1

1()?()()

n

i i i n d

i i x x K w x h f

x h w x ==-??

???=∑

∑ (9)

其中

()0i w x ≥是一个赋给采样点i x 的权重

()K x 是一个核函数,并且满足()1k x dx =?

我们另外定义: 核函数()K x 的剖面函数()k x ,使得()2

()K x k x =

(10);

()k x 的负导函数()g x ,即'()()g x k x =-,其对应的核函数()2

()G x g x

=

(11)

概率密度函数()f x 的梯度()f x ?的估计为:

()2

'

1212()??()()()

n

i

i i i n

d i i x x

x x k w x h f x f x h w x =+=??

-- ? ????=?=∑∑

(12)

由上面的定义, '()()g x k x =-,()2

()G x g x

=,上式可以重写为

()()2

1212112112()?()()

()()2 ()()n

i

i i i n

d i i n i n i i i i i i n d n i i i i i x x

x x G w x h f x h w x x x x x x x G w x G w x h h x x h h w x G w x h =+=====??

-- ? ???

?=????-?-???-?? ? ? ???????????=??-?????? ???????????

∑∑∑∑∑∑ (13)

上式右边的第二个中括号内的那一部分就是(8)式定义的Mean Shift 向量,第一个中括号内的那一部分是以()G x 为核函数对概率密度函数

()f x 的估计,我们记做?()G f x ,而(9)式定义的?()f x 我们重新记做?()K

f x ,因此(11)式可以重新写为:

?()f x ?=?()K f x ?=()22?()G h f x M x h

(14)

由(12)式我们可以得出,

()2?()1?2()

K

h G f x M x h f x ?= (15)

(15)式表明,用核函数G 在x 点计算得到的Mean Shift 向量()h M x 正比于归一化的用核函数K 估计的概率密度的函数?()K f x 的梯度,归一化因子为用核函数G 估计的x 点的概率密度.因此Mean Shift 向量()h M x 总是指向概率密度增加最大的方向.

Mean Shift 算法 算法步骤

我们在前面已经指出,我们在提及Mean Shift 向量和Mean Shift 算法的时候指代不同的概念,Mean Shift 向量是名词,指的是一个向量;而Mean Shift 算法是动词,指的是一个迭代的步骤.我们把(8)式的x 提到求和号的外面来,可以得到下式,

()11

(

)()()()n

i i i i h n i i i x x

G w x x h

M x x x x G w x h ==-=--∑∑

(16)

我们把上式右边的第一项记为()h m x ,即

11

(

)()()()()n

i i i i h n i i i x x

G w x x h

m x x x

G w x h ==-=-∑∑ (17)

给定一个初始点x ,核函数()G X , 容许误差ε,Mean Shift 算法循环的执行下面三步,直至结束条件满足, (1).计算()h m x (2).把()h m x 赋给x

(3).如果()h m x x ε-<,结束循环;若不然,继续执行(1).

由(16)式我们知道, ()()h h m x x M x =+,因此上面的步骤也就是不断的沿着概率密度的梯度方向移动,同时步长不仅与梯度的大小有关,也与该点的概率密度有关,在密度大的地方,更接近我们要找的概率密度的峰值,Mean Shift 算法使得移动的步长小一些,相反,在密度小的地方,移动

的步长就大一些.在满足一定条件下,Mean Shift 算法一定会收敛到该点附近的峰值,这一收敛性由下面一小节给出证明.

算法的收敛性证明

我们用{}j y ,1,2,...j =来表示Mean Shift 算法中移动点的痕迹,由(17)式我们可写为,

111

(

)()()()n

i j

i i i j n

i j i i x y G w x x h

y x y G w x h =+=-=-∑∑, 1,2,...j =

(18)

与j y 对应的概率密度函数估计值?()j f y 可表示为,

11()?()()

n

i j i i K j n d

i i x y K w x h f y h w x ==-??

???=∑∑

(19)

下面的定理将证明序列{}j y 和{}?()j f y 的收敛性.

定理:如果核函数()K x 有一个凸的,单调递增的剖面函数,核函数()G x 由式(10)和(11)定义,则序列{}j y 和{}?()j f y 是收敛的.

证明:由于n 是有限的,核函数()(0)K x K ≤,因此序列{}?()j f y 是有界的,所以我们只需要证明{}?()j f y 是严格递增的的,即要证明,对所有j=1,2,…如果1j j y y +≠,那么

?()j f y 1

?()j f y +< (20)

不失一般性,我们可以假设0j y =,由(19)式和(10)式,我们可以得到

1?()j f y +?()j f y -=2

2

1111 ()()n i j i j

i n i d i i x y x y k k w x h h h w x +==??

????--?? ? ?- ? ????

??

???

∑∑ (21) 由于剖面函数()k x 的凸性意味着对所有12,[0,)x x ∈∞且12x x ≠,有

'2121()()()()k x k x k x x x ≥+-

(22)

因为'()()g x k x =-,上式可以写为,

2112()()()()k x k x g x x x -≥-

(23)

结合(21)与(23)式,可以得到, 1?()j f y +?()j

f y - 2

2

2

1

11211

()()n

i j i j i i n i d i i x y g x y x w x h h w x ++=+=??

-??

?≥--????

??

?

∑∑ 2

21

111211

2()()n

i j T j i j i n i d i i x y g y x y w x h h w x +++=+=??-??

?=-?

??? ??

?

∑∑

12

2

2

12111

1

2()()()j n n

T i

i i i j i n d i i i i x x y x g w x y g w x h h h w x +++===????

??

=-?? ? ? ? ??

????

???

∑∑∑ (24)

由(18)式我们可以得出,

1?()j f y +?()j

f y -2

2

1

12

1

1()

n

i

j n i d i i x y g h

h

w x +=+=??≥ ? ??

?

∑∑

(25)

由于剖面函数()k x 是单调递减的,所以求和项2

10n i

i x g h =??

>

? ??

?

∑,因此,只要10j j y y +≠= (25)式的右边项严格大于零,即1?()j f y +?()j f y >.由此可证得,序列{}?()j f y 收敛

为了证明序列{}j y 的收敛性,对于0j y ≠,(25)式可以写为

1?()j f y +?()j

f y -2

2

112

1

1()

n

i j

j j

n i d i i x y y y g h

h

w x +=+=??

- ?≥- ??

?

∑∑

(26)

现在对于标号j,j+1,…,j+m -1,对(26)式的左右两边分别求和,得到 ?()j m f y +?()j

f y - 2

2

1

1

1211

...()

n

i j m j m j m n

i d i i x y y y g h

h w x +-++-=+=??

- ?≥

-+ ??

?

∑∑

2

2

11211

()

n

i j j j

n

i d i i x y y y g h h w x +=+=??- ?+

- ??

?

∑∑ 22

11211

...()j m j m j j n d i i y y y y M h w x ++--+=??≥-++-?

???∑

2

2

1

1()

j m j

n d i i y y M h

w x ++=≥

-∑

(27)

其中M 表示对应序列{}j y 的所有求和项2

1n i j

i x y g h =??

-

? ??

?

∑的最小值.

由于{}?()j f y 收敛,它是一个Cauchy 序列,(27)式意味着{}j y 也是一

个Cauchy 序列,因此,序列{}j y 收敛.

Mean Shift 的应用

从前面关于Mean Shift 和概率密度梯度的关系的论述,我们可以清楚的看到,Mean Shift 算法本质上是一个自适应的梯度上升搜索峰值的方法,如下图所示,如果数据集{},1,...i x i n =服从概率密度函数f(x),给定一个如图初始点x ,Mean Shift 算法就会一步步的移动,最终收敛到第一个峰值点.从这张图上,我们可以看到Mean Shift 至少有如下三方面的应用:(1)聚类,数据集{},1,...i x i n =中的每一点都可以作为初始点,分别执行Mean Shift 算法,收敛到同一个点算作一类;(2)模态的检测,概率密度函数中的一个峰值就是一个模态,Mean Shift 在峰值处收敛,自

然可以找到该模态.(3)最优化,Mean Shift可以找到峰值,自然可以作为最优化的方法,Mean Shift算法进行最优化的关键是要把最优化的目标转化成Mean Shift隐含估计的概率密度函数.

图4.Mean Shift算法示意图

Mean Shift算法在许多领域获得了非常成功的应用,下面简要的介绍一下物体跟踪中的应用,一来说明其强大的生命力,二来使对上文描述的算法有一个直观的了解.

物体跟踪

主要原理及流程

MeanShift算法是通过人机交互的方式对被跟踪目标进行初始化的。在起始帧,手动确定一个包含所有目标特征的矩形或椭圆,我们称之为被跟踪目标的目标区域,这个目标区域也是核函数作用的区域,区域的大小等于核函数的带宽(或者称“尺度”)。假定我们在彩色的视频序列图像中跟踪目标,因此,图像像素的值域是RGB颜色空间,

按照直方图的方式将RGB 颜色空间中的每个子空间R 、G 或者B 空间分成k 个相等的区间,将每个区间称为一个bin ,构成特征空间,特征空间中的特征值的个数(也就是bin 的个数)为3m k =。

人脸特征提取与跟踪对初始帧目标区域内所有的像素点,计算特征空间中每个特征值的概率,我们称为目标模型的描述。在以后的每帧图像中可能存在目标的候选区域中对特征空间的每个特征值的计算称为候选模型的描述。一般核函数选择高斯函数。利用相似性函数度量初始帧目标模型和当前帧的候选模型的相似性,通过求相似性函数最大得到关于目标的 MeanShift 向量,这个向量即是目标从初始位置向正确位置转移的向量,由于 MeanShift 算法的收敛性,不断迭代计算 MeanShift 向量,在当前帧中,最终目标会收敛到目标的真实位置(一个静止点),从而达到跟踪的目的。

流程图:

目标模型的描述:如目标区域的中心为0x ,假设其中有1{}i i n x =K 个像素,特征值bin 的个数为m 个。则目标模型的特征值1u m =K 估计的概率密度为:

2

01(||

)[()]n

i u i i x x q c k b x u h

σ=-=-∑P (1.1) 这个表达式是基于核函数的轮廓函数的核密度估计表达式。 式中()k x 为核函数的轮廓函数,由于遮挡或者背景的影响,目标模型中心附近的像素比其它像素更可靠,()k x 对中心的像素给一个大的权

值,而远离中心的像素给一个的权值。函数()k x 中0||

||i

x x h

-的作用是消除不同大小目标计算时的影响,将椭圆表示的目标归一化为一个单

位圆。

()x σ是delta 函数,[()]i b x u σ-总的作用是判断目标区域中像素i x 的颜色值是否属于第u 个bin ,如是其值为1,否则为0,C 是一个标准化的常量系数,使得11

m

u u q ==∑

201

1

||n

i i c x x k h ==

-∑P (1.2) 候选模型模型的描述:运动目标在第二帧及以后的每帧中,可能包含目标的区域称为候选区域,其中心坐标为y ,也是核函数的中心坐标。该区域中的像素用1{}k

i i n x =K 表示,参照 (1.1)式,对候选区域的描述我

们称为目标候选模型,候选模型的特征值1u m =K 的概率密度为

2

01()||

[()]n

i u h i i x x p y c k b x u h

σ=-=-∑P (1.3) 其中201

1

||h n

i i c x x k h ==

-∑P 是标准化常量系数。 相似性函数描述:相似性函数描述目标模型核目标候选之间的相似程度,在理想情况下两模型的概率分布是完全一样的。这里我们的相似性函数描述为:

1()m

u p y == (1.4)

其值是是0-1,函数值越大,越相似。在当前帧中不同的候选区域 计算得到的候选模型,使得()p y 最大的候选区域即是在本帧中目标的位置。

C++程序代码

由于代码比较多只写出了其中的主要函数,代码中运用opencv函数库。

void PlayVideo()

{

float arr[2]={0,180};

float* hranges = arr;

CvCapture* capture = 0;//视频获取函数的一个参数

capture = cvCaptureFromA VI( "1.avi" ); //获取视频的指针

//capture=cvCreateCameraCapture(0);

if( !capture )

{

fprintf(stderr,"Could not initialize capturing...\n");

return;

}

cvNamedWindow( "Tracking Demo", 1 );

cvNamedWindow( "Histogram", 1 );

cvNamedWindow( "Back Project", 1);

cvSetMouseCallback( "Tracking Demo", (CvMouseCallback)on_mouse );//设置鼠标事件的回调函数on_mouse

// Cap_aim(); //在这里设点好初始窗口和捕捉目标

for(;;)

{

IplImage* frame = 0;

int i, bin_w, c;

frame = cvQueryFrame( capture );//从摄像头或者文件中抓取并返回一帧if( !frame )

{ //

g_bIsFinished = true;

break;

}

if( !image )

{

/* allocate all the buffers *///完成初始化

image = cvCreateImage( cvGetSize(frame), 8, 3 );//

image->origin = frame->origin;

hsv = cvCreateImage( cvGetSize(frame), 8, 3 );

hue = cvCreateImage( cvGetSize(frame), 8, 1 );

mask = cvCreateImage( cvGetSize(frame), 8, 1 );

backproject = cvCreateImage( cvGetSize(frame), 8, 1 );

backproject->origin = frame->origin;

hist = cvCreateHist( 1, &hdims, CV_HIST_ARRAY, &hranges, 1 );//创

建一个直方图指针

histimg = cvCreateImage( cvGetSize(frame), 8, 3 );

cvZero( histimg );//给数组赋初值0

}

cvCopy( frame, image, 0 );

cvCvtColor( image, hsv, CV_BGR2HSV );//色彩空间转换

if( track_object )

{

cvInRangeS( hsv, cvScalar(0, 0, 0,0), cvScalar(180, 255, 255, 0), mask );//检查数组元素是否在两个数量之间

cvSplit( hsv, hue, 0, 0, 0 );//分割多通道数组成几个单通道数组或者:从数组中提取一个通道

if( track_object < 0 )//只有选定窗口后第一次为-1,执行该段画直方图的程序,以后为1,不再重画

{

float max_val = 0.f;

cvSetImageROI( hue, selection );//基于给定的矩形设置感兴趣区域cvSetImageROI( mask, selection );

cvCalcHist( &hue, hist, 0, mask );//计算图像image(s) 单通道的直方

cvGetMinMaxHistValue( hist, 0, &max_val, 0, 0 );// 发现最大和最小直方块以及它们的位置

cvConvertScale( hist->bins, hist->bins, max_val ? 255. / max_val : 0., 0 );//首先对输入数组的元素进行比例缩放,然后将shift加到比例缩放后得到的各元素上:放大

cvResetImageROI( hue );//释放图像的感兴趣区域

cvResetImageROI( mask );

track_window = selection;//跟踪窗口

track_object = 1;

}

cvCalcBackProject( &hue, backproject, hist );//计算单通道的反向投影

cvAnd( backproject, mask, backproject, 0 );//计算两个数组的每个元素的按位与

cvMeanShift( backproject, track_window,

cvTermCriteria( CV_TERMCRIT_EPS |

CV_TERMCRIT_ITER, 20, 1 ),

&track_comp );//对跟踪窗口track_window进行跟踪,得到移动后的跟踪窗口track_comp中的track_comp.rect

track_window = track_comp.rect;//作为下一个跟踪窗口

CvScalar cc;

cc = cvScalar(255, 0, 0);

cvRectangle( image, cvPoint(track_window.x, track_window.y),

cvPoint(track_window.x+ track_window.width,

track_window.y+ track_window.height),

cc, 2, 8, 0 ); //绘制简单、指定粗细或者带填充的矩形:绘制下一个跟踪窗口

}//

if( select_object && selection.width > 0 && selection.height > 0 )//鼠标按下未起时框里图像的处理

{

cvSetImageROI( image, selection );//基于给定的矩形设置感兴趣区域

cvXorS( image, cvScalarAll(255), image, 0 );//计算数组元素与数量之间的按位异或

cvResetImageROI( image );//释放图像的感兴趣区域

}

cvShowImage( "Tracking Demo", image );

cvShowImage( "Histogram", histimg );

cvShowImage( "Back Project", backproject );

c = cvWaitKey(150);

if( c == 27 ) //

break;

}//for

cvReleaseCapture( &capture );

cvDestroyWindow( "Back Project" );

cvDestroyWindow( "Histogram" );

cvDestroyWindow("Tracking Demo");

}

Meanshift算法的效果图

我们通过图片可以看到第三幅图明显没有达到跟踪,这是因为人脸在视频中消失了,也就是人转了过去。因此这是meanshift的缺点。基于这个缺点,我们进行了改进,它不仅以目标模型为参考,我们以候选模型的前一帧图像也作为一个参考,两者各设一个权重。经过改进后的效果图如图,在第三幅图即使人脸突然消失,也能比较好的跟踪到人脸。

改进后算法的效果图

尽管在图像我们看到了比较好的效果,但是也有比没有改进前很多不好的地方,如当人脸消失一段时间又突然出现,这种情况的话,还是传统的方法比较好一些,因为meanshift是根据第一帧的,而我们的方法是第一帧和前一帧的权值,因此还需要继续改进算法,比如可以在不同情况下使用不同的权值。

全过程跟踪控制方案

全过程跟踪控制方案 第一章绪言部分 第一节项目造价咨询的难点要点分析 第二节投资控制方案编制依据 第二章造价咨询服务工作计划 第一节投资控制的目标计划 第二节预算编制的工作计划 第三节施工过程控制的工作计划 第四节结算审核的工作计划 第三章招标阶段造价咨询工作方案 第一节造价咨询的工作内容 第二节预算编制基本要求 第三节预算编制工作流程 第四节预算编制主要方法 第五节预算编制要点及注意事项 第四章施工阶段全过程投资跟踪控制方案 第一节造价咨询的工作内容 第二节施工阶段全过程投资控制流程 第三节施工阶段全过程投资控制内容 第四节投资跟踪控制总目标及主要节点目标 第五节全过程投资跟踪控制方案 第六节造价控制偏差分析方法及纠偏措施 第五章竣工结算审核工作方案 第一节造价咨询的工作内容 第二节结算审核工作要点 第三节结算审核工作流程 第四节结算审核主要方法

第五节结算审核风险与防范措施 第一章绪言部分 第一节项目造价咨询的难点要点分析建设项目工程造价全过程投资跟踪控制是在新形势下产生的一项新的投资管理方式,也是工程造价由事后控制向事前、事中、事后的全过程控制的转变。投资跟踪控制作为现代投资管理一种重要方式,已经在大中型建设项目实施过程中被普遍实用,并且取得了明显的社会效益和经济效益。 1.预算阶段难点、要点分析概预算编制有时时间紧、任务急、工程数量繁杂,难免多算、漏算、重复计算,这就要加强审核力度,提高概预算编制的准确性。 ①审核工程量、审核采用的定额单价、指标是否合适 a)根据设计图纸、设计说明、施工组织设计的要求审核工程量。 b)定额具有科学性、权威性、法令性,它的形式、内容任何人都必须严格执行。审核采用的定额名称、规格、计量单位、内容是否满足施工方法要求,套用定额不同,单价则不同。 c)定额包含内容是否与设计相符。如定额含筋率、混凝土标号等。 d)补充定额是否符合要求,计算是否正确。 ②审核材料价格对材料价格、运杂费进行审核,材料价格是否包括运杂费,材料运输 方法、 措施是否符合实际,做到既要满足工程要求,又要努力降低费用。 ③其他费用 a)取费标准是否符合工程性质; b)费率计算是否正确; c)计算基数是否符合规定; d)价差调整是否符合规定。 2.结算阶段难点、要点分析 ①工程合同的不完全性决定了工程价款的不确定性 与一般货物购销合同不同, 工程合同是一种典型的不完全性合约。由于工程 本身的专业性、复杂性以及建设工程的契约商品性质, 工程合同不可能对所有事件及其对策做出详尽可行的规定, 不可能对违约造成的损失事先就规定补偿和解决办法, 合同履行结果对于相关第三方是难以证实和无法直观地确定的。为弥补 合同的不完全性, 合同各方需要在初始合同中考虑合同再协商谈判、修正对策的 设计问题,即在合同中建立一种机制来弥补缺口。因此, 工程合同的两个主要特 征是合同规划上缺口的存在和一系列的程序和技术的出现。以GF1999-0201《建 设工程施工合同》和FIDIC 施工合同条件为例, 两者在合同机制设计上均对初始合同以及再谈判程序进行恰当的安排。主要表现为: a)合同价款体现为初始造价和追加造价,是不确定的或待定的。工程合同价款一般由清单费用、工程变更费用、价格调整和索赔费用四个部分组成, 其中只有清单费用是相对确定的, 而变更费用、价格调整和索赔费用在合同签订时是不确定的, 而在实施过程中通过再协商谈判而不断调整。 b)对合同实施过程中的现协商谈判的程序和规则进行了详尽规定,例如:对计量与支付、工程变更费用、价格调整和索赔费用等方面双方的权利义务、程序、期限的规定。 c)在合同履行机制上,引入第三方合同机制:工程监理制度,重视过程管理。 ②工程管理的现实矛盾蕴含着无序和混乱, 制约着工程结算 a)工程合同的不完全性要求规范化管理,价款的不确定性要求加强过程管理但由于长期计划经济体制下形成的管理方式、管理手段的制约, 当前我国的合同管理极不规

传统meanshift跟踪算法流程

传统meanshift 跟踪算法实现流程 一、 Meanshift 算法流程图 视频流 手动选定跟踪目标 提取目标灰度加权直方图特征hist1 提取候选目 标区域 提取候选目标的灰度加权直方图特征hist2 均值漂移得到均值漂移向量及新的候选区域位 置 是否满足迭代结束条件 第二帧之后图像 第一帧图像 得到当前帧目标位置 是 否 图1 meanshift 流程图 二、 各模块概述 1、 手动选定目标区域:手动框出目标区域,并把该区域提取出来作为目标模板 区域; 2、 提取目标灰度加权直方图特征hist1; 2.1构造距离权值矩阵m_wei ; 使用Epanechnikov 核函数构造距离加权直方图矩阵:设目标区域中像素

点(,)i j 到该区域中心的距离为dist ,则 _(,)1/m wei i j dist h =-,这里h 是核函数窗宽,h 为目标区域中离区域中心 最远的像素点到中心的距离:若所选目标区域为矩形区域,区域的半宽度为 x h ,半高度为y h ,则22()x y h sqrt h h =+; 2.2得到归一化系数C ; 1/C M =,其中M 是m_wei 中所有元素值之和; 2.3计算目标的加权直方图特征向量hist1; 若图像为彩色图像,则把图像的,,r g b 分量归一化到[0,15]之间(分量值与16取余,余数即为归化后的分量值),然后为不同的分量值赋予不同的权值得到每个像素点的特征值_q temp : _256*16*q t e m p r g b = ++ 对于像素点(,)i j ,设其特征值为_q temp ,则另 1(_1)1(_1)_(,)hist q temp hist q temp m wei i j +=++; 若图像是灰度图像,则直接利用每个像素的灰度值作为每个像素的特征值,然后统计得到hist1; 把一维数组hist1归一化:11*hist hist C =;归一化后的数组hist1即为目标的加权直方图特征向量; 3、 从第二帧开始的图像,通过迭代的方式找到该帧图像中目标的位置; 3.1提取候选目标区域:以上一帧图像中目标的位置或上一次迭代得到的目标位置为中心提取出目标模板区域大小的区域; 3.2提取候选目标区域的加权直方图特征向量hist2:提取方法同步骤2.3; 计算候选目标区域的特征值矩阵_1q temp : _1 (,)256*(,) 16*(,)q t e m p i j r i j g i j b i j =++; 3.3均值漂移到新的目标区域; 3.3.1计算候选目标区域相对于目标区域的均值漂移权值w : ( 1()/2()),2(2w s q r t h i s t i h i s t i h i s t =≠ 2() 0h i s t i =时,()0;w i = 3.3.2 根据每个像素点所占的均值漂移权值计算漂移矩阵xw : 11(_1(,)1)*[(1),(2)]a b i j xw xw w q temp i j i y j y ===++--∑∑ 3.3.2得到权值归一化后的均值漂移向量Y :

mean shift及其改进算法图像跟踪原理和应用

mean shift及其改进算法图像跟踪原理和应用Mean Shift 简介 Mean Shift 这个概念最早是由Fukunaga等人[1]于1975年在一篇关于概率密度梯度函数的估计中提出来的,其最初含义正如其名,就是偏移的均值向量,在这里Mean Shift是一个名词,它指代的是一个向量,但随着Mean Shift理论的发展,Mean Shift的含义也发生了变化,如果我们说Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,移动该点到其偏移均值,然后以此为新的起始点,继续移动,直到满足一定的条件结束. 然而在以后的很长一段时间内Mean Shift并没有引起人们的注意,直到20年以后,也就是1995年,另外一篇关于Mean Shift的重要文献才发表.在这篇重要的文献中,Yizong Cheng对基本的Mean Shift算法在以下两个方面做了推广,首先Yizong Cheng定义了一族核函数,使得随着样本与被偏移点的距离不同,其偏移量对均值偏移向量的贡献也不同,其次Yizong Cheng还设定了一个权重系数,使得不同的样本点重要性不一样,这大大扩大了Mean Shift的适用范围.另外Yizong Cheng 指出了Mean Shift可能应用的领域,并给出了具体的例子. Comaniciu等人把Mean Shift成功的运用的特征空间的分析,在图

像平滑和图像分割中Mean Shift 都得到了很好的应用. Comaniciu 等在文章中证明了,Mean Shift 算法在满足一定条件下,一定可以收敛到最近的一个概率密度函数的稳态点,因此Mean Shift 算法可以用来检测概率密度函数中存在的模态. Comaniciu 等人还把非刚体的跟踪问题近似为一个Mean Shift 最优化问题,使得跟踪可以实时的进行. 在后面的几节,本文将详细的说明Mean Shift 的基本思想及其扩展,其背后的物理含义,以及算法步骤,并给出理论证明.最后本文还将给出Mean Shift 在聚类,图像平滑,图像分割,物体实时跟踪这几个方面的具体应用. Mean Shift 的基本思想及其扩展 基本Mean Shift 给定d 维空间d R 中的n 个样本点i x ,i=1,…,n,在x 点的Mean Shift 向量的基本形式定义为: ()()1 i h h i x S M x x x k ∈≡ -∑ (1) 其中,h S 是一个半径为h 的高维球区域,满足以下关系的y 点的集合, ()() (){ } 2:T h S x y y x y x h ≡--≤ (2) k 表示在这n 个样本点i x 中,有k 个点落入h S 区域中.

基于meanshift的目标跟踪算法——完整版

基于Mean Shift的目标跟踪算法研究 指导教师:

摘要:该文把Itti视觉注意力模型融入到Mean Shift跟踪方法,提出了一种基于视觉显著图的Mean Shift跟踪方法。首先利用Itti视觉注意力模型,提取多种特征,得到显著图,在此基础上建立目标模型的直方图,然后运用Mean Shift方法进行跟踪。实验证明,该方法可适用于复杂背景目标的跟踪,跟踪结果稳定。 关键词:显著图目标跟踪Mean Shift Mean Shift Tracking Based on Saliency Map Abstract:In this paper, an improved Mean Shift tracking algorithm based on saliency map is proposed. Firstly, Itti visual attention model is used to extract multiple features, then to generate a saliency map,The histogram of the target based on the saliency map, can have a better description of objectives, and then use Mean Shift algorithm to tracking. Experimental results show that improved Mean Shift algorithm is able to be applied in complex background to tracking target and tracking results are stability. 1 引言 Mean Shift方法采用核概率密度来描述目标的特征,然后利用Mean Shift搜寻目标位置。这种方法具有很高的稳定行,能够适应目标的形状、大小的连续变化,而且计算速度很快,抗干扰能力强,能够保证系统的实时性和稳定性[1]。近年来在目标跟踪领域得到了广泛应用[2-3]。但是,核函数直方图对目标特征的描述比较弱,在目标周围存在与目标颜色分布相似的物体时,跟踪算法容易跟丢目标。目前对目标特征描述的改进只限于选择单一的特征,如文献[4]通过选择跟踪区域中表示目标主要特征的Harris点建立目标模型;文献[5]将初始帧的目标模型和前一帧的模型即两者的直方图分布都考虑进来,建立混合模型;文献[6]提出了以代表图像的梯度方向信息的方向直方图为目标模型;文献[7-8]提出二阶直方图,是对颜色直方图一种改进,是以颜色直方图为基础,颜色直方图只包含了颜色分布信息,二阶直方图在包含颜色信息的前提下包含了像素的均值向量和协方差。文献[9]提出目标中心加权距离,为离目标中心近的点赋予较大的权值,离目标中心远的点赋予较小的权值。文献[4-9]都是关注于目标和目标的某一种特征。但是使用单一特征的目标模型不能适应光线及背景的变化,而且当有遮挡和相似物体靠近时,容易丢失目标;若只是考虑改进目标模型,不考虑减弱背景的干扰,得到的效果毕竟是有限的。 针对上述问题,文本结合Itti 提出的视觉注意模型[5],将自底向上的视觉注意机制引入到Mean Shift跟踪中,提出了基于视觉显著图的Mean Shift跟踪方法。此方法在显著图基础上建立目标模型,由此得到的目标模型是用多种特征来描述的,同时可以降低背景对目标的干扰。 2 基于视觉显著图的Mean Shift跟踪方法

仪表显示的图像识别算法研究

仪表显示的图像识别算法研究 摘要:随着社会的逐渐发展,人类的生活越来越趋于智能化。本文根据当今社会对于图像识别研究的发展现状,针对目前人们生活中人工读表的弊端,提出了通过采集仪表显示的图像并进行图像识别算法处理来达到智能自动读表的方法。 为了能快速获得采集数据,减少人们生活中繁复的人工作业。本文通过多样的图像处理来代替人眼识别图像。只需要得到采集到的图像,就可以利用计算机来进行计算和识别,得出最后的数字。本文采用了一系列的图像处理方法,包括图像的去噪,二值化分割,边缘检测和基于数学形态学的膨胀腐蚀操作等。同时通过多种尝试和比较各种方法的优缺点得到了一套简易而又完善,快速的图像识别算法。 在进行多次测试试验后,本文采用数码相机来进行图像的采集,同时经过图像预处理、图像分割、图像识别等一系列流程得出了较为完善的图像采集和识别系统,为未来信息传递智能化提供了基础,对于促进工业发展或是改善生活水平都有重要的意义。 关键词:图像预处理、二值化、边缘检测、形态学、去噪、图像分割、图像匹配 The research of image recognition displayed by the instrument Abstract: With the continuous development of society, people's lives become more and more intelligent. Based on the current development in today's society for the study of image recognition, according to the present disadvantages of manual meter reading in peop le’s lives, this page proposed the way by collecting the instruments display image and then deals it with image recognizing algorithms to achieve intelligent automatic meter. In order to quickly gather data, reducing manual work in people’s lives complicated. The page uses a series of image processing to replace human eye image recognition. Just need the collected images, we can use a computer to calculate and identify, then we will arrive at a final figure. We used a variety of image processing methods, including image denoising, thresholding segmentation, expansion of edge-detection based on mathematical morphology and corrosion and so on. And

视觉检测原理介绍

技术细节 本项目应用了嵌入式中央控制及工业级图像高速传输控制技术,基于CCD/CMOS与DSP/FPGA的图像识别与处理技术,成功建立了光电检测系统。应用模糊控制的精选参数自整定技术,使系统具有对精确检测的自适应调整,实现产品的自动分选功能。 图1 控制系统流程图 光电检测系统主要通过检测被检物的一些特征参数(灰度分布,RGB分值等),从而将缺陷信息从物体中准确地识别出来,通过后续的系统进行下一步操作,主要分为以下几部分 CCD/CMOS图像采集部分 系统图像数据采集处理板中光信号检测元件CCD/CMOS采用进口的适合于高精度检测的动态分析单路输出型、保证实际数据输出速率为320MB/s的面阵CCD/CMOS。像素分别为4000*3000和1600*1200,帧率达到10FPS。使用CCD/CMOS 作为输入图像传感器,从而实现了图像信息从空间域到时间域的变换。为了保证所需的检测精度,需要确定合理的分辨率。根据被检测产品的大小,初步确定系统设计分辨率为像素为0.2mm。将CCD/CMOS接收的光强信号转换成电压幅值,再经过A/D转换后由DSP/ FPGA芯片进行信号采集,即视频信号的量化处理过程,图像采集处理过程如图所示:

图2 图像采集处理过程 数据处理部分 在自动检测中,是利用基于分割的图像匹配算法来进行图像的配对为基础的。图像分割的任务是将图像分解成互不相交的一些区域,每一个区域都满足特定区域的一致性,且是连通的,不同的区域有某种显著的差异性。分割后根据每个区域的特征来进行图像匹配,基于特征的匹配方法一般分为四个步骤:特征检测、建立特征描述、特征匹配、利用匹配的“特征对”求取图像配准模型参数。 算法基本步骤如下: 1)利用图像的色彩、灰度、边缘、纹理等信息对异源图像分别进行分割,提取区域特征; 2)进行搜索匹配,在每一匹配位置将实时图与基准图的分割结果进行融合,得到综合分割结果; 3)利用分割相似度描述或最小新增边缘准则找出正确匹配位置。 设实时图像分割为m个区域,用符号{A1,A2,… Am}表示,其异源基准图像分割为n个区域,用符号{B1,B2,…Bn}表示。分割结果融合方法如下: 在每一个匹配位置,即假设的图像点对应关系成立时,图像点既位于实时图中,又位于其异源基准图像中,则融合后区域点的标识记为:(A1B1,A1B2,…,A2B1,A2B2,…)。标识AiBj表示该点在实时图中位于区域i,在基准图中位于区域j。算法匹配过程如下图所示:

近两年跟踪速度较快的算法

近两年跟踪速度较快的算法小结 近两年跟踪速度较快的算法有CN [1],KCF [2],STC [3],ODFS [4]等等,均足以满足现实场景中实时跟踪的应用。 各算法执行速度: 各算法的主要思想: CN 跟踪器是CSK [5]跟踪器的改进算法。它联合颜色特征(ColorName )和灰度特征来描述目标,在文献[1]作者通过大量的实验证明了Color Name 在视觉跟踪中的卓越性能,并且对ColorName 进行了PCA 降维,去除了ColorName 中的冗余信息,使得对目标的外观描述更加精确和鲁棒。在分类器的训练中,在CSK 算法的代价函数的基础上引入一个固定的权值β,使得分类器的训练和更新更加准确和鲁棒。CN 跟踪器对很多复杂的视频序列都有很好的跟踪结果,比如:光照变化,遮挡,非刚性形变,运动模糊,平面内旋转,出平面旋转和背景杂乱。CN 跟踪器也有不足的地方,比如:尺度变化,快速运动,出视角和低分辨率,等视频的跟踪效果不佳。 KCF 跟踪器是原CSK 跟踪器的作者对CSK 跟踪器的完善,这里简单介绍一下CSK 跟踪器的主要思想。CSK 跟踪器最大亮点就是提出了利用循环移位的方法进行稠密采样并结合FFT 快速的进行分类器的训练。稠密采样的采样方式能提取目标的所有信息,这对目标的跟踪至关重要。虽然CSK 的速度很快,但是CSK 只是简单的使用了灰度特征,对目标的外观描述能力显然不足。对此作者改进了CSK 提出了KCF ,从原来的单通道灰度特征换成了多通道Hog 特征。KCF 算法通过核函数对多通道的Hog 特征进行了融合,使得训练所得的分类器对待检测目标的解释力更强。KCF 跟踪器对光照变化,遮挡,非刚性形变,运动模糊,背景杂乱和旋转等视频均能跟踪良好,但对尺度变化,快速运动,刚性形变等视频跟踪效果不佳。 STC 跟踪器是一个简单快速而且鲁棒的算法,它利用稠密的空时场景模型来进行跟踪。在贝叶斯框架下,它利用目标和目标局部的稠密信息的空时关系来建模。置信图在被计算时考虑了上一帧目标的位置的先验信息,这有效的减轻了目标位置的模糊。STC 跟踪器使用了最简单的灰度特征,但是灰度并不能很好对外观进行描述。这里可以改进为其他比较好的特征(Colorname 或者Hog ),但是就会遇到多通道特征融合的问题。一般的Tracking-by-Detection 跟踪算法基本都不能实现尺度的变化,而STC 跟踪器就提出了一种有效的尺度变化方案,也是文章[3]中最大的亮点。这里简单介绍一下,通过连续两帧的目标最 佳位置t x *处的置信值()t m x *的比值来计算当前帧中目标的估计尺度 ()()()12' 1t t t s m x m x ** -=,为了不引入噪声和避免过度敏感的自适应引入连续n 帧的平均估 计尺度'1 1n t t i i s s n -==∑,最后通过滤波获得最终的目标估计尺度()11t t t s s s λλ+=-+。STC

轮式移动机器人航向跟踪预估控制算法

轮式移动机器人航向跟踪预估控制算法 龚建伟 黄文宇 陆际联 (北京理工大学机器人中心,北京 100081) 摘 要:本文提出了一种轮式移动机器人航向跟踪预估控制算法,航向预估量根据机器人前轮偏角和纵向速度实时得出,预估量与机器人实际航向之和作为控制反馈航向.仿真和实验时用PID 控制器和航向预估算法结合进行航向跟踪,结果表明该算法与常规PID 算法相比,对机器人纵向速度适应范围较宽,能有效地改善控制器的动态特性,表现出了较好的自适应能力. 关键词:轮式移动机器人;自主车;侧向控制;航向跟踪;预估控制 1 引言 Introduction 轮式移动机器人是一个具有大延迟、高度非线性的复杂系统,建立精确的数学模型十分困难,在进行航向跟踪控制时,参数的变化对系统模型影响较大,其中纵向速度的变化影响最为明显.轮式移动机器人航向跟踪一般控制方法是把期望航向与机器人实测航向之差作为控制器输入偏差,控制器输出控制量为机器人的前轮偏角.轮式移动机器人的航向与其纵向速度、横向速度、前轮偏角、机器人绕其重心的转动惯量、重心位置、前后轮侧偏系数以及实际道路情况等诸多因素有关,在常规控制方法中,只考虑了期望航向与实际航向的偏差,而未能包含其它因素的影响,因此难以达到满意的控制效果,当系统参数特别是某些敏感参数发生变化时,就必须重新设定控制器参数.例如,我们用常规PID 控制器进行航向跟踪实验,在某一纵向速度下整定好PID 控制参数,当纵向速度发生很小变化时,必须重新整定PID 参数,否则控制性能变坏,超调较大,甚至出现振荡.表现在路径跟踪实验中,则是在该速度下能较好地完成弯道或急弯等路径跟踪任务,而速度变化后,跟踪误差变大或出现大幅度振荡.因此,在轮式机器人航向跟踪控制中,控制方法应该能对纵向速度等影响因素有一定的自适应能力,航向跟踪预估控制方法就是在这一背景下提出的. 2 二自由度轮式移动机器人动力学模型 T wo Degrees of Freedom Dynamic Model for Wheeled Mobile Robot 当横向加速度和横摆角速度较小时,常采用经简化的二自由度轮式移动机器人动力学模型1,2,其微分方程如下: r f r f r f zz C aC v U bC aC r U C b C a r I 2) (2)(222=-+++ (1) f f r f r f s s C v U C C r U bC aC U M v M δ2)(2)(2=++??????-++ (2) 其中:I zz :轮式机器人绕重心的转动惯量(kgm 2); M s :轮式机器人质量(kg);C f 、C r :分别为前、后轮侧偏系数(N/rad);U :轮式机器人纵向速度(m/s);v :轮式机器人横向速度(m/s);a 、b :前后车轴到重心的距离(m);r :轮式移动机器人横摆角速度. 将轮式移动机器人转向机构视为一个惯性环节,则有: d f f δδδτ=+ (3) 其中:τ:惯性时间常数;δd :期望前轮偏角. 在航向跟踪控制过程中,可以令道路曲率为零,即不计实际路径的影响,航向变化率即为机器人的横摆角速度3,即: r =? (4) 其中:?为轮式移动机器人航向与期望航向的偏差角. (1)、(2)、(3)、(4)式联立即可得出以横摆角速度、横向速度、航向偏差角、前轮偏角即X=(r ,v ,?,δf )为状态变量的系统状态空间表达式. 3 航向预估算法原理 Heading Prediction Algorithm 在实际的航向控制过程中,控制器根据期望航向与采样航向得到航向偏差,再计算控制量,而当执行机构执行这一控制量时,要经过一个采样周期,这时机器人的实际航向已经改

S T A P L E 目 标 跟 踪 算 法

计算机视觉中,究竟有哪些好用的目标跟踪算法(下) 在介绍SRDCF之前,先来分析下相关滤波有什么缺点。总体来说,相关滤波类方法对快速变形和快速运动情况的跟踪效果不好。 快速变形主要因为CF是模板类方法。容易跟丢这个比较好理解,前面分析了相关滤波是模板类方法,如果目标快速变形,那基于HOG的梯度模板肯定就跟不上了,如果快速变色,那基于CN的颜色模板肯定也就跟不上了。这个还和模型更新策略与更新速度有关,固定学习率的线性加权更新,如果学习率太大,部分或短暂遮挡和任何检测不准确,模型就会学习到背景信息,积累到一定程度模型跟着背景私奔了,一去不复返。如果学习率太小,目标已经变形了而模板还是那个模板,就会变得不认识目标。(举个例子,多年不见的同学,你很可能就认不出了,而经常见面的同学,即使变化很大你也认识,因为常见的同学在你大脑里面的模型在持续更新,而多年不见就是很久不更新) 快速运动主要是边界效应(Boundary Effets),而且边界效应产生的错误样本会造成分类器判别力不够强,下面分训练阶段和检测阶段分别讨论。 训练阶段,合成样本降低了判别能力。如果不加余弦窗,那么移位样本是长这样的: 除了那个最原始样本,其他样本都是“合成”的,100*100的图像块,只有1-10000的样本是真实的,这样的样本集根本不能拿来训练。如果加了余弦窗,由于图像边缘像素值都是0,循环移位过程中只要目标保持完

整那这个样本就是合理的,只有目标中心接近边缘时,目标跨越边界的那些样本是错误的,这样虽不真实但合理的样本数量增加到了大约2-3(padding= 1),即使这样仍然有1-3(3000-10000)的样本是不合理的,这些样本会降低分类器的判别能力。再者,加余弦窗也不是“免费的”,余弦窗将图像块的边缘区域像素全部变成0,大量过滤掉分类器本来非常需要学习的背景信息,原本训练时判别器能看到的背景信息就非常有限,我们还加了个余弦窗挡住了背景,这样进一步降低了分类器的判别力(是不是上帝在我前遮住了帘。不是上帝,是余弦窗)。 检测阶段,相关滤波对快速运动的目标检测比较乏力。相关滤波训练的图像块和检测的图像块大小必须是一样的,这就是说你训练了一个100*100的滤波器,那你也只能检测100*100的区域,如果打算通过加更大的padding来扩展检测区域,那样除了扩展了复杂度,并不会有什么好处。目标运动可能是目标自身移动,或摄像机移动,按照目标在检测区域的位置分四种情况来看: 1、如果目标在中心附近,检测准确且成功。 2、如果目标移动到了边界附近但还没有出边界,加了余弦窗以后,部分目标像素会被过滤掉,这时候就没法保证这里的响应是全局最大的,而且,这时候的检测样本和训练过程中的那些不合理样本很像,所以很可能会失败。 3、如果目标的一部分已经移出了这个区域,而我们还要加余弦窗,很可能就过滤掉了仅存的目标像素,检测失败。 4、如果整个目标已经位移出了这个区域,那肯定就检测失败了。

人脸识别主要算法原理

人脸识别主要算法原理 主流的技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。 1. 基于几何特征的方法是最早、最传统的方法,通常需要和其他结合才能有比较好的效果; 2. 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。 3. 基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。 1. 基于几何特征的方法 人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等。Jia 等由正面灰度图中线附近的积分投影模拟侧面轮廓图是一种很有新意的方法。 采用几何特征进行正面人脸识别一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征,但Roder对几何特征提取的精确性进行了实验性的研究,结果不容乐观。

可变形模板法可以视为几何特征方法的一种改进,其基本思想是:设计一个参数可调的器官模型(即可变形模板),定义一个能量函数,通过调整模型参数使能量函数最小化,此时的模型参数即做为该器官的几何特征。 这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。 2. 局部特征分析方法(Local Face Analysis) 主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。基于这种考虑,Atick提出基于局部特征的人脸特征提取与识别方法。这种方法在实际应用取得了很好的效果,它构成了FaceIt人脸识别软件的基础。 3. 特征脸方法(Eigenface或PCA)

全过程跟踪控制方案

全过程跟踪控制方案目录 第一章绪言部分 第一节项目造价咨询的难点要点分析 第二节投资控制方案编制依据 第二章造价咨询服务工作计划 第一节投资控制的目标计划 第二节预算编制的工作计划 第三节施工过程控制的工作计划 第四节结算审核的工作计划 第三章招标阶段造价咨询工作方案 第一节造价咨询的工作内容 第二节预算编制基本要求 第三节预算编制工作流程 第四节预算编制主要方法 第五节预算编制要点及注意事项 第四章施工阶段全过程投资跟踪控制方案 第一节造价咨询的工作内容 第二节施工阶段全过程投资控制流程 第三节施工阶段全过程投资控制内容 第四节投资跟踪控制总目标及主要节点目标 第五节全过程投资跟踪控制方案 第六节造价控制偏差分析方法及纠偏措施 第五章竣工结算审核工作方案 第一节造价咨询的工作内容 第二节结算审核工作要点 第三节结算审核工作流程 第四节结算审核主要方法

第五节结算审核风险与防范措施 第一章绪言部分 第一节项目造价咨询的难点要点分析 建设项目工程造价全过程投资跟踪控制是在新形势下产生的一项新的投资管理方式,也是工程造价由事后控制向事前、事中、事后的全过程控制的转变。投资跟踪控制作为现代投资管理一种重要方式,已经在大中型建设项目实施过程中被普遍实用,并且取得了明显的社会效益和经济效益。 1.预算阶段难点、要点分析 概预算编制有时时间紧、任务急、工程数量繁杂,难免多算、漏算、重复计算,这就要加强审核力度,提高概预算编制的准确性。 ①审核工程量、审核采用的定额单价、指标是否合适 a)根据设计图纸、设计说明、施工组织设计的要求审核工程量。 b)定额具有科学性、权威性、法令性,它的形式、内容任何人都必须严格执行。审核采用的定额名称、规格、计量单位、内容是否满足施工方法要求,套用定额不同,单价则不同。 c)定额包含内容是否与设计相符。如定额含筋率、混凝土标号等。 d)补充定额是否符合要求,计算是否正确。 ②审核材料价格 对材料价格、运杂费进行审核,材料价格是否包括运杂费,材料运输方法、措施是否符合实际,做到既要满足工程要求,又要努力降低费用。 ③其他费用 a)取费标准是否符合工程性质; b)费率计算是否正确; c)计算基数是否符合规定; d)价差调整是否符合规定。 2.结算阶段难点、要点分析 ①工程合同的不完全性决定了工程价款的不确定性 与一般货物购销合同不同,工程合同是一种典型的不完全性合约。由于工程本身的专业性、复杂性以及建设工程的契约商品性质,工程合同不可能对所有事

人脸识别主要算法原理

人脸识别主要算法原理 主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。 1. 基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果; 2. 基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。 3. 基于模型的方法则有基于隐马尔柯夫模型,主动形状模型和主动外观模型的方法等。 1. 基于几何特征的方法 人脸由眼睛、鼻子、嘴巴、下巴等部件构成,正因为这些部件的形状、大小和结构上的各种差异才使得世界上每个人脸千差万别,因此对这些部件的形状和结构关系的几何描述,可以做为人脸识别的重要特征。几何特征最早是用于人脸侧面轮廓的描述与识别,首先根据侧面轮廓曲线确定若干显著点,并由这些显著点导出一组用于识别的特征度量如距离、角度等。Jia 等由正面灰度图中线附近的积分投影模拟侧 面轮廓图是一种很有新意的方法。 采用几何特征进行正面人脸识别一般是通过提取人眼、口、鼻等重要特征点的位置和眼睛等重要器官的几何形状作为分类特征,但Roder对几何特征提取的精确性进行了实验性的研究,结果不容乐观。

可变形模板法可以视为几何特征方法的一种改进,其基本思想是: 设计一个参数可调的器官模型(即可变形模板),定义一个能量函数,通过调整模型参数使能量函数最小化,此时的模型参数即做为该器官的几何特征。 这种方法思想很好,但是存在两个问题,一是能量函数中各种代价的加权系数只能由经验确定,难以推广,二是能量函数优化过程十分耗时,难以实际应用。基于参数的人脸表示可以实现对人脸显著特征的一个高效描述,但它需要大量的前处理和精细的参数选择。同时,采用一般几何特征只描述了部件的基本形状与结构关系,忽略了局部细微特征,造成部分信息的丢失,更适合于做粗分类,而且目前已有的特征点检测技术在精确率上还远不能满足要求,计算量也较大。 2. 局部特征分析方法(Local Face Analysis) 主元子空间的表示是紧凑的,特征维数大大降低,但它是非局部化的,其核函数的支集扩展在整个坐标空间中,同时它是非拓扑的,某个轴投影后临近的点与原图像空间中点的临近性没有任何关系,而局部性和拓扑性对模式分析和分割是理想的特性,似乎这更符合神经信息处理的机制,因此寻找具有这种特性的表达十分重要。基于这种考虑,Atick提出基于局部特征的人脸特征提取与识别方法。这种方法在实际应用取得了很好的效果,它构成了FaceIt人脸识别软件的 基础。 3. 特征脸方法(Eigenface或PCA)

焊缝跟踪的实时跟踪控制算法

焊缝跟踪的控制算法 (一)理论模型 虚线 Y( t )为焊炬的跟踪调节曲线, 可视作系统执行机构的输出量,即 : ()()t Y t S t dt =? 传感器在焊缝坡口 B 点的偏移量e1(t )实际上是 R ( t )曲线上B 点相对于 Y( t )上 A 点的偏差量,即 1()()()()()t e t R t Y t R t S t dt τ τ-=--=-? 设焊接速度V ( mm/ s),则焊接点 A 滞后检测点B 时间为:V λ τ= (s ) 再设()S τ是焊炬从t τ-时刻到t 时刻的调节量,即: ()()t t S S t dt τ τ-=? 则焊炬行走 时间后与坡口中心的实际误差应为: ()1()()1()()t t e t e t S e t S t dt τ τ-=-=-? 理论上 ,只要知道机械系统的传递函数, ()S τS 便可 知道 ,但实际系统 的传输 函数 往往很难准确得到,因此△S 直接求解比较困难 焊接起始点 实际焊缝的坡口中心曲线 焊枪的跟踪曲线

(二)由模型得出的简易控制算法 实际的焊缝跟踪过程中,视觉系统提供的位置偏差是经过传感器经过一帧一帧的图像采 集后,再经过一系列的图像处理,最终得出位置偏差信息提供给控制器。因此,需做以下设定: (1) 位置请求指令发送时间间隔和执行机构调整时间间隔同步; (2) 在每次位置请求时,在上一调整周期内焊枪已完成所需的调整量; (3) λ为采样间隔点的整数倍。 设O 点为初始参考点,O 0为焊枪开始纠正起始点,从O 点到O 0点,视觉传感器只做图像采集,焊枪并不进行跟踪,这一段距离属于“盲区”。i e 为每次识别的坡口中心点与初始参考点之间的差值,i m 为每一步的焊枪实际跟踪量。 系统焊枪实时跟踪量m i 的算法为: 1 () i i i a i i a m e m ---=-∑ ( i=a ,a+1, ···,n ) 焊接方向

最大功率跟踪原理及控制方法

最大功率跟踪原理及控制方法 2.1最大功率跟踪原理 太阳能电池的输出特性如图一所示,从图中的P/V特性曲线可以看出,随着端电压的增加输出功率先增加后减小,说明存在一个端电压值,在其附近可获得最大功率,因此,在光伏发电系统中,要提高系统的整体效率,一个重要的途径就是实时调整光伏电池的工作点,使之始终工作在最大功率点附近,这一过程就称之为最大功率点跟踪-MPPT。 图一光伏电池的特性曲线 2.2 最大功率跟踪的控制方法 MPPT的控制方法:光伏系统中的最大功率点跟踪的控制方法很多,使用最多的是自寻优的方法,即系统不直接检测光照和温度,而是根据光伏电池本身的电压电流值来确定最大功率点。这种方法又叫做TMPPT(True Maximum Power Point Tracking)。在自寻优的算法中,最典型的是扰动观察法和增量电导法。本论文使用扰动观察法,扰动观察法主要根据光伏电池的P-V特性,通过扰动端电压来寻找MPPT,其原理是周期性地扰动太阳能电池的工作电压值( ),再比较其扰动前后的功率变化,若输出功率值增加,则表示扰动方向正确,可朝同一方向(+ )扰动;若输出功率值减小,则往相反(- )方向扰动。通过不断扰动使太阳能电池输出功率趋于最大,此时应有[8]。此过程是由微处理器即C8051F320控制完成的。 3、系统的总体结构 3.1系统的结构图 系统的结构图如图二所示。其中单片机要采集太阳能电池的输出电压和输出电流及蓄电池的充电电流和开路电压,通过一定的控制算法(即改变占空比),调节太阳能电池的输出电压和电流,从而实现太阳能电池在符合马斯曲线的条件下以最佳功率对蓄电池充电,系统的硬件主要由核心控制模块、采样模块、驱动模块、升压式DC/DC变换器模块组成。

图像识别技术浅析

图像识别技术浅析 Analysis of Image Recognition Technology 刘峰伯软件学院2010544029 【摘要】:本文描述了图像识别系统的结构与工作原理,在对图像预处理、特征提取、分类、图像匹配算法进行深入研究和分析的基础上,分析和比较了各种算法的优缺点,并讨论了其中的关键技术。 【关键词】:图像识别;预处理;特征提取;匹配 【Abstract】This paper describes the structure and working principle of an image recognition system. The advantages and disadvantages of various a1gorithms are compared on the basis of in-depth analysis of the image pre-processing, feature extraction, classification and image matching algorithms, and discussed the key technology. 【Key Word】Image Recognition;Pre-Processing;Feature Extraction;Matchi ng. 一、引言 图像识别,是利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。随着计算机技术与信息技术的发展,图像识别技术获得了越来越广泛的应用。例如医疗诊断中各种医学图片的分析与识别、天气预报中的卫星云图识别、遥感图片识别、指纹识别、脸谱识别等,图像识别技术越来越多地渗透到我们的日常生活中。 二、图像识别系统 1、概述 自动图像识别系统的过程分为五部分:图像输入、预处理、特征提取、分类和匹配,其中预处理又可分为图像分割、图像增强、二值化和细化等几个部分。 (1)图像输入 将图像采集下来输入计算机进行处理是图像识别的首要步骤。 (2)预处理 为了减少后续算法的复杂度和提高效率,图像的预处理是必不可少的。其中

人脸识别几种解决方案的对比_人脸识别技术原理介绍

人脸识别几种解决方案的对比_人脸识别技术原理介绍 人脸识别概要人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术,通常也叫做人像识别、面部识别。人脸识别特点非强制性:用户不需要专门配合人脸采集设备,几乎可以在无意识的状态下就可获取人脸图像,这样的取样方式没有强制性; 非接触性:用户不需要和设备直接接触就能获取人脸图像; 并发性:在实际应用场景下可以进行多个人脸的分拣、判断及识别; 除此之外,还符合视觉特性:以貌识人的特性,以及操作简单、结果直观、隐蔽性好等特点。 人脸识别技术原理分析人脸识别主要分为人脸检测(face detecTIon)、特征提取(feature extracTIon)和人脸识别(face recogniTIon)三个过程。 人脸检测:人脸检测是指从输入图像中检测并提取人脸图像,通常采用haar特征和Adaboost算法训练级联分类器对图像中的每一块进行分类。如果某一矩形区域通过了级联分类器,则被判别为人脸图像。 特征提取:特征提取是指通过一些数字来表征人脸信息,这些数字就是我们要提取的特征。常见的人脸特征分为两类,一类是几何特征,另一类是表征特征。几何特征是指眼睛、鼻子和嘴等面部特征之间的几何关系,如距离、面积和角度等。由于算法利用了一些直观的特征,计算量小。 不过,由于其所需的特征点不能精确选择,限制了它的应用范围。另外,当光照变化、人脸有外物遮挡、面部表情变化时,特征变化较大。所以说,这类算法只适合于人脸图像的粗略识别,无法在实际中应用。 表征特征利用人脸图像的灰度信息,通过一些算法提取全局或局部特征。其中比较常用的特征提取算法是LBP算法。LBP方法首先将图像分成若干区域,在每个区域的像素640x960邻域中用中心值作阈值化,将结果看成是二进制数。

相关主题
文本预览
相关文档 最新文档