一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨平台数据处理方法及装置、框架、电子设备、存储介质与流程

2022-12-19 21:55:10 来源:中国专利 TAG:


1.本技术涉及机器视觉技术领域,具体涉及一种跨平台数据处理方法及装置、框架、电子设备、存储介质。


背景技术:

2.在面向计算机视觉(computer vision,cv)的各类计算平台上,存在不同类型的异构硬核加速器、可编程处理器等加速模块或者使用dsp(digital signal processing,数字信号处理器)、cpu(central processing unit,中央处理器)、gpu(graphic processing unit,图形处理器)等相对通用的计算模块。对于同一cv操作来说,不同计算模块对处理的数据的大小和排布、能处理的数据范围、加速方式等都会有不同,各自的sdk(software development kit,软件开发工具包)提供的软件接口和使用惯例也有区别。这对于开发跨平台,可移植的应用程序带来了巨大挑战:需要学习不同平台的不同计算模块的功能特性,限制和使用方法;需要适配不同计算模块的sdk提供的接口;需要在不同平台手工配置使用哪个计算模块进行计算。
3.cv计算平台除了cpu和bpu(branch processing unit分支处理单元)外,还带有其他硬件加速单元,如gdc(graphic display control,图像显示控制器)、stitch、光流、dsp等。而在进行ai(artificial intelligenc,人工智能)应用开发的时候,除了基于深度学习的模型推理,还需要大量的非ai的基础cv操作,如图像的remap、blur、stitch、resize等,这些基础cv操作,要么放在cpu上执行,消耗了大量的cpu算力;要么需要针对芯片进行代码适配,调用系统软件提供的底层接口。
4.因此,迫切需开发一个通用的计算框架将其芯片上的不同计算模块统一管理起来,实现跨平台的执行框架,来降低应用程序开发者使用硬件加速单元的学习成本和开发难度,提高应用程序的开发效率和迭代速度。


技术实现要素:

