自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 YOLOV5标注训练自己的数据全流程教程

训练自己的数据进行目标检测

2023-11-23 10:10:52 1770

原创 opencv将32位深图片合成视频跳帧解决办法

在合成视频时候,大多数的图片都是24位深度的(即RGB三通道,一个通道8位),但是也存在少量的32位深的图片(RGBA,三个颜色通道加上A这个透明度通道),32位和24位的格式是不一样的,所以在合成视频的时候会跳过32位深图片的帧。应对上述合成视频时候出现32位的图片不合成,在后续检查的视频总帧数的才会发现,在工作中这个小失误可能造成大问题。这一行代码将32位深图片转换成了24位深的图片,就可以使用以下代码正常合成了。下图分别为24位深和32位深图片详情。

2023-11-20 10:57:39 420

原创 opencv 读取图片时含有中文路径报错: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

将c2.imread()方法替换为cv2.imdecode()方法。出现这总错误是因为读取的图片路径或者图片名称含有中文。解决办法1:将路径和文件名称改为中文路径。

2023-06-01 15:48:07 663

原创 halcon胶囊质检-详解

通过halcon进行医药行业的胶囊质检,定位不同品质的胶囊和空胶囊。

2022-07-26 17:12:25 966 1

转载 【转载】从草根到百万年薪程序员的二十年风雨之路

百万年薪大佬励志故事

2022-06-09 12:16:54 690 1

原创 paddlepaddle2.bug解决

``当在paddlepaddle2.的版本中按照paddlepaddle版本的写法,有以下报错的时候。AssertionError: In PaddlePaddle 2.x, we turn on dynamic graph mode by default, and 'data()' is only supported in static graph mode. So if you want to use this api, please call 'paddle.enable_static()' bef

2022-01-11 11:09:09 706

原创 解决python在linux上导包出现no module named ...的问题

解决办法:在py文件的开头加入三行代码import osBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.insert(0, BASE_DIR)

2021-12-27 10:39:20 4796 4

原创 解决tensorflow的bug

运行程序报错如下:tensorflow.python.framework.errors_impl.NotFoundError: No algorithm worked! [Op:Conv2D]问题出现的原因:批次跑的数据过多,所以要防止批次数据跑的太多爆内存,在文件开头写入一下代码。physical_devices = tf.config.experimental.list_physical_devices('GPU')assert len(physical_devices) > 0, "No

2021-12-17 15:03:25 1032

原创 命名实体识别别中bio转换为bmes

#文件读取 path = r'要转换的bio文件的文件地址'res_path = r'存放转换后文件的文件地址'#将文件转为双层列表的结构f = open(path,encoding='utf-8')f1 = open(res_path,"w+",encoding='utf-8')sentences = []sentence = []label_set = set()cnt_line = 0for line in f: cnt_line += 1 if len(lin

2021-10-28 19:23:07 1485 1

原创 2021-10-24

record 1024

2021-10-24 21:39:41 75

原创 值传递和引用传递

值传递:被调函数新开辟的内存空间存放的是实参的副本值。不影响主调函数的实参变量的值。引用传递:被调函数新开辟的内存空间存放的是实参的地址。影响主调函数的实参变量。

2021-09-22 23:18:16 66

原创 深拷贝与浅拷贝

涉及的知识点:对象,可变类型,引用python对象有三个类型:身份,类型,值身份就是对象的ID(),类型为TYPE(),值就是VALUE可变对象:列表,字典,集合;不可变对象数字,字符串,元组。可变是对象的值可变,但是身份不可变;不可变是对象的值和身份都不可变。引用:每个对象在内存中开辟一块空间,保存对象,该对象在内存中所在的位置成为引用。可变对象保存的不是真正的对象数据,而是引用。可变对象进行赋值的时候,将可变对象中保存的引用指向了新的对象。浅拷贝:copy()函数在拷贝对象的时候,只是将

2021-09-22 23:04:23 130

原创 TCP/IP模型

