示例#1
0
def init_net(args):
    dn.set_gpu(args.gpu)
    net = dn.load_net(args.model.encode(), args.weights.encode(), 0)

    dn.set_batch_network(net, 1)
    dn.resize_network(net, args.imsize, args.imsize)
    sys.stderr.write('Resized to %d x %d\n' %
                     (dn.network_width(net), dn.network_height(net)))

    return net
示例#2
0
    def __init__(self, detector_num=0):
        import darknet as dn
        dn.set_gpu(int(constants.DARKNET_GPU))
        self.detector_num = detector_num
        self.net = dn.load_net(
            py_util.encode(WEIGHT_PATH + 'yolov3-thor.cfg'),
            py_util.encode(WEIGHT_PATH + 'yolov3-thor_final.weights'), 0)
        self.meta = dn.load_meta(py_util.encode(WEIGHT_PATH + 'thor.data'))

        self.count = 0
    def __init__(self):

        self.ocr_threshold = .4

        self.ocr_weights = 'data/ocr/ocr-net.weights'.encode()
        self.ocr_netcfg = 'data/ocr/ocr-net.cfg'.encode()
        self.ocr_dataset = 'data/ocr/ocr-net.data'.encode()

        self.ocr_net = dn.load_net(self.ocr_netcfg, self.ocr_weights, 0)
        self.ocr_meta = dn.load_meta(self.ocr_dataset)
示例#4
0
def load_net(cfg_filepath, weights_filepath, clear):
    # type: (str, str, bool) -> object
    """

    :param cfg_filepath: cfg file name
    :param weights_filepath: weights file name
    :param clear: True if you want to clear the weights otherwise False
    :return: darknet network object
    """
    return darknet.load_net(cfg_filepath, weights_filepath, clear)
def detect(cfg_file, weight_file, video_file):

    dn.set_gpu(0)
    net = dn.load_net(cfg_file, weight_file, 0)
    meta = dn.load_meta("cfg/coco.data")

    print("video: %s" % video_file)
    cap = cv2.VideoCapture(video_file)
    video_len = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    fps = int(cap.get(cv2.CAP_PROP_FPS))
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

    terminate, is_paused = False, False

    idx = 0
    fourcc = cv2.VideoWriter_fourcc(*"mp4v")
    video_writer = cv2.VideoWriter("gray_processed.mp4", fourcc, fps, (width, height))


    while not terminate and cap.isOpened():
        idx += 1
        print("processing: %.4f%%" % (idx * 100.0 / video_len))
        #print("debug")

        if not is_paused:
            ret, frame = cap.read()
            if not ret:
                break
            boxes = dn.detect_np(net, meta, frame)

        new_frame = my_plot(frame.copy(), boxes)
        video_writer.write(new_frame)

        """
        cv2.imshow('image', new_frame)
        key = cv2.waitKey(1)

        if key & 255 == 27:  # ESC
            print("terminating")
            terminate = True
        elif key & 255 == 32:  # ' '
            print("toggeling pause: " + str(not is_paused))
            is_paused = not is_paused
        elif key & 255 == 115:  # 's'
            print("stepping")
            ret, frame = cap.read()
            if not ret:
                break
            boxes = dn.detect_np(net, meta, frame)
            is_paused = True
        """

    cap.release()
    video_writer.release()
示例#6
0
def loadnet():
    global net, meta

    if (not tiny):
        net = dn.load_net("cfg/yolov3.cfg", "yolov3.weights", 0)
        meta = dn.load_meta("cfg/coco.data")
    elif (tiny):
        if (movie):
            net = dn.load_net("../dataset_test/cfg/yolov3-tiny-kym-run.cfg",
                              "backup1/yolov3-tiny-kym-train.backup", 0)
            meta = dn.load_meta("../dataset_test/cfg/kym_test.data")

        else:
            net = dn.load_net("../test_data/test_training/yolov2-tiny-kym.cfg",
                              "backup/yolov2-tiny-kym_30000.weights", 0)
            meta = dn.load_meta("../test_data/test_training/kym_test.data")

    else:
        net = dn.load_net("cfg/yolov3.cfg", "yolov3.weights", 0)
        meta = dn.load_meta("cfg/coco.data")
