显示设备及手势控制方法与流程

文档序号:26007805发布日期:2021-07-23 21:27阅读:122来源:国知局
显示设备及手势控制方法与流程

本申请涉及显示技术领域,尤其涉及一种显示设备及手势控制方法。



背景技术:

随着电视朝着智能化的方向不断发展,人们对电视的控制方式不再局限于传统的遥控器控制,语音控制、触摸控制、手势控制等越来越多的控制方式丰富了人们与电视的交互体验。例如,在电视支持手势控制时,人们可面向电视做出特定的手势,电视可利用摄像头采集包含手势的图像,从该图像中识别出人们的手势,根据手势进行响应,如暂停播放视频、增大音量等等。当人们距离电视较远时,电视利用摄像头采集的图像中的手势图像也较小,相关技术中,对于小目标的准确识别依赖高复杂度的识别模型,当电视的算力有限时,为保障手势的响应速度,通常会采用简单的识别模型,而这又将导致手势识别的准确率偏低。



技术实现要素:

为解决远距离手势识别准确性率的技术问题,本申请提供了一种显示设备及手势控制方法。

第一方面,本申请提供了一种显示设备,包括:

显示器;

控制器,所述控制器被配置为:

采集包含手势的待识别图像;

利用已训练好的手势识别网络对所述待识别图像进行手势识别,得到所述待识别图像中的手势类型;

根据所述手势类型对应的预设响应动作进行响应。

在一些实施例中,在采集包含手势的待识别图像之前,所述控制器还被配置为:

在摄像头处于工作状态时,监测手势控制控件是否为开启状态。

在一些实施例中,所述手势识别网络包括:

第一层卷积网络,包括顺序连接的恒等映射模块和降采样模块;

第二~五层卷积网络,包括顺序连接的恒等映射模块、恒等映射模块和降采样模块;

第一~五层卷积网络顺序连接;

第二~五层卷积网络的输出端分别连接有一个头部卷积模块;

第三~五层卷积网络的头部卷积模块分别通过一个加法模块连接至上一层的头部卷积模块的输出端。

在一些实施例中,所述恒等映射模块包括依次连接的二维卷积模块、prelu模块、第一深度可分离卷积模块、prelu模块和二维卷积模块,其中,所述恒等映射模块的输入与输出相连接;

所述降采样模块包括依次连接的二维卷积模块、prelu模块、第二深度可分离卷积模块、prelu模块和二维卷积模块,其中,所述第二深度可分离卷积模块的卷积间隔为所述第一深度可分离卷积模块的卷积间隔的两倍。

第二方面,本申请提供了一种手势控制方法,用于显示设备,该方法包括:

采集包含手势的待识别图像;

利用已训练好的手势识别网络对所述待识别图像进行手势识别,得到所述待识别图像中的手势类型;

根据所述手势类型对应的预设响应动作进行响应。

本申请提供的显示设备及手势控制方法的有益效果包括:

本申请实施例提供的手势识别网络,通过恒等映射模块和降采样模块使输入的图像的分辨率不断降低,但特征维度升高,从而有利于提升手势识别的准确性;通过头部卷积模块将特征通道统一整合,并将低分辨率的特征图转置卷积到高分辨率尺度下,从而能利用加法模块将对应特征尺度的特征图相加,整合了各个特征图尺寸下的特征信息,使得高分辨率的特征图仍能一定程度上保持低分辨率下的信息,而在远距离手势的图像中,手势信息通常为低分辨率下的信息,因此,本申请能提高手势识别网络对远距离手势的识别准确率;进一步的,本申请的手势识别网络中的卷积计算复杂度低,能够使显示设备兼顾手势识别的准确率和响应速度。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1中示例性示出了根据一些实施例的显示设备与控制装置之间操作场景的示意图;

图2中示例性示出了根据一些实施例的控制装置100的硬件配置框图;

图3中示例性示出了根据一些实施例的显示设备200的硬件配置框图;

