changeset 5:237799544386

catch 0 detection (when features are empty)
author mitian
date Thu, 09 Apr 2015 17:54:49 +0100
parents 56a2ca9359d0
children 719b4ff8e9c9
files SegEval.py annotation/qupujicheng_annotation_30/10hongniang01.csv annotation/qupujicheng_annotation_30/10hongniang02.csv annotation/qupujicheng_annotation_30/10hongniang04.csv annotation/qupujicheng_annotation_30/9tiannusanhua01.csv annotation/qupujicheng_annotation_30/9tiannusanhua02.csv
diffstat 6 files changed, 81 insertions(+), 157 deletions(-) [+]
line wrap: on
line diff
--- a/SegEval.py	Wed Apr 08 11:47:47 2015 +0100
+++ b/SegEval.py	Thu Apr 09 17:54:49 2015 +0100
@@ -139,19 +139,26 @@
 	def pairwiseF(self, annotation, detection, tolerance=3.0, combine=1.0, idx2time=None):
 		'''Pairwise F measure evaluation of detection rates.'''
 		
+		res = EvalObj()
+		res.TP, res.FP, res.FN = 0, 0, 0	
+		res.P, res.R, res.F = 0.0, 0.0, 0.0
+		res.AD, res.DA = 0.0, 0.0
+		
+		if len(detection) == 0:
+			return res
+
+		gt = len(annotation)	# Total number of ground truth data points
+		dt = len(detection) # Total number of experimental data points
+		foundIdx = []	
+		D_AD = np.zeros(gt)
+		D_DA = np.zeros(dt)
+		
 		if idx2time != None:
 			# Map detected idxs to real time
 			detection = [idx2time[int(np.rint(i))] for i in detection] + [annotation[-1]]
 		# print 'detection', detection
 		detection = np.append(detection, annotation[-1])
-		res = EvalObj()
-		res.TP = 0	# Total number of matched ground truth and experimental data points
-		gt = len(annotation)	# Total number of ground truth data points
-		dt = len(detection) # Total number of experimental data points
-		foundIdx = []	
-		D_AD = np.zeros(gt)
-		D_DA = np.zeros(dt)
-
+		
 		for dtIdx in xrange(dt):
 			D_DA[dtIdx] = np.min(abs(detection[dtIdx] - annotation))
 		for gtIdx in xrange(gt):
@@ -168,7 +175,6 @@
 		res.AD = np.mean(D_AD)		
 		res.DA = np.mean(D_DA)
 		
-		res.P, res.R, res.F = 0.0, 0.0, 0.0
 		
 		if res.TP == 0:
 			return res
@@ -293,12 +299,12 @@
 		for audio in audio_files:
 			ao = AudioObj()
 			ao.name = splitext(audio)[0]
-			# annotation_file = join(options.GT, ao.name+'.txt') # iso, salami
-			# ao.gt = np.genfromtxt(annotation_file, usecols=0)	
-			# ao.label = np.genfromtxt(annotation_file, usecols=1, dtype=str)
-			annotation_file = join(options.GT, ao.name+'.csv') # qupujicheng
-			ao.gt = np.genfromtxt(annotation_file, usecols=0, delimiter=',')	
-			ao.label = np.genfromtxt(annotation_file, usecols=1, delimiter=',', dtype=str)
+			annotation_file = join(options.GT, ao.name+'.txt') # iso, salami
+			ao.gt = np.genfromtxt(annotation_file, usecols=0)	
+			ao.label = np.genfromtxt(annotation_file, usecols=1, dtype=str)
+			# annotation_file = join(options.GT, ao.name+'.csv') # qupujicheng
+			# ao.gt = np.genfromtxt(annotation_file, usecols=0, delimiter=',')	
+			# ao.label = np.genfromtxt(annotation_file, usecols=1, delimiter=',', dtype=str)
 
 			gammatone_featureset, timbre_featureset, tempo_featureset, harmonic_featureset = [], [], [], []
 			for feature in gammatone_feature_list:
@@ -472,10 +478,10 @@
 			timbre_foote_05 = self.pairwiseF(ao.gt, timbre_foote_idxs, tolerance=0.5, combine=1.0, idx2time=ao.ssm_timestamps)
 			timbre_foote_3 = self.pairwiseF(ao.gt, timbre_foote_idxs, tolerance=3, combine=1.0, idx2time=ao.ssm_timestamps)
 			
