Videotracking: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 5: Line 5:
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.


=== Onderdelen van video tracking algoritme ===
== 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: <br>  
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>  
Line 22: Line 22:
</code>
</code>


==== Frame laden ====
=== 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.
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 ====
=== Object detectie ===


==== Track bijhouden =====
=== Track bijhouden ===


==== Nieuwe tracks ====
=== Nieuwe tracks ===


==== Output ====
=== Output ===


===== Mesh tracking =====
==== Mesh tracking ====


===== Velocity prediction 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.

Revision as of 13:43, 21 November 2015

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;

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

}

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]