美国国防部高级研究计划局1969年在研究ARPANET时提出了TCP/IP模型。TCP/IP作为Internet的核心协议,已经广泛的应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP包含的特征主要在5个方面:逻辑编址、路由选择、域名解析、错误检测和流量控制以及对应程序的支持等。TCP/IP分层模型由四层构成,从高到低各个层次依次为应用层、传输层、网际层和网络接口层。各层的功能如下。(1)应用层。应用于分层模型的最高层,用户调用应用程序来访问TCP/IP互联网络,以享受网络上提供的各种

2021-09-21 16:45:14 1553

原创 代码练习-3

正整数A和正整数B 的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。while True: try: a, b = [int(x) for x in input().split()] if a < b: a, b = b, a for i in range(b): if ((a * (i + 1)) % b == 0):

2021-09-20 20:57:27 71

原创 代码练习-1

输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。def func(input_words): # n = len(input_words.split(' ')) res_str = input_words.split(' ')[-1] # n = len(res_str) count = 0 for i in res_str: count += 1 return

2021-09-18 21:00:15 83

原创 算法-快速排序

简述快速排序过程1)选择一个基准元素,通常选择第一个元素或者最后一个元素,2)通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大。3)此时基准元素在其排好序后的正确位置4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。...

2021-09-17 21:53:54 85

原创 机器学习-马尔可夫模型与隐马尔可夫模型

马尔可夫模型马尔可夫过程是满足无后效性的随机过程。假设一个随机过程中,tnt_ntn​时刻的状态XnX_nXn​的条件分布,仅仅与其前一个状态xn−1x_{n-1}xn−1​有关,即P(xn∣x1,x2...xn−1)=P(xn∣xn−1)P(x_n|x_1,x_2...x_{n-1}) = P(x_n|x_{n-1})P(xn​∣x1​,x2​...xn−1​)=P(xn​∣xn−1​),则称之为马可夫过程,时间和状态的取值都是离散的马尔可夫过程称之为马可夫链。隐马尔可夫模型隐马尔可夫模型是对含有

2021-09-16 09:33:53 1340

原创 图像算法-CRNN+CTC-1

特点(1)与大多数现有的组件需要单独训练和协调的算法相比,它是端对端训练的。(2)它自然地处理任意长度的序列,不涉及字符分割或水平尺度归一化。(3)它不仅限于任何预定义的词汇,并且在无词典和基于词典的场景文本识别任务中都取得了显著的表现。(4)它产生了一个有效而小得多的模型,这对于现实世界的应用场景更为实用。网络结构卷积层:从输入图像中提取特征序列;循环层,预测每一帧的标签分布;转录层,将每一帧的预测变为最终的标签序列。特征提取在CRNN模型中,通过采用标准CNN模型(去除全连接层)中

2021-09-15 22:50:58 186

原创 图像算法-Yolov3

简介YOLOv3总结了自己在YOLOv2的基础上做的一些尝试性改进,有的尝试取得了成功,而有的尝试并没有提升模型性能。其中有两个值得一提的亮点,一个是使用残差模型,进一步加深了网络结构;另一个是使用FPN架构实现多尺度检测。改进新的网络结构:DarkNet-53;使用逻辑回归代替softmax作为分类器;融合了特征金字塔网络,实现多尺度检测多尺度预测实现:YOLOv3在基本特征提取器上添加几个卷积层,其中最后一个卷积层预测了一个三维张量——边界框,目标和类别预测。 在COCO实验中,为每个尺度

2021-09-14 16:59:39 292

原创 图像算法-Yolov2

内容简介在参考了fast-RCNN和SSD算法,设计了YOLOv2,在精度上利用了一系列的训练技巧,在速度上利用了新的网络模型DarkNet19,在分类任务上采用联合训练的方法,结合wordtree等方法,使用YOLO的检测种类扩充到了上千种,作者在论文中称可以检测9000个类别的目标,所以也称为YOLO9000,该模型可以使用不同的尺寸运行,从而在速度和准确性之间提供了一个简单的折衷。较V1版本的改进策略YOLOv2对v1版本采取了很多的改进措施,以提高模型的mAP,如下图所示:(1)Batch

