- 博客(82)
- 资源 (5)
- 收藏
- 关注
原创 【Git】误删文件&恢复文件&回滚操作
案例1比如工作区有一个文件叫test.txt文档,你需要删除,那么使用如下命令即可:git rm “test.txt”如果想撤销删除的文件,使用如下命令git reset HEAD test.txtgit checkout test.txt案例2如果你使用了git rm “test.txt” + git commit -m “remove test.txt”此时你需要回滚到之前的版本:git log找到你需要回滚的版本git checkout hash-id,这里的hash-id就
2023-06-07 16:37:24
2636
原创 【环境安装系列】Anaconda环境下安装opencv-python并提示代码
参考链接:https://pypi.org/project/opencv-python/
2023-05-11 15:36:10
682
原创 Springboot使用JPA @DynamicUpdate 报错Column ‘create_time‘ cannot be null
在entity类中加入了@DynamicUpdate注解,但是在向数据库中insert数据时,没有手动insert创建时间,结果报错。
2023-01-17 15:08:46
594
原创 论文笔记《MemSeg: A semi-supervised method for image surface defect detection using differences and comm》
论文地址:https://arxiv.org/ftp/arxiv/papers/2205/2205.00908.pdf效果:2022.5.4 目前霸榜第一,99.56%,一秒31.34张图片,很快一、动机:物体的类内方差较小结合样本之间的差异性和共性a. 差异性就是生成异常样本,做半监督b. 共性就是利用memory机制二、方法:总结:(encode是resnet18)U-Netmemory模块多尺度融合空间注意力机制异常的生成,分三步:(目的只在物体上产生异常).
2022-05-04 17:43:53
2782
原创 模型的计算量与参数量计算
最近在魔改网络,发现对于模型的计算量和参数量要有一定的概念才行我直接使用的是thop包pip install thopfrom thop import profileimport torch.nnimport torchvisionfrom efficientnet_pytorch import EfficientNetresnet_18 = torchvision.models.resnet18()resnet_34 = torchvision.models.resnet34().
2022-03-31 10:53:01
682
原创 本地代码上传至github仓库(实测有效)
最近也是刚开始正儿八斤学一下github怎么使用,看了很多博客,踩了很多坑,自己做一个总结主要参考的是下面两篇文章https://www.cnblogs.com/cxk1995/p/5800196.htmlhttps://www.cnblogs.com/520lqlst/p/8375976.html将本地代码上传至github仓库的步骤其实就几个,没有很复杂,想要将本地仓库的代码上传到github,首先需要将github代码下载下来才行以下步骤是已经将ssh密钥和github仓库进行了关联.
2022-03-16 13:02:51
2514
原创 《论文笔记》Anomaly Detection via Reverse Distillation from One-Class Embedding
这是2022年的CVPR文章,作者提出了一个创新的知识蒸馏方案:反转知识蒸馏论文地址:https://arxiv.org/pdf/2201.10703v1.pdfMotivation论文针对传统的知识蒸馏的方案提出了一个问题:认为之前的方案容易阻碍异常表现的多样性传统的知识蒸馏teacher和student的网络架构很相似或者几乎相同而且teacher和student的输入流都是一样的针对这个我的理解是,因为T和S网络相似,尽管T是预训练好的,有一定的泛化能力,而S只是模仿了T学到了重.
2022-03-10 16:42:40
8842
7
原创 对于工业缺陷小样本问题的总结
总结文章原文:如何解决工业缺陷检测小样本问题?工业缺陷样本难以获得,那么需要从 源头(缺陷样本) 或者 算法 这两个角度考虑。从样本上考虑,无非就是增加样本量(1)手动给正常样本制造缺陷,但是这个费时费力,并且对于昂贵的产品不合适。(2)利用仿真,但是现在大多这种数据增广的方式利用的是传统的方案,只能仿真出缺陷的位置改变或者一些简单的纹理变化,对于复杂的纹理以及缺陷的各种形状还比较难。对于以上两种增加样本的理解,我认为一方面是费时费力的,另外一方面因为样本的种类各种各样,没有办法预测,所以.
2022-02-25 13:45:31
1633
原创 【论文笔记】Multiresolution Knowledge Distillation for Anomaly Detection
论文地址:https://arxiv.org/abs/2011.11108官方代码地址:https://github.com/Niousha12/Knowledge_Distillation_AD论文提出目前无监督的异常检测是现在比较流行的方法,对于异常检测,有两个问题是需要解决的:样本量小,如何通过现有的技术学到丰富的知识训练时使用的是正常样本,那最后如何区分正常和异常的样本本文作者选择了知识蒸馏的方法,但是不同于前人,作者认为前人使用知识蒸馏,只对最后一层进行蒸馏,而作者却使用了中间多.
2022-02-24 18:58:32
1602
1
原创 【论文笔记】Student-Teacher Feature Pyramid Matching for Anomaly Detection
原文地址:https://arxiv.org/pdf/2103.04257.pdf代码可以参考:https://paperswithcode.com/paper/student-teacher-feature-pyramid-matching-for核心:利用知识蒸馏的方式在MVTec AD数据集上进行异常检测论文中的teacher网络是在ImageNet上预训练的ResNet-18而student网络中的参数是随机初始化的在训练过程中,使得student逼近teacher论文利用两点来.
2022-02-23 20:39:33
2912
1
原创 transforms中RandomResizedCrop、Resize、CenterCrop的理解
首先要记住,transforms只能对PIL读入的图片进行操作,而且PIL和opencv只能读取H * W * C形式的图片transforms.RandomResizedCrop(size) : 将原图片随机裁剪出一块,再缩放成相应 (size*size) 的比例import matplotlib.pyplot as pltfrom PIL import Imagefrom torchvision import transformsfile_path = "./flower.jpg"i.
2022-02-09 15:01:06
19460
1
原创 pycharm无法读取中文路径下的图片
这里做个简单的笔记,防止自己忘记,等后面再仔细研究一下这个函数如下所示,使用cv2.imread()直接读取中文路径下的图片会报错file_path = "E:\\中文\\good\\pic.bmp" img = cv2.imread(file_path)解决办法利用 cv2.imdecode() 读取图片file_path = "E:\\中文\\good\\pic.bmp" img = cv2.imdecode(np.fromfile(file_path , dtype=np.uint.
2022-01-20 13:32:27
2253
原创 numpy一些笔记整理
np.tile()参考博客:https://www.jianshu.com/p/9519f1984c702. np.where/np.unique参考博客:https://blog.csdn.net/qq_27825451/article/details/82838402参考博客:https://blog.csdn.net/u012193416/article/details/79672729
2022-01-08 13:18:27
770
原创 python-opencv利用cv2.matchShapes()实现轮廓匹配
之前用过cv2.matchTemplate()去做模板匹配,今天学习下cv2.matchShapes()具体的使用方法,可以参考博客:https://www.cnblogs.com/wojianxin/p/12607948.html这里我的理解是:cv2.matchShapes()是用来匹配轮廓形状的,而且只能匹配单个轮廓;cv2.matchTemplate()是用来匹配模板的,可以用一个模板去匹配图像上多个轮廓点对# 一般用来分析cv.findContours()之后的轮廓点对def
2022-01-08 12:44:27
10510
原创 膨胀腐蚀-利用直线模板和圆模板及python-opencv代码实现
也是这几天做项目才理解到,原来膨胀腐蚀还可以利用线条模板和圆的模板去做,之前都是使用矩形模板去做的。需要处理的图片如下:import cv2import numpy as np"""直线膨胀腐蚀"""img = cv2.imread("pic.png", 0)# cv2.imshow("img", img)t, thresholdImg = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)# cv2.im.
2022-01-07 21:33:55
2796
原创 边缘检测算子的理解
最近学习canny和sobel,记录自己对其算子的理解因为边缘是梯度变化的位置,在数学中可以用导数表示,那么用算子就可以表示为 [1,-1] ,这样就可以表示用来f(x+1,y) - f(x,y)这里记录几个算子,第一个就是Prewitt算子,表示如下:可以看到这个算子是用了3x3的模板,因为如果用之前所说的1x2的算子,正好有两个像素的位置差距很大,那么带来的影响就比较大,为了减少个别点的影响,所以选择了大一点的模板。接下来就是sobel算子,这也是canny算子的核心;这里解释一下为.
2022-01-07 20:43:22
1946
3
原创 轮廓曲率计算(附python代码)
最近在研究角点的检测,需要用到曲率计算,就研究了一下目前常用的曲率计算,我这里用的是点到切线距离累加和曲率估计方法(RTPDA)参考了一下重庆大学的一篇博士论文《几种轮廓曲率估计角点检测算法研究》先附上链接曲率计算代码看起来公式有点多,其实理解起来还是很容易,请大家仔细看下去。另外关于最小二乘法,可以参考链接最小二乘法的本质还有一些简单的计算曲率的方案,比如“直接利用曲率的计算公式”,或者是“通过三角形外接圆半径求曲率”,这些对于离散点来说,还是有点影响的...
2021-11-27 20:26:37
3637
原创 Pycharm+PyQt5.15+Anaconda环境搭建(详细教程,适合入门级选手)
pyqt5版本更新到5.15版本以后,一些插件的位置发生了改变。比如原来Anaconda\Lib\site-packages\pyqt5_tools\Qt\plugin;还有designer.exe的位置都发生了改变接下来我就整理一下这两天我的pyqt5安装过程环境版本pycharm 2019.4pyqt5 5.15.4python 3.7.4anaconda3 2019.10安装pyqt5这里可能要注意一下,之前安装过anaconda的同学,可能原来就有qt,这里我也不清楚qt.
2021-10-01 14:08:14
3339
原创 实验室服务器环境搭建(anaconda、pytorch、pycharm的配置)
最近学习深度学习,需要使用实验室的服务器去跑代码,这个环境配置,我算是搞糊涂了,好在多配了几次,终于搞明白了(我这里是按照第一次连接服务器来讲解的)首先是需要工具(xshell、xftp,安装anaconda和pytorch等环境)接下来就讲解配置的步骤:首先连接实验室服务器,然后利用conda env list查看自己有多少环境;然后下载anaconda,直接去官网下载;我这里下载的是Anaconda3-2021.05-Linux-x86_64.sh然后将这个anaconda文件直接上传.
2021-09-17 21:12:08
3007
3
原创 PCL库将ply文件转换成pcd文件
今天刚开始使用PCL库,但是被这个数据导入的格式整懵了记录一下PCL将PLY文件转换成PCD文件的方法吧#include <iostream>#include <pcl/common/io.h>#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/PolygonMesh.h>#include <vtkSmartPointer.h>.
2021-08-02 11:20:35
2486
2
原创 VS2019+PCL1.12.0的安装与使用
安装的教程可以参考:https://blog.csdn.net/syz201558503103/article/details/103892364下面主要记录一下再安装过程中需要注意的几点我们需要导入库链接:debug和release,根绝网上的方法,我们可以先将debug和release的lib文件分开存放起来,然后使用以下方法:1. win+r调出“运行”窗口并输出cmd2. 输入:cd /d D:\ debug_version 回车 (进入到的文件根绝自己的路径来写)(以放debu.
2021-07-11 10:03:52
2344
原创 matlab去除红眼代码及详细介绍
本篇博客借鉴了:https://blog.csdn.net/qq_35608277/article/details/78363139但是他的代码还有一些地方没有说明清楚,并且使用之后效果不是很好。所以我在他的基础上再整理了一下关于去除红眼的模型我这里使用的是HSI模型,HSI转RGB和RGB转HSI的公式大家应该都知晓了,我这里就直接放图了。我们确定好ROI区域后,就根据以下公式来消除红眼:下面直接上代码RGB转HSI代码function [hsi,H,S,I]=rgb2hsi(rg.
2021-02-09 12:01:13
3203
2
原创 pytorch学习-自动求梯度
这段时间刚开始学习pytorch,记录下学习的一些基础知识吧。Pytorch中的Tensor的属性.requires_grad如果设置为True,它将开始追踪在其上的所有操作(这样就可以利用链式法则进行梯度传播)。完成计算后,可以调用.backward()来完成所有梯度计算。此Tensor的梯度将累积到.grad属性中。# 这里需要注意,Only Tensors of floating point and complex dtype can require gradientsx = torch.
2021-01-24 19:21:02
490
原创 Anaconda中安装torchtext和torchvision遇到的问题
在跑如下例程代码的时候,会报错:ModuleNotFoundError :No module named ‘torchtext’import torchimport torchvisionimport torchvision.transforms as transformsimport matplotlib.pyplot as pltimport timeimport syssys.path.append("..") # 为了导入上层目录的d2lzh_pytorchimport d2lzh_
2020-11-21 19:45:19
1901
原创 anaconda安装使用学习(之前安装过python环境的也没有问题)
最近开始学习深度学习了,目前先从pytorch入手的,需要先安装Anaconda环境,之前我在电脑上已经安装过python了,但是发现继续安装Anaconda环境是没有冲突的。首先附上网上:Anaconda的安装使用教程(极力推荐,附图文)但是因为我之前已经安装过python3.7.4的环境了,所以这边使用起来需要注意以下几点:使用命令cmd打开dos窗口,先输入conda activate,会在前面出现一个base,这样就进入了anaconda的环境了(如果失败报错,请看注意点2);如果c
2020-11-07 13:58:17
946
原创 浏览器无法加载图片问题解决办法(主要是csdn博客无法加载图片)
今天突然发现自己的csdn无法正常加载图片,但是这个图片是真实存在的(在朋友的电脑上就可以正常显示图片)解决办法如下:首先打开电脑控制面板,选择网络和共享中心,选择更改适配器设置在你的网络上右键选中属性取消IPV6的选项选中IPV4,点击属性,选择自动获取DNS服务器地址;也可以首选DNS服务器地址,配置为8.8.8.8,但是这样做,容易造成网站加载速度变慢,具体原因还没有搞懂。...
2020-11-01 14:15:52
15365
10
原创 C++的map使用方法(一)
今天了解了C++中map的以下几个方法find():查找map中是否存在key值;count():返回指定元素出现的次数;关于find()函数在c++中,find()返回的是一个迭代器,如果在map中存在这个key值,就会返回一个迭代器指向键值为 key 的元素,如果没找到就返回指向 map 尾部的迭代器。如果你要是想返回key值对应的value值,有2种方法:可以利用find(key)->second来获取;直接利用map[key]来获取;注:利用map[key]有一点需要
2020-10-31 16:24:02
2808
3
原创 我的春招经历分享
首先介绍一下自己吧,本人目前本科大四,今年2月份开始准备春招实习,当前在华为实习3个月,岗位是通用软件开发,主要使用的是java。但是本人拥有保研资格,所以打算回去继续读研深造。又到了一年一次秋招季每年秋招可谓是千军人马过大江,竞争是难以想象的激烈,今天我就结合我的春招实习准备,为大家提出一些意见。何时开始准备?准备些什么?...
2020-09-18 15:48:07
626
原创 设计模式之单例模式
单例模式是java设计模式中比较简单的一种模式,简单来说,单例模式保证了一个类只能创建一个对象,并且提供了访问这个对象的方式,可以直接访问,不需要实例化。双重锁检测public class Singleton { private Singleton(){}//构造方法 private volatile static Singleton instance = null;//单例对象 //静态工厂方法 public static Singleton getInstance.
2020-07-07 22:33:43
139
原创 0-1背包/完全背包问题优化
上一篇博客中写道0-1背包问题,同时也给出了状态转移方程,但是空间复杂度还是比较高的。附上博客链接:彻底搞懂0-1背包问题(动态规划)0-1背包问题的优化。我们可以看到更新后的最大价值 dp[i][j] 是根据当前的最大值和前一行的状态得到的。...
2020-06-08 21:56:41
1023
1
原创 SpringBoot入门系列,手把手教你搭建SpringBoot工程
前言:之前我做SpringBoot项目的时候都比较忽视创建工程,基本上都是拿着之前的老项目过来改改,但是掌握如何快速搭建Springboot项目是非常有必要的。注意:我这里的前提条件都是你已经把你的本地maven部署好了。快速创建自己的SpringBoot工程打开idea,创建一个new project,然后选择左边的Spring Initializr,接下来:方法一:可以选择下图中红框标注的Default:https://start.spring.io,然后选择next即可;这里如.
2020-06-01 20:17:40
418
原创 彻底搞懂0-1背包问题(动态规划)
看了很多网上的博客,发现对于0-1背包问题很多讲的都很专业,初学者学起来还是比较吃力,今天我就用最简单最形象的语言来描述一下0-1背包问题,为什么不能用贪婪算法,而要选择使用动态规划。首先对于0-1背包问题,我们需要知道的是:每一个物品只有1个,要么全拿,要么不拿,最后使得拿到的物品的总价值最大。假如一个小偷有一个可以容纳4千克的背包,但是发现面前只有有3样物品可以偷:台灯(30元,4千克)、音响(20元,3千克)、充电宝(15元,1千克)(价格和重量可能有点奇怪????)。问,小偷能够偷到的物品的
2020-05-29 17:26:18
29455
45
原创 leetcode之前缀和
在动态规划中我们经常会用到前缀和这个方法,我们先来简单看个例子。借用leetcode第560题:和为k的子数组:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例:输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。其实很容易想到的是暴力求解,但是时间复杂度为O(n2n^2n2),所以我们这里直接讲解前缀和;我们遍历每一个数组,定义一个 preSum[i] 将数组下标在[0…i]之间的和保存起.
2020-05-27 17:43:48
1213
原创 leetcode之判断环形链表以及入环点,简单易懂!
面试的时候经常会遇到要判断一个链表是否有环,今天就来总结一下如何判断一个链表是否有环,以及链表环长、链表的入环点。首先我们来看一下如何判断链表是否有环1.利用哈希表我们可以在遍历的时候将每一个链表节点存入到哈希表中,然后在遍历的过程中寻找是否有这个节点了,如果有,那就是环形链表,如果没有,继续遍历,直到链表节点为空(null)。这个思路很简单也很容易懂,我们直接看代码。public boolean hasCycle(ListNode head) { Set<ListNode&g.
2020-05-26 15:46:55
826
1
STM32+ADS1115按键可调检测范围
2019-05-03
基于Servlet的用户登录界面
2019-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人