毕业设计-基于深度学习的细菌微生物目标检测系统系统 YOLO python 目标检测 人工智能 卷积神经网络 机器学习

0056期小白也能学会的图像识别之字母图像识别-含数据集 本代码对数据集进行了预处理,包括通过在较短边增加灰边,使得图片变为正方形(如果图片原本就是正方形则不会增加灰边),和旋转角度,来扩增增强数据集,运行02深度学习模型训练.py就会将txt文本中记录的训练集和验证集进行读取训练,训练好后会保存模型在本地。运行03pyqt_ui界面.py就可以有个可视化的ui界面,通过点击按钮可以加载自己感兴趣的图片识别。运行01数据集文本制作.py文件,会就读取数据集下每个类别文件中的图片路径和对应的标签。下载本代码后,有个环境安装的requirement.txt文本。 阅读详情

目录

 前言

设计思路

一、课题背景与意义

二、算法理论原理

2.1 CBAM模块 

2.2 损失函数

三、检测的实现

3.1 数据集

3.2 实验环境搭建

3.3 实验及结果分析

实现效果图样例

最后


前言

       📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

        🚀对毕设有任何疑问都可以问学长哦!

         选题指导:

        最新最全计算机专业毕设选题精选推荐汇总

        大家好,这里是海浪学长毕设专题,本次分享的课题是

        🎯基于深度学习的细菌微生物目标检测系统

设计思路

一、课题背景与意义

       微生物在生态系统、医学、农业和环境等领域中扮演着重要的角色。了解微生物的分布和数量对于研究和解决许多重大问题至关重要,例如疾病传播、环境污染和农作物保护等。传统的细菌目标检测方法通常需要基于人工设计的特征提取和分类器,这对于复杂的细菌种类和变异性较高的微生物群体来说是一项挑战。这些方法往往需要大量的人力和时间,并且在面对大规模数据时效率较低。基于深度学习的细菌目标检测系统可以实现自动化的细菌识别和计数,从而减少了人工操作的需求。此外,深度学习模型可以处理大规模的数据,实现高通量的细菌目标检测和分析。

二、算法理论原理

2.1 CBAM模块 

       CBAM模块是一种用于增强卷积神经网络(CNN)性能的注意力机制。它在深度学习中常用于图像分类、目标检测和语义分割等任务。CBAM模块通过学习对不同通道的特征进行加权,以自适应地选择和强调重要的通道信息。通过学习对不同空间位置的特征进行加权,以自适应地选择和强调重要的空间信息。通过将通道注意力和空间注意力结合在一起,CBAM模块能够自适应地选择和加权特征图中的重要通道和空间位置,从而提高特征表示的质量和判别能力。这使得CBAM模块在视觉任务中具有更好的性能,能够捕捉更丰富的上下文信息和局部细节,从而提高模型的准确性和鲁棒性。

       CBAM模块可以通过两种方式排列:顺序排列和并行排列。实验证明,顺序排列的效果稍好于并行排列,这也是选择CBAM作为注意力模块来改进细胞检测的原因,而不是选择并行排列的BAM模块。在顺序排列中,通道注意力模块可以放在空间注意力模块之前,也可以放在其之后。经过实践发现,将通道注意力模块放在空间注意力模块之前,相比相反的排列方式,在mAP(平均精度均值)上能够获得稍微优异的结果。

2.2 损失函数

       CIoU是一种用于目标检测任务的损失函数,综合考虑了重叠度和边界框的质量。相比传统的IoU,CIoU通过引入惩罚项,更准确地衡量了预测框和真实框之间的匹配程度。它能够处理不同尺寸的目标框,并鼓励预测框更好地拟合真实框的形状和大小,从而提高目标检测的准确性和鲁棒性。使用CIoU损失函数可以帮助训练模型更好地学习目标框的位置和形状,进一步优化目标检测算法。

       通过使用SCA损失函数,训练模型可以更好地学习目标框之间的相对位置和尺度关系,从而实现更精确的目标框匹配。这有助于提高目标检测算法在复杂场景中的性能,特别是在存在密集目标、遮挡或尺度变化较大的情况下。因此,在许多情况下,SCA相比CIoU能够更好地与Ground Truth的目标框进行匹配,进一步提升目标检测的性能。

相关代码示例:

