![人机交互方法、装置、设备和计算机可读存储介质与流程](https://img.xjishu.com/img/zl/2022/10/14/vme7lqkqq.jpg)
1.本公开的实施例一般涉及人机交互与用户体验领域,并且更具体地,涉及一种人机交互方法、装置、设备和计算机可读存储介质。
背景技术:2.随着人工智能、计算机、信息化技术的快速发展,桌面端pc应用程序、web人机交互程序程序,移动终端app应用程序,虚拟现实vr应用程序,车载智能装备交互程序等多类型多模态智能化信息终端设备发展迅速,特别是针对ai人机智能交互程序产品原型等多类型多模态数字化信息产品的交互分析和测试、评价越来越重要。
3.目前的一些人机交互测试与分析系统能够实现人机交互对象/元素的添加,基础属性的参数设置,但是人机交互对象切换方式固定单一,无法实现用户指定单一或多模态交互方式(如按键或鼠标)切换材料/元素,并且不能设置交互动作(如点击按钮)不切换人机交互对象(点击即切换下一个交互对象)。基于此,本发明提供了一种新的人机交互方法。
技术实现要素:4.根据本公开的实施例,提供了一种人机交互切换方案。
5.在本公开的第一方面,提供了一种人机交互切换方法。该方法包括:获取人机交互对象,设置人机交互对象属性;所述人机交互对象包括图片、视频、原型、vr、ar;基于所述人机交互对象属性和用户需求,设置切换方式;基于已设置的切换方式,完成人机交互切换。
6.进一步地,所述人机交互对象属性包括:名称、屏幕中显示区域位置、人机交互对象显示模式、背景颜色、是否生成片段、是否生成开始事件和/或是否生成结束事件。
7.进一步地,所述切换方式包括按键切换、鼠标控制、触控交互、眼控交互和/或语音控制。
8.进一步地,所述按键切换包括:根据用户需求,通过自定义按键组合的方式,添加按键切换。
9.进一步地,所述鼠标控制、触控交互和眼控交互包括:其中,鼠标控制包括:根据用户需求,在显示人机交互对象的等比例区域块中绘制鼠标控制区域;根据所述鼠标控制区域,完成鼠标控制;其中,绘制区域为透明背景,有网格呈现;所述网格的行和列根据所述用户需求进行设定;所述触控交互包括:点击人机交互对象的指定点击区域,完成触控交互;
所述眼控交互包括:获取眼动仪返回的眼睛相对于人机交互对象的位置;基于所述位置设置眼动控制参数,确定注视位置,通过所述注视位置完成控制。
10.进一步地,绘制鼠标控制区域的方式包括矩形,多边形和/或圆形。
11.在本公开的第二方面,提供了一种人机交互切换装置。该装置包括:获取模块,用于获取人机交互对象,设置人机交互对象属性;所述人机交互对象包括图片、视频、人机交互设计原型、vr场景和/或ar设置模块,用于基于所述交互对象属性和用户需求,设置切换方式;交互模块,用于基于已设置的切换方式,完成人机交互切换。
12.在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
13.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
14.本技术实施例提供的一种人机交互切换方法,通过获取人机交互对象,设置人机交互对象属性;所述人机交互对象包括所述人机交互对象包括图片、视频、人机交互设计原型、vr场景和/或ar;基于所述人机交互对象属性和用户需求,设置切换方式;基于已设置的切换方式,完成人机交互切换,实现了人机交互对象的自定义切换。
15.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
16.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了能够在其中实现本公开的实施例的示例性运行环境的示意图;图2示出了根据本公开的实施例的应用于一种人机交互切换方法的流程图;图3示出了根据本公开的实施例的应用于一种人机交互切换装置的方框图;图4示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
17.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
18.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
19.图1示出了可以应用本技术的一种人机交互切换方法或一种人机交互切换装置的实施例的示例性系统架构100。
20.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
21.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如模型训练类应用、视频识别类应用、人机交互程序浏览器应用、社交平台软件等。
22.终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
23.当终端101、102、103为硬件时,其上还可以安装有视频采集设备。视频采集设备可以是各种能实现采集视频功能的设备,如摄像头、传感器等等。用户可以利用终端101、102、103上的视频采集设备来采集视频。
24.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的数据处理的后台服务器。后台服务器可以对接收到的数据进行分析等处理,并可以将处理结果反馈给终端设备。
25.需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
26.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。特别地,在目标数据不需要从远程获取的情况下,上述系统架构可以不包括网络,而只包括终端设备或服务器。
27.如图2所示,是本技术实施例一种人机交互切换方法的流程图。从图2中可以看出,本实施例的一种人机交互切换方法,包括以下步骤:s210,获取人机交互对象,设置人机交互对象属性。
28.其中,所述人机交互对象包括图片、视频、人机交互设计原型、vr和/或ar等。
29.在本实施例中,用于一种人机交互切换方法的执行主体(例如图1所示的服务器)可以通过有线方式或者无线连接的方式获取人机交互对象。
30.进一步地,上述执行主体可以获取与之通信连接的电子设备(例如图1所示的终端设备)发送的人机交互对象,也可以是预先存储于本地的人机交互对象。
31.在一些实施例中,所述人机交互对象属性包括:名称、在屏幕中显示区域位置(9宫格任意位置)、人机交互对象大小小于人机交互对象大小时人机交互对象显示模式(拉伸至屏幕大小/保持原大小)、背景颜色、是否生成片段、是否生成开始事件、是否生成结束事件、设置切换方式(默认鼠标点击屏幕任意区域切
换下一个人机交互对象,可通过步骤s220的方式进行自定义设置)。
32.s220,基于所述人机交互对象属性和用户需求,设置切换方式。
33.在一些实施例中,切换方式包括但不限于按键切换、鼠标控制、触控交互、眼控交互、人机交互程序api事件打标方式和/或语音控制等方式(可根据用户需求进行设定)。其中,眼动点数据控制切换、语音控制切换和生理数据控制,为通过多个控制方法结合的方式控制交互对象切换。其中,所述按键切换包括禁用、任意按键和/或自定义按键组合。
34.选择自定义模式时可自定义按键组合,一个按键时只设置一个按键,为按键设置打标事件(事件来源为软件中所有自定义事件[用户在软件其他模块添加(可通过project/replay两个模块进行添加)]),设置按键对应的人机交互对象切换方式(继续当前人机交互对象/切换下一个人机交互对象)。
[0035]
进一步地,同一按键不能重复设置,即若已经添加按键a,则不能再次添加按键a;同一个切换方式中可添加多个按键方式。
[0036]
进一步地,针对每个按键指定事件,也需设置对应的人机交互对象切换模式。
[0037]
所述鼠标控制包括禁用、任意区域和/或指定热区(指定区域);选择所述指定热区模式时,可在同显示人机交互对象等比例的区域块中绘制鼠标控制区域,绘制区域默认透明背景,可进行网格呈现,便于用户在绘制过程中明确绘制区域位置。
[0038]
进一步地,所述网格的行和列可根据用于需求进行设置,如设置行5,列5,则在绘制区域中呈现5x5的等比例网格。每个单元宽高比例为20%,(可根据实际应用场景、用户需求进行设定)每条网格线可设有文本显示当前线相对绘制区域左上角比例值。
[0039]
进一步地,还包括:人机交互对象模式,即在绘制区域显示实验设计页面选中的人机交互对象集合的默认第一个,用户可通过下拉框切换其他人机交互对象作为绘制背景显示,人机交互对象做背景时用户可更加直观精确的绘制鼠标点击区域,在绘制过程中,每个绘制区域可随机呈现不同颜色用于明确各绘制区域范围,每个区域可设有对应的专属名称,同时需设置每个区域事件和切换模式。
[0040]
选中绘制好的鼠标区域后,可根据所述用户需求修改当前区域的起始点位置和宽和高,设置的数值为比例值,即百分比值,一个切换方式可用于多个交互对象,多个交互对象尺寸可能不同,因此,在本公开中,设置区域时使用百分值。
[0041]
进一步地,每个区域也需指定事件,设置对应人机交互对象切换模式。
[0042]
在一些实施例中,绘制鼠标区域的方式包括,矩形、多边形和/或圆形等。
[0043]
在图形对比实验中,可将两张不同图片合并为一个图片,左侧或者上方为图片1,哭状态,右侧或者下方为图片2,笑状态,两张图形分别绘制矩形区域,在记录实验过程中,用户可通过鼠标点击区域,或者眼动数据观察区域,或者两种方式结合控制下一个人机交互对象的切换。
[0044]
在一些实施例中,当进行鼠标点击时,需判断鼠标点位置是否在设置交互对象交互切换区域内;具体地,鼠标点击交互区域的边框的各个点坐标为相对于交互对象材料呈现屏幕的坐标值,将交互对象材料呈现屏幕的左上角设定为(0,0)点,右下角设定为(1,1),鼠标点
击交互区域的点为屏幕坐标范围内。在录制记录中鼠标或手指的行为标记点坐标均按照相同的原理方式,实时记录每个鼠标点坐标。
[0045]
对当前行为发生坐标点是否在指定鼠标点击交互区域范围内进行判别。其中,将行为点设为pointa(xa,ya),组成鼠标点击交互区域的各个点的集合为points,points[(xb,yb),(xc,yc),(xd,yd),(xe,ye),(xf,yf),(xg,yg),(xh,yh)]。
[0046]
循环交互区域所有点坐标,每两个组成一条线,第一个点和第二个点,第二个点和第三个点,依次将相邻的两个点组成一条线至最后一个点和第一个点组成一条线。定义一个变量counter,用于标记目标行为点在条线顺时针延长范围内的个数,在循环方法中判断组成线的第一个点的yb坐标小于等于行为点y坐标ya,且第二个点的y坐标yc大于ya,以及第一个点到行为点距离大于第二个点到行为点距离的情景下,判断出行为点在当前线顺时针方向counter+1;在第一个点的yb坐标大于行为点ya时并且第二个点的yc坐标小于等于ya坐标并且第一个点到行为点距离小于第二个点到行为点距离的情境下,判断出行为点在当前线逆时针方向counter-1;循环完所有点后,根据counter值是否等于0推出行为点是否在交互区域内部。若counter等于0的情况,则行为点不在交互区域内部;若counter不等于0时,则行为点在交互区域范围内部。其中,判断行为点0在点1,点2两个点的方向,可以通过如下公式进行计算:double result = (p1.x
ꢀ‑ꢀ
p0.x) * (p2.y
ꢀ‑ꢀ
p0.y)
ꢀ‑ꢀ
(p2.x
ꢀ‑ꢀ
p0.x) * (p1.y
ꢀ‑ꢀ
p0.y);其中,double result表示做出的反应对应的坐标位置与鼠标点击交互区域的相邻的两个坐标位置之间的关系;p1.x 表示为位置为p1的横坐标, p0.x表示为位置为p0的横坐标,p2.x表示为位置为p2的横坐标,p1.y表示为位置为p1的纵坐标,p0.y表示为位置为p0的纵坐标,p2.y表示为位置为p2的纵坐标;若result 大于0,则向量(p1-p0)在向量(p2-p0)的顺时针方向上;若result小于0,则向量(p1-p0)在向量(p2-p0)的逆时针方向上;若result等于0,则p0、 p1、 p2 三者共线。
[0047]
在一些实施例中,人机交互设计原型材料/元素在实验过程中,原型界面中可能有多个不同形状的图标区域,或者需要用户注意的文字图片等,此时,在本公开中,通常采用符合材料的区域的矩形、圆形机进行绘制(不需扩大),还可以使用多边形绘制一个目标区域,矩形绘制原则为开始点按下鼠标左键,之后拖动到指定位置抬起鼠标左键,软件以开始点和接收点为对角线,绘制矩形;其中,矩形:鼠标左键点击按住拖动,鼠标松开,以对角方式绘制矩形;多边型:鼠标每点击一个位置组成多边形一个点,最后绘制一个点与第一个点在指定参数范围内形成闭合多边形;即,每个位置点击,直到最后一个点与第一个点满足闭合条件,组成多边形。
[0048]
圆形:同矩形,鼠标点击后按住一直拖动到指定位置,在拖动过程中呈现两点组成的圆形,两个点组成圆形直径,中心点为圆心;从为开始点到结束点为直径的圆形,一周32个点。
[0049]
眼控交互包括:
获取眼动仪返回的眼睛相对于人机交互对象的位置;基于所述位置设置眼动控制参数,确定注视位置,通过所述注视位置完成控制;即,实验过程中添加眼动仪设备,根据眼动仪设备提供开发接口获取实时眼动数据;所述眼动控制参数看我根据应用场景设置,例如,连续注视5秒,2秒内连续眨眼3次。
[0050]
语音控制包括:调用第三方库添加麦克风设备,接收语音输入,设置语音参数;例如:下一个,next,识别到的语音命令符合参数则触发交互;生理指标控制包括:添加生理设备采集生理数据,不同数据类型设置不同指标参数,在采集过程中,指标数值到达参数则触发交互;所述指标参数可根据实际应用场景进行设置。
[0051]
人机交互程序api事件打标方式包括:在自定义切换方式包括api打标事件设置。如:接收到api事件1时结束当前交互对象顺序呈现下一个交互对象,接收到事件2时结束当前交互对象跳转到指定对象呈现。通过人机交互程序api打标切换交互对象的方式,可以解放用户在实验记录过程中注意力,操作人员(协助人员)可以通过人机交互程序获取交互系统中的事件列表,通过人机交互程序向交互系统发送事件,交互系统接收到人机交互程序api事件消息后,根据当前交互对象的自定义切换方式中的参数设置(存在该事件),执行对应事件设置的交互对象切换行为。、进一步地,人机交互程序打标事件控制交互独享切换,用户可以使用电脑浏览器加载事件列表打标,也可以手机扫码在手机上打开人机交互程序链接,加载事件列表实现事件打标;进一步地,人机交互程序与交互系统之间消息传递通过webapi协议传输。
[0052]
需要说明的是,上述多种交互方法可以单独或者结合并且关系触发交互;交互对象扩充人机交互设计原型vr场景和/或ar场景,均为实验材料可根据实际应用场景进行延伸,在本公开中不进行一一例举。
[0053]
s230,基于已设置的切换方式,完成人机交互切换。
[0054]
下面给出根据本发明一个具体实施例的应用于一种人机交互方法:创建人机交互系统项目,添加需要在交互对象切换方式中设置的自定义事件,进入实验设计模块,添加所有实验人机交互对象,设置人机交互对象的属性,选中人机交互对象(可以选中多个)修改人机交互对象的切换方式,添加自定义人机交互对象切换方式。选中一个或多个人机交互对象,同时修改人机交互对象切换方式。点击预览按钮,人机交互对象按照顺序呈现,点击切换方式中的按键或者鼠标指定区域位置,人机交互对象执行设置的切换模式(继续当前人机交互对象、切换下一个人机交互对象)。按键不属于人机交互对象切换模式中按键无效,鼠标点击位置不属于任意鼠标绘制区域鼠标点击无效。正确按键/点击鼠标人机交互对象正确切换。所有人机交互对象呈现完成,预览结束。
[0055]
根据本公开的实施例,实现了以下技术效果:可根据用户需求,进行人机交互对象设置、自定义切换方式,每个自定义人机交互对象切换方式包括按键、鼠标点击区域设置、按键+鼠标点击,眼动数据控制,语音控制,生理数据指标值控制。
[0056]
实现了人机交互对象自定义切换方式,用户任意指定键盘按键切换人机交互对象
也可以在屏幕指定区域点击鼠标切换下一个人机交互对象,同时还可以为按键或者鼠标点击发生时刻打标事件,设置按键/鼠标点击是否切换人机交互对象(可以按键/鼠标点击只打标事件不切换人机交互对象)。
[0057]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0058]
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
[0059]
图3示出了根据本公开的实施例的应用于一种人机交互切换装置300的方框图。如图3所示,装置300包括:获取模块310,用于获取人机交互对象,设置人机交互对象属性;所述人机交互对象包括图片、视频,人机交互设计原型,vr,ar;设置模块320,用于基于所述人机交互对象属性和用户需求,设置切换方式;交互模块330,用于基于已设置的切换方式,完成人机交互切换。
[0060]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0061]
图4示出了可以用来实施本公开的实施例的电子设备400的示意性框图。如图所示,设备400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(ram)403中的计算机程序指令,来执行各种适当的动作和处理。在ram 403中,还可以存储设备400操作所需的各种程序和数据。cpu 401、rom 402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0062]
设备400中的多个部件连接至i/o接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0063]
处理单元401执行上文所描述的各个方法和处理,例如方法200、。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由rom 402和/或通信单元409而被载入和/或安装到设备7400上。当计算机程序加载到ram 403并由cpu 401执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,cpu 401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
[0064]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0065]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来
编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0066]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0067]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0068]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。