Mercurial Hosting > traffic-intelligence
changeset 757:61248f2cd459 dev
removed old code for TTC computation from Sohail Zangenehpour
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 03 Nov 2015 13:48:28 -0500 |
parents | a73f43aac00e |
children | 0a05883216cf a05b70f307dd |
files | samples/TTC/Video.png samples/TTC/bikeDes.png samples/TTC/bikeOri.png samples/TTC/carDes.png samples/TTC/carOri.png samples/TTC/computeTTC.py samples/TTC/ttcCompare.py |
diffstat | 7 files changed, 0 insertions(+), 112 deletions(-) [+] |
line wrap: on
line diff
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/Video.png Binary file samples/TTC/Video.png has changed
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/bikeDes.png Binary file samples/TTC/bikeDes.png has changed
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/bikeOri.png Binary file samples/TTC/bikeOri.png has changed
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/carDes.png Binary file samples/TTC/carDes.png has changed
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/carOri.png Binary file samples/TTC/carOri.png has changed
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/computeTTC.py --- a/samples/TTC/computeTTC.py Fri Oct 30 17:57:09 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -def computeTTC(databaseFilename,homography,framePerSecond,videoX,videoY,collisionDistanceThreshold,bikAreaOri,bikAreaDes,carAreaOri,carAreaDes): - - import numpy as np - import sys - sys.path.append('/home/sohail/trafficintelligence/python/') - import moving, cvutils, storage - import timeToCollision - - print 'Loading database...' - objects = storage.loadTrajectoriesFromSqlite(databaseFilename, 'object') - - bikCount=0 - carCount=0 - bik=[] - car=[] - bikSpeed=[] - carSpeed=[] - - for obj in objects: - inCarAreaOri = False - inBikAreaOri = False - for time in obj.getTimeInterval(): - x=int(obj.getPositionAtInstant(time).project(homography).x) - y=int(obj.getPositionAtInstant(time).project(homography).y) - x=min(videoX-1,x) - y=min(videoY-1,y) - if bikAreaOri[y,x] == 1 and obj.userType == moving.userType2Num['bicycle']: - inBikAreaOri = True - if bikAreaDes[y,x] == 1 and inBikAreaOri == True: - bikCount += 1 - bik.append(obj) - bikSpeed.append(framePerSecond*3.6*np.median(obj.getSpeeds())) - break - if carAreaOri[y,x] == 1 and obj.userType == moving.userType2Num['car']: - inCarAreaOri = True - if carAreaDes[y,x] == 1 and inCarAreaOri == True: - carCount += 1 - car.append(obj) - carSpeed.append(framePerSecond*3.6*np.median(obj.getSpeeds())) - break - - print 'Computing TTC...' - TTC=[] - potCollision=0 - for obj1 in bik: - for obj2 in car: - ti1=obj1.getTimeInterval() - ti2=obj2.getTimeInterval() - if ti1.first < ti2.last and ti2.first < ti1.last: - potCollision += 1 - ttc=[] - for frameNum in range(max(ti1.first,ti2.first),min(ti1.last,ti2.last)): - ttcp=timeToCollision.timeToCollision(obj1,obj2,collisionDistanceThreshold,frameNum,framePerSecond) - if ttcp < 100: - ttc.append(ttcp) - if ttc != []: - ttc.sort() - TTC.append(ttc[int(.15*len(ttc))]) - - return bikCount,carCount,bikSpeed,carSpeed,TTC,potCollision -
diff -r a73f43aac00e -r 61248f2cd459 samples/TTC/ttcCompare.py --- a/samples/TTC/ttcCompare.py Fri Oct 30 17:57:09 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -import matplotlib.image as mpimg -from numpy.linalg.linalg import inv -from numpy import loadtxt -import computeTTC -import numpy as np -import glob - -#databaseName = ['11.sqlite'] -databaseName = glob.glob("*.sqlite") - -bikOri = mpimg.imread('bikeOri.png') -bikAreaOri = bikOri[:,:,0] -bikDes = mpimg.imread('bikeDes.png') -bikAreaDes = bikDes[:,:,0] -carOri = mpimg.imread('carOri.png') -carAreaOri = carOri[:,:,0] -carDes = mpimg.imread('carDes.png') -carAreaDes = carDes[:,:,0] - -videoY = bikOri.shape[0] -videoX = bikOri.shape[1] - -homography=inv(loadtxt('homography.txt')) -framePerSecond=15 -collisionDistanceThreshold=10 - -bikCount=0 -carCount=0 -bikSpeed=[] -carSpeed=[] -ttcDist=[] -potentioalCollision=0 - -for d in databaseName: - print d - bc,cc,bs,cs,ttcdist,potCollision = computeTTC.computeTTC(d,homography,framePerSecond,videoX,videoY,collisionDistanceThreshold,bikAreaOri,bikAreaDes,carAreaOri,carAreaDes) - bikCount += bc - carCount += cc - bikSpeed.extend(bs) - carSpeed.extend(cs) - ttcDist.extend(ttcdist) - potentioalCollision += potCollision - -print 'bikCount :', bikCount -print 'carCount :', carCount -print 'Number of Potential Collisions :', potentioalCollision -np.savetxt('ttc.txt',ttcDist,fmt='%1.2f') -np.savetxt('freq.txt',[bikCount,carCount,potentioalCollision],fmt='%i') -np.savetxt('bikSpeed.txt',bikSpeed,fmt='%1.2f') -np.savetxt('carSpeed.txt',carSpeed,fmt='%1.2f') -