-			self.writeIndividualRes(outfile1, ao.name, gt_novelty_05, gt_novelty_3, harmonic_novelty_05, harmonic_novelty_3, tempo_novelty_05, timbre_novelty_05, timbre_novelty_05, timbre_novelty_3)
-			self.writeIndividualRes(outfile2, ao.name, gt_cnmf_05, gt_cnmf_3, harmonic_cnmf_05, harmonic_cnmf_3, tempo_cnmf_05, timbre_cnmf_05, timbre_cnmf_05, timbre_cnmf_3)
-			self.writeIndividualRes(outfile3, ao.name, gt_sf_05, gt_sf_3, harmonic_sf_05, harmonic_sf_3, tempo_sf_05, timbre_sf_05, timbre_sf_05, timbre_sf_3)
-			self.writeIndividualRes(outfile4, ao.name, gt_foote_05, gt_foote_3, harmonic_foote_05, harmonic_foote_3, tempo_foote_05, timbre_foote_05, timbre_foote_05, timbre_foote_3)
+			self.writeIndividualRes(outfile1, ao.name, gt_novelty_05, gt_novelty_3, harmonic_novelty_05, harmonic_novelty_3, tempo_novelty_05, tempo_novelty_3, timbre_novelty_05, timbre_novelty_3)
+			self.writeIndividualRes(outfile2, ao.name, gt_cnmf_05, gt_cnmf_3, harmonic_cnmf_05, harmonic_cnmf_3, tempo_cnmf_05, tempo_cnmf_3, timbre_cnmf_05, timbre_cnmf_3)
+			self.writeIndividualRes(outfile3, ao.name, gt_sf_05, gt_sf_3, harmonic_sf_05, harmonic_sf_3, tempo_sf_05, tempo_sf_3, timbre_sf_05, timbre_sf_3)
+			self.writeIndividualRes(outfile4, ao.name, gt_foote_05, gt_foote_3, harmonic_foote_05, harmonic_foote_3, tempo_foote_05, tempo_foote_3, timbre_foote_05, timbre_foote_3)
 			
 			
 			############################################################################################################################################
--- a/annotation/qupujicheng_annotation_30/10hongniang01.csv	Wed Apr 08 11:47:47 2015 +0100
+++ b/annotation/qupujicheng_annotation_30/10hongniang01.csv	Thu Apr 09 17:54:49 2015 +0100
@@ -1,32 +1,34 @@
 0.000000000,sp
 10.332879818,p
 19.257142857,a
-30.673560090,New Point
-41.006439909,New Point
-43.676734693,New Point
-49.110204081,New Point
-54.137324263,New Point
+32.538775510,New Point
+50.710204081,New Point
 56.261224489,New Point
-58.465306122,New Point
-64.737233560,s
 65.763265306,New Point
 70.141678004,New Point
 73.119637188,a
-76.498140589,New Point
 87.098049886,sp
+93.697959183,New Point
 95.851972789,New Point
 100.850068027,New Point
+104.024489795,New Point
+107.836734693,New Point
 110.155464852,sp
 113.795192743,New Point
 116.622222222,New Point
+120.465306122,New Point
 124.418321995,New Point
+129.975510204,New Point
 135.976054421,New Point
 140.294965986,s
 151.864308390,New Point
 153.948299319,sp
+158.097959183,New Point
+171.363265306,New Point
+176.669387755,New Point
 179.844353741,New Point
 189.741859410,New Point
-196.301496598,p+sp
+198.693877551,New Point
 200.620408163,sp
 205.879727891,New Point
 214.250521541,New Point
@@ -39,6 +41,5 @@
 262.987755102,New Point
 267.279092970,New Point
 272.764807256,New Point
-277.716462585,New Point
 282.702947845,New Point
 287.091519274,end
--- a/annotation/qupujicheng_annotation_30/10hongniang02.csv	Wed Apr 08 11:47:47 2015 +0100
+++ b/annotation/qupujicheng_annotation_30/10hongniang02.csv	Thu Apr 09 17:54:49 2015 +0100
@@ -1,24 +1,16 @@
 0.000000000,s
-2.066575963,New Point
 11.540317460,a
-17.414965986,New Point
 19.493151927,New Point
-24.288072562,New Point
 25.356190476,New Point
 35.758730158,s
 38.995918367,New Point
 46.393469387,a
-49.763265306,New Point
-54.808163265,New Point
 56.783673469,New Point
 63.181496598,s
 68.220226757,a
 71.873469387,New Point
 74.889795918,New Point
 79.995918367,New Point
-82.257142857,New Point
-85.054693877,s
-87.492789115,New Point
 91.445986394,New Point
 94.923174603,a
 100.391473922,New Point
@@ -26,25 +18,18 @@
 110.161269841,New Point
 117.730975056,New Point
 123.495328798,New Point
