- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 BERT学习笔记
与之前模型的区别:GPT考虑的是一个单向预测,用左边的词预测右边的词;但BERT则是同时利用左边和右边的词,来预测中间的词ELMO用的BiLSTM,但是它使用的是RNN结构,在应用到下游任务时它需要对模型结构做调整;但BERT使用的是transformer,在下游任务中只需要改上层的一小部分就可以了基本效果:11个任务上取得更高的精度GLUE提升7.7%,至80.5%;MultiL1提升4.6%,至86.7%;SQuAD v1.1提升1.5,至93.2;SQuAD v2提升5.1,至83.1。
2024-02-23 09:30:12 1327
原创 bbox 四个顶点排序
1、问题已知矩形框(或者任意形状框,但必须是凸包)的四个顶点坐标,将其按照 “左上→右上→右下→左下” 的顺序排序。2、思路一般性的解决方案:先计算矩形框对角线的交点坐标 (Cx,Cy)(C_x, C_y)(Cx,Cy),则:x<Cx,y<Cyx<C_x, y<C_yx<Cx,y<Cy 的是左上,x>Cx,y<Cyx>C_x, y<C_yx>Cx,y<Cy 的是右上,x>Cx,y>Cyx>C_x, y
2021-07-23 17:01:46 1870 1
原创 Transformer 学习笔记
1 为什么要用 Transformer ?(创新点)1.1 问题来源最开始机器翻译使用的 seq2seq 所存在的问题:encoder 和 decoder 之间的上下文向量长度固定,但输入文本的长度是不固定的,长度不对称固定长度的上下文向量无法对长语句做有效编码,会遇到信息瓶颈,产生信息丢失的情况为了解决上述问题,基于 attention 的 seq2seq 随即被提出(这个 attention 跟 transformer 中的 self-attention 是不一样的),它能很好地利用权
2021-03-30 09:28:21 2515
原创 六、OpenCV-python 之图像处理(Ⅳ)——模板匹配/分水岭/GrabCut
一、模板匹配1、单目标单目标模板匹配的原理:模板图像在输入图像上做滑动操作(类似于 2D 卷积),模板图像与所在原图 patch 做比较,最终返回一个灰度图,每个像素代表该像素的邻域与模板的相似度。当输入图像尺寸为 (W,H)(W, H)(W,H)、模板图像尺寸为 (w,h)(w,h)(w,h) 时,输出图像尺寸为 (W−w+1,H−h+1)(W-w+1, H-h+1)(W−w+1,H−h+1)。 一旦得到结果,就可以使用cv.minMaxLoc() 函数来查找最大值/最小值的位置,取它为矩形的左上角,
2020-11-30 11:04:03 1269
原创 OpenCV 截取任意形状的ROI
规则矩形的ROI提取可以使用 numpy 的数据切片操作,但是真实场景的ROI形状并不规则,可能伴随着旋转角度、多点折线等特征。这里介绍利用 OpenCV 截取任意形状ROI的基本思路。会使用到的几个比较重要的方法有:直线拟合:cv.fitLine旋转矩阵:cv.getRotationMatrix2D仿射变换:cv.warpAffine轮廓绘制:cv.drawContours图像融合:cv.add外接框拟合:cv.minAreaRect一、基本思路这里针对的是一般的 BGR 图像,ROI
2020-11-26 11:03:37 2077 3
原创 ABCNet 论文阅读笔记
一、论文《ABCNet: Real-time Scene Text Spotting with Adaptive Bezier-Curve Network》二、代码[ABCNet]:初始代码位置[AdelaiDet]:最新代码位置,初始代码不再更新三、创新点之前的文本识别基本分两种类型:基于字符,基于分割。这些方法要么需要花费大量的精力去做字符级的数据标注,要么就是检测与识别分开,需要维护一个复杂的 pipeline。ABCNet 从数据标注、模型规模、推理速度等方面做出优化,主要的贡献有三点:
2020-11-11 15:15:30 1048 1
原创 五、OpenCV-python 之图像处理(Ⅲ)——傅里叶变换
一、傅里叶变换是啥?1、数学定义若 f(x)f(x)f(x) 为非周期函数,在 xxx 的整个周期内满足狄里赫利条件,则 f(x)f(x)f(x) 可以用叠加积分表示:f(x)=∫−∞∞F(u)ej2πuxduf(x)=\intop_{-\infty}^{\infty}F(u)e^{j2\pi ux}duf(x)=−∞∫∞F(u)ej2πuxdu2、实质从定义可以看到,一个复杂的函数可以表示为很多个简单函数的和(积分就是求和),把它放到信号处理场景中就是:傅里叶变换可以将一个信号分离为无穷多
2020-11-07 14:20:11 1045
原创 四、OpenCV-python 之 图像处理(Ⅱ)——轮廓/直方图
1、等高线contourOpenCV中的 contour 计算需要先将图像二值化处理,在二值图中从黑色背景上找到白色前景对象(一个个的闭环区域),该方法可用在在形状分析、目标检测与识别中。# 在二值图上计算 contourcontours, hierarchy = cv.findContours(image, mode, method, offset)# 将 contour 画在图像上c...
2020-11-05 15:44:00 1415
原创 OpenCV 常用检测算法
一、直线检测1、直线检测cv.HoughLines:使用标准霍夫变换,找到二值图像中的直线lines = cv.HoughLines( image, # 8-bit、单通道的二值图像 rho, # 累加器的距离分辨率,以像素为单位 theta, # 累加器的角度分辨率,以弧度为单位 threshold, # 累加器的阈值参数,太大会过滤大部分直线,太小则误检测会很多 lines, # srn, # 对于多尺度霍夫变换,
2020-10-16 19:56:56 4105 1
原创 Pandas基本API集锦
一、pandas 简介pandas 是基于 numpy 的一种工具,该工具是为了解决数据分析任务而创建的。它有两种常见的数据类型:Series,DataFrame。Series 是 pandas 中最基本的对象,类似一维数组,可以自定义标签(也就是索引),通过索引可以访问数组中的数据。DataFrame 是一个二维表结构,能够存储多种不同类型的数据,并且每一个坐标轴都有自己的标签,可以把它当作一个 Series 的字典项。二、Series 对象1、Series 的创建# 通过列表创建,此时会默认从
2020-07-30 23:15:56 2384
原创 CASIA-HWDB2.x 数据集DGRL文件解析(python)
CASIA-HWDB 数据集是最常见的手写汉字识别数据集,它包含脱机、联机两部分,分单字、文本行两种类型:HWDB1.x:脱机单字,1.0~1.2 三个版本,数据格式为 .gntOLHWDB1.x:联机单字,1.0~1.2 三个版本,HWDB2.x:脱机文本行,1.0~1.2 三个版本,数据格式为 .dgrlOLHWDB1.x:联机文本行,1.0~1.2 三个版本,一般常用的汉字识别多为脱机单字识别,该部分数据格式为 .gnt,网络上针对这种数据的解析文章也很多,这里主要介绍文本行识别数据集,
2020-06-30 21:02:39 5374 20
原创 matplotlib基本绘图API集锦
一、基本使用流程import matplotlib.pyplot as plt # 导入模块# 画布设置plt.figure(figsize=(12,9)) # 设置图像尺寸大小,参数值乘以100表示分辨率plt.subplot(m,n,j) # 多个图排列plt.figure().tight_layout() # 多个图排列时自动设置间距,消除重叠# 画图plt.plot(x, y)# 图形设置plt.xlabel( 'heigh
2020-06-20 18:56:11 799
原创 viterbi 算法与python实现
Viterbi算法(部分内容转自知乎:《如何通俗地讲解 viterbi 算法?》)1、问题描述如下如所示,如何快速找到从 S 到 E 的最短路径?一:遍历穷举法,可行,但速度太慢;二:viterbi算法!注:viterbi 维特比算法解决的是篱笆型图的最短路径问题,图的节点按列组织,每列的节点数量可以不一样,每一列的节点只能和相邻列的节点相连,不能跨列相连,节点之间有着不同的距离,距离的值就不在图上一一标注出来了,大家自行脑补。2、算法分析(1)S 到 A 列的最短路径首先起点是S,
2020-06-02 15:21:19 1429
原创 Markdown编辑器typora集成图床插件,轻松搞定博客图片丢失问题
typora-copy-images-to: upload1、IDE工具:typora优势:书写方便,文档在编辑完成后迅速转换为阅读模式,效果能够实时呈现,方便修改调整;各种公式、插图、表格、代码等都能轻易实现,布局方便;UI界面简洁优美,操作起来得心应手。2、图床插件:picGo2.2.2下载:官方,非官方,官方下载速度太慢了!安装与配置:Windows安装直接点击....
2020-03-25 14:48:58 921
原创 Video Understanding(3)——Spatio-Temporal Action Localization时空动作定位
《Action Tubelet Detector for Spatio-Temporal Action Localization》,2017,[caffe]《Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos 》,2017,[caffe]
2020-01-13 09:30:39 3495 8
原创 评价度量指标之BLEU,METEOR,ROUGE,CIDEr
在 VTT (Video to Text) 任务中,需要衡量模型输出的视频描述语句的准确性,因为衡量的对象是一个个的自然语言文本,所以通常会选择自然语言处理领域的相关评价指标。这些指标原先都是用来度量机器翻译结果质量的,并且被证明可以很好的反映待评测语句的准确性,主要包含4种:BLEU,METEOR,ROUGE,CIDEr。1、BLEUBLEU(Bilingual Evaluation und...
2019-12-25 21:08:53 10135 4
原创 目标检测之RCNN、Yolo、SSD、RetinaNet与Anchor-Free
1、RCNN系列1.1 从RCNN到Fast RCNN、Faster RCNN(1)RCNNObject Detection任务主要包含两个内容:识别物体,确定位置。在识别物体这一块,传统的做法是利用特征点来表征物体的类,例如:SIFT,SURF等;在CNN方法出现之后,普遍采用“卷积+池化+全连接”的方式来完成。而对于确定物体的位置,最流行的就是莫过于Region Proposal,在图像...
2019-12-06 09:32:42 2809
原创 python+OpenCV+cuda计算光流
利用OpenCV计算TVL1光流,具体实现可参考 这里,需要注意的是要用 opencv-contrib-python,opencv-python 是不包含光流计算模块的;这是纯 CPU 的计算方式,计算速度为大约为 3FPS,很难实现实时,考虑使用GPU加速。1、OpenCV3.x / OpenCV2.xOpenCV本身支持C++的GPU光流计算方法,完成编译就能使用,但是python的GPU...
2019-10-24 20:28:12 4816 8
原创 Video Understanding(2)——Temporal Action Detection时序动作检测
上一篇文章《Video Understanding(1)——Action Recognition动作识别》翻译于一篇综述,可以作为动作识别的入门内容看待(其实现在回过头来看,里面的内容很粗糙,只能提供大方向上的参考)。本文则作为补充,记录一下自己学习动作识别的历程。1、TSN1.1 算法理解1.2 代码实现2、Decouple-SSAD2.1 算法理解2.2 代码实现2.3 后续问题...
2019-09-23 20:16:37 1814
原创 Face++(旷视)人脸检测SDK开发流程
1、SDK下载2、新建项目工程3、核心文件导入SDK包含三个核心文件:MGFaceppSDK-0.5.2.aar :里面包含SDK 的接口,一般使用最多的接口都封装在这里;MGLicenseManagerSDK-0.3.1.aar :授权SDK,专门负责检验授权,每次应用启动第一件事就是检测授权;megviifacepp_0_5_2_model :做人脸检测的模型文件,旷视将其合并压...
2019-09-09 19:00:49 4565
原创 Video Understanding(1)——Action Recognition动作识别
1.推荐阅读动作识别综述动作识别开源集锦2.何为 Action Recognition这里讨论的动作识别针对的是视频帧,也就是说:对每一帧图像进行动作的分类,然后总结出该序列帧属于哪一类动作。事实上,图像分类已经取得了比较喜人的成绩,但是对于视频分类(video classification)、表征学习(representation learning)来说,深度学习的进展还显得比较缓慢。...
2019-07-07 21:16:08 2570 1
原创 语义分割之FCN、Deeplab V3+
1、相关参考链接基本概念:语义分割三维语义分割空洞卷积两篇综述最新论文:LEDNet这里将语义分割网络分为两类:一类是以FCN为代表的“encode-decode”,另一类是以Deeplab为代表的“dilate convolution”(空洞卷积网络)。2、从FCN讲起FCN(Fully Convolutional Networks for Semantic Segmenta...
2019-05-22 19:36:16 5922
原创 准确率、召回率和mAP、AP50/75
1、准确率和召回率真实值与预测值之间的关系为:准确率(precision)和召回率(recall)作为统计值,各自的计算方式:P=TPTP+FPP=\frac{TP}{TP+FP}P=TP+FPTPR=TPTP+FNR=\frac{TP}{TP+FN}R=TP+FNTP准确率 PPP 给出了“预测为真值的样本中确实有多少比例为真值”,召回率 RRR 给出了“本来就是真值的样本模型预测出...
2019-05-13 11:27:13 29678 2
原创 三、OpenCV-python 之 图像处理(Ⅰ)——空间转换/阈值/形态学/滤波/边缘检测/图像金字塔
1、空间转换OpenCV的图像颜色空间很多,常见的有BGR、HSV等。cv.cvtColor(input_image, flag) # 空间转换函数,flag参数多达150多种,常用的cv.COLOR_BGR2GRAY、cv.COLOR_BGR2HSV(1)HSV空间中,色调范围Hue range【0,179】,饱和度Saturation range【0,255】,颜色明亮程度Valu...
2019-05-11 16:32:36 970
原创 二、OpenCV-python 之 图像像素操作
1、像素值操作OpenCV读取图像后,将其作为numpy存储,所以大部分的图像计算都是numpy的工作px = img[100,100] # 获取像素点(100,100)的三通道颜色值blue = img[100,100,0] # 获取像素点(100,100)的蓝色通道数值img[100,100] = [255,255,255] # 修改像素点(100,100)的三通道颜色值...
2019-05-09 21:27:54 1018
原创 一、OpenCV-python 之 图像/视频/绘图
1、图像部分图像读取cv.imread(filepath, model)filepath:图片路径model:cv.IMREAD_COLOR读取3通道BGR图像,默认参数 cv.IMREAD_GRAYSCALE 读取灰度图 cv.IMREAD_UNCHANGED 读取4通道rgba图像注意:(1)读取是根据内容,而不是根据文件名...
2019-05-09 19:37:25 839
原创 人体姿态估计:OpenPose、CPN
1、OpenPose2、CPNCPN(Cascaded Pyramid Network for Multi-Person Pose Estimation,级联金字塔网络)是2017 COCO Keypoints Challenge的冠军(同年亚军是AlphaPose),由旷视完成。它的主要工作是人体关键点检测,也就是说它是建立在人体边框检测的基础之上的,原文的人体边框检测是由FPN(就是Mas...
2019-05-06 18:06:28 2851
原创 分类任务之LeNet-5、AlexNet、VGG、ResNet、GoogLeNet
1、LeNet-5手写体数字识别模型,是一个广为人知的商用的卷积神经网络, 当年美国大多数银行用它来识别支票上面的手写数字。Lenet-5 原始结构如下图所示,包括:卷积层,降采样,卷积层,降采样,卷积层(实现全连接),全连接层,高斯连接层(进行分类)。在后期发展中,降采样层被 max_poolingmax\_poolingmax_pooling 所取代,分类也被 softmaxsoftm......
2019-04-01 21:28:47 1928
原创 协方差与相关系数
1、联合分布均值和方差是我们再熟悉不过的两个概念,但它们都是基于单一随机变量,如果考虑多个随机变量呢?例如,在体检中身高和体重;这就属于联合分布的范畴了。定义:关于随机向量(多个随机变量)的分布称为联合分布。联合分布函数作为描述随机向量的概率分布而存在。举例说明:假设身高为随机变量 x1x_1x1,体重为随机变量 x2x_2x2,随机向量 X=(x1,x2)X=(x_1,x_2)X=...
2019-02-15 17:57:07 1751
原创 图片内公式转LaTeX
一个超级实用的工具软件Mathpix,它可以将图片中的公式快速转换为LaTeX,免去了大量人工手动转换的时间,个人觉得很好用!!!例如现在有一篇文章(PDF版本),里面有很多公式,想要把它搬到自己的博客但又不想用截图,自己手动一个个敲上去实在太慢,那么可以用Mathpix直接截图、转换,公式的LaTeX代码就得到了,直接copy过来即可。该工具支持Windows、Linux、Mac系统,具体操...
2019-01-08 10:27:55 1277
原创 贝叶斯公式与极大似然估计
条件概率在事件 AAA 发生的前提下,事件 BBB 发生的概率就叫做条件概率,表示为:P(B∣A)P(B|A)P(B∣A)。那么如何去计算这个条件概率?其实一般说到条件概率的时候,事件 A、BA、BA、B 是有交集的,也就是说事件 AAA 和事件 BBB 有可能同时发生,它们同时发生的概率表示为:P(AB)P(AB)P(AB)。有了这个就可以计算条件概率了:P(B∣A)=P(AB)P(A)P(B...
2018-12-23 16:39:42 418
原创 损失函数
CrossEntropy Loss熵的概念来源于信息论,表示的是系统内部的紊乱程度;与之相关的几个概念有:信息熵,相对熵,散度。 熵信息熵可以看成事件的信息量,事件越不确定表示系统内部越紊乱,产生的结果越有多样性,每种结果发生的概率越小,不确定性越大,信息量也就越大。假设有一事件XXX,可能的结果是x0x_0x0,该结果发生的概率为p(x0)p(x_0)p(x0),则该结果的不确定性定...
2018-12-23 12:50:45 404
ECO-pytorch的模型结构、测试脚本
2019-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人