Videotracking: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
=== Introductie ===
=== Introductie ===


Video tracking is het volgen van objecten per frame van een video. In geval van een stilstaande camera wordt meestal één beginframe vergeleken met alle frames die erna komen. Het verschil tussen frame 1 en frame x zijn vervolgens alle bewegende objecten.
Video tracking is het volgen van objecten per frame van een video. In geval van een stilstaande camera wordt meestal één beginframe vergeleken met alle frames die erna komen. Het verschil tussen frame 1 en frame x zijn vervolgens alle bewegende objecten. <br>
Het verschil tussen verschillende objecten en het bijhouden welk object waarheen gaat, wordt gemaakt door: ófwel van elk object een mesh te maken en die constant te vergelijken (dit werkt alleen als het object niet van vorm verandert), óf door het vergelijken van (voorspelde) snelheid en versnelling (dit werkt alleen goed als objecten niet te lang buiten beeld vallen of elkaar aanraken).  
Het verschil tussen verschillende objecten en het bijhouden welk object waarheen gaat, wordt gemaakt door: ófwel van elk object een mesh te maken en die constant te vergelijken (dit werkt alleen als het object niet van vorm verandert), óf door het vergelijken van (voorspelde) snelheid en versnelling (dit werkt alleen goed als objecten niet te lang buiten beeld vallen of elkaar aanraken).  
Bewegende objecten worden gedetecteerd met behulp van mean-shifting. Per frame wordt er iteratief gekeken naar het gemiddelde van de cluster van punten (bewegende pixels) om zo positie, snelheid en acceleratie vast te stellen.
Bewegende objecten worden gedetecteerd met behulp van mean-shifting. Per frame wordt er iteratief gekeken naar het gemiddelde van de cluster van punten (bewegende pixels) om zo positie, snelheid en acceleratie vast te stellen.


==== Mesh tracking ====
=== Onderdelen van video tracking algoritme ===


==== Velocity prediction tracking ====
Video tracking bestaat uit een aantal stappen, die in de introductie al kort beschreven zijn. In pseudo-code kan het als volgt beschreven worden: <br>
 
Open video bestand of stream;
 
<math>
while ( not (einde video) )
{
  1. Open 1 frame uit video
  2. Detecteer interessante objecten uit het frame via image processing
  3. Vergelijk met tracks uit vorig(e) frame(s)
  4. Maak nieuwe tracks aan voor nieuwe objecten
  5. Output gevonden tracks
}
<\math>
 
==== Frame laden ====
 
Video analyse wordt logischerwijs altijd per frame gedaan, daarom moet het algoritme in een while-loop uitgevoerd worden, waarin in elke iteratie één frame geanalyseerd wordt en vergeleken met resultaten van de vorige. Dit heeft als groot voordeel dat slechts één frame tegelijk in het geheugen hoeft te blijven.
 
==== Object detectie ====
 
==== Track bijhouden =====
 
==== Nieuwe tracks ====
 
==== Output ====
 
===== Mesh tracking =====
 
===== Velocity prediction tracking =====


=== Video tracking in MATLAB ===
=== Video tracking in MATLAB ===


MATLAB heeft een standaard example dat als basis kan worden gebruikt voor video tracking.
MATLAB heeft een standaard example dat als basis kan worden gebruikt voor video tracking.
typ >>multiObjectTracking in command window.
typ >>multiObjectTracking in command window.



Revision as of 13:40, 21 November 2015

Video Tracking

Introductie

Video tracking is het volgen van objecten per frame van een video. In geval van een stilstaande camera wordt meestal één beginframe vergeleken met alle frames die erna komen. Het verschil tussen frame 1 en frame x zijn vervolgens alle bewegende objecten.
Het verschil tussen verschillende objecten en het bijhouden welk object waarheen gaat, wordt gemaakt door: ófwel van elk object een mesh te maken en die constant te vergelijken (dit werkt alleen als het object niet van vorm verandert), óf door het vergelijken van (voorspelde) snelheid en versnelling (dit werkt alleen goed als objecten niet te lang buiten beeld vallen of elkaar aanraken). Bewegende objecten worden gedetecteerd met behulp van mean-shifting. Per frame wordt er iteratief gekeken naar het gemiddelde van de cluster van punten (bewegende pixels) om zo positie, snelheid en acceleratie vast te stellen.

Onderdelen van video tracking algoritme

Video tracking bestaat uit een aantal stappen, die in de introductie al kort beschreven zijn. In pseudo-code kan het als volgt beschreven worden:

Open video bestand of stream;

<math> while ( not (einde video) ) {

 1. Open 1 frame uit video
 2. Detecteer interessante objecten uit het frame via image processing
 3. Vergelijk met tracks uit vorig(e) frame(s)
 4. Maak nieuwe tracks aan voor nieuwe objecten 
 5. Output gevonden tracks

} <\math>

Frame laden

Video analyse wordt logischerwijs altijd per frame gedaan, daarom moet het algoritme in een while-loop uitgevoerd worden, waarin in elke iteratie één frame geanalyseerd wordt en vergeleken met resultaten van de vorige. Dit heeft als groot voordeel dat slechts één frame tegelijk in het geheugen hoeft te blijven.

Object detectie

Track bijhouden =

Nieuwe tracks

Output

Mesh tracking
Velocity prediction tracking

Video tracking in MATLAB

MATLAB heeft een standaard example dat als basis kan worden gebruikt voor video tracking.

typ >>multiObjectTracking in command window.

Typ >>edit multiObjectTracking voor de code.

Zie MathWorks site. [1]