MCPcopy Create free account
hub / github.com/OpenDriveLab/OpenLane / summarize

Method summarize

eval/CIPO_evaluation/pycocotools/cocoeval.py:423–496  ·  view source on GitHub ↗

Compute and display summary metrics for evaluation results. Note this functin can *only* be applied on the default parameter setting

(self)

Source from the content-addressed store, hash-verified

421 print('DONE (t={:0.2f}s).'.format( toc-tic))
422
423 def summarize(self):
424 '''
425 Compute and display summary metrics for evaluation results.
426 Note this functin can *only* be applied on the default parameter setting
427 '''
428 def _summarize( ap=1, iouThr=None, areaRng='all', maxDets=100 ):
429 p = self.params
430 iStr = ' {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}'
431 titleStr = 'Average Precision' if ap == 1 else 'Average Recall'
432 typeStr = '(AP)' if ap==1 else '(AR)'
433 iouStr = '{:0.2f}:{:0.2f}'.format(p.iouThrs[0], p.iouThrs[-1]) \
434 if iouThr is None else '{:0.2f}'.format(iouThr)
435
436 aind = [i for i, aRng in enumerate(p.areaRngLbl) if aRng == areaRng]
437 mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets]
438 if ap == 1:
439 # dimension of precision: [TxRxKxAxM]
440 s = self.eval['precision']
441 # print(s)
442 # IoU
443 if iouThr is not None:
444 t = np.where(iouThr == p.iouThrs)[0]
445 s = s[t]
446 s = s[:,:,:,aind,mind]
447 else:
448 # dimension of recall: [TxKxAxM]
449 s = self.eval['recall']
450 if iouThr is not None:
451 t = np.where(iouThr == p.iouThrs)[0]
452 s = s[t]
453 s = s[:,:,aind,mind]
454 if len(s[s>-1])==0:
455 # print("HERE")
456 mean_s = -1
457 else:
458 mean_s = np.mean(s[s>-1])
459 print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s))
460 return mean_s
461 def _summarizeDets():
462 stats = np.zeros((12,))
463 stats[0] = _summarize(1)
464 stats[1] = _summarize(1, iouThr=.5, maxDets=self.params.maxDets[2])
465 stats[2] = _summarize(1, iouThr=.75, maxDets=self.params.maxDets[2])
466 stats[3] = _summarize(1, areaRng='small', maxDets=self.params.maxDets[2])
467 stats[4] = _summarize(1, areaRng='medium', maxDets=self.params.maxDets[2])
468 stats[5] = _summarize(1, areaRng='large', maxDets=self.params.maxDets[2])
469 stats[6] = _summarize(0, maxDets=self.params.maxDets[0])
470 stats[7] = _summarize(0, maxDets=self.params.maxDets[1])
471 stats[8] = _summarize(0, maxDets=self.params.maxDets[2])
472 stats[9] = _summarize(0, areaRng='small', maxDets=self.params.maxDets[2])
473 stats[10] = _summarize(0, areaRng='medium', maxDets=self.params.maxDets[2])
474 stats[11] = _summarize(0, areaRng='large', maxDets=self.params.maxDets[2])
475 return stats
476 def _summarizeKps():
477 stats = np.zeros((10,))
478 stats[0] = _summarize(1, maxDets=20)
479 stats[1] = _summarize(1, maxDets=20, iouThr=.5)
480 stats[2] = _summarize(1, maxDets=20, iouThr=.75)

Callers 3

CIPO_evalFunction · 0.95
CIPO_evalFunction · 0.95
__str__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected