2020机器学习开发经验
前言
之前本人没有接触过机器学习项目开发,所以在暑期找了一个人家的成品,模仿前人的操作。
参考
这是一个硕士的学习经历,是我主要的模仿对象
链接:https://blog.csdn.net/qq_42633819/article/details/81191308
还有一些杂七杂八的,后期赘述。
具体代码本想放在github,但是我把环境也装在项目里了,导致文件巨大()
可道云分享连接:
https://blog.lqhdssr.tk/#s/6LSpXoOA
建议采用IDM等多线程下载工具下载....
操作的具体细节、问题
版本问题
我的开发环境是Anaconda+pycharm,python3.7,python项目所引入的包及版本如下
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)
在宿舍调试的(光照不好)绿框代表识别出这个是我的头。
第二阶段—-采取特定的人脸模型(data_fomart.py)
训练方法是截取视频流中的人脸成分,并且打上标记,(1000张),这里由于当初没有记录采集过程(在家呢),只显示操作结果:
我的1000张头像在名为文件夹1的里面,母上的人脸在名为2的文件夹里面,每人采集1000张照片
第三阶段——模型训练阶段
识别出这是人脸不是我的最终目的,目的是要区分出我的头和其他人的区别。(Load_dataset.py、face_train.py)
首先运行load_dataset.py进行打标记。
再运行face_train.py进行训练。
等待长达近20来分钟的训练结束,进行检验。写博客的时候手贱了,又得白白训练....
第四阶段——模型验证(Face_recognition.py)
运行该python文件。
在最后发现我的头被绿框圈上,并且显示了我的名字的拼音作为特定个体的标识。
第五阶段——分析缺陷
1、不懂具体的算法内核,大量调用谷歌已有成果
2、精准度极差,准确率才50%上下,怀疑是电脑摄像头像素不好导致的
3、有时候人脸换个角度,刁钻一点他就认不出来了...
4、对光照极其敏感 在家好好的 在学校再次测试还得给自己找个好角度,反光.....