当前位置: 首页 > article >正文

论文导读 - 基于大规模测量与多任务深度学习的电子鼻系统实现目标识别、浓度预测与状态判断

基于大规模测量与多任务深度学习的电子鼻系统实现目标识别、浓度预测与状态判断

原论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0925400521014830

引用此论文(GB/T 7714-2015):

  • WANG T, ZHANG H, WU Y, et al. Target discrimination, concentration prediction, and status judgment of electronic nose system based on large-scale measurement and multi-task deep learning[J]. Sensors and Actuators B: Chemical, 2022, 351: 130915. DOI:10.1016/j.snb.2021.130915.

论文作者学术主页:https://www.researchgate.net/profile/Tao-Wang-261

1. 研究背景与意义

电子鼻(Electronic Nose, E-nose)系统作为一种仿生检测技术,模拟生物嗅觉原理,通过多传感器阵列和模式识别算法,实现对复杂气味的识别与分析,广泛应用于生物医学诊断、工业排放监测与食品质量评估等领域。传统电子鼻模式识别依赖人工特征提取与独立模型训练,存在特征信息丢失、训练流程复杂且泛化能力弱等问题。针对以上瓶颈,本文提出结合大规模自动化测量与多任务卷积神经网络(MTL-CNN)的方法,旨在实现电子鼻系统的目标气体识别、浓度预测与状态判断三任务同步完成,简化训练与应用流程,提升系统性能与适应性。

2. 系统设计与实验方法

2.1 电子鼻硬件构建

本研究中,传感器阵列与数据采集电路分离设计(如图1所示)。阵列板采用圆盘结构,搭载八种商用MOS气敏传感器(MQ系列),通过线束连接至采集板。采集板采用八路惠斯通电桥与高精度放大器(AD620),输出至16位ADC(ADS1115),并由32位微控制器(MCU)进行数据采集与433 MHz无线传输。

在这里插入图片描述

图1 电子鼻传感器阵列(a)与数据采集板(b)实物图,及气体测量系统内部结构示意图(c)。

2.2 自动化测量系统开发

为实现大规模、长时程、无人干预的气体测试,本文开发了基于Alwhales Auto Script(AAS)脚本语言的自动化控制系统,结合内外双层密封腔体、温控加热板、微量注射泵、自动门控及环境监测模块,实现全过程编程控制。
在这里插入图片描述

图2 基于AAS脚本的自动化气体测量系统架构示意。

2.3 气体响应实验

选取十二种典型挥发性有机化合物(VOCs)作为测试目标(包括甲醇、乙醇、乙二醇等),通过控制注射量和加热温度设定气体浓度区间(10-100 ppm),分别进行十轮独立响应测试,累计采集逾千万级数据点,涵盖各浓度与状态。

2.4 数据处理与标签构建

所有传感器响应数据经基线跟踪算法(BTA)实时校正。依据固定时间窗对响应曲线分段,分别标注气体类型、浓度值与工作状态(Idle/Response/Recovery),形成多标签训练集。
在这里插入图片描述

图4 乙醇响应实验中传感器阵列数据及其三任务标签示意。

3. 多任务卷积神经网络(MTL-CNN)模型设计

3.1 基础CNN结构

典型CNN包含卷积层、池化层与全连接层,用于特征提取、降维与分类(如图3a所示)。

3.2 双区块共享MTL-CNN架构

本文设计的MTL-CNN模型具有独特的双区块知识共享结构(如图3b所示):初始卷积池化块共享至三任务,随后分支进行任务特定优化。目标气体识别与浓度预测任务之间设有额外共享区块,以强化相关任务的信息交互,提升模型性能与稳定性。
在这里插入图片描述

图3 (a)典型CNN结构图;(b)本研究中MTL-CNN双区块共享结构示意。

4. 训练过程与参数优化

4.1 批次大小(Batch Size)影响分析

通过调整Batch Size(10-5000)进行训练优化,发现当Batch Size为700时,三任务收敛速度最快、交叉验证准确率最高。
在这里插入图片描述

图5 不同Batch Size下三任务准确率与标准误对比。

4.2 输入数据长度(Data Length)优化

研究不同输入长度对模型表现的影响,确定以4秒(8数据点)为最佳输入单元,兼顾响应过程有效性与实时性。
在这里插入图片描述

