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

一种用于低成本水质监测的软传感器开源方法:以硝酸盐(NO3⁻)浓度为例

论文标题

A Soft Sensor Open-Source Methodology for Inexpensive Monitoring of Water Quality: A Case Study of NO3− Concentrations

作者信息

  • Antonio Jesús Chaves, ITIS Software, University of Málaga, 29071 Málaga, Spain

  • Cristian Martín, ITIS Software, University of Málaga, 29071 Málaga, Spain

  • Luis Llopis Torres, ITIS Software, University of Málaga, 29071 Málaga, Spain

  • Manuel Díaz, ITIS Software, University of Málaga, 29071 Málaga, Spain

  • Jaime Fernández-Ortega, Department of Geology and Center of Hydrogeology, University of Málaga (CEHIUMA), 29071 Málaga, Spain

  • Juan Antonio Barberá, Department of Geology and Center of Hydrogeology, University of Málaga (CEHIUMA), 29071 Málaga, Spain

  • Bartolomé Andreo, Department of Geology and Center of Hydrogeology, University of Málaga (CEHIUMA), 29071 Málaga, Spain

论文出处

本文发表于《Journal of Computational Science》。

论文主要内容

本文提出了一种基于开源框架的软传感器方法,用于低成本监测水质中的硝酸盐(NO3−)浓度。硝酸盐污染是全球性问题,影响环境完整性和公共健康。传统的硬件传感器成本高昂,限制了其大规模应用。因此,本研究探索了通过数据流集成软传感器的方法,以实时预测硝酸盐浓度。研究基于Kafka-ML框架,结合物联网(IoT)设备,通过数据流管理机器学习模型的生命周期。

研究背景

硝酸盐(NO3−)是地下水和地表水中的常见污染物,其浓度上升对环境质量和人类健康构成威胁。例如,饮用水中硝酸盐浓度过高可能导致婴儿高铁血红蛋白血症(“蓝婴综合征”)、甲状腺问题甚至增加胃癌风险。此外,硝酸盐在水生生态系统中的过量存在会导致富营养化,引发藻类水华或水生植物过度生长,消耗氧气并破坏水生生物。因此,世界卫生组织和欧盟将饮用水中硝酸盐的阈值设定为50 mg/L,以避免潜在健康问题。传统的硝酸盐测定方法依赖于实验室技术,如镉还原或离子色谱法,这些方法虽然准确,但成本高、耗时且无法提供实时数据。

研究方法

研究提出了一种基于Kafka-ML框架的软传感器开发方法。Kafka-ML是一个开源框架,用于管理使用数据流的机器学习模型生命周期。该方法包括以下步骤:

  1. 数据收集与预处理:通过IoT设备收集数据,并将其流式传输到Apache Kafka中。

  2. 模型选择与训练:在Kafka-ML中定义和训练多个机器学习模型,选择性能最佳的模型。

  3. 模型部署与推理:将训练好的模型部署到Kafka-ML中,用于实时推理。

  4. 软传感器可视化:通过Kafka-ML的可视化工具实时显示软传感器的预测结果。

实验设计

实验中使用了来自西班牙马拉加省东部龙达山脉的喀斯特泉水数据库,包含13种不同的物理化学参数(如电导率、温度、pH值等)。这些参数通过低成本传感器(如温度传感器、pH传感器和电导率传感器)获取。实验中使用了Arduino MKR NB 1500作为处理单元,连接上述传感器,总成本约为300欧元,远低于传统硝酸盐水质探头的成本。

