聚类概念 属于无监督学习(无标签) 顾名思义,就是将相似的东西分到一组 难点在于如何评估聚类效果以及调整参数 基本概念 K代表最后需要得到的簇个数(比如二分类K=2) 一个簇的质心计算:采用均值,即每个特征向量取平均值 距离度量:经常使用欧几里得距离和余弦相似度(高维特征最好先执行一次标准化) 优化目标:实现$min\sum_{i=1}^{k}\sum_{x∈C_i}dist(C_i,x)^2$ 优缺点 优点: 算法简单、快速 适合常规数据集(就是一坨一坨的那种,没有特定形状) 缺点: K值难以确定(一般是遍历K值取Inertia的拐点) 算法复杂度与样本呈线性关系(一次迭代) 很难发现任意形状的簇,比如二维特征的样本,一个圆环套一个球的形状KMeans就很难检测出来。 算法流程 首先随机选取K个样本作为K个簇的中心(在KMeans++中,使用最大距离进行初始化) KMeans++逐个选取K个簇中心,且离其它簇中心越远的样本点越有可能被选为下一个簇中心 将每个样本分配到K个簇中,具体选择哪个簇取决于该样本和K个簇的距离,选择距离最近的簇(分配样本
OFD(Open Fixed-layout Document) OFD 是开放版式文档(Open Fixed-layout Document )的英文缩写,是我国国家版式文档格式标准,通俗来说,也有人称这格式为国产PDF。但是在很多方面的性能优于PDF的同类文档。OFD也逐渐开始在电子发票、电子公文、电子证照等等的领域中应用。 JJJYmmm目前有把OFD转换成txt的需求,但是网上大多是OFD<--->PDF的方法。所以决定自己动手,丰衣足食(bushi) OFD格式 OFD其实一个压缩文件,如果我们尝试解压,将会得到如下的目录结构。 OFD.xml里面一般是文档的描述信息,比如创建时间、最迟修改时间、作者等等 Doc_0里保存的是具体文档信息,我们主要关注Pages文件夹中的内容Content.xml,这里面保存的是文档主体内容,也就是我们需要提取的. 观察Content.xml里的内容,可以发现 : 字符在\<ofd:TextCode>字段中,而\<ofd:TextCode>嵌套在\<ofd:TextObject>对象里,众多TextObj
整体思路 GeneralizedRCNNTransform主要用在图像进入backbone网络前的预处理以及预测结果输出时的后处理两个阶段.主要工作是图像的标准化处理以及resize操作. 函数细节 __init__ __init__函数主要输入图像的均值和方差,以及resize时图片的最小(大)边长范围 normalize 最后一行通过添加None这个维度可以增加一维维度,再利用广播机制对image的每个像素都进行操作. resize 这个方法首先调用_resize_image使用双线性插值调整图片大小,再通过resize_boxes调整对应的box大小. _resize_image 根据宽高限制来确定缩放比例,调用interpolate对图像进行双线性插值,这里在image又添加一个维度,是因为interpolate方法输入需要是4D图像 resize_boxes 按照缩放比例调整box坐标即可.这里torch.stack()会在tensor最后新增一个维度,这里就是在最后一个维度摞起来 batch_images 这
整体思路 以上是Faster RCNN的整体网络框架图,首先需要构建一个基础的网络框架类FasterRCNNBase,随后在此基础上构建子类FasterRCNN,在这个类中进行各个模块如RPN/ROI Header的实例化. FasterRCNNBase init函数接收backbone/rpn/roi_heads/transform四个变量并初始化参数. 主要看forward函数.首先会对训练数据(bbox的tensor格式)进行检查.然后记录图片原始的大小. 接着进行预处理,丢到骨干网络中得到特征图(如果在多个特征图上预测,得到的特征图将是一个字典) 在特征图上使用RPN网络提取Proposal,并得到RPN网络的损失. 将RPN生成的Proposal,随同特征图与标注target丢入ROI_Header中得到预测结果和预测损失.最后还需要将预测结果进行预处理. 最后当然就是把RPN Loss和Fast RCNN Loss加起来反向传播~(如果是预测模式直接返回detections即可,eager_outpus就是
Faster RCNN框架图 图源: deep-learning-for-image-processing/pytorch_object_detection/faster_rcnn at master · WZMIAOMIAO/deep-learning-for-image-processing (github.com) 源码主要内容 Faster R-CNN源码阅读将从以下几个方面展开,详见其他文档 DataSet 网络框架 GeneralizedRCNNTransform RPN Predict Header 正负样本划分与采样 Loss函数 PostProcess Change Backbone(with FPN) 环境配置 Python 3.6/3.7/3.8 Pytorch>=1.6.0 pycocotools Ubuntu or Centos Use Gpu to train model more details see requirements.txt 文件结构 ├── backbone: 特征提取网络,
Axuanz
Updating as per fate.