图6 不同数据长度下三任务准确率与标准误对比。

4.3 样本规模(Sample Volume)对性能的影响

通过控制训练样本比例(0.001-0.9),验证大样本量(>0.5)显著提升泛化能力与输出稳定性。
在这里插入图片描述

图7 训练与交叉验证准确率随样本量变化趋势。

在这里插入图片描述

图8 样本量对三任务准确率与标准差的影响统计。

5. 最终模型性能评估与对比分析

5.1 MTL-CNN综合性能

最终模型在5折交叉验证中取得气体类型识别95.2%、浓度预测92.1%、状态判断97.3%的平均准确率。

图9 (a)模型训练损失下降曲线;(b)迭代次数与交叉验证准确率关系;(c)气体分类混淆矩阵;(d)浓度预测混淆矩阵。

5.2 与传统算法对比

将MTL-CNN与8种主流模式识别算法(如SVM、KNN、RF等)进行性能与训练时间对比,结果表明,MTL-CNN在准确率、实时性与多任务集成方面均优于传统方法。
在这里插入图片描述

图10 传统模式识别流程(a)与MTL-CNN流程(b)对比。

在这里插入图片描述

图11 (a)不同算法在三任务上的性能对比;(b)不同算法训练与验证所耗时间对比。

6. 结论

本文提出基于大规模自动化测量与多任务卷积神经网络(MTL-CNN)融合的电子鼻系统模式识别新策略,首次实现了仅用4秒原始数据同时完成气体类型识别、浓度预测与工作状态判断,且准确率稳定在95%左右,验证了大数据驱动与深度学习结合在气体传感领域的巨大潜力。该研究为智能电子鼻系统的快速响应、多功能集成与实际应用奠定了坚实基础。

相关文章:

论文导读 - 基于大规模测量与多任务深度学习的电子鼻系统实现目标识别、浓度预测与状态判断

基于大规模测量与多任务深度学习的电子鼻系统实现目标识别、浓度预测与状态判断 原论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0925400521014830 引用此论文(GB/T 7714-2015): WANG T, ZHANG H, WU Y, …...

conda和bash主环境的清理

好的!要管理和清理 Conda(或 Bash)安装的包,可以按照以下步骤进行,避免冗余依赖,节省磁盘空间。 📌 1. 查看已安装的包 先列出当前环境的所有安装包,找出哪些可能需要清理&#xff…...

Webug3.0通关笔记17 中级进阶(第01-05关)

目录 第一关 出来点东西吧 1.打开靶场 2.源码分析 3.源码修正 4.文件包含漏洞渗透 第二关 提交方式是怎样的啊? 1.打开靶场 2.源码分析 3.渗透实战 (1)bp改包法 (2)POST法渗透 第三关 我还是一个注入 1.打开…...

django.db.utils.OperationalError: (1050, “Table ‘你的表名‘ already exists“)

这个错误意味着 Django 尝试执行迁移时,发现数据库中已经有一张叫 你的表名的表了,但这张表不是通过 Django 当前的迁移系统管理的,或者迁移状态和数据库实际状态不一致。 🧠 可能出现这个问题的几种情况: 1.你手动创…...

Maven 依赖范围(Scope)详解

Maven 依赖范围&#xff08;Scope&#xff09;详解 Maven 是一个强大的项目管理工具&#xff0c;广泛用于 Java 开发中构建、管理和部署应用程序。在使用 Maven 构建项目时&#xff0c;我们经常需要引入各种第三方库或框架作为项目的依赖项。通过在 pom.xml 文件中的 <depe…...

SpringBoot配置RestTemplate并理解单例模式详解

在日常开发中&#xff0c;RestTemplate 是一个非常常用的工具&#xff0c;用来发起HTTP请求。今天我们通过一个小例子&#xff0c;不仅学习如何在SpringBoot中配置RestTemplate&#xff0c;还会深入理解单例模式在Spring中的实际应用。 1. 示例代码 我们首先来看一个基础的配置…...

React自定义Hook之useMutilpleRef

