Skip to content

从摄像头或者图片中识别人物是否带口罩,使用CNN&迁移学习训练的模型

Notifications You must be signed in to change notification settings

kailanguage/FaceMaskDetect

Repository files navigation

程序说明

仅供参考 CSDN程序运行截图 https://blog.csdn.net/qq_41548460/article/details/112483173

学习资料

文档

Keras中文文档:https://keras.io/zh/

机器学习速成课:https://developers.google.com/machine-learning/crash-course

TensorFlow学习教程:https://www.tensorflow.org/tutorials

TensorFlow Python API:https://www.tensorflow.org/api_docs/python/tf

数据集

TensorFlow datasets:https://www.tensorflow.org/datasets

Kaggle datasets:https://www.kaggle.com/datasets

免费运算资源

Google Colab: https://colab.research.google.com

Kaggle: https://www.kaggle.com/competitions

Android 机器学习开发样例:Image_Classification、Object_Detection、Digit_calssifer

分析一下设计和实现该实践系统需要几个阶段?

第一阶段:学习深度学习的基本知识原理。熟悉相关名词的意义和作用,掌握常用的神经网络,如CNN;掌握Python编程以及使用Tensorflow进行深度学习。查阅相关资料文档视频,如Keras中文文档、Google机器学习速成课、TensorFlow学习教程、TensorFlow Python API、Android开发相关等。

第二阶段:确定方向。考虑到成果转化的实用价值和时代背景意义,确定了基于Android和CNN的人脸口罩检测。在kaggle网站上下载数据集。搭建相关开发环境,使用jupyter notebook来编码,基于tensorflow2.4开发。

第三阶段:构建最优模型。首先从TensorFlow官网提供的猫识别案例入手,这与识别人是否带口罩十分相似。该案例在不使用迁移学习之前的模型识别准确率可达88~92%,所以我们可在此基础上进行借鉴学习。通过Google colab提供免费的深度学习平台来验证batch size、epoch、优化器、学习率、损失函数、dropout的不同以及增加或减少神经网络层数对模型的准确率的影响,并找出人脸口罩检测的最优模型。对比传统的参数调优,我们后面采用了迁移学习来达到了最高精确率。

第四阶段:模型应用。设置Android界面,编写调用系统相机和选择照片的代码,引入相关依赖,将人脸口罩检测的最优模型转换成tflite格式,导入到Android studio项目中,裁剪图片,转换格式,将图片的字节流传入推断器,计算其推断时间、检测的准确率来评估模型的优良。

第五阶段:模型优化。基于预训练的模型来迁移学习,继续寻找最优模型,之后将模型进行量化(优化),能大大缩小模型体积,缩短模型推断时间,可应用于实时检测,最后获取相机实时预览,对每一帧进行推断。

About

从摄像头或者图片中识别人物是否带口罩,使用CNN&迁移学习训练的模型

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages