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

基于多任务融合的圣女果采摘识别算法研究

基于多任务融合的圣女果采摘识别算法研究

1、简介

本文主要解决圣女果生产销售环节中,现有的流程是采摘成熟的圣女果,再对采摘下的果实进行单独的品质分级,不仅费时费力,而且多增加一个环节,也增加了对果实的二次伤害。如何在采摘环节中就对圣女果果实进行品质分级是本文研究的核心内容。

在这里插入图片描述

1.1 国内外研究现状

国内外目前对“采摘果实的同时对品质进行分级”这一课题研究的并不多。主要集中在采摘识别算法上,大致分为两类:传统算法与人工智能算法。

1.1.1 传统算法采摘识别

传统的采摘识别算法有1⃣️基于HIS颜色特征的识别;2⃣️红外成像识别;3⃣️光谱成像识别等方法;如下图所示,但是可以发现对果实的边缘信息检测误差较大,并且对于重叠的果实并不能有效区分开来,而圣女果/番茄的果实往往是成簇/串生长,因此传统算法的检测效果并不佳。

在这里插入图片描述

1.1.2 人工智能算法采摘识别

目前采用的人工智能算法主要以1⃣️目标检测识别;2⃣️语义分割识别为主.
较少采用实例分割实现,分析主要原因有:实例分割算法的研究还有许多难题需要解决,如推理速度较低,不如目标检测的迅速,可以达到实时性的任务要求。

  • 目标检测算法:目标检测虽然检测速度很快,检测精度也很高,但是目标检测只能识别出果实的边界框,而无法识别出果实的精准边界信息,对于采摘任务而言并不友好;
  • 语义分割算法:语义可以精准的实现果实的边界信息,但是对于同一类别的交集果实无法区分,对于采摘而言,无法精确计算实例的采摘点;

在这里插入图片描述

1.2 研究目的与意义

通过将品质分级、实例分割任务融合在一个模型中,从而实现对圣女果的采摘识别与品质分级同时进行。即可以精准识别到果实的边缘信息又可以区分不同实例,并同时进行果实的品质分级任务。将实现采摘的同时进行品质分级,极大的缩短的加工时间,提高了生产效率,同时降低了对果实的损伤。

在这里插入图片描述


2、自建多品质圣女果数据集

前往山东省寿光县进行数据采集,拍摄了5k+原图数据,通过1->2/1->3数据增广扩增至14K张数据,人工标注图像3K,共13K个样本实例;

数据标注过程中,采用的更加精细的实例分割标注,可以衍生出单圣女果的采摘识别数据集、单成熟度的圣女果采摘识别数据集、多品质的圣女果采摘数据集等不同任务需求的下游数据集;
标注过程中,我们将圣女果按照成熟度、是否遮挡、品质进行品质划分,共划为为13个品级,其中包含开裂状态的损伤果。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

通过对13K+个实例的分布情况统计,发现不同品类的数据分布是极度不均衡的,为了缓解此情况对模型训练的影响,我们尝试了对样本数据少的类别进行数据增强,但是发现此方法行不通,因为圣女果果实高度重叠同生,单纯增强数据量少的类别难度极大;

出了进行数据增强方法,采用Focal Loss的损失函数可以缓解对模型的影响,本文采用采用Focal Loss的方法进行调节不同类别的在损失中的权重。
在这里插入图片描述

2.1 数据增强

数据增强主要采用原图的像素维度的数据增强和空间维度的数据增强。

像素维度的数据增强包含:像素化处理、运动模糊、高斯模糊、油画处理、磨砂玻璃处理、超像素化处理、缩放模糊处理、灰度处理、添加噪点、随机阴影处理;

在这里插入图片描述

空间维度的数据增强包含:随机裁剪、中心裁剪、水平翻转、垂直翻转、平移、随机旋转;其中数据增强方法采用基于Albumentations库进行,但是在进行空间维度的数据增强时发现,BBox的数据增强与Mask的数据增强无法做到一一匹配的问题,为了解决此问题,本文通过只进行mask进行空间维度的数据增强,通过计算每个通道mask的边界信息从而获得对应的BBox,实现BBox与Mask的同步数据增强。

3、SOLO Evolution 模型设计与优化

3.1 算法架构设计

SOLO-E基于SOLOv2模型改进而来,我们删减了SOLOv2模型中的低效cate层与mask层。将SOLO有限的注意力集中于各分支的核心。

深层次的特征图更加有利于cate分支提取信息,因此保留2-4层多尺度特征图;
受限于mask复原影响,舍弃3、4层多尺度特征图;

从而将5层特征图精简至3层特征图,即保留了SOLOv2的核心部分,又在一定程度上提升了模型运算速度;
在这里插入图片描述