class SCALoss(nn.Module):
    def __init__(self):
        super(SCALoss, self).__init__()

    def forward(self, predicted_boxes, target_boxes):
        # 计算目标框之间的相对位置和尺度关系
        predicted_centers = (predicted_boxes[:, :2] + predicted_boxes[:, 2:]) / 2
        target_centers = (target_boxes[:, :2] + target_boxes[:, 2:]) / 2

        predicted_sizes = predicted_boxes[:, 2:] - predicted_boxes[:, :2]
        target_sizes = target_boxes[:, 2:] - target_boxes[:, :2]

        # 计算SCA损失
        sca_loss = torch.mean(torch.abs(predicted_centers - target_centers) / (target_sizes + 1e-7))

        return sca_loss

# 创建模型和损失函数
model = YourModel()
sca_loss_fn = SCALoss()

三、检测的实现

3.1 数据集

       由于网络上没有现有的合适的数据集可用,我决定自制一个全新的细菌目标检测数据集。这个数据集包含了各种细菌培养场景的照片,涵盖了不同培养基、不同生长阶段和不同环境条件下的细菌样本。通过实地拍摄,我能够收集到真实的细菌样本和多样的培养环境,这将为我的研究提供更准确、可靠的数据基础。

       数据标注是指对收集到的图像或视频进行人工或自动化处理,为其中的目标或感兴趣区域添加标签或边界框,以便进行机器学习或计算机视觉任务的训练和评估。标注方式可以通过人工进行,即由专业标注员手动绘制目标框、分割掩码或标注关键点等。也可以利用一些自动化工具和算法来辅助标注过程,数据标注的质量和准确性对于训练模型的性能和鲁棒性至关重要。因此,在进行数据标注时,应保持一致的标注标准和标注质量控制,确保数据集的可靠性和可用性。

3.2 实验环境搭建

       操作系统为Windows 10,使用的软件分别为Amnis公司旗下的闭源软件IDEAS v6.2和Nikon公司旗下的闭源软件NIS-Elements v5.20.02。

3.3 实验及结果分析

       在这个实验中,我们使用了以下参数进行细菌目标检测的训练和优化:批量大小(Batch Size)设置为32,优化函数选择了Adam,并设置初始学习率为0.001(比SGD小10倍)。我们没有使用额外的工作进程(Worker 参数为0),并将耐心(Patience)参数调整为3000,即在验证集上的性能没有改善时等待的最大迭代次数。训练迭代次数(Epochs)为300,使用交并比(IoU)阈值为0.5来评估预测框和真实框的匹配程度。

       交并比(IoU)是目标检测中常用的概念,用于衡量目标候选框与真实标记框之间的重叠程度。它是通过计算两个框的交集面积与并集面积的比值来表示的,取值范围在0到1之间,值越高表示重合度越高。我们提出的模型相比原始模型在IoU阈值为0.5的情况下,取得了明显的性能提升。这意味着我们的改进模型能够更准确地定位和识别目标,与真实标记框的重叠度更高。

       在经过300次迭代后,模型的mAP(平均精度均值)在IoU阈值为0.5时趋于稳定。在完成模型训练后,我们进行了在数据集上的验证,通过计算模型在不同IoU阈值下的mAP值来评估模型的性能。这些结果表明,改进后的模型相对于原始模型在目标检测任务中取得了较为显著的性能提升。

相关代码如下:

class_labels = ['bacteria', 'microorganism']

# 加载测试图像
image = torch.randn(1, 3, 416, 416)  # 示例输入图像,尺寸为(1, 3, 416, 416)

# 运行图像通过模型进行推理
with torch.no_grad():
    outputs = model(image)

# 解析预测结果
pred_boxes = outputs.pred[0][:, :4]  # 预测框坐标
pred_scores = outputs.pred[0][:, 4]  # 预测置信度
pred_class_indices = outputs.pred[0][:, 5].long()  # 预测类别索引

# 根据置信度阈值过滤预测结果
threshold = 0.5  # 置信度阈值
filtered_indices = pred_scores >= threshold
filtered_boxes = pred_boxes[filtered_indices]
filtered_scores = pred_scores[filtered_indices]
filtered_class_indices = pred_class_indices[filtered_indices]

# 打印过滤后的预测结果
for box, score, class_index in zip(filtered_boxes, filtered_scores, filtered_class_indices):
    class_label = class_labels[class_index]
    print(f"Class: {class_label}, Score: {score}, Box: {box}")

创作不易,欢迎点赞、关注、收藏。

毕设帮助,疑难解答,欢迎打扰!

