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

python基于LBP+SVM开发构建基于fer2013数据集的人脸表情识别模型是种什么体验,让结果告诉你...

本身LBP+SVM是比较经典的技术路线用来做图像识别、目标检测,没有什么特殊的地方

fer2013数据集在我之前的博文中也有详细的实践过,如下:

《fer2013人脸表情数据实践》 系统地基于CNN开发实现

《Python实现将人脸表情数据集fer2013转化为图像形式存储本地》 一键复制代码即可实现原始csv文件转储本地图像

LBP+SVM和fer2013组合起来去使用就出现了有意思的东西了,本身LBP提取出来的特征维度就很大一般都是将近2w维,然后fer2013数据集又有接近4w的数据量,这就导致SVM模型最终的训练极度膨胀缓慢。

我是昨天回去的时候放在云服务器上面跑的,但是隔了4个小时还没有结束就休息了,一早醒来看到结果出来了,就是觉得简单的事情做得挺波折,这个还是服务器的算力计算得到的,如果是普通的PC机估计就更慢了吧。

简单看下:

 整体项目比较精简,train.json表示训练数据提取出来的LBP向量存储得到的文件,test.json表示测试数据提取出来的LBP向量存储得到的文件。mlModel.py是源代码,实现了数据加载,SVM模型训练和测试评估整套流程。results是存储下来的SVM模型和评估指标结果文件。

当我早上看到这个results体积的时候着实惊呆了,从来还没有看到过SVM模型这么这么的大,进入results目录看下,详情如下:

 一个基于LBP特征训练出来的SVM模型居然达到了恐怖的3+GB。

但是从评估结果上来看结果却是比较惨淡的,如下:

 这里也统计了单个类别下的详情:

"angry": {"accuracy": 0.41541755888650969,"F_value": 0.08385562999783879,"precision": 0.14285714285714286,"recall": 0.05934536555521567},"disgust": {"accuracy": 0.3392857142857143,"F_value": 0.08444444444444444,"precision": 0.16666666666666667,"recall": 0.05654761904761905},"fear": {"accuracy": 0.37298387096774196,"F_value": 0.0776169498636459,"precision": 0.14285714285714286,"recall": 0.053283410138248849},"happy": {"accuracy": 0.646927374301676,"F_value": 0.11223105252955999,"precision": 0.14285714285714286,"recall": 0.09241819632881086},"neutral": {"accuracy": 0.41186161449752886,"F_value": 0.08334722453742291,"precision": 0.14285714285714286,"recall": 0.058837373499646978},"sad": {"accuracy": 0.27565084226646249,"F_value": 0.06173898130680843,"precision": 0.14285714285714286,"recall": 0.03937869175235178},"surprise": {"accuracy": 0.6602409638554216,"F_value": 0.11362222682977399,"precision": 0.14285714285714286,"recall": 0.09432013769363167}

整体来看:效果比较一般,这个还是比较适合用深度学习去做的,感觉这样的数据体量和状态下SVM很难有较好的效果!

http://www.lryc.cn/news/67849.html

相关文章:

  • antd——实现不分页的表格前端排序功能——基础积累
  • 案例11:Java超市管理系统设计与实现开题报告
  • @JsonAlias 和 @JsonProperty的使用
  • Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板
  • 【K8s】openEuler23操作系统安装Docker和Kubernetes
  • 异常数据检测 | Python实现ADTK时间序列异常数据检测
  • 软件测试之jmeter性能测试让你打开一个全新的世界
  • Redis数据结构——动态字符串、Dict、ZipList
  • ipad可以用别的品牌的手写笔吗?便宜的ipad电容笔
  • 【数据库】关于SQL SERVER的排序规则的问题分析
  • 算法修炼之练气篇——练气十三层
  • ChatGPT:AI不取代程序员,只取代的不掌握AI的程序员
  • 数字革命下的产品:百数十年变迁的启示与思考。
  • 部门新来一00后,给我卷崩溃了...
  • 使用Spring Boot和Docker构建可伸缩的微服务架构,应对增长的业务需求
  • 计算机组成原理基础练习题第四章
  • 浅谈Gradle构建工具
  • 如何获取和制作免费的icon图标素材
  • 【MySQL】MySQL索引--聚簇索引和非聚簇索引的区别
  • 如何使用 SVG.js 中的一些相关方法来创建、设置和操作 image 元素
  • 展会进行时!5月16-18日箱讯与您相约中国航交会
  • CMake:递归检查并拷贝所有需要的DLL文件
  • python常见问题及解决方案
  • JUC之Synchronized与Lock
  • 动态规划理论基础
  • Redis的数据类型
  • vue3鼠标经过显示按钮
  • 【2023华为OD笔试必会25题--C语言版】《18 最短木板长度》——数组
  • yolov5车道线检测+测距(碰撞检测)
  • 微服务学习笔记--(Gateway网关)