-127.738775510,New Point
-133.474104308,New Point
+129.822766439,New Point
 135.116916099,New Point
 140.312380952,New Point
-141.316643990,s
 144.486167800,New Point
 155.480816326,a
-166.022675736,New Point
-170.138412698,New Point
-175.008798185,New Point
-180.390022675,New Point
-183.913650793,New Point
-189.498049886,New Point
+168.437551020,New Point
+175.473197278,New Point
+184.598639455,New Point
 191.750385487,New Point
-196.167981859,New Point
+197.110204081,New Point
 199.993469387,New Point
-203.772517006,New Point
 206.228027210,New Point
-211.098412698,New Point
 211.858866213,sp
 217.907664399,New Point
 223.108934240,New Point
@@ -59,7 +44,5 @@
 279.051609977,New Point
 284.154195011,New Point
 286.795464852,New Point
-293.128707482,New Point
-296.576870748,New Point
 299.920544217,New Point
 304.274285714,end
--- a/annotation/qupujicheng_annotation_30/10hongniang04.csv	Wed Apr 08 11:47:47 2015 +0100
+++ b/annotation/qupujicheng_annotation_30/10hongniang04.csv	Thu Apr 09 17:54:49 2015 +0100
@@ -1,21 +1,13 @@
 0.065306122,p
 3.784852607,New Point
-5.697959183,New Point
-7.559183673,New Point
 8.685714285,s
 13.126530612,New Point
-17.583673469,New Point
-25.077551020,New Point
 27.248979591,New Point
-33.844897959,New Point
-40.734693877,New Point
 44.179591836,a
 48.628571428,New Point
-52.077551020,New Point
-54.746938775,New Point
 58.530612244,p
 61.091700680,s
-65.014331065,a
+66.000000000,New Point
 71.569705215,New Point
 79.742857142,New Point
 84.963356009,sp
@@ -32,93 +24,76 @@
 159.232653061,New Point
 168.375510204,New Point
 174.285714285,New Point
+193.469387755,New Point
 202.895963718,New Point
 206.065487528,New Point
 211.417687074,New Point
 214.436281179,New Point
-222.180136054,New Point
+219.232653061,New Point
 224.653061224,New Point
+235.575510204,New Point
 241.230566893,a
 243.575510204,New Point
-246.294058956,New Point
 250.763900226,New Point
 255.983673469,New Point
 261.352199546,New Point
-264.492698412,New Point
 268.056961451,New Point
-270.547301587,New Point
-276.700589569,New Point
-279.962993197,New Point
+277.648979591,New Point
 287.120544217,New Point
-291.853061224,New Point
 293.110204081,New Point
 299.119455782,p+s
-301.510204081,New Point
 302.521179138,New Point
-313.887346938,New Point
-325.450884353,sp
+315.183673469,New Point
 327.424580498,New Point
 331.371972789,New Point
 340.776054421,New Point
-351.968072562,New Point
-425.865578231,New Point
-425.865578231,New Point
+345.616326530,New Point
+350.775510204,New Point
+369.387755102,New Point
+377.355102040,New Point
+392.865306122,New Point
+400.277551020,New Point
+404.310204081,New Point
+411.281632653,New Point
+416.244897959,New Point
+421.828571428,New Point
+425.993287981,New Point
 430.230929705,sp
+443.686893424,New Point
+461.844897959,New Point
+464.783673469,New Point
 482.510657596,New Point
 486.922448979,New Point
 494.445714285,New Point
 499.972063492,New Point
 502.712018140,s
-506.089795918,New Point
-509.631564625,New Point
-516.760090702,New Point
-522.054240362,New Point
-525.873922902,New Point
+509.608344671,New Point
+516.800000000,New Point
+522.042630385,New Point
 527.510929705,a
-533.281632653,New Point
 539.077551020,New Point
-545.771428571,New Point
 548.220408163,New Point
-554.938775510,New Point
+551.439092970,New Point
 563.629569160,New Point
 573.300680272,New Point
-577.712471655,a
-584.005079365,New Point
-586.814693877,New Point
-590.216417233,New Point
+579.895147392,New Point
 592.991201814,New Point
 600.793106575,New Point
+609.442539682,New Point
 613.645351473,New Point
-616.187936507,New Point
 627.612154195,New Point
-631.362176870,New Point
-636.017777777,New Point
 638.653242630,New Point
-640.661224489,New Point
-643.215963718,New Point
+643.332063492,New Point
 647.189795918,s
-652.228571428,New Point
-653.635918367,New Point
 656.242358276,a
-657.327891156,New Point
-661.338775510,New Point
 664.848979591,New Point
