2020机器学习开发经验

前言

之前本人没有接触过机器学习项目开发,所以在暑期找了一个人家的成品,模仿前人的操作。

参考

这是一个硕士的学习经历,是我主要的模仿对象

链接:https://blog.csdn.net/qq_42633819/article/details/81191308

还有一些杂七杂八的,后期赘述。

具体代码本想放在github,但是我把环境也装在项目里了,导致文件巨大()
可道云分享连接:
https://blog.lqhdssr.tk/#s/6LSpXoOA
建议采用IDM等多线程下载工具下载....

操作的具体细节、问题

版本问题

我的开发环境是Anaconda+pycharm,python3.7,python项目所引入的包及版本如下

环境.png

环境2.png

TensorFlow1.0和2.0有些function差异过大(改名、改参数),比如:

Faster-rcnn时总会出现K.image_dim_ordering() == ‘tf’的错误,这是由于Keras版本造成的。
将K.image_dim_ordering() == ‘tf’ 改为 K.image_data_format()== ‘channels_last’,若出现’th’,改为’channels_first’

还有TensorFlow要与Keras版本匹配 详情如下

https://docs.floydhub.com/guides/environments/

第一阶段演示(识别这是否是人.py)

演示.jpg

在宿舍调试的(光照不好)绿框代表识别出这个是我的头。

第二阶段—-采取特定的人脸模型(data_fomart.py)

训练方法是截取视频流中的人脸成分,并且打上标记,(1000张),这里由于当初没有记录采集过程(在家呢),只显示操作结果:

我的1000张头像在名为文件夹1的里面,母上的人脸在名为2的文件夹里面,每人采集1000张照片

采集1.jpg

第三阶段——模型训练阶段

识别出这是人脸不是我的最终目的,目的是要区分出我的头和其他人的区别。(Load_dataset.py、face_train.py)

首先运行load_dataset.py进行打标记。

再运行face_train.py进行训练。

魔性训练中.png

等待长达近20来分钟的训练结束,进行检验。写博客的时候手贱了,又得白白训练....

训练精准度.png

第四阶段——模型验证(Face_recognition.py)

运行该python文件。
识别结果.jpg
在最后发现我的头被绿框圈上,并且显示了我的名字的拼音作为特定个体的标识。

第五阶段——分析缺陷

1、不懂具体的算法内核,大量调用谷歌已有成果

2、精准度极差,准确率才50%上下,怀疑是电脑摄像头像素不好导致的

3、有时候人脸换个角度,刁钻一点他就认不出来了...

4、对光照极其敏感 在家好好的 在学校再次测试还得给自己找个好角度,反光.....

最后修改:2024 年 02 月 14 日
如果觉得我的文章对你有用,请随意赞赏