5.鉴于以上所述现有技术的缺点,本发明提供一种跨平台视觉操作方法及操作框架、电子设备、存储介质,以解决上述技术问题。
6.本发明提供一种跨平台视觉数据处理方法,包括:获取入口,所述入口为数据处理的起始位;获取自定义设备;基于所述自定义设备,创建设备任务;执行所述设备任务;待所述设备任务执行完毕,停止所有设备。
7.于本发明的一实施例中,所述获取入口之前还包括启动前准备,所述启动前准备包括:自定义设备;自定义视觉计算逻辑;将所述自定义设备和所述视觉计算逻辑注册到计算框架中;编译所述计算框架生成二进制库,以得到视觉计算框架。
8.于本发明的一实施例中,基于所述设备,创建设备任务,包括:获取所述设备的视觉计算逻辑;基于所述设备的视觉计算逻辑创建执行视觉计算逻辑的运行环境(icontext)、框架操作及相关参数(icvop)、系统分配的资源容器(cvdevsession)及上下文
选项(option),并设置自定义参数;所述运行环境、框架操作及相关参数、系统分配的资源容器及opion参数,创建设备任务(cvdevtask)。
9.于本发明的一实施例中,执行所述设备任务,包括:基于所述设备任务分配输入媒体内存;基于所述设备任务分配输出媒体内存;基于所述输入媒体内存和所述输出媒体内存,运行任务。
10.于本发明的一实施例中,待所述设备任务执行完毕,停止所有设备,销毁所述设备任务;释放所述输入、输出媒体内存;销毁系统分配的资源容器;停止所有设备。
11.本发明的跨平台视觉数据处理装置包括:入口获取模块、设备获取模块、任务创建模块、任务执行模块及设备停止模块,所述入口获取模块配置为获取视觉框架入口;所述设备获取模块配置为获取设备;所述任务创建模块配置为基于所述设备创建设备任务;所述任务执行模块配置为执行所述设备任务;所述设备停止模块配置为停止所有设备。
12.本发明的跨平台视觉计算框架包括c 接口层、前端接入层、核心实现层、设备接口层及设备层,所述设备层通过所述设备连接层与所述核心实现层通讯连接,所述c 接口层用于开发者开发使用;所述前端接入层用于连接所述c 接口层与所述核心实现层,所述核心实现层包括本发明的跨平台视觉数据处理装置。
13.于本发明的一实施例中,所述c 接口层包括icvop、iimage、icontext、isession、itask和idevice接口类,所述icvop表示要进行的cv操作以及相关的参数,所述iimage是对图像数据的抽象,所述icontext表示执行cvop的运行环境,所述isession表示为了cvop执行,系统分配的资源的容器,所述itask用于表示记录一次cvop执行的状态,所述idevice是对底层设备的抽象,用于查询/profiling以及给外部调度器实现所需的接口。
14.本发明的电子设备,包括一个或多个处理器和存储装置,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现本发明的跨平台视觉数据处理方法。
15.本发明的计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行本发明的跨平台视觉数据处理方法
16.本发明的有益效果:本发明中的跨平台视觉算法框架作为一个中间件,以头文件和二进制库的方式提供给应用程序开发者,多个程序可以通过跨平台统一的api接口调用底层的计算模块来完成cv操作的计算,以此来降低应用程序开发者使用硬件加速单元的学习成本和开发难度,提高应用程序的开发效率和迭代速度。
17.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
19.图1是本技术的一示例性实施例示出的跨平台视觉数据处理方法的流程图;
20.图2是本技术的一示例性实施例示出的视觉计算框架的开发流程图;
21.图3是图2所示实施例中的步骤s230在一示例性的实施例中的流程图;
22.图4是图1所示实施例中的步骤s130在一示例性的实施例中的流程图;
23.图5是图4所示实施例中步骤s420在一示例性实施例中的流程图;
24.图6是图1所示实施例中的步骤s140在一示例性的实施例中的流程图;
25.图7是图1所示实施例中的步骤s150在一示例性的实施例中的流程图;
26.图8是本技术的一示例性实施例示出的跨平台视觉数据处理装置的框图;
27.图9是本技术的一示例性实施例示出的跨平台视觉计算框架的架构示意图;
28.图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
29.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
30.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
31.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
32.首先需要说明的是,计算机视觉(computer vision)是指用计算机实现人的视觉功能——对客观世界的三维场景的感知、识别和理解。这意味着计算机视觉技术的研究目标是使计算机具有通过二维图像认知三维环境信息的能力。因此不仅需要使机器能感知三维环境中物体的几何信息(形状、位置、姿态、运动等)而且能对它们进行描述、存储、识别与理解。计算机视觉借助于几何、物理和学习技术来构筑模型,用统计的方法来处理数据。
33.算法集成框架的主要功能是:(1)提供一个标准化算法集成平台,以便各种功能算法的快速集成和验证;(2)作为可以连接客户端、硬件设备及算法的功能平台,实现各种数据的分析和传递。现有的算法集成框架大体都包含算法库导入、模板创建、算法执行和结果显示四大流程。算法导入是指设计符合对应算法框架要求的参数配置和动态库开发,通过创建模板为各数据分配算法任务流程,框架根据任务流程调用执行各算法,并将算法执行的结果发送至客户端显示。
34.目前,在面向计算机视觉的各类计算平台上,存在不同类型的异构硬核加速器、可编程处理器等加速模块或者使用dsp、cpu、gpu等相对通用的计算模块。对于同一计算机视觉操作来说,不同计算模块对处理的数据的大小和排布、能处理的数据范围、加速方式等都会有不同,各自的sdk提供的软件接口和使用惯例也有区别,严重影响了应用程序开发的开发效率和迭代速度。
35.为解决这些问题,本技术的实施例分别提出一种跨平台视觉数据处理方法、一种跨平台视觉数据处理装置、一种跨平台视觉计算框架、一种电子设备及一种计算机可读存储介质,以下将对这些实施例进行详细描述。
36.请参阅图1,图1是本技术的一示例性实施例示出的跨平台视觉数据处理方法的流程图。
37.如图1所示,在一示例性的实施例中,跨平台视觉数据处理方法至少包括步骤s310至步骤s350,详细介绍如下:
38.步骤s110,获取入口,所述入口为数据处理的起始位。
39.首先需要说明的是,本技术的数据处理在视觉计算框架中进行,视觉计算框架是一个通用的计算框架,其将芯片上不同的计算模块统一管理,并可实现跨平台的统一执行、调用接口和使用惯例,可以降低应用开发者使用硬件加速单元的学习成本和开发难度,提高应用程序的开发效率和迭代速度。获取视觉计算框架的入口即启动计算框架。
40.框架中的接口都需要从cvframework::instance()直接或者间接获得。在cvframework::instance()第一次被调用时,将进行框架的初始化,调用各个模块的初始化函数,而各个模块的初始化函数是通过dummy的全局对象的构造函数注册到初始化框架中。
41.步骤120,获取自定义设备。
42.自定义设备即用户自定义设备,指异构计算模块,例如,dsp、gpu、cpu、bpu、gdc等计算模块,各模块处理数据的大小和排布,能处理的数据范围,加速方式等都会有不同。在视觉计算框架开发过程中,开发者先将用户自定义设备及自定义视觉计算逻辑注册到计算框架中,框架经编译后生成二进制库。即,视觉计算框架内存有相应设备的视觉计算逻辑,使用者在使用时,通过设备管理器(devicemanager)可获取相应的计算机视觉操作设备(cvdevice)。即:
43.cvdevice*dev=devicemanager::instance()-》getdevice("hellodevice")。
44.步骤130,基于所述自定义设备,创建设备任务。
45.创建设备任务即依据获取自定义设备及视觉计算逻辑创建系统运行环境、相关参数、系统分配的资源的容器等。
46.步骤s140,执行所述设备任务。
47.执行设备任务即在视觉算法框架中执行各设备的视觉逻辑计算,执行任务时,依据步骤s130配置的运行环境、相关参数、系统分配的资源的容器等条件执行各设备的视觉逻辑计算任务。
48.步骤s150,停止所有设备的运行,即待各设备任务执行完毕后,停止所有设备。
49.请参阅图2,图2是本技术的一示例性实施例示出的视觉算法框架的开发流程图。如图2所示,获取视觉算法框架的入口之前还包括启动前准备,所述启动前准备即觉计算框架的开发,可以包括步骤s210至步骤s240,详细介绍如下:
50.s210,自定义设备。
51.自定义设备即用户自定义设备,指计算模块,例如,dsp、gpu、cpu、bpu、gdc等计算模块,各模块处理数据的大小和排布,能处理的数据范围,加速方式等都会有不同,用户根据需求选择多种不同计算模块。
52.s220,自定义视觉计算逻辑。
53.不同的设备对应不同的视觉计算逻辑,自定义视觉计算逻辑即依据所选设备自定义相应视觉计算逻辑。
54.s230,将所述自定义设备及所述视觉计算逻辑注册到计算框架中。
55.将自定义设备和视觉计算逻辑注册到计算框架中,使得计算框架中存储有相应的设备和视觉计算逻辑,用户在使用时,可直接从计算框架中调取。
56.s240,编译所述计算框架生成二进制库,以得到视觉计算框架。
57.图3是图2所示实施例中的步骤s230在一示例性的实施例中的流程图。如图3所示,将所述设备及所述视觉计算逻辑注册到计算框架中,可以包括步骤s310至步骤s340,详细介绍如下:
58.s310,注册设备:
59.register_sys_init_function(mod_device_level,hello_device,hello_register_function,false);
60.通过hello_register_function函数将自己实现的hellodevice类注册到devicemanager中。hellodevice继承自idevbackend。
61.s320,启动设备:
62.register_sys_init_function(mod_mid_level,start_all_device,register_device_start_function,true)。
63.s330,注册设备调度器:
64.应用程序在icontext中设置字符串属性“device_scheduler”为新的调度策略名来使用新策略。
65.register_sys_init_function(mod_device_level,sequence_scheduler,register_sequence_scheduler,false);
66.s340,注册cvop工厂:
67.register_sys_init_function(mod_op_level,helloop,op_register_function,false)。
68.图4是图1所示实施例中的步骤s130在一示例性的实施例中的流程图,图5是图4所示实施例中步骤s420在一示例性实施例中的流程图。如图4所示,基于所述自定义设备,创建设备任务可以包括步骤s410至步骤s430,详细介绍如下:
69.步骤s410、获取自定义视觉计算逻辑。
70.视觉计算框架中每一设备有对应的视觉计算逻辑,因此,获取自定义设备即可获取视觉计算逻辑。
71.步骤s420、基于所述自定义设备及视觉计算逻辑创建icontext、icvop、cvdevsession及opion,并设置自定义参数,创建过程如图5所示:
72.s510、创建icontext
73.icontext*context=new cvcontext();
74.s520、创建icvop
75.icvop*op=createop();

