这是跟小组成员一起做的单片机课程设计,下面是我们小组的报告
基于STM32的人脸识别
摘 要
此设计以STM32F407单片机为处理核心,通过OV7670摄像头模块采集人脸图像,并通过基于主成分分析法的特征脸识别对采集到的图像与预先通过MATLAB训练的得到的特征脸进行欧氏距离的计算,再结合KN近邻法求得最大可能性的识别结果以汉字名字的形式在OLED显示屏上显示出来。
关键词:STM32 OLED显示 OV7670 特征脸识别 主成分分析
一、背景及意义
人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术,通常也叫做人像识别、面部识别。目前人脸识别应用很广泛,从国家安全领域,公众安全领域,计算机交互领域到身边刷脸的自动取款机,人脸解锁的苹果手机,人类已经开始走向“刷脸时代”。单片机则广泛地应用于控制等领域。基于此,将二者结合起来研究十分有必要。
其次,人脸识别是一个高维的模式识别问题,1987年Sirovich和Kirby为减少人脸图像的表示维数采用了K.L变换。他们提出把人脸图像看作一个高维向量,每一个象素都是该高维向量的一个组成部分,然后利用K-L变换投影得到相应的表征人脸图像特征的特征空间。尽管Sirovich和Kirby没有把这种方法用到人脸识别,但他们已经提出将人脸图像用特征向量的线性组合来描述的思想。1991年Matthew Turk和Alex Pentland最早将PCA(Principal Component Analysis)应用于人脸识别,进一步提出了“特征脸(Eigenface)”的概念。
PCA是图像压缩中的一种最优正交变换,用于统计特征提取构成了子空间法模式识别的基础,在实际应用中使用PCA做人脸识别时可以减少计算量,提高识别率。
二、硬件设计
2.1、OLED与STM32的连接
OLED12864采用IIC协议与STM32F407连接,此时只需四个引脚(VCC、GND、SDA、SCL)即可实现通信。电路图如图二:
图一 OLED数据传送时钟
图二 OLED模块电路图
2.2、OV7670模块与STM32的连接
OV7670摄像头存储图像数据的过程为:等待OV7670同步信号----FIFO
写指针复位----FIFO写使能----等待第二个OV7670同步信号----FIFO写禁止。
OV7670摄像头读取图像数据的过程:FIFO读指针复位----给FIFO读时钟(FIFO_RCLK---