自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 RepLKNet-YoloV5

背景简介自从VGG提出以后,各种CNN网络层出不穷,但是他们都遵循了VGG的设计思想,通过多个小卷积核叠加来得到大的感受野同时保证较少的参数量(2个3x3的卷积核感受野和5x5的卷积核感受野相同,但是参数18<25)。随着ViT逐渐在各类视觉任务中拿到SOTA的表现,CNN似乎有点后继无力。RepLKNet打破了这种现象,旷世科技研究员发现,kernel szie对模型性能尤其是分割、检测等下游任务至关重要,提出在CNN网络中大量采用超大卷积核的模型并结合结构重参数化、depthwise等,RepL

2022-03-27 15:50:32 4583 16

原创 ConvNeXt-Yolo5

背景简介传说中的CV算法工程师抄作业必备手册,既然大佬们烧了那么多的电费为我们总结了这么多能work的trick,那岂有不抄的道理,具体论文的细节本文不做详述,论文地址如下:https://arxiv.org/abs/2201.03545以及大佬对此的详细解读https://mp.weixin.qq.com/s/c6MRbzQE9ErFUWdWKh8PQA本文仅做对工程应用的整合。ConvNeXt-YoloV5仍然以目标检测经典模型yolov5为例,对源代码做如下的修改增加common.py

2022-01-23 08:57:22 5442 10

原创 Zero-Shot Instance Segmentation 阅读笔记

针对工业应用上缺少数据的问题,引入词向量,通过对齐语义信息和图像特征,从而实现对未经训练类的检测和分割。

2021-12-08 09:00:17 790

原创 PP-LCNet-YoloV5

背景简介前段时间看到了百度新出的一篇论文,提出了一种基于MKLDNN加速策略的轻量级CPU网络,即PP-LCNet,它提高了轻量级模型在多任务上的性能,对于计算机视觉的下游任务,如目标检测、语义分割等,也有很好的表现。以下是论文链接和开源的基于PaddlePaddle的实现。arXiv: https://arxiv.org/pdf/2109.15099.pdfcode: https://github.com/PaddlePaddle/PaddleClas论文很短,模型结构也十分简洁,没有特别创新的部

2021-10-10 19:56:26 3881 17

原创 深度学习项目实践——制作一个能一键更换证件照背景的软件

背景前段时间找工作,做简历的时候看中了一个红色为底色的模板,但是发现我的证件照只有蓝色底色的,这和简历不搭啊!有点强迫症的我怎么能忍!果断上网找方法换证件照底色(不要问我为什么不去重新拍一张,因为我是个节(pin)俭(qiong)的人),几经周折,终于在支付宝上找到了换证件照背景的应用,然而。。。。。。!!居然要钱?!作为一名资深白嫖党和工(diao)程(bao)师(xia)怎么能忍得了这个,那就两个字,撸它!方案比较常见且效果比较好的传统方法大致流程是这样的,用聚类的方法分离出背景色,然后背景与

2021-09-21 21:38:39 760

原创 Weighted Boxes Fusion 源码解析

文章地址https://arxiv.org/abs/1910.13302,代码https://github.com/ZFTurbo/Weighted-Boxes-Fusion加权框融合作为目标检测类比赛中常用的tricks,在这里简单做一下代码上的解析,有错误的地方还请各位指正源码# coding: utf-8__author__ = 'ZFTurbo: https://kaggle.com/zfturbo'import warningsimport numpy as npfrom nu

2021-07-15 15:08:24 646 2

转载 python文件读写模式 --- r,w,a,r+,w+,a+,rb,wb

添加链接描述

2020-10-30 09:15:22 132

转载 Pytorch模型加载及保存

这篇文章总结的十分详细

2020-10-25 21:02:45 133

原创 排序(六)——快速排序

def quick_sort(nums): if len(nums) <= 1: return nums pivot = nums[0] left_nums = quick_sort([x for x in nums[1:] if x < pivot]) right_nums = quick_sort([x for x in nums[1:] if x >= pivot]) return left_nums + [pivot] +

2020-10-24 09:46:27 95

原创 排序(五)——归并排序

