CN112861640B - 一种面向智能终端领域的动态手势识别硬件加速器 - Google Patents
一种面向智能终端领域的动态手势识别硬件加速器 Download PDFInfo
- Publication number
- CN112861640B CN112861640B CN202110050957.7A CN202110050957A CN112861640B CN 112861640 B CN112861640 B CN 112861640B CN 202110050957 A CN202110050957 A CN 202110050957A CN 112861640 B CN112861640 B CN 112861640B
- Authority
- CN
- China
- Prior art keywords
- dest
- module
- instruction
- image
- frame number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明属于集成电路技术领域,具体为一种面向智能终端领域的动态手势识别硬件加速器。本发明电路包括:图像预处理模块,待机模块,RISCV处理器,动态手势识别协处理器;该加速器采用低数学复杂度手势识别算法,将RGB图像转化为YCrCb图像,并根据YCrCb图像提取二值肤色图像,再对二值图像进行帧差分,分离出运动的手势图像。该加速器采用中值滤波电路去除噪声干扰后计算差分图像的手势重心,通过追踪重心的位移得到手势移动方向,具有优越的识别效果,可广泛应用于无接触式智能终端设备;此外该加速器根据图像输入的过程,以及滤波电路的卷积核大小采用逐行代替的帧差分过程,可有效的降低存储,从而降低资源消耗和功耗。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种面向智能终端领域的动态手势识别硬件加速器。
背景技术
随着技术的进步,智能终端遍布生活中的方方面面,例如手机、自动售货机、电子手表、IoT产品等。但是公共的智能终端一般使用触控式的方式进行控制,这些智能终端会会带来严重的公共卫生安全,很多的传染性疾病是通过间接接触的形式造成的,因而无接触的手势控制是解决智能终端造成的间接接触问题的一种重要的手段。
手势识别一般分为静态手势识别和动态手势识别,而对于智能终端实际中最常用的一般为动态手势识别。但是智能终端对于功耗要求极高,在低功耗的基础上识别精度要能达到90%以上的对于设计来说是一种巨大的挑战。现有技术中,动态手势识别一般采用光流法,历史运动图像,GCN,3D-CNN等方法,然而这些方法算法复杂度高,资源消耗高,因而对于功耗的要求也就大幅上升。
发明内容
为了克服现有技术的不足,本发明提出一种面向智能终端领域的动态手势识别硬件加速器。以期能够实现算法复杂度低,资源消耗少,功耗低,可靠性强的动态手势识别硬件加速器,该加速器可以广泛应用于移动端、IoT、可穿戴设备等智能终端领域。
本发明提供的面向智能终端领域的动态手势识别硬件加速器,其结构包括:图像预处理模块,2KB FIFO,RISCV处理器和动态手势识别协处理器;其中:
所述RISCV处理器,由闪存、串口、摄像机、RoCC、总线、rocket核、一级数据缓存、一级指令缓存组成;其中,闪存中保存编译C产生的汇编指令,系统启动后,首先rocket核初始化,然后根据指令不断地访问4KB一级指令缓存,读取下一条指令;然而当一级指令缓存miss后,一级指令缓存会经过spi接口读取闪存保存的汇编代码并反馈给rocket核;rocket核获取指令后,根据指令首先通过gpio端口配置摄像机,设置摄像机输出图像大小为320x240,帧频为30帧/秒;其后,rocket核通过RoCC向动态手势识别协处理器发送配置指令,设置参数,包括:最小帧数、横向最小位移、纵向最小位移、横向最大位移、纵向最大位移;配置完成后,rocket核会通过总线读取2KBFIFO的empty信号,当empty=0时,此时FIFO中含有数据,rocket核会通过gpio和总线读取数据并传输至12KB一级数据缓存,一级数据缓存主要保存5行的帧差分图像和当前图像;每读取一行数据以后,rocket核通过RoCC向动态手势识别协处理器发送执行滤波指令,当完整的一张图像加载完毕后,RISCV处理器通过RoCC向动态手势识别协处理器发送重心计算指令;最后发送输出指令,动态手势识别协处理器会根据该指令传输输出方向direction;RISCV处理器接收到direction会将其发送至UART模块进行输出;
所述图像预处理模块,用于接收来自摄像机采集的图像,根据颜色域转化公式:
Y=(77*R+150*G+29*B)>>8,
Cr=(-43*R-85*G+128*B)>>8+128,
Cb=(128*R-107*G-21*B)>>8+128,
将RGB图像转化为YCrCb;然后根据肤色区域在CrCb的分布情况:
skincolor=(133<Cr<173)&&(77<Cb<127),
将YCrCb图像转化为二值肤色图像,二值肤色图像中肤色值为1,非肤色值为0;图像预处理模块发送二值肤色图像至2KBFIFO;
所述2KBFIFO,用于接收并保存图像预处理模块发送的二值肤色图像,并拉低传输至RISCV处理器的empty信号;当2KBFIFO中所有二值肤色图像传输至RISCV处理器,2KBFIFO中的empty信号会拉高;
所述动态手势识别协处理器,包括:译码模块,执行模块和手势跟踪识别模块;其中:
所述译码模块由配置指令寄存器、重心指令寄存器、滤波指令寄存器以及输出指令寄存器构成;
配置指令寄存器接收到RISCV处理器的配置指令,根据其中的序列号将配置参数config(包括最小帧数、最大帧数、横向最小位移、纵向最小位移、横向最大位移、纵向最大位移)发送到手势跟踪识别模块;滤波指令寄存器接收到RISCV处理器的滤波指令,对这些进行译码得到初始地址blur_addr、blur_start=1、Row_addr和Col_addr并发送至执行模块;重心指令寄存器接收到重心计算指令,对其译码并发送centroid_start=1至重心计算模块;输出指令寄存器接收到输出指令,对输出指令进行译码并发送读取使能read至手势跟踪识别模块,并在下一周期发送读取的direction至RISCV处理器;
所述执行模块包括滤波操作模块、重心计算模块;
滤波操作模块接收blur_addr、blur_start、Row_addr和Col_addr后,通过RoCC读取一级数据缓存的帧差分图像,在帧差分图像左右两边添加2列0值;对最左边5*5的图像块进行求和得到滤波总和,当滤波总和超过12输出为1,否则为0;其后按步长为1不断向右滑动最终得到一行输出;滤波操作对该行输出进行重心累计:统计输出内非0值的横纵坐标总和(sum_x,sum_y)以及非0值个数(sum_skin),其中横纵坐标是由Row_addr和Col_addr进行计算;滤波操作模块发送非0值的横纵坐标总和以及非0值个数至重心计算模块;
重心计算模块接收到centroid_start、sum_x、sum_y以及sun_skin,若centroid_start为高电平,则重心坐标C(x,y)为sum_x/sun_skin与sum_y/sun_skin;若centroid_start为低电平,则重心坐标C(x,y)为(0,0);
所述手势跟踪识别模块包括手势跟踪模块和方向判断模块;其中:
所述手势跟踪模块接收到多个轮廓重心值C(x,y)和轮廓面积后,取出面积最大的重心坐标作为当前坐标减去上一帧坐标,得到帧间位移(Δx,Δy)=C(x,y)-L(x,y),并用C(x,y)替换L(x,y);
判断Δx是否处于横向最小位移和横向最大位移以及Δy是否处于纵向最小位移和纵向最大位移之间;
(一)若是,则:该重心坐标有效,选出历史位移(dest_x,dest_y)中绝对值最大的值进行临界判断:
①若dest_x绝对值大,判断dest_x与Δx是否同号:
同号表示运动方向不变,dest_x=dest_x+Δx与dest_y=dest_y+Δy,累计帧数增加1,并继续下一帧检测;
若不同号,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en,并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;
②若dest_y绝对值大,判断dest_y与Δy是否同号:
同号表示运动方向不变,dest_x=dest_x+deltx与dest_y=dest_y+Δy,累计检测帧数累计帧数增加1,并继续下一帧检测;
若不同号,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(二)若否,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
所述方向判断模块,接收到direct_en与(dest_x,dest_y)信号后,当direct_en为高电平时,根据(dest_x,dest_y)绝对值最大的数的方向进行判断:当dest_x绝对值大时:若dest_x为正,则运动方向为向右,direct=1;若为负,则运动方向为左,direct=2;当dest_y绝对值大时:若dest_y为正,则运动方向为向下,direct=3;若为负,则运动方向为上,direct=4;当direct_en为低电平时,direct=0;方向判断模块接收到read使能时,将direct发送至译码模块。
与现有技术相比,本发明的有益技术效果体现在:
1、本发明采用5*5的滤波核对帧差分图像进行滤波,结合摄像头的图像发送形式,我们采用5行大小的存储保存帧差分图像,并随着图像行数的增加逐行替换图像,该方法有效的节约了数据的存储大小,从而节约了资源并降低了功耗;
2、本发明采用RISCV处理器的指令体系,使用两个数组代替差分图像和原始图像,在系统级进行差分计算和替换,有效地提升了计算的灵活性和可靠性,节约了计算资源,提升了芯片的性能。
3、预处理模块将输入的RGB图像转化为YCrCb后再通过肤色提取的方式分离出肤色与背景,将整个图像转化为二值黑白图像表示;该方式能够减少在计算过程中的数据搬运量,加快计算过程,降低功耗,提升整个芯片的性能。
4、协处理器对二值图像进行滤波操作和重心计算将二维图像转化为连续运动点的分析,再通过对历史运动的轨迹进行分析,最后判断出移动方向;识别算法简单快捷,硬件资源消耗小,功耗低,可靠性强,识别精度高。
附图说明
图1为本发明面向智能终端的动态手势识别硬件加速器系统结构图示。
图2为动态手势识别协处理器框图。
图3为扩展指令集格式。
图4为滤波操作模块。
图5为手势跟踪识别电路。
具体实施方式
本发明设计的动态手势识别硬件加速器,系统结构如图1所示,包括图像预处理模块、2KB FIFO,RISCV处理器和动态手势识别协处理器;其中:
RISCV处理器,包括:闪存/串口/摄像机/RoCC/总线/rocket核/一级数据缓存/一级指令缓存组成;其中闪存中保存编译C产生的汇编指令,系统启动后首先rocket核初始化以后根据指令不断地访问4KB一级指令缓存,读取下一条指令;然而当一级指令缓存miss后,一级指令缓存会经过spi接口读取闪存保存的汇编代码并反馈给rocket核;Rocket核获取指令后根据指令首先通过gpio端口配置摄像头,设置摄像头输出图像大小为320x240,帧频为30帧/秒;其后,rocket核通过RoCC向动态手势识别协处理器发送配置指令,设置参数:最小帧数/横向最小位移/纵向最小位移/横向最大位移/纵向最大位移;配置完成后,rocket核会通过总线读取2KBFIFO的empty信号,当empty=0时,此时FIFO中含有数据,rocket核会通过gpio和总线读取数据并传输至12KB一级数据缓存,一级数据缓存主要保存5行的帧差分图像和当前图像;每读取一行数据以后,rocket核通过RoCC向动态手势识别协处理器发送执行滤波指令,当完整的一张图像加载完毕后,RISCV处理器通过RoCC向动态手势识别协处理器发送重心计算指令;最后发送输出指令,动态手势识别协处理器会根据该指令传输输出方向direction;RISCV处理器接收到direction会将其发送至UART模块进行输出。
图像预处理模块,用于接收来自摄像头采集的图像,根据颜色域转化公式:Y=(77*R+150*G+29*B)>>8,Cr=(-43*R-85*G+128*B)>>8+128,Cb=(128*R-107*G-21*B)>>8+128,将RGB图像转化为YCrCb,其后根据肤色区域在CrCb的分布情况:skincolor=(133<Cr<173)&&(77<Cb<127),从而将YCrCb图像转化为二值肤色图像,二值肤色图像中肤色值为1,非肤色值为0;图像预处理模块发送二值肤色图像至2KBFIFO。
2KBFIFO接收到图像预处理模块发送的二值肤色图像,2KBFIFO会保存二值肤色图像并拉低传输至RISCV处理器的empty信号;当2KBFIFO中所有二值肤色图像传输至RISCV处理器,2KBFIFO中的empty信号会拉高。
动态手势识别协处理器,包括:译码模块,执行模块和手势跟踪识别模块,如图2所示。
译码模块是由配置指令寄存器、重心指令寄存器、滤波指令寄存器以及输出指令寄存器构成;其中指令为RISCV的扩展指令集,格式如图3所示。
配置指令模块接收到RISCV处理器的配置指令,会根据其中的序列号将配置参数config(最小帧数/最大帧数/横向最小位移/纵向最小位移/横向最大位移/纵向最大位移)发送到手势跟踪识别模块;滤波指令寄存器接收到RISCV处理器的滤波指令,对这些进行译码得到初始地址blur_addr、blur_start=1、Row_addr和Col_addr并发送至执行模块;重心指令寄存器接收到重心计算指令,对其译码并发送centroid_start=1至重心计算模块;输出指令寄存器接收到输出指令,对输出指令进行译码并发送读取使能read至手势跟踪识别模块,并在下一周期发送读取的direction至RISCV处理器。
执行模块包括膨胀操作、重心计算模块,如图4所示。
滤波操作接收blur_addr、blur_start、Row_addr和Col_addr后,通过RoCC读取一级数据缓存的帧差分图像,在帧差分图像左右两边添加2列0值;对最左边5*5的图像块进行求和得到滤波总和,当滤波总和超过12输出为1,否则为0;其后按步长为1不断向右滑动最终得到一行输出;滤波操作对该行输出进行重心累计:统计输出内非0值的横纵坐标总和(sum_x,sum_y)以及非0值个数(sum_skin),其中横纵坐标是由Row_addr和Col_addr进行计算;滤波操作发送非0值的横纵坐标总和以及非0值个数至重心计算模块。
重心计算模块接收到centroid_start、sum_x、sum_y以及sun_skin,若centroid_start为高电平,则重心坐标C(x,y)为sum_x/sun_skin与sum_y/sun_skin;若centroid_start为低电平,则重心坐标C(x,y)为(0,0)。
手势跟踪识别模块包括手势跟踪模块和方向判断模块,如图5所示。
手势跟踪模块接收到多个轮廓重心值C(x,y)和轮廓面积后,取出面积最大的重心坐标作为当前坐标减去上一帧坐标,得到帧间位移(Δx,Δy)=C(x,y)-L(x,y),并用C(x,y)替换L(x,y);判断Δx是否处于横向最小位移和横向最大位移以及Δy是否处于纵向最小位移和纵向最大位移之间,若是:则该重心坐标有效,选出历史位移(dest_x,dest_y)中绝对值最大的值进行临界判断:若dest_x绝对值大,判断dest_x与Δx是否同号,同号表示运动方向不变,dest_x=dest_x+Δx与dest_y=dest_y+Δy,累计帧数增加1,并继续下一帧检测;若否:当累计帧数大于等于最小帧数,拉高direct_en,并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;若dest_y绝对值大,判断dest_y与Δy是否同号,同号表示运动方向不变,dest_x=dest_x+deltx与dest_y=dest-y+Δy,累计检测帧数累计帧数增加1,并继续下一帧检测;若否:当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;若否:当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测。
方向判断模块接收到direct_en与(dest_x,dest_y)信号后,当direct_en为高电平时,根据(dest_x,dest_y)绝对值最大的数的方向进行判断:当dest_x绝对值大时:若dest_x为正,则运动方向为向右,direct=1;若为负,则运动方向为左,direct=2;当dest_y绝对值大时:若dest_y为正,则运动方向为向下,direct=3;若为负,则运动方向为上,direct=4;当direct_en为低电平时,direct=0;方向判断模块接收到read使能时,将direct发送至译码模块。
本发明方法有效地降低片上存储容量,降低数据搬运功耗,进而提升整个芯片的能效比;该加速器采用中值滤波电路去除噪声干扰后计算差分图像的手势重心,通过追踪重心的位移得到手势移动方向,具有优越的识别效果,可以广泛应用于无接触式智能终端设备;此外该加速器根据图像输入的过程,以及滤波电路的卷积核大小采用逐行代替的帧差分过程,该方式有效的降低存储,从而降低资源消耗和功耗;综上所述,本发明具有低功耗,高精度,采用低数学复杂度算法有效地降低芯片硬件资源,提升芯片的能效比,可以广泛应用于IoT、可穿戴设备等智能终端。
Claims (3)
1.一种面向智能终端领域的动态手势识别硬件加速器,其特征在于,结构包括图像预处理模块、2KBFIFO,RISCV处理器和动态手势识别协处理器;其中:
所述RISCV处理器,由闪存、串口、摄像机、RoCC、总线、rocket核、一级数据缓存、一级指令缓存组成;其中,闪存中保存编译C产生的汇编指令,系统启动后,首先rocket核初始化,然后根据指令不断地访问4KB一级指令缓存,读取下一条指令;然而当一级指令缓存miss后,一级指令缓存会经过spi接口读取闪存保存的汇编代码并反馈给rocket核;rocket核获取指令后,根据指令首先通过gpio端口配置摄像机;其后,rocket核通过RoCC向动态手势识别协处理器发送配置指令,设置参数,参数包括:最小帧数、横向最小位移、纵向最小位移、横向最大位移、纵向最大位移;配置完成后,rocket核会通过总线读取2KBFIFO的empty信号,当empty=0时,此时FIFO中含有数据,rocket核通过gpio和总线读取数据并传输至12KB一级数据缓存,一级数据缓存主要保存5行的帧差分图像和当前图像;每读取一行数据以后,rocket核通过RoCC向动态手势识别协处理器发送执行滤波指令,当完整的一张图像加载完毕后,RISCV处理器通过RoCC向动态手势识别协处理器发送重心计算指令;最后发送输出指令,动态手势识别协处理器根据该指令传输输出方向direction;RISCV处理器接收到direction,将其发送至UART模块进行输出;
所述图像预处理模块,用于接收来自摄像机采集的图像,并将RGB图像转化为YCrCb;然后根据肤色区域在CrCb的分布情况,将YCrCb图像转化为二值肤色图像,二值肤色图像中肤色值为1,非肤色值为0;图像预处理模块发送二值肤色图像至2KBFIFO;
所述2KB FIFO,用于接收并保存图像预处理模块发送的二值肤色图像,并拉低传输至RISCV处理器的empty信号;当2KBFIFO中所有二值肤色图像传输至RISCV处理器,2KBFIFO中的empty信号会拉高;
所述动态手势识别协处理器,包括:译码模块,执行模块和手势跟踪识别模块;其中:
所述译码模块由配置指令寄存器、重心指令寄存器、滤波指令寄存器以及输出指令寄存器构成;
配置指令寄存器接收到RISCV处理器的配置指令,根据其中的序列号将配置参数config发送到手势跟踪识别模块;滤波指令寄存器接收到RISCV处理器的滤波指令,对这些进行译码得到初始地址blur_addr、blur_start=1、Row_addr和Col_addr并发送至执行模块;重心指令寄存器接收到重心计算指令,对其译码并发送centroid_start=1至重心计算模块;输出指令寄存器接收到输出指令,对输出指令进行译码并发送读取使能read至手势跟踪识别模块,并在下一周期发送读取的direction至RISCV处理器;
所述执行模块包括滤波操作模块、重心计算模块,用于滤波操作、重心计算;
重心计算模块接收到centroid_start、sum_x、sum_y以及sun_skin,若centroid_start为高电平,则重心坐标C(x,y)为sum_x/sun_skin与sum_y/sun_skin;若centroid_start为低电平,则重心坐标C(x,y)为(0,0);
所述手势跟踪识别模块包括手势跟踪模块和方向判断模块;其中:
所述手势跟踪模块接收到多个轮廓重心值C(x,y)和轮廓面积后,取出面积最大的重心坐标作为当前坐标减去上一帧坐标,得到帧间位移(Δx,Δy)=C(x,y)-L(x,y),并用C(x,y)替换L(x,y);
判断Δx是否处于横向最小位移和横向最大位移以及Δy是否处于纵向最小位移和纵向最大位移之间;
(一)若是,则:该重心坐标有效,选出历史位移(dest_x,dest_y)中绝对值最大的值进行临界判断:
①若dest_x绝对值大,判断dest_x与Δx是否同号:
同号表示运动方向不变,dest_x=destx+Δx与dest_y=dest_y+Δy,累计帧数增加1,并继续下一帧检测;
若不同号,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en,并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en置0,重新检测;
②若dest_y绝对值大,判断dest_y与Δy是否同号:
同号表示运动方向不变,destx=dest_x+deltx与dest_y=dest_y+Δy,累计检测帧数累计帧数增加1,并继续下一帧检测;
若不同号,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(二)若否,则:
(a)当累计帧数大于等于最小帧数,拉高direct_en并将direct_en与(dest_x,dest_y)发送至方向判断模块,下一周期将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
(b)当累计帧数小于最小帧数,将(dest_x,dest_y),累计帧数,direct_en均置为0,重新检测;
所述方向判断模块,接收到direct_en与(dest_x,dest_y)信号后,当direct_en为高电平时,根据(dest_x,dest_y)绝对值最大的数的方向进行判断:当dest_x绝对值大时:若dest_x为正,则运动方向为向右,direct=1;若为负,则运动方向为左,direct=2;当dest_y绝对值大时:若dest_y为正,则运动方向为向下,direct=3;若为负,则运动方向为上,direct=4;当direct_en为低电平时,direct=0;方向判断模块接收到read使能时,将direct发送至译码模块。
2.根据权利要求1所述的面向智能终端领域的动态手势识别硬件加速器,其特征在于,在图像预处理模块中,所述将RGB图像转化为YCrCb,采用如下颜色域转化公式:
Y=(77*R+150*G+29*B)>>8,
Cr=(-43*R-85*G+128*B)>>8+128,
Cb=(128*R-107*G-21*B)>>8+128;
所述肤色区域在CrCb的分布情况为:
skincolor=(133<Cr<173)&&(77<Cb<127)。
3.根据权利要求1所述的面向智能终端领域的动态手势识别硬件加速器,其特征在于,所述执行模块中:
滤波操作模块接收blur_addr、blur_start、Row_addr和Col_addr后,通过RoCC读取一级数据缓存的帧差分图像,在帧差分图像左右两边添加2列0值;对最左边5*5的图像块进行求和得到滤波总和,当滤波总和超过12输出为1,否则为0;其后按步长为1不断向右滑动最终得到一行输出;滤波操作对该行输出进行重心累计:统计输出内非0值的横纵坐标总和(sum_x,sum_y)以及非0值个数(sum_skin),其中横纵坐标是由Row_addr和Col_addr进行计算;滤波操作模块发送非0值的横纵坐标总和以及非0值个数至重心计算模块;
重心计算模块接收到centroid_start、sum_x、sum_y以及sun_skin,若centroid_start为高电平,则重心坐标C(x,y)为sum_x/sun_skin与sum_y/sun_skin;若centroid_start为低电平,则重心坐标C(x,y)为(0,0)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050957.7A CN112861640B (zh) | 2021-01-15 | 2021-01-15 | 一种面向智能终端领域的动态手势识别硬件加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050957.7A CN112861640B (zh) | 2021-01-15 | 2021-01-15 | 一种面向智能终端领域的动态手势识别硬件加速器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112861640A CN112861640A (zh) | 2021-05-28 |
CN112861640B true CN112861640B (zh) | 2022-07-22 |
Family
ID=76005757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110050957.7A Active CN112861640B (zh) | 2021-01-15 | 2021-01-15 | 一种面向智能终端领域的动态手势识别硬件加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861640B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113613140B (zh) * | 2021-08-03 | 2022-10-18 | 重庆邮电大学 | 一种基于RISC v软核的音频降噪系统、方法及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880865A (zh) * | 2012-09-28 | 2013-01-16 | 东南大学 | 基于肤色与形态特征的动态手势识别方法 |
CN203217590U (zh) * | 2012-07-10 | 2013-09-25 | 深圳市民展科技开发有限公司 | 视频智能手势识别系统 |
CN104094194A (zh) * | 2011-12-09 | 2014-10-08 | 诺基亚公司 | 用于基于多个传感器信号的融合识别手势的方法和设备 |
CN108496142A (zh) * | 2017-04-07 | 2018-09-04 | 深圳市柔宇科技有限公司 | 一种手势识别方法及相关装置 |
CN111027395A (zh) * | 2019-11-13 | 2020-04-17 | 珠海亿智电子科技有限公司 | 手势识别方法、装置、终端设备及计算机可读存储介质 |
-
2021
- 2021-01-15 CN CN202110050957.7A patent/CN112861640B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104094194A (zh) * | 2011-12-09 | 2014-10-08 | 诺基亚公司 | 用于基于多个传感器信号的融合识别手势的方法和设备 |
CN203217590U (zh) * | 2012-07-10 | 2013-09-25 | 深圳市民展科技开发有限公司 | 视频智能手势识别系统 |
CN102880865A (zh) * | 2012-09-28 | 2013-01-16 | 东南大学 | 基于肤色与形态特征的动态手势识别方法 |
CN108496142A (zh) * | 2017-04-07 | 2018-09-04 | 深圳市柔宇科技有限公司 | 一种手势识别方法及相关装置 |
CN111027395A (zh) * | 2019-11-13 | 2020-04-17 | 珠海亿智电子科技有限公司 | 手势识别方法、装置、终端设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
Yong-Liang Zhang 等.An Ultra-low-power High-precision Dynamic Gesture Recognition Coprocessor Based On RISC-V Architecture.《IEEE》.2020, * |
Also Published As
Publication number | Publication date |
---|---|
CN112861640A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mei et al. | Exploring dense context for salient object detection | |
US10417771B2 (en) | Fast MRF energy optimization for solving scene labeling problems | |
CN112861640B (zh) | 一种面向智能终端领域的动态手势识别硬件加速器 | |
Linares-Barranco et al. | Dynamic vision sensor integration on fpga-based cnn accelerators for high-speed visual classification | |
Lu et al. | Dynamic weighted cross entropy for semantic segmentation with extremely imbalanced data | |
WO2022061726A1 (en) | Method and system of multiple facial attributes recognition using highly efficient neural networks | |
Min et al. | Dadu-eye: A 5.3 TOPS/W, 30 fps/1080p high accuracy stereo vision accelerator | |
CN117217274B (zh) | 向量处理器、神经网络加速器、芯片及电子设备 | |
Zhang et al. | Hierarchical and parallel pipelined heterogeneous SoC for embedded vision processing | |
CN112861641B (zh) | 一种面向人机交互领域的动态手势识别硬件加速器 | |
Kim et al. | A VLSI architecture for video-object segmentation | |
Yan et al. | Research on moving target tracking system based on FPGA | |
CN110996005B (zh) | 一种实时数字图像增强方法及系统 | |
Nikhil et al. | Design and development of a DSP processor based reconfigurable hand Gesture Recognition System for real time applications | |
Czuni et al. | Motion segmentation and tracking with edge relaxation and optimization using fully parallel methods in the cellular nonlinear network architecture | |
CN111242859B (zh) | 一种改进的图像处理方法 | |
Kisku et al. | An Intelligent CMOS Image Sensor System Using Edge Information for Image Classification | |
Guanghui et al. | A progressive fusion image enhancement method with parallel hybrid attention | |
Morie et al. | A pixel-parallel image processor for Gabor filtering based on merged analog/digital architecture | |
KR101841547B1 (ko) | 모바일 gpu를 위한 스케일 공간 생성 최적화 방법 | |
Yuan et al. | Polyp Segmentation based on Multilevel Information Correction Transformer | |
Xu et al. | A review of semantic segmentation based on context information | |
US20230153962A1 (en) | System and methods for multiple instance segmentation and tracking | |
CN111881715B (zh) | 一种人脸检测硬件加速方法、系统和设备 | |
Shi et al. | A massively parallel keypoint detection and description (MP-KDD) algorithm for high-speed vision chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |