labelme实例分割_MaskRCNN在多个实例数据集上实践

刚刚开通付费功能,好奇心驱使我试试效果,这不,前两天试了一下,感觉也没啥新奇的。我的公众号使命是记录和分享个人学习经历,不会使用付费功能的。在此也非常感谢之前给我付费的小伙伴哈,哈哈,话不多说,今天正式发布这篇文章。

MaskRCNN的理论请看其他博文、源码解析参考下面链接文章。

MaskRCNN源码解析1:整体结构概述

MaskRCNN源码解析2:特征图与anchors生成

MaskRCNN源码解析3:RPN、ProposalLayer、DetectionTargetLayer

MaskRCNN源码解析4-0:ROI Pooling 与 ROI Align理论篇

MaskRCNN源码解析4:头网络(Networks Heads)解析

MaskRCNN源码解析5:损失部分解析

目 录

一,检测分割斑马

二,检测分割印章

三,检测分割版面中的图片表格公式

      最近用MaskRCNN做了一些检测小实验,主要包括检测分割斑马,检测分割印章,检测分割版面中的图片表格公式等。

一,检测分割斑马

      coco数据集已经有斑马类还用斑马图片标注测试主要是为了方便跑通代码,查看效果。先是从网上下载了一些斑马,自己用labelme标注了一下,生成的数据集如下:

0d368d732dbf5d028dc61c30f029ec9b.png

b69e4e472026065d42e8a3536473c2ad.png

7b13e7fe3cd4efa0a361ef3623ded97f.png

29580be6fa84cf886b6f358934811c37.png

       最后简单训练了一下,测试效果肯定是而且必须是还行:

0b6568b1328968ba4164df1d32a62509.png

       以上目的只是为了跑通训练自己数据集的所有流程。主要过程可以看看这篇文章:https://zhuanlan.zhihu.com/p/180236787

二,检测分割印章

       然后我又标注了一个稍微大一点的数据集,主要目的是为了检测印章,部分原图如下图所示:

9d7756c7c78d049e4ca19b98060b7567.png

       主要是红色圆形印章,当然这种红色圆形印章通过通道分离可以很容易将印章分割出来,这里只是拿它来试试MaskRCNN的检测分割效果,所以多费点力气绕个大圈子。

       印章数据集用labelme标注,并转换后的数据集(部分)如下:

378634ed410a0942604a2b81e5064367.png

7ae6e166892d97381db9101244f37629.png

5d81d5cfd4dfff40fd9c917ef283f0c9.png

b0903c88e55addbe5d9e4c31b498eb42.png

1234f5cd024c995a63d649f0a49ef77e.png

55086abfc5f04b667c12d4dab65120e1.png

       训练到总的loss为0.04左右,然后测试了一下检测分割效果(图片有些隐私,非印章部分我打了马赛克):

388b23ededbc473fc97d0c7a1c62010d.png85e70c49753c640aca477eb40d8e58b6.png6d585062adb49b36e1604873637d825d.png

86d1903a257bde6a56221d89f2beeffa.png66fac66c866a5374d47a2bf894e7e779.png

       从上面的检测效果可以看出,经过训练后,图片中的红色圆形印章很容易被检测分割出来,而且效果还行。

       PS:做了版面的检测后发现原来标注数据的方式有些问题,导致一张图片上出现多个同类实例的时候,分割会出问题,之前测试图片基本是单个印章的,所以没发现这个问题[手动捂脸]。对数据标注方式做了改正后(同一张图片出现多个同类别的实例,应该标注为:印章1,印章2,印章3....),又重新训练了一下印章检测这个数据集。

4821fc8cb84adc3811e95b7079add97a.png

       总的损失下降到0.06左右,测试效果如下,这样看着舒服多了[再次手动捂脸]:

331f4e4eac75b36e6c2861eefc575998.png

8e5ac9f63ec562c37e060d359f2cb6de.png37ddc670f22f797bf11cd79686f5f87d.png

9404627b14471944539439b186641d0c.png

6b24e59bbe54cece58f986db7792ffea.png

a2c71541a81dc880e37b9c8802ab36ff.png

三,检测分割版面中的图片、表格、公式

       经过上面两个小例子的测试,后面我又用MaskRCNN训练一下版面分析的图片,看看效果。版面分析的图片,主要检测图片、表格、公式三类。训练数据集如下,该数据集不是我人工标注的,是之前写的程序处理的结果转换成MaskRCNN 可训练的格式,人工标注太费时费力了。

b1397071f16973315b8dd3c4e54b3cdb.png

08efd0880f88909aea8178f5ff1c7832.png

0c6df765872431c67c9dda8320b6cfe2.png

745c0c2bc48e29fdf0a5e40ae323bbfe.png

271bf21dabdfa21ee29d1d8db59d13db.png

0325a32a1f4f94c571f244875acbec3c.png

218b68d7eb34b6df2ce42048859af4f5.png

       前面的图片不管是斑马还是红色印章都和背景有明显的界限,所以分割起来比较容易。版面中的图片、表格、公式就不太一样了,框出的区域,除了有内容的地方,空白的地方和背景是一样的,这样的数据训练起来不太好收敛。前期尝试各种方法调试超参数,总的损失达到0.5左右就基本不下降了。测试的效果也并不是很理想。 

