Dit is de manier waarop ik het zie (ik heb een beetje met optische stroom gewerkt):
U wilt de individuele partiële afgeleiden van het optische stroomveld berekenen; één voor de richting x
en één voor de y
.
Ik zou het probleem als volgt proberen op te lossen:
- Splits je flow array/matrix in twee matrices:
x
en y
flow.
- Voor elk daarvan kunt u de naïeve route kiezen en gewoon een eenvoudig verschil maken:
derivative = current_state - last_state
. Maar deze aanpak is erg rommelig, omdat de afgeleide gevoelig is voor de kleinste fout.
- Om dat tegen te gaan, zou u één brok van uw datapunten (misschien een hele rij?) kunnen benaderen met een regressiecurve die gemakkelijk differentieerbaar is, zoals een polynoom.
Het verschil dat bij benadering curve en je bent goed om te gaan.
U kunt ook afzonderlijke matrices eenvoudigweg gladstrijken en een naïef verschil maken, dat veel sneller moet zijn dan datapunten, maar toleranter moet zijn voor fouten.