Mercurial Hosting > traffic-intelligence
diff scripts/learn-motion-patterns.py @ 910:b58a1061a717
loading is faster for longest object features
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 28 Jun 2017 15:36:25 -0400 |
parents | b297525b2cbf |
children | 89cc05867c4c |
line wrap: on
line diff
--- a/scripts/learn-motion-patterns.py Mon Jun 26 17:45:32 2017 -0400 +++ b/scripts/learn-motion-patterns.py Wed Jun 28 15:36:25 2017 -0400 @@ -45,14 +45,14 @@ trajectoryType = 'object' prototypeType = 'feature' -#features = storage.loadTrajectoriesFromSqlite(databaseFilename, args.trajectoryType) -objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, trajectoryType, withFeatures = (args.trajectoryType == 'objectfeatures'), objectNumbers = args.nTrajectories, timeStep = args.positionSubsamplingRate) - if args.trajectoryType == 'objectfeatures': - features = [] - for o in objects: - features += o.getNLongestFeatures(args.maxNObjectFeatures) - objects = features + objectFeatureNumbers = storage.loadObjectFeatureFrameNumbers(args.databaseFilename, objectNumbers = args.nTrajectories) + featureNumbers = [] + for numbers in objectFeatureNumbers.values(): + featureNumbers += numbers[:min(len(numbers), args.maxNObjectFeatures)] + objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, 'feature', objectNumbers = featureNumbers, timeStep = args.positionSubsamplingRate) +else: + objects = storage.loadTrajectoriesFromSqlite(args.databaseFilename, trajectoryType, withFeatures = (args.trajectoryType == 'objectfeatures'), objectNumbers = args.nTrajectories, timeStep = args.positionSubsamplingRate) trajectories = [o.getPositions().asArray().T for o in objects]