- 博客(34)
- 收藏
- 关注

原创 SSD-Pytorch训练和测试自己的数据集(新手必看)
目录1.准备自己的数据集2.pytorch环境安装即SSD-pytorch代码下载3.正常的修改 修改1:config.py 修改2:VOC0712.py 修改3:train.py 修改4:eval.py 修改5:ssd.py4.遇到的问题和相应的解决办法 问题1: ...
2019-03-24 16:37:26
49119
341
原创 机器视觉-7 检测原理之预处理(图像增强)
OpenCV 提供了丰富的图像增强工具,涵盖了从基本的亮度、对比度调整,到复杂的去噪、变换等高级操作。通过这些方法,用户可以大大改善图像质量,或为后续的计算机视觉任务做准备。结合不同的图像增强技术,能够帮助解决各种复杂的图像处理问题。直方图均衡化:改善对比度,适合光照不均的图像。CLAHE:自适应直方图均衡化,适合复杂的光照条件。亮度与对比度调整:直接线性调整图像的亮度和对比度。锐化:增强图像的边缘和细节。边缘检测:检测图像中的显著边缘。伽马校正:非线性调整图像的亮度,适合暗部细节增强。
2024-09-21 16:36:49
997
原创 机器视觉-6 检测原理之预处理(滤波)
通过自定义卷积核,可以实现各种特定的滤波操作。OpenCV 提供了filter2D()函数,可以用来对图像应用自定义的卷积核,比如图像锐化、边缘检测等。平均滤波:适用于简单的去噪和平滑操作,但容易模糊边缘。高斯滤波:通过高斯权重平滑图像,适合处理高斯噪声。中值滤波:能有效去除椒盐噪声,且不会明显模糊边缘。双边滤波:在平滑的同时能保持边缘细节,适合细节丰富的图像。自定义滤波:通过自定义卷积核,可以灵活实现各种滤波效果,如锐化、边缘检测等。
2024-09-21 15:59:04
1228
原创 机器视觉-5 检测原理之视觉定位
OpenCV 的函数是进行图像模板匹配的基本工具,适用于简单的匹配任务。它易于实现且具有一定的稳定性,但对旋转、缩放等复杂情况不敏感。在需要更高精度和鲁棒性的场景下,可以结合特征匹配算法或深度学习方法。
2024-09-20 18:42:55
1343
原创 机器视觉-4 检测原理之OpenCV Blob特征检测
在图像处理的背景下,BLOB指的是图像中颜色一致且连接在一起的像素区域。在二值图像中,这些区域通常是由相同像素值(如白色或黑色)组成的。BLOB检测的目标是识别这些连通区域,并提取它们的特征,例如面积、形状、位置等。OpenCV中的BLOB检测工具为图像处理和计算机视觉任务提供了强大的支持。通过设置合理的参数,可以有效检测并分析图像中的连通区域,为各种应用提供可靠的解决方案。随着计算机视觉技术的发展,BLOB检测将继续在各类实际应用中发挥重要作用。
2024-09-01 19:20:30
2268
原创 机器视觉-3 光学成像之明场与暗场
在机器视觉中,光学成像的明场(Bright Field)和暗场(Dark Field)是两种常见的成像技术,分别用于不同的检测和分析场景。它们通过不同的光照方式来突出对象的特征,从而帮助识别、检测和测量对象的各类细节。是一种传统的光学成像技术。在这种技术中,光源直接照射到物体上,反射光或透射光直接进入相机或传感器。成像的亮度主要由物体的反射率、透光率以及物体的形状和结构决定。明场照明的定义是光源位于相机视野(FoV)的反射锥内(高角度照明)。暗场成像是通过使光线以倾斜的角度照射到物体上,
2024-09-01 17:46:11
4018
1
原创 机器视觉-2 检测原理之缺陷检测方法
缺陷检测在工业制造和质量控制等领域中至关重要。根据图像背景的复杂程度和特征差异,缺陷检测方法通常分为三类:单调背景、规则纹理背景和无规则图像背景。在单调背景下,阈值分割和差分法能够有效地识别明显的缺陷区域。对于规则纹理背景,模板匹配和Gabor滤波器可以精确检测纹理中的异常变化。此外,傅里叶变换作为一种频域分析工具,能够识别周期性纹理中的缺陷,尤其适用于规则纹理背景下的缺陷检测。在无规则图像背景中,边缘检测、图像分割(如Watershed算法)以及深度学习方法适合用于处理复杂的缺陷模式。
2024-08-26 19:15:22
2463
原创 机器视觉-1 常用的机器视觉开发库
机器视觉领域的发展非常迅速,不同的开发库有着各自的优点和局限。无论是进行学术研究、产品开发,还是工程应用,选择合适的工具能够大大提高工作效率和效果。通过了解这些库的特性和功能,开发者可以更好地选择适合自己需求的开发库,并在视觉任务中取得成功。
2024-08-25 17:24:26
1366
原创 工业视觉检测
工业视觉检测系统通常包括图像采集设备(如高分辨率摄像头)、照明设备、图像处理软件、分析算法以及执行决策、显示结果的输出设备(如PLC控制器、UI)等部分。然后,通过使用传统的图像处理算法或更高级的深度学习方法,对这些特征进行分析,以识别缺陷、进行测量或其他相关的质量控制任务。良好的光学系统是视觉检测的基础。随着技术的进步,特别是在计算机视觉和人工智能领域,工业视觉检测系统的能力将继续提升,进一步扩展其在制造业中的应用范围和效率。根据特定的检测需求,可以使用不同类型的相机,如彩色、黑白、红外和X射线相机。
2024-04-07 16:42:00
906
原创 百度人工项目实训1--多变量线性回归之房价预测
目录实验介绍:实验环境实验内容基本内容数据集介绍:训练测试扩展1.实验介绍: 给定一个大小为????n的数据集{????????,????????1,...,????????????}????????=1{yi,xi1,...,xid}i=1n,其中????????1,…,????????????xi1,…,xid是第????i个样本????d个属性上的取值,????????yi是该样本待预测的目标。线性回归模型假设目标????????yi可以被属性间的线性组合描
2020-09-23 17:19:16
817
原创 Python爬虫学习--基础
今天开始具体学习python爬虫。之前在做项目时,有遇到过相关问题,因为没有学过爬虫,所以没用上。由于对其的兴趣,开始系统的学习。话不多说,开始吧!目录1.python的安装2.IDE(集成开发环境)的安装1.python的安装python安装官网网址:https://www.python.org/点击网址进入如下页面,鼠标移动到Download会出现平台的选择,我电脑的操作系统是Windows,所以我选择的平台是windows,右边的一个框显示将要下载的python版本。
2020-09-04 20:58:49
228
原创 利用Python统计coco数据集信息
目录1.COCO数据集简介2.COCO数据集的优缺点(简述)3.COCO数据集信息统计4.下次将推出VOC转COCO的脚本,期待关注。1.COCO数据集简介微软发布的 COCO 数据库是一个大型图像数据集, 专为对象检测、分割、人体关键点检测、语义分割和字幕生成而设计。COCO 数据库的网址是:MS COCO 数据集主页:http://mscoco.org/ Gi...
2019-07-20 19:34:59
3397
原创 SQL_leetcode整理
目录1.Not Boring Movies(620)题目描述题目类型样例参考代码思路代码测试结果2.Rank Scores(178)题目描述题目类型样例参考思路代码测试结果3.Delete Duplicate Emails(196)题目描述题目类型样例参考思路代码测试结果4.Consecutive Num...
2019-04-13 20:00:32
852
原创 leetcode刷题937-16 | 620. Not Boring Movies
目录1.Not Boring Movies(620)题目描述题目类型样例参考代码思路代码测试结果1.Not Boring Movies(620)题目描述X市新开了一家电影院,很多人都想去这家电影院。电影院还会发放一张海报,标明电影的评级和描述。请编写一个SQL查询来输出ID为奇数且描述不“无聊”的电影。通过评级对结果排序。题目类型单表查询...
2019-04-12 21:03:46
186
原创 目标检测算法评估
目标检测算法评估目录目标检测的评估引论precision和recallPR曲线和AP,mAPVOC的mAP评价代码总结引论现在关于深度学习的算法层出不穷,那么我们应该用什么指标去评判一个算法的优缺点呢?以目标检测为例,要想准确地评价目标检测算法,对目标检测的评估工作肯定是少不了的。通常包括对速度的评价和对精度的评价,对速度的评价指标有FPS(Frame...
2019-04-08 22:23:48
2253
4
原创 对多个xml文档遍历,进行数据分析
目录1.什么是xml文档?2.提取xml文档的信息3.遍历多个xml文档,并进行数据分析1.什么是xml文档?请看如下截图,xml文档的一般格式:如果还想深入了解xml文件,可以参考详细博客,链接如下:https://blog.youkuaiyun.com/com_ma/article/details/732775352.提取xml文档的信息python和java都...
2018-12-24 00:00:12
1559
5
原创 leetcode刷题937-15 | 21. Merge Two Sorted Lists
目录题目大意示例思路参考代码题目大意合并两个排序的链表,并将其作为一个新列表返回。新列表应该通过拼接前两个列表的节点来创建。示例输入:[1,2,4] [1,3,4]输出:[1,1,2,3,4,4]思路要合并两个链表,需要创建新的链表存储结果,接下来就时要判断链表1和链表2中的元素大小,按小到大的顺序依次闯入新的链...
2018-12-09 18:27:19
168
原创 leetcode刷题937-14 | 257 Binary Tree Paths
目录 题目解析示例思路题目解析给你一个二分树,返回根到结点的所有路径 示例输入: [1,2,3,null,5]输出: ["1->2->5","1->3"] 思路首先我们要知道的是返回的是一个char数组,采用深度优先的方法对二分树遍历,根据叶子结点的 参考代码/** * Definition for a bina...
2018-12-08 21:27:06
146
原创 leetcode刷题937-13 | Design HashSet
目录 问题描述示例感想代码时间复杂度比较问题描述设计一个不使用任何内置哈希表库的哈希集。 实现以下功能: 1.插入操作 2.移出操作 3.判断操作(判断是否含有关键字)示例MyHashSet hashSet = new MyHashSet();hashSet.add(1);hashSet.add(2);hashSet.contains(1); /...
2018-12-06 20:41:52
307
原创 什么是超参数
目录前言:Learning rateiteration,batch_size,epoch例子参考链接: 前言:在机器学习的中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。要而言之,我们可以根据实际情况修改超参数已达到最好的训练效果。 Learn...
2018-12-05 21:20:42
4898
原创 leetcode刷题937-12 | Implement Queue using Stacks
题目解读:使用堆栈实现以下操作:1.push(x):将元素x加入队列2.pop():取出第一个元素3.peek():求第一个元素的值4.empty():判空操作示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // returns 1queue.pop()...
2018-12-03 22:26:56
177
原创 leetcode刷题937-11 | 290.Word Pattern
问题描述:给定一个模式patter和一个字符串str,查找str是否遵循相同的模式。 在这里follow表示完全匹配,以便在模式中的字母和str中的非空单词之间有一个双连字符。示例1: 输入:pattern = "abba", str = "dog cat cat dog" 输出:true示例2: 输入:pattern = "abba", str = "dog cat cat fish" ...
2018-11-30 23:25:59
228
原创 leetcode刷题937-10 | 434. Number of Segments in a String
leetcode刷题937-10 | 434. Number of Segments in a String问题描述:算出在一个字符串中,含有多少部分(即被空格分为几部分)示例1: 输入:"Hello, my name is John" 输出:5示例2: 输入: "Hello , my name is John" 输出:6问题难度:easy解题思路:利用循环顺序读取字符,判断哪...
2018-11-28 21:59:59
365
1
原创 leetcode刷题937-9 | 58 Length of Last Word
leetcode刷题937-9 | 58 Length of Last Word问题描述:给你一个含有字母大小写和空格的字符串,要求输出最后一个的单词的长度。 如果最后一个单词不存在,则返回0示例: 输入:“Hello World” 输出: 5解题思路:判断哪个单词时最后一个单词具体方法:1.顺序读取字符串,记录每个单词的长度,并根据最后一个单词的特性(后面没有空格也没有字符,或后...
2018-11-27 22:04:07
155
原创 leetcode刷题937-8 | 605 Can Place Flowers
leetcode刷题937-8 | 605 Can Place Flowers问题描述: 假设你有一个很长的花坛,里面有些是种的,有些不是。然而,鲜花不能种植在相邻的地块上——它们会争夺水源,最终都将死去。给定一个花坛(表示为包含0和1的数组,其中0表示空,1表示不空)和一个数字n,如果可以在其中种植n朵新花而不违反无邻接花规则,则返回true。示例1: 输入:flowerbed=[1,0...
2018-11-26 22:53:56
137
原创 leetcode刷题937-7
leetcode刷题937-7题目:Goat Latin题目解析:当遇到辅音字母开头的单词,在该单词的最后加上"ma";当遇到非辅音字母开头的单词时,将首字母放到该字母的最后在加上ma;且要根据非辅音字母开头的单词的出现次数n在“ma”后再加上n个“a".感想:这题我是参考别人的代码,我做了详细的解析。解题思路:首先我们要懂得字符串的基本操作,不然会给这道题增加很大的难度。1.应该将辅...
2018-11-25 18:37:05
301
原创 leetcode刷题937-6
leetcode刷题937-6题目:Count Binary Substrings(统计子串的数目)要求:子串必须是连续的组合例如(10,1100,111000)感想:之前做过类似的题,之前没有做好笔记,所以今天做这道题时,脑子里一下感觉要比较好多次,很复杂。但当找到解题逻辑时,就发现这中题就时纸老虎。解题逻辑:按我们大脑的方法,按照顺序读取数组,出现连续组合的就加1,那么问题来了,怎...
2018-11-25 18:36:25
152
原创 leetcode刷题937-5
leetcode刷题937-5题目:Arranging Coins感想:这道题是一道简单题,想要做出来很容易,但关键在于怎么提高运行效率,我分别用了两种不同的方法做出来,如下面的代码,前一个的运行效率很高,后一个的运行效率就很慢。这让我体会到了一点,一个好的算法(数学公式)可以有效的提高代码的运行效率基本思路(运行快):寻找出题目中隐含的规律,找到适合的公式进行解题,在该题中有sum=...
2018-11-25 18:31:10
139
原创 leetcode刷题937-4
leetcode刷题937-4 感想:看是很简单的一道题,藏了许多坑,下面的代码是我参考的。做题逻辑:首先求出数组a和b的长度,一是为了确定结果数组的长度,二是为了实现的加法运算,因为加法运算存在进位问题,所以要我创建了一个变量取表示这个进位,在进行加法时进位也加上,还有数组是char型,还要考虑如何进行二进制的加法运算。难点:数组长度可以不等 结果的数组长度确定 ...
2018-11-25 18:30:03
168
原创 leetcode刷题937-3
leetcode刷题937-3感想:再明白题目意思后,我想对于学习过链表的程序员来说,不算太难题目解析:删除链表中的某一个结点做题逻辑:输入的参数即是要删除的链表中的点,我们可以从linknode的数据结构中可以知道linknode包括node的值和下一个node的值,则我们可以linknode声明创建nextnode,然后将nextnode的值赋值给node,把nextnode的nex...
2018-11-25 18:29:12
293
原创 leetcode刷题937-2
leetcode刷题937-2感想:开始做的时候,认为这道题挺简单的,我首先想到的方法是对数组使用二重循环进行比较就可以完成的,可是发现超时了。时间达到1860ms。看了其他人的想法,发现再进行比较先对数组进行排序,可以大大减小时间复杂度,再使用一个循环进行判断是否有相等的元素,最后的运行时间为6ms。我们做题目的目的不仅通过测试,而且要追求代码的质量题目解析:对给出的随机数组判断是否有相...
2018-11-25 18:28:37
223
原创 leetcode刷题937-1
leetcode刷题937-1(1-bit and 2-bit)感想:第一次刷题有点蒙,对操作不熟悉 选择了比较熟悉的C语言进行编写,以后还会尝试其他语言 英文题目给很难读懂,努力克服! 题目解析:题目要求判断最后一个输出是不是1比特的字符判断依据是 最后一个输出是单独...
2018-11-25 18:27:58
186
原创 CPU与GPU的区别
1.什么是CPU?CPU:中央处理器(英文Central Processing Unit)是一台计算机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。2.什么是GPU?GPU:英文全称Graphic Processing Unit,中文翻译为“图形处理器”,又称显示核心、视觉处理器、显示芯片,是一种...
2018-07-28 15:43:12
506
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人