# HG changeset patch # User Nicolas Saunier # Date 1498081449 14400 # Node ID 1466a63dd1cf4fae91d8321e2a988879d456dedf # Parent 1fc901d983ed800825307cb44cf34738e586bc5e added a new classification parameter diff -r 1fc901d983ed -r 1466a63dd1cf classifier.cfg --- a/classifier.cfg Wed Jun 21 17:21:03 2017 -0400 +++ b/classifier.cfg Wed Jun 21 17:44:09 2017 -0400 @@ -24,6 +24,8 @@ speed-aggregation-quantile = 50 # speed value below which all classes are equiprobable (distributions give odd values there) (km/h) min-speed-equiprobable = 3.33 +# maximum proportion of the instants with unknow appearance classification to use speed information +max-prop-unknown-appearance = 0.66 # maximum pedestrian speed (agregate: mean, median, 85th centile, etc.) 10 km/h max-ped-speed = 10.0 # maximum cyclist speed (agregate: mean, median, 85th centile, etc.) 30 km/h (3xped) diff -r 1fc901d983ed -r 1466a63dd1cf python/storage.py --- a/python/storage.py Wed Jun 21 17:21:03 2017 -0400 +++ b/python/storage.py Wed Jun 21 17:44:09 2017 -0400 @@ -1274,6 +1274,7 @@ self.nFramesIgnoreAtEnds = config.getint(self.sectionHeader, 'nframes-ignore-at-ends') self.speedAggregationQuantile = config.getint(self.sectionHeader, 'speed-aggregation-quantile') self.minSpeedEquiprobable = config.getfloat(self.sectionHeader, 'min-speed-equiprobable') + self.maxPercentUnknown = config.getfloat(self.sectionHeader, 'max-prop-unknown-appearance') self.maxPedestrianSpeed = config.getfloat(self.sectionHeader, 'max-ped-speed') self.maxCyclistSpeed = config.getfloat(self.sectionHeader, 'max-cyc-speed') self.meanPedestrianSpeed = config.getfloat(self.sectionHeader, 'mean-ped-speed') diff -r 1fc901d983ed -r 1466a63dd1cf scripts/classify-objects.py --- a/scripts/classify-objects.py Wed Jun 21 17:21:03 2017 -0400 +++ b/scripts/classify-objects.py Wed Jun 21 17:44:09 2017 -0400 @@ -114,7 +114,7 @@ obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds) currentObjects.append(obj) elif inter.last == frameNum: - obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = 0.5) # todo add maxPercentUnknown in cfg + obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown) pastObjects.append(obj) else: obj.classifyUserTypeHoGSVMAtInstant(img, frameNum, invHomography, width, height, classifierParams.percentIncreaseCrop, classifierParams.percentIncreaseCrop, classifierParams.minNPixels, classifierParams.hogRescaleSize, classifierParams.hogNOrientations, classifierParams.hogNPixelsPerCell, classifierParams.hogNCellsPerBlock, classifierParams.hogBlockNorm) @@ -125,7 +125,7 @@ frameNum += 1 for obj in objects: - obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities) + obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown) pastObjects.append(obj) print('Saving user types') storage.setRoadUserTypes(databaseFilename, pastObjects)