实验结果
  1. 模型评估:评估了六种不同的神经网络架构,最终选择了表现最佳的模型(模型4),其平均绝对误差(MAE)为1.55 mg/L,均方误差(MSE)为5.60 mg/L。该模型在不同浓度范围内的预测表现良好,但在高浓度(>50 mg/L)范围内精度有待提高。

  2. 可扩展性评估:通过模拟不同数量的客户端和数据传输频率,测试了Kafka-ML的响应时间和可扩展性。结果表明,增加模型副本和Kafka分区可以显著降低延迟,提高系统的可用性和响应能力。

  3. 实验室与现场测试:在实验室和马拉加省的瓜达尔霍尔河进行了现场测试。测试结果表明,软传感器在不同环境下的表现存在差异,尤其是在实验室条件下,模型预测与实际测量值之间存在较大偏差。这可能是由于训练数据集与测试环境之间的差异所致。

讨论与结论

本研究提出的方法在软传感器开发中具有显著优势,包括快速开发、低响应时间和可扩展性。通过结合低成本设备,可以大规模部署软传感器,有效管理水资源监测。然而,模型在不同环境下的适用性需要进一步验证,建议针对特定生态系统重新训练模型,以提高其适应性和准确性。未来的工作将包括改进数据预处理和后处理功能、集成预训练模型、检测和纠正概念漂移,以及优化推理模块的响应时间。

相关文章:

一种用于低成本水质监测的软传感器开源方法:以硝酸盐(NO3⁻)浓度为例

论文标题 A Soft Sensor Open-Source Methodology for Inexpensive Monitoring of Water Quality: A Case Study of NO3− Concentrations 作者信息 Antonio Jess Chaves, ITIS Software, University of Mlaga, 29071 Mlaga, Spain Cristian Martn, ITIS Software, Universi…...

[250130] VirtualBox 7.1.6 维护版本发布 | Anthropic API 推出全新引用功能

目录 VirtualBox 7.1.6 维护版本发布⚙️ 功能改进🛠️ Bug 修复 Anthropic API 推出全新引用功能,让 Claude 的回答更可信 VirtualBox 7.1.6 维护版本发布 VirtualBox 7.1.6 现已发布,这是一个维护版本,主要修复了一些错误并进行…...

JVM_类的加载、链接、初始化、卸载、主动使用、被动使用

①. 说说类加载分几步? ①. 按照Java虚拟机规范,从class文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下7个阶段: 第一过程的加载(loading)也称为装载验证、准备、解析3个部分统称为链接(Linking)在Java中数据类型分为基本数据类型和引用数据…...

2025最新版MySQL安装使用指南

2025最新版MySQL安装使用指南 The Installation and Usage Guide of the Latest Version of Oracle MySQL in 2025 By JacksonML 1. 获取MySQL 打开Chrome浏览器,访问官网链接:https://www.mysql.com/ ,随即打开MySQL官网主页面&#xff…...

MIMIC IV数据库中mimiciv_hosp的transfers表的careunit分析

以下是MIMIC IV数据库中mimiciv_hosp的transfers表的careunit的所有值,从医学专业角度分析,下面哪些科室会有实施心脏或神经手术? Cardiac Surgery Cardiac Vascular Intensive Care Unit (CVICU) Cardiology Cardiology Surgery Intermediat…...

AI学习指南HuggingFace篇-Hugging Face 的环境搭建

一、引言 Hugging Face作为自然语言处理(NLP)领域的强大工具,提供了丰富的预训练模型和数据集,极大地简化了开发流程。本文将详细介绍如何搭建适合Hugging Face开发的环境,包括Python环境配置、依赖安装以及推荐的开发工具,帮助读者准备好开发环境。 二、Python环境配置…...

白嫖DeepSeek:一分钟完成本地部署AI

1. 必备软件 LM-Studio 大模型客户端DeepSeek-R1 模型文件 LM-Studio 是一个支持众多流行模型的AI客户端,DeepSeek是最新流行的堪比GPT-o1的开源AI大模型。 2. 下载软件和模型文件 2.1 下载LM-Studio 官方网址:https://lmstudio.ai 打开官网&#x…...

C# dataGridView1获取选中行的名字

