基于深度学习计算机视觉的害虫种类及数量检测

简介: 基于深度学习计算机视觉的害虫种类及数量检测

完整代码:https://download.csdn.net/download/qq_38735017/87379879


一、研究目的


研究的目的在于建立一套远程病虫害自动识别系统,有助于缓解农业植保人员和病虫害鉴定专家的人力资源紧张,有助于病虫害知识有限的农业人员进行及时的病虫害检测,并且,通过害虫种类数目的监测和信息收集,定期对昆虫数据进行整理和分析,建立病虫害爆发的规律模型,进而预测判断病虫害爆发的时间,及时通知农业植物保护人员和农户进行合理地科学地预防。提高农作物产量和质量。


二、研究内容及结论


(1) 设计实现了一套可适用于野外的害虫捕获和图像采集装置。该装置放置在农业种植区域,24 小时进行害虫的诱杀和图像采集,同时,装置可以通过无线网络将害虫图像上传至农业监控中心虫类鉴别服务器,并进行害虫种类的识别,进行产区内害虫种类数目的信息收集。


(2) 开发了一套基于机器视觉的昆虫计数工作方法。开发了一套的适用于苍蝇粘板等包含多数昆虫设备的图像的基于机器视觉的昆虫计数工作方法。该方法首先对包含多数昆虫的图片进行二值化预处理,然后进行轮廓的查找,并进行轮廓的计数,得到的数目反映了图片中的昆虫数目的数量级。该方法适用于苍蝇粘板图像等包含多数昆虫虫体的图像上。


(3) 开发了一套基于机器视觉的昆虫识别工作方法和流程。该方法在参考已有研究成果的基础山,选取了昆虫形态特征中的昆虫矩形度、昆虫延长度、昆虫圆形度、昆虫球状性、昆虫叶状性等 5 个特征,进行昆虫图像的特征提取。之后,采用逻辑斯蒂回归模型、线性 SVM 模型和 K 邻近分类器分别进行训练,并测试比较训练结果,以进行分类器算法的筛选。该方法适用于本套图像采集装置。


(4) 设计了一套远程害虫自动识别系统。结合上述三个功能,该系统可以实现:在图像采集节点进行害虫捕获和昆虫图像采集,在虫类鉴别服务器进行昆虫图像的识别和分类。

c13bb904e626ae635311461b46f3533f.png097a5413aad0389807ba528fef4ba442.png


0a04f2657d63cf9055ade09636da4bb9.png

af817a171e86cf6c5086e930b47b8b42.png6059a2ae943cc7b56918302176152791.png

42376bd9c2cf3e814203c623f0d668fb.png

9fea85d1cbcfddcc73b66b82fa56a24b.png




三、目录


摘 要 ……………………………………………………………………………………………………….. I


ABSTRACT …………………………………………………………………………………………… II


目 录 ……………………………………………………………………………………………………… III


第 1 章 绪论 …………………………………………………………………………………………….1


1.1 课题研究的背景和意义…………………………………………………………………………..1


1.2 国内外研究现状 …………………………………………………………………………………….1


1.2.1 国内研究现状 ………………………………………………………………………………….2


1.2.2 国外研究现状 ………………………………………………………………………………….2


1.3 研究的内容和目的 …………………………………………………………………………………3


1.3.1 研究内容 …………………………………………………………………………………………3


1.3.2 研究目的 …………………………………………………………………………………………3


1.4 章节安排 ……………………………………………………………………………………………….4


第 2 章 系统总体设计 …………………………………………………………………………….5


2.1 系统设计目标 ………………………………………………………………………………………..5


2.2 系统总体架构 ………………………………………………………………………………………..5


2.3 图像采集节点 ………………………………………………………………………………………..6


2.3.1 装置总体设计 ………………………………………………………………………………….6


2.3.2 运行流程 …………………………………………………………………………………………9


2.4 虫类鉴别服务器和虫类信息数据库设计 ………………………………………………… 10


2.4.1 服务器设计 …………………………………………………………………………………… 10


2.4.2 服务器虫类分类器实现 ………………………………………………………………….. 11


2.4.3 PC 上的昆虫分类识别软件 ……………………………………………………………… 12


第 3 章 昆虫图像预处理与计数研究 ………………………………………………….. 15


3.1 昆虫图像的采集 ………………………………………………………………………………….. 15


3.2 昆虫图像的预处理 ………………………………………………………………………………. 16


III


3.2.1 图像的灰度化,高斯滤波和尺度变换 ……………………………………………… 16


3.2.2 二值化 ………………………………………………………………………………………….. 17


3.2.3 大津法 OTSU 在昆虫图像二值化上的应用 ………………………………………. 18


3.3 昆虫图像的计数 ………………………………………………………………………………….. 20


3.3.1 检测轮廓 ………………………………………………………………………………………. 20


3.3.2 昆虫计数 ………………………………………………………………………………………. 20


第 4 章 昆虫图像特征提取与识别研究 ……………………………………………… 23


4.1 特征的选取 …………………………………………………………………………………………. 23


4.2 特征描述以及提取方式………………………………………………………………………… 23


4.3 分类器的选择和训练 …………………………………………………………………………… 32


4.4 机器学习结果分析 ………………………………………………………………………………. 33


4.4.1 性能评价指标 ……………………………………………………………………………….. 33


4.4.2 三种分类器的性能比较 ………………………………………………………………….. 34


第 5 章 总结与展望 ……………………………………………………………………………… 37


5.1 总结 …………………………………………………………………………………………………… 37


5.1.1 完成的工作 …………………………………………………………………………………… 37