概要 我们在React开发时候&#xff0c;有时候需要绑定列表中的多个元素&#xff0c;便于后面对列表中单个元素的操作&#xff0c;但是常用的hook函数useRef只能绑定一个DOM元素&#xff0c;本文提供一个可以解决该问题的自定义hook方法&#xff0c;useMutilpleRef。 代码及实…...

蛋白质大语言模型ESM介绍

ESM(Evolutionary Scale Modeling)是 Meta AI Research 团队开发的一系列用于蛋白质的预训练语言模型。这些模型在蛋白质结构预测、功能预测和蛋白质设计等领域展现出了强大的能力。以下是对 ESM 的详细介绍: 核心特点 大规模预训练:基于大规模蛋白质序列数据进行无监督学…...

从线性到非线性:简单聊聊神经网络的常见三大激活函数

大家好&#xff0c;我是沛哥儿&#xff0c;我们今天一起来学习下神经网络的三个常用的激活函数。 引言&#xff1a;什么是激活函数 激活函数是神经网络中非常重要的组成部分&#xff0c;它引入了非线性因素&#xff0c;使得神经网络能够学习和表示复杂的函数关系。 在神经网络…...

【算法笔记】贪心算法

一、什么是贪心算法&#xff1f; 贪心算法是一种在每一步选择中都采取当前看起来最优&#xff08;最“贪心”&#xff09;的策略&#xff0c;从而希望得到全局最优解的算法设计思想。 核心思想&#xff1a;每一步都做出局部最优选择&#xff0c;不回退。适用场景&#xff1a;…...

Node.js 开发项目

初始化 npm init## npm install 编辑packege.json 添加&#xff0c;以支持ES6的语法 "type": "module" 连接mysql示例 import db from ./db/ops_mysql.jsconst createTable async () > {const insert_data CREATE TABLE IF NOT EXISTS users (…...

网络准入控制系统推荐:2025年构建企业网络安全的第一道防线

随着信息技术的飞速发展&#xff0c;企业网络环境日益复杂&#xff0c;阳途网络准入控制系统作为一种先进的网络安全解决方案&#xff0c;其核心是确保网络接入的安全性。 一、网络准入控制系统的基本原理与功能 网络准入控制以“只有合法的用户、安全的终端才可以接入网络”为…...

XSS跨站--订单和Shell箱子后门

本文主要内容 手法 XSS平台使用 XSS工具使用 XSS结合其他漏洞 XSS具体使用场景 某订单系统XSS盲打_平台 某Shell箱子系统XSS盲打_工具 [1]订单系统经典案例 第一个简易攻击流程&#xff08;订单系统&#xff09;&#xff1a;通过平台完成XSS跨站之后&a…...

游戏遭遇DDoS攻击如何快速止损?实战防御策略与应急响应指南

是不是很抽象 我自己画的 一、游戏DDoS攻击特征深度解析 游戏行业DDoS攻击呈现复合型特征&#xff0c;2023年监测数据显示&#xff0c;针对游戏服务器的攻击中&#xff0c;63%采用UDP反射放大HTTP慢速攻击组合&#xff0c;攻击峰值达3.2Tbps。攻击者利用游戏协议特性&#xff…...

cocos creator使用jenkins打包流程,打包webmobile

windows电脑使用 如果你的电脑作为打包机&#xff0c;一定要锁定自己的ip,如果ip动态获取&#xff0c;可能后续会导致jenkins无法访问,还需要重新配置jenkins和http-server的端口 从jenkins官网下载windows版 Thank you for downloading Windows Stable installer 1.jenkins安…...

自动驾驶(ADAS)领域常用数据集介绍

1. KITTI 数据集 简介&#xff1a;由德国卡尔斯鲁厄理工学院与丰田研究院联合创建&#xff0c;是自动驾驶领域最经典的评测基准&#xff0c;涵盖立体视觉、光流、3D检测等任务。包含市区、乡村和高速公路场景的真实数据&#xff0c;标注对象包括车辆、行人等&#xff0c;支持多…...

C++ 部署的性能优化方法

一、使用结构体提前存放常用变量 在编写前后处理函数时&#xff0c;通常会多次用到一些变量&#xff0c;比如模型输入 tensor 的 shape&#xff0c;count 等等&#xff0c;若在每个处理函数中都重复计算一次&#xff0c;会增加部署时的计算量。对于这种情况&#xff0c;可以考…...