2021-09-13 22:12:50 354

原创 图像算法-Yolov1

基本思想YOLO(You Only Look Once )是针对深度学习目标检测问题提出的另一种框架,其核心思想是生成RoI+目标检测两阶段算法用一套网络的一阶段算法代替,直接在输出层回归bounding box的位置和所属类别。之前的物体检测方法首先需要产生大量可能包含待检测物体的先验框, 然后用分类器判断每个先验框对应的边界框里是否包含待检测物体,以及物体所属类别的概率或者置信度,同时需要后处理修正边界框,最后基于一些准则过滤掉置信度不高和重叠度较高的边界框,进而得到检测结果。这种基于先产生候选区再

2021-09-12 21:12:41 463

原创 图像算法-目标检测-1

一,基本概念1.什么是目标检测?目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。计算机视觉中关于图像识别有四大类任务:(1)分类-Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。(2)定位-Location:解决“在哪里?”的问题

2021-09-11 21:02:49 3072

原创 机器学习-特征归一化

要消除数据特征之间的量钢的影响,要对特征进行归一化处理,使得不同指标之间具有可比性。对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。最常用的方法主要有以下两种:1,线性函数归一化,,(Min-Max Scaling)。它对原始数据进行线性变换使得结果映射在[0,1]的范围内,实现原始数据的等比缩放。归一化的公式如下所示:Xnorm=X−Xmin/Xmax−XminX_ {norm}=X - X_{min} /X_{max}-X_{min}Xnorm​=X−Xmin​/Xmax

2021-09-10 18:44:19 5301

原创 TensorFlow实现线性回归

导入相关的包和加载数据import tensorflow as tfimport matplotlib.pylab as pltimport numpy as np# 调用数据boston_house = tf.keras.datasets.boston_housing# load_data加载数据,返回训练集/测试集两个元素(train_x, train_y), (test_x, test_y) = boston_house.load_data(test_split=0.1)输入数据

2021-09-09 19:20:39 172 1

原创 图像识别-花的分类(tensorflow实现)

本实例使用的数据集是3700张,包含5个种类的花。flower_photo:daisy(雏菊)/dandelion(蒲公英)/roses(玫瑰)/sunflower(向日葵)/tulips(郁金香)import matplotlib.pyplot as pltimport numpy as npimport osimport PIL # Python Imaging Libraryimport tensorflow as tffrom tensorflow import kerasfro

2021-09-08 19:45:24 1987 2

原创 深度学习-卷积神经网络代码详解

