Computer Vision
目标检测等视觉任务
highoooo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Yolact
Yolact原创 2022-12-10 16:55:36 · 986 阅读 · 0 评论 -
BN
BN原创 2022-11-29 17:32:52 · 126 阅读 · 0 评论 -
yolov5-seg
yolov5-seg原创 2022-11-16 16:47:56 · 811 阅读 · 2 评论 -
CV2 开闭
图像开运算是图像依次经过腐蚀、膨胀处理后的过程。图像被腐蚀后,去除了噪声,但是也压缩了图像;接着对腐蚀过的图像进行膨胀处理,可以去除噪声,并保留原有图像。开运算实际是先腐蚀运算,再膨胀运算,把看上去把细微连在一起的两块目标分开了。一般来说,开运算可以使图像的轮廓变得光滑,还能使狭窄的连接断开和消除细毛刺。开运算在过滤噪声的同时并没有对物体的形状、轮廓造成明显的影响,这是一大优势。当只关心物体的位置或者个数时,物体形状的改变不会给任务带来困扰,此时用开运算处理具有处理速度上的优势。闭运算是开运算的相反操作,先原创 2022-07-08 11:10:22 · 653 阅读 · 0 评论 -
detection 小缺陷检测方案
jetson TX2tensorrt 7/8cuda 10.2MVS hikcamerayolov5v6.0 ultralytics/tensorrtx方案:1.直接训练v5L模型2.转换tensorrt模型效果:1280肯定优于640推理速度:120ms(L,640),430ms(L,1280)方案:1.24482048 原图2.12001200 resize3.6406404 split4.24482048 merge推理速度:120ms(S,30ms4),500ms(L,12原创 2022-07-07 16:34:38 · 889 阅读 · 0 评论 -
我在self-attention中对Query,Key,Value的理解
Non-local means可先了解相关内容Non-local meansNon-local Neural Networks作用:突破局部限制,不管是CNN还是RNN计算式图解论文原创 2022-03-18 13:55:44 · 1646 阅读 · 0 评论 -
PHOT-
import cv2import osimport numpy as npimport time# calculate The Phase Only Transformdef PHOT(image): # DFT F = np.fft.fft2(image) # get magnitude M = np.abs(F) # Get phase P = F / M # Reconstruct image from phase R =原创 2021-12-08 13:51:36 · 2557 阅读 · 0 评论 -
yolov5 TensorRT 模型转换/量化加速/视频推理
cmake update2. wget https://cmake.org/files/v3.13/cmake-3.13.0.tar.gz3. tar -xzvf cmake-3.13.0.tar.gz4. cd cmake-3.13.05. ./bootstrap --qt-gui in order to build the cmake-gui tool, 6. appending –qt-gui option7. make -j48. sudo make install原创 2021-10-29 14:37:47 · 1673 阅读 · 0 评论 -
Yolov5 TensorRT .engine文件的生成和推理过程,以及如何从GPU中得到图片进行自定义(根据任务需求的)后处理
文章目录一、create a model using the API directly and serialize it to a stream二、deserialize the .engine and data prepare三、run inference四、get image一、create a model using the API directly and serialize it to a stream//如果不存在wts_name //create a model using the原创 2021-11-18 11:33:06 · 3545 阅读 · 0 评论 -
yolov5 .yaml文件模型读取部分
yolov5 LoadModel部分一、相关文件和读取参数如果需要用预训练模型,下载后 --weights改为’~.pt’ --cfg为空,直接训练–weights为空 --cfg为’~.yaml’二、 不使用预训练模型(__init__部分)1.Model类得到cfg,ch,nc,anchors 4个参数2.通过参数加载模型(★★★★★)from:表示当前模块的输入来自那一层的输出,-1表示来自上一层的输出。number: 表示当前模块的理论重复次数,实际的重复次数还要由上面的参数de原创 2021-11-17 14:31:50 · 4982 阅读 · 1 评论 -
yolov5-deepstream
一、pytorch模型转为tensorrt模型1.yololayer.h中修改class_num2.Cmakelist中修改cuda路径3.build中编译生成yolov5文件4.sudo ./yolov5 -s [.wts] [.engine] [s/m/l/x/s6/m6/l6/x6 or c/c6 gd gw] // serialize model to plan file 生成.engine文件5.sudo ./yolov5 -d yolov5.engine …/samples 确定原创 2021-11-09 17:21:38 · 3367 阅读 · 0 评论 -
Python 轨道区域检测(基于霍夫变换)
效果演示:(顺时针方向 - Ori-image/After canny/Final area/Hough lines)Maindef getline(imgpath): save_Edges = True save_Lines = True # Default - rate = 0.25 img, general_point = img_Preprocess(imgpath) gray, edges, orgb, orgb_lines, lines =原创 2021-10-14 10:26:51 · 2220 阅读 · 21 评论 -
yolov4-pacsp-s structure
原创 2021-09-29 15:35:33 · 255 阅读 · 0 评论 -
yolov4-pacsp-s
Scaled-YOLOv4Backbone(yolov4-csp):根据文章分析,当k大于1时,CSPNet才会比DarkNet计算量更少,因此,对于YoLov4的第一个CSPDarkNet层,将其改回为原来的DarkNet层。PAN & SPP:将原来的PAN也CSP化。仍然将SPP插入到第一组CSPPAN中,这一步可减少40%的计算量。...原创 2021-09-28 10:59:28 · 414 阅读 · 0 评论 -
yolov5 feature_visualization
def feature_visualization(x, module_type, stage, n=32, save_dir=Path('runs/detect/exp')): """ x: Features to be visualized module_type: Module type stage: Module stage within model n: Maximum number原创 2021-09-16 10:26:42 · 675 阅读 · 0 评论 -
yolov5s.pt -> onnx -> rknn
尝试失败的https://github.com/soloIife/yolov5_for_rknnrknn toolkit examples里面自带的均可转为rknn,yolov5s无法转换尝试成功的import yamlfrom rknn.api import RKNNimport cv2_model_load_dict = { 'caffe': 'load_caffe', 'tensorflow': 'load_tensorflow', 'tflite':.原创 2021-09-08 10:58:44 · 1704 阅读 · 0 评论 -
FPN+PAN结构,SPP结构
FPN 高维度向低维度传递语义信息(大目标更明确)PAN 低维度向高维度再传递一次语义信息(小目标也更明确)原创 2021-09-03 14:07:15 · 15064 阅读 · 0 评论 -
fasterRCNN yolov1
YOLO的一个贡献是将检测问题转化为了回归问题,相信这句话很多人见过很多次了。那到底是什么意思呢?指的就是之前faster RCNN是先分两步,先提取region proposal,也就是判断是前景还是背景的问题,之后再分类,具体看前景是什么东西。而YOLO直接通过regression一次既产生坐标,又产生每种类别的概率。YOLO的特点在于快,其中一方面来源于regression机制,还有一个原因就在于region proposal的提取过程了。再YOLO中很少提region proposal的概念,原创 2021-07-06 18:11:10 · 297 阅读 · 0 评论 -
RCNN,FastRCNN,FasterRCNN
子知识点SS:step0:生成区域集R,具体参见论文《Efficient Graph-Based Image Segmentation》step1:计算区域集R里每个相邻区域的相似度S={s1,s2,…}step2:找出相似度最高的两个区域,将其合并为新集,添加进Rstep3:从S中移除所有与step2中有关的子集step4:计算新集与所有子集的相似度step5:跳至step2,直至S为空IOU:1.判定两个候选框是否存在交集2.判定两个候选框是否为同一物体3.IOU = (A∩B)原创 2021-07-06 15:26:18 · 186 阅读 · 0 评论 -
SSD算法
SSD(single shot multibox detector)原创 2021-07-06 15:27:49 · 110 阅读 · 0 评论 -
YOLOv1
1.将一幅图像分成S×S个网格,如果某个目标的中心店落在一个网格中,那么这个网格负责预测这个目标2.每个网格负责预设定的n个目标,返回位置(xywh)和置信度及C个类别的分数(numclass+BG)3.损失函数:坐标预测 为了区分不同大小的目标的偏移量,加上根号限制。...原创 2021-07-06 18:04:59 · 189 阅读 · 0 评论 -
yolov3
yolo v3输出了3个不同尺度的feature map,如上图所示的y1, y2, y3。这也是v3论文中提到的为数不多的改进点:predictions across scales这个借鉴了FPN(feature pyramid networks),采用多尺度来对不同size的目标进行检测,越精细的grid cell就可以检测出越精细的物体。y1,y2和y3的深度都是255,边长的规律是13:26:52对于COCO类别而言,有80个种类,所以每个box应该对每个种类都输出一个概率。yolo v3设原创 2021-08-17 17:17:12 · 206 阅读 · 0 评论 -
yolo基础架构
YOLO网络主要由三个主要组件组成。1)Backbone -在不同图像细粒度上聚合并形成图像特征的卷积神经网络。2)Neck:一系列混合和组合图像特征的网络层,并将图像特征传递到预测层。3)Head: 对图像特征进行预测,生成边界框和并预测类别。我们可以在上述每个主要组件上使用不同的技术或者组合不同的方案来实现属于自己的最佳对象检测框架。...原创 2021-08-30 13:41:03 · 2273 阅读 · 0 评论 -
YOLOv3-v4
dropout 作用:防止过拟合,dropout 缺点:每次训练时随机去掉的神经元可以通过相邻的神经元来预测,因为随着网络层数的增加,神经元之间的相关性是越来越强。dropblock:每次训练时随机去掉一整片区域,这样就能组合更多不一样的网络,从而表现出更好的泛化作用。...原创 2021-08-19 11:09:41 · 451 阅读 · 0 评论 -
YoloV4 train
classes_path = 'train_parameters/classes.txt'anchors_path = 'train_parameters/yolo_anchors.txt'train_anno_path = 'train_parameters/train_anno.txt'Cuda = TrueUse_Data_Loader = Truenormalize = Falseinput_shape = (608,608)mosaic = FalseCosine_lr = Tru原创 2021-08-24 09:51:52 · 225 阅读 · 0 评论 -
yolo v4 v5 对比
数据增强:v4:几何畸变,光照畸变,图像遮挡,CutMix+Mosaic,SAT,Class label smoothingv5:几何畸变,光照畸变,Mosaic、anchors free网络结构Backbone:CSPDarknet53Neck:PANET+SPPHead:三个特征层的输出激活函数v4:Leaky RuLU+sigmoidv5:Mishoptimv4:SGDv5:较小的数据集:Adam 较大的数据集:SGDlossv4:CIOUv5:GIOU.原创 2021-08-30 13:51:52 · 1239 阅读 · 0 评论 -
yolov5 预训练模型 3分类->4分类
# EMA ema = ModelEMA(model) if RANK in [-1, 0] else None # Resume start_epoch, best_fitness = 0, 0.0 if pretrained: # Optimizer if ckpt['optimizer'] is not None: optimizer.load_state_dict(ckpt['optimizer']) ...原创 2021-08-31 10:39:45 · 1194 阅读 · 2 评论 -
yolo_v5 代码部分-1
if __name__ == "__main__": opt = parse_opt() ##part1 main(opt) ##part2part1def parse_opt(known=False): parser = argparse.ArgumentParser() # ? parser.add_argument('--hyp', type=str, default='data/hyps/hyp.scratch.yaml', help='hyperpa原创 2021-08-31 14:08:11 · 3807 阅读 · 1 评论 -
yolov5 代码部分-2
def train(hyp, # path/to/hyp.yaml or hyp dictionary opt, device, callbacks=Callbacks() ): save_dir, epochs, batch_size, weights, single_cls, evolve, data, cfg, resume, noval, nosave, workers, freeze, = \原创 2021-08-31 15:20:13 · 1052 阅读 · 0 评论 -
Focus
params计算公式:Kh × Kw × Cin × CoutFLOPs计算公式:Kh × Kw × Cin × Cout × H × W = 即(当前层filter × 输出的feature map)= params × H × Wyolov3用2层卷积+bottleneck层下采样yolov5用focus层下采样主要为了flops 对map没什么帮助聚焦WH维度信息到C维度yolov4 cspnet有split操作yolov5 没有...原创 2021-09-02 17:31:54 · 151 阅读 · 0 评论 -
yolov1 net
class Convention(nn.Module): def __init__(self, in_channels, out_channels, conv_size, conv_stride, padding): super(Convention, self).__init__() self.Conv = nn.Sequential( nn.Conv2d(in_channels, out_channels, conv_size, conv_原创 2021-09-03 09:44:40 · 128 阅读 · 0 评论 -
V3,V4,V5网络结构对比
原创 2021-09-03 10:31:46 · 729 阅读 · 0 评论 -
v3,v4,v5 backbone对比
Block:DBL: conv+BN+LeakyReluresn:加深深度CBM:conv+BN+MishCBL:conv+BN+LeakyReluCSPX:残差下采样CSP1_X:残差下采样focus 切片,通过通道数增加减少maxpool的信息丢失V1:CONV+MAXPOOL+FC+OUTPUTV2:CONV+MAXPOOL+AVGPOOL+OUTPUT(Darknet 3*3卷积+全局池化无全连接层)V3:(Darknet53)加入残原创 2021-09-03 11:12:44 · 238 阅读 · 0 评论 -
v3,v4,v5 neck对比
FPNSPP模块、FPN+PAN结构CSP代替普通conv原创 2021-09-03 11:20:39 · 175 阅读 · 0 评论
分享