CN111724248A - 机器学习算法的部署方法、微表情识别方法及终端设备 - Google Patents
机器学习算法的部署方法、微表情识别方法及终端设备 Download PDFInfo
- Publication number
- CN111724248A CN111724248A CN202010604621.6A CN202010604621A CN111724248A CN 111724248 A CN111724248 A CN 111724248A CN 202010604621 A CN202010604621 A CN 202010604621A CN 111724248 A CN111724248 A CN 111724248A
- Authority
- CN
- China
- Prior art keywords
- file
- algorithm
- micro
- machine learning
- learning algorithm
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
- G06V40/176—Dynamic expression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请适用于人工智能技术领域,提供了一种机器学习算法的部署方法、微表情识别方法、终端设备及存储介质,包括:获取机器学习算法的程序文件;将程序文件编译为预设格式,得到第一文件,预设格式包括wasm或asm.js;将第一文件加载至web项目包中,并将web项目包部署到web服务器。使得支持WebAssmebly的主流浏览器和支持基于该浏览器的平台能够通过访问该web服务器调用机器学习算法所用到的程序,并且不管是wasm格式,还是asm.js格式均能被运行。本申请的机器学习算法不再部署为EXE的方式应用于Windows平台,也不再部署为ActiveX插件方式应用于IE浏览器,从而实现机器学习算法跨浏览器和跨平台运行。
Description
技术领域
本申请属于人工智能技术领域,尤其涉及机器学习算法的部署方法、微表情识别方法、终端设备及存储介质。
背景技术
机器学习算法需要部署到生产环境才能够得到广泛应用。目前,很多机器学习算法主要部署于Windows的可执行程序(EXE),或者以ActiveX插件方式部署于IE(InternetExplorer)浏览器中,例如微表情特征提取算法。但是,ActiveX插件只能支持IE内核系列的浏览器,无法支持Chrome、Safari等其他主流浏览器;EXE只能支持Windows平台,无法支持ios、linux等其他平台。因此,现有基于EXE或ActiveX插件的机器学习算法无法实现跨浏览器和跨平台运行。
发明内容
本申请实施例提供了机器学习算法的部署方法、微表情识别方法、终端设备及存储介质,可以解决现有机器学习算法无法实现跨浏览器和跨平台运行的问题。
第一方面,本申请实施例提供了一种机器学习算法的部署方法,包括:
获取机器学习算法的程序文件;
将程序文件编译为预设格式,得到第一文件,预设格式包括wasm或asm.js;
将第一文件加载至web项目包中,并将web项目包部署到web服务器。
本申请通过将机器学习算法中的程序文件编译为wasm或asm.js格式的第一文件,并将该第一文件放到web项目包中,以及将web项目包部署到web服务器,使得支持WebAssmebly的主流浏览器和支持基于该浏览器的平台能够通过访问该预设服务器调用机器学习算法所用到的程序,并且不管是wasm格式,还是asm.js格式均能被运行。
而对于不支持WebAssmebly的主流浏览器和支持基于该浏览器的平台来说,也能够访问web服务器获取wasm文件或asm.js文件,若为wasm文件,则可通过将wasm文件编译为本地机器码的方式进行运行,若为asm.js文件,则可以直接被浏览器运行。综上所述,本申请的机器学习算法不再部署为EXE的方式应用于Windows平台,也不再部署为ActiveX插件方式应用于IE浏览器,从而实现机器学习算法跨浏览器和跨平台运行。
第二方面,本申请实施例提供了一种微表情识别方法,包括:
访问web服务器,并获取web服务器的web项目包,web项目包包括第一文件以及第二文件,其中,第一文件由特征提取算法的程序文件编译得到,且第一文件的文件格式包括wasm或asm.js,第二文件用于加载特征提取算法的模型文件;
基于第一文件和第二文件,提取用户图像的微表情特征数据;
根据微表情特征数据,确定用户图像的风险等级。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面中的机器学习算法的部署方法或上述第二方面中的微表情识别算法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面中的机器学习算法的部署方法或上述第二方面中的微表情识别算法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中的机器学习算法的部署方法或上述第二方面中的微表情识别算法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是背景技术的方法中视频面审的场景示意图;
图2是本申请一实施例提供系统示意图;
图3是本申请一实施例提供的机器学习算法的部署方法的流程示意图;
图4是本申请另一实施例提供的机器学习算法的部署方法的流程示意图;
图5是本申请一实施例提供的微表情识别方法的流程示意图;
图6是本申请一实施例提供的视频面审的应用场景示意图;
图7是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1示出了视频面审的场景示意图。如图1所示,在用户开通证券账户、网络贷款等场景下,要求上传用户的图像数据至面审中心以对该用户的身份进行验证。通常情况下,通过客户终端接收向视频服务器发送视频的请求,客户终端响应该请求并调用摄像头开始拍摄实时视频,并将该实时视频数据上传到视频服务器上,视频服务器将视频数据地址转发到面审中心的坐席端,坐席端通过IE浏览器调用微表情特征提取算法的EXE程序或ActiviteX插件,以提取视频中用户的微表情特征数据,座席端再将该微表情特征数据上传到微表情服务器,获取微表情服务器返回的微表情得分。
如背景技术相关记载,图1所示的视频面审场景中,目前的微表情特征提取算法以EXE程序或ActiveX插件的方式应用于IE内核的浏览器,导致对座席端的浏览器和平台存在限制。其中ActiveX插件只能支持IE内核系列的浏览器,而无法支持Chrome、Safari等其他主流浏览器;EXE只能支持Windows平台,无法支持ios、linux等其他平台。而且目前的微表情特征提取算法只能应用于座席端,而座席端由于性能限制,无法被多人同时访问,从而无法实现多人同时面审,这样就需要用户排队等待,导致用户体验不好。
因此,本申请实施例提供一种机器学习算法的部署方法,使得支持WebAssmebly的主流浏览器和支持基于该浏览器的平台,能够通过访问web服务器调用机器学习算法,而对于不支持WebAssmebly的主流浏览器和支持基于该浏览器的平台来说,也能够访问web服务器获取wasm文件或asm.js文件,若为wasm文件,则通过将wasm文件编译为本地机器码的方式进行运行,若为asm.js文件,则可以直接被浏览器运行,从而实现机器学习算法跨浏览器和跨平台运行。以及实现客户终端调用微表情特征提取算法来提取用户的微表情特征,使得面审中心可以对多个用户进行视频面审。
图2示出了本申请实施例提供的一种面审系统的结构示意图。该面审系统包括web服务器201、用户终端202、座席终端203,所述第一服务器201、用户终端202、座席终端203之间可通过有线网络和/或无线网络进行通信。
上述web服务器201可以基于云服务器或物理服务器实现,其为部署机器学习算法的主体,存储有机器学习算法的js文件以及wasm文件或asm.js文件的web项目包,该web项目包可以被用户终端的浏览器调用,进而在用户终端上运行机器学习算法。
上述用户终端202用于与用户交互,以及向座席端发送用户的图像数据和微表情特征数据,其包括但不限于设有摄像组件或与摄像组件通信连接的手机、平板电脑、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personal digital assistant,PDA)等终端设备,本申请实施例对用户终端的具体类型不作任何限制。用户终端202可以安装有支持WebAssmebly的主流浏览器,如Chrome、Safari等,也可以安装有不支持WebAssmebly的主流浏览器,如IE浏览器等。用户终端202还可以安装有Emscripten编译器。
其中WebAssmebly(又称wasm)是一种高效的、低级别的编程语言,其可以使非JavaScript编程语言(如C、C++、Rust等静态编程语言)编写的程序代码编译为浏览器能够运行的wasm二进制格式,wasm二进制格式是基于堆栈的虚拟机的二进制指令格式。
Emscripten编译器是一种使用LLVM(Low Level Virtual Machine,底层虚拟机)的开源软件开发工具包(SoftwareDevelopmentKit,SDK),其支持生成asm.js和wasm两种格式的代码,其前端采用clang(一种基于C语言、C++或、Objective-C语言的轻量级编译器),用clang将C代码变为LLVM中间代码,之后LLVM会对这些代码进行优化,而后端就是一个名为Fastcomp的LLVM后端,它既可以直接生成wasm,也可以先生成asm.js,再将asm.js转为wasm,asm.js是基于JavaScript标准语言的子集。
需要说明的是,IE内核的浏览器和非IE内核的浏览器均能够支持JavaScript,asm.js属于JavaScript的子集,所以asm.js文件能够被所有浏览器识别和运行,而wasm文件仅可以被支持WebAssmebly的浏览器识别和运行。大多数静态高级语言是通过编译器前端编译成为中间代码,然后再由编译器后端把中间代码翻译成目标机器的可执行机器码。而wasm对应的位置则是生成特定平台机器码之前,类似于一种汇编语言,但是它不对应真实的物理机器,而是一种对应抽象的机器,比JavaScript源码更直接地对应机器码。因此asm.js相比WebAssmebly,asm.js具有更高的兼容性,而WebAssmebly具有更快的运行速度。
上述座席端203用于面审中心对用户终端202发送的图像数据和微表情特征数据进行处理和分析,其包括但不限于设有摄像组件或与摄像组件通信连接的手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本等终端设备,本申请实施例对座席端的具体类型不作任何限制。
应理解,面审系统除图2示出的设备外,还可以包括更多的设备,如视频服务器、微表情服务器等,在此不再赘述。
图3示出了本申请提供的机器学习算法的部署方法的示意性流程图,作为示例而非限定,该方法可以应用于上述用户终端202中。
S301,获取机器学习算法的程序文件;
上述机器学习算法可以是应用于浏览器上的任一机器学习算法,如特征提取算法等,本申请对机器学习算法的具体类型不作限制。机器学习算法包括模型和算法,模型为机器学习算法解决某一问题所采用的模型,如监督学习中,模型为所要学习的条件概率分布或决策函数。算法为模型的具体计算方法,如梯度下降等算法。
上述程序文件为机器学习算法在计算机运行时的代码文件,可选地,其包括源文件,该源文件为通过C、C++或Rust等静态编程语言对机器学习算法进行编写的代码文件,在本实施例中,其包括机器学习算法运行时的必要代码程序和机器学习算法的算法对应的函数代码。由于WebAssmebly和asm.js属于计算机内部对代码进行编译的过程,所以需要先通过可编写的计算机语言(如C、C++或Rust等)将机器学习算法编写为对应计算机语言的源文件,以便于在机器学习算法部署到web服务器时被web服务器或用户终端获取源文件,并将源文件编译为wasm/asm.js二进制文件。
可选地,上述程序文件可以包括源文件和机器学习算法所依赖的算法库的库文件,该源文件仅包括机器学习算法运行时的必要代码程序,该库文件为终端设备运行机器学习算法时链接算法库的可执行函数(如dll文件)的接口文件,如lib文件。通过将算法对应的函数代码从源文件中分离,从而减轻源文件的运行压力。
需要说明的是,在本实施例中,上述机器学习算法的模型对应的模型文件预先加载至浏览器的虚拟空间中,其可以在浏览器运行机器学习算法时被调用。
S302,将程序文件编译为预设格式,得到第一文件,预设格式包括wasm或asm.js;
本实施中,编译是指将源语言编写的源程序产生为目标程序的过程,即将高级语言变成计算机可以识别的二进制语言的过程。可选地,通过Emscripten将程序文件编译wasm文件或asm.js文件。具体地,通过Emscripten将机器学习算法的源文件编译为wasm二进制格式或asm.js格式,输出wasm文件或asm.js文件。应理解,Emscripten为用于将C语言编译为WebAssmebly二进制语言的编译器,在其他实施例中,还可以采用其他的编译器进行编译,此不作为本申请的限制。
S303,将第一文件加载至预设项目包中,并将预设项目包部署到预设服务器。
上述预设项目包可以为存储于web服务器的web项目文件包,其可以被客户端使用浏览器通过网络传输进行访问并获取相应的数据。预设服务器为浏览器能够访问的任一web服务器。
可选地,通过web服务器的IP地址远程连接web服务器,连接成功后,安装web项目的JDK(Java语言的软件开发包),并配置该JDK的环境变量,变量环境配置完成后,将第一文件存储至预设的web项目中,将web项目压缩为压缩包(如war包),安装应用程序(如tomcat),将war包拷贝至应用程序下的预设文件夹中(如webapps文件夹),最后启动应用程序以完成部署。
本实施例基于B/S(Browser/Server)架构开发,将含有wasm文件或asm.js文件的web项目部署到服务器上,这样能够使不同平台下的各种浏览器远程获取机器学习算法的wasm文件或asm.js文件,实现将原来机器学习算法部署于过重的座席端到Web服务器的转变,改变了应用机器学习算法的方式。
图4示出了本申请提供的另一种机器学习算法的部署方法的示意性流程图。需要说明的是,与图3实施例相同的步骤,此处不再赘述。
S401,获取机器学习算法的程序文件和模型文件;
上述模型文件为机器学习算法的模型对应的代码文件。
S402,将程序文件编译为预设格式,得到第一文件,预设格式包括wasm或asm.js;
S403,配置能够加载模型文件的第二文件;
上述第二文件为加载模型文件胶接代码(glue code)文件,如JavaScript胶接代码文件(js文件)。可选地,可以在编译wasm文件时,通过Emscripten编译器中的emcc命令选择配置指定wasm/asm.js文件获取模型文件所需要的js代码。应理解,js文件为基于JavaScript的文件,其可以被当前的所有浏览器识别和运行。
S404,将第一文件和第二文件加载至预设项目包中,并将预设项目包部署到预设服务器。
如S404的步骤,相应地将第二文件加载至web项目包中,一起部署到web服务器,从而在浏览器获取第一文件的同时,根据第二文件将模型文件加载浏览器的虚拟空间中,而无需在获取第一文件前预加载模型文件,简化了模型文件的加载过程。
在一种可能实现的方式中,在上述图3或图4所示实施例的基础上,上述步骤S302具体包括S3021至S3023。
S3021,将源文件编译为中间文件,中间文件的格式为编译源文件的编译器所对应的文件格式;
上述中间文件为编译器编译的中间代码,如通过Emscripten的LLVM前端clang将源文件变为LLVM中间代码,LLVM对中间代码进行优化。
S3022,将中间文件链接算法库文件,输出为预设格式的第一文件。
上述算法库为存储机器学习算法的函数代码的数据库,其可以为动态链接库或静态链接库,其中动态链接库可以使wasm文件或asm.js文件中不需要存放具体被调用的函数代码,这样可以节省内存资源,静态链接库可以在安装部署时,不需要挂动态库,简化安装部署过程。库文件为链接到算法库的dll文件(即算法库存放函数代码的文件)的内存地址,其本身不能够直接被执行,如lib文件。
可选地,通过Emscripten的LLVM后端Fastcomp将链接算法库文件的中间文件生成wasm文件或者asm.js文件。具体地,可以通过Emscripten编译器的emcc/em++命令编译各个算法库的lib文件,如opencv.lib、zip.lib等;将编译后的所有lib文件进行链接,编译输出wasm/asm.js,如em++*.cpp…opencv.lib zip.lib–o FE.js–s WASM=1–bind–memory-init-file 0–s PRECISE_F32=0,其中,.cpp为源文件,opencv.lib zip.lib为算法库文件,em++为编译器,-oFE.js表示输出的文件名为FE.js,-sWASM=1表示指定使用WebAssmebly(即生成wasm文件),-s PRECISE_F32=0表示数据类型为浮点型f32。
在编译时将中间文件与算法库文件进行链接,输出wasm文件,从而为wasm文件或asm.js文件运行时提供程序头文件(如.h文件)与lib文件,以使wasm文件或asm.js文件连接到各个算法库,进而调用算法库中的函数代码。
在一种可能实现的方式中,在上述图4实施例的基础上,上述步骤S403具体包括S4031和S4032。
S4031,将模型文件压缩为预设文件,并对预设文件进行加密;
可选地,通过打包工具将模型文件压缩为压缩文件,其中压缩文件的后缀名可以默认为.data,以及对压缩文件进加密。由于模型文件属于机器学习算法在某个应用场景下的处理与分析数据的关键文件,一旦模型文件被修改,则机器学习算法就不会按照原先构建的模型处理数据,所以将压缩文件进行加密,使压缩文件的源文件不会被其他人窃取,以及保护模型文件不会被其他人篡改。
S4032,基于加密后的预设文件,配置能够加载模型文件的第二文件。
上述第二文件可以在配置预设文件时进行配置,其能够提供给web前端使用,以使web前端指示wasm文件或asm.js文件加载上述预设文件。具体地,该js代码能够使前端通过http的方式获取模型文件,并加载到浏览器的虚拟文件系统中,当wasm文件或asm.js文件需要加载模型文件时,从虚拟文件系统中调取。
图5示出了本申请实施例提供的一种微表情识别方法的流程示意图。作为示例而非限定,该方法可以应用于上述用户终端202或座席端203。
S501,访问预设服务器,并获取预设服务器的预设项目包,预设项目包包括第一文件以及第二文件,其中,第一文件由特征提取算法的程序文件编译得到,且第一文件的文件格式包括wasm或asm.js,第二文件用于加载特征提取算法的模型文件;
上述第二文件可以是js文件,上述预设服务器可以是web服务器,用户终端的浏览器通过域名地址访问web服务器,并根据html代码从web服务器请求下载web项目中的js文件以及wasm文件或asm.js文件,wasm文件和asm.js文件为特征提取算法对应的可执行文件,其可以包含源文件和各个算法库的库文件对应的wasm格式代码或asm.js格式代码。
可选地,若文件格式为wasm,则将所述程序文件编译为本地机器码。对于支持webAssembly的浏览器,浏览器下载wasm文件后只需要做简单的编译就能执行。对于不支持webAssembly的浏览器,可以通过编译器直接编译为asm.js,再由浏览器运行。若文件格式为asm.js,则可直接被任何浏览器运行。
S502,基于第一文件和第二文件,提取用户图像的微表情特征数据;
上述用户图像可以是视频流中用户的脸部图像,也可以是用户人脸图片。微表情特征数据可以包括眼镜、鼻子、嘴巴、眉毛等人脸特征数据。具体地,根据程序文件获取到特征提取算法的算法函数,根据js文件获取特征提取算法的模型,根据算法函数和模型,提取用户图像的微表情特征数据。
可选地,根据js文件获取模型文件包括:根据js文件获取预设文件,向预设服务器请求解密密钥后,对预设文件进行解密和解压,得到模型文件。
S503,根据微表情特征数据,确定用户图像的风险等级。
上述风险等级为表示用户是否存在欺诈行为的指标,例如风险等级为安全、一般和失信等。
本实施例通过用户终端运行特征提取算法,在用户终端上提取用户的微表情特征数据,而无需在座席端提取用户的微表情特征数据,避免座席端因性能限制无法同时对多人进行面审,使得面审中心可以同时对多个用户进行视频面审。
在一种可能实现的方式中,上述步骤S502包括S5021至S5023。
S5021,根据第一文件,得到特征提取算法的源文件以及特征提取算法所依赖的算法库文件;
根据程序文件的文件格式,将程序文件编译为用户终端的浏览器能够支持的机器码,运行机器码得到特征提取算法的源文件和所依赖的算法库文件,以及浏览器根据算法库文件,动态或静态链接到算法库的库文件,以获取算法库中的算法函数。
S5022,根据第二文件,加载特征提取算法的模型文件;
用户终端的浏览器根据js文件,通过http的方式获取模型文件,并加载到浏览器的虚拟文件系统中,当wasm文件或asm.js文件需要加载模型文件时,从虚拟文件系统中调取。
S5023,根据源文件、算法库文件和模型文件,提取用户图像的微表情特征数据。
上述库文件包含特征提取算法的算法函数,模型文件包含特征提取算法的模型,根据模型运行算法函数,提取用户图像的微表情特征数据。
在一种可能实现的方式中,上述步骤S503包括S5031至S5033:
S5031,将微表情特征数据发送至预设终端;
预设终端可以为面审中心的座席端,也可以为微表情服务器。用户终端将微表情特征数据发送至座席端时,座席端可以调用微表情识别算法对微表情特征数据进行处理和分析,其中微表情识别算法可以存储于座席端的存储器中,也可以由微表情服务器提供。用户终端将微表情特征数据发送至微表情服务器时,微表情服务器上的微表情识别算法是对微表情特征数据进行处理和分析。
S5032,获取预设终端返回的微表情特征数据对应的风险值;
预设终端通过微表情识别算法对微表情特征数据进行处理和分析后,输出对应的风险值,用户终端获取该风险值。
S5033,根据风险值与风险等级的预设对应关系,确定用户图像的风险等级。
可选地,设置风险范围与风险等级的对应关系表,根据风险值所在的风险范围确定对应的风险等级。
为了清楚理解本申请的视频面审中的微表情识别过程,图6示出本申请提供视频面审的场景示意图。应理解,图6仅作为示例而非限定。
如图6所示,视频面审系统包括web服务器、用户终端、视频服务器、座席端和微表情服务器,各个设备之间通过有线连接或无线连接。
座席端向用户终端发送视频面审请求,用户终端接收到该视频面审请求后,调用用户终端上的摄像头,以及通过非IE内核浏览器向web服务器发送获取web项目包的请求,web服务器向用户终端返回web项目包。用户终端接收该web项目包,并根据图5实施例所示的方法,获取web项目包对应的源文件、算法库文件和模型文件。
座席端通过网络向用户(如借款人)提问问题,用户终端通过自身的摄像头采集用户在回答问题过程中的视频数据,同时运行源文件、算法库文件和模型文件,以对摄像头获取到的视频数据中的用户图像进行微表情特征提取,得到微表情特征数据。
用户终端将视频数据通过视频服务器发送至座席端,以提供给座席端的工作人员查看,同时将微表情特征数据通过网络传输至座席端,座席端接收到微表情特征数据后,根据数据发送源确定视频数据与微表情特征数据的对应关系,并将微表情特征数据发送至微表情服务器。
微表情服务器根据微表情识别算法对微表情特征数据进行处理和分析,得到风险值,并将该风险值返回至座席端。座席端根据风险值与风险等级的对应关系,确定该用户的风险等级。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述机器学习算法的部署方法实施例或实现上述微表情识别方法实施例中的步骤。
所述终端设备7可以是手机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括但不仅限于处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种机器学习算法的部署方法,其特征在于,包括:
获取机器学习算法的程序文件;
将所述程序文件编译为预设格式,得到第一文件,所述预设格式包括wasm或asm.js;
将所述第一文件加载至web项目包中,并将所述web项目包部署到web服务器。
2.如权利要求1所述的机器学习算法的部署方法,其特征在于,还包括:
获取机器学习算法的模型文件;
配置能够加载所述模型文件的第二文件;
所述将所述第一文件加载至web项目包中,并将所述web项目包部署到web服务器,包括:
将所述第一文件和所述第二文件加载至web项目包中,并将所述web项目包部署到所述web服务器。
3.如权利要求1或2所述的机器学习算法的部署方法,其特征在于,所述程序文件包括所述机器学习算法的源文件和该算法所依赖的算法库文件;
所述将所述程序文件编译为预设格式,得到第一文件,包括:
将所述源文件编译为中间文件,所述中间文件的格式为编译所述源文件的编译器所对应的文件格式;
将所述中间文件链接所述算法库文件,输出为所述预设格式的所述第一文件。
4.如权利要求2所述的机器学习算法的部署方法,其特征在于,所述配置能够加载所述模型文件的第二文件,包括:
将所述模型文件压缩为预设文件,并对所述预设文件进行加密;
基于加密后的预设文件,配置能够加载所述模型文件的所述第二文件。
5.一种微表情识别方法,其特征在于,包括:
访问web服务器,并获取所述web服务器的web项目包,所述web项目包包括第一文件以及第二文件,其中,所述第一文件由特征提取算法的程序文件编译得到,且所述第一文件的文件格式包括wasm或asm.js,所述第二文件用于加载所述特征提取算法的模型文件;
基于所述第一文件和所述第二文件,提取用户图像的微表情特征数据;
根据所述微表情特征数据,确定所述用户图像的风险等级。
6.如权利要求5所述的微表情识别方法,其特征在于,所述程序文件包括所述特征提取算法的源文件和该算法所依赖的算法库文件;
所述基于所述第一文件和所述第二文件,提取用户图像的微表情特征数据,包括:
根据所述第一文件,得到所述特征提取算法的源文件以及所述特征提取算法所依赖的算法库文件;
根据所述第二文件,加载所述特征提取算法的模型文件;
根据所述源文件、所述算法库文件和所述模型文件,提取所述用户图像的微表情特征数据。
7.如权利要求5所述的微表情识别方法,其特征在于,所述根据所述微表情特征数据,确定所述用户图像的风险等级,包括:
将所述微表情特征数据发送至预设终端;
获取所述预设终端返回的所述微表情特征数据对应的风险值;
根据所述风险值与风险等级的预设对应关系,确定所述用户图像的风险等级。
8.如权利要求5至7任一项所述的微表情识别方法,其特征在于,所述基于所述第一文件和所述第二文件,提取用户图像的微表情特征数据之前,还包括:
若所述第一文件的文件格式为wasm,则将所述第一文件编译为本地机器码。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项或者5至8任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项或者5至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010604621.6A CN111724248A (zh) | 2020-06-29 | 2020-06-29 | 机器学习算法的部署方法、微表情识别方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010604621.6A CN111724248A (zh) | 2020-06-29 | 2020-06-29 | 机器学习算法的部署方法、微表情识别方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111724248A true CN111724248A (zh) | 2020-09-29 |
Family
ID=72569633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010604621.6A Pending CN111724248A (zh) | 2020-06-29 | 2020-06-29 | 机器学习算法的部署方法、微表情识别方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111724248A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269602A (zh) * | 2020-11-10 | 2021-01-26 | 深圳晶泰科技有限公司 | 一种WebAssembly加载方法、装置及存储介质 |
CN112435320A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 一种数据处理方法、装置及电子设备和存储介质 |
CN113590282A (zh) * | 2021-07-19 | 2021-11-02 | 海宁奕斯伟集成电路设计有限公司 | 算力调度方法、系统、电子设备及计算机可读存储介质 |
CN114598920A (zh) * | 2022-03-04 | 2022-06-07 | 北京百度网讯科技有限公司 | 一种视频播放控制方法、装置、设备以及存储介质 |
CN114745599A (zh) * | 2022-03-10 | 2022-07-12 | 慧之安信息技术股份有限公司 | 基于wasm的web端无插件监控实时预览方法 |
JP2023542574A (ja) * | 2021-08-30 | 2023-10-11 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | モデル保護方法、装置、機器、システム、記憶媒体及びプログラム |
-
2020
- 2020-06-29 CN CN202010604621.6A patent/CN111724248A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435320A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 一种数据处理方法、装置及电子设备和存储介质 |
CN112435320B (zh) * | 2020-11-05 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种数据处理方法、装置及电子设备和存储介质 |
CN112269602A (zh) * | 2020-11-10 | 2021-01-26 | 深圳晶泰科技有限公司 | 一种WebAssembly加载方法、装置及存储介质 |
CN112269602B (zh) * | 2020-11-10 | 2023-12-29 | 深圳晶泰科技有限公司 | 一种WebAssembly加载方法、装置及存储介质 |
CN113590282A (zh) * | 2021-07-19 | 2021-11-02 | 海宁奕斯伟集成电路设计有限公司 | 算力调度方法、系统、电子设备及计算机可读存储介质 |
JP2023542574A (ja) * | 2021-08-30 | 2023-10-11 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | モデル保護方法、装置、機器、システム、記憶媒体及びプログラム |
CN114598920A (zh) * | 2022-03-04 | 2022-06-07 | 北京百度网讯科技有限公司 | 一种视频播放控制方法、装置、设备以及存储介质 |
CN114745599A (zh) * | 2022-03-10 | 2022-07-12 | 慧之安信息技术股份有限公司 | 基于wasm的web端无插件监控实时预览方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111724248A (zh) | 机器学习算法的部署方法、微表情识别方法及终端设备 | |
CN105068932B (zh) | 一种Android应用程序加壳的检测方法 | |
US20190156246A1 (en) | Generating and deploying packages for machine learning at edge devices | |
CN111095338A (zh) | 用于执行不同类型区块链合约的系统和方法 | |
CN109891415B (zh) | 针对未经授权的客户端应用程序保护Web服务器 | |
CN113568626B (zh) | 动态打包、应用程序包开启方法、装置和电子设备 | |
CN111142884A (zh) | 小程序的版本部署方法、装置、电子设备及存储介质 | |
CN112214653A (zh) | 字符串识别方法、装置、存储介质及电子设备 | |
CN113032202A (zh) | 芯片验证方法、系统、装置、计算机设备及存储介质 | |
CN112154417B (zh) | 经由仿真网络通信信道在应用的单机版本和基于Web的版本之间共享代码库 | |
KR101557455B1 (ko) | 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법 | |
CN110555761A (zh) | 在区块链上进行金融抵押借贷数字货币的方法及其装置 | |
CN112416303B (zh) | 软件开发工具包热修复方法、装置及电子设备 | |
CN113535263A (zh) | 动态库调用方法、装置、计算机设备及存储介质 | |
CN117056507A (zh) | 长文本分析方法、长文本分析模型训练方法及相关设备 | |
CN114881235A (zh) | 推理服务调用方法、装置、电子设备及存储介质 | |
CN113127860B (zh) | 可执行文件的检测方法、装置、终端及存储介质 | |
CN110245066B (zh) | 应用运行环境创建方法、创建装置、电子设备及存储介质 | |
CN107403103A (zh) | 文件解密方法和装置 | |
CN111274551A (zh) | 基于编译器的java代码保护方法、装置及电子设备 | |
CN112559328B (zh) | 指令模拟引擎的判别方法、装置、设备及介质 | |
CN110430175B (zh) | 基于ac35平台的加密协议植入方法、装置及设备 | |
CN113778773B (zh) | Sim卡模拟方法、装置和电子设备 | |
CN116136782A (zh) | 人工智能处理方法、装置、终端设备及可读存储介质 | |
US11030087B2 (en) | Systems and methods for automated invocation of accessibility validations in accessibility scripts |
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 |