构造卷积神经网络CNN将形状为(高度,宽度,色彩通道数)的张量作为输入,忽略批次的大小。在本实例中,我们将配置CNN处理(32,32,3)的输入,通过参数input_shape传递给第一层来实现这个目的。model = models.Sequential()Sequential()方法是一个容器,描述了神经网络的网络结构,在Sequential()的输入参数中描述从输入层到输出层的网络结构。第一层卷积层:32个3*3的卷积核,使用Relu作为激活函数model.add(layers.Conv2

2021-09-07 19:06:24 5576

原创 open-cv实现图像矫正

加载必要的包和读取图像路径。# 利用透视变换对纸张进行矫形import cv2import numpy as npimport mathim = cv2.imread('../img_data/paper.jpg')cv2.imshow('im', im)显示原始图像:# 灰度化im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)cv2.imshow('im_gray', im_gray)灰度化图像并显示:canny边沿提取图像的轮廓

2021-09-06 17:41:40 518

原创 深度学习-卷积神经网络的结构&经典网络介绍

卷积神经网络的结构总体结构通产情况下,卷积神经网络由若干个卷积层、激活层、池化层、以及全连接层构成。卷积层卷积层是 卷积神经网络的核心所在,通过卷积运算可以达到提取特征和降维处理两个重要的目的。激活层作用是将前一层的线性输出,通过非线性的激活函数进行处理,这样用于模拟任意函数,从而增强网络的表表征能力。在深度学习领域,ReLU(修正线性单元)是目前使用较多的激活函数,主要原因是它收敛更快,同时它还解决了梯度消失的为问题。池化层池化层也称为子采样或者下采样,目的是缩小高、长方向上的空间的运

2021-09-05 18:02:38 1946

原创 机器学习-模型评估与优化

一、模型评估1.性能度量错误率与精度错误率和精度是分类问题中常用的性能度量指标,既适用于二分类任务,也适用于多分类任务.错误率(error rate):指分类错误的样本占样本总数的比例,即 ( 分类错误的数量 / 样本总数数量)精度(accuracy):指分类正确的样本占样本总数的比例,即 (分类正确的数量 / 样本总数数量)精度=1−错误率精度 = 1 - 错误率精度=1−错误率查准率、召回率与F1得分错误率和精度虽然常用,但并不能满足所有的任务需求。例如,在一次疾病检测中,我们更关注

2021-09-04 18:26:59 1709

原创 深度学习-图解卷积运算

卷积神经网络(Convolutional Neural Network,CNN)针对全连接网络 的局限做出了修正,加入了卷积层(Convolution层)和池化层(Pooling 知 层)。CNN被广泛应用于图像识别、语音识别等各种场合,在图像识别的比赛中, 基于深度学习的方法几乎都以CNN为基础(比如,AlexNet、VGGNet、 Google Inception Net及微软的ResNet等)上。近几年深度学习大放异彩, CNN功不可没。单通道,二维卷积运算示例:如上图所示,红色的方框圈中的数

2021-09-03 21:01:01 9157

原创 机器学习-朴素贝叶斯

朴素贝叶斯是一组功能强大且易于训练的分类器,它使用贝叶斯定理来确定给定一组条件的结果的概率,“朴素”的含义是指所给定的条件都能独立存在和发生. 朴素贝叶斯是多用途分类器,能在很多不同的情景下找到它的应用,例如垃圾邮件过滤、自然语言处理等.贝叶斯定理贝叶斯定理由英国数学家托马斯.贝叶斯 ( Thomas Bayes)提出,用来描述两个条件概率之间的关系,定理描述为:P(A∣B)=P(A)P(B∣A)P(B) P(A|B) = \frac{P(A)P(B|A)}{P(B)}P(A∣B)=P(B)P(A)P

2021-09-02 19:24:42 207

原创 机器学习-集成学习

集成学习的概念集成学习 (ensemble learning) 通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system) 、基于委员会的学习(committee-based learning) 等.下图显示出集成学习的一般结构:先产生一组个体学习器,再用某种策略将他们结合起来,个体学习器由一个现有的学习算法从训练数据产生,例如 C4.5 决策树算法、 BP 神经网络算法等,此时集成中只包含同种类型的个体学习器,例如"决策树集成"中全是决策树"神经

2021-09-01 12:13:35 427

原创 基础-线性代数

1、标量、向量、矩阵和张量标量(scalar):一个标量就是一个单独的数,它不同于线性代数中研究的其他大部分对象(通常是多个数的数组)。我们用斜体表示标量。标量通常被赋予小写的变量名称。当我们介绍标量时,会明确它们是哪种类型的数。向量(vector):一个向量是一列数。这些数是有序排列的。通过次序中的索引,我们可以确定每个单独的数。通常我们赋予向量粗体的小写变量名称,比如 x。向量中的元素可以通过带脚标的斜体表示。矩阵(matrix):矩阵是一个二维数组,其中的每一个元素被两个索引(而非一个)所确定

2021-08-31 21:49:15 491

原创 深度学习-图解反向传播算法