在这里插入图片描述

3.2 Matrix NMS算法优化

在使用Matrix NMS算法的时候,发现其对cate阈值依赖较大,阈值设置较大导致部分实例无法检测出,阈值较小导致部分实例存在冗余预测情况发生;(图左上角数字表示检测实例个数)
在这里插入图片描述

为了降低对阈值的依赖性,我们提出了圆函数替换原有的高斯函数作为递减函数。在IoU>0.8时,圆函数对置信度低的预测结果抑制更加强烈;对于0.1<IoU<0.4的时候,圆函数依旧有将近0.6的抑制,此情况可以抑制如下图2情况。对于同一目标,可能存在缩小型的目标预测,此时与最佳目标的IoU是较低的,此种情况依旧需要对其进行抑制,高斯函数在此情景下的抑制情况较差。

在这里插入图片描述

优化前后的对比效果图(每个小图的左上角数字表示为此图中检测到的实例数量)
在这里插入图片描述

4、各模型检测结果对比

改进后的SOLO-E在mAP指标相当的情况下,在FPS方面较SOLOv2提升了39.8%,训练时间较SOLOv2降低了33%,且模型参数量略有降低。
在这里插入图片描述

5、圣女果采摘识别系统设计

为了更加直观的展示,我们基于PyQt5设计了一套系统,如下所示。
在这里插入图片描述

《基于实例分割实现圣女果采摘识别算法研究》系统演示

相关文章:

基于多任务融合的圣女果采摘识别算法研究

基于多任务融合的圣女果采摘识别算法研究 1、简介 本文主要解决圣女果生产销售环节中&#xff0c;现有的流程是采摘成熟的圣女果&#xff0c;再对采摘下的果实进行单独的品质分级&#xff0c;不仅费时费力&#xff0c;而且多增加一个环节&#xff0c;也增加了对果实的二次伤害…...

又一个开源第一!飞桨联合百舸,Stable Diffusion推理速度遥遥领先

AIGC(AI Generated Content)&#xff0c;即通过人工智能方法生成内容&#xff0c;是当前深度学习最热门的方向之一。其在绘画、写作等场景的应用也一直层出不穷&#xff0c;其中&#xff0c;AI绘画是大家关注和体验较多的方向。 Diffusion系列文生图模型可以实现AI绘画应用&…...

数据链路层及交换机工作原理

目录 一&#xff0c;帧格式 1.1 帧头类型字段的作用 1.2 MAC地址 1.3 MTU值 二&#xff0c;交换机工作原理 2.1 交换机的端口 2.2 端口状态 三&#xff0c;交换机基本工作模式及命令 3.1 交换机的工作模式&#xff1a; 3.2 命令 一&#xff0c;帧格式 其中类型是指&am…...

VSCode 开发配置,一文搞定(持续更新中...)

一、快速生成页面骨架 文件 > 首选项 > 配置用户代码片段 选择需要的代码片段或者创建一个新的&#xff0c;这里以 vue.json 举例&#xff1a; 下面为我配置的代码片段&#xff0c;仅供参考&#xff1a; {"Print to console": {"prefix": "…...

全网最详细的(CentOS7)MySQL安装

一、环境介绍 操作系统&#xff1a;CentOS 7 MySQL&#xff1a;5.7 二、MySQL卸载 查看软件 rpm -qa|grep mysql 卸载MySQL yum remove -y mysql mysql-libs mysql-common rm -rf /var/lib/mysql rm /etc/my.cnf 查看是否还有 MySQL 软件&#xff0c;有的话继续删除。 软件卸…...

基于LSTM的文本情感分析(Keras版)

一、前言 文本情感分析是自然语言处理中非常基本的任务&#xff0c;我们生活中有很多都是属于这一任务。比如购物网站的好评、差评&#xff0c;垃圾邮件过滤、垃圾短信过滤等。文本情感分析的实现方法也是多种多样的&#xff0c;可以使用传统的朴素贝叶斯、决策树&#xff0c;…...

2023年全国最新机动车签字授权人精选真题及答案17

百分百题库提供机动车签字授权人考试试题、机动车签字授权人考试预测题、机动车签字授权人考试真题、机动车签字授权人证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 三、多选题 1.注册登记安全检验时&#xff0c;送检乘用…...

PowerShell远程代码执行漏洞(CVE-2022-41076)分析与复现

漏洞概述PowerShell&#xff08;包括Windows PowerShell和PowerShell Core&#xff09;是微软公司开发的任务自动化和配置管理程序&#xff0c;最初只是一个 Windows 组件&#xff0c;由命令行 shell 和相关的脚本语言组成。后于2016年8月18日开源并提供跨平台支持。PowerShell…...