示例#7
0
	def __init__(self):
		rospy.init_node('Exercise2', anonymous=True)
		self.bridge = CvBridge()
		self.image_sub = rospy.Subscriber("camera/rgb/image_raw", Image, self.imageCallback)
		self.imageToProcess = None
		cfgPath =  "/home/alvaro/Escritorio/tfg/darknet/cfg/yolov3.cfg"
		weightsPath = "/home/alvaro/Escritorio/tfg/darknet/yolov3.weights"
		dataPath = "/home/alvaro/Escritorio/tfg/darknet/cfg/coco2.data"
		self.net = dn.load_net(cfgPath, weightsPath, 0)
		self.meta = dn.load_meta(dataPath)
		self.fileName = 'predict.jpg'
示例#8
0
 def __init__(self, source):
     self.DetectedImage = None
     dn.set_gpu(0)
     self.net = dn.load_net(
         bytes(path + "cfg/yolov3-tiny.cfg", encoding='utf-8'),
         bytes(path + "/yolov3-tiny.weights", encoding='utf-8'), 0)
     self.meta = dn.load_meta(
         bytes(path + "cfg/coco.data", encoding='utf-8'))
     self.cap = cv2.VideoCapture(source)
     self.cap.set(3, 1920)
     self.cap.set(4, 1080)
示例#9
0
文件: tracker.py 项目: Bhargee/fmot
def main(gpu_ind, data_path, output_path):
    # setup GPU and load model
    dn.set_gpu(gpu_ind)
    net = dn.load_net(b"darknet/cfg/yolov3.cfg", b"darknet/yolov3.weights", 0)
    meta = dn.load_meta(b"darknet/cfg/coco.data")

    # delete old files and get data filenames
    _prep_output_path(output_path)
    data = _get_data_raw(data_path)  # `data` is a generator

    #_test_detector(net, meta, data, output_path)
    _track(net, meta, data, output_path)
示例#10
0
 def __init__(self, tiny=False):
     try:  # keep only one instance design to avoid "out of memory"
         self.meta = QuickDarknet.meta
         self.net = QuickDarknet.net
         return
     except:  # if no instance then go ahead
         pass
     dn.set_gpu(0)
     if tiny:  # tiny-weights would be faster but not precise enough
         self.net = dn.load_net(
             str.encode(os.path.join(dir, "cfg/yolov3-tiny.cfg")),
             str.encode(os.path.join(dir, "weights/yolov3-tiny.weights")),
             0)
     else:
         self.net = dn.load_net(
             str.encode(os.path.join(dir, "cfg/yolov3.cfg")),
             str.encode(os.path.join(dir, "weights/yolov3.weights")), 0)
     self.meta = dn.load_meta(str.encode(os.path.join(dir,
                                                      "cfg/coco.data")))
     QuickDarknet.meta = self.meta  # save the instance to class static member
     QuickDarknet.net = self.net
示例#11
0
    def __init__(self,
                 model=darknet_path + "cfg/tiny-yolo.cfg",
                 metas=darknet_path + "cfg/coco.data",
                 weights=darknet_path + "weights/tiny-yolo.weights"):
        #Define the model, model's meta data and weights
        self.model = model
        self.metas = metas
        self.weights = weights

        #load the net
        self.net = dn.load_net(model, weights)
        self.meta = dn.load_meta(metas)