什么是正向传播网络?前一层的输出作为后一层的输入的逻辑结构,每一层神经元仅与下一层的 神经元全连接,通过增加神经网络的层数虽然可为其提供更大的灵活性, 让网络具有更强的表征能力,也就是说,能解决的问题更多,但随之而来 的数量庞大的网络参数的训练,一直是制约多层神经网络发展的一个重要瓶颈。什么是反向传播?反向传播(Backpropagation algorithm)全称“误差反向传播”,是在 深度神经网络中,根据输出层输出值,来反向调整隐藏层权重的一种方法。为什么需要反向传播?为什么不直接使用梯度

2021-08-30 21:42:01 1187

原创 机器学习-感知机

什么是感知机?感知机(Perceptron),又称神经元(Neuron,对生物神经元进行了模仿)是神 经网络(深度学习)的起源算法,1958年由康奈尔大学心理学教授弗兰克·罗森布拉 特(Frank Rosenblatt)提出,它可以接收多个输入信号,产生一个输出信号。其中,x1和x2称为输入,w1和w2为权重,θ为阈值,y为输出。神经元更为通用的表达式:感知机的功能作为分类器/回归器,实现自我学习实现逻辑运算,包括逻辑和(AND)、逻辑或(OR)组成神经网络神经元作为分类器/回归器

2021-08-29 11:30:36 289

原创 深度学习-卷积神经网络

为什么用CNN我们都知道CNN常常被用在影像处理上,如果你今天用CNN来做影像处理,当然也可以用一般的neural network来做影像处理,不一定要用CNN。比如说你想要做影像的分类,那么你就是training一个neural network,input一张图片,那么你就把这张图片表示成里面的pixel,也就是很长很长的vector。output就是(假如你有1000个类别,output就是1000个dimension)dimension。那我相信根据刚才那堂课内容,若给你一组training dat

2021-08-28 20:57:15 269

原创 机器学习-逻辑回归

什么是逻辑回归?逻辑回归(Logistic Regression) 虽然被称为回归,但其实际上是分类模型,常用于二分类。逻辑回归因其简单、可并行化、可解释强而受到广泛应用。二分类(也称为逻辑分类)是常见的分类方法,是将一批样本或数据划分到两个类别,例如一次考试,根据成绩可以分为及格、不及格两个类别,这就是逻辑分类,将连续值映射到两个类别中。逻辑函数逻辑回归是一种广义的线性回归,其原理是利用线性模型根据输入计算输出(线性模型输出值为连续),并在逻辑函数作用下,将连续值转换为两个离散值(0或1),其表达式

2021-08-28 17:36:53 103

原创 TensorFlow-张量3

操作形状Reshaping a tensor is of great utility.import tensorflow as tf# Shape returns a `TensorShape` object that shows the size on each dimensionvar_x = tf.Variable(tf.constant([[1], [2], [3]]))print(var_x.shape)# result:(3,1)将张量转换为python列表。# You ca

2021-08-27 11:29:30 220

原创 TensorFlow-张量2

形状简介张量有形状。下面是几个相关术语:形状:张量的每个轴的长度(元素数量)。秩:张量轴数。标量的秩为 0,向量的秩为 1,矩阵的秩为 2。轴或维度:张量的一个特殊维度。大小:张量的总项数,即乘积形状向量注:虽然您可能会看到“二维张量”之类的表述,但 2 秩张量通常并不是用来描述二维空间。import tensorflow as tfrank_4_tensor = tf.zeros([3, 2, 4, 5])print("Type of every element:", rank_4_

2021-08-26 22:52:26 73

原创 TensorFlow-张量简介

基础知识张量具有统一的类型的多维数组,张量和numpy.array具有一定的相似性。张量的内容是无法改变的,只能创建新的张量。导入需要的包。import tensorflow as tfimport numpy as np下面来创建一些基本的张量。创建一个标量,标量包含单个值。# This will be an int32 tensor by default;rank_0_tensor = tf.constant(4)print(rank_0_tensor)# result: tf

2021-08-25 20:48:42 115

yolo_3.pdf

YOLOv3.pdf

2021-09-14

yolo_1.pdf

yolo_1.pdf

2021-09-14

空空如也

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

TA关注的人

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