def merge_sort(nums): if len(nums) == 1: return nums length = len(nums) temp = length // 2 a = merge_sort(nums[:temp]) b = merge_sort(nums[temp:]) return merge(a, b)def merge(a, b): c = [] while len(a) > 0 an

2020-10-24 09:44:43 74

原创 排序(四)——计数排序

def count_sort(nums): min, max = nums[0], nums[0] for i in range(1, len(nums)): if (nums[i] > max): max = nums[i] elif (nums[i] < min): min = nums[i] sum = max - min + 1 count = [0] * sum

2020-10-24 09:43:27 92

原创 排序(三)——插入排序

def insert_sort(nums): length = len(nums) for i in range(1, length): unsort = nums[i] for j in range(i, -1, -1): if unsort < nums[j - 1]: nums[j] = nums[j - 1] else: break

2020-10-24 09:42:07 76

原创 排序(二)——选择排序

def selection_sort(nums): for i in range(len(nums)): # n pos_min = i # idx for j in range(i + 1, len(nums)): # n if (nums[j] < nums[pos_min]): pos_min = j nums[i], nums[pos_min] = nums[pos_min

2020-10-24 09:41:06 78

原创 排序(一)——冒泡排序

def buble(nums): lenth = len(nums) for i in range(lenth): is_sorted = True for j in range(1, lenth - i): if (nums[j] < nums[j - 1]): nums[j], nums[j - 1] = nums[j - 1], nums[j] is_sorte

2020-10-24 09:38:40 78

原创 从一串数字中找到加起来能得到目标数字的组合

含重复数字def comb2(candidates, t): result = [] lst = [] candidates.sort() comb2_helper(result, lst, candidates, 0) for exp in result: if sum(exp) == t: print(exp)def comb2_helper(result, lst, candidates, pos): res

2020-10-24 09:37:04 595

原创 从数组中选出所有可能的子集

给定一组不同的整数, 返回所有可能的子集解法1def Subset(nums): result = [[]] for num in nums: for element in result[:]: x = element[:] x.append(num) result.append(x) return resultif __name__ == '__main__': nums =

2020-10-24 09:34:02 340

原创 数学表达式

给定两个数字,如5和9,输出如何通过数学运算由5得到9def intSeq(a, b): if a == b: return str(a) if (b % 2 == 1): return '(' + intSeq(a, b - 1) + '+ 1)' if (b < 2*a): return '(' + intSeq(a, b - 1) + '+ 1)' return intSeq(a, b / 2) + '* 2)'

2020-10-24 09:30:15 229

原创 零矩阵变换

给一个m×n的矩阵,如果有一个元素为0,则把该元素对应的行与列所有元素全部变成0def zero(matrix): m = [None] * len(matrix) n = [None] * len(matrix[0]) for i in range(len(matrix)): for j in range(len(matrix[0])): if (matrix[i][j] == 0): m[i] = 1

2020-10-24 09:26:19 750

转载 Pandas中的排名rank()函数详解

添加链接描述

2020-10-15 16:50:29 1941

转载 目标检测数据样本的扩增脚本

目标检测数据样本扩增脚本

2020-10-12 14:57:59 224

转载 PyTorch中Tensor的维度变换

添加链接描述

2020-09-20 17:36:54 668

转载 转载:Pytorch中使用transforms.ToTensor和transforms.ToPILImage的numpy.ndarray与Tensor和PILImage的转换举例

Pytorch的使用中,tensor,numpy,PIL三种数据十分重要,尤其是前期文件预处理和后期的推断,转载一篇大佬的文章,给自己做个备忘,原链接:添加链接描述

2020-09-20 17:18:40 587

原创 使用Efficient做一个简单的图片分类项目

前段时间参加kaggle的图像隐写的比赛,第一次参加,有幸拿了银牌,使用的就是Efficient这个网络,这个网络在分类任务上确实好用,在此做个简单的记录,如何使用Efficient完成分类任务。如果有错误的地方,欢迎大家指正如下图所示,data文件是项目的数据集,Type1~Type4文件夹代表不同类别的图片首先看第一个代码块“dataset.py”"""dataset.py"""from glob import globfrom sklearn.model_selection impo

2020-09-19 22:21:23 854 15

原创 paddle fluid报cublas64_80.dll not found