在视觉项目中编写的框架需要能够选择产品或复制产品等方便后续换型,视觉调试仅需调试相机图像、调试视觉相关参数、标定,再试跑调试优化参数。 C# dataGridView1 鼠标点击某一行能够计算出是那一行 使用CellMouseClick事件 首先,在Form的构造…...

Day28(补)-【AI思考】-AI会不会考虑自己的需求?

文章目录 AI会不会考虑自己的需求?一、**技术本质:深度≠理解**二、**传播机制:热搜如何制造幻觉**三、**伦理考量:为何必须"撇清"**关键结论 AI会不会考虑自己的需求? 让思想碎片重焕生机的灵魂&#xff1a…...

幸运数字——蓝桥杯

1.问题描述 哈沙德数是指在某个固定的进位制当中,可以被各位数字之和整除的正整数。例如 126126 是十进制下的一个哈沙德数,因为 (126)10mod(126)0;126 也是八进制下的哈沙德数,因为 (126)10(176)8,(126)10​mod(176)…...

快速提升网站收录:避免常见SEO误区

本文转自:百万收录网 原文链接:https://www.baiwanshoulu.com/26.html 在快速提升网站收录的过程中,避免常见的SEO误区是至关重要的。以下是一些常见的SEO误区及相应的避免策略: 一、关键词堆砌误区 误区描述: 很多…...

[Java]泛型(二)泛型方法

1.定义 在 Java 中,泛型方法是指在方法声明中使用泛型类型参数的一种方法。它使得方法能够处理不同类型的对象,而不需要为每种类型写多个方法,从而提高代码的重用性。 泛型方法与泛型类不同,泛型方法的类型参数仅仅存在于方法的…...

如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。

在Ubuntu系统中,可以通过编写脚本结合cron或systemd来监控程序的运行状态,并在程序异常时自动重启。以下是具体步骤: 方法一:使用Shell脚本和Cron 编写监控脚本 创建一个Shell脚本来检查程序是否运行,并在程序异常时重…...

UE学习日志#15 C++笔记#1 基础复习

1.C20的import 看看梦开始的地方&#xff1a; import <iostream>;int main() {std::cout << "Hello World!\n"; } 经过不仔细观察发现梦开始的好像不太一样&#xff0c;这个import是C20的模块特性 如果是在VS里编写的话&#xff0c;要用这个功能需要新…...

CSS:跑马灯

<div class"swiper-container"><div class"swiper-wrapper"><!-- 第一组 --><div class"item" v-for"item in cardList" :key"first-item.id"><img :src"item.image" alt""…...

rust 自定义错误(十二)

错误定义&#xff1a; let file_content parse_file("test.txt");if let Err(e) file_content {println!("Error: {:?}", e);}let file_content parse_file2("test.txt");if let Err(e) file_content {match e {ParseFileError::File > …...

EWM 变更库存类型

目录 1 简介 2 配置 3 业务操作 1 简介 一般情况下 EWM 标准收货流程是 ROD&#xff08;Ready on Dock&#xff09; --> AFS&#xff08;Avaiable for Sale&#xff09;&#xff0c;对应 AG 001 --> AG 002&#xff0c;对应库存类型 F1 --> F2。 因业务需要反向进…...

AI大模型开发原理篇-9:GPT模型的概念和基本结构

基本概念 生成式预训练模型 GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型 是由 OpenAI 开发的基于 Transformer 架构的自然语言处理&#xff08;NLP&#xff09;模型&#xff0c;专门用于文本生成任务。它的设计理念在于通过大规模的预训练来学习语言模…...

MySQL数据库(二)

