Skip to content

Commit

Permalink
fixed disp bug, adding missing files
Browse files Browse the repository at this point in the history
  • Loading branch information
josephs-cvar committed Aug 15, 2019
1 parent 5393944 commit a045815
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 20 deletions.
25 changes: 5 additions & 20 deletions fpn/few_shot_benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -429,21 +429,6 @@ def parse_args():
nms_ovp_rois = gpu_nms_wrapper(args.nms_train, args.gpu)
nms_dets = gpu_nms_wrapper(config.TEST.NMS, args.gpu)

def get_disp_data(im_name, scores, boxes, nms_dets, score_thresh):
dets_nms = []
for j in range(1, scores.shape[1]):
cls_scores = scores[:, j, np.newaxis]
cls_boxes = boxes[:, 4:8] if config.CLASS_AGNOSTIC else boxes[:, j * 4:(j + 1) * 4]
cls_dets = np.hstack((cls_boxes, cls_scores))
keep = nms_dets(cls_dets)
cls_dets = cls_dets[keep, :]
cls_dets = cls_dets[cls_dets[:, -1] > score_thresh, :]
dets_nms.append(cls_dets)

# load image
im = cv2.imread(im_name)
im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
return im, dets_nms

def run_detection (sym, arg_params, aux_params, img_fname, img_cat, cat_indices,epi_cats_names, exp_root, nImg,epi_num, score_thresh=args.score_thresh, scores_field=args.scores_field):
data, data_batch, scale_factor,im = prep_data_single(img_fname)
Expand Down Expand Up @@ -476,12 +461,12 @@ def run_detection (sym, arg_params, aux_params, img_fname, img_cat, cat_indic
# print(det.shape)

if args.display==1:
#save_fname = '/dccstor/jsdata1/dev/Deformable-ConvNets/data/test_img.png'
save_fname = os.path.join(exp_root, 'epi_{0}_query_img:{1}_cat:{2}.png'.format(epi_num, nImg,img_cat))

im, dets_disp = get_disp_data(img_fname, scores, boxes, nms_dets, args.disp_score_thresh)
# im = cv2.imread(img_fname)
# im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
im = cv2.imread(img_fname)
im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
dets_disp = [[] for _ in dets_nms]
for cls_idx, class_dets in enumerate(dets_nms):
dets_disp[cls_idx] = class_dets[np.where(class_dets[:,4]>args.disp_score_thresh)]
show_boxes(im, dets_disp, epi_cats_names, save_file_path=save_fname)

return dets_nms
Expand Down
Empty file added lib/segmentation/__init__.py
Empty file.
51 changes: 51 additions & 0 deletions lib/segmentation/segmentation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
"""
Segmentation:
data =
{'data': [num_images, c, h, w],
'im_info': [num_images, 4] (optional)}
label =
{'label': [batch_size, 1] <- [batch_size, c, h, w]}
"""

import numpy as np
from utils.image import get_segmentation_image, tensor_vstack

def get_segmentation_test_batch(segdb, config):
"""
return a dict of train batch
:param segdb: ['image', 'flipped']
:param config: the config setting
:return: data, label, im_info
"""
imgs, seg_cls_gts, segdb = get_segmentation_image(segdb, config)
im_array = imgs
im_info = [np.array([segdb[i]['im_info']], dtype=np.float32) for i in xrange(len(segdb))]

data = [{'data': im_array[i],
'im_info': im_info[i]} for i in xrange(len(segdb))]
label = [{'label':seg_cls_gts[i]} for i in xrange(len(segdb))]

return data, label, im_info

def get_segmentation_train_batch(segdb, config):
"""
return a dict of train batch
:param segdb: ['image', 'flipped']
:param config: the config setting
:return: data, label, im_info
"""
# assert len(segdb) == 1, 'Single batch only'
assert len(segdb) == 1, 'Single batch only'

imgs, seg_cls_gts, segdb = get_segmentation_image(segdb, config)
im_array = imgs[0]
seg_cls_gt = seg_cls_gts[0]

im_info = np.array([segdb[0]['im_info']], dtype=np.float32)

data = {'data': im_array,
'im_info': im_info}
label = {'label': seg_cls_gt}

return data, label

4 changes: 4 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Cython
EasyDict
opencv-python
mxnet-cu80==1.0.0

0 comments on commit a045815

Please sign in to comment.