-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.py
89 lines (81 loc) · 5.08 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from easydict import EasyDict as edict
# use as from config import cfg
__C = edict()
cfg = __C
__C.GLOBAL = edict()
__C.FRCNN = edict()
__C.SSDLITE = edict()
__C.SSD = edict()
__C.YOLO_TINY = edict()
__C.YOLO = edict()
# global settings
__C.GLOBAL.OS = 'mac'
__C.GLOBAL.MODELS = {'frcnn': __C.FRCNN, 'ssdlite': __C.SSDLITE, 'ssd': __C.SSD, 'yolo_tiny': __C.YOLO_TINY, 'yolo': __C.YOLO}
__C.GLOBAL.FRAMEWORK = 'tensorflow'
__C.GLOBAL.DEVICE = 'cpu'
__C.GLOBAL.VIDEO_PATH = './video/shibuya_crosswalk.mp4'
__C.GLOBAL.USE_WEBCAM = False
__C.GLOBAL.DRAW_GT = False
__C.GLOBAL.IOU_THRESHOLD = 0.5
__C.GLOBAL.SCORE_THRESHOLD = 0
__C.GLOBAL.ENABLE_SYNC = True
__C.GLOBAL.ENABLE_PERF_LOG = True
__C.GLOBAL.ENABLE_DETECT_LOG = False
# Faster R-CNN
__C.FRCNN.MODEL_NAME = 'frcnn'
__C.FRCNN.MODEL_PATH = './models/rcnn/faster_rcnn_inception_v2.pb'
__C.FRCNN.LABEL_PATH = './models/rcnn/coco_labels.txt' # not used in this test version
__C.FRCNN.INPUT_SIZE = 300 # not used
__C.FRCNN.NUM_LABELS = 91 # not used
__C.FRCNN.MAX_DETECTION = 100
__C.FRCNN.INPUT_DIM = {'image_tensor': '3:-1:-1:1'}
__C.FRCNN.INPUT_TYPE = {'image_tensor': 'uint8'}
__C.FRCNN.OUTPUT_DIM = {'num_detections': '1', 'detection_classes': f'''{__C.FRCNN.MAX_DETECTION}:1''', 'detection_scores': f'''{__C.FRCNN.MAX_DETECTION}:1''', 'detection_boxes': f'''4:{__C.FRCNN.MAX_DETECTION}:1'''}
__C.FRCNN.OUTPUT_TYPE = {'num_detections': 'float32', 'detection_classes': 'float32', 'detection_scores': 'float32', 'detection_boxes': 'float32'}
__C.FRCNN.TENSOR_TRANSFORM = ''
# SSDLite
__C.SSDLITE.MODEL_NAME = 'ssdlite'
__C.SSDLITE.MODEL_PATH = './models/ssdlite_v2/ssdlite_mobilenet_v2.pb'
__C.SSDLITE.LABEL_PATH = './models/ssdlite_v2/coco_labels_list.txt'
__C.SSDLITE.INPUT_SIZE = 300 # not used
__C.SSDLITE.NUM_LABELS = 91 # not used
__C.SSDLITE.MAX_DETECTION = 100
__C.SSDLITE.INPUT_DIM = {'image_tensor': '3:-1:-1:1'}
__C.SSDLITE.INPUT_TYPE = {'image_tensor': 'uint8'}
__C.SSDLITE.OUTPUT_DIM = {'num_detections': '1', 'detection_classes': f'''{__C.SSDLITE.MAX_DETECTION}:1''', 'detection_scores': f'''{__C.SSDLITE.MAX_DETECTION}:1''', 'detection_boxes': f'''4:{__C.SSDLITE.MAX_DETECTION}:1'''}
__C.SSDLITE.OUTPUT_TYPE = {'num_detections': 'float32', 'detection_classes': 'float32', 'detection_scores': 'float32', 'detection_boxes': 'float32'}
__C.SSDLITE.TENSOR_TRANSFORM = ''
# SSD
__C.SSD.MODEL_NAME = 'ssd'
__C.SSD.MODEL_PATH = './models/ssd_inception_v2/ssd_inception_v2.pb'
__C.SSD.LABEL_PATH = './models/ssd_inception_v2/coco_labels.txt' # not used in this test version
__C.SSD.INPUT_SIZE = 300 # not used
__C.SSD.NUM_LABELS = 91 # not used
__C.SSD.MAX_DETECTION = 100
__C.SSD.INPUT_DIM = {'image_tensor': '3:-1:-1:1'}
__C.SSD.INPUT_TYPE = {'image_tensor': 'uint8'}
__C.SSD.OUTPUT_DIM = {'num_detections': '1', 'detection_classes': f'''{__C.SSDLITE.MAX_DETECTION}:1''', 'detection_scores': f'''{__C.SSDLITE.MAX_DETECTION}:1''', 'detection_boxes': f'''4:{__C.SSDLITE.MAX_DETECTION}:1'''}
__C.SSD.OUTPUT_TYPE = {'num_detections': 'float32', 'detection_classes': 'float32', 'detection_scores': 'float32', 'detection_boxes': 'float32'}
__C.SSD.TENSOR_TRANSFORM = ''
# YOLO-Tiny
__C.YOLO_TINY.MODEL_NAME = 'yolo_tiny'
__C.YOLO_TINY.MODEL_PATH = './models/yolo_v3/yolov3_tiny.pb'
__C.YOLO_TINY.LABEL_PATH = './models/yolo_v3/coco.names'
__C.YOLO_TINY.INPUT_SIZE = 416
__C.YOLO_TINY.NUM_LABELS = 80
__C.YOLO_TINY.INPUT_DIM = {'inputs': f'''3:{__C.YOLO_TINY.INPUT_SIZE}:{__C.YOLO_TINY.INPUT_SIZE}:1'''}
__C.YOLO_TINY.INPUT_TYPE = {'inputs': 'float32'}
__C.YOLO_TINY.OUTPUT_DIM = {'output_boxes': '85:2535:1'}
__C.YOLO_TINY.OUTPUT_TYPE = {'output_boxes': 'float32'}
__C.YOLO_TINY.TENSOR_TRANSFORM = 'mode=typecast option=float32'
# YOLO
__C.YOLO.MODEL_NAME = 'yolo'
__C.YOLO.MODEL_PATH = './models/yolo_v3/yolov3.pb'
__C.YOLO.LABEL_PATH = './models/yolo_v3/coco.names'
__C.YOLO.INPUT_SIZE = 416
__C.YOLO.NUM_LABELS = 80
__C.YOLO.INPUT_DIM = {'input/input_data': f'''3:{__C.YOLO.INPUT_SIZE}:{__C.YOLO.INPUT_SIZE}:1'''}
__C.YOLO.INPUT_TYPE = {'input/input_data': 'float32'}
__C.YOLO.OUTPUT_DIM = {'pred_lbbox/concat_2': '85:3:13:13:1', 'pred_mbbox/concat_2': '85:3:26:26:1', 'pred_sbbox/concat_2': '85:3:52:52:1'}
__C.YOLO.OUTPUT_TYPE = {'pred_lbbox/concat_2': 'float32', 'pred_mbbox/concat_2': 'float32', 'pred_sbbox/concat_2': 'float32'}
__C.YOLO.TENSOR_TRANSFORM = 'mode=arithmetic option=typecast:float32,div:255.0'