-671.363265306,New Point
 679.330612244,New Point
-682.253061224,New Point
 688.400000000,New Point
-692.488707482,New Point
-696.470929705,New Point
+695.066122448,New Point
 699.895873015,New Point
 703.901315192,New Point
-706.008163265,New Point
 711.934693877,New Point
-714.965623582,New Point
-718.669387755,New Point
 726.604081632,New Point
 733.089795918,New Point
-737.047800453,New Point
-742.736689342,New Point
-747.477551020,New Point
 754.602086167,New Point
 758.944217687,end
--- a/annotation/qupujicheng_annotation_30/9tiannusanhua01.csv	Wed Apr 08 11:47:47 2015 +0100
+++ b/annotation/qupujicheng_annotation_30/9tiannusanhua01.csv	Thu Apr 09 17:54:49 2015 +0100
@@ -1,76 +1,44 @@
 0.000000000,p
-2.554195011,New Point
 4.063492063,New Point
 10.634739229,s
 15.336780045,New Point
-19.887891156,New Point
-22.767165532,New Point
 28.563265306,New Point
-33.608163265,New Point
 36.114285714,a
-48.636734693,New Point
 50.653061224,New Point
-54.440816326,New Point
-56.840816326,New Point
-58.840816326,New Point
-61.204081632,New Point
 62.693877551,s
 64.179591836,New Point
 67.941587301,a
-73.455555555,a
 75.789931972,New Point
-81.246621315,New Point
-86.540770975,New Point
 89.350385487,New Point
-95.779591836,New Point
-103.046938775,p
 104.698775510,New Point
-107.369070294,New Point
-108.936417233,New Point
-110.863673469,New Point
 126.595192743,New Point
 131.506213151,New Point
 135.836734693,s
 157.338412698,New Point
 165.372517006,a
-170.945306122,New Point
 176.471655328,New Point
-181.998004535,New Point
-187.292154195,New Point
-193.747301587,New Point
-202.640544217,New Point
+194.400000000,New Point
 205.740408163,New Point
-211.167346938,s
-216.386757369,New Point
+211.412244897,New Point
 221.518367346,a
-229.633741496,New Point
 231.688707482,New Point
-239.420952380,New Point
 242.288616780,New Point
-249.951201814,New Point
-254.537142857,New Point
+260.179591836,New Point
 268.963265306,s
 272.370068027,New Point
 279.405714285,New Point
-296.193741496,New Point
-308.941496598,New Point
-311.869387755,a
-317.300680272,New Point
+312.767346938,New Point
 322.803809523,New Point
 330.628571428,s
 335.804081632,a
-344.618956916,New Point
 346.255963718,New Point
-348.531519274,New Point
 360.555102040,s
-370.636916099,New Point
+387.330612244,New Point
 399.011700680,New Point
 409.779591836,a
-414.011791383,New Point
 419.445260770,New Point
-433.446893424,New Point
 435.493877551,a
-449.844897959,s+p
+451.837097505,New Point
 455.428571428,New Point
 463.738775510,New Point
 469.861224489,end
--- a/annotation/qupujicheng_annotation_30/9tiannusanhua02.csv	Wed Apr 08 11:47:47 2015 +0100
+++ b/annotation/qupujicheng_annotation_30/9tiannusanhua02.csv	Thu Apr 09 17:54:49 2015 +0100
@@ -1,42 +1,33 @@
 0.000000000,p
-2.774784580,New Point
+4.527891156,New Point
 25.567346938,s
-29.930521541,New Point
+29.907301587,New Point
 35.131791383,a
 41.888798185,New Point
 47.925986394,New Point
 53.847074829,New Point
 60.093242630,New Point
 65.921451247,New Point
+71.853061224,New Point
 77.767346938,s+p
 80.201723356,New Point
 82.012879818,a
-90.720362811,New Point
 93.112018140,New Point
-99.427845804,New Point
-104.097959183,New Point
 110.971428571,New Point
-117.353650793,p
-120.016326530,New Point
+118.987755102,New Point
 127.689795918,New Point
-138.742857142,New Point
+140.522448979,New Point
 145.108934240,s
 154.737777777,a
-160.293877551,New Point
-165.175510204,New Point
 168.066031746,a
-171.624489795,New Point
-174.481632653,New Point
 179.469387755,s
 183.934693877,a
 192.522448979,New Point
-195.200000000,a
+195.314285714,New Point
 202.873469387,New Point
 206.171428571,New Point
-212.073469387,a
 213.959183673,New Point
 216.636734693,New Point
 227.265306122,p
-233.289795918,New Point
 241.240816326,New Point
 248.293877551,end