![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ML、DL
文章平均质量分 85
北落师门XY
这个作者很懒,什么都没留下…
展开
-
基于MMdet的Cascade MASKRCNN 原理及源码解读
这篇文章提出了一种级联结构来改善检测及分割的效果(约有2-4的ap提升),虽然是 2018 年提出来的,但2021年做表格解析调研的时候,很多网络都用到了cascade的思想,可见确实有效。mismatch:训练和测试阶段的不匹配问题,训练阶段采用的Proposals 经过了处理,控制了positive和negitive的比例(positive和negitive的区分基于和gt的IOU,阈值的设置是个超参数,一般是0.5)。从阈值那张图的输入输出可以看出,输出已经改变了分布,不适合再用同一个H了。原创 2023-01-20 18:03:26 · 3619 阅读 · 0 评论 -
MMDet踩坑与使用体会
有意思的是,某些模型的AP范围,最差的backbone可能AP很低,但最好的又很高。如果改了配置文件coco_inatance.py而模型没变,注意把模型保存路径下的配置文件如cascade_mask_rcnn_r50_fpn_1x_coco.py删掉,之前训练的时候改了几次参数,最后的修改没完全更新上,效果烂烂的。如训练swin版的mask2former也要改调用的r50版配置文件,并且不同模型的类数量等参数可能命名方式不同,看一下配置文件就知道了。虽然在同个框架下,但loss不同。原创 2023-01-10 20:02:30 · 2418 阅读 · 6 评论 -
jieba中文分词
粗略来讲,jieba支持精确模式、全模式、搜索引擎模式、paddle模式,共4种模式。学习jieba 最好的参考资料是readme文件,在官方readme中除了以上4种模式还详细介绍了词性、关键词提取、修改词频suggest_freq、命令行分词、动态修改词典add_word等等方法。原创 2023-01-09 18:55:00 · 174 阅读 · 0 评论 -
基于MMDet的cascade MASKRCNN 入门
场景需要训练一个分割模型,参考这个场景大多数人的选择,决定用mmdet的maskrcnn,再进阶到cascade maskrcnn。实例分割Mask rcnn = 检测Faster rcnn + 语义分割FCN+ ROIAlign在Faster rcnn的cls+box分支基础上,增加了分割mask分支。ROIAlign替代ROIPool解决2次量化的影响。原创 2022-12-15 21:23:01 · 2831 阅读 · 0 评论 -
表格解析 概览
表格解析发展至今,仍然是一项很年轻的研究领域,出现了大量解决方案,常用的技术包括:线检测、box检测、分割、多模态融合、GCN、img2seq。以下按我的理解梳理一下表格解析各个流派,从中了解这项任务背后所采用的技术。在实际生产中,往往需要根据场景定制化多个模型进行堆叠以达到预期效果。注意:以下的流派是按个人理解划分。原创 2022-12-12 16:35:51 · 4047 阅读 · 1 评论 -
paddle——站在巨人肩膀上及背刺二三事
飞桨平台 https://www.paddlepaddle.org.cn/tutorials/projectdetail/4676538先抛结论,对于想要快速了解某一领域有哪些比较适合落地的算法的从业人员来说,是一个很好的参考系统。从中可以知道从哪些模型里选型、如何轻量化、如何加速、一些非常细节的FAQ。但是,这个框架维护上还是存在欠缺,比如很多人反馈的教程调不通,盘子铺得较大但维护没跟上;遇到一些报错的时候,相比pytorch这种大量使用的框架,能查到的解决方案较少。原创 2022-11-28 20:31:04 · 2324 阅读 · 4 评论 -
分词器与词表
有多种词表文件格式:vocab.txt、tokenizer.json。vocab.txt特殊token的介绍[CLS] 开始[SEP]结束,可用于分隔2个句子[UNK]未知字符[MASK]进行mask处##able 子词的后缀[unused10] 预留位,便于扩充词表。可在不改变此表大小基础上增加tokenBert如何使用预留的[unused*] - 简书tokenizer.json 特殊token的介绍<s>开始</s>结束<pad><原创 2022-06-29 13:44:01 · 2755 阅读 · 0 评论 -
Loss损失函数
本博客记录一下遇到的各种损失,如想了解各种损失及其代码,也可查看mmdet项目的loss部分 适用于多分类任务,交叉熵属于分类损失中常见的一种损失,-ylogP取平均,概率P为1时,损失为0。在bert的mlm预训练任务中使用了ignore_index入参,可仅根据部分位置(15%mask处)计算损失。在实际计算时,标签转为one-hot,y=0的位置-ylogP为0,不参与损失计算,可参考如下链接中的红色示例交叉熵损失和二元交叉熵损失_飞机火车巴雷特的博客-CSDN博客_交叉熵损失计算过程为:原创 2022-06-27 17:19:47 · 3179 阅读 · 0 评论 -
LayoutLM、LayoutLMV2、LayoutXLM、LayoutLMV3
微软一代LayoutLM用途:表单理解、票据理解、文档图像分类。也就是进行实体识别及分类。paper:https://github.com/microsoft/unilm/tree/master/layoutlm简介:https://www.msra.cn/zh-cn/news/features/layoutlmcode:https://github.com/microsoft/unilm/tree/master/layoutlm注意:https://github.com/m原创 2021-08-20 11:52:53 · 8461 阅读 · 1 评论 -
transformer
Attention在2014年由bengio团队提出。transformer本质是一种编解码结构。Bert基于transformer,用于生成词向量。transformer的编解码结构编码部分=self-Attenion+ Feed Forward Neural Network解码部分=self-Attenion+ Encoder-Deccoder Attention+ Feed Forward Neural Networkself-attention: ....原创 2021-08-11 19:02:28 · 1197 阅读 · 0 评论 -
YOLOv5
———————————yolov5—————————有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四个版本,只有模型宽度与深度的区别。四个组成部分:输入端:对输入图像进行缩放、归一化、数据增强等操作backbone基准网络:分类器网络提取特征Neck网络:进一步提升特征的表达能力Predition/Head输出端:预测,进行回归分类基础组件及其实现脚本CBL即Conv+BN+Leaky_relu。 CBM由2个cbl组成...原创 2021-06-25 18:03:52 · 1957 阅读 · 0 评论 -
图像增强技术
这篇文章笼统地介绍一下失焦模糊、运动模糊、低照图像恢复、hdr、超级夜景等提高图像质量的技术。图像拍摄的2个重要参数:光圈大小及曝光时间光圈大小:控制光线穿过孔的大小曝光时间(又称快门速度):控制光线投射到传感器上的时间 对某个场景进行拍摄,外部光线是固定的,要得到合适的曝光,需要将两个参数调节结合。光圈控制了景深,太近太远都会模糊,大光圈会导致景深变浅,远处(景深外)模糊(可以这么理解,但不一定正确,人看远处会眯眼看,睁大眼睛看不清)。长的曝光时间内,手抖或者物体移动...原创 2021-05-31 22:56:03 · 1954 阅读 · 0 评论 -
图像质量评价
图像质量评价iqa(Image Quality Assessment)通常视为一个回归或分类问题。图像质量评价有多种细分方式1)客观质量评价&主观美学评估 (Image Quality Assessment & Image AestheticQuality Assessment)客观质量评价:评价图像的曝光、清晰度、有无噪声等主观美学评估:评价图像的构图、颜色、内容主体等2)全参考、半参考、无参考全参考(Full-Reference,FR):同时有原始(无失.原创 2021-05-26 10:14:28 · 4135 阅读 · 0 评论 -
基于【基于(基于pytorch的resnet)的fpn】的psenet
源码:https://github.com/whai362/PSENet源码里pse有python和c++2种版本,以下以python说明上图中绿色的F为H*W*7尺寸的特征图,7为kernals数量,一般为7,可做7层的渐近缩放,H*W为原图尺寸。def pse(kernals, min_area): kernal_num = len(kernals) # 通道数量,做n层的渐近缩放 pred = np.zeros(kernals[0].shape, dtype.原创 2021-03-15 23:10:30 · 360 阅读 · 0 评论 -
基于(基于pytorch的resnet)的fpn
FPN(feature pyramid networks)特征金字塔网络说明:这部分代码及截图是从psenet中截取出来的自底向上+自顶向下+横向连接自底向上上图左,用resnet提取多层特征自顶向下上图右,将高层特征图上采样后与低层特征图融合横向连接从上图左到上图右,需要将特征图经过卷积减少通道数add与cat的区别https://blog.csdn.net/weixin_42926076/article/details/100660188class Re原创 2021-03-14 22:05:05 · 1306 阅读 · 1 评论 -
基于pytorch的resnet
resnet系列结构图 BasicBlock Bottleneck见图1:相关文章:https://blog.csdn.net/qq_42278791/article/details/90690747...原创 2021-03-14 16:56:33 · 459 阅读 · 1 评论 -
中文文本纠错
常见错误原因及类型语音识别(ASR AutomaticSpeechRecognition):谐音(眼镜->眼睛)、混淆音(流浪->牛郎)形近字:OCR|五笔|手写|拼音(伍拾元->伍抬元,高粱->高梁)拼音全拼:shanghai->上海拼音缩写:sh->上海字词顺序颠倒字词补全语法错误一般流程错误识别生成纠正候选(召回率的保证)评价纠正候选(排序选择最可能的候选,当比原句优秀时才做纠错)pycorrector安装:pip原创 2021-01-06 21:43:33 · 3886 阅读 · 0 评论 -
语义分割&实例分割
三个层次:物体分割、语义分割、实例分割物体分割(利用灰度值的不连续性及相似性,做前景、背景的分割,不区分主体)语义分割(像素级分类)包含:FCN、SegNet、DeepLab、RefineNet、PSPNet常用数据集如下:FCN(Fully Convolutional Networks 全卷积网络)https://blog.csdn.net/qq_36269513/article/details/804203631)虚线以上是全卷积提取特征,最后2层用卷积替代了.原创 2020-12-21 22:55:27 · 5130 阅读 · 1 评论 -
OCR字符识别
前言 最简单的Lenet网络使用的是多层卷积+softmax,存在不足:输入图像是分割好的单个字符,更理想的形式是将分割与识别组合为端到端的网络。且使用softmax的机制意味着分割后子图的数量决定了输出字符串的长度。 当前OCR的问题在于对倾斜文本、弯曲文本、二维文本的识别效果不佳,且在ASTER方法中,预测时会出现某个字识别错误后后面全错的问题。CTCCNN+RNN......原创 2020-02-06 15:23:30 · 1432 阅读 · 0 评论 -
超参数的调节
一、学习率的调节• 选择在训练数据上的代价立即开始下降而非震荡或者增加时作为学习速率的阈值的估计,以量级(如1.0,0.1,0.01…)为估计寻找阈值。若开始就下降就提高学习速率;若开始就震荡或增加就降低学习速率。找到阈值后可取阈值的一般作为学习速率。• 可变学习速率:在开始时使用较大的学习速率以期快速收敛,随着越来越接近谷底,换成较小的学习速率,避免在谷底大幅...原创 2018-07-06 20:33:42 · 1789 阅读 · 0 评论 -
PCA、LDA降维——应用于wine葡萄酒数据集
参考教程:https://mp.weixin.qq.com/s/QqqLAxx92v_HOg7QBKrK6A一、wine数据集介绍sklearn的wine数据,它有178个样本,13个特征(Alcohol ,Malic acid ,Ash等),总共分为三类。二、查看三个特征下的数据分布#葡萄酒数据集+PCAimport matplotlib.pyplot as plt#画图工具...原创 2018-07-06 19:56:51 · 12561 阅读 · 0 评论 -
PCA线性降维——应用于IRIS鸢尾花数据集
一、IRIS数据集Iris数据集是常用的分类实验数据集,也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度(sepal length,sepal width ,petal length ,petal width )4个特征预测鸢尾花卉属于(Setosa,Versicolour,V...原创 2018-07-06 16:48:05 · 9480 阅读 · 0 评论 -
树(ID3,C4.5,CART,信息增益,信息增益比,基尼指数)
ID3:离散特征(标称型数据)、贪心算法、信息增益、特征所有取值切分(非二分)缺点:有偏向问题,过拟合,只能离散型数据C4.5:离散/连续特征(对连续属性扫描排序,设定阈值,二分样本)、信息增益比(引入分裂信息(Split information)的项来惩罚取值较多的Feature)、可剪枝(合并叶节点)、可处理缺失值(可参考缺失值处理)CART:分类回归树、二元切分、节点分裂可用各种回归树:每个...原创 2018-07-11 22:18:45 · 1783 阅读 · 0 评论 -
集成学习(boosting/bagging/stracking/Adaboost/GBDT/xgboost/RF)
集成学习的三种思路:1)基于不同类型弱分类器。2)基于相同类型但参数不同弱分类器。串行,例如boosting中的adaboost3)基于相同类型但训练集不同弱分类器 Boosting 迭代提升,串行。基于弱分类器分错的样本,改变样本的概率分布构成新训练集,训练一个更强的学习器。迭代得到的一系列弱分类器,根据合并弱的学习模型来创造一个强大的学习模型。但是,只有当...原创 2018-07-11 21:45:32 · 1674 阅读 · 0 评论 -
RF实践——基于sonar声呐数据集
一、相关数据数据集下载:https://archive.ics.uci.edu/ml/datasets/Connectionist+Bench+(Sonar,+Mines+vs.+Rocks) 注:下载 sonar.all-data并重命名为sonar.all-data.csv 增加后缀改变文件格式,放到project用excel打开数据集,有208行60列特征(值...原创 2018-07-14 22:59:06 · 10173 阅读 · 4 评论 -
经典CNN网络(Lenet、Alexnet、GooleNet、VGG、ResNet、DenseNet)
Lenet(1986)主要用于识别10个手写邮政编码数字,5*5卷积核,stride=1,最大池化。Alexnet(2012)卷积部分都是画成上下两块,意思是说把这一层计算出来的feature map分开,但是前一层用到的数据要看连接的虚线。引入Group群卷积概念,最早是为了应对训练时硬件限制问题,额外的好处是减少参数,抑制过拟合,具体做法是:假设上一层的输出fea...原创 2018-07-21 17:09:31 · 18172 阅读 · 0 评论 -
评价指标——精确度,召回率,真阳率,假阳率,P-R曲线,ROC曲线,AUC
1.定义精确度(precision)/查准率:TP/(TP+FP)=TP/P 预测为真中,实际为正样本的概率召回率(recall)/查全率:TP/(TP+FN) 正样本中,被识别为真的概率假阳率(False positive rate):FPR = FP/(FP+TN) 负样本中,被识别为真的概率真阳率(True positive rate):TPR = TP/(TP+F...原创 2018-12-28 22:16:49 · 14188 阅读 · 3 评论 -
GAN、CGAN、DCGAN、Cycle GAN、SAGAN、WGAN、StarGAN
GAN:值函数(评价函数,非损失函数):x表示真实图片,z表示输入噪声,x~Pdata(x)与x~Pz(z)表示满足各自的分布律。理想状态下,D(G(Z))=0.5更新方式:交替训练G(Generator)和D(Discriminator), D加梯度,G减梯度简单讲一下上面两个公式,m指样本个数,从评价函数出发:第一个公式,更新的是D的w()第二个...原创 2019-01-21 21:10:54 · 3651 阅读 · 6 评论 -
数据集的拆分
零、概念分层采样:保留类别比例的采样 一、留出法 拆成两个互斥的集合,一个训练集S,一个测试集T缺点:T小时评估结果不够稳定准确;S小时,训练时的数据S与S+D差别较大,训练出来的模型与用S+D训练出来的模型差别较大,降低了评估结果的保真性 二、交叉验证法k折交叉验证的k个测试结果取平均作为最终结果 留一法是对m个样本进行m折的特例,优点是不用考虑分层采样...原创 2019-01-22 16:00:32 · 1627 阅读 · 0 评论 -
20180325NN&DL(抑制过拟合)
1.神经元饱和 如果输出神经元是低激活或者高激活(激活在接近0或者1时),那么最后一层中的权重将学习得很慢,这种情况就是输出神经元饱和了,权重停止学习或者学习得很慢。有篇文章讲的是不同的激活函数的饱和问题:https://blog.csdn.net/margretwg/article/details/676349772.交叉熵 熵是一种不确定性的一种度量,如果得到的结果和...原创 2019-01-22 16:10:54 · 209 阅读 · 0 评论 -
GPU编程
查看服务器上gpu使用情况(shell)watch -n 1 nvidia-smi查看当前环境是否有gpu(python)torch.cuda.is_available()指定使用某一块gpu(单GPU)os.environ["CUDA_VISIBLE_DEVICES"] = "3"将数据放到gpu上计算方法一:a_cuda = a.cuda()方法二:self....原创 2019-03-14 20:52:11 · 1018 阅读 · 0 评论 -
图像目标检测网络
一、定义ROI(region of interest):感兴趣区域region proposal method:候选区域方法RPN(region proposal network):候选区域网络滑动窗口检测SS(selective search):选择性搜索二、RCNN用候选区域方法替代滑动窗口,更快更准。CNN classifier用于获取4096个特征,SVM用于确...原创 2019-10-14 22:43:39 · 1206 阅读 · 0 评论 -
基于sklearn分析特征工程(特征预处理、特征选择、降维)
特征相关文章推荐:https://www.zhihu.com/question/29316149原创 2018-07-09 21:41:50 · 4117 阅读 · 0 评论