keras搭建轻量级卷积神经网络CNN开发构建国家一级保护动物识别分析系统,集成开发GradCAM实现热力图分析可视化

news2024/11/27 11:38:37

动物识别相关的项目本质上属于图像识别,在我之前的博文中已经有过不少实践了,感兴趣的话可以自行移步阅读即可,这里不是说想要单纯地去做一个动物识别的项目,昨晚在玩手机的时候突然被小孩问到一个动物是不是国家保护动物,我一时间回答不上来,甚至连查了百度以后连字都不认识,今天就想着对于收集到的这些国家一级保护动物用我的专业领域技术来开发一个智能化的自动识别系统,帮助我来对不同的保护动物自动归类识别处理,首先来看下效果图:

这里是从互联网收集汇总获取到的不到100种一级保护动物,当然了有可能是不全的,毕竟我是想将这个事情跟自己的职业结合起来做点有意思的事情而已,倒不是什么动物学专家啥的哈。

简单看下收集到的数据类别清单:

蜂猴
褐马鸡
西藏野驴
豚尾猴
豚鹿
豹
貂熊
赤斑羚
赤颈鹤
遗鸥
野牛
中华白海豚
中华秋沙鸭
丹顶鹤
云豹
亚洲象
儒艮
台湾猴
台湾鬣羚
叶猴
四爪陆龟
坡鹿
塔尔羊
孔雀雉
扬子鳄
扭角羚
普氏原羚
朱鹮
梅花鹿
河狸
灰腹角雉
熊狸
熊猫
熊猴
白唇鹿
白头鹤
白尾海雕
白颈长尾雉
白鹤
紫貂
红胸角雉
绿孔雀
花豹
蒙古野驴
蓝鹇
藏羚羊
虎
虹雉
金丝猴
金钱豹
长臂猿
雪豹
马来熊
高鼻羚羊
野牦牛
野马
野骆驼
鸨
麋鹿
黄腹角雉
黑头角雉
黑长尾雉
黑颈长尾雉
黑颈鹤
黑麂
鼋
鼷鹿

一共67种。

对应的等级信息汇总查询如下:

 单张图像处理核心代码如下:

one_img = cv2.imread(one_path)
one_img = cv2.resize(one_img,(100,100))
one_img = one_img.transpose((2,0,1))

相关代码详细实现可以参考我之前的博文,这里就不再赘述了。

模型详细参数结构如下:

 整体还是很轻量级的,不足5MB的大小,但是识别性能还是很不错的。

训练200次epoch迭代计算,acc曲线如下所示:

 loss曲线如下所示:

 为了进一步拆解探索分析模型的识别机理,这里开发集成了GradCAM实现了热力图可视化分析,实例如下所示:

 算是一个不错的实践项目吧,记录一下!

 

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

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

相关文章

SpringBoot 事件监听处理(五十一)

当死亡笼罩在脑海,请用生的信念打败它 上一章简单介绍了Retry重试机制(五十), 如果没有看过,请观看上一章 参考文章: https://blog.csdn.net/qq_37758497/article/details/118863308 一. Spring 事件监听 Spring的事件监听(也叫事件驱动)是观察者模式的一种实现&…

Windows 10磁盘碎片整理:含义和操作方法

什么是Windows磁盘碎片? 随着电脑硬盘使用时间的增长,磁盘上会产生大量的垃圾碎片。这些碎片会分布在磁盘的各个角落,严重影响磁盘的响应速度。为了在一定程度上提高系统性能,定期使用Windows10的磁盘碎片整理工具来进行碎片整…

Vue.js中的Mixin和组件插槽

Vue.js中的Mixin和组件插槽 介绍 在Vue.js中,Mixin和组件插槽是两个非常有用的概念。Mixin是一种可重用Vue组件的方式,而组件插槽则提供了一种在组件之间共享内容的方式。虽然这两个概念在功能上有所不同,但它们对于Vue.js应用程序的开发都非…

Vue 中的数据请求如何进行拦截与错误处理

Vue 中的数据请求拦截与错误处理 在 Vue.js 中,我们经常需要向后端服务器发送数据请求,以获取或提交数据。在这个过程中,我们可能会遇到一些问题,例如无效的请求参数、网络连接错误、服务器错误等。为了更好地处理这些问题&#…

优化和扩展:处理不同操作和参数的数字列表

引言 在编程中,我们有时需要根据输入执行不同的操作,而这些操作涉及到数字列表,并且每个操作可能具有不同数量的参数。本文将介绍如何优化和扩展代码,以便更好地处理这种情况。 问题描述 当前遇到的问题是需要根据输入执行不同…

Mysql中的Buffer pool

Buffer Pool在数据库里的地位 1、回顾一下Buffer Pool是个什么东西? 数据库中的Buffer Pool是个什么东西?其实他是一个非常关键的组件,数据库中的数据实际上最终都是要存放在磁盘文件上的,如下图所示。 但是我们在对数据库执行增…

