#Object Tracking Using Kalman Filter
##Shahin Khobahi
###I. Introduction
In this project, we are proposing an adaptive ï¬lter approach to track a moving object in a video. Currently, object tracking is an important issue in many applications such as video survelance, traï¬c management, video indexing, machine learning, artiï¬cial intelligence and many other related ï¬elds. As we will discuss in the following sections, moving object tracking can be interpreted as an estimation problem. Kalman ï¬lter is a powerful algorithm that can be used in the state estimation problems and that is the reason we used this method to estimate and predict the position of a moving object. In the ï¬rst stage of this project we use the background subtraction method to detect the moving object in the video and then we use the Kalman ï¬lter ro predict and estimate the next state of the object. <a href="" id="x1-3r2"></a>
###II. Problem Formulation
<a href="" id="x1-4r1"></a>
####A. Object Detection Using Background Subtraction
A video is composed of a series of frames each which can be considered as a 2D signal. So, a video can be seen as a two-dimensional (2D) signal through time. Moreover, there are two types of objects in a video: <span class="ptmri7t-">steady and moving objects</span>. Steady objects do not change from frame to frame and can be considered as the background scene. The goal is to detect a moving objects from the steady ones. First let us provide an example: consider that you are looking at a wall and suddenly a birdy ï¬y over this wall. The steady object in this scene is the wall and the moving object is the birds. The bird is in fact disturbing your observation of the wall(background), so in the context of signal processing, this bird(moving object) can be seen as a noise to that background. In other words, in a video, a moving object is like a noise to the background scene which is a ï¬xed signal, and this moving object is adding noise to our observation of that background. Consequently, each frame of the video can be interpreted as a noisy observation of the background. Therefore, the problem is just simply the noise detection in a signal. The following model can be used for our problem:
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-5r1"></a>
<img src="./Images/document0x.png" alt="y = x + v " class="math-display" /></td>
<td>(1)</td>
</tr>
</tbody>
</table>
Where <span class="cmmi-10">y </span>is our noisy measurement of <span class="cmmi-10">x </span>(background signal), and <span class="cmmi-10">v </span>denotes the disturbance which in fact is our moving object disturbing that background signal <span class="cmmi-10">x</span>. As it was mentioned earlier, we need to extract the noise <span class="cmmi-10">v </span>from our noisy signal <span class="cmmi-10">y </span>(the video). Each frame of the video is a noisy realization of the signal <span class="cmmi-10">y </span>and we refer to the i-th frame of the video as <span class="cmmi-10">u</span><sub><span class="cmmi-7">i</span></sub>. Further we assume that the video has <span class="cmmi-10">N </span>frames. Our approach of extracting the noise from the observations <span class="cmmi-10">u</span><sub><span class="cmmi-7">i</span></sub> is to ï¬rst obtain an <span class="ptmri7t-">estimation </span>of the background signal <img src="./Images/document1x.png" alt="Ëx" class="circ" />, then we subtract each observation <span class="cmmi-10">u</span><sub><span class="cmmi-7">i</span></sub> from the estimated signal <img src="./Images/document2x.png" alt="Ëx" class="circ" /> to obtain an estimation of the noise at each frame:
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-6r2"></a>
<img src="./Images/document3x.png" alt="Ëvi = ui â xË " class="math-display" /></td>
<td>(2)</td>
</tr>
</tbody>
</table>
Given two deterministic random variables <span class="cmsy-10">{</span><span class="cmbx-10">x</span><span class="cmmi-10">,</span><span class="cmbx-10">y</span><span class="cmsy-10">}</span>, we deï¬ne the least-mean-squares estimator (l.m.s.e) of <span class="cmmi-10">x </span>given <span class="cmmi-10">y </span>as the conditional expectation of <span class="cmbx-10">x </span>given <span class="cmbx-10">y</span>:
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-7r3"></a>
<img src="./Images/document4x.png" alt="xË= E (x |y) = E[x|u0,u2,...,uN â1] " class="math-display" /></td>
<td>(3)</td>
</tr>
</tbody>
</table>
For simplicity, we assume that we model <span class="cmmi-10">x </span>as an unknown constant instead of a random variable. Further we assume that we are given <span class="cmmi-10">N </span>frames of the video and that is all the information we have. Now, we model our problem as follows:
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-8r4"></a>
<img src="./Images/document5x.png" alt="y(i) = x + v(i), i = 0,1,...,N â 1 " class="math-display" /></td>
<td>(4)</td>
</tr>
</tbody>
</table>
and we deï¬ne the column vector <span class="dsrom-10">ð</span> <span class="cmr-10">= \[1</span><span class="cmmi-10">,</span><span class="cmr-10">1</span><span class="cmmi-10">,</span><span class="cmmi-10">â¦</span><span class="cmmi-10">,</span><span class="cmr-10">1\]</span><sup><span class="cmmi-7">T</span></sup>. Then,
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-9r5"></a>
<img src="./Images/document6x.png" alt="y = ðx +v " class="math-display" /></td>
<td>(5)</td>
</tr>
</tbody>
</table>
if this is the case, according to Gauss-Markov theorem, the optimal linear estimator (m.v.u.e) of <span class="cmmi-10">x </span>is:
<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<tbody>
<tr class="odd">
<td><a href="" id="x1-10r6"></a>
<img src="./Images/document7x.png" alt=" 1 Nââ1 1 Nââ1 Ëxmvue = -- y(i) =-- ui N i=0 N i=0 " class="math-display" /></td>
<td>(6)</td>
</tr>
</tbody>
</table>
Namely, (6) means that the optimal linear estimator of x given <span class="cmsy-10">{</span><span class="cmbx-10">y</span><span class="cmr-10">(</span><span class="cmmi-10">i</span><span class="cmr-10">)</span><span class="cmsy-10">}</span>, is simply the mean of the samples(measurements). So, in order to obtain an estimation of the background of the video, we take the average of all frames and store it as the background scene. Fig. 1 illustrates 4 frames of a sample video, these samples are in fact 4 noisy measurements of our signal, and that yellow ball which we are trying to track acts as the disturbance to the background of the video(the door and the wall). Fig. 2 provides the background scene that is the result of averaging over all of the frames. Please note that in this project we are assuming that the background does not change, so sample-mean estimator is a good estimation of the background. However, in the case of real-time tracking where the background is not changing, one can feed the average estimator as the frames arrives; evidently, in this case, estimation improves with time.
Now that we obtained <img src="./Images/document8x.png" alt="Ëx" class="circ" />, we can extract the noise from the signal(video) by subtracting each frame from the background. Fig. 3 provides four realization of the noise(moving object) at diï¬erent frames. Due to the fact that in our problem we do not care about the energy of the noise - the gray level of an image(pixels) is proportional to the energy or the amount of information it contains (entropy of the image) - we can use <span class="ptmri7t-">one-bit Compressed Sensing </span>method to store the noise. That is, we use the following model to store the noise
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Kalman-Filter-Object-Tracking-master.zip (43个子文件)
Kalman-Filter-Object-Tracking-master
Images
document17x.png 939B
document24x.png 1KB
document10x.png 128KB
document14x.png 79KB
document8x.png 250B
document0x.png 408B
document4x.png 996B
document5x.png 878B
document7x.png 1KB
document26x.png 2KB
document16x.png 521B
document25x.png 1KB
document27x.png 2KB
document2x.png 244B
document23x.png 1KB
document20x.png 3KB
document18x.png 295B
document22x.png 665B
document19x.png 295B
document13x.png 4KB
document28x.png 648B
document21x.png 674B
document32x.png 137KB
document1x.png 247B
document30x.png 141KB
document31x.png 882B
document29x.png 129KB
document11x.png 58KB
document15x.png 838B
document9x.png 982B
document12x.png 267KB
document3x.png 432B
document6x.png 482B
Source-Code-MATLAB
main.m 5KB
Scenario3-CutInput2.avi 1.02MB
Scenario3-CutInput3.avi 1.02MB
BackgroundExt.m 1KB
Scenario2-AddingNoise.avi 1.03MB
Scenario3-CutInput.avi 1.02MB
sample3.mp4 471KB
Scenario1-NotEnoughSamples.avi 1.03MB
README.md 35KB
Object Tracking Using Kalman Filter.pdf 183KB
共 43 条
- 1
资源评论
JaniceLu
- 粉丝: 78
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功