- 博客(39)
- 收藏
- 关注
原创 关于启动flask应用,其他主机无法访问flask应用的错误记录
因为一些原因,接触到了web应用框架flask。在一台主机上启动flask app,尝试过将app.run中的host参数设置为127.0.0.1;0.0.0.0。甚至是服务器主机的ip,可结果是只有服务器本机才能访问服务,其他不管是外网,还是局域网都不能访问到服务。
2024-10-07 20:38:39 431
原创 git push报错:fatal: unable to access ‘https://github.com/***/‘:The requested URL returned error: 403
remote: Permission to *** denied to ***.fatal: unable to access 'https://github.com/***/': The requested URL returned error: 403
2022-10-10 16:22:10 4434 2
原创 计算机视觉数据增强系列1
突然想总结一下数据增强,这篇博客主要针对于场景文字检测的数据增强,主要是多边形。当然目标检测也是同理,毕竟同样都是点集。
2022-10-07 20:48:03 1571
原创 c++移动目录下的所有图片文件到另一目录下
虽然c++学的很菜,但是还是得想办法用起来。这里我们将某一个目录下的所有图片文件移动到自己指定的另一个目录下,同理移动其他类型的文件可以更改一下文件后缀即可。笔者将整个过程分成了两步:收集目录下的满足后缀条件的文件路径和移动文件到目标路径下。这里用的是标准库filesystem,代码也比较简单。
2022-09-25 12:14:11 1819
原创 场景文字检测DBnet论文解读
最近接触到了文字检测,学习一下DBnet。DBnet提出了一个可微二值化(DB)模块,该模块可以在分割网络中进行二值化处理。与DB模块一起优化的分割网络可以自适应地设置二值化的阈值,不仅简化了后处理,而且提高了文本检测的性能。标准的二值化过程是不可微的,作者提出了一个近似二值化函数代替标准二值化,也就是这个DB模块,并且DB模块在推理阶段还可以删除,不影响推理速度。两个函数图像对比如下:DBnet的优点如下:(1)DBnet能检测任意形状文本,并且在各个数据集上取得了好性能。
2022-09-11 16:08:03 2838
原创 ubuntu安装opencv报错:libopencv_imgcodecs.so.4.6.0: undefined reference to和libopencv_imgcodecs.so.4.6.0:
ubuntu下安装opencv以下是我遇到的两种报错:/usr/bin/ld: …/…/lib/libopencv_imgcodecs.so.4.5.0: undefined reference to “TIFFOpen@LIBTIFF_4.0”/usr/bin/ld: /home/ztyf/anc
2022-06-30 13:49:57 3880
原创 opencv骨架提取(深入分析算法步骤)
前言个人感觉骨架提取提取的就是开运算过程的不可逆。一.算法步骤1.算法步骤首先上一下比较官方的算法步骤:1.获得原图像的首地址及图像的宽和高,并设置循环标志12.用结构元素腐蚀原图像,并保存腐蚀结果3.设置循环标志为0,如果腐蚀结果中有一个点为255,即原图像尚未被完全腐蚀成空集,则将循环标志设为1.4.用结构元素对腐蚀后的图像进行开运算(消除小的白色区域),并求取腐蚀运算与开运算的差(得到消除的白色区域)5.用[4]中求得的结果与之前求得的骨架进行并集运算,以获得本次循环求得的骨架6.
2022-05-02 20:03:35 8194 4
原创 3d机器学习笔记5--TriangleMesh处理(1)
目录:前言一.表面法线估计二.裁剪和上色TriangleMesh三.网格过滤1.均值滤波器前言来学习一下另一种3d数据TriangleMesh,关于open3d中TriangleMesh的数据结构详解见这篇博客:TriangleMesh一.表面法线估计import open3d as o3dimport numpy as npimport copymesh=o3d.io.read_triangle_mesh("./test_data/knot.ply")print("计算法线")mes
2022-04-07 22:19:42 3437
原创 Filezilla连接云服务器(腾讯云)传送文件
前言没有算力,只有蹭一蹭腾讯云了。一.安装filezillaubuntu下安装命令:apt-get install filezilla -ycentos下安装命令:yum install filezilla -ywindows下exe下载地址:https://gpucloud-static-public-prod.gpushare.com/docs/software/FileZilla_3.55.1_win64_sponsored-setup.exe二.本机与服务器连接首先需要一个腾
2022-04-04 15:58:45 4361
原创 python深度学习中registry机制,mmcv中的registry的注册机制示例(其他工具箱的也是类似的)
目录前言一.什么是registry机制二.registry示例1.创建注册表2.注册表添加类3.测试三.总结前言现在好多项目都会用到registry机制,学习一下一.什么是registry机制简单来说registry可以提供字符串到python中类的映射,registry能让开发者输入相应的类名和参数,就能获得一个初始化好的类。也就是说像是这样,下面这是一个类:class aclass(object): def __init__(self): ... def ... ...然后通
2022-03-17 16:23:02 7286 4
原创 windows下opencv安装+vs配置opencv+vs code+cmake编译opencv
前言既然前面已经写过了ubuntu安装opencv:ubuntu安装opencv,那么也把windows下的也来一遍吧。一.opencv安装opencv安装可以从源码编译,也可以从使用预编译包安装。笔者这里使用简单的使用预编译包安装。首先从opencv下载opencv的预编译包:预编译包下载地址双击下载的预编译包可以选择安装路径这个路劲得记住,后面有用到,然后点击Extract即可安装然后是配置环境变量:笔者是在搜索框里面搜索“编辑系统环境变量”来配置环境变量的,如下:然后找到path
2022-02-22 13:53:10 5680
原创 ubuntu安装opencv4.X+opencv_contrib教程(c++)
前言由于一些意外,连续在ubuntu20.04下装了好几次opencv,在此记录一下。一.安装依赖1.首先的必要项是cmake和g++,一般这两个用c++的都会有。sudo apt update && sudo apt install -y cmake g++ wget unzip2.然后下面这些依赖可能会有些是ubuntu更新就安装好了可以使用:sudo apt show +软件名查看。sudo apt-get install build-essential libgtk2
2022-02-15 12:38:53 5923 2
原创 3d机器学习open3d学习教程4--三角网格对象TriangleMesh
目录:前言1. open3d.geometry.TriangleMesh2.例子前言再来整一整另一种3d数据。接着上一节的点云21. open3d.geometry.TriangleMesh和点云一样,三角网格也是3d数据的一种表示open3d.geometry.TriangleMesh实现了三角网格的数据结构,三角形网格包含顶点和由顶点索引表示的三角形。网格也可以包含三角形法线、顶点法线和顶点颜色。我们再来看一看三角网格对象的一些静态字段:(1)adjacency_list:顶点的邻接表,ad
2022-01-21 12:58:40 6195 2
原创 3d机器学习open3d学习教程3--点云2
前言接着上一节点云1本节数据地址:链接:https://pan.baidu.com/s/1O4s8tFOvExhuKMl2OCv4Kg提取码:82u11.点云裁剪先上代码import open3d as o3dpcd=o3d.io.read_point_cloud("./test_data/Crop/fragment.ply")val=o3d.visualization.read_selection_polygon_volume("./test_data/Crop/cropped.json
2022-01-18 20:40:18 6686 4
原创 open3d学习教程2--点云1
1.open3d介绍open3d是一个开源库,支持快速处理3d数据,比如点云,体素。就像opencv是2d图像的处理库一般,open3d是3d下的处理库。open3d支持python和c++。笔者这里介绍的是python下的。open3d安装:pip install open3d2.点云这里介绍点云的基本用法。点云简单来说就是3d坐标下一个个点组成的数据,每个点可以包含x,y,z,颜色、分类值、强度值、时间等等信息。2.1 读取,可视化点云这一节我们介绍读取和可视化点云,代码如下:impo
2022-01-17 23:37:07 7559 2
原创 open3d学习教程1--点云对象PointCloud
前言点云简单来说就是3d坐标下一个个点组成的数据,每个点可以包含x,y,z,颜色、分类值、强度值、时间等等信息。点云是3d数据的表示形式之一。1. open3d.geometry.PointCloudopen3d中用来表示点云的数据结构。pointcloud对象包含了很多处理点云的成员方法,如点云体素下采样,点云上色等等。pointcloud的静态字段有:colors :numpy数组数据,用来保存每一个点的颜色,shape为(num_points, 3)covariances:点协方差,num
2022-01-17 23:33:49 10402 2
原创 深度学习-yolo-fastestV2使用自己的数据集训练自己的模型
前言虽然说yolo-fastestV2在coco数据集上只达到了24.1,但是应付一些类别少的问题还是可以的。主要是这个速度是真的香!简单来说就是一个快到飞起的模型。1.关于yolo-fastestV2github地址如下:yolo-fastestV2yolo-fastestV2采用了轻量化网络shufflenetV2为backbone,笔者在这里就不详解yolo-fastestV2了,只讲怎么训练自己的yolo-fastestV2模型。2.修改训练代码训练部分的代码只修改了一小部分,如下:i
2021-12-20 00:46:41 6610 89
原创 机器学习算法-决策树算法原理及其sklearn实现
前言先梳理一下决策树的预测过程。预测时,从根节点开始,每次对一个特征分量进行判断,然后进入左子节点或者右子节点,直到抵达叶子节点,得到对应的类别标签或者回归值。1.决策过程先来看一个简单的决策树例子:银行要判断能否给一个人贷款,需要满足判断两个特征,一个是年收入,一个是是否有房产,这是一个二分类问题。来走一下这个决策树的流程,首先是根节点,判断年收入是否大于20万。年收入大于20就可以给这个人贷款,不大于20万就去下一个判断,下一个节点的判断是是否有房产,有房产就可以贷款,没有就不能贷款。决策
2021-12-14 23:06:44 2276
原创 机器学习-knn(k近邻)算法原理及实现
前言经典的knn了解一下。1.算法思路1.1算法基本思想knn的基本思想:需要确定一个样本A的类别,可以计算出它与所有训练样本的距离,然后找出和该样本距离最小的k个样本,对这k个样本的类别进行统计,样本数最多的那个类别就是我们A的类别了。1.2预测算法流程knn没有需要求解的参数,没有训练过程,参数k由人工指定。对于分类问题,给定n个训练样本(xi,yi),xi为特征向量,yi为标签值。设定合适的参数k,类别数为c,待分类的样本为下。算法的预测流程如下。(1)在训练数据中找出离x最近的k个样本
2021-11-29 22:53:29 2212
原创 机器学习-贝叶斯分类器原理及其sklearn实现
前言贝叶斯分类器是一种概率模型,它用贝叶斯公式解决分类问题。我们假设样本的特征向量服从某种概率分布,则可以计算特征向量属于每个类的条件概率,条件概率最大的即为分类结果。如果假设特征向量各个分量之间相互独立,即为朴素贝叶斯分类器。如果假设特征向量服从多维正态分布,则为正太贝叶斯。1.贝叶斯决策条件概率描述了两个有因果关系的随机变量之间的概率关系,p(b|a)定义为在时间a发生为前提下,事件b发生的概率。贝叶斯公式阐明了两个随机事件之间的概率关系:这个结论可以推广到随机变量。分类问题中特征向量的取值x和
2021-11-27 13:34:37 3199 2
原创 opencv物体识别-识别水果
前言玩一玩用opencv做一些简单的物体识别1.思路讲解我们基于简单的opencv的阈值分割,通过这个阈值分割,我们能把我们需要识别的物体在二值图里面变成白色,其余的变成黑色。然后对我们分割出来的物体部分提取轮廓,算出覆盖轮廓的最小矩形,然后画出这个矩形框,并且表上我们物体的名字。2.样本展示笔者就以这两张图片为例子,提取这两张图片里面的橙子。按照我们上面的思路,我们需要的是把橙子这个部分分割出来变成变成二值图的白色部分,其他部分变成黑色。3.代码实现首先我们读入一张橙子的图片,因为op
2021-11-26 22:30:01 27334 10
原创 双向链表实现(c/c++)
前言数据结构还是得来一手。一.关于链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表通过指针域能把多个元素串联起来。一般的链表中每个元素只有一个指向下一个元素的指针域,而我们的双向链表却有两个指针域,其中一个指针域指向下一个元素,另一个指针域指向这个元素的上一个元素。接下来看程序
2021-11-16 09:03:07 2308
原创 c/c++中使用结构体变量报错使用了未初始化变量L或者vs code运行可执行文件没有像预想的输出到终端
一个c/c++小问题起先我的代码是这样的:#include"list.h"#include<stdio.h>int main(){ List *L; ElemType x=10; InitList(L,x); printf("%d\n",L->first->next->data); printf("%d\n",L->last->next->data); return 0;}然后就报错如标题,后来
2021-10-31 16:45:36 2188
原创 jetson nano安装系统,安装pytorch
那就玩一玩jetson nano吧首先需要准备jetson nano的套件,建议套件里面还是有jetson nano相对应的wifi模块的,方便连上wifi。然后还需要一张tf卡,建议在32g以上吧。先把安装过程中的需要的资料奉上:链接:https://pan.baidu.com/s/1gQKvme2oV7D15eD7oMz-sA提取码:tzjl安装过程中笔者用的是windows系统。1.格式化tf卡需要下载格式化tf卡的工具SD Memory Card Formatter,链接里面就有安装包,
2021-10-30 17:13:39 4350
原创 python类中调用类方法时,报错self参数未填。
又碰到了一个小错误比如一个类如下:class print_number(object): def __init__(self,string="数字是"): self.string=string def print_(self,ss=3): print("{}:{}".format(self.string,ss))//实例化类p=print_numberp.print_() 这个时候会报错,p.print_的self参数未填。这是
2021-10-20 09:23:01 11964 3
原创 pcl入门笔记1:pcl的安装
前言最近刚入坑pcl,打算记录一下自己的学习历程。安装pcl前的准备本教程使用的是windows下的预编译包安装,要想顺利编译程序,需要安装好微软的Visual Studio IDE和cmake。这两者安装过程都非常简单,读者可以自行百度。cmae也可以安装gui版本。pcl的预编译包链接:https://pan.baidu.com/s/1hWi3_hELh1MVZihHV23juQ提取码:ouzu笔者提供了1.8和1.12两个版本,读者可以自行选择安装。每个版本的文件夹有两个文件。安装步骤
2021-09-18 17:43:13 3441 2
原创 安装cupy模块,以及安装cupy模块出现的问题
最近需要一下python里面cupy库,所以想要安装一下,但是一pip安装就出现了如下问题还说在系统里面找不到cuda,环境变量有问题,然后笔者又重装了一下cuda。发现还是同样的问题,最后参照了一下文档才知道,cupy模块有一些依赖库需要安装,而且pip安装的时候是不会自动安装这些依赖库的。解决办法是使用anaconda自带的命令行使用激活相应的虚拟环境,使用命令conda install cupy就可以安装了,使用conda安装会安装上相应的依赖库,就可以顺利安装上cupy了。...
2021-08-19 10:27:26 7232 2
原创 self-attention机制通俗的理解,transformer中的注意力机制。
前言看了一下今年关于transformer的paper,感觉对self-attention机制了解地更加深入了。self-attention首先说什么是self-attention,简单来说self-attention就是计算自己与自己地关联性。比如在cv中,我们可以这么理解,通过self-anttention可以计算每个像素点之间地关联性。先上图:给定大小为 H ∗W ∗C的输入2D图 ,我们通过(Wq,Wk,WV)将输入数据X转换为Q=XWq,K=XWk ,V=XWv 之后,其中Wq,Wk
2021-08-18 10:09:44 1298
原创 Batch Normalization(批标准化)
前言:好吧,又是补习算法原理的一天在神经网络的训练当中,需要各层的激活值分布拥有适当的广度,从而可以顺利地进行学习。那么,为了使各层分布拥有适当的广度,强制性地调整激活值的分布,这就是Batch Normalization算法,Batch Normalization调整的思路就是调整各层的激活值使其拥有适当的广度。Batch Normalization有以下优点1.可以使学习更快进行2.不那么依赖初始值3.抑制过拟合算法公式Batch Normalization,就是以进行学习时的mini-b
2021-07-15 23:42:59 650 2
原创 pytorch实战图像分类-mnist手写数字数据集
前言用了太多的现成的网络结构,感觉自己在深度学习这一块只会用别人的结构,对模型的搭建啥的这一块都没多大经验,所以写下这篇博客,记录下自己尝试搭建模型的开始。代码解析1.我们用的是pytorch深度学习框架,数据集就用经典的mnist数据集。首先导入包import numpy as npimport torch#导入pytorch内置mnist数据from torchvision.datasets import mnist#导入数据预处理模块import torchvision.trans
2021-06-06 14:20:02 678 3
原创 tensorflow2中tensorflow.keras.layers.Activation函数使用方法
简单来说这个函数就是神经网络层的激活函数层。下面让我们看看这个函数定义:tf.keras.layers.Activation( activation, **kwargs) 其中参数activation就是用来指定激活函数。可以是两种形式,例如使用rule。示例如下:layer = tf.keras.layers.Activation('relu')output = layer([-3.0, -1.0, 0.0, 2.0])list(output.numpy())layer .
2021-06-01 20:29:18 2403
原创 pycharm更换python解释器(anaconda和python官网)
找到pycharm的文件按钮。2.点击设置按钮3.点击项目,再点击python解释器就会出现这个窗口了。4.笔者这里是conda解释器,如果是python官网安装的就要点第一个。然后就是找到python解释器的路径了,一般我们要找的是这个python.exe文件,点击确定就好了。不管是python官网还是anaconda,都是这样。如果有anaconda自己创建的虚拟环境,那么虚拟环境的解释器一般再Anaconda3目录下的envs目录下,就像笔者图中的路径一样。这里还要注意的是如果找不...
2021-05-12 13:04:42 5456
原创 opencv读取图片(绝对路径和相对路径,新手常踩的坑)
有很多新上手opencv的小伙伴在图片的读取这一块常犯错误,很多小伙伴可能看到资料中的代码是这样的:cv2.imread("lena.jpg")然后报错是:error: (-215) size.width>0 && size.height>0 in function cv::imshow这里就要千万注意了,这一段千万不要照抄书上的内容。因为图片的读取是从你自己的电脑上读取图片,你的电脑上不一定有这个图片,或者路径不对,那就读取不了了。讲到这里又不得不提到路径要注意的点
2021-05-11 13:27:49 18605 4
原创 tkinter遇到运行程序按键的回调函数自动执行的情况
最近新做一个小项目,使用到了GUI。笔者使用的是tkinter。首先我的代码是:B1 = Button(top, text="开始", command=tt())然后就遇到了上面的情况,程序一运行,按键里面的回调函数就自动执行了。解决办法:B1 = Button(top, text="开始", command=tt)就是将回调函数tt()的括号去掉,这样就没问题了,也就是说按键里面的回调函数不能加括号(因为ide提示输入会加上括号)。至于不能加括号的原因笔者也不清楚,希望评论区有大佬可以解答
2021-05-11 12:25:28 956 1
原创 ubuntu更换python pip国内源
以清华源为例1.pip安装源可以在命令中临时使用: pip install -i https://pipy.tuna.tsinghua.edu.cn/simple 包名2.长久使用的话,需要使用配置文件: (1).创建pip.conf配置文件 打开终端,执行如下命令。mkdir ~/.pipcd ~/.piptouch pip.conf (2).进入配置文件sudo nano ~/.pip/pip.conf[global]i...
2021-05-01 10:53:09 1005
原创 keras保存训练好模型的方法
前言:本博客讲的比较基础,只适合刚入坑的小伙伴们阅读。 一.加载好数据 读者可以自己加载好任意数据集,笔者这里使用的是mnist数据集。'''制作人:追天一方功能:keras模型的保存方法示例笔者水平有限错误之处请包容'''import osimport tensorflow as tffrom tensorflow import keras#示例数据集是mnist,只使用前一千个示例(train_images,train_labels),(test_images,te..
2021-03-26 12:52:38 5733 2
原创 keras mnist图像分类任务(服饰)
刚刚入手tensorflow,有错请指正。tensorflow自2.0以来,上手程度就很欧克了。这个项目主要涉及的是使用keras做分类任务,使用的是mnist数据集,比较适合新手,刚入坑的小伙伴们。 首先导入要使用的模块,并且加载数据集。import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# print(tf.__version__)#导入mnist服饰数据集fashion_mnist...
2021-03-20 23:44:14 286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人