bbox

随记-面试遇到的一些题

自闭症网瘾萝莉.ら 提交于 2020-04-04 15:07:22
记录一些面试的题吧,没事自己看看 1.python,c++,java棋盘中的白子进行八连通区域查找,并返回连通区域块数和连通区域分类情况 # encoding=utf8def show(L): # 直观显示用 非本题核心代码 rows = len(L) cols = len(L[0]) for i in range(rows): for j in range(cols): print(L[i][j], end=" ") print()# 棋盘19*19 1为白色棋子 0为其他L = [[0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1], [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1], [0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1], [0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1], [0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1],

【目标检测】NMS非极大值抑制代码示例

橙三吉。 提交于 2020-03-17 09:45:03
1 import numpy as np 2 3 def non_max_suppress(predicts_dict, threshold=0.2): 4 """ 5 implement non-maximum supression on predict bounding boxes. 6 Args: 7 predicts_dict: {"stick": [[x1, y1, x2, y2, scores1], [...]]}. 8 threshhold: iou threshold 9 Return: 10 predicts_dict processed by non-maximum suppression 11 """ 12 for object_name, bbox in predicts_dict.items(): #对每一个类别的目标分别进行NMS 13 bbox_array = np.array(bbox, dtype=np.float) 14 15 ## 获取当前目标类别下所有矩形框(bounding box,下面简称bbx)的坐标和confidence,并计算所有bbx的面积 16 x1, y1, x2, y2, scores = bbox_array[:,0], bbox_array[:,1], bbox_array[:,2], bbox_array[:,3],

FreeType字体知识

大兔子大兔子 提交于 2020-02-28 16:28:55
1.字形度量 顾名思义,字形度量是对应每一个字形的特定距离,以此描述如何对文本排版。 通常一个字形有两个度量集:用来排版水平文本排列的字形(拉丁文、西里尔文、阿拉伯文、希伯来文等等)和用来排版垂直文本排列的字形(中文、日文、韩文等等)。 要注意的是只有很少的字体格式提供了垂直度量。你可以使用宏FT_HAS_VERTICAL测试某个给出的face对象是否包含垂直度量,当结果为真时表示包含垂直度量。 每个的字形度量都可以先装载字形到face的字形槽,然后通过face->glyph->metrics结构访问,其类型为FT_Glyph_Metrics。我们将在下面详细讨论它,现在,我们只关注该结构包含如下的字段: Width 这是字形图像的边框的宽度。它与排列方向无关。 Height 这是字形图像的边框的高度。它与排列方向无关。千万不要把它和FT_Size_Metrics的height字段混淆。 horiBearingX 用于水平文本排列,这是从当前光标位置到字形图像最左边的边界的水平距离。 horiBearingY 用于水平文本排列,这是从当前光标位置(位于基线)到字形图像最上边的边界的水平距离。 horiAdvance 用于水平文本排列,当字形作为字符串的一部分被绘制时,这用来增加笔位置的水平距离。 vertBearingX 用于垂直文本排列

《动手学深度学习》Task09:目标检测基础+图像风格迁移+图像分类案例1

前提是你 提交于 2020-02-26 00:26:02
1 目标检测基础 1.1 目标检测和边界框(9.3) % matplotlib inline from PIL import Image import sys sys . path . append ( '/home/kesci/input/' ) import d2lzh1981 as d2l # 展示用于目标检测的图 d2l . set_figsize ( ) img = Image . open ( '/home/kesci/input/img2083/img/catdog.jpg' ) d2l . plt . imshow ( img ) ; # 加分号只显示图 1.1.1 边界框 # bbox是bounding box的缩写 dog_bbox , cat_bbox = [ 60 , 45 , 378 , 516 ] , [ 400 , 112 , 655 , 493 ] def bbox_to_rect ( bbox , color ) : # 本函数已保存在d2lzh_pytorch中方便以后使用 # 将边界框(左上x, 左上y, 右下x, 右下y)格式转换成matplotlib格式: # ((左上x, 左上y), 宽, 高) return d2l . plt . Rectangle ( xy = ( bbox [ 0 ] , bbox [ 1 ] ) , width

【MOT】Frame-wise Motion and Appearance for Real-time Multiple Object Tracking

余生颓废 提交于 2020-02-23 17:17:25
Abstract 测试的计算量不会随着随着object的增加而增加。 设计了一个Frame-wise Motion and Appearance (FMA), computes the Frame-wise Motion Fields (FMF) between two frames As auxiliary information is used to fix uncertain matches, Frame-wise Appearance Features (FAF) are learned in parallel with FMFs。 即FMA计算得到的FMF用于matching;FAF用于修正一些不确定的matches。 然后是一个real-time的方法。 Intro 不仅提出FMF\FAF而且还提出一个高效的inference方法连接objects。,并且用FAF修正一些不明确的associations 25fps Method FMF FMF的GT计算如下 如Fig2里一样,我们会如式子(1)(2)里一样计算双向的motion vectors。这样不仅稳定还能处理以下状况: FMF可以同时计算multiple objects。用一个MSE loss约束 FAF 当objects are crowed的时候,会出现不好拟合的情况。所以FAF会通过FMF找到一些bbox

RelationNetwork

