一种面向智能设备的手势唤醒硬件加速器

专利2023-06-15  133



1.本发明属于集成电路技术领域,具体涉及一种面向智能设备的手势唤醒硬件加速器。


背景技术:

2.随着技术的进步,智能设备遍布生活中的方方面面,例如手机、电子手表、iot产品等。但是公共的智能设备一般使用触控式的方式进行控制,这些智能设备会带来严重的公共卫生安全隐患,很多的传染性疾病是通过间接接触的形式造成的,因而无接触的手势控制是解决智能设备造成的间接接触问题的一种重要的手段。
3.智能终端设备对于功耗要求极高,在不工作时经常需要保持低功耗的待机状态,必要时通过一定的方式将系统唤醒,手势唤醒是一种简单、快捷、安全的唤醒方式。现有技术中,手势唤醒方式往往比较单一,导致经常误唤醒设备,造成不必要的功耗浪费。


技术实现要素:

4.为了克服现有技术的不足,本发明提出一种面向智能设备的手势唤醒硬件加速器,以期实现复杂度低,资源消耗少,功耗低,可靠性强的手势唤醒硬件加速器,该加速器可以广泛应用于移动端、iot、可穿戴设备等智能终端领域。
5.本发明提供的面向智能设备的手势唤醒硬件加速器,其结构包括图像预处理模块、配置参数模块、肤色检测唤醒模块、运动检测唤醒模块和时钟门控模块;其中:
6.所述图像预处理模块,用于接收来自摄像头采集的图像,根据颜色域转化公式(1)、(2)、(3)将rgb图像转化为ycrcb:
7.y=(77*r+150*g+29*b)>>8,
ꢀꢀꢀ
(1)
8.cr=(-43*r-85*g+128*b)>>8+128,
ꢀꢀꢀ
(2)
9.cb=(128*r-107*g-21*b)>>8+128,
ꢀꢀꢀ
(3)
10.然后,根据肤色区域在crcb的分布情况:
11.skin
color
=(133《cr《173)&&(77《cb《127),
ꢀꢀꢀ
(4)
12.将ycrcb图像转化为二值肤色图像,式(4)中“&&”表示逻辑与操作,二值肤色图像中肤色值为1,非肤色值为0;图像预处理模块发送二值肤色图像至肤色检测唤醒模块和运动检测唤醒模块;
13.所述配置参数模块,接收到智能设备内中央处理器的配置指令和配置数据,根据其中的序列号,将配置数据中的最小肤色阈值发送到肤色检测唤醒模块,将配置数据中的最小运动阈值发送到运动检测唤醒模块,同时将配置数据中的唤醒方式选择信号发送至时钟门控模块;所有配置参数操作完成后,产生配置完成信号并发送至时钟门控模块;
14.所述肤色检测唤醒模块,接收图像预处理模块发送的二值肤色图像,统计一帧图像中的肤色像素点个数,与配置参数模块发送的最小肤色阈值作比较,若肤色像素点个数大于最小肤色阈值,即肤色唤醒有效;肤色检测唤醒模块发送肤色唤醒有效信号至时钟门
控模块;
15.所述运动检测唤醒模块,接收图像预处理模块发送的二值肤色图像,将原始320
×
240像素大小的图像下采样成20
×
15像素大小的图像:顺序检索所有像素点时,下采样后保留的像素行坐标从7开始按步长16来递增,超过总行数(320)后重置为7,下采样后保留的像素列坐标从7开始按步长16来递增,超过总列数(240)后重置为7;将要保留的像素点寄存至下采样图像寄存器pl_image_last的最低位中;然后计算前后两帧下采样图像的差分图像:首先标注第一帧图像,当不是第一帧图像时,将pl_image_last中的最高位与当前帧中对应的像素点作异或操作,并累计计数异或的结果,统计得到差分图像不同像素点的个数difference_cnt,与配置参数模块发送的最小运动阈值作比较,若difference_cnt大于最小运动阈值,即运动唤醒有效;运动检测唤醒模块发送运动唤醒有效信号至时钟门控模块;
16.所述时钟门控模块,接收配置参数模块发送的唤醒方式选择信号,根据唤醒方式选择信号单独使用肤色检测唤醒模块发送的肤色唤醒有效信号,或者单独使用运动检测唤醒模块发送的运动唤醒有效信号,或者将二者相与的结果作为系统唤醒信号,再或者一直让系统处于唤醒状态;在接收到配置参数模块发送的配置完成信号后,将系统唤醒信号和系统主时钟作与操作,产生门控时钟,否则系统主时钟一直有效;时钟门控模块发送门控时钟至智能设备中央处理器。
17.与现有技术相比,本发明的有益技术效果体现在:
18.(1)预处理模块将输入的rgb图像转化为ycrcb后再通过肤色提取的方式分离出肤色与背景,将整个图像转化为二值黑白图像表示;该方式能够减少在计算过程中的数据搬运量,加快计算过程,降低功耗,提升整个芯片的性能;
19.(2)可配置的肤色检测唤醒方式中的肤色阈值和运动检测唤醒方式中的唤醒阈值;该方式能够增强了唤醒系统在不同场景中的适应能力,提高了唤醒准确率;
20.(3)运动检测唤醒模块在将输入320
×
240像素大小的图像下采样成20
×
15像素大小的图像后才进行图像的差分处理;该方式能够降低计算量,节省硬件资源,加快计算过程,降低功耗;
21.(4)可配置多种唤醒方式,其中肤色加运动双重检测可以有效避免系统误唤醒;该方式能够降低不必要的功耗浪费。
附图说明
22.图1为面向智能设备的手势唤醒加速器系统图。
23.图2为预处理模块的图像变化。
24.图3配置参数模块结构图示。
25.图4为为肤色检测唤醒模块结构图示。
26.图5为运动检测唤醒模块结构图示。
27.图6为时钟门控模块模块结构图示。
具体实施方式
28.本实例中,手势唤醒加速器系统图如图1所示,结构包括图像预处理模块、配置参数模块、肤色检测唤醒模块、运动检测唤醒模块和时钟门控模块;具体工作流程如下:
29.首先,智能设备内中央处理器rocket通过gpio接口向配置参数模块发送配置指令和配置数据:当端口号为23的gpio接口电平产生一次上升沿跳变时,配置计数器config_num从0开始加1;当config_num小于16时,每检测到一次前述上升沿跳变,就会从端口号为22的gpio接口处读取1bit数据,以移位寄存器的形式保存至位宽为16bit的最小肤色阈值寄存器skin_num的最低位中,其余比特位顺次往高位移动;当config_num大于等于21时,每检测到一次前述上升沿跳变,就会从端口号为22的gpio接口处读取1bit数据,以移位寄存器的形式保存至位宽为8bit的最小运动阈值寄存器motion_num的最低位中,其余比特位顺次往高位移动;配置参数模块从端口号为28的gpio和端口号为27的gpio接口处分别读取1bit数据组成2bit数据chip_valid_choose(端口号为28的gpio的数据为高位),根据chip_valid_choose判断唤醒方式:00表示单独肤色检测唤醒,01表示单独运动检测唤醒,10表示肤色检测和运动检测组合唤醒,11表示一直保持唤醒状态。配置数据中的各项配置参数由实验经验所得,其中skin_num设置为800个像素点,motion_num设置为4个像素点,唤醒方式可分别选择:单独肤色检测唤醒、单独运动检测唤醒、肤色检测和运动检测组合唤醒或者一直保持唤醒;配置参数模块配置寄存器完成后,会分别将配置数据中的最小肤色阈值skin_num发送到肤色检测唤醒模块、配置数据中的最小运动阈值motion_num发送到运动检测唤醒模块,同时将配置数据中的唤醒方式选择信号chip_valid_choose发送至时钟门控模块,如图3所示,所有配置参数操作完成后,将配置完成信号chip_config_end拉高并发送至时钟门控模块。
30.在配置完成之后,唤醒工作流程如下:
31.摄像头采集的rgb565格式图像数据首先进入图像预处理模块,被图像预处理模块转换成rgb888格式,转换过程中缺少的比特位补零;图像预处理模块再根据如下众所周知的颜色域转化公式,将rgb888图像数据转化为ycrcb:
32.y=(77*r+150*g+29*b)>>8,
33.cr=(-43*r-85*g+128*b)>>8+128,
34.cb=(128*r-107*g-21*b)>>8+128;
35.然后,根据肤色区域在crcb的分布情况:
36.skin
color
=(133《cr《173)&&(77《cb《127);
37.将ycrcb图像转化为二值肤色图像,式(4)中“&&”表示逻辑与操作,二值肤色图像中肤色值为1,非肤色值为0;单个像素从16bit转化为1bit的二值图像,降低了计算的数据量,并且可以分离手势和背景,如图2所示;图像预处理模块发送二值肤色图像至肤色检测唤醒模块和运动检测唤醒模块。
38.然后,肤色检测唤醒模块接收图像预处理模块发送的二值肤色图像过程中,二值肤色图像的传输方式为一次传输数据位宽为16bit的16个连续像素点,一帧图像的大小为320
×
240像素;肤色检测唤醒模块每接收到一个16bit数据,就会通过将16bit数据中所有比特相加的方式来统计这16个像素点中的肤色像素点个数;接收完一帧图像数据之后,将每组16bit数据中的肤色像素点个数累加求和,即是一帧图像中的肤色像素点个数skin_count;然后将skin_count与配置参数模块发送的最小肤色阈值skin_num作比较,若skin_count大于skin_num,即肤色唤醒有效,拉高肤色唤醒有效信号skin_valid;肤色检测唤醒模块发送肤色唤醒有效信号skin_valid至时钟门控模块;如图4所示,在待机模式下仅会运
行极少电路,唤醒机制可以保证芯片能够在低功耗基础上长期待机工作,延长工作时间。
39.与肤色检测唤醒模块同时,运动检测唤醒模块接收图像预处理模块发送的二值肤色图像过程中,二值肤色图像的传输方式为一次传输数据位宽为16bit的16个连续像素点,一帧图像的大小为320
×
240像素;运动检测唤醒模块首先会将320
×
240像素大小的图像下采样成20
×
15像素大小的图像:运动检测唤醒模块每接收一个16bit数据,列坐标index_col从0开始加1,超过19后重置为0;index_col每重置为0一次,行坐标index_row从0开始加1,超过239后重置为0。同时,采样点行坐标samp_y初始化为7,每当index_row与samp_y相等时,拉高采样使能信号sample_en;当sample_en是高电平时,将接收到的每个16bit数据中的第8位数据以移位寄存器的形式保存至位宽为300bit的下采样图像寄存器pl_image_last的最低位中,其余比特位顺次往高位移动;每采样完一行像素后,index_row与samp_y将不再相等,此时拉低采样使能信号sample_en,采样点行坐标samp_y加16,index_row将继续递增直到下一次index_row与samp_y相等时采样下一行像素;当samp_y超过239后重置为7,至此,一帧图像的下采样工作已完成。然后,运动检测唤醒模块会将下一帧下采样后的图像与上一帧下采样后的图像做差分处理:运动检测唤醒模块首先会标注第一帧图像,当下采样的不是第一帧图像时,每当需要将1bit像素数据存入pl_image_last之前,先将pl_image_last中的最高位与当前帧中这1bit像素作异或操作,并累加异或操作的结果,存入差分计数器difference_cnt中;当这一帧图像全部下采样完成之后,difference_cnt中的数据即为前后两帧下采样图像的差分结果,将difference_cnt与配置参数模块发送的最小运动阈值motion_num作比较,比较完成之后清零difference_cnt;若比较结果为difference_cnt大于motion_num,即运动唤醒有效,拉高运动唤醒有效信号motion_valid;如图5所示,运动检测唤醒模块发送运动唤醒有效信号motion_valid至时钟门控模块。
40.最后,时钟门控模块接收配置参数模块发送的唤醒方式选择信号chip_valid_choose后,根据chip_valid_choose数值选择:00表示单独使用肤色检测唤醒模块发送的肤色唤醒有效信号skin_valid作为系统唤醒有效信号chip_valid,01表示单独使用运动检测唤醒模块发送的运动唤醒有效信号motion_valid作为系统唤醒有效信号chip_valid,10表示将二者相与的结果作为系统唤醒有效信号chip_valid,11表示一直让系统处于唤醒状态,chip_valid一直拉高;当接收到配置参数模块发送的配置完成信号chip_config_end为高电平时,时钟门控模块将系统唤醒有效信号chip_valid和系统主时钟clock作位与操作产生门控时钟rocket_clk;如图6所示,时钟门控模块发送门控时钟rocket_clk至智能设备中央处理器。
41.在chip_valid_choose配置不为11的情况下:当摄像头内部无肤色物体时,系统不会被唤醒;当人手处于摄像头范围内保持不动时,若chip_valid_choose配置为00,系统会被唤醒;若chip_valid_choose配置为01,系统不会被唤醒;若chip_valid_choose配置为10,系统不会被唤醒。当人手处于摄像头范围内并适当移动后,若chip_valid_choose配置为00,系统会被唤醒;若chip_valid_choose配置为01,系统会被唤醒;若chip_valid_choose配置为10,系统会被唤醒;当非肤色物体处于摄像头范围内并适当移动后,系统不会被唤醒。结果表明,本发明唤醒电路可以满足绝大多数智能设备使用场景需求;当chip_valid_choose配置为00时,人手处于摄像头范围内,无论人手是否移动都会唤醒系统,这样就可能导致误唤醒系统,造成不必要的功耗浪费;当chip_valid_choose配置为01和10时,
人手不移动不会唤醒系统;因此,本发明采用可配置的唤醒方式能够灵活适应不同场景的工作需求。

