像素只有210*120,不算特别清晰,但看清面部特征,还是没什么问题的。
其中,同班级里重名的情况,都在姓名后标记着数字1、2……
江寒猜想,这可能是输入报名表的顺序。
接下来要做的,就是在临时文件1里,找到每张照片对应的人。
这很简单,照片的文件名就是姓名,轻松就能和表格里的名字对上。
在解决了数量不算很多的同班重名问题后,就生成了一个照片索引,将每一张照片和报名序号一一对应上了。
然后,是判断性别,填入新《报名信息表》对应的单元格里。
这一步,按照高老师的想法,就是一个笨功夫,用眼睛去看,然后一个一个敲进去。
这十分麻烦,而且太没效率。
江寒希望能找个轻巧的办法,能更快、更好的完成这一步。
那么,这样的办法真的有吗?
是的。
江寒毕竟搞过机器学习,编程思维有点不一样。
高老师那样的普通程序员,也能做到刚才那些步骤。
但江寒接下来的操作,就是他的思维盲区了。
机器学习里,有多种算法,都可以辅助完成这样的任务。
其中江寒最擅长的,自然是人工神经网络。
人工神经网络也分为好多种类。
比如CNN,也就是卷积神经网络,是最擅长图形识别的;
而RNN,也就是循环神经网络,比较适合语音识别、自然语言理解……
如果采用人工神经网络,哪怕不出动CNN,只用多层神经网络,也就是所谓的“深度学习”,也可以非常完美地解决这个问题。
但江寒琢磨了一下,还是放弃了这个想法。
一旦泄露出去,他很可能会有麻烦。
因为这些技术的来源,他根本没法解释。
技术跨度太大了。
好吧,安全第一,先用“感知机”凑合一下。
哪怕准确率低点,也无所谓了。
江寒现在唯一可以拿出来的,就是“单层感知机”。
这种技术只能解决二分类问题,并且还要求线性可分。
好在当前所面临的问题,这两个要求正好都符合。
江寒重生前,做过一个实验,用“单层感知机”识别手写数字,应用场景与现在差不多。
效果也还过得去。
所以,看照片识别男女的任务,完全可以使用“单层感知机”解决。
说起来,这可能是神经网络技术,在这个世界的第一次实战?
江寒前几天写的论文里,就有“单层感知机”的代码,稍微改动了一下,就能用上了。
研究机器学习,首选语言是Python,语法简单,开发效率高,不容易出错,也不用关心底层如何实现。
不过,这篇论文的代码,实在太简单,用什么都一样。
所以,江寒使用了最熟悉的C++。
代码略……
(PS:绝对不是空白太小写不下。)
https://zerifeisheng.com/book/7208/1890919_2.html