Mybatis中的一级缓存和二级缓存

Mybatis作为一款强大的ORM框架&#xff0c;其中也用到了缓存来加速查询&#xff0c;今天我们一起来探讨下。 Mybatis可以使用懒加载来提高查询的效率&#xff0c;并且可以通过缓存来提高查询的效率。其中包括有一级缓存和二级缓存。 一级缓存是sqlSession级别的缓存&#xff0c…...

【Java】SpringBoot中实现异步编程

前言 首先我们来看看在Spring中为什么要使用异步编程&#xff0c;它能解决什么问题&#xff1f; 什么是异步&#xff1f; 首先我们先来看看一个同步的用户注册例子&#xff0c;流程如下&#xff1a; 异步的方式如下&#xff1a; 在用户注册后将成功结果返回&#xff0c;…...

ASCII 文件与 TIFF 文件互转(Python 实现)(2023/03/09)

ASCII 文件与 TIFF 文件互转&#xff08;Python 实现&#xff09; 文章目录ASCII 文件与 TIFF 文件互转&#xff08;Python 实现&#xff09;1. 环境1.1 Linux1.2 Windows2. 代码1. 环境 1.1 Linux $ pip3 install --index-url https://mirrors.aliyun.com/pypi/simple --tru…...

思科模拟器 | 交换机与路由器的配置汇总【收藏备用】

文章目录一、vlan配置【实现同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、测试连接二、truck配置【实现连接在不同交换机上的同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、打truck做连接3、测试连接三、静态路由配置1、自定义IP地址2、基本…...

电子台账:软件运行环境要求与功能特点

1 运行环境要求为满足大部分应用环境&#xff0c;软件开发时综合考虑各种各种不同因素影星&#xff0c;包括&#xff1a;操作系统、硬件、辅助软件、安装、运行、补丁、数据库、网络、人员等因素。目前台账软件需求为&#xff1a;操作系统&#xff1a;目前能运行的任意版本wind…...

计算机科学导论笔记(六)

目录 八、算法 8.1 概念 8.1.1 非正式定义 8.1.2 示例 8.1.3 定义动作 8.1.4 细化 8.1.5 泛化 8.2 三种结构 8.2.1 顺序 8.2.2 判断 8.2.3 循环 8.3 算法的表示 8.3.1 UML 8.3.2 伪代码 8.4 更正式的定义 8.5 基本算法 8.5.1 求和 8.5.2 求积 8.5.3 最大和最…...

嵌入式从业10年,聊聊我对工业互联网和消费物联网的看法 | 文末赠书4本

嵌入式从业10年&#xff0c;聊聊我对工业互联网和消费物联网的看法 工业互联网和消费物联网&#xff0c;有何异常点&#xff1f;本文&#xff0c;博主将结合自己的亲身经历&#xff0c;现身说法&#xff0c;聊聊博主对工业互联网和消费物联网的看法。 文章目录1 写在前面2 我眼…...

python的django框架从入门到熟练【保姆式教学】第一篇

当今&#xff0c;Python已成为最受欢迎的编程语言之一。而Django是一个基于Python的Web框架&#xff0c;它能够帮助你快速、高效地开发Web应用程序。如果你是一名初学者&#xff0c;学习Django框架可能会让你感到有些困惑。不过&#xff0c;不用担心&#xff0c;我们将为你提供…...

浏览记录或者购物车的去重处理