5.1.2 创新点和不足之处 ………………………………………………………………………… 37


5.2 展望 …………………………………………………………………………………………………… 38


致谢 ……………………………………………………………………………….


参考文献 ………………………………………………………………………………………………… 40


附录一:部分昆虫图像样本 ………………………………………………………………… 42


附录二:OTSU 的 PYTHON 实现 …………………………………………………….. 44


附录三:英文文献翻译 ……………………………………………….


文件介绍

用户界面

MainWindow.ui———————–PyQtDesigner设计的主界面文件


MainWindow.py———————-PyUIC转换而成的主界面程序


运行逻辑

VideoMainWindow.py————–PyQt结合OpenCV实现在界面中显示视频画面


PreProcess.py————————-对源数据样本进行预处理


特征提取

P_circle.py——————————似圆度


P_extend.py—————————-延长度


P_leaf.py——————————–叶状性


P_rect.py——————————–矩形度


P_spherical.py————————球形度


GetFeatures.py———————–提取特征的模块


GetFiveFeatures.py—————–五个特征提取的测试代码


FeatureExtract.py——————-提取样本库特征保存到CSV文件


机器学习模块


LinearSVM.py————————-线性SVM分类器的训练和模型保存


LinearRegression.py—————逻辑回归分类器的训练和模型保存


KneiborsClassfier.py—————KNN分类器的训练和模型保存


Predict.py——————————加载预训练模型,对特征进行预测


Thresholding.py—————————大津法程序实现和OpenCV大津法函数的效果对比


Count.py————————————-实现加载图片,二值化(大津法),查找轮廓进行计数的效果


GetChineseName.py——————–分类中英文转换


相关文章
|
1月前
|
机器学习/深度学习 算法 计算机视觉
m基于yolov2深度学习的车辆检测系统matlab仿真,带GUI操作界面
MATLAB 2022a中实现了YOLOv2目标检测算法的仿真,该算法从Darknet-19提取特征,以实时预测图像内目标的位置和类别。网络结构结合了网格划分、Anchor Boxes和多尺度预测,优化了边界框匹配。核心代码包括数据集划分、预训练ResNet-50加载、YOLOv2网络构建及训练。训练选项设置为GPU加速,使用'sgdm'优化器,200个周期进行训练。
26 2
m基于yolov2深度学习的车辆检测系统matlab仿真,带GUI操作界面
|
4天前
|
机器学习/深度学习 传感器 算法
【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代
【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代
|
4天前
|
机器学习/深度学习 编解码 监控
探索MATLAB在计算机视觉与深度学习领域的实战应用
探索MATLAB在计算机视觉与深度学习领域的实战应用
24 7
|
7天前
|
机器学习/深度学习 存储 算法
m基于Yolov2深度学习网络的螺丝检测系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2算法的螺丝检测仿真结果,该系统基于深度学习的YOLOv2网络,有效检测和定位图像中的螺丝。YOLOv2通过批标准化、高分辨率分类器等优化实现速度和精度提升。核心代码部分涉及设置训练和测试数据,调整图像大小,加载预训练模型,构建YOLOv2网络并进行训练,最终保存检测器模型。
23 3
|
8天前
|
机器学习/深度学习 算法 数据可视化
基于深度学习网络的鞋子种类识别matlab仿真
使用GoogLeNet深度学习模型在matlab2022a中进行鞋子种类识别,利用Inception模块捕捉多尺度特征,提升分类精度。程序加载预训练模型`gnet.mat`,计算验证集的准确性并随机显示32个样本的预测结果及置信度。
|
9天前
|
机器学习/深度学习 编解码 自然语言处理
如何评价深度学习在自然语言处理、计算机视觉等领域的应用成果?
【5月更文挑战第3天】如何评价深度学习在自然语言处理、计算机视觉等领域的应用成果?
30 6
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
【专栏】计算机视觉借助深度学习实现革命性变革
【4月更文挑战第27天】计算机视觉借助深度学习实现革命性变革,从图像分类到复杂场景理解,深度学习模型提升性能并拓宽应用边界。深度学习兴起始于AlexNet,后续模型如VGG、ResNet等不断优化。对象检测、语义分割、图像生成等领域取得显著进展,广泛应用于安防、医疗、零售和农业。然而,数据隐私、模型可解释性、计算资源和鲁棒性仍是待解挑战。未来,计算机视觉将在多领域发挥更大潜力,技术创新与伦理考量将驱动其健康发展。
|
16天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
28 5
|
24天前
|
机器学习/深度学习 算法 计算机视觉
基于深度学习的停车场车辆检测算法matlab仿真
该文介绍了使用GoogLeNet进行停车场车辆检测的算法,基于深度学习的CNN模型,利用Inception模块提升检测效率。在matlab2022a中实现,通过滑动窗口和二分类交叉熵损失函数优化。文章展示了几张算法运行效果和测试结果的图片,并提供了一段核心代码示例,涉及图片读取、划分、特征提取和分类。为了适应任务,进行了数据集准备、滑窗参数设定,并以平均精度为评估标准。
|
25天前
|
机器学习/深度学习 算法 计算机视觉
m基于yolov2深度学习的细胞检测系统matlab仿真,带GUI操作界面
MATLAB 2022a中实现了YOLOv2细胞检测算法的仿真,该算法基于CNN进行细胞自动定位与识别。采用Darknet-19网络结构,结合SPP和FPN提升多尺度检测性能。程序中,数据集按75%比例划分训练集和测试集,使用预训练的ResNet-50构建YOLOv2网络,并用'sgdm'优化器进行训练。
16 0