Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.

# Tag Info

15

If you object has 6 known points (known 3D coordinates, $X, Y$ and $Z$) you can compute the location of the camera related to the objects coordinate system. First some basics. Homogenous coordinate is vector presentation of euclidean coordinate $(X,Y,Z)$ in which we have appended so called scale factor $\omega$ such that the homogenous coordinate is $\... 13 First you have to assume a motion model. Let's say you wish to track a ball flying through the air. The ball has a downward acceleration due to gravity of 9.8m/s^2. So in this case the constant acceleration motion model is appropriate. Under this model, your state is position, velocity, and acceleration. Given the previous state you can easily predict ... 12 Roughly speaking, they are the amount of noise in your system. Process noise is the noise in the process - if the system is a moving car on the interstate on cruise control, there will be slight variations in the speed due to bumps, hills, winds, and so on. Q tells how much variance and covariance there is. The diagonal of Q contains the variance of each ... 9 Can you try a different feature detector? FAST may be, erm, faster, and a higher frame rate will make matching easier (assuming your features are moving a lot between frames) Looks like you are trying to use the grayscale region around the identified feature point to match from frame to frame. This is likely to be poor, especially if there is lots of ... 7 This online course is very easy and straightforward to understand and to me it explained Kalman filters really well. It's called "Programming a Robotic Car", and it talks about three methods of localiczation: Monte Carlo localization, Kalman filters and particle filters. It does focus on sonar information as an example, but the explanation is simple enough ... 5 To track a frequency ramp with a Phase lock loop, with zero steady state error requires a type 3 PLL Loop; which means three integrations (DC Poles) in the open loop gain (your NCO would be one of the integrators and your loop filter needs to provide the other two). Stabilizing such a system becomes more challenging but here is one reference paper detailing ... 5 So this is just the start of an answer. I'll have to keep updating it as I go. The first attempt is to say that the quantities you are interested in are the location of the center of the four LEDs, and the roll, pitch, and yaw (rotation angles) of the LEDs. That means your Kalman FIlter state will be: $$\mathbf{x}_k = \left[x_k\ y_k\ \alpha_k\ \beta_k\ \... 5 In addition to Peter's answer, if you have a nonlinear system that is well-behaved in a sense of being only mildly nonlinear or at least exhibiting no discontinuities, special variants of the Kalman filter can still be applied. Extended Kalman Filter This filter linearizes the system at the current state of the system using a first order Taylor Series ... 5 Well, let's look at the two issues: 1) linearity and 2) Gaussianity. Linearity If you're imaging moving 3D objects (people) with a single camera, then you're working with a 2D projection of those 3D objects. That dimensionality reduction can cause non-linearities to appear. Take a 2D to 1D example: an object moving in a circle in 2D. The object is ... 5 When you are doing visual tracking you need a model, which is a mathematical representation of a real-world process. This model will give sense to any data obtained from measurements, will connect the numbers we put into and we get out of the system. But a model is a simplification of reality because you will use a reduced number of parameters. What you don'... 4 There are many different algorithms or theories to tackle your problem. As suggested in the comments, Kalman filters (in a regular or extended implementation) ore often tried in this case. If you are in a discrete world (I guess so from your question), you can try to solve your problem in a discrete setting with (for example) the Hungarian algorithm. If ... 4 The Kalman filter recursively provides the optimal linear estimate of a signal perturbed by AWGN. In your case, the state (what you want to estimate) will be given by the target location. The measurements will be determined by your algorithm. If you've read the Wikipedia article, you might like to view this presentation on visual tracking. Do you have any ... 4 Question: Which parameter is suitable to indicate how "good" the measurement fits to the Kalman filter? To estimate a quality of association you can use likelihood function. The likelihood considers not only residual but also uncertainty and represented as scalar value:$$\mathcal{L} = \frac{1}{\sqrt{2\pi S}}\exp [-\frac{1}{2}\mathbf y^\mathsf T\mathbf S^... 3 In general, a kernel is a function that acts as a parameter to some algorithm. Filtering: For example, it's possible to call the impulse response of a filter$h[n]$a kernel, so that it is the parameter that defines the filter operation: $$y[n] = h[n] * x[n].$$ The use of the term kernel in the filtering context is much more common in 2D filtering or ... 3 As alternative to SIFT/SURF/Other you can also use FFT phase correlation, if frames transformed by mostly translations (rotation/perspective is small). You can also apply phase correlation to regions of image iteratively for better precision. http://en.wikipedia.org/wiki/Phase_correlation 3 From my understanding of the linked answer which you base your algorithm on I would conclude that the FT will detect all the edges in the frame domain, so all the moving objects. If you want to localize the transform information, I suggest you use a wavelet transform with a complex wavelet. Instead of correlating the signal with$e^{i2\pi fx}$as FT does it ... 2 From my experience, I have successfully utilized Leo Grady's Random Walks method for this. The code is also available here. It works very well and can easily be made to run in real-time depending on the contour and image size. You could watch the video from my implementation here. Note that though, it might perfom differently than the original. 2 Main thing is that in the first frame it will be required to select the object of detection because it is obvious that the algorithm will not know automatically which object you want to track if a number of things will be moving in the video scene.Lucas-Kannade method is one of the methods which can detect moving objects in a given video frame . If you do ... 2 I don't think you have any choice other than to use the same number of bins for each observation. Otherwise not only will you not be able to average the histograms, you will also not be able to compare them. And you definitely need to change the histogram slowly, i. e. $$h = (1 - \alpha)h + \alpha h_{obs}$$ where$h$is your "moving average" histogram,$h_{...