saveHistory(){// 获取缓存数据let historyArr uni.getStorageSync(historyArr) || []//需要添加的数据let item{id:this.detail.id,classid:this.detail.classid,title:this.detail.title,picurl:this.detail.picurl,looktime:parseTime(Date.now())};// forEach和findIndex的…...

Ubantu docker学习笔记(二)拉取构建,属于你的容器

文章目录一、拉取启动容器二、本地镜像初解三、构建镜像3.1使用docker commit构建镜像切换阿里镜像3.2使用dockerfile构建镜像四、总个结吧这里的话&#xff0c;就详细说说小唐对于容器的配置&#xff0c;对了&#xff01;小唐参考的书籍是Linux容器云实战&#xff01;&#xf…...

指针数组 数组指针 常量指针 指针常量 函数指针 指针函数

一、指针常量与常量指针 1、指针常量 本质上是一个常量&#xff0c;常量的类型是指针&#xff0c;表示该常量是一个指针类型的常量。在指针常量中&#xff0c;指针本身的值是一个常量&#xff0c;不可以改变&#xff0c;始终指向同一个地址。在定义的时候&#xff0c;必须要初…...

前端js学习

1. js入门 1.1 js是弱类型语言 1.2 js使用方式 1.2.1 在script中写 1.2.2 引入js文件 1.2.3 优先级 1.3 js查错方式 1.4 js变量定义 1.4 js数据类型 数据类型英文表示示例数值类型number1.1 1字符串类型string‘a’ ‘abc’ “abc”对象类型object布尔类型booleannumber函数…...

MoneyPrinterPlus未来路线图深度解析:AI短视频生成工具的终极进化指南 [特殊字符]

MoneyPrinterPlus未来路线图深度解析&#xff1a;AI短视频生成工具的终极进化指南 &#x1f680; 【免费下载链接】MoneyPrinterPlus 使用AI大模型技术,一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! Generat…...

终极指南:使用OpenCore Legacy Patcher让旧Mac焕发新生,完整支持最新macOS

终极指南&#xff1a;使用OpenCore Legacy Patcher让旧Mac焕发新生&#xff0c;完整支持最新macOS 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台性能依然强…...

Qwen3-Embedding-0.6B新手指南:从零开始玩转文本嵌入

Qwen3-Embedding-0.6B新手指南&#xff1a;从零开始玩转文本嵌入 1. 什么是文本嵌入&#xff1f;为什么你需要它&#xff1f; 想象一下&#xff0c;你有一个装满各种文档、网页和笔记的文件夹。当你想找“如何用Python做数据分析”的资料时&#xff0c;你只能靠记忆或者手动翻…...

ubuntu20.04设置开机自动登录适用与GNOME桌面环境

默认arm版本ubuntu20.04未安装nano编辑器&#xff0c;so我们要安装一下&#xff0c; sudo apt update && sudo apt install nano设置方法&#xff1a; sudo nano /etc/gdm3/custom.conf添加或修改&#xff0c;用户名区分大小写。 AutomaticLoginEnableTrue AutomaticLo…...

mPLUG-Owl3-2B Streamlit交互指南:支持拖拽上传、缩略图预览、错误堆栈定位

mPLUG-Owl3-2B Streamlit交互指南&#xff1a;支持拖拽上传、缩略图预览、错误堆栈定位 &#x1f989; 多模态AI本地化交互新体验 基于mPLUG-Owl3-2B多模态模型开发的本地图文交互工具&#xff0c;针对模型原生调用的各类报错做了全面修复&#xff0c;适配消费级GPU轻量化推理。…...

Phi-3-vision-128k-instruct黑马点评项目AI升级:实现菜品图片智能识别与推荐

Phi-3-vision-128k-instruct黑马点评项目AI升级&#xff1a;实现菜品图片智能识别与推荐 1. 引言&#xff1a;餐饮应用的智能化痛点 在餐饮行业数字化浪潮中&#xff0c;"黑马点评"作为一款广受欢迎的美食点评应用&#xff0c;面临着用户需求升级的挑战。传统模式下…...

别再只盯着通用数据集了!盘点2024年那些能直接拿来微调LLaMA、ChatGLM的医学问答数据集

2024医学大模型实战&#xff1a;精选可直接微调的问答数据集与应用指南 当开源大模型如LLaMA-3、ChatGLM3和Gemma在通用领域展现出惊人潜力后&#xff0c;医疗健康领域正成为下一个技术落地的黄金赛道。但许多工程师在兴奋地下载完模型权重后&#xff0c;却卡在了最关键的一环—…...

别再傻傻分不清!雷达、激光雷达、超声波在ROS2里到底怎么选?实战避坑指南

雷达、激光雷达与超声波传感器在ROS2中的实战选型指南 引言 在机器人感知系统的设计中&#xff0c;传感器选型往往决定着整个项目的成败。面对市场上琳琅满目的雷达、激光雷达和超声波传感器&#xff0c;工程师们常常陷入选择困难。这三种传感器各有千秋&#xff0c;但价格、性…...

零基础玩转TensorFlow-v2.15:Jupyter与SSH两种方式快速上手

零基础玩转TensorFlow-v2.15&#xff1a;Jupyter与SSH两种方式快速上手 深度学习正在改变我们解决问题的方式&#xff0c;而TensorFlow作为最受欢迎的深度学习框架之一&#xff0c;让开发者能够轻松构建和训练复杂的机器学习模型。但对于初学者来说&#xff0c;环境配置往往成…...

3小时搭建A股量化数据仓库:告别API延迟,开启本地金融数据新时代

3小时搭建A股量化数据仓库&#xff1a;告别API延迟&#xff0c;开启本地金融数据新时代 【免费下载链接】AShareData 自动化Tushare数据获取和MySQL储存 项目地址: https://gitcode.com/gh_mirrors/as/AShareData 还在为量化分析时频繁调用API而烦恼吗&#xff1f;每次策…...