北慕城南 提交于 2020-02-22 18:02:31
论文:Relation Networks for Object Detection 论文链接: https://arxiv.org/abs/1711.11575 代码链接: https://github.com/msracver/Relation-Networks-for-Object-Detection 这篇文章的细节可以通过阅读源码来加深理解,这篇博客就来介绍这篇文章的部分源码。 因为这篇文章主要是在网络结构上做改动,所以这篇博客以resnet_v1_101_rcnn_attention_1024_pairwise_position_multi_head_16_learn_nms.py为例介绍网络结构,这个例子在Faster RCNN基础上引入relation module,包括全连接层和NMS阶段。 链接: resnet_v1_101_rcnn_attention_1024_pairwise_position_multi_head_16_learn_nms.py 接下来介绍的代码顺序和链接中的不大一样,这里按照代码运行时的顺序介绍,目的是方便跟着数据流进行阅读,主要涉及几个方法: 全局网络构造:get_symbol;ROI信息的坐标变换:extract_position_matrix;ROI信息的坐标embedding:extract_position_embedding

目标检测之YOLO V1

佐手、 提交于 2020-02-22 06:57:58
前面介绍的R-CNN系的目标检测采用的思路是:首先在图像上提取一系列的候选区域,然后将候选区域输入到网络中修正候选区域的边框以定位目标,对候选区域进行分类以识别。虽然,在Faster R-CNN中利用RPN网络将候选区域的提取以放到了CNN中,实现了end-to-end的训练,但是其本质上仍然是提取 先提取候选区域,然后对候选区域识别,修正候选区域的边框位置。 这称为 tow-stage 的方法,虽然在精度已经很高了,但是其速度却不是很好。造成速度不好的主要原因就是候选区域的提取,这就需要一种网络能够直接预测出图像中目标的位置,中间不需要候选区域的计算,这就是 one-stage 。 YOLO系就是 one-stage 目标检测的一种,其全名 You only look once 很形象,只需要将图片输入到网络中就预测中其中目标的bounding box以及bounding box所属的类别。相比R-CNN,YOLO损失了一定的精度,但是其有点就是速度快。 YOLO V1 YOLO V1将目标检测定义为一个回归问题,从图像像素信息直接得到目标的边框以及所属类别的概率,其有以下的优点: 快。其整个网络结构就是解决回归问题,很快。 在做predict的时候,使用的一整张图像的全局信息。two-stage的方法,每次只是“看到”图像的一块区域,YOLO 一次“看”一整张图像

FreeType 管理字形

狂风中的少年 提交于 2020-02-07 04:12:01
转自:http://blog.csdn.net/hgl868/article/details/7254687 1.字形度量 顾名思义,字形度量是对应每一个字形的特定距离,以此描述如何对文本排版。 通常一个字形有两个度量集:用来排版水平文本排列的字形(拉丁文、西里尔文、阿拉伯文、希伯来文等等)和用来排版垂直文本排列的字形(中文、日文、韩文等等)。 要注意的是只有很少的字体格式提供了垂直度量。你可以使用宏FT_HAS_VERTICAL测试某个给出的face对象是否包含垂直度量,当结果为真时表示包含垂直度量。 每个的字形度量都可以先装载字形到face的字形槽,然后通过face->glyph->metrics结构访问,其类型为FT_Glyph_Metrics。我们将在下面详细讨论它,现在,我们只关注该结构包含如下的字段: Width 这是字形图像的边框的宽度。它与排列方向无关。 Height 这是字形图像的边框的高度。它与排列方向无关。千万不要把它和FT_Size_Metrics的height字段混淆。 horiBearingX 用于水平文本排列,这是从当前光标位置到字形图像最左边的边界的水平距离。 horiBearingY 用于水平文本排列,这是从当前光标位置(位于基线)到字形图像最上边的边界的水平距离。 horiAdvance 用于水平文本排列,当字形作为字符串的一部分被绘制时

【YOLACT】测试自己数据集

馋奶兔 提交于 2020-02-05 06:38:30
在上面已经讲过如何训练了 https://blog.csdn.net/u013066730/article/details/103720215 那么需要将eval_cell.py中的加 ########################################的内容进行修改,具体请看下面的代码。 主要就是修改输入的文件夹,然后修改解析输入的代码。 from data import COCODetection, get_label_map, MEANS, COLORS from yolact import Yolact from utils.augmentations import BaseTransform, FastBaseTransform, Resize from utils.functions import MovingAverage, ProgressBar from layers.box_utils import jaccard, center_size, mask_iou from utils import timer from utils.functions import SavePath from layers.output_utils import postprocess, undo_image_transformation import

RCNN keras实现

蹲街弑〆低调 提交于 2020-01-24 19:32:54
代码地址: https://github.com/xiaoxu1025/rcnn-keras 这里仅仅只是做了个简单的实现 方便对论文有更深的理解 代码参考: https://blog.csdn.net/u014796085/article/details/83931150 https://github.com/yangxue0827/RCNN R-CNN分为三个部分 selective-search、特征抽取、svm 对于模型我这里是用的keras自带的VGG16来做特征抽取 from keras.applications.vgg16 import VGG16 from keras.models import Model from keras.layers import Dense, Flatten, Input def create_model(num_classes): input = Input(shape=(224, 224, 3)) vgg16_model = VGG16(input_tensor=input, include_top=False) # 弹出最后一层 x = vgg16_model.output x = Flatten(name='flatten')(x) x = Dense(4096, activation='relu', name='fc1')(x)