2

The short answer is: use your optical flow algorithm to get the best-fit warping of some number of previous images into your current image. Then assume that your object is moving on a line through the images, and do some kind of robust best-fit to that line. When the object reappears it is more likely to be near the predicted projection of the line than ...

2

Your problem falls into the category of problems known as $Multitarget\; Tracking$. Are there algorithms?, you Betcha there are algorithms. This is an active area of research. IEEE Explore returns 1,620 hits for (multitarget tracking) The optimal algorithm is known as Reid's Multi Hypothesis Tracker (MHT), which unfortunately requires the exhaustive ...

2

To better deal with occlusions, my idea would be to separate this problem into detecting if: the 1st door is in position fully opened (1) the 1st door is in position fully closed (2) the 2nd door is in position fully opened (3) the 2nd door is in position fully closed (4) To tackle either of these problem, I would apply the following algorithm let's say ...

2

There is “correct” and there is “correct”. Your train of reasoning is in the right direction. A KF in this case is still double integration. The filter has some advantages in that if you have your parameters tuned, you will know your error. The KF can also be run backwards in time as a KF smoother so knowledge of the ending position can be combined with ...

1

I think tracking motion of something like corner or handle of the window would work. Consider following procedure: 1. Track the corner of the windwo 2. If position of the corner changes more than X pixel(you determine X), change the STATE I suggest to use object tracking algorithms. I think the best candidate point would be corners of the window. For ...

1

Search for radar plot to track association. There's a lot of algorithms on this subject. To your question: The residual itself will not give you information without its associated covariance matrix Try a chi-squared test on it. Putting a threshold on this scalar is called gating and it's a first step of plot to track association.

1

First I would recommend filling in the contour of the toy - in case it looks like the one in the second image. You could do this by analyzing the hierarchy output from findContours: make white all regions having a parent or by using an iterative morphological operations (not directly implemented in OpenCV). Once the toy is nice and fat (not just the edge),...

1

Just a slight nit $\sigma^2$ is a variance $\sigma$ is a standard deviation. Let me answer your last question first. In a KF, one has measurements and states, and they are not usually the same. In a Savasky Golay filter, one is estimating the derivatives of the measurement, not the state. In your case the measurements are trivially related to the states. ...

1

However, in Matlab it seems that to implement this I would need to assume either constant acceleration or velocity which is not the case since the rodent is freely moving. First of all you can choose any dynamic model not only constant acceleration or velocity. Secondly, In Kalman filter you don't need to have exact dynamic model. consider state dynamic ...

1

As already mentioned, a linear system that tracks a step reference, will track it for arbitrary values and time of application. Due to the internal model principle, in a feedback control system, if the denominator of the product $$C(s) P(s)$$ contains a pole at $s = 0$, then it will robustly track a step function. The control law  C(s) = \frac{k_{d} s^{2}...

1

This termination criteria tells the algorithm to stop when it has either done 20 iterations or when epsilon is greater than .3. You can play with these parameters for speed vs accuracy but these values work pretty well in many situations. So if you want to improve accuracy then you will get more accurate value with more iterations but the time taken for ...

Only top voted, non community-wiki answers of a minimum length are eligible