'Algorithm to fix outlier points during sudden camera movements, but keeps other points intact
So I have basically build a program that detects and maps the positions of NBA players on the court. 
Here is an example of it working. My algorithm works good when the camera movement is not to fast. But since the player movement is fast in transition and the camera follows it. The picture quality is bad/blurry. SIFT has problems detecting and matching keypoints. I am looking for an algorithm or approach that would try to fix the outlier points that happen with those sudden transitions during the game but not change the ones recorded when the players are on the either side of the flor since they are correct. This can be done either during or in post processing. But I am struggling to find a good solution that would match the above mentioned criteria.
The points can be fixed in any way may it be fixing the recorded coordinates. Or by making the detection better.
Solution 1:[1]
I don't have enough reputation to comment, so I'll have to answer.
If I understand well, you're using SIFT tp detect players in images, and also to match the players in two consecutive images to track the players. Is that correct?
And due to the bluriness (linked to movement), sometimes SIFT will fail, and you "lose" some players for a few frames, is that correct?
For example, if you have a player's coordinates at frames 53 and 56, but fail to track him for frames 54 and 55, you want an algorithm to find the positions for these associated frames?
If that is so, why can't you use a simple linear interpolation on the 2d position in the court space? Your camera basically works at 20-30 FPS, so your player won't move very far in between 2 consecutive frames.
Considering positions in the court space, if you're looking for position at timestamp i, and have position for i-1 and i+1, then:
x(i) = (x(i-1) + x(i+1))/2
y(i) = (y(i-1) + y(i+1))/2
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Olivier Desclaux |