解决:下载cublas64_80.dll文件放置到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin文件夹中。cublas64_80.dll文件下载链接

2020-09-17 10:33:34 536

原创 Pytorch中torch.stack()的理解

整理一下两位老哥的博客内容,加深一下印象,感谢两位老哥整理添加链接描述添加链接描述有a,b,c三个tensor.dim=0,将[]中的n个矩阵变成n维,按照顺序,第i维是第i个矩阵,size=(i,x,y)dim=1,将列表[]中的每个矩阵的第一行组成第一维矩阵,依次下去,每个数组第n行组成第n维数组。size=(n,i,y)dim=2,将列表[]中的每个矩阵的第一行的第一个值,组成第一维的第一行,每一个矩阵的第一行第二个值组成第一维的第二行,每个矩阵的第二行的第一个值,组成第二维的第一行

2020-09-15 19:35:57 718

原创 Python读取realsense彩色图像并且抽帧保存图片(数据集制作)

import cv2import pyrealsense2 as rsimport numpy as nppipeline = rs.pipeline() # 构建一个抽象设备的管道config = rs.config() # 使用非默认配置文件创建配置以配置管道config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)profile = pipeline.start(config) # 表示构建的管道使用上述

2020-09-11 17:54:35 2731

原创 Python(Matplotlib绘图简要教程+绘制CSV文件中数据“采坑实录”)

简单绘图import matplotlib.pyplot as plt#图形输入值input_values = [1,2,3,4,5]#图形输出值squares = [1,4,9,16,25]#plot根据列表绘制出有意义的图形,linewidth是图形线宽,可省略plt.plot(input_values,squares,linewidth=5)#设置图标标题plt.title("Square Numbers",fontsize = 24)#设置坐标轴标签plt.xlabel("Va

2020-09-10 20:02:40 3647

原创 Python——多进程与多线程的应用(三)

继续前面的内容Python——多进程与多线程的应用(一)Python——多进程与多线程的应用(二)在之前的文章中,我们已经了解了Python语言中进程的相关知识和应用,现在我们来简述一下线程的相关应用线程首先简述一下线程与进程的关系和区别:一个进程中需要运行多个子任务,这些子任务就是线程一个进程可以拥有多个并行的线程,每一个线程共享当前进程的资源(相同的内存单元,内存地址空间等),因此不需要额外的通信机制进程只负责分配资源,实际操作CPU执行任务的是线程!!!多输出时多线程合适,但是当多运

2020-09-05 22:01:18 150

原创 Python——多进程与多线程的应用(二)

继续上一篇博客的内容Python——多进程与多线程的应用使用类的方式创建新的进程上篇博客中我们提到了使用Process这个包来创建进程,除此之外,我们还可以自定义一个类,继承Process类,通过实例化这个类来实例化一个新的进程对象,下面请看一个简单的例子import timefrom multiprocessing import Processclass Lakers_Champion(Process): n = 3 while n > 0: print

2020-09-05 17:44:57 206

原创 Python——多进程与多线程的应用(一)

Python——多进程与多线程的应用(一)二级标题三级标题四级标题五级标题六级标题**最近因为工作的需要,涉及到了python多进程、多线程相关内容,在此做个简单的记录,内容为个人的理解和梳理,如果有不对的地方,还请大家及时批评指正!进程进程,通俗的讲就是正在执行的一个程序,运行一个进程就是启动一个程序,多进程就是CPU同时让多个进程(或者理解为任务、程序)交替往复的执行,只是因为CPU执行速度太快,给我们的感觉就像是所有任务都在同时执行。多进程在Python语言中,每开一个进程,都会

2020-09-05 00:11:12 220

原创 Intel RealSense深度相机项目应用——生产消费模型

Intel RealSense深度相机项目应用——生产消费模型近期因为项目需要,使用了intel的深度相机,此处重点记录一下如何使用Python语言完成生产消费者模型来调用相机图像,此处使用的相机型号为SR305(该相机使用的是intel实感SDK2.0,据intel介绍是通用于多数型号的)因为是第一次使用,如有理解不到位或者错误的情况,还请大家批评指正!"""生产消费模型(基于线程)"""import pyrealsense2 as rsimport cv2from threading im

2020-09-04 14:07:14 679

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除