78ef6c02001c8d78d24a4e8e7887878e.png4d66b5e91a2d4d10d8915d890ba447ec.png197e6854ff196497fbc71da64d901448.png54f0b586ca149a23648bbc2e4f4a6f51.pngb973d73285d00f5be760ddeb50f511a1.png73dd50b4780306847300de00bf25d643.png

       因为版面中每张图基本都会出现多个同类型的实例,加上前面标注数据方式有点问题,所以检测效果不是太理想。后来改正了标注方式后又重新训练了一下,检测效果如下:

48c2e1842341cc1d985d379fc656c1a0.png

e212e7a1247ff90ee3ed29fc88d259d2.png

b20fe5c7aa85e022a39753beb19b89ed.png

88ccb5edce47e3addafaa540121f7f16.png

38f21990309e3bf7468a87a6cee000fa.png

0bce8e03ed9d048669576b0d0c8365d5.png

7c1e4d18dd4afa39feb27a501ab73ffc.png

f5a4ca1c74a2dbc6016b643107e68429.png

c7e193f0b9d9c99d7cf3027fcd969fce.png

0b867f204894901df93e8811a0d2d483.png

e3784588cea2d1ac4c08941e538aef92.png

abf824980555da38017093e0aa0f80fb.png

f5a09993eb7537398e362367d096cf0b.png

f6fc057fb4afa0d30df1ac81d38a3a8a.png

34313b025b9fb2bd7ec2d0abdd9e4fa5.png

b94914a4b9c2722ace76b09682a05052.png

ab2b2f751a9b8d8a271657a2f327c710.png

adf046867d73da9983fa2fc7e8d9fd78.png

7aca64d29ce8dccb6e76c7146b16890b.png

3d087fa00beb3ae56c5030999e33edef.png

2d80ae1097c134746f10898b36f154cf.png

3cb58121eb644d24e87a46b568c68653.png

       从上面测试结果可以看出,训练的模型对于图片和表格的检测分割效果良好,单个公式也还行,多个公式出现在一起的时候容易出现混乱,这种情况跟数据集有关系,因为数据集中对于公式的处理结果就是这样的。后续改进公式检测效果还需要从标注数据集上下功夫。

c9f2932af1afe123a1ca7220a817c1e5.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术干货 | 阿里云数据库PostgreSQL 13大版本揭秘

简介: 阿里云RDS PostgreSQL是一款兼容开源PostgreSQL的全托管云数据库产品,自2015年首次发布以来,根据用户需求不断升级迭代,已支持9.4、10、11、12等多个版本,覆盖了高可用版、基础版、只读实例等多种形态&#xff0…

国家能源集团携手华为首次部署矿鸿操作系统,开创工控新纪元

9月14日,由国家能源集团携手华为公司共同举办的“矿鸿操作系统”发布会在北京圆满举行。矿监局、工信部、科技部、能源局、煤炭工业协会、国家能源集团、华为等政府机构与企业代表出席,共同见证了“矿鸿操作系统”的正式发布。面对煤矿数字化、智能化的快…

MaxCompute在电商场景中如何进行漏斗模型分析

简介: 本文以某电商案例为例,通过案例为您介绍如何使用离线计算并制作漏斗图。 背景 漏斗模型其实是通过产品各项数据的转化率来判断产品运营情况的工具。转化漏斗则是通过各阶段数据的转化,来判断产品在哪一个环节出了问题,然后…

ado.net mysql 事务_ADO.NET事务

在发布System.Transaction命名空间之前,可以直接用ADO.NET创建事务,也可以通过组件、特性和COM运行库(位于System.EnterpriseServices命名空间中)进行事务处理。本文如题所示,介绍在这些传统事务处理方式中较为简单的“ASP.NET事务”。在传统…

这可能是大型复杂项目下数据流的最佳实践

简介: 实际项目中沉淀的数据流最佳实践。 数据流是前端一直以来都存在的一个问题,我们项目沉淀了一套最佳实践,如有问题,欢迎探讨 在旧的 Done 项目中,代码复杂度高,已经到了“牵一发而动全身”&#xff0c…

淘宝推荐、视频搜索背后的检索技术竟是它!深度揭秘达摩院向量检索引擎Proxima

简介: 淘宝搜索推荐、视频搜索的背后使用了什么样的检索技术?非结构化数据检索,向量检索,以及多模态检索,它们到底解决了什么问题?今天由阿里巴巴达摩院的科学家从业务问题出发,抽丝剥茧&#x…

ipython和jupyter哪个好_对Python开发者而言,IPython仍然是Jupyter Notebook的核心

如果你不明白 Jupyter 是什么,这么说吧,它拥有和 IPython 同样的代码,并且是由同一批人开发的,只不过取了一个新名字、安了一个新家。下面这个注脚进一步说明了这一点:我从声明中解读出来的信息是,“Jupyte…

这个高薪行业正在大量招人,你会考虑吗?