2023最新Java面试八股文,阿里/腾讯 / 美团 / 字节 1 000道 Java 中高级面试题

企业调薪、裁员、组织架构调整等等,坏消息只多不少,最近也有很多来咨询跳槽的朋友,都是因为之前的公司出现了比较大的薪资和组织变动 近期有许多粉丝非常关注最新的面试题!于是小编去各大平台搜罗了一份近期大厂面试的一些内容&a…

基础工程(cubeide串口调试,printf实现,延时函数)

0.基础工程(cubeide串口调试,printf实现,延时函数) 文章目录 0.基础工程(cubeide串口调试,printf实现,延时函数)外部时钟源CLOCK(RCC)系统时钟SYS与DEBUG设置UART串口设置cubeide设置…

世界研发管理组织在美国成立,中国籍研发管理专家江新安当选总干事

World R&D Management Organization世界研发管理组织(WRDMO)由来自世界各地的研发管理研究组织,创新技术研究机构,院校以及研发管理咨询机构联合发起。是一个具有开放性,无党派性,非营利性的国际先进研…

如从亿点点失误,到一点点失误,我是如何做的【工作失误怎么办】

前言 只要我们还在做事,或者说还活着,就没有不犯错的时候。作为一名前端搬砖工,哪怕工作中再仔细小心,也免不了一些失误。 那这是不是说,失误很正常,改了就是嘛? 这么说好像没错。作为失误本…

【计算机组成与体系结构Ⅰ】知识点整理

第一章 计算机系统概论 1.1 从源文件到可执行文件 .c源程序、.i源程序、.s汇编语言程序、.o可重定位目标程序、可执行目标程序;后两个为二进制,前面为文本 1.2 可执行文件的启动和执行 冯诺依曼结构计算机模型的5大基本部件:运算器、控制…

【ChatGLM】使用ChatGLM-6B-INT4模型进行P-Tunning训练记录及参数讲解

文章目录 模型训练步骤参数含义名词解释欠拟合泛化能力收敛性梯度爆炸 初步结论 小结 模型训练 首先说明一下训练的目的:提供本地问答知识文件,训练之后可以按接近原文语义进行回答,类似一个问答机器人。 步骤 安装微调需要的依赖&#xf…

C++【哈希表封装unordered_map/set】—含有源代码

文章目录 (1)修改原哈希表(2)迭代器(3)最后一步(4)关于key是自定义类型的额外补充(面试题)(5)源代码 (1)修改原哈希表 和红黑树封装一…

【链表Part01】| 203.移除链表元素、707.设计链表、206.反转链表

目录 ✿LeetCode203.移除链表元素❀ ✿LeetCode707.设计链表❀ ✿LeetCode206.反转链表❀ ✿LeetCode203.移除链表元素❀ 链接:203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点&#xff…

python数据分析

一、数据处理 1.爬取数据 我们将使用Python的requests和BeautifulSoup库来爬取数据。在这个示例中,我们将爬取豆瓣电影Top250的数据。 import requests from bs4 import BeautifulSoup url https://movie.douban.com/top250 headers {User-Agent: Mozilla/5.0 …

策略设计模式解读

目录 问题引进 鸭子问题 传统方案解决鸭子问题的分析和代码实现 传统的方式实现的问题分析和解决方案 策略模式基本介绍 基本介绍 策略模式的原理类图 策略模式解决鸭子问题 策略模式的注意事项和细节 问题引进 鸭子问题 编写鸭子项目,具体要求如下: 1) 有…

【GlobalMapper精品教程】059:基于las点云创建数字高程地形并二三维着色显示

本文讲述在globalmapper免费中文版中基于地形点云las数据创建数字高程地形、数字高程二三维联动可视化并进行数字高程着色显示。 文章目录 一、加载地形点云las数据二、创建数字高程地形三、数字高程二三维联动可视化四、数字高程着色显示相关阅读:ArcGIS实验教程——实验二十…

如何看待 Facebook 上线支付功能?

随着科技的不断进步,电子支付在我们的生活中变得越来越普遍。最近,Facebook宣布推出自己的支付功能,这引起了广泛的关注和讨论。作为世界上最大的社交媒体平台之一,Facebook进入支付领域的举措无疑具有重要意义。那么,…

Jetpack Compose:使用PagerIndicator和Infinity实现滚动的HorizontalPager

Jetpack Compose:使用PagerIndicator和Infinity实现滚动的HorizontalPager 可能你已经知道,Jetpack Compose 默认不包含内置的ViewPager组件。然而,我们可以通过在 build.gradle 文件中添加 accompanist 库依赖,将 ViewPager 功能…

有了这套方案,企业降本增效不再是纸上谈兵 (2)

一、生存压力逼近,企业如何应对经济下行残酷挑战? 当前市场经济下滑,客户预算紧缩和投资削减可能导致IT项目推迟或取消,从而直接影响公司收入和盈利能力。各大厂商都在陆续裁员或调整业务,以人力等成本为主的IT公司也必…