最后

基于PaddleDetection的菌落计数 - 计算机视觉 通过训练模型和推理图像,我们可以准确地计算菌落的数量,从而在生物学、医学和农业等领域中提供有价值的信息。请注意,本文仅提供了一个基本的示例,你可以根据自己的需求进行更复杂的模型配置和训练。另外,为了获得更好的性能,你可能需要调整模型的超参数、增加更多的训练数据以及进行数据增强等操作。在训练过程中,PaddleDetection将自动加载配置文件和数据集,并在指定的保存目录中保存训练好的模型。完成配置文件后,我们可以使用PaddleDetection提供的训练脚本进行模型的训练。 阅读详情

相关推荐

基于PaddleDetection的菌落(colony)计数

使用paddledetection进行菌落计数实验,后续通过c++部署案列

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1465

Nature Microbiology:一种较传统平板菌落计数(CFU)更为高效便捷的细菌计数方法...

原文信息:Meyer, C.T., Lynch, G.K., Stamo, D.F. et al. A high-throughput and low-waste viability assay for microbes. Nat Microbiol (2023). https://doi.org/10.1038/s41564-023-01513-9摘要:在微生物学中,活细胞计数是一项广泛使用的方...

刘永鑫的博客——宏基因组公众号 2803

基于YOLOv8的细菌菌落检测与计数系统:从数据准备到Web部署

YOLOv8是Ultralytics公司开发的最新一代目标检测模型,在速度和精度之间取得了更好的平衡。相比前代模型,YOLOv8在网络结构、训练策略和损失函数等方面都有显著改进。主要参考数据集:来源:Kaggle包含多种类型的微生物菌落数据量:2000+标注图像来源:GitHub专门用于细菌菌落计数包含各种培养条件的数据自定义数据集构建建议使用不同光照条件包含不同培养基类型涵盖不同菌落密度多种菌落形态和颜色。

YOLO 455

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的植物病害检测系统(Python+PySide6界面+训练代码)

开发植物病害检测系统对农业生产与管理至关重要。详述了使用深度学习构建此系统的方法,提供了基于最新YOLOv8算法的实现代码,并对比了YOLOv7、YOLOv6、YOLOv5的性能,包括mAP和F1 Score。深入探讨了YOLOv8原理,附上Python代码和训练数据集,并介绍了集成PySide6 UI的系统。该系统能精确识别和分类植物病害图像,支持多种输入和功能,如热力图和类别统计。还包括基于SQLite的用户管理界面,支持模型切换和UI自定义。旨在为深度学习新手提供实用指南,文章末提供了代码和数据集下载

思绪无限的博客 1万+

AI智能菌落计数模型训练数据集。

AI智能菌落计数模型训练数据集。

YOLO算法实验室培养皿内微生物菌落目标检测数据集-360张-包含 VOC 和 Yolo 格式标签-支持多种算法训练模型.zip

页面底部可查看数据集可视化效果; 该数据集可直接接入YOLOv5s/v5m/v5l、YOLOv8n/v8s/v8m、YOLOv10n/v10s、yolo11等轻量级至中型骨干网络进行端到端训练,支持从零训练(from scratch)与迁移学习(fine-tuning)两种模式;包含voc格式和yolo格式标签可直接使用

基于YOLOv8深度学习的血细胞检测与计数系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战、智慧医疗

基于YOLOv8深度学习的血细胞检测与计数系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战、智慧医疗

阿旭的博客 6872

OpenCFU:计数细菌菌落和其他圆形物体的应用程序-开源

OpenCFU是一个完全开源的轻量级应用程序,旨在枚举群集的圆​​形物体(例如细菌菌落)。 它可以处理数字图片以及来自视频设备/网络摄像头的实时流。 OpenCFU是跨平台的,快速,可靠的,并允许用户实施直观的过滤器。 其他信息在网站上提供:http://opencfu.sourceforge.net/ OpenCFU在PLoS ONE上发布:http://www.plosone.org/article/info:doi/10.1371/journal.pone.0054072

【PyQt5】简易菌群计数软件(基于opencv-python和PyQt5)