一 DDL (一 数据库操作 1 查询-数据库&#xff08;所有/当前&#xff09; 1 所有数据库&#xff1a; show databases; 2 查询当前数据库&#xff1a; select database(); 2 创建-数据库 可以定义数据库的编码方式 create database if not exists ax1; create database ax2…...

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能&#xff08;AI&#xff09; 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例&#xff1a;开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…...

什么是 AI Agent?它和直接调用大模型 API 做一次问答有什么本质区别?

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;AI大模型原理和应用面试题 文章目录一、&#x1f340;AI Agent概念、AI Agent和直接…...

避开原子操作坑!Keil AC5移植LwRB 3.0.0的保姆级避坑指南

避开原子操作坑&#xff01;Keil AC5移植LwRB 3.0.0的保姆级避坑指南 在嵌入式开发中&#xff0c;环形缓冲区&#xff08;Ring Buffer&#xff09;是一种常见的数据结构&#xff0c;广泛应用于串口通信、DMA传输等场景。LwRB&#xff08;Lightweight Ring Buffer&#xff09;作…...

微信聊天记录的数字守护:WeChatMsg本地存储解决方案全解析

微信聊天记录的数字守护&#xff1a;WeChatMsg本地存储解决方案全解析 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

保姆级教程:在Ubuntu 22.04上手动编译FFmpeg+OpenCV,搞定昇腾CANN C++推理环境

昇腾NPU开发实战&#xff1a;从零构建FFmpegOpenCV的C推理环境 在昇腾NPU上进行C开发时&#xff0c;环境配置往往是第一个拦路虎。不同于常见的x86架构&#xff0c;昇腾平台的异构计算特性要求开发者对底层依赖有更深入的理解。本文将手把手带你完成FFmpeg和OpenCV的源码编译&a…...

Anthropic:AI 编程从单打独斗到团队协作的生产关系升级

【导语&#xff1a;在 AI 时代&#xff0c;编程不再是少数人的特权。Anthropic 让 Claude 独自完成项目&#xff0c;从单智能体到多智能体结构&#xff0c;实现了从生成代码到交付成果的跨越&#xff0c;带来了生产关系的升级。】Claude 单枪匹马难交付&#xff0c;多智能体团队…...

探索介质超表面中的三次谐波与非线性光学

Comsol介质超表面三次谐波非线性模型&#xff0c;包含功率依赖 且倍频模型以及转换效率计算最近在研究介质超表面的非线性光学特性时&#xff0c;遇到了一个挺有意思的问题&#xff1a;如何在Comsol中模拟三次谐波生成&#xff08;THG&#xff09;以及倍频效应&#xff1f;尤其…...

ImageGlass:轻量级全能图像查看器的效率革命

ImageGlass&#xff1a;轻量级全能图像查看器的效率革命 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 价值定位&#xff1a;重新定义图像浏览体验 在数字内容爆炸的时代…...

Omni-Vision Sanctuary 模拟电路设计可视化:与 Multisim 仿真结果结合生成原理图效果图

Omni-Vision Sanctuary 模拟电路设计可视化&#xff1a;与 Multisim 仿真结果结合生成原理图效果图 1. 电子工程师的文档痛点 在电子设计领域&#xff0c;工程师们经常面临一个共同的烦恼&#xff1a;花大量时间完成的电路仿真和分析&#xff0c;最终呈现给团队或客户的文档却…...

全球首届具身智能开发者大会深圳落幕,真机实战引领产业跃迁,重新定义具身智能新坐标

3月30日&#xff0c;由深圳市人工智能产业办公室指导&#xff0c;自变量机器人、深圳市人工智能行业协会与广东省具身智能训练场联合主办的全球首届具身智能开发者大会&#xff08;Embodied AI Developers Conference&#xff0c;简称EAIDC 2026&#xff09;暨「具亮计划」黑客…...

coze-loop应用指南:在数据分析、Web开发等场景下的优化技巧

coze-loop应用指南&#xff1a;在数据分析、Web开发等场景下的优化技巧 1. 工具介绍与核心功能 coze-loop是一款基于Ollama框架的AI代码优化工具&#xff0c;它将复杂的代码优化过程简化为三步操作&#xff1a;选择目标、粘贴代码、获取优化建议。这个工具特别适合需要快速提…...