opregistry::instance()-》create("helloop",1)
76.s530、创建cvdevsession
77.cvdevsession*session=dev-》createsession(context,op,input_shapes,mem_pix_fmt_nv12);
78.s540、创建option,并设置自定义参数
79.cvoption*option=new cvoption("param");
80.option-》setparammem("vio_out",&result_addr,sizeof(uint8_t*));
81.option-》setparampointer("int_pointer",&demo_data)。
82.步骤s430、待步骤s220各参数配置完成后,创建cvdevtask,具体如下:
83.cvdevtask*sync_task=session-》createtask(true,inputs,outputs,ktaskpriomiddle,option)。
84.图6是图1所示实施例中的步骤s140在一示例性的实施例中的流程图。如图6所示,执行所述设备任务的过程可以包括步骤s610至步骤s630,详细介绍如下:
85.步骤s610,基于所述设备任务分配输入媒体内存:
86.session-》allocinputmem(inputs);
87.步骤s620,基于所述设备任务分配输出媒体内存:
88.session-》allocoutputmem(outputs);
89.步骤s630,基于输入媒体内存和所述输出媒体内存,运行任务:
90.session-》runtask(sync_task);
91.运行任务依次调用:
92.cvdevsession::runtask(cvdevtask*cv_task)
93.taskscheduler::schedule(cvdevtask*cv_task)
94.taskscheduler::run(cvdevtask*cv_task)
95.taskscheduler::runappsynctask(cvdevtask*cv_task)
96.taskscheduler::rundevsynctask(cvdevtask*cv_task)
97.cvdevsession::rundevsynctask(cvdevtask*cv_task)
98.idevsession(hellosession)::execsynctask(idevtask*task)
99.idevsession(hellosession)::executeop(hellotask*task)
100.idevop(hellodevop)::run(idevtask*task).
101.图7是图1所示实施例中的步骤s150在一示例性的实施例中的流程图。如图7所示,停止所有设备过程可以包括步骤s710至步骤s730,详细介绍如下:
102.s710,销毁所述设备任务
103.session-》destroytask(sync_task);
104.s720,释放输入输出媒体内存
105.session-》freemem(input_image);
106.session-》freemem(output_image);
107.s730,销毁session
108.dev-》destroysession(session);
109.s740,停止所有设备
110.register_sys_release_function(mod_mid_level,stop_all_device,register_device_stop_function)。
111.图8是本技术的一示例性实施例示出的跨平台视觉数据处理装置的框图。如图8所示,该示例性的跨平台数据处理装置包括:
112.入口获取模块801,配置为获取入口,其中,所述入口即程序的起始点;设备获取模块802,配置为获取自定义设备,通过设备管理器获取自定义设备;任务创建模块803,配置为基于所述自定义设备,创建设备任务;任务执行模块804,配置为执行设备任务;设备停止模块,配置为终止所有设备的运行。
113.图9是本技术的一示例性实施例示出的跨平台视觉计算框架的架构示意图。如图9所示,该示例性的跨平台视觉计算框架包括:c 接口层901、前端接入层902、核心实现层903、设备接口层904及设备层905,c 接口层901用于计算框架开发过程中,开发者通过c 接口层901完成视觉计算框架的开发;前端接入层902是接口类的具体实现类,cvframework类提供了整个框架的入口,所有的接口都是直接或者间接从cvframework类获取;核心实现层903是视觉计算框架的核心层,其包括本技术的跨平台视觉数据处理装置;前端接入层902实现c 接口层901与核心实现层903的通讯连接;设备层905为自定义设备,其包括多种不同的设备,设备接口层904实现设备层905与核心实现层903的通讯连接。
114.在一示例性的实施例中,c 接口层901包括icvop接口类、iimage接口类、icontext接口类、isession接口类、itask接口类及idevice接口类。其中,icvop表示要进行的cv操作以及相关的参数,iimage是对图像数据的抽象,icontext表示执行cvop的运行环境,比如,系统可用的设备列表和优先级,isession用来表示为了cvop执行,系统分配的资源的容器,itask用来记录一次cvop执行的状态,idevice是对底层设备的抽象,主要提供查询/profiling以及给外部调度器实现所需的接口。各类接口的设计过程参见表1至表4。
115.表1:cvop类设计
116.主要功能接口说明命名 版本号op_name op_version 注册各类型参数registerparamfloat 设置各类型参数setparamfloat 117.表2:iimage类设计
[0118][0119]
表3:icontext类设计
[0120][0121][0122]
表4:isession类设计
[0123]
[0124][0125]
在一示例性的实施例中,核心实现层903实现了框架的核心功能,包括设备调度、任务调度等,核心实现层903包括devmanager、devicescheduler、taskscheduler、execdevice、cvdevice及pluginmanager,其中,cvdevice是底层设备在系统中的实体代表,execdevice则是用来表示某个cvop被绑定到某个cvdevice上执行,而devmanager、devicescheduler、taskscheduler则是辅助核心实现层完成设备调度、任务调度等核心功能。
[0126]
在一示例性的实施例中,设备接口层904定义了cacv设备需要实现的接口。在框架中,描述计算逻辑的op被称为cvop,在设备中实现cvop计算过程的被称为devop。每个设备需要从下面五个类派生自己的类。idevbackend是设备抽象接口,提供的设备的最外层接口,idevsession定义了设备执行一个op时,分配的资源的容器。idevtask用于保存执行一次op时的状态以及临时分配资源的容器,包含输入输出数据。idevop实现在设备执行op。由于一个op可能被多个线程同时调用,一般建议op实现为无状态,而相关的状态保存在session和task中。icvbuffer从该类派生出来用于保存设备分配的设备私有内存。
[0127]
本发明的跨平台视觉计算框架可以实现设备自动调度功能:当cv操作的参数超过硬件加速模块限制时,自动选择cpu来执行;当硬件加速模块负载过重时,自动选择cpu来执行。除了能运行在x86和arm(地平线,nvidia等)的各种平台之外,还支持linux/windows等os,以最大程度支持跨平台应用程序的开发。
[0128]
为了支持特定场景的需求,框架还给应用程序提供了指定计算模块的能力,以及
设定cv操作优先级的能力:被调度到同一个设备的多个cv操作将按优先级的先后被执行。
[0129]
需要说明的是,上述实施例所提供的跨平台视觉计算框架、与上述跨平台视觉数据处理装置和上述实施例所提供的跨平台视觉数据处理方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的跨平台视觉计算框架、跨平台视觉数据处理装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
[0130]
本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的跨平台视觉数据处理方法。
[0131]
图10示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0132]
如图10所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从储存部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
[0133]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
[0134]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
[0135]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任
意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0136]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0137]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0138]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的跨平台视觉数据处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0139]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的跨平台视觉数据处理方法。
[0140]
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献