demo.py
Opts对象:包含所有的超参数
class opts(objects):
def __init__(self):
def parse(self,args=''):
return opt
def update_dataset_info_and_set_heads(self,opt,dataset):
return opt
def init(self,args=''):
return opt
class Detector(object):
def __init__(self,opt):
#判断是使用gpu还是cpu
#creat model
self.model = creat_model()
self.model = load_model(self.model,opt.load_model,opt)
self.opt = opt
def run(self,image_or_path_or_tensor,meta={})
return ret
def _transform_scale(self,image,scale=1):
return resized_image,c,s,inp_width,inp_height,height,width
def pre_process(self,image,scale,input_meta={}):
return images, meta
def _trans_bbox(self,bbox,trans,width,height):
return bbox
def _get_additional_inputs(self,dets,meta,with_hm=True):
return input_hm, output_inds
def _get_default_calib(self,width,height):
return calib
def _sigmoid_output(self,output):
return output
def _flip_output(self.output):
return output
def process(self.images,pre_images=None,pre_hms=None,pre_inds=None,return_time=False):
return output,dets
def post_process(self,dets,mets,scale=1):
return results
def merge_outputs(self,detections):
return images,mets
def debug(self,debugger,images,dets,output,scale=1,preimages=None,pre_hms=None):
pass
def show_results(self,debugger,image,results):
pass
def reset_tracking(self):
pass
运行demo函数,参数为opts对象:
def demo(opt)
detector = Detector(opt) # detector为Detector对象
def save_and_exit(opt,out=None,results=None,out_name=''):
sys.exit(0)
def _to_list(results):
return results
class Debugger(object):
def __init__(self,opt,dataset):
def add_imag(self,img,img_id='default',revert_color=False):
def add_mask(self, mask, bg, imgId = 'default', trans = 0.8):
def show_img(self, pause = False, imgId = 'default'):
def add_blend_img(self, back, fore, img_id='blend', trans=0.7):
def gen_colormap(self, img, output_res=None):
def gen_colormap_hp(self, img, output_res=None):
def _get_rand_color(self):
def add_coco_bbox(self, bbox, cat, conf=1, show_txt=True,
no_bbox=False, img_id='default'):
def add_tracking_id(self, ct, tracking_id, img_id='default'):
def add_coco_hp(self, points, tracking_id=0, img_id='default'):
def clear(self):
def show_all_imgs(self, pause=False, Time=0):
def save_img(self, imgId='default', path='./cache/debug/'):
def save_all_imgs(self, path='./cache/debug/', prefix='', genID=False):
def remove_side(self, img_id, img):
def project_3d_to_bird(self, pt):
def add_3d_detection(
self, image_or_path, flipped, dets, calib, show_txt=False,
vis_thresh=0.3, img_id='det'):
def compose_vis_ddd(self, img_path, flipped, dets, calib,
vis_thresh, pred, bev, img_id='out'):
def add_bird_view(self, dets, vis_thresh=0.3, img_id='bird', cnt=0):
def add_bird_views(self, dets_dt, dets_gt, vis_thresh=0.3, img_id='bird'):
def add_arrow(self, st, ed, img_id, c=(255, 0, 255), w=2):
class Tracker(objects):
def __init__(self,opt):
def init_track(self,results):
def reset(self):
def step(self,results,public_det=None):
def greedy_assignment(dist):