技术特征:
1.一种面向智能设备的手势唤醒硬件加速器,其特征在于,结构包括图像预处理模块、配置参数模块、肤色检测唤醒模块、运动检测唤醒模块和时钟门控模块;其中:所述图像预处理模块,用于接收来自摄像头采集的图像,根据颜色域转化公式(1)、(2)、(3)将rgb图像转化为ycrcb:y=(77*r+150*g+29*b)>>8,
ꢀꢀ
(1)cr=(-43*r-85*g+128*b)>>8+128,
ꢀꢀ
(2)cb=(128*r-107*g-21*b)>>8+128,
ꢀꢀ
(3)然后,根据肤色区域在crcb的分布情况:skin
color
=(133<cr<173)&&(77<cb<127),
ꢀꢀ
(4)将ycrcb图像转化为二值肤色图像,式(4)中“&&”表示逻辑与操作,二值肤色图像中肤色值为1,非肤色值为0;图像预处理模块发送二值肤色图像至肤色检测唤醒模块和运动检测唤醒模块;所述配置参数模块,接收到智能设备内中央处理器的配置指令和配置数据,根据其中的序列号,将配置数据中的最小肤色阈值发送到肤色检测唤醒模块,将配置数据中的最小运动阈值发送到运动检测唤醒模块,同时将配置数据中的唤醒方式选择信号发送至时钟门控模块;所有配置参数操作完成后,产生配置完成信号并发送至时钟门控模块;所述肤色检测唤醒模块,接收图像预处理模块发送的二值肤色图像,统计一帧图像中的肤色像素点个数,与配置参数模块发送的最小肤色阈值作比较,若肤色像素点个数大于最小肤色阈值,即肤色唤醒有效;肤色检测唤醒模块发送肤色唤醒有效信号至时钟门控模块;所述运动检测唤醒模块,接收图像预处理模块发送的二值肤色图像,将原始320
×
240像素大小的图像下采样成20
×
15像素大小的图像:顺序检索所有像素点时,下采样后保留的像素行坐标从7开始按步长16来递增,超过320后重置为7,下采样后保留的像素列坐标从7开始按步长16来递增,超过240后重置为7;将要保留的像素点寄存至下采样图像寄存器pl_image_last的最低位中;然后计算前后两帧下采样图像的差分图像:首先标注第一帧图像,当不是第一帧图像时,将pl_image_last中的最高位与当前帧中对应的像素点作异或操作,并累计计数异或的结果,统计得到差分图像不同像素点的个数difference_cnt,与配置参数模块发送的最小运动阈值作比较,若difference_cnt大于最小运动阈值,即运动唤醒有效;运动检测唤醒模块发送运动唤醒有效信号至时钟门控模块;所述时钟门控模块,接收配置参数模块发送的唤醒方式选择信号,根据唤醒方式选择信号单独使用肤色检测唤醒模块发送的肤色唤醒有效信号,或者单独使用运动检测唤醒模块发送的运动唤醒有效信号,或者将二者相与的结果作为系统唤醒信号,再或者一直让系统处于唤醒状态;在接收到配置参数模块发送的配置完成信号后,将系统唤醒信号和系统主时钟作与操作,产生门控时钟,否则系统主时钟一直有效;时钟门控模块发送门控时钟至智能设备中央处理器。

技术总结
本发明属于集成电路技术领域,具体为一种面向智能设备的手势唤醒硬件加速器。本发明手势唤醒硬件加速器电路包括:图像预处理模块、配置参数模块、肤色检测唤醒模块、运动检测唤醒模块和时钟门控模块;该加速器将RGB图像转化为YCrCb图像,并根据YCrCb图像提取二值肤色图像,再对二值图像进行肤色像素点计数处理,同时对二值图像进行下采样后再进行帧差分。本发明可有效地降低片上存储容量,降低数据搬运功耗,提升整个芯片的能效比;有效避免系统误唤醒;并提高唤醒准确率;可以广泛应用于IoT、可穿戴设备等智能设备。可穿戴设备等智能设备。可穿戴设备等智能设备。


技术研发人员:韩军 王松 张永亮 李强 曾晓洋
受保护的技术使用者:复旦大学
技术研发日:2022.07.25
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3277.html

最新回复(0)