作者 | 侯淼淼 出品 | 《新程序员》当人们提及“程序员”这一职业的时候,大多数人的第一想法往往是高薪。然而近年来,随着造车势力的兴起,新一轮的高薪岗位抢人大战正式打响。2021年以来,一汽、东风等传统车厂招聘岗位数量持…

AI在出行场景的应用实践:路线规划、ETA、动态事件挖掘…

简介: 本文是#春招专栏#系列的第1篇,根据高德机器学习研发部负责人damon在AT技术讲坛所分享的《AI在出行领域的应用实践》的内容整理而成。 前言:又到春招季!作为国民级出行服务平台,高德业务快速发展,大量…

lsof查看进程占用文件_Linux 利用lsof命令查找已经删除的文件来释放磁盘空间

测试环境一台服务器/ 根目录空间使用率达到94%,但是通过du -sh * 发现实际空间没没用用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh * 发现共实际使用不到1…

AcWing 1238. 日志统计(双指针,滑动窗口)

题目&#xff1a; 1238. 日志统计 - AcWing题库 数据范围 输入样例&#xff1a; 7 10 2 0 1 0 10 10 10 10 1 9 1 100 3 100 3输出样例&#xff1a; 1 3 思路&#xff1a;双指针 代码&#xff1a; #include<iostream> #include<cstdio> #include<cmath>…

基于 Wasm 和 ORAS 简化扩展服务网格功能

简介&#xff1a; 本文将介绍如何使用 ORAS 客户端将具有允许的媒体类型的 Wasm 模块推送到 ACR 注册库&#xff08;一个 OCI 兼容的注册库&#xff09;中&#xff0c;然后通过 ASM 控制器将 Wasm Filter 部署到指定工作负载对应的 Pod 中。Wasm Filter 部署中的所有步骤都使用…

漫话:如何给女朋友解释什么是元宇宙?

作者 | 漫话编程来源 | 漫话编程Metaverse元宇宙这个词&#xff0c;第一次出现是在1992 年&#xff0c;美国著名科幻作家尼尔・斯蒂芬森&#xff08;Neal Stephenson&#xff09;的小说《雪崩&#xff08;Snow Crash&#xff09;》中。在书中&#xff0c;尼尔・斯蒂芬森描述了一…

浅谈分库分表那些事儿

简介&#xff1a; 本文主要阐述在分库分表改造过程中需要考虑的因素以及对应的解法&#xff0c;还有踩过的那些坑。 本文适合阅读群众&#xff1a;需要从单库单表改造为多库多表的新手。 本文主要阐述在分库分表改造过程中需要考虑的因素以及对应的解法&#xff0c;还有踩过的…

java上传大文件_Java超大文件上传解决办法

这里只写后端的代码&#xff0c;基本的思想就是&#xff0c;前端将文件分片&#xff0c;然后每次访问上传接口的时候&#xff0c;向后端传入参数&#xff1a;当前为第几块文件&#xff0c;和分片总数下面直接贴代码吧&#xff0c;一些难懂的我大部分都加上注释了&#xff1a;上…

剪了 20% 的刘海、120Hz 刷新率、1TB 存储,iPhone 13 来了!

作者 | 苏宓出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;2011 年 8 月 24 日&#xff0c;乔布斯表示「无法继续担任苹果首席执行官的这一天终于来临」&#xff0c;随后彼时的代理首席执行官蒂姆库克被任命为正式首席执行官&#xff0c;成为苹果公司的新任掌舵者…

阿里云AHAS Chaos:应用及业务高可用提升工具平台之故障演练

简介&#xff1a; 阿里云AHAS Chaos&#xff1a;应用及业务高可用提升工具平台之故障演练 应用高可用服务AHAS及故障演练AHAS Chaos 应用高可用服务&#xff08;Application High Availability Service&#xff09;是阿里云一款专注于提高应用及业务高可用的工具平台&#xff…

SAE助力「海底小纵队学英语」全面拥抱Serverless,节省25%以上成本

简介&#xff1a; 阿里云Serveless应用引擎SAE 具备免运维IaaS、按需使用、按量计费、低门槛服务应用上云&#xff0c;并且支持多种语言和高弹性能力等特点&#xff0c;刚好完美解决了客户长期以来运维复杂、资源利用率不高、开发迭代效率低等问题。 海底小纵队学英语隶属于成都…

低代码从技术走向产品,用友发布自动化设计工具“码前”

低代码以往只被作为技术被讨论&#xff0c;这一次&#xff0c;用友用低代码推出了自动化、一站式“需求产品设计”工具“码前”&#xff0c;帮助企业用户快速完成代码前的所有设计工作。 编辑 | 宋 慧 出品 | CSDN云计算 据《2021中国数字经济发展白皮书》统计&#xff0c;2020…

java连接access驱动_Java 连接Access

Java 连接Access第一次使用连接Access数据库&#xff0c; 记录一下遇到的坑Access驱动下载地址 http://pan.baidu.com/s/1o8ltTfc不使用WINDOW的建立数据源方法&#xff0c;直接在Java代码内部与Access数据库连接public void ConnectAccessFile() throws Exception{Class.forNa…