本文整理汇总了Python中nms.nms.py_nms_wrapper方法的典型用法代码示例。如果您正苦于以下问题:Python nms.py_nms_wrapper方法的具体用法?Python nms.py_nms_wrapper怎么用?Python nms.py_nms_wrapper使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nms.nms
的用法示例。
在下文中一共展示了nms.py_nms_wrapper方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: write_vid_results_multiprocess
# 需要导入模块: from nms import nms [as 别名]
# 或者: from nms.nms import py_nms_wrapper [as 别名]
def write_vid_results_multiprocess(self, detection, gpu_id):
"""
write results files in pascal devkit path
:param all_boxes: boxes to be processed [bbox, confidence]
:return: None
"""
print 'Writing {} ImageNetVID results file'.format('all')
filename = self.get_result_file_template(gpu_id).format('all')
frame_seg_len = self.frame_seg_len
nms = py_nms_wrapper(0.3)
data_time = 0
all_boxes = detection[0]
frame_ids = detection[1]
start_idx = 0
sum_frame_ids = np.cumsum(frame_seg_len)
first_true_id = frame_ids[0]
start_video = np.searchsorted(sum_frame_ids, first_true_id)
for im_ind in range(1, len(frame_ids)):
t = time.time()
true_id = frame_ids[im_ind]
video_index = np.searchsorted(sum_frame_ids, true_id)
if (video_index != start_video): # reprensents a new video
t1 = time.time()
video = [all_boxes[j][start_idx:im_ind] for j in range(1, self.num_classes)]
dets_all = seq_nms(video)
for j in xrange(1, self.num_classes):
for frame_ind, dets in enumerate(dets_all[j - 1]):
keep = nms(dets)
all_boxes[j][frame_ind + start_idx] = dets[keep, :]
start_idx = im_ind
start_video = video_index
t2 = time.time()
print 'video_index=', video_index, ' time=', t2 - t1
data_time += time.time() - t
if (im_ind % 100 == 0):
print '{} seq_nms testing {} data {:.4f}s'.format(frame_ids[im_ind - 1], im_ind, data_time / im_ind)
# the last video
video = [all_boxes[j][start_idx:im_ind] for j in range(1, self.num_classes)]
dets_all = seq_nms(video)
for j in xrange(1, self.num_classes):
for frame_ind, dets in enumerate(dets_all[j - 1]):
keep = nms(dets)
all_boxes[j][frame_ind + start_idx] = dets[keep, :]
with open(filename, 'wt') as f:
for im_ind in range(len(frame_ids)):
for cls_ind, cls in enumerate(self.classes):
if cls == '__background__':
continue
dets = all_boxes[cls_ind][im_ind]
if len(dets) == 0:
continue
# the imagenet expects 0-based indices
for k in range(dets.shape[0]):
f.write('{:d} {:d} {:.4f} {:.2f} {:.2f} {:.2f} {:.2f}\n'.
format(frame_ids[im_ind], cls_ind, dets[k, -1],
dets[k, 0], dets[k, 1], dets[k, 2], dets[k, 3]))
return