你是否总是在无意中挤痘痘而导致自己的脸痘印遍布?这是一个利用你自己电脑摄像头判断自己是否在挤痘痘的算法,让我们一起保持一个干净的面部吧!
我们这里提供了详细的实现方式,遵循以下步骤,您可以在自己电脑的CPU上直接运行本算法并保持实时性。需要注意的是,我们提供了可以直接运行的预训练模型,但为了保证算法的准确性,我们还是建议您采集自己的视频并训练。具体的代码文件参考https://github.com/vefalun/Protect-your-face
1. 预训练模型
您可以直接利用我们训练好的模型进行测试,但受限于博主单薄的数据集(仅包含自身照片、固定的摄像头背景),算法准确性不能得到很好的保证。请运行以下代码实现预训练模型的测试:
python main.py我们的算法运算的原理是:每秒截取一帧图像,如果过去三秒中有两帧都是被判断为手在脸上挤痘痘,则最终跳出弹窗进行提示。
2. 训练自身的网络
首先,录制视频制作自身数据集。我们已经封装好了所有步骤,您仅需要采集自己在挤痘痘的视频和没在挤痘痘的.mp4视频,每种类型视频的总时长在一分钟以上,且两种视频的时长接近,并分别放置在 './data/on_face_video' 和 './data/no_on_face_video'中,并运行:
sh video.sh视频会被自动封装成数据集,接下来只需要对模型进行训练即可。训练的代码如下所示:
python train.py训练结束后可以直接在自己的电脑上直接运行:
python main.py需要注意的是,为了保证最终你的算法的有效性,请在录取视频时保证选取视频的普适性和全面性,祝好运!
版权声明:本文为weixin_44181203原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。