def init(): # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument( '--image', default=False, action="store_true", help='Image detection mode, will ignore all positional arguments') ''' Command line positional arguments -- for video detection mode ''' parser.add_argument("--input", nargs='?', type=str, required=False, default='./path2your_video', help="Video input path") parser.add_argument("--output", nargs='?', type=str, default="", help="[Optional] Video output path") return parser
def start(path, file_extension, code): YOLO.get_defaults("model_data/model1-tiny_last_weights.h5") YOLO.get_defaults("tiny_yolo_anchors.txt") YOLO.get_defaults("coco_classes.txt") YOLO.get_defaults("gpu_num") if file_extension == ".jpg" or file_extension == ".png" or file_extension == ".jpeg" or file_extension == ".JPG" or file_extension == ".JPEG": """ Image detection mode, disregard any remaining command line arguments """ print("Image detection mode") print('img\nimg\nimg\nimg\nimg\nimg\nimg\nimg\nimg\n') path_img, predicted_class, score_list, gesture, gesture_score = detect_img( YOLO(), path, code) return path_img, predicted_class, score_list, gesture, gesture_score elif "input" in FLAGS: print(FLAGS.input, 'vid\nvid\nvid\nvid\nvid\nvid\nvid\nvid\nvid\n') detect_video(YOLO(**vars(FLAGS)), FLAGS.input, FLAGS.output) else: print( "Must specify at least video_input_path. See usage with --help.")
n = len(annotation_lines) if n == 0 or batch_size <= 0: return None return data_generator(annotation_lines, batch_size, input_shape, anchors, num_classes) if __name__ == '__main__': parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) # Command line options parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument('--class_path', type=str, help='Text file with class names one per line.') parser.add_argument( '--data_path', type=str, help='Azure ML path to Storage passed from datastore mount in driver.') parser.add_argument( '--data_dir', type=str, default='data', help=
# r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num")))
num_classes): n = len(annotation_lines) if n == 0 or batch_size <= 0: return None return data_generator(annotation_lines, batch_size, input_shape, anchors, num_classes) if __name__ == '__main__': parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) # Command line options parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument('--annot_path', type=str, help='Annotation file with image location and bboxes') parser.add_argument('--class_path', type=str, help='Text file with class names one per line') parser.add_argument(
r_image = yolo.detect_image(image) r_image.save(nom) j=j+1 yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) parser.add_argument('--model', type=str,default='weights_yolo_train/trained_weights_stage_1.h5', help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str,default='model_data/yolo_anchors.txt', help='path to anchor definitions, default ' + YOLO.get_defaults('anchors_path')) parser.add_argument('--classes', type=str,default='model_data/key_classes.txt', help='path to class definitions, default ' + YOLO.get_defaults('classes_path')) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults('gpu_num'))) parser.add_argument('--image', default=False, action='store_true', help='Image detection mode, will ignore all positional arguments'
def main(): # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser( argument_default=argparse.SUPPRESS, description= 'Demo of multi object tracking (MOT) with YOLO detection model') ''' MOT model options ''' parser.add_argument( '--tracking_model_type', type=str, default="sort", choices=['sort', 'deepsort'], help="MOT model type (sort/deepsort), default=%(default)s") parser.add_argument( '--tracking_classes_path', type=str, required=False, help= '[Optional] Path to DeepSORT tracking class definitions, will track all detect classes if None, default=%(default)s', default=None) parser.add_argument( '--deepsort_model_path', type=str, required=False, default="tracking/model/mars-small128.pb", help="[Optional] DeepSORT encoder model path, default=%(default)s") ''' YOLO model options ''' parser.add_argument( '--model_type', type=str, help= 'YOLO model type: yolo3_mobilenet_lite/tiny_yolo3_mobilenet/yolo3_darknet/..., default ' + YOLO.get_defaults("model_type")) parser.add_argument('--weights_path', type=str, help='path to YOLO model weight file, default ' + YOLO.get_defaults("weights_path")) parser.add_argument( '--pruning_model', default=False, action="store_true", help='Whether using a pruning YOLO model/weights file, default ' + str(YOLO.get_defaults("pruning_model"))) parser.add_argument('--anchors_path', type=str, help='path to YOLO anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument( '--classes_path', type=str, help='path to YOLO detection class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument( '--model_image_size', type=str, help='YOLO detection model input size as <height>x<width>, default ' + str(YOLO.get_defaults("model_image_size")[0]) + 'x' + str(YOLO.get_defaults("model_image_size")[1]), default=str(YOLO.get_defaults("model_image_size")[0]) + 'x' + str(YOLO.get_defaults("model_image_size")[1])) parser.add_argument( '--score', type=float, help='score threshold for YOLO detection model, default ' + str(YOLO.get_defaults("score"))) parser.add_argument('--iou', type=float, help='iou threshold for YOLO detection NMS, default ' + str(YOLO.get_defaults("iou"))) parser.add_argument( '--elim_grid_sense', default=False, action="store_true", help="Whether to apply eliminate grid sensitivity in YOLO, default " + str(YOLO.get_defaults("elim_grid_sense"))) #parser.add_argument( #'--gpu_num', type=int, #help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num")) #) ''' Command line positional arguments -- for video detection mode ''' parser.add_argument("--input", nargs='?', type=str, required=False, default='./path2your_video', help="Input video file or images folder path") parser.add_argument("--output", nargs='?', type=str, default="", help="[Optional] output video file path") args = parser.parse_args() # param parse if args.model_image_size: height, width = args.model_image_size.split('x') args.model_image_size = (int(height), int(width)) assert (args.model_image_size[0] % 32 == 0 and args.model_image_size[1] % 32 == 0), 'model_image_size should be multiples of 32' # get YOLO wrapped detection object yolo = YOLO_np(**vars(args)) # choose different MOT model if args.tracking_model_type == 'sort': sort(yolo, args) elif args.tracking_model_type == 'deepsort': deepsort(yolo, args) else: raise ValueError('Unsupported MOT model')
save_file_Path = pathlib.Path("./out") / filepath[len(images_dirpath)+1:] save_file_Path.parent.mkdir(mode=0o755, parents=True, exist_ok=True) r_image.save(str(save_file_Path), "JPEG") yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model_path', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path") ) parser.add_argument( '--anchors_path', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path") ) parser.add_argument( '--classes_path', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path") ) parser.add_argument( '--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))
else: r_image = yolo.detect_image(image) r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("/content/gdrive/My Drive/project_folder/keras-yolo3/model_data/yolo.h5") ) parser.add_argument( '--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("/content/gdrive/My Drive/project_folder/keras-yolo3/model_data/yolo_anchors.txt") ) parser.add_argument( '--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("/content/gdrive/My Drive/project_folder/keras-yolo3/model_data/coco_classes.txt") ) parser.add_argument( '--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))
def start(path, file_extension, code): # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_data/model1-tiny_last_weights.h5")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("tiny_yolo_anchors.txt")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("coco_classes.txt")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument( '--image', default=False, action="store_true", help='Image detection mode, will ignore all positional arguments') ''' Command line positional arguments -- for video detection mode ''' parser.add_argument("--input", nargs='?', type=str, required=False, default=path, help="Video input path") parser.add_argument("--output", nargs='?', type=str, default="./output", help="[Optional] Video output path") FLAGS = parser.parse_args() #print(FLAGS.input.shape) if file_extension == ".jpg" or file_extension == ".png" or file_extension == ".jpeg" or file_extension == ".JPG" or file_extension == ".JPEG": """ Image detection mode, disregard any remaining command line arguments """ print("Image detection mode") print('img\nimg\nimg\nimg\nimg\nimg\nimg\nimg\nimg\n') print(" Ignoring remaining command line arguments: " + FLAGS.input + "," + FLAGS.output) path_img, predicted_class, score_list, gesture, gesture_score = detect_img( YOLO(**vars(FLAGS)), path, code) return path_img, predicted_class, score_list, gesture, gesture_score elif "input" in FLAGS: print(FLAGS.input, 'vid\nvid\nvid\nvid\nvid\nvid\nvid\nvid\nvid\n') detect_video(YOLO(**vars(FLAGS)), FLAGS.input, FLAGS.output) else: print( "Must specify at least video_input_path. See usage with --help.")
for f in os.listdir('all_detections'): os.remove(os.path.join('all_detections', f)) #for f in os.listdir('violations'): #os.remove(os.path.join('violations',f)) for f in os.listdir('helmet_detections'): os.remove(os.path.join('helmet_detections', f)) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num")))
print('Open Error! Try again!') continue else: r_image = yolo.detect_image(image) r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here FLAGS = { 'model': "./model_data/yolo.h5", 'anchors': YOLO.get_defaults("anchors_paths"), 'classes': YOLO.get_defaults("classes_path"), 'gpu_num': YOLO.get_defaults("gpu_num"), 'image': False, 'input': "./data/visor_video.wmv", 'output': "./video_output.wmv" } if FLAGS['image']: """ Image detection mode, disregard any remaining command line arguments """ print("Image detection mode") if "input" in FLAGS: print(" Ignoring remaining command line arguments: " + FLAGS['input'] + "," + FLAGS['output'])
def parse_args(): parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) parser.add_argument('--model_path', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors_path', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes_path', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument('--score', type=float, help='Score to use, default ' + str(YOLO.get_defaults("score"))) parser.add_argument('--input_path', nargs='?', type=str, required=True, default='', help='Input dataset path') parser.add_argument('--output_path', nargs='?', type=str, required=True, default='', help='Output dataset path') parser.add_argument('--class_name', nargs='?', type=str, required=True, default='', help='Name of the class used to create dataset') parser.add_argument('--width', nargs='?', type=int, required=True, help='With of the output images') parser.add_argument('--height', nargs='?', type=int, required=True, help='Height of the output images') return parser.parse_args()
] if box_strings: print(' '.join(box_strings)) print('\n') if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--score', type=float, help='score (confidence) threshold, default ' + str(YOLO.get_defaults("score"))) parser.add_argument('--shuffle', default=False, action="store_true", help='shuffle images for display mode') parser.add_argument( '--display', default=False, action="store_true",
else: r_image = yolo.detect_image(image) r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path") ) parser.add_argument( '--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path") ) parser.add_argument( '--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path") ) parser.add_argument( '--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))
from PIL import Image import cv2 def detect_img(yolo): while True: img = input('Input image filename:') try: image = Image.open(img) except: print('Open Error! Try again!') continue else: r_image = yolo.detect_image(image) r_image.show() # r_image.save("./result.jpg") yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here YOLO.get_defaults("model_path") YOLO.get_defaults("anchors_path") YOLO.get_defaults("classes_path") yolo = YOLO(model_path="./logs/000/ep024-loss46.727-val_loss42.751.h5", classes_path="./model_data/danger.txt") detect_img(yolo)
from yolo import YOLO, detect_video from PIL import Image import pdb def detect_img(yolo): while True: img = input('Input image filename:') try: image = Image.open(img) except: print('Open Error! Try again!') continue else: r_image = yolo.detect_image(image) r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--model_path', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path"), default='model_data/trained_weights_final.h5') FLAGS = parser.parse_args() detect_img(YOLO(**vars(FLAGS)))
yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) parser.add_argument( '--model', type=str, default='weights_yolo_train/trained_weights_stage_1.h5', help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, default='model_data/yolo_anchors.txt', help='path to anchor definitions, default ' + YOLO.get_defaults('anchors_path')) parser.add_argument('--classes', type=str, default='model_data/key_classes.txt', help='path to class definitions, default ' + YOLO.get_defaults('classes_path')) parser.add_argument('--gpu_num', type=int,
def instantiate(): # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num"))) parser.add_argument( '--image', default=False, action="store_true", help='Image detection mode, will ignore all positional arguments') ''' Command line positional arguments -- for video detection mode ''' parser.add_argument("--input", nargs='?', type=str, required=False, default='./path2your_video', help="Video input path") parser.add_argument("--output", nargs='?', type=str, default="", help="[Optional] Video output path") FLAGS = parser.parse_args() if FLAGS.image: """ Image detection mode, disregard any remaining command line arguments """ print("Image detection mode") if "input" in FLAGS: print(" Ignoring remaining command line arguments: " + FLAGS.input + "," + FLAGS.output) detect_img(YOLO(**vars(FLAGS))) elif "input" in FLAGS: detect_video(YOLO(**vars(FLAGS)), FLAGS.input, FLAGS.output) else: print( "Must specify at least video_input_path. See usage with --help.")
r_image.show() yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument('--model', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path")) parser.add_argument('--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path")) parser.add_argument('--classes', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path")) parser.add_argument('--gpu_num', type=int, help='Number of GPU to use, default ' + str(YOLO.get_defaults("gpu_num")))
# r_image.show() opencvImage = cv2.cvtColor(numpy.array(image), cv2.COLOR_RGB2BGR) cv2.imwrite('pictures/test_result.png',opencvImage) yolo.close_session() FLAGS = None if __name__ == '__main__': # class YOLO defines the default value, so suppress any default here parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS) ''' Command line options ''' parser.add_argument( '--model_path', type=str, help='path to model weight file, default ' + YOLO.get_defaults("model_path") ) parser.add_argument( '--anchors', type=str, help='path to anchor definitions, default ' + YOLO.get_defaults("anchors_path") ) parser.add_argument( '--classes_path', type=str, help='path to class definitions, default ' + YOLO.get_defaults("classes_path") ) parser.add_argument( '--gpu_num', default=1, type=int, help='Number of GPU to use, default 1 '