- 2024-11-04
-
回复了主题帖:
【Follow me第二季第3期】简单按键控制LED实验
这样就开始了?
-
加入了学习《【2024 DigiKey创意大赛】- 基于毫米波雷达的生命体征检测及健康监护系统》,观看 【2024 DigiKey创意大赛】- 基于毫米波雷达的生命体征检测及健康监护系统-作品提交
- 2024-11-03
-
发表了主题帖:
【2024 DigiKey 创意大赛】人脸识别门禁系统设计与实现
本帖最后由 Juggernaut 于 2024-11-3 23:22 编辑
一、作品简介
随着科技的不断发展,人们的生活水平得到了极大的提升,与此同时人们对安全的要求也越来越高,门锁一直是一个家庭安全保障的关键性物件,门锁的发展更是经历了从普通物理门锁到密码锁、指纹锁到其它更高级利用生物特征识别技术的门锁,其中人脸识别技术为主的多功能的智能门锁成为智慧家居领域发展中极为重要一环。
本项目主要设计一个人脸识别门禁系统系统,采用星瞳科技的OpenMV4 H7 R2既承担主控功能,也承担摄像头主体,同时外接MG90S舵机用于模拟门锁打开和关闭,通过OpenMV4摄像头进行人脸识别,并检查是否为特定人员,如果是则打开门禁并亮绿灯,相反则红灯闪烁,提示非法用户。
二、系统设计
OpenMV4摄像头承担2个功能,主控和摄像头。首先循环采集图像,比对OpenMV4中已经保存的人脸特征,找出最匹配的人脸,如果是则通知舵机运转,同时打开绿色LED提示开门,否则打开红色LED告警,具体业务流程图如下。
三、项目硬件
OpenMV4摄像头
OpenMV4摄像头是一款小巧,低功耗,低成本的电路板,可以很轻松的完成机器视觉(machine vision)应用。可以通过高级语言Python脚本(准确的说是MicroPython),而不是C/C++。Python的高级数据结构使得很容易在机器视觉算法中处理复杂的输出。
OpenMV4搭载STM32H743VI ARM Cortex M7 处理器,480 MHz,内置1MB RAM和2 MB flash。
MG90S舵机
MG90S是一个360度舵机,本质上都是通过输出pwm波来控制的,舵机的工作原理非常简单,就是通过单片机输出的pwm波来控制,舵机会根据信号的占空比来计算需要转动的角度,而MG90S是不能控制转动的角度,因此它的占空比是用来控制舵机转动的速度和方向。
四、具体实现
本地样本图像库
在OpenMV4摄像头的TF卡中新建singtown文件夹,其中再新建10个人员文件夹,按照序号,第一个人的图片保存到s1文件夹,第二个人的图片保存到s2文件夹…,即可,用于人脸检测比对。
人脸检测
因为OpenMV4性能有限,没法通过nn库使用mobilenet库进行推理,只能使用LBP特征分辨人脸,具体源码如下:
import sensor, time, image
from pyb import Servo
from pyb import LED
sensor.reset() # Initialize the camera sensor.
s1 = Servo(1) # P7
red_led = LED(1)
green_led = LED(2)
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.HQVGA)
sensor.set_windowing((92,112))
sensor.skip_frames(10) # Let new settings take affect.
sensor.skip_frames(time = 5000) #等待5s
NUM_SUBJECTS = 2
NUM_SUBJECTS_IMGS = 20
img = sensor.snapshot()
d0 = img.find_lbp((0, 0, img.width(), img.height()))
#d0为当前人脸的lbp特征
img = None
pmin = 999999
num=0
def min(pmin, a, s):
global num
if a<pmin:
pmin=a
num=s
return pmin
for s in range(1, NUM_SUBJECTS+1):
dist = 0
for i in range(2, NUM_SUBJECTS_IMGS+1):
img = image.Image("singtown/s%d/%d.pgm"%(s, i))
d1 = img.find_lbp((0, 0, img.width(), img.height()))
#d1为第s文件夹中的第i张图片的lbp特征
dist += image.match_descriptor(d0, d1)
pmin = min(pmin, dist/NUM_SUBJECTS_IMGS, s)
print(pmin)
print(num)
if num == 2:
img.draw_rectangle(r)
s1.angle(100) # 控制舵机旋转到100度
green_led.on()
time.sleep(3) # 等待3秒钟
s1.angle(0) # 将舵机归位到0度
green_led.off()
else:
red_led .on()
time.sleep(3) # 等待3秒钟
red_led .off()
舵机控制
直接用OPENMV的Servo库,人脸识别准确的时候旋转100度,然后等3秒再转回去。
s1.angle(100) # 控制舵机旋转到100度
time.sleep(3) # 等待3秒钟
s1.angle(0) # 将舵机归位到0度
LED控制
直接用OPENMV的LED库,人脸识别准确的时候绿灯亮3秒,错误的时候红灯亮3秒。
red_led .on()
time.sleep(3) # 等待3秒钟
red_led .off()
五、运行测试
先来张全家福,因为M90S需要单独5V供电,只能外接电源,PWM控制线接OPENMV4即可。
来个人脸测试,可以看出已经识别特定人脸,同时舵机控制门开,具体看视频。
视频在此:
[localvideo]dad2bc73f78df1b1e3c129dc569e2032[/localvideo]
附件(word+源码):
最后,感谢DigiKey&eeworld组织的活动。
- 2024-10-17
-
回复了主题帖:
【入围名单】Follow me第二季第3期,与得捷一起解锁开发板超能力!
支持楼主
- 2024-09-19
-
回复了主题帖:
【瑞萨RA8D1开发板,基于M85内核的图形MCU测评】+底板拓展板设计
大佬,这个PCB图能否共享下?或者是有现成的底板吗
- 2024-09-03
-
回复了主题帖:
闲来无事,给那些年买的板子来个合影
高端大气
- 2024-08-10
-
回复了主题帖:
【2024 DigiKey 创意大赛】OPENMV4开箱贴
wangerxian 发表于 2024-8-10 15:06
我觉得选电机会好一些,舵机做云台还是差点意思。
大佬有成熟点的 成本可以的方案吗
- 2024-08-09
-
回复了主题帖:
【2024 DigiKey 创意大赛】OPENMV4开箱贴
wangerxian 发表于 2024-8-9 09:29
这个可以有,用舵机还是电机做云台?
计划咸鱼上找个舵机,昨天又看了一个双电机方案,犹豫中还没定
- 2024-08-08
-
回复了主题帖:
【2024 DigiKey 创意大赛】OPENMV4开箱贴
wangerxian 发表于 2024-8-8 13:54
【OPENMV居然还是microUSB,不可思议啊!】估计是好几年前的开发板,话说准备做个什么作品?
2021年的,计划做个人脸跟踪风扇
- 2024-08-07
-
发表了主题帖:
【2024 DigiKey 创意大赛】OPENMV4开箱贴
7月30日2024 DigiKey 创意大赛名单出来后立即下单。
今天早上收到顺丰快递,这速度真不赖。
两个器材,一个是OPENMV4,MCU是SMT32H743VIT6,还有一个是DFROBOT的SEN0101,一个光感传感器加4个LED的小配件。
打开盒子后的照片:
OPENMV居然还是microUSB,不可思议啊!
接上OPENMV看看,不错功能正常。
接下来就是设计实现我的参赛作品了。
最后感谢DigiKey,感谢eeworld!!
- 2024-06-29
-
回复了主题帖:
重拾嵌入式Linux
年份板子
- 2024-06-26
-
回复了主题帖:
免费申请 | 最新一代树莓派(Raspberry Pi 5)!
已经选了其它板子怎么办
- 2024-06-20
-
回复了主题帖:
免费申请|基于STM32H7处理器的机器视觉微控制器板OpenMV4 Cam H7
lightxixi 发表于 2024-6-18 08:44
表单里面选择:102991322,就是它啦~
赞 已申请
- 2024-06-19
-
回复了主题帖:
以旧换新!100套TI MSPM0整装待发,升级你的装备!第一波替换名单来啦
为活动点赞
- 2024-06-18
-
回复了主题帖:
免费申请|基于STM32H7处理器的机器视觉微控制器板OpenMV4 Cam H7
所选物料型号里面没这个
-
回复了主题帖:
原创,提问,答疑都有机会获奖!EEWorld月月有奖,等你参与!
热烈响应!!!!
- 2024-06-17
-
回复了主题帖:
免费申请|基于STM32H7处理器的机器视觉微控制器板OpenMV4 Cam H7
不错不错
- 2024-06-11
-
回复了主题帖:
端午节换的礼品
厉害了
- 2024-05-17
-
回复了主题帖:
【2023 DigiKey大赛参与奖】开箱帖 Raspberry Pi 5 4G
不错不错不错不错不错
- 2024-05-13
-
回复了主题帖:
在全志H616核桃派开发板上实现超声波传感器测距
nice