关于IDEA的循环依赖问题

bug描述&#xff1a;&#xff08;java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外&#xff09; 解决方法&#xff1a;...

如何在idea中写spark程序

在 IntelliJ IDEA 中编写 Spark 程序&#xff0c;可按以下步骤进行&#xff1a; 1. 创建新项目 打开 IntelliJ IDEA&#xff0c;选择File -> New -> Project。在左侧面板选择Maven或者Gradle&#xff08;这里以 Maven 为例&#xff09;&#xff0c;确保Project SDK选择…...

RAG工程-基于LangChain 实现 Advanced RAG(预检索优化)

Advanced RAG 概述 Advanced RAG 被誉为 RAG 的第二范式&#xff0c;它是在 Naive RAG 基础上发展起来的检索增强生成架构&#xff0c;旨在解决 Naive RAG 存在的一些问题&#xff0c;如召回率低、组装 prompt 时的冗余和重复以及灵活性不足等。它重点聚焦在检索增强&#xff0…...

关于常量指针和指向常量的指针

关于指针&#xff0c;对于常量指针和指向常量的指针也是傻傻分不清。看到定义时&#xff0c;不知道是指针不能变&#xff0c;还是指针指向的内容不能变量。 先看形式&#xff1a; const char * A; char * const B; 这两种有什么区别&#xff1f;傻傻分不清。 A这种定义&am…...

《Masked Autoencoders Are Scalable Vision Learners》---CV版的BERT

目录 一、与之前阅读文章的关系&#xff1f; 二、标题&#xff1a;带掩码的自auto编码器是一个可拓展的视觉学习器 三、摘要 四、核心图 五、结果图 六、不同mask比例对比图 七、“Introduction” (He 等, 2021, p. 1) 引言 八、“Related Work” (He 等, 2021, p. 3)相…...

高压直流输电MATLAB/simulink仿真模型+说明文档

1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2018Ra&#xff09;软件。建议采用matlab2018 Ra及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 使用一个传输功率为1000MW&#xff08;500 kV&#xff0c;2 kA&#xff09;直流互连…...

locust压力测试

安装 pip install locust验证是否安装成功 locust -V使用 网上的教程基本上是前几年的&#xff0c;locust已经更新了好几个版本&#xff0c;有点过时了&#xff0c;在此做一个总结 启动 默认是使用浏览器进行设置的 # 使用浏览器 locust -f .\main.py其他参数 Usage: locust […...

python 线程池顺序执行

在Python中&#xff0c;线程池&#xff08;ThreadPoolExecutor&#xff09;默认是并发执行任务的&#xff0c;但若需要实现任务的顺序执行&#xff08;按提交顺序执行或按结果顺序处理&#xff09;&#xff0c;可以通过以下方案实现&#xff1a; 方案一&#xff1a;强制单线程&…...

第十二届蓝桥杯 2021 C/C++组 空间

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; 思路详解&#xff1a; 代码&#xff1a; 代码详解&#xff1a; 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 空间 - 蓝桥云课 思路&#xff1a; 思路详解&#…...

以太网的mac帧格式

一.以太网的mac帧 帧的要求 1.长度 2.物理层...

前端如何使用Mock模拟数据实现前后端并行开发,提升项目整体效率

1. 安装 Mock.js npm install mockjs --save-dev # 或使用 CDN <script src"https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.0/mock-min.js"></script>2. 创建 Mock 数据文件 在项目中新建 mock 目录&#xff0c;创建 mock.js 文件&#xff1a; // m…...

【hadoop】HBase shell 操作

1.创建course表 hbase(main):002:0> create course,cf 2.查看HBase所有表 hbase(main):003:0> list 3.查看course表结构 hbase(main):004:0> describe course 4.向course表插入数据 hbase(main):005:0> put course,001,cf:cname,hbase hbase(main):006:0> …...

如何使用 Redis 缓存验证码

目录 &#x1f9e0; Redis 缓存验证码的工作原理 &#x1f9f0; 实现流程 1. 安装 Redis 和 Python 客户端 2. 生成并缓存验证码 示例代码&#xff1a;生成并存储验证码 3. 发送验证码&#xff08;以短信为例&#xff09; 4. 校验验证码 示例代码&#xff1a;校验验证码…...