comparison scripts/classify-objects.py @ 947:053484e08947

found a more elegant solution, making a copy of the list to iterate
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 21 Jul 2017 11:31:42 -0400
parents e5970606066f
children 64259b9885bf
comparison
equal deleted inserted replaced
946:e5970606066f 947:053484e08947
96 if ret: 96 if ret:
97 if frameNum%50 == 0: 97 if frameNum%50 == 0:
98 print('frame number: {}'.format(frameNum)) 98 print('frame number: {}'.format(frameNum))
99 #if undistort: 99 #if undistort:
100 # img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR) 100 # img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR)
101 for obj in objects: 101 for obj in objects[:]:
102 if obj.getFirstInstant() <= frameNum: # if images are skipped 102 if obj.getFirstInstant() <= frameNum: # if images are skipped
103 obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds, invHomography, intrinsicCameraMatrix, distortionCoefficients) 103 obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds, invHomography, intrinsicCameraMatrix, distortionCoefficients)
104 currentObjects.append(obj) 104 currentObjects.append(obj)
105 objects[:] = [obj for obj in objects if obj.getFirstInstant() > frameNum] 105 objects.remove(obj)
106 106
107 for obj in currentObjects: 107 for obj in currentObjects[:]:
108 if obj.getLastInstant() <= frameNum: # if images are skipped 108 if obj.getLastInstant() <= frameNum: # if images are skipped
109 obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown) 109 obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown)
110 pastObjects.append(obj) 110 pastObjects.append(obj)
111 currentObjects.remove(obj)
111 else: 112 else:
112 obj.classifyUserTypeHoGSVMAtInstant(img, frameNum, width, height, classifierParams.percentIncreaseCrop, classifierParams.percentIncreaseCrop, classifierParams.minNPixels, classifierParams.hogRescaleSize, classifierParams.hogNOrientations, classifierParams.hogNPixelsPerCell, classifierParams.hogNCellsPerBlock, classifierParams.hogBlockNorm) 113 obj.classifyUserTypeHoGSVMAtInstant(img, frameNum, width, height, classifierParams.percentIncreaseCrop, classifierParams.percentIncreaseCrop, classifierParams.minNPixels, classifierParams.hogRescaleSize, classifierParams.hogNOrientations, classifierParams.hogNPixelsPerCell, classifierParams.hogNCellsPerBlock, classifierParams.hogBlockNorm)
113 currentObjects[:] = [obj for obj in objects if obj.getLastInstant() > frameNum]
114 frameNum += 1 114 frameNum += 1
115 115
116 for obj in currentObjects: 116 for obj in currentObjects:
117 obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown) 117 obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown)
118 pastObjects.append(obj) 118 pastObjects.append(obj)