示例#12
0
    def __init__(self):
        #define weights, data, cfg path and load net, paths should be in utf-8
        base_path = os.getcwd()
        ## old model path
        #data_path = 'darknet/data/globus_13.data'
        #cfg_path = 'darknet/cfg/globus13-yolov3.cfg'
        #weights_path = 'darknet/backup/globus13-yolov3_2000.weights'

        data_path = 'darknet/data/globus_seed_wendel.data'
        cfg_path = 'darknet/cfg/globus_seed_wendel.cfg'
        weights_path = 'darknet/backup/globus_seed_wendel.weights'

        #read reference images for orb comparison
        with open('orb_reference_calculated3.pickle', 'rb') as handle:
            self.class_orb_ref = pickle.load(handle)

        #set orb variables
        self.orb = cv2.ORB_create(nfeatures=500)
        FLANN_INDEX_LSH = 6
        index_params = dict(algorithm=FLANN_INDEX_LSH,
                            table_number=6,
                            key_size=12,
                            multi_probe_level=1)
        search_params = dict()  #checks=50  # or pass empty dictionary
        self.flann = cv2.FlannBasedMatcher(index_params, search_params)

        #read gtins and save them to a data structure
        reader = csv.DictReader(open('test_shelf_list.csv', 'r'))
        dict_l = []
        self.dict_g = {}
        self.dict_count = {}

        for line in reader:
            dict_l.append(line)

        for coi in dict_l:
            if coi['Product'] not in self.dict_g.keys():
                self.dict_g[coi['Product']] = {coi['ORB']: coi['Barcode']}
            else:
                self.dict_g[coi['Product']].update(
                    {coi['ORB']: coi['Barcode']})

            try:
                self.dict_count[coi['Product']] += 1
            except:
                self.dict_count[coi['Product']] = 1

        #load network and meta using darkflow library
        self.net = dn.load_net(
            os.path.join(base_path, cfg_path).encode('utf-8'),
            os.path.join(base_path, weights_path).encode('utf-8'), 0)
        self.meta = dn.load_meta(
            os.path.join(base_path, data_path).encode('utf-8'))
示例#13
0
    def __init__(self, name, device):
        threading.Thread.__init__(self, name=name)
        self.device = device

        if name == 'tiny_yolo':
            self.net = darknet.load_net("darknet/cfg/tiny-yolo-voc.cfg",
                                        "zoo/tiny-yolo-voc.weights", 0)
            self.meta = darknet.load_meta("darknet/cfg/voc.data")

        elif name == 'yolo_v2':
            self.net = darknet.load_net("darknet/cfg/yolo.cfg",
                                        "zoo/yolo.weights", 0)
            self.meta = darknet.load_meta("darknet/cfg/coco.data")

        else:
            self.log().critical("unknown pipeline '%s'", name)
            thread.interrupt_main()
            return

        self.running = threading.Event()
        self.queue = Queue.Queue()
        return
示例#14
0
 def __init__(self, args):
     dn.set_gpu(0)
     if args.object:
         self.conf = .25
         model = OBJECT
     else:
         self.conf = .8
         model = HELMET
     self.net = dn.load_net(model['cfg'].encode("ascii"),
                            model['weights'].encode("ascii"), 0, 1)
     self.meta = dn.load_meta(model['data'].encode("ascii"))
     self.dark_image = dn.make_image(dn.network_width(self.net),
                                     dn.network_height(self.net), 3)
