Mercurial Hosting > traffic-intelligence
comparison scripts/process.py @ 1049:c9c03c97ed9f
bug fix to store numpy integers in SQLite
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 06 Jul 2018 15:58:45 -0400 |
parents | 27a822922cb0 |
children | 9d4a06f49cb8 |
comparison
equal
deleted
inserted
replaced
1048:27a822922cb0 | 1049:c9c03c97ed9f |
---|---|
166 for obj in objects[vs.idx]: | 166 for obj in objects[vs.idx]: |
167 object2VideoSequences[obj] = vs | 167 object2VideoSequences[obj] = vs |
168 lcss = utils.LCSS(metric = args.metric, epsilon = args.epsilon) | 168 lcss = utils.LCSS(metric = args.metric, epsilon = args.epsilon) |
169 similarityFunc = lambda x,y : lcss.computeNormalized(x, y) | 169 similarityFunc = lambda x,y : lcss.computeNormalized(x, y) |
170 trainingObjects = [o for tmpobjects in objects.values() for o in tmpobjects] | 170 trainingObjects = [o for tmpobjects in objects.values() for o in tmpobjects] |
171 if args.nMPObjects is not None: | 171 if args.nMPObjects is not None and args.nMPObjects < len(trainingObjects): |
172 m = int(np.floor(float(len(trainingObjects))/args.nMPObjects)) | 172 m = int(np.floor(float(len(trainingObjects))/args.nMPObjects)) |
173 trainingObjects = trainingObjects[::m] | 173 trainingObjects = trainingObjects[::m] |
174 similarities = -np.ones((len(trainingObjects), len(trainingObjects))) | 174 similarities = -np.ones((len(trainingObjects), len(trainingObjects))) |
175 prototypeIndices, labels = processing.learnAssignMotionPatterns(True, True, trainingObjects, similarities, args.minSimilarity, similarityFunc, args.minClusterSize, args.optimizeCentroid, args.randomInitialization, True, []) | 175 prototypeIndices, labels = processing.learnAssignMotionPatterns(True, True, trainingObjects, similarities, args.minSimilarity, similarityFunc, args.minClusterSize, args.optimizeCentroid, args.randomInitialization, True, []) |
176 if args.outputPrototypeDatabaseFilename is None: | 176 if args.outputPrototypeDatabaseFilename is None: |
177 outputPrototypeDatabaseFilename = args.databaseFilename | 177 outputPrototypeDatabaseFilename = args.databaseFilename |
178 else: | 178 else: |
179 outputPrototypeDatabaseFilename = args.outputPrototypeDatabaseFilename | 179 outputPrototypeDatabaseFilename = args.outputPrototypeDatabaseFilename |
180 # TODO maintain mapping from object prototype to db filename + compute nmatchings before | 180 # TODO maintain mapping from object prototype to db filename + compute nmatchings before |
181 clusterSizes = ml.computeClusterSizes(labels, prototypeIndices, -1) | 181 clusterSizes = ml.computeClusterSizes(labels, prototypeIndices, -1) |
182 #print([clusterSizes[i] for i in prototypeIndices]) | |
183 storage.savePrototypesToSqlite(str(parentPath/site.getPath()/outputPrototypeDatabaseFilename), [moving.Prototype(object2VideoSequences[trainingObjects[i]].getDatabaseFilename(False), trainingObjects[i].getNum(), prototypeType, clusterSizes[i]) for i in prototypeIndices]) | 182 storage.savePrototypesToSqlite(str(parentPath/site.getPath()/outputPrototypeDatabaseFilename), [moving.Prototype(object2VideoSequences[trainingObjects[i]].getDatabaseFilename(False), trainingObjects[i].getNum(), prototypeType, clusterSizes[i]) for i in prototypeIndices]) |
184 | 183 |
185 | 184 |
186 elif args.process == 'interaction': | 185 elif args.process == 'interaction': |
187 # safety analysis TODO make function in safety analysis script | 186 # safety analysis TODO make function in safety analysis script |