图4中示例性示出了根据一些实施例的显示设备200中软件配置示意图;

图5中示例性示出了根据一些实施例的包含手势的图片的示意图;

图6中示例性示出了根据一些实施例的手势识别网络的样本图像的示意图;

图7中示例性示出了根据一些实施例的聚类框的欧式距离示意图;

图8中示例性示出了根据一些实施例的手势识别网络的网络框架示意图;

图9中示例性示出了根据一些实施例的第一~五层卷积网络的网络框架示意图;

图10中示例性示出了根据一些实施例的恒等映射模块的结构示意图;

图11中示例性示出了根据一些实施例的降采样模块的结构示意图;

图12中示例性示出了根据一些实施例的手势识别网络的图像处理示意图;

图13中示例性示出了根据一些实施例的手势控制功能的教学界面的示意图;

图14中示例性示出了根据一些实施例的手势控制功能的教学界面的示意图。

具体实施方式

为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。

术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。

在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。

在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。

在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。

图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。

图3示出了根据示例性实施例中显示设备200的硬件配置框图。

在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。

在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。

在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面。

在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。

在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。

在一些实施例中,用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。

在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。

在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。

在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。

在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。

在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。

在一些实施例中控制器包括中央处理器(centralprocessingunit,cpu),视频处理器,音频处理器,图形处理器(graphicsprocessingunit,gpu),ramrandomaccessmemory,ram),rom(read-onlymemory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。

cpu处理器,用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。

在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。

在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理,可得到直接可显示设备200上显示或播放的信号。

在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。

在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。

在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。

在一些实施例中,显示设备的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。

参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(applicationframework)层(简称“框架层”),安卓运行时(androidruntime)和系统库层(简称“系统运行库层”),以及内核层。

在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。

框架层为应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。

如图4所示,本申请实施例中应用程序框架层包括管理器(managers),内容提供者(contentprovider)等,其中管理器包括以下模块中的至少一个:活动管理器(activitymanager)用与和系统中正在运行的所有活动进行交互;位置管理器(locationmanager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(packagemanager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notificationmanager)用于控制通知消息的显示和清除;窗口管理器(windowmanager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。

在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。

在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c++库以实现框架层要实现的功能。

在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。

在一些实施例中的硬件或软件架构可以基于上述实施例中的介绍,在一些实施例中可以是基于相近的其他硬件或软件架构,可以实现本申请的技术方案即可。

在一些实施例中,显示设备可为支持手势控制功能的电视,显示设备可设置有摄像头,或者连接一个摄像头,通过摄像头采集用户的手势,识别用户的手势类型,然后根据预先设置的手势类型的响应动作进行相应,如调节音量、暂停视频播放等等。

在一些实施例中,显示设备的设置界面可设置有摄像头开关控件和手势控制控件,其中,摄像头控件处于开启状态时,显示设备可利用摄像头采集图像,摄像头控件和手势控制控件均处于开启状态时,显示设备可从采集的图像中识别用户的手势。

在一些实施例中,显示设备的手势控制功能需要在摄像头处于工作状态时实现,因此,在摄像头控件处于关闭状态时,手势控制控件可为灰色,表示不能开启,或者用户尝试开启时,可弹出提示,如“请开启摄像头”。

在一些实施例中,手势控制功能可包括拍照应用的控制功能和非拍照应用的控制功能,同一个手势,在拍照应用下和非拍照应用下可对应不同的功能,例如,在拍照应用下,ok手势可表示确认拍摄,在视频应用下,ok手势可根据当前正在视频播放,暂停播放,或根据当前暂停播放,恢复播放。显示设备可先识别用户的手势,再根据当前的应用是否为拍照应用,从预存储的映射文件中,查找手势对应的响应动作,然后执行响应动作。

在一些实施例中,手势控制功能还可具有更多的场景,显示设备在识别到手势后,可根据具体的场景,确定响应动作。

在一些实施例中,当用户距离显示设备较远时,摄像头采集的图像中的手势图形较小,识别难度大,识别的准确率偏低。

为解决上述技术问题,本申请实施例提供了一种手势识别网络,对该手势识别网络进行训练后,利用训练后的手势识别网络来进行手势识别,可提高远距离手势识别的准确率。

在一些实施例中,为训练手势识别网络,可预先采集多张包含手势的图片,制作手势图片样本集。

在一些实施例中,为了提高显示设备的手势识别准确率,可按照如下要求采集包含手势的图片:

1、采集横向图片,分辨率为1920*1080,图片的尺寸比例为16:9;

2、样本人物距离摄像头的范围为0.5m至6m,图片数量与距离之间呈正态分布;

3、样本人物和采集场景的数量均为图片总数的四分之一。例如,假设采集10000张图片,则需要2500位样本人物和2500个场景,每个样本人物在2500个场景中随机地选取4个场景被拍摄包含手势的图像,且至少有一半数量的样本人物处于室内场景下。

4、样本人物随意穿着服饰和佩戴手势、帽子、口罩等,拍摄的图片中可以不出现完整的人体。

5、图片中的手势尽可能位于图像中的不同位置,避免所有手势均位于图片中间。

按照上述要求采集的多张包含手势的图片,覆盖了用户实际对显示设备进行手势控制时的常见场景,有利于提高手势识别的准确率,其中,采集的图片可参见图5,为包含手势的图片。

需要说明的是,上面介绍的图片分辨率、尺寸比例、距离摄像头的范围以及场景和样本任务的数量等要求仅作为一种示例,实际实施中,采集的图片也可不限于上述要求。

在一些实施例中,显示设备设置有摄像头,该摄像头采集的图像的分辨率为1920*1080,因此,可采集分辨率为1920*1080的图片,从而与显示设备在进行手势识别时采集的待识别图像的分辨率一致,能够提高手势识别的准确性,而如果显示设备的摄像头的尺寸为其他分辨率,也可采用相应分辨率的图片制作手势图片样本集。

在一些实施例中,手势识别网络可为深度学习神经网络,能够对输入的图片进行卷积和降采样,输入的图片尺寸越大,需要的卷积次数会变多,导致显示设备的算力负担变大,为减小显示设备的算力负担,在制作手势图片样本集时,可将分辨率为1920*1080的图片进行调整大小。由于手势识别网络的一些计算如卷积计算是对正方形图片进行处理,因此,在对图片进行调整大小时,可将其调整大小为正方形图片,如调整大小至224*224的尺寸,当然,也可不限于该尺寸。

在一些实施例中,考虑到用户在对显示设备进行手势控制时,用户与显示设备的相对位置通常不是固定的,因此,在进行图片调整大小时,可控制在不同的图片中,手势尽可能位于调整大小后的图片中的不同位置,避免所有手势均位于调整大小后的图片中间,从而使调整大小后的图片仍能够反映用户与摄像头之间的不同相对位置。

在一些实施例中,可在调整大小后的图片上人工标注上手势框并设置手势框的属性,参见图6,手势框可为覆盖手势区域的矩形框,手势框的属性可包括尺度属性和类别属性,尺度属性可为手势框的宽、高和中心点坐标,类别属性可包括手势类别的标识。将每张图片都标注好手势框后,可根据标注好的图片构建手势图片样本集。

在一些实施例中,可对所述手势图片样本集中的手势框进行聚类分析,生成多个锚点框。

在一些实施例中,锚点框在一定程度上代表了深度学习神经网络默认在特定尺度下应该首先搜索的目标大小,为准确确定手势目标大致的分布趋势,提高深度学习神经网络对小目标的精确度,可先利用k-means(k均值)聚类法得到手势图片样本集的聚类框,再基于elbow(肘部)法则从聚类框中确定锚点框。

在一些实施例中,在利用k-means聚类法进行聚类时,可通过预先设置k个聚类中心,即初始聚类框,分别计算每个数据与k个初始聚类框的欧式距离,进而将每个数据分配给距离最近的初始聚类框,然后根据初始聚类框下的数据进行迭代计算,最终得到稳定的聚类框。

在一些实施例中,在利用k-means聚类法进行聚类的过程中,还可利用iou(intersectionoverunion,交并比)来将数据归类到一个初始聚类框。iou为两个矩形框面积的交集和并集的比值,这两个矩形框可分别为初始聚类框和目标框,在计算目标框与多个初始聚类框的交并比后,可将目标框归类为交并比最大的初始聚类框,然后根据初始聚类框下的目标框进行迭代计算,最终得到稳定的聚类框。

在上述聚类框的生成方法中,通过欧式距离来确定聚类框,相较于iou来确定聚类框,能够更直接地反映小尺寸目标框的分布情况。例如,假设目标框为小目标,如大小为1*1,在k-means中随机生成了1.2*1.2和0.8*0.8两种不同的聚类框,前者的iou为1/(1.2*1.2)=0.694,而后者的iou为(0.8*0.8)/1=0.64,所以目标框将被归为1.2*1.2的大框类内,由此导致聚类出的聚类框都偏大,小尺寸的目标框分布无法被突出;而欧式距离直接计算方差,在此种情况下前者的欧式距离是(1-1.2)^2=0.04,后者也是0.04,可见,对于小尺寸的目标框,iou来计算k-means忽略了小尺寸锚点框,产生了巨大误差,而通过欧式距离来计算k-means,相较于iou来计算k-means,对小目标更为友好,有利于提高远距离手势识别的准确率。

在一些实施例中,一种示例性的聚类框生成方法可包括如下步骤:

1、获取所有样本图片中数据中目标框的宽和高(w1,h1),(w2,h2),…,(wi,hi),…,(wp,hp),其中,目标框即步骤s110中标注的手势框,p为手势图片样本集中的图片总数量,如10000。

2、设定cluster(簇)值为2。

3、随机生成2个聚类框(w1,h1),(w2,h2)。

4、分别计算每一个目标框与2个聚类框的欧式距离,目标框与哪一个聚类框的欧式距离越小,则将目标框归类为属于该聚类框。

5、根据步骤4,将所有的目标框分为2类,第一类目标框为(w1i,h1i),第二类目标框为(w2i,h2i),计算每一类的所有目标框的平均长和宽,得到两个新的聚类框:(w1’,h1’)和(w2’,h2’)。

6、重复步骤4-5直至聚类框趋于稳定,得到cluster个稳定的聚类框:(w1*,h1*)和(w2*,h2*),cluster的值即为锚点框的个数,每个稳定的聚类框的长和宽即为最终每个锚点框的长和宽。

7、计算第一类目标框(w1i,h1i)与聚类框(w1*,h1*)的欧式距离,第二类目标框(w2i,h2i)与聚类框(w2*,h2*)的欧式距离,再取所有目标框的欧式距离的平均值为y2,由此得到一个坐标点(2,y2),其中,第一类目标框与聚类框的欧式距离的计算公式为:

第二类目标框与聚类框的欧式距离的计算公式为:

y2的计算公式为:

8、设定cluster值为3-15,重复步骤3-7。由此得到坐标点(3,y3)~(15,y15)。

根据上述聚类框的生成方法,可得到图7所示的聚类框的欧式距离示意图。图7中,横坐标为cluster值,纵坐标为欧式距离。

在一些实施例中,欧式距离可表示畸变程度,对于一个簇,它的畸变程度越低,代表簇内成员越紧密,畸变程度越高,代表簇内结构越松散。畸变程度会随着类别的增加而降低,但对于有一定区分度的数据,在达到某个临界点时畸变程度会得到极大改善,之后缓慢下降,这个临界点就可以考虑为聚类性能较好的点,如图7所示,该临界点通常位于肘部位置,如e点,因此,该确定临界点的方法可称为elbow(肘部)法则。

根据图7可得,cluster越大,越能够拟合所有目标框的分布情况,最终计算的平均欧式距离越小,所以曲线成下降状态。但越多的cluster使神经网络框架输出的维度越高,计算量越大,因此为了平衡锚点数量和算力,本申请实施例利用法则确定所述聚类框的目标类别数量,将所述目标类别数量下的聚类框作为锚点框,图7中,根据肘部法则,可选cluster值为4,对应的点为e点,如果cluster值小于4,则会导致手势识别的准确性下降,如果cluster值大于4,则会导致手势识别的算力较大。

由于图7是根据一个示例性的样本集得到的,在选用不同的样本集时,确定的cluster值可能不为4。

利用肘部法则确定所述聚类框的目标类别数量后,可将该目标类别数量下的聚类框作为锚点框,例如,目标类别数量为4,则将cluster值为4时得到的4个稳定的聚类框作为手势图片样本集的锚点框。

在一些实施例中,可获取每张样本图片中的目标框(wi,hi),通过计算目标框与每个锚点框的欧式距离,选择最适合该样本图片的锚点框(w,h),计算宽的偏置值offsetw和高的偏置值offseth:

在一些实施例中,以此宽的偏置值offsetw和高的偏置值offseth进行深度学习神经网络的回归训练。

在一些实施例中,在确定后锚点框后,可将所述手势图片样本集中的图片输入手势识别网络,基于所述锚点框和手势框将手势识别网络训练至收敛。

在一些实施例中,深度学习神经网络的网络框架可如图8所示,包括五层卷积网络、head(头部)卷积模块、加法模块和手势预测模块。

第一~五层卷积网络顺序连接,每一层卷积网络用于将本层输入的图像进行卷积和降采样。

第二层卷积网络的输出端连接有一个head(头部)4卷积模块,第三层卷积网络的输出端连接有一个head3卷积模块,第四层卷积网络的输出端连接有一个head2卷积模块,第五层卷积网络的输出端连接有一个head1卷积模块。每个头部卷积模块用于将本层卷积网络输出的特征图的特征通道进行整合,使低分辨率的特征图转置卷积到高分辨率尺度下。

第三~五层卷积网络的头部卷积模块分别通过一个加法模块连接至上一层的头部卷积模块的输出端,将对应分辨率尺度的特征图相加,得到整合了高分辨率特征和低分辨率特征的特征图,其中,第四层卷积网络连接的加法模块输出的特征图为特征图a,第三层卷积网络连接的加法模块输出的特征图为特征图b,第二层卷积网络连接的加法模块输出的特征图为特征图c。

在一些实施例中,手势预测模块可与第三层卷积网络对应的加法模块的输出端连接,所述手势预测模块被配置为通过第三层卷积网络对应的加法模块输出的特征图进行手势预测。

为对图8中的卷积网络做进一步说明,图9-图11示出了卷积网络的网络架构示意图。

在一些实施例中,参见图9,第一层卷积网络包括依次连接的idblock(identityblock,恒等映射模块)和dsblock(downsampleblock,降采样模块)),第二~五层卷积网络,包括依次连接的idblock、idblock和dsblock。

如图9所示,一个224*224*3尺度的样本图像输入到深度学习神经网络后,其中,224为图像尺度,即图像的分辨率,3为特征通道的数量,经过第一次卷积网络进行卷积和降采样后,得到112*224*32的特征图,经过第二次卷积网络进行卷积和降采样后,得到56*564*64的特征图,经过第三次卷积网络进行卷积和降采样后,得到28*28*128的特征图,经过第四次卷积网络进行卷积和降采样后,得到14*14*256的特征图,经过第五次卷积网络进行卷积和降采样后,得到7*7*512的特征图,可见,经过多层卷积网络的卷积和降采样,输入图像实现了分辨率的下降和特征通道的增加。

在一些实施例中,identityblock可如图10所示,包括依次连接的conv2d(二维卷积)模块、prelu(parametricrectifiedlinearunit,参数化线性整流激活函数)模块、第一depthwiseconv2d(深度可分离卷积)模块、prelu模块和conv2d模块,其中,identityblock的输入与输出相连接。

在一些实施例中,downsampleblock可如图11所示,包括依次连接的conv2d(二维卷积)模块、prelu(parametricrectifiedlinearunit,参数化线性整流激活函数)模块、第二depthwiseconv2d(深度可分离卷积)模块、prelu模块和conv2d模块。

在一些实施例中,identityblock负责图像特征的提取,其输入与输出的相加可有效防止因网络过深而产生的梯度消失,而downsampleblock在图像特征提取的同时对特征进行降采样,用于连接下一级的identityblock以提取高层特征。其中,在identityblock中,通过第一个conv2d模块的卷积计算将图像的通道扩增一倍,然后通过第二个conv2d模块的卷积计算将图像通道缩减一倍;而在downsample中,通过第一个conv2d模块的卷积计算将图像的通道扩增一倍,然后在第二个conv2d模块的卷积计算中维持通道数不变,通道数的提升代表着多一倍的参数量进行计算,代表着模型有更高的准确度。

可见,downsampleblock与identityblock有着相似的结构,但不同处在于downsampleblock的第二depthwiseconv2d模块的卷积间隔为2,即stride=2,而identityblock的第一depthwiseconv2d模块的卷积间隔为1,即stride=1,这使得downsampleblock输出的特征图尺度降采样了一倍,同时也不再进行输入与输出相加的操作。

在一些实施例中,根据图8-图11所示的手势识别网络,将224*224*3尺度的样本图像输入该手势识别网络后,通过2个block将图像卷积到112*112*32尺度,然后重复的进行降采样与扩展通道的计算,在每降采样1倍的同时提升通道数1倍,图像在总共经过五层卷积网络后,经过了5次卷积和降采样,14次block,可获取512个特征通道,可见,图像虽然只经过5次卷积,但是却获得了512个特征通道,卷积操作的次数少,意味着计算效率的提高,而通道数量多,则意味着获取的特征更多,有利于准确率的提高。

在一些实施例中,上述深度学习神经网络的总参数数据量为0.2646mb,运行内存占用量为31.0423mb,性能优异。

在一些实施例中,prelu激活函数是非常关键的,在简洁框架下可维持高准确率的运算操作。相关技术中,网络框架中所使用的relu或relu6激活函数因抑制了数据,尤其是负值的数据产生,这将使得多变的目标检测损失函数产生严重的偏差。

例如,损失函数中存在对目标选框位置和大小偏差的预测,在锚点框大小计算中,通常正值代表目标框比锚点框大,负值代表目标框比锚点框更小;在锚点框位置计算中,通常正值代表目标点更偏右下角,负值代表目标点更偏左上角。然而,常规的网络框架只有在输出时不使用relu函数,因此对正负值的判断完全取决于最后一层卷积,越少的参数对输出的影响往往代表更低的准确率。同样的情况也存在于在损失函数中对是否存在目标判断使用sigmoid交叉熵中,其中,sigmoid函数如下:

以sigmoid函数作为输入的交叉熵函数为:

若单一的预测框输出值(x1,x2)对应的置信度标签为(1,0),则上式可以简化为:

c=ln[σ(x1)]

若x1值趋向于负值时,σ(x1)则趋向于0,则对数函数的值,即损失值趋向于负无穷,代表预测值与实际值的偏差很大,这种负值的作用即为提醒模型预测与实际值的巨大偏差。

而相关技术中采用的relu函数限制了负值的产生而使准确度降低。prelu函数引入可训练变量a,对负值进行权衡而非直接置0,能使网络产生更好的收敛。

在一些实施例中,还可用leakyrelu代替prelu函数。

在一些实施例中,为提高对小目标的敏感性,可将深度学习神经网络中提取到的各种尺度下的特征图进行融合输出,以得到图8所示的手势识别网络。

融合输出的过程可参见图12,如图12所示,将目标框设置偏置值作为标签的224*224的图像输入到深度学习神经网络的网络框架中后,网络框架经过idblock进行卷积计算,提取特征,经过dsblock进行降采样提升特征维度。经过重复计算使图像从224*224的分辨率不断降采样,最终分辨率到达7*7,但特征维度提升至512。然后,提取网络框架中的中间特征层即7*7、14*14、28*28、56*56四个特征图进行输出。每个特征图首先经过一个头部卷积模块将特征通道统一整合到320下。每个头部卷积模块用3*3的卷积核进行一次卷积运算。将低分辨率的特征图转置卷积到高分辨率尺度下后,将对应特征尺度的特征图相加。例如,将7*7的特征图与上层14*14的特征图相加,14*14的特征图与28*28的特征图相加,28*28的特征图与56*56的特征图相加。而最终输出14、28、56三个尺度下的特征图。通过上述融合处理,有利于整合各个特征图尺寸下的特征信息,使得即使高分辨率的特征图仍能在一定程度上保持低分辨率下的信息。最终,使用56*56尺度下的特征图进行手势预测,此种尺度下的特征图近似意味着一张摄像头捕获的图中存在56*56=3136个感受野,因输入图像为224*224,所以此高分辨特征图网络理论上对224/56=4分辨率的图像具备判断能力,这大约相当于6米外用户的手势在图像中呈现的大小。将该分辨率的特征图输入手势预测模块后,可得到手势位置以及手势类别,其中,手势预测模块可基于现有技术,如骨骼关键点识别技术实现,将特征图输入骨骼关键点识别网络后,能够得到手势关键点,进而根据手势关键点得到手势位置以及手势类别。

可见,上述高分辨率特征图的设计使手势预测模型能集中于对小像素信息,也就是远距离图像信息的搜集和理解,有助于提高远距离手势预测的准确率。

利用上述手势识别网络的训练方法将手势识别网络训练至收敛后,进一步的,可根据手势识别网络生成手势识别方法,该方法包括:将待识别图像输入到已训练好的手势识别网络进行手势识别,得到手势类型。

在一些实施例中,上述手势识别方法可用于显示设备中,显示设备在利用摄像头拍摄到包含手势的图片后,可将该包含手势的图片作为待识别图像,利用上述手势识别方法对待识别图像进行手势识别,得到手势类别,根据手势类别对应的预设响应动作进行响应,例如,手势类别为ok时,预设响应动作可为暂停视频播放。

在一些实施例中,为方便用户掌握手势控制,手势控制功能可设置有手势教学模式,当用户开启手势控制控件时,显示设备可显示教学控件,用户触发该教学控件时,可进入手势教学模式,手势教学模式的示例性界面可参见图13和图14,如图13所示,在手势教学模式下,可显示手势和该手势的功能,当用户按照该提示进行操作后,则如图14所示,显示设备弹出操作成功的提示。

在一些实施例中,在手势控制功能开启时,用户使用一个手势对显示设备进行控制后,显示设备也可弹出操作成功的提示,可避免用户无意中比划了一个手势,显示设备响应该手势而导致用户以为显示设备故障。进一步的,该操作成功的提示可为手势对应的功能的操作成功提示,如“手势操作成功,已静音”。

由上述实施例可见,本申请实施例根据多种距离下的包含手势的图片得到手势图片样本集进行模型训练,提高了训练出的手势识别网络对不同距离手势的识别准确率,从而提高了远距离手势识别准确性率;通过将深度学习神经网络输出的多个尺度的特征图进行融合输出,使手势识别网络能整合各个尺度特征图下的特征信息,使得高分辨率的特征图仍能一定程度上保持低分辨率下的信息,而在远距离手势的图像中,手势信息通常为低分辨率下的信息,因此,本申请能提高手势识别网络对远距离手势的识别准确率;进一步的,本申请基于深度学习神经网络进行模型训练,得到的手势识别网络复杂度低,能够使显示设备兼顾手势识别的准确率和响应速度。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括要素的电路结构、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1