Mercurial Hosting > traffic-intelligence
changeset 501:c81cbd6953fb
update to classify speed to remove data at both ends
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 20 May 2014 15:18:55 -0400 |
parents | 3b99d712bbee |
children | 33574b94f09e |
files | python/cvutils.py python/ml.py python/moving.py |
diffstat | 3 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/python/cvutils.py Fri May 09 14:09:14 2014 -0400 +++ b/python/cvutils.py Tue May 20 15:18:55 2014 -0400 @@ -5,7 +5,7 @@ import cv2 opencvAvailable = True except ImportError: - print('OpenCV library could not be loaded (video replay functions will not be available)') + print('OpenCV library could not be loaded (video replay functions will not be available)') # TODO change to logging module opencvAvailable = False try: import skimage
--- a/python/ml.py Fri May 09 14:09:14 2014 -0400 +++ b/python/ml.py Tue May 20 15:18:55 2014 -0400 @@ -24,8 +24,8 @@ def train(self, samples, responses): self.model.train(samples, responses, params = self.params) - def predict(self, sample): - return np.float32(self.model.predict(s)) + def predict(self, samples): + return np.float32([self.model.predict(s) for s in samples]) class Centroid:
--- a/python/moving.py Fri May 09 14:09:14 2014 -0400 +++ b/python/moving.py Tue May 20 15:18:55 2014 -0400 @@ -805,11 +805,15 @@ at constant speed''' return predictPositionNoLimit(nTimeSteps, self.getPositionAtInstant(instant), self.getVelocityAtInstant(instant), externalAcceleration) - def classifyUserTypeSpeed(self, threshold, statisticsFunc = median): + def classifyUserTypeSpeed(self, threshold, statisticsFunc = median, ignoreNInstantsAtEnds = 0): '''Classifies slow and fast road users slow: non-motorized -> pedestrians fast: motorized -> cars''' - if statisticsFunc(self.velocities.norm()) >= threshold: + if ignoreNInstantsAtEnds > 0: + speeds = self.velocities.norm()[ignoreNInstantsAtEnds:-ignoreNInstantsAtEnds] + else: + speeds = self.velocities.norm() + if statisticsFunc(speeds) >= threshold: self.setUserType(userType2Num['car']) else: self.setUserType(userType2Num['pedestrian'])