这两天在公司接个活,干完了简单记录一下,写的不好也算是个抛砖引玉。 需求很简单,微生物的同事最近有标定任务,每天大概都要统计150个培养皿上的菌群数,大概要持续半个月。考虑让我写个小程序帮助他们计数。 先简单分析一下需求: 只是公司内部人用而且就用半个月,所以没有用c艹,用python写个脚本有块又方便。 微生物的同事不熟悉命令行所以还是需要一个图形界面 综上,决定用opencv+pyqt写个脚本来完成任务 图片都很理想,如下图所示 计数思路也很简单: 转换成灰度图 二值化(不同菌群不同

weixin_45531899的博客 4914

Arduino MLX90393磁力计驱动库:高精度三轴霍尔传感器开发指南

三轴霍尔效应磁力计是嵌入式系统中实现无接触角度检测、电子罗盘与电流传感的核心器件。其工作原理基于霍尔电压随外磁场矢量变化的物理特性,通过I²C接口输出高分辨率(16/20-bit)XYZ轴原始数据,并集成温度补偿与数字滤波功能。技术价值体现在确定性响应、低功耗(典型0.5 μA待机)及强抗干扰能力,适用于电池供电设备与实时操作系统环境。典型应用场景包括电机位置反馈、永磁体旋转角度解算、工业编码器和地磁导航。本库专为Arduino生态优化,深度封装MLX90393寄存器协议与自校准流程,同时兼容STM32、E

weixin_29363791的博客 642

从编译到调通:RK3588与FPGA的PCIe XDMA驱动实战解析

本文详细解析了在RK3588平台上为FPGA板卡编译、加载与调试PCIe XDMA驱动的完整实战流程。内容涵盖环境准备、Makefile深度定制、编译排错、驱动加载与内核日志解读、设备节点分析以及用户空间编程实战,旨在帮助开发者打通RK3588与FPGA之间的高速PCIe通信链路,实现稳定可靠的数据传输。

weixin_29304021的博客 484

iMeta:哈佛刘洋彧等基于物种组合预测菌群结构的深度学习方法(全文翻译,PPT,中英视频)...

通过深度学习从物种组合中预测微生物组成Predicting microbiome compositions from species assemblages through deep le...

刘永鑫的博客——宏基因组公众号 1322

MOOS-ivp 实验一 MOOS软件的安装与执行

MOOS-ivp实验一 实验一步骤总结 文章目录MOOS-ivp实验一前言一、实验一1.下载软件2.安装必要的插件3.安装后检查4.路径添加5.执行示例文件总结 前言 在moos学习过程中,我觉得最好把学习的每一步骤都总结一下,方便日后进行回顾。moos官网设置了十八个实验,涉及到了moos的各个方面,完成这些实验也是moos入门的好办法。 一、实验一 实验一主要内容仅仅是软件的安装,仅仅这一步就花费了我接近两天的时间。主要问题发生在linux系统的配置问题上。 1.下载软件 svn co https:

weixin_44151170的博客 6669

Python 菌落计数

原图: 1.目标区域分离,圆盘切割 # -*- coding: utf-8 -*- """ Created on Fri Dec 28 14:02:31 2018 @author: Lenovo """ import numpy as np import cv2 as cv import copy from skimage import exposure a = cv.imread...

南七小僧的学海无涯 5364

十大排序算法详解(一)冒泡排序、选择排序、插入排序、快速排序、希尔排序

冒泡排序、选择排序、插入排序、快速排序、希尔排序

HK的博客 18万+

揭秘cocos-mcp:如何用AI助手提升CocosCreator游戏开发效率

本文深入介绍了cocos-mcp工具,它作为连接AI助手与CocosCreator编辑器的桥梁,遵循MCP协议,能显著提升游戏开发效率。通过自然语言指令,开发者可让AI直接查询场景结构、批量修改属性或生成上下文代码,将重复操作变为智能调度,实现从“手动操作者”到“指令指挥官”的工作流变革。

weixin_29001683的博客 1051

深度学习的生物计数与分类:LeNet, AlexNet, VGG等

1.背景介绍 生物计数和生物分类是计算机视觉领域中的重要任务,它们涉及到对生物样本(如细胞、细菌、动物等)的数量统计和分类识别。随着深度学习技术的发展,生物计数和分类的方法也逐渐从传统的图像处理算法(如边缘检测、形状特征提取等)转向深度学习算法。在这篇文章中,我们将介绍一些常见的深度学习生物计数和分类算法,包括LeNet、AlexNet、VGG等。 2.核心概念与联系 2.1 深度学习 深...

AI天才研究院 1060

MacOS下Mixly 2.0安装避坑指南:从Java环境到终端权限全解析

本文详细解析了在MacOS系统上安装Mixly 2.0时可能遇到的核心问题与解决方案。针对Java环境版本不兼容、MacOS Gatekeeper安全机制拦截以及终端权限不足三大常见障碍,提供了从检查并配置正确Java版本、安全设置绕过到彻底解决应用内部工具链权限的完整避坑指南,帮助用户顺利完成安装并正常使用。

weixin_29231725的博客 503

Nature Biotechnology | 自动化和机器学习的高通量微生物培养组学分离微生物组

自动化和机器学习高通量分离微生物组High-throughput microbial culturomicsusing automation and machine learningArticle,2023-2-20,Nature Biotechnology, [IF 68.16]DOI:https://doi.org/10.1038/s41587-023-01674-2通讯作者:Harris ...

刘永鑫的博客——宏基因组公众号 3596

Android15 修改触摸点上限为40

把MAX_POINTER_ID从默认的31修改为39,这里为什么要从31修改为39,是因为上面说明用BitSet32极限就只能支持32个点,因为从最小的ID是0,所以要支持40个点ID也要对应改为39.最近有个需求,需要修改Android系统的触摸点数,Android系统默认的点数是16个点,因为现在是大屏项目,有客户需要修改为40个点,好吧,客户最大。6.最后进行编译,开机开启触摸点检测,可以使用开发者模式中的显示触摸点功能,再叫上3个人,用双掌触摸屏幕,发现左上角有显示40个触摸点,修改成功。

tzj1058756809的博客 573

17、高通8155座舱平台--QNX开发基础

我个人习惯,拿到一个新板子,第一件事就是打开IDE,建一个空的QNX项目,然后跑一遍Hello World。比如,当触摸屏被按下时,驱动发一个脉冲给UI进程,告诉它“嘿,有人摸屏幕了”。我在8155上调试时,就遇到过因为脉冲优先级太低,导致触摸响应延迟的问题。IDE自带的编译器是qcc,它其实是gcc的封装。QNX的IPC机制,可以说是它最牛的地方。嗯,这套流程走下来,你对QNX开发的基本功就差不多了。QNX默认的消息缓冲区大小是64KB,如果你要传大块数据,比如音频流,那就得用共享内存了。

woailuojp的博客 51

超强综述 | Rob Knight等手把手教你分析菌群数据(全文翻译1.8万字)

本文转载自“热心肠先生”,己获授权。导读自然微生物综述(2017 IF:31.851)于2018年5月23日在线发表了Rob Knight亲自撰写(一作兼通讯)的微生物组领域研究方法综述...

刘永鑫的博客——宏基因组公众号 2477

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

深度学习蘑菇真菌检测(分类)数据集

蘑菇真菌检测(分类)数据集:14000多张高质量图像,各类蘑菇图像已经划分好,包含红菇,牛肝菌,双胞菇等9个类别。

m0_73878864的博客 2033

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OpenCV与AI深度学习 | 基于YOLOv8检测培养皿中细菌菌落

 在培养皿中寻找细菌菌落是药物制造过程中控制生产环境无菌性的常规方法。经过几次模型选择试验,我成功训练出一个 YOLOv8 模型,其准确率为 76%,召回率为 99%。这种性能足以满足药物制造的需求,目前唯一阻碍实际应用的因素是缺乏用于拍摄图像的自动硬件。

csdn_xmj的博客 2899

毕业设计:基于深度学习的肺结节识别系统 目标检测 人工智能

毕业设计:基于深度学习的肺结节识别系统结合了深度学习和计算机视觉技术,旨在解决肺结节自动识别的难题。本文将介绍系统的设计原理和关键技术,探讨其在医学影像处理和肺癌早期筛查领域的应用前景。为计算机、软件工程、人工智能和大数据等专业的毕业生提供了一个有意义的研究课题。无论您对深度学习技术保持浓厚兴趣,还是希望探索机器学习、算法或人工智能领域的同学,将为您提供灵感和指导,引领您进入这个具有挑战性和创新性的研究领域。

毕设帮助,疑难解答,欢迎打扰! 1993
上一篇: 毕业设计:基于深度学习的危险驾驶(抽烟、打电话)检测系统 人工智能 python 计算机视觉
下一篇: 毕业设计-基于深度学习的工厂化养殖鱼虾识别目标检测系统 YOLO python 目标检测 人工智能 卷积神经网络 机器学习
Mini_hailang_IT
博客等级 码龄9年 5936粉丝 640原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值