示例#15
0
    def simulate(self, from_scratch=False):
        """
        Precompute the simulation to save time while running it. 

        Args:
            from_scratch (bool): Recompute the entire simulation and don't use saved data

        Returns:
            None

        """
        if from_scratch:
            self.bbox_data = []
        net = dn.load_net(self.cfg_path, self.weights_path, 0)
        meta = dn.load_meta(self.data_path)
        max_val = self.num_images
        time_taken = []
        for i in range(self.num_images + 1):
            start = time.clock()
            try:
                if i < len(self.bbox_data):
                    continue
                image = "{}{}.jpg".format(self.images_path, i)
                result = dn.detect(net, meta, image)
                time_taken.append(time.clock() - start)
                coords = result[0][2]
                x, y, w, h = [int(coord) for coord in coords]
                self.bbox_data.append({
                    'image':
                    image,
                    'center': (x, y),
                    'width':
                    w,
                    'height':
                    h,
                    'top_left': (max(x - w // 2, 0), max(y - h // 2, 0)),
                    'bottom_right': (x + w // 2, y + h // 2)
                })
                pickle.dump(
                    self.bbox_data,
                    open('{}/bboxdata.p'.format(self.images_path), 'wb'))
                print image
                print self.bbox_data[i]
                print "Saved array to image path"
                print "-------------------------"
            except Exception:
                print "Error with image"
        print "Done simulating"
        if len(time_taken) > 0:
            print "Average time take was " + str(
                sum(time_taken) / len(time_taken)) + "seconds"
示例#16
0
 def TaskDarknet(self):
     threading.Timer(3, self.TaskDarknet).start()
     #dn.set_gpu(0)
     if self.darknet == False:
         self.net = dn.load_net(
             "/home/minhwan/opencv/build/darknet/yolov3-tiny.cfg",
             "/home/minhwan/opencv/build/darknet/yolov3-tiny.weights", 0)
         #print(net)
         self.meta = dn.load_meta(
             "/home/minhwan/opencv/build/darknet/cfg/coco.data")
         self.darknet = True
     r = dn.detect(self.net, self.meta,
                   "/home/minhwan/opencv/build/darknet/data/dog.jpg")
     print(r)
 def __init__(self):
     rospy.init_node('Activity', anonymous=True)
     self.bridge = CvBridge()
     self.image_sub = rospy.Subscriber("camera/rgb/image_raw", Image,
                                       self.imageCallback)
     self.pub = rospy.Publisher('yolo_topic', String, queue_size=10)
     self.imageToProcess = None
     cfgPath = "/home/alvaro/Escritorio/tfg/darknet/cfg/yolov3.cfg"
     weightsPath = "/home/alvaro/Escritorio/tfg/darknet/yolov3.weights"
     dataPath = "/home/alvaro/Escritorio/tfg/darknet/cfg/coco2.data"
     self.net = dn.load_net(cfgPath, weightsPath, 0)
     self.meta = dn.load_meta(dataPath)
     self.fileName = 'predict.jpg'
     self.rate = rospy.Rate(10)
示例#18
0
    def __init__(self):
        #define weights, data, cfg path and load net, paths should be in utf-8
        base_path = os.getcwd()
        data_path2 = 'darknet/data/globus_tags.data'
        cfg_path2 = 'darknet/cfg/globustags-yolov3.cfg'
        weights_path2 = 'darknet/backup/globustags-yolov3.weights'

        #TODO: add barcode and digit extraction

        self.net2 = dn.load_net(
            os.path.join(base_path, cfg_path2).encode('utf-8'),
            os.path.join(base_path, weights_path2).encode('utf-8'), 0)
        self.meta2 = dn.load_meta(
            os.path.join(base_path, data_path2).encode('utf-8'))
示例#19
0
def image_callback(msg):
    global net_door, net_ball, meta_door, meta_ball, cam_param, det_flag, has_rev, netInitFinished, np_arr, start_time, cv_image
    if netInitFinished == False:
        model_name = 'all_640_xy'
        steps = '170000'
        base_dir = '/home/momenta/mc3/python/weight/weights-' + model_name
        net_ball = dn.load_net(
            os.path.join(base_dir, "yolov3-tiny-" + model_name + ".cfg"),
            os.path.join(
                base_dir,
                "yolov3-tiny-" + model_name + "_" + steps + ".weights"), 0)
        meta_ball = dn.load_meta(
            os.path.join(base_dir, "voc-" + model_name + ".data"))

        model_name = 'door'
        steps = '250000'
        base_dir = '/home/momenta/mc3/python/weight/weights-' + model_name
        net_door = dn.load_net(
            os.path.join(base_dir, "yolov3-tiny-" + model_name + ".cfg"),
            os.path.join(
                base_dir,
                "yolov3-tiny-" + model_name + "_" + steps + ".weights"), 0)
        meta_door = dn.load_meta(
            os.path.join(base_dir, "voc-" + model_name + ".data"))

        filename = "./cam_param/" + tb_name + "_bottom.yaml"
        f = open(filename)
        cam_param = yaml.load(f)
        netInitFinished = True

    t = time.time()
    if det_flag:
        det_flag = False
        # np_arr = np.fromstring(msg.data, np.uint8)
        cv_image = bridge.imgmsg_to_cv2(msg, "bgr8")
        has_rev = True
示例#20
0
    def __init__(self):
        threading.Thread.__init__(self)
        print("[Threade] DARKNET")
        sys.path.append(os.path.join(os.getcwd(), 'python/'))
        import darknet as dn
        import pdb
        print("Import successfully...")

        dn.set_gpu(0)
        self.net = dn.load_net("cfg/yolov3.cfg".encode('utf-8'),
                               "backup/yolov3_3300.weights".encode('utf-8'), 0)
        self.meta = dn.load_meta("cfg/coco.data".encode('utf-8'))
        print(
            "========================== WAITING... ============================"
        )
示例#21
0
def main():
    dn.set_gpu(0)
    net = dn.load_net("model_data/yolov3.cfg".encode('utf-8'),
                      "model_data/yolov3.weights".encode('utf-8'), 0)
    meta = dn.load_meta("model_data/coco.data".encode('utf-8'))

    # Configure depth and color streams
    pipeline = rs.pipeline()
    config = rs.config()
    config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
    config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

    # Start streaming
    pipeline.start(config)

    # try:
    #     while True:
    # Wait for a coherent pair of frames: depth and color
    frames = pipeline.wait_for_frames()
    depth_frame = frames.get_depth_frame()
    color_frame = frames.get_color_frame()
    if not depth_frame or not color_frame:
        # continue
        pass

    # Convert images to numpy arrays
    depth_image = np.asanyarray(depth_frame.get_data())
    color_image = np.asanyarray(color_frame.get_data())

    image = Image.fromarray(color_image)
    r = dn.detect(net, meta, image)
    # print(r)

    # Show images
    cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
    cv2.imshow('RealSense', depth_image)
    cv2.imshow('color_image', color_image)

    cv2.waitKey(0)
    #         if cv2.waitKey(1) == 27:
    #             break

    #     cv2.destroyAllWindows()

    # finally:

    # Stop streaming
    pipeline.stop()
示例#22
0
def image_callback(msg):
    global start_t, g_dict, net, meta, cam_param, net_init, call_count, det_flag, has_rev

    if net_init:
        model_name = 'all_640'
        steps = '180000'
        base_dir = '/home/momenta/mc3/python/weight/weights-' + model_name
        net = dn.load_net(
            os.path.join(base_dir, "yolov3-tiny-" + model_name + ".cfg"),
            os.path.join(
                base_dir,
                "yolov3-tiny-" + model_name + "_" + steps + ".weights"), 0)
        meta = dn.load_meta(
            os.path.join(base_dir, "voc-" + model_name + ".data"))
        filename = "cam_top.yaml"
        f = open(filename)
        cam_param = yaml.load(f)
        net_init = False

    # commented by dongyan at 22:30
    # call_count += 1
    # if call_count%5 != 0:
    #     return

    # stopped commented

    np_arr = np.fromstring(msg.data, np.uint8)
    image_np = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)
    g_isBallNear = isBallNear(image_np)
    print "g_isBallNear, ", g_isBallNear

    # if the ball is near, always push the ball
    if g_isBallNear:
        return

    t = time.time() - start_t
    if det_flag == True:
        print "det_flag == true, "
        g_dict = detect(net,
                        meta,
                        cam_param,
                        image_np,
                        isshow=True,
                        issave=True,
                        name=str(t))
        has_rev = True
    else:
        g_dict = {"door": [], "football": [], "robot": [], "conf": []}
示例#23
0
def genTestData(name, inpShape, outShape):
    net = dn.load_net(name + '.cfg', '', 0)

    inp = np.random.standard_normal(inpShape).astype(np.float32)

    inpData = dn.c_array(dn.c_float, inp.flatten())
    pred = dn.predict(net, inpData)

    total = np.prod(outShape)
    out = np.zeros([total], np.float32)
    for i in range(total):
        out[i] = pred[i]
    out = out.reshape(outShape)

    np.save(name + '_in.npy', inp)
    np.save(name + '_out.npy', out)
示例#24
0
    def __init__(self, cfg, weight, meta, W, H, camera_offset, tcp):

        self.net = darknet.load_net(cfg, weight, 0)
        self.meta = darknet.load_meta(meta)
        self.bridge = CvBridge()
        # receiving image's resolution
        self.W = W
        self.H = H
        # camera's position referencing base_link
        self.CAMERA_OFFSET = camera_offset
        # tcp
        self.TCP = tcp
        # Openpose Pose Detector
        self.pose_detector = PoseDetector(thresh=0.5, visualize=True)

        print('Detector loaded')
示例#25
0
def main():
    if 'posix' == os.name:
        darknet_home_dir_path = '/home/sangwook/lib_repo/cpp/darknet_github'
    else:
        darknet_home_dir_path = 'D:/lib_repo/cpp/rnd/darknet_github'
        #darknet_home_dir_path = 'D:/lib_repo/cpp/darknet_github'

    net = darknet.load_net(
        bytes(darknet_home_dir_path + '/cfg/yolov3.cfg', encoding='utf-8'),
        bytes(darknet_home_dir_path + '/yolov3.weights', encoding='utf-8'), 0)
    meta = darknet.load_meta(
        bytes(darknet_home_dir_path + '/cfg/coco.data', encoding='utf-8'))
    detections = darknet.detect(
        net, meta,
        bytes(darknet_home_dir_path + '/data/dog.jpg', encoding='utf-8'))
    print('Detections =', detections)
def genTestData(name, inpShape, outShape):
    net = dn.load_net(name + '.cfg', '', 0)

    inp = np.random.standard_normal(inpShape).astype(np.float32)

    inpData = dn.c_array(dn.c_float, inp.flatten())
    pred = dn.predict(net, inpData)

    total = np.prod(outShape)
    out = np.zeros([total], np.float32)
    for i in range(total):
        out[i] = pred[i]
    out = out.reshape(outShape)

    np.save(name + '_in.npy', inp)
    np.save(name + '_out.npy', out)
示例#27
0
def image_deal_top(msg):
    global  net_top, meta_top, cam_param_top, det_flag_top, has_rev_top, netInitFinished_top,np_arr_top 
    if netInitFinished_top == False:
        model_name = 'door'
        steps = '330000'
        base_dir = '/home/momenta/mc3/python/weight/weights-'+model_name
        net_top = dn.load_net(os.path.join(base_dir,"yolov3-tiny-"+model_name+".cfg"),  
                    os.path.join(base_dir,"yolov3-tiny-"+model_name+"_"+steps+".weights"), 0)
        meta_top = dn.load_meta(os.path.join(base_dir,"voc-"+model_name+".data"))
        filename="./cam_param/"+tb_name+"_top.yaml"
        f = open(filename)
        cam_param_top = yaml.load(f)
        netInitFinished_top = True
    if det_flag_top:
        det_flag_top=False
        np_arr_top = np.fromstring(msg.data, np.uint8)
        has_rev_top = True
    def __init__(
        self,
        config_path: str = str(DEF_CONF, encoding="ascii"),
        weights_path: str = str(DEF_W, encoding="ascii"),
        data_path: str = str(DEF_DATA, encoding="ascii"),
        gpu_enabled: bool = True,
    ):

        self._config_path = config_path.encode("ascii")
        self._weights_path = weights_path.encode("ascii")
        self._data_path = data_path.encode("ascii")
        self._gpu_enabled = 0 if gpu_enabled else 1
        dn.set_gpu(self._gpu_enabled)
        self._net = dn.load_net(self._config_path, self._weights_path, 0)
        self._metadata = dn.load_meta(self._data_path)
        self._darknet_image = dn.make_image(dn.network_width(self._net),
                                            dn.network_height(self._net), 3)
示例#29
0
    def __init__(self, detector_num=0):
        import darknet as dn
        dn.set_gpu(int(constants.DARKNET_GPU))
        self.detector_num = detector_num
        #self.net = dn.load_net(py_util.encode(WEIGHT_PATH + 'yolov3-thor.cfg'),
        #                       py_util.encode(WEIGHT_PATH + 'yolov3-thor_final.weights'), 0)
        #self.meta = dn.load_meta(py_util.encode(WEIGHT_PATH + 'thor.data'))
        #self.net_custom = dn.load_net(py_util.encode(WEIGHT_PATH + 'yolov4-custom.cfg'),
        #                       py_util.encode(WEIGHT_PATH + 'yolov4-custom_4000.weights'), 0)
        #self.meta_custom = dn.load_meta(py_util.encode(WEIGHT_PATH + 'obj_less.data'))
        self.net_origin = dn.load_net(
            py_util.encode(WEIGHT_PATH + 'yolov4.cfg', 'ascii'),
            py_util.encode(WEIGHT_PATH + 'yolov4.weights', 'ascii'), 0)
        self.meta_origin = dn.load_meta(
            py_util.encode(WEIGHT_PATH + 'coco.data', 'ascii'))

        self.count = 0
示例#30
0
def image_callback(msg):
    global net, meta, cam_param, det_flag, has_rev, netInitFinished,np_arr 
    if netInitFinished == False:
        model_name = 'all_640_xy'
        steps = '140000'
        base_dir = '/home/momenta/mc3/python/weight/weights-'+model_name
        net = dn.load_net(os.path.join(base_dir,"yolov3-tiny-"+model_name+".cfg"),  
                    os.path.join(base_dir,"yolov3-tiny-"+model_name+"_"+steps+".weights"), 0)
        meta = dn.load_meta(os.path.join(base_dir,"voc-"+model_name+".data"))
        filename="./cam_param/"+tb_name+"_bottom.yaml"
        f = open(filename)
        cam_param = yaml.load(f)
        netInitFinished = True
    if det_flag:
        det_flag=False
        np_arr = np.fromstring(msg.data, np.uint8)
        has_rev = True
示例#31
0
    def __init__(self, darknet_path):
        self.name = "YOLO-Recogniser"

        # Cd to the correct folder
        current_path = os.getcwd()
        os.chdir(darknet_path)

        # Load the darknet path
        self.network = darknet.load_net("cfg/yolov3-tiny.cfg",
                                        "yolov3-tiny.weights", 0)
        self.metadata = darknet.load_meta("cfg/coco.data")
        self.path = darknet_path

        # Change back to current_path
        os.chdir(current_path)

        self.log("Created")
示例#32
0
文件: detector.py 项目: Roboy/vision
# Stupid python path shit.
# Instead just add darknet.py to somewhere in your python path
# OK actually that might not be a great idea, idk, work in progress
# Use at your own risk. or don't, i don't care

import sys, os
sys.path.append(os.path.join(os.getcwd(),'python/'))

import darknet as dn

net = dn.load_net("cfg/tiny-yolo.cfg", "tiny-yolo.weights", 0)
meta = dn.load_meta("cfg/coco.data")
r = dn.detect(net, meta, "data/dog.jpg")
print r

# And then down here you could detect a lot more images like:
r = dn.detect(net, meta, "data/eagle.jpg")
print r
r = dn.detect(net, meta, "data/giraffe.jpg")
print r
r = dn.detect(net, meta, "data/horses.jpg")
print r
r = dn.detect(net, meta, "data/person.jpg")
print r

示例#33
0
# Stupid python path shit.
# Instead just add darknet.py to somewhere in your python path
# OK actually that might not be a great idea, idk, work in progress
# Use at your own risk. or don't, i don't care

import sys, os
sys.path.append(os.path.join(os.getcwd(),'python/'))

import darknet as dn
import pdb

dn.set_gpu(0)
net = dn.load_net("cfg/yolo-thor.cfg", "/home/pjreddie/backup/yolo-thor_final.weights", 0)
meta = dn.load_meta("cfg/thor.data")
r = dn.detect(net, meta, "data/bedroom.jpg")
print r

# And then down here you could detect a lot more images like:
r = dn.detect(net, meta, "data/eagle.jpg")
print r
r = dn.detect(net, meta, "data/giraffe.jpg")
print r
r = dn.detect(net, meta, "data/horses.jpg")
print r
r = dn.detect(net, meta, "data/person.jpg")
print r