コード例 #1
0
 def __disp_image(self, img, classes, bboxes):
     bvalid = (classes !=0)
     classes = classes[bvalid]
     bboxes = bboxes[bvalid]
     scores =np.full(classes.shape, 1.0)
     visualization.plt_bboxes(img, classes, scores, bboxes,title='Ground Truth')
     return
コード例 #2
0
 def run(self):
     
     self.dataset_name = 'pascalvoc_2007'
     self.dataset_split_name = 'train'
     self.dataset_dir = '../../data/voc/tfrecords/'
     self.batch_size = 32
     
     with tf.Graph().as_default():
         tensors = self.__get_images_labels_bboxes()
         with tf.Session('') as sess:
             init = tf.global_variables_initializer()
             sess.run(init)
             with slim.queues.QueueRunners(sess):  
                 for i in range(5000):
                     
                        
                         image, shape, format, filename, glabels, gbboxes,gdifficults = sess.run(list(tensors))
                         
                         if str(filename,'utf-8') == "000394":
                             print(str(filename,'utf-8'))
                             scores = np.full(glabels.shape, 1.0)
                             visualization.plt_bboxes(image, glabels, scores, gbboxes,title=filename)
                             plt.show()
                             
                             
                             break
                         
                     
     
     
     
     return
コード例 #3
0
    def __disp_matched_anchors(self, img, target_labels_data,
                               target_localizations_data, target_scores_data):
        found_matched = False
        all_anchors = g_ssd_model.get_allanchors()
        for i, target_score_data in enumerate(target_scores_data):

            num_pos = (target_score_data > 0.5).sum()
            if (num_pos == 0):
                continue
            print('Found  {} matched default boxes in layer {}'.format(
                num_pos, g_ssd_model.feat_layers[i]))
            pos_sample_inds = (target_score_data > 0.5).nonzero()
            pos_sample_inds = [
                pos_sample_inds[0], pos_sample_inds[1], pos_sample_inds[2]
            ]

            classes = target_labels_data[i][pos_sample_inds]
            scores = target_scores_data[i][pos_sample_inds]
            bboxes_default = g_ssd_model.get_allanchors(
                minmaxformat=True)[i][pos_sample_inds]

            bboxes_gt = g_ssd_model.decode_bboxes_layer(
                target_localizations_data[i][pos_sample_inds],
                all_anchors[i][pos_sample_inds])

            print("default box minimum, {} gt box minimum, {}".format(
                bboxes_default.min(), bboxes_gt.min()))

            marks_default = np.full(classes.shape, True)
            marks_gt = np.full(classes.shape, False)
            scores_gt = np.full(scores.shape, 1.0)

            bboxes = bboxes_default
            neg_marks = marks_default
            add_gt = True
            if add_gt:
                bboxes = np.vstack([bboxes_default, bboxes_gt])
                neg_marks = np.hstack([marks_default, marks_gt])
                classes = np.tile(classes, 2)
                scores = np.hstack([scores, scores_gt])

            title = "Default boxes: Layer {}".format(
                g_ssd_model.feat_layers[i])
            visualization.plt_bboxes(img,
                                     classes,
                                     scores,
                                     bboxes,
                                     neg_marks=neg_marks,
                                     title=title)
            found_matched = True

        return found_matched
コード例 #4
0
ファイル: demo.py プロジェクト: fisheess/SSD_tensorflow_VOC
image_name = 'Record_01147.bmp'
image_name = 'Record_01147_90.jpg'
# image_name = 'Record_01639.bmp'
# image_name = 'Record_01639_180.jpg'
image_name = 'Record_00690_180.jpg'
image_name = 'Record_00001.bmp'
image_name = 'scream.jpg'

image_path = path + image_name

# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/000593.jpg'  #two cars
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/001086.jpg'  #Two person and one bottle
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/009075.jpg'#many people, not very good
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/009957.jpg'  #horse and person
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/005575.jpg'   #plane
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/004865.jpg'  #horse
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/003552.jpg'  #car
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/003431.jpg'  #one person and one bottle
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/002808.jpg'  #motor and car
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/001672.jpg'  #train
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/001195.jpg'  #dog
# image_name = '../../data/voc/2007_test/VOCdevkit/VOC2007/JPEGImages/000568.jpg' #eagle

img = mpimg.imread(image_path)
rclasses, rscores, rbboxes = process_image(img)

# visualization.bboxes_draw_on_img(img, rclasses, rscores, rbboxes, visualization.colors_plasma)
visualization.plt_bboxes(img, rclasses, rscores, rbboxes)

plt.show()
コード例 #5
0
        rclasses, rscores, rbboxes, nms_threshold=nms_threshold)
    # Resize bboxes to original image shape. Note: useless for Resize.WARP!
    rbboxes = np_methods.bboxes_resize(rbbox_img, rbboxes)
    return rclasses, rscores, rbboxes


# Test on some demo image and visualize output.
path = '/home/yjin/data/demo/'
while True:
    image_name = input('Enter image name: ')
    image_path = Path(path + image_name)
    if image_path.is_file():
        img = mpimg.imread(image_path)
        rclasses, rscores, rbboxes = process_image(img)
        # visualization.bboxes_draw_on_img(img, rclasses, rscores, rbboxes, visualization.colors_plasma)
        visualization.plt_bboxes(img, rclasses, [1., 1.], rbboxes)
        plt.show()
    elif image_name == 'exit':
        break
    else:
        print('File does not exist.')
"""
files = os.listdir(path)
for image_name in files:
    image_path = Path(path + image_name)
    img = mpimg.imread(image_path)
    rclasses, rscores, rbboxes = process_image(img)
    # visualization.bboxes_draw_on_img(img, rclasses, rscores, rbboxes, visualization.colors_plasma)
    visualization.plt_bboxes(img, rclasses, rscores, rbboxes)
    plt.show()
"""