确定用于卷积神经网络的加权的方法和装置与流程

文档序号:23314149发布日期:2020-12-15 11:46阅读:256来源:国知局
确定用于卷积神经网络的加权的方法和装置与流程

本公开总体上涉及移动计算,并且更具体地涉及确定用于卷积神经网络的加权的方法和装置。



背景技术:

手持移动计算设备(例如,蜂窝电话和手持媒体设备)、其他类型的计算设备(例如,平板计算设备和膝上型计算机)通常配备有相机。用户操作这种相机以捕获数字图像和视频。计算设备有时还配备有其他类型的传感器,包括用于捕获数字音频录音的麦克风。可以将数字图像和视频以及数字音频录音本地地存储在计算设备的存储器中,或者可以将它们通过诸如互联网之类的公共网络或通过专用网络发送到网络可访问的存储位置。在任何情况下,这些数字图像和视频以及数字音频可以由这些图像和视频的创建者或具有访问特权的其他人随后访问。

附图说明

图1a示出了以移动相机的形式的示例客户端设备。

图1b示出了能够执行图6的机器可读指令以实现图1a、图1b和图2的移动相机和/或图1a和图1b的vpu从而生成用于对应的cnn的调整后的加权的示例硬件平台。

图2示出了与对应的移动相机和云系统进行无线通信的以移动电话主机设备的形式的示例客户端设备。

图3示出了图1a、图1b和图2的移动相机的示例实现方式,该移动相机可以用于训练对应的卷积神经网络(cnn)并生成更新后的加权值以用于cnn的特征识别过程来基于传感器数据标识特征。

图4示出了图2的服务器同步的加权生成器的示例实现方式,该服务器同步的加权生成器可以在图2的云系统的服务器中实现,以生成用于图1a、图1b和图2的移动相机的cnn中的服务器同步的加权。

图5示出了表示示例机器可读指令的流程图,该示例机器可读指令可以被执行以实现图2和图4的服务器同步的加权生成器,以生成用于图1a、图1b、图2和图3的移动相机的cnn中的服务器同步的加权。

图6是表示示例机器可读指令的流程图,该示例机器可读指令可以被执行以实现图1a、图1b、图2和图3的移动相机和/或图1a和图1b的vpu从而生成用于对应的cnn的更新后的加权。

图7是处理器平台,该处理器平台能够执行图5的机器可读指令以实现图2和图4的服务器同步的加权生成器,从而生成用于图1a、图1b、图2和图3的移动相机的cnn中的服务器同步的加权。

附图未按比例绘制。相反,为了清楚起见,在附图中可以放大不同的示出的方面。通常,在整个附图和随附的书面描述中将使用相同的附图标记来指代相同或类似的部分。

具体实施方式

本文公开的示例方法和装置在基于云的系统中生成并提供用于客户端设备中的卷积神经网络(cnn)的cnn加权。结合被实现为移动相机的客户端设备来描述本文公开的示例,该移动相机可以用于监督监视、生产力、娱乐和/或辅助用户日常活动的技术(例如,辅助技术)。示例移动相机监视环境特性以标识在这种环境特性中感兴趣的特征。由这样的移动相机监视的示例环境特性包括视觉特性、音频特性和/或运动特性。为了监视这样的环境特性,本文公开的示例移动相机设置有多个传感器。示例传感器包括相机、麦克风和/或运动检测器。在不脱离本公开的范围的情况下,也可以提供用于监视其他类型的环境特性的其他类型的传感器。

在特征识别过程中使用卷积神经网络(或cnn)来识别不同类型的数据中的特征。例如,cnn的结构包括多个神经元(例如,节点),这些神经元以用于过滤输入数据的配置布置和/或彼此连接。通过使用神经元在输入数据传播通过cnn时应用这种过滤,cnn可以生成一个或多个概率值,该概率值指示一个或多个特征存在于输入数据中的可能性。例如,cnn可以产生输入图像数据包括狗的1.1%的概率、输入图像数据包括猫的2.3%的概率以及输入图像数据包括人的96.6%的概率。以这种方式,设备或计算机可以使用概率值来确认具有一个或多个最高概率的一个或多个特征存在于输入数据中。

cnn应用的过滤基于cnn网络加权。如本文中所使用的,cnn网络加权是系数值,这些系数值被存储、加载或以其他方式提供给cnn以供cnn的神经元使用来对输入数据执行卷积以识别输入数据中的特征。通过改变cnn网络加权的值,cnn对输入数据执行的卷积会导致不同类型的过滤。因此,这种卷积对检测输入数据中的期望特征的过滤质量或有用性是基于用于cnn网络加权的值的。例如,可以通过测试不同的cnn网络加权值并调整这种加权值以增加与数据中特定特征的存在相对应的生成概率的准确度,来训练cnn以检测或识别数据中的特征。当找到令人满意的加权值时,可以将加权值加载到cnn中以用于分析随后的输入数据。可以不时地对cnn进行重新训练,以调整或完善cnn网络加权值,以便在不同的环境条件下使用、用于不同质量的数据和/或用于识别不同的或附加的特征。本文公开的示例可以用于生成和/或调整cnn网络加权,以结合要由cnn分析以进行特征识别的任何类型的输入数据使用。示例输入数据包括由传感器(例如,相机(例如,图像或视频)、麦克风(例如,音频数据、声压数据等)、运动传感器(例如,运动数据)、温度传感器(例如,温度数据)、压力传感器(例如,大气压数据)、湿度传感器(例如,湿度数据)、雷达(例如,雷达数据)、辐射传感器(例如,辐射数据)、射频(rf)传感器(例如,rf数据)等)生成的传感器数据。其他示例输入数据可以是计算机生成的数据和/或计算机收集的数据。例如,可以采用本文公开的示例来生成和/或调整cnn网络加权,以对大量收集和/或生成的数据执行基于cnn的特征识别,以在诸如销售、互联网业务、媒体观看、天气预报、金融市场绩效分析、投资分析、传染病趋势之类的领域中和/或可以通过分析相关数据来检测特征、趋势或事件的任何其他领域中标识过去事件、当前事件或未来事件中的模式或特征。

本文公开的示例通过从多个客户端设备收集大量设备生成的cnn网络加权,并结合使用所收集的cnn网络加权来在云服务器或可以访问设备生成的cnn网络加权的其他远程计算设备处生成改进的cnn网络加权的集合,来实现众包或联邦学习。例如,云服务器或其他远程计算设备可以通过使用由多个客户端设备生成的完善或调整后的cnn网络加权(例如,调整后的加权),以众包或联邦学习的方式利用基于客户端的学习。即,随着客户端设备重新训练其cnn以优化其基于cnn的特征识别能力,这种重新训练导致设备生成的调整后的cnn网络加权随时间的推移而改进,从而实现更准确的特征识别。在本文公开的示例中,云服务器从客户端设备收集这种设备生成的调整后的cnn网络加权,并且使用设备生成的调整后的cnn网络加权来生成改进的cnn网络加权,云服务器可以将该改进的cnn网络加权发送到相同或不同客户端设备以增强这些客户端设备的特征识别能力。在云服务器或其他远程计算设备处生成的这种cnn网络加权在本文中称为服务器同步的cnn网络加权(例如,服务器同步的加权、服务器同步的加权值)。

通过向多个客户端设备发送(例如,广播,多播等)服务器同步的加权,本文公开的示例可以用于通过利用由其他客户端设备执行的cnn学习或cnn训练来改进某些客户端设备的特征识别过程。这对于克服尚未适当地训练的客户端设备或首次投入使用并因此没有像其他客户端设备那样具有训练机会的新客户端设备的不良特征识别能力可能很有用。另外地,基于cnn的使用模型,训练cnn可能要求比在任何时间或特定时间(例如,在白天)对客户端设备可用的功率更多的功率。即,由于功率要求,可以仅在客户端设备插入外部电源(例如,交流电(ac)充电器)时才执行cnn训练。可充电电池供电的客户端设备可以仅在晚上充电或每隔几天充电一次,在这种情况下,cnn训练机会很少(例如,当客户端设备插入充电器时)。某些客户端设备可以由可更换的不可充电电池供电,在这种情况下,可以仅在将完全供电的新鲜电池放在客户端设备中时,cnn训练机会才存在。可替代地,对于这样的客户端设备,可能不存在cnn训练机会。在任何这样的情况下,几乎没有训练机会或没有训练机会的客户端设备可以通过接收服务器同步的加权而显著地受益于本文公开的示例,该服务器同步的加权基于由多个其他客户端设备生成并由云服务器或其他远程计算设备处理的加权。

如上面所讨论的,通过在云服务器处从多个客户端设备收集设备生成的加权来实现本文公开的示例。通过收集这样的设备生成的加权来生成改进的服务器同步的加权,本文公开的示例实质上减少或消除了云服务器从客户端设备收集原始传感器数据以执行基于服务器的cnn训练和cnn网络加权测试的需要。即,尽管云服务器可以基于从客户端设备收集的原始传感器数据执行cnn训练以生成cnn网络加权,但本文公开的示例代替地通过众包来自客户端设备的设备生成的加权并使用这种设备生成的加权生成改进的服务器同步的加权来消除这种需求。以这种方式,客户端设备不需要将原始传感器数据发送到云服务器。通过不发送这种数据,本文公开的示例对于保护可能反映在原始传感器数据和/或元数据(例如,图像、语音、口语词、财产身份等)中的人、不动产和/或个人财产的隐私是有用的。从客户端设备向云服务器发送设备生成的加权比发送原始传感器数据实质上更为安全,因为如果设备生成的加权被第三方拦截或访问,则这些加权无法进行反向工程以显示个人私人信息。因此,本文公开的示例对于保护这样的个人私人信息不被泄露给未授权方特别有用。以这种方式,本文公开的示例可以用于开发符合关于个人信息的隐私保护的政府法规和/或行业规则的客户端设备。可以使用本文公开的示例来促进遵守的这种政府法规的示例是欧盟(eu)通用数据保护法规(gdpr),该法规被设计为协调整个欧洲的数据隐私法,以保护和赋予所有eu公民关于数据隐私的权力,并重塑整个eu地区的组织处理数据隐私的方式。

图1a示出了以移动相机100的形式的示例客户端设备,该移动相机100包括多个示例相机102、示例惯性测量单元(imu)104、示例音频编解码器(ac)106、示例视觉处理单元(vpu)108以及示例无线通信接口110。图1b是可以用于实现移动相机100的示例硬件平台。示例移动相机100可以是可穿戴相机和/或可安装相机。可穿戴相机可以由人穿戴或携带。例如,人可以将可穿戴相机钉在或贴在衬衫或翻领上、将可穿戴相机作为眼镜的一部分穿戴、将可穿戴相机通过挂绳挂在他们的脖子上、通过皮带夹将可穿戴相机夹在他们的皮带上、将可穿戴相机夹在或贴在包(例如,钱包、背包、公文包等)上和/或使用任何其他合适的技术来穿戴或携带可穿戴相机。在一些示例中,可穿戴相机可以被夹在或依附在动物(例如,宠物、动物园动物、野外动物等)上。可安装相机可以以任何合适的方式安装到机器人、无人机或固定物体上以监视其周围环境。

本文公开的示例移动相机实现了与物之眼(eyesonthings,eot)平台互操作的eot设备,通过互联网的计算机(例如,服务器、客户端设备、装置等)可以经由应用编程接口(api)与该eot平台进行通信以访问环境、人员、物体、车辆等的视觉捕获。例如,(例如,由云系统206提供的)云服务可以实现这样的eot平台以收集和/或提供对视觉捕获的访问。在一些示例中,这样的视觉捕获可以是以下操作的结果:由eot设备和/或eot平台进行机器视觉处理以对视觉捕获中的特征进行提取、标识、修改等,以使得这些视觉捕获对于生成关于视觉捕获的对象的感兴趣信息更为有用。

“视觉捕获”在本文中被定义为图像和/或视频。视觉捕获可以由移动相机102的一个或多个相机传感器捕获。在本文公开的涉及图像的处理的示例中,图像可以是单个图像捕获,或者可以是作为视频捕获的帧的序列的一部分的帧。示例相机102可以使用例如一个或多个cmos(互补金属氧化物半导体)图像传感器和/或一个或多个ccd(电荷耦合器件)图像传感器来实现。在图1a和图1b所示的示例中,多个相机102包括两个低分辨率相机102a、102b和两个高分辨率相机102c、102d。然而,在其他示例中,相机102中的一些或全部可以是低分辨率的和/或相机102中的一些或全部可以是高分辨率的。可替代地,相机102可以包括低分辨率相机和高分辨率相机的某种其他组合。

简要转到图1b的示例,低分辨率相机102a、102b经由用作扩展板的插入板152与vpu108电路连接,通过该插入板152可以将附加的传感器连接到vpu108。示例多路复用器154在vpu108与插入板152之间电路连接,以使得vpu108能够选择在插入板152上为哪个传感器供电和/或与插入板152上的哪个传感器通信。而且,在图1b所示的示例中,高分辨率相机102c直接与vpu108电路连接。低分辨率相机102a、102b和高分辨率相机102c可以经由任何合适的接口(例如,移动行业处理器接口(mipi)联盟相机工作组定义的mipi相机接口(例如,mipicsi-2或mipicsi-3接口标准)、串行外围设备接口(spi)、i2c串行接口、通用串行总线(usb)接口、通用异步接收/发送(uart)接口等)与vpu连接。所示示例的高分辨率相机102d被示出为低压差分信号(lvds)相机,该lvds相机经由现场可编程门阵列(fpga)156与vpu108电路连接,该fpga156用作lvds接口以将lvds信号转换为可以由vpu108处理的信号。在其他示例中,vpu108可以设置有lvds接口,并且可以省略fpga。在其他示例中,低分辨率相机102a、102b和高分辨率相机102c、102d的任何组合可以直接地、间接地和/或经由插入板152与vpu108电路连接。在任何情况下,移动相机100可以完全关闭任何或所有相机102a-d和对应的接口的电源,使得相机102a-d和对应的接口不消耗功率。

在一些示例中,所示示例的多个相机102a-d可以被机械地布置以产生不同的重叠或非重叠视场的视觉捕获。可以聚合不同视场的视觉捕获,以形成环境的全景视图,或者形成比来自单个相机的视觉捕获中的任何单个视觉捕获所覆盖的环境更广阔的视图。在一些示例中,多个相机102a-d可以用于基于组合经由两个相机同时捕获的视觉捕获来产生立体视图。在一些示例中,如在图1a和1b中,可以为每个低分辨率相机提供单独的高分辨率相机。在其他示例中,提供了一个低分辨率相机以在低功率特征监视模式期间使用,并且提供了多个高分辨率相机以在使用低分辨率相机确认了感兴趣特征时生成高质量的多视图视觉捕获和/或高质量的立体视觉捕获。在其中将移动相机100安装在诸如无人飞行器(uav)、机器人或无人机之类的非人类载体上的一些示例中,移动相机100可以设置有围绕360度布置以及顶部和底部放置安装的多个相机,使得多个相机可以提供环境的完整视图。例如,如果移动相机100被安装在无人机上,则该移动相机100可以具有六个相机,这六个相机被安装在前部位置、后部位置、左位置、右位置、顶部位置和底部位置。在一些示例中,单个或多个低分辨率和/或低功率相机可以通过一定长度的电缆连接到移动相机100,以用于要求通过移动相机100作为整体无法进入的孔或通道插入、馈送或伸缩相机的应用。这样的示例应用是医学应用,其中医生需要将相机馈送到患者体内以进行进一步的检查、诊断和/或手术。

图1a和图1b的示例imu104是测量并报告与移动相机100的载体(例如,人、物体、车辆、无人机、uav等)相关联的三维(3d)空间中的移动(例如,力、角速率和/或周围磁场)的电子设备。为了测量这样的移动,示例imu104可以与一个或多个运动传感器158(例如,一个或多个加速度计、一个或多个陀螺仪、一个或多个磁力计等)电路连接(图1b)。示例ac106可以用于检测环境声音,包括由携带移动相机100的人生成的语音和/或由靠近移动相机100的人生成的语音。为了检测这种声音,ac106可以与一个或多个麦克风162电路连接(图1b)。在其他示例中,可以提供其他传感器接口以监视其他环境特性。例如,移动相机100可以另外地或可替代地设置有温度传感器接口、压力传感器接口、湿度传感器接口、辐射传感器接口等。

提供示例vpu108以执行计算机视觉处理来提供周围环境的视觉感知。示例vpu108还包括执行运动处理和/或音频处理以提供运动感知和/或音频感知的能力。例如,vpu108可以与多个传感器或传感器接口(包括相机102、imu104、运动传感器158、ac106和/或麦克风162)接合,以接收多个传感器输入数据。如图1a中示出的,示例vpu108设置有一个或多个卷积神经网络(cnn)114、一个或多个计算机视觉(cv)分析器116和/或一个或多个音频数字信号处理器(dsp)118以处理这种传感器输入数据。以这种方式,示例vpu108可以对来自各种传感器的传感器输入数据执行视觉处理、运动处理、音频处理等,以提供视觉感知、运动感知和/或音频感知。可以使用来自英特尔公司旗下的公司movidiustm设计并销售的myriadtmx系列vpu和/或myriadtm2系列vpu的vpu来实现所示示例的vpu108。可替代地,可以使用任何其他合适的vpu来实现示例vpu108。

在所示示例中,vpu108处理来自相机102的像素数据、来自imu104的运动数据和/或来自ac106的音频数据,以识别传感器数据中的特征并生成描述这种特征的元数据(例如,这是一只狗、这是一只猫、这是一个人,等等)。在本文公开的示例中,vpu108可以用于识别并访问关于传感器数据中表示的人类和/或非人类物体的信息。在涉及访问关于人类的信息的示例中,vpu108可以识别传感器数据中的特征并生成对应的元数据,例如,人的性别、人的年龄、人的国籍、人的姓名、人的身体特性(例如,身高、体重、年龄等)、移动类型(例如,走路、跑步、跳跃、坐着、睡觉等)、声音表达(例如,高兴、激动、生气、悲伤等)。在涉及访问关于非人类物体的信息的示例中,美术馆中的顾客可以使用移动相机204来识别不同的艺术品、从云服务取回关于这种艺术的信息(例如、艺术品名称、艺术家姓名、创作日期、创作地点等)并且经由移动电话主机设备202访问取回的信息。

示例vpu108基于传感器数据和对应的元数据训练其cnn114以生成cnn网络加权122(例如,加权w0-w3),cnn114随后可以使用这些cnn网络加权122来识别随后的传感器数据中的特征。下面结合图3描述示例cnn训练。在所示示例中,cnn网络加权122被存储在图1a中示出的一个或多个存储器或数据储存库中,例如,双倍数据速率(ddr)同步动态随机存取存储器(sdram)124、ram存储器126(例如,动态ram(dram)、静态ram(sram)等)和cnn储存库128(例如,非易失性存储器)。可以另外地或可替代地使用任何其他合适的存储设备。

示例无线通信接口110可以使用任何合适的无线通信协议(例如,wi-fi无线通信协议、无线通信协议、无线通信协议等)来实现。无线通信接口110可以用于经由客户端/服务器通信和/或对等通信与主机设备(例如,图2的移动电话主机设备202中的一个)和/或其他移动相机进行通信。

图2示出了与对应的示例移动相机204和示例云系统206进行无线通信的示例移动电话主机设备202。在图2所示的示例中,移动电话主机设备202用作主机设备,以从示例移动相机204接收信息并将信息发送到示例移动相机204。移动电话主机设备202还将移动相机204通信地连接到由云系统206提供的云服务。尽管主机设备202被示为移动电话,但在其他示例中,主机设备202可以使用任何其他类型的计算设备(包括智能手表或其他可穿戴计算设备、平板计算设备、膝上型计算设备、台式计算设备、互联网装置、物联网(iot)设备等)来实现。示例移动相机204与图1a和图1b的移动相机100基本类似或相同。

在图2所示的示例中,移动相机204经由无线通信接口(例如,图1a和图1b的无线通信接口110)使用无线通信208与其对应的移动电话主机设备202进行无线通信。另外地,示例移动电话主机设备202经由例如蜂窝网络、wi-fi或任何其他合适的无线通信模块与云系统206进行无线通信。在任何情况下,移动电话主机设备202和云系统206均经由诸如互联网之类的公共网络和/或经由专用网络进行通信。在一些示例中,移动相机204可以被配置为在没有介入主机设备202的情况下直接与云系统206通信。在又一些示例中,主机设备202可以与移动相机204在相同设备或壳体中组合。

在本文公开的示例中,向移动电话主机设备202提供示例信息代理(ib)210,以在移动相机204与由云系统206提供的云服务之间传送信息。在所示示例中,信息代理210使用mqtt(消息队列遥测传输)协议来实现。mqtt协议是在tcp/ip协议之上工作的基于iso标准(iso/iecprf20922)发布-订阅的消息传送协议。在本文公开的示例中,mqtt协议可以用作针对小型传感器(例如,移动相机204)和移动设备(例如,移动电话主机设备202)的轻量级消息传送协议,以处理高延迟和/或网络不可靠的通信。以这种方式,本文公开的示例可以采用mqtt协议作为低功率和低带宽通信协议,以使用对等(p2p)通信来维持移动相机204与移动电话主机设备202之间的高效且可靠的通信和/或与云服务或其他联网设备交换信息,例如,cnn网络加权。使用信息代理210,轻量级通信可以用于将轻量级数据(例如,cnn网络加权)从移动相机204和/或移动电话主机设备202发送到云服务。在这样的示例中,移动相机204可以将其cnn114(图1a)放置在网络边缘,并且消耗较少量的网络带宽传送所得到的cnn网络加权(例如,下面描述的更新后的加权216),而不是向云系统206传送原始传感器数据以在云系统206处进行处理。

使用经由基于云的网络基础架构彼此通信和/或与服务器主机通信的多个分布式计算节点和/或存储节点来实现示例云系统206。示例云系统206提供要由移动电话主机设备202和/或移动相机204访问的云服务。用于本文公开的示例的示例云服务包括cnn网络加权生成和分发服务。例如,如图2中示出的,云系统206可以生成服务器同步的加权值(ssw)214并将其发送到移动电话主机设备202以供移动相机204的cnn(例如,cnn114)使用。在所示示例中,云系统206可以使用任何合适的传输技术将ssw214发送到移动电话主机设备202,包括例如向移动电话主机设备202广播ssw214、多播ssw214和/或单播ssw214。在一些示例中,云系统206还向移动相机204发送cnn114(图1a)。例如,每当云系统206发送ssw214时,云系统206就可以向移动相机204发送cnn114。可替代地,仅当对cnn114的结构的更新可用于分发时,云系统206才可以发送cnn114。对cnn114的结构的更新包括例如cnn114中的神经元(例如,节点)的数量的配置改变、cnn114中的神经元如何连接的配置改变、cnn114中的神经元如何布置的配置改变等等。在一些示例中,云系统206可以仅发送cnn114的已经被更新的部分。

在图2所示的示例中,移动相机204训练cnn114以生成图2中示出的更新后的cnn网络加权作为更新后的加权216(例如,uw0-uw3)。示例更新后的加权216可以实现图1a中示出的cnn网络加权122。示例移动相机204基于其各自的特征识别能力和/或基于移动相机204在其中操作的环境特性来生成更新后的加权216。例如,用于由在安静的图书馆环境中工作的移动相机204进行音频特征识别的cnn训练可以导致生成的更新后的加权216与来自在嘈杂的工业环境中工作的移动相机204的更新后的加权216不同。

在图2所示的示例中,移动相机204将其更新后的加权216(例如,经由移动电话主机设备202)发送到云系统206。以这种方式,尽管可以将ssw214作为cnn网络加权的相同集合分发给所有移动相机204,但是每个移动相机204可以基于由每个移动相机204执行的单独的cnn训练将更新后的加权216的不同的集合返回给云系统206。在一些示例中,为了节省网络带宽并节省移动相机204发送信息所需的功率,移动相机204仅将更新后的加权216中的与ssw214中的对应一个不同的加权发送到云系统206。

在所示示例中,云系统220配备有示例ssw生成器220以生成ssw214和/或不同的cnn114,以将其发送到移动相机100、204。示例ssw生成器220可以在云系统206的云服务器中实现以存储并使用从移动相机204收集的更新后的加权216来生成改进的cnn网络加权,云系统206可以将这些改进的cnn网络加权发送到与ssw214相同的移动相机204或不同的移动相机以增强移动相机处的特征识别能力。在一些示例中,ssw生成器220针对移动相机204的不同分组或子集生成不同的ssw214。例如,ssw生成器220可以生成旨在供不同类型的移动相机204使用的ssw214的不同的集合。这些不同类型的移动相机204可以在包括以下一项或多项的特性方面不同:制造商、传感器类型、传感器能力、传感器质量、操作环境、操作条件、使用年限、操作小时数等。以这种方式,ssw生成器220可以基于移动相机204的一个或多个特征来生成特定的或伪特定的ssw214的不同的集合以供对应的移动相机204使用。在这样的示例中,ssw生成器220可以基于移动相机204的分组地址(例如,互联网协议(ip)地址、媒体访问控制(mac)地址等)和/或基于任何其他分组信息将ssw214的不同的集合发送到移动相机204的对应的组。

在所示示例中,从云系统206向移动相机204发送ssw214以及在云系统206处从移动相机204接收更新后的加权216是多迭代过程,通过该过程,ssw生成器220协调cnn网络加权的完善,该cnn网络加权随着时间的推移不断改进以供移动相机204使用。在一些示例中,在移动相机204的传感器随着时间的推移退化/改变时,对cnn网络加权进行的这种调整随着时间的推移可以改进或维持移动相机204的识别准确度。在一些示例中,ssw生成器220还可以使用多个移动相机204作为测试平台来测试不同的cnn网络加权。例如,如上面所讨论的,ssw生成器220可以将ssw214的不同的集合发送到移动相机204的不同的组。在一些示例中,这样的ssw214的不同的集合可以用于基于ssw214中的哪一个在移动相机204处带来更准确的特征识别来确定哪些ssw214表现得最好或比其他ssw更好。为了实现这种测试,示例ssw生成器220可以采用任何合适的输入-输出比较测试。示例测试技术包括a/b测试,该a/b测试有时用于通过运行在一方面(例如,字体类型、配色方案、消息、折扣优惠等)不同的相同网页的两个单独实例来测试网站的性能。然后,收集并比较单独网页的一个或多个性能度量(例如,网页访问、点击率、用户购买等),以基于表现更好的度量来确定该方面的更好的实现方式。这样的a/b测试可以由ssw生成器220采用来通过将ssw214的两个不同的集合发送到移动相机204的不同的组来测试ssw214的不同的集合。ssw214的两个不同的集合可以在一个或多个cnn网络加权方面不同,以使得移动相机204的不同的组基于(多个)不同的cnn网络加权生成具有不同准确度的不同特征识别结果。以这种方式,ssw生成器220可以基于所得到的特征识别准确度来确定ssw214的不同的集合中的哪一个表现更好。这样的a/b测试可以由ssw生成器220基于任何数量的ssw214的集合并且基于任何数量的移动相机204的组来执行。另外地,通过在多个迭代中改变不同的加权来随着时间的推移完善cnn网络加权以将其作为ssw214分发给移动相机204,从而可以以多迭代方式执行a/b测试。

在一些示例中,云系统206可以由专用的基于服务器的系统和/或任何其他基于网络的系统代替,其中,移动相机204和/或移动电话主机设备202与基于网络的系统的中央计算和/或存储设备通信。由于示例移动相机204和移动电话主机设备202是数据通信的端点,因此它们在逻辑上位于网络的边缘。在所示示例中,由移动相机204在网络的边缘存储并处理由移动相机204收集的基于传感器的元数据和/或传感器数据,以生成更新后的加权216。在网络的边缘基于单个移动相机204的特定需要或功能训练cnn可以从云系统206卸载处理要求。例如,跨多个移动相机204分发针对cnn训练的处理要求,以便每个移动相机204可以使用其处理能力基于其传感器数据进行cnn训练,从而使得云系统206不需要配备有基于从大量的联网的移动相机204接收到的不同传感器数据来执行这种cnn训练所要求的大量附加cpu(中央处理单元)资源、gpu(图形处理单元)资源和/或存储器资源。另外地,当基于来自移动相机204中的每一个的不同传感器数据的cnn训练在分布式移动相机204上并行执行而不是在诸如云系统206之类的中央位置串行执行时,可以更快地完成。

另外地,通过执行cnn训练以及在移动相机204处生成更新后的加权216并将更新后的加权216发送到云系统206的云服务器,移动相机204无需将原始传感器数据(例如,像素数据、音频数据和/或运动数据)发送到云系统206以基于这种原始传感器数据在云系统206处进行cnn训练。以这种方式,关于视觉捕获,出现在视觉捕获中的个体的身份或隐私和/或私人/个人财产不会无意间暴露于连接到互联网的其他联网设备或计算机,这些其他联网设备或计算机在通过互联网进行传输期间可以恶意或无意地访问这些视觉捕获。与发送更新后的加权216而不是原始视觉捕获相关联的这种隐私保护在提供关于个人信息隐私保护方面符合政府法规和/或行业规则(例如,欧洲的数据隐私法律的eugdpr法规)的移动相机方面是有用的。在一些示例中,可以对更新后的加权216进行加密和编码以提供附加的安全性。另外地,由于更新后的加权216的数据大小小于原始传感器数据的数据大小,因此发送更新后的加权216显著降低了功耗,因为发送原始传感器数据将要求更高级别的功率。

图3示出了图1a、图1b和图2的移动相机100、204的示例实现方式,该移动相机100、204可以用于训练对应的cnn(例如,图1a的cnn114)并生成更新后的加权值(例如,图2的更新后的加权216)以用于cnn的特征识别过程来基于传感器数据标识特征。图3的示例移动相机100、204包括示例传感器302、示例cnn114、示例加权调整器304和示例无线通信接口110。尽管在图3所示的示例中仅示出了一个传感器302和一个cnn114,但是移动相机100、204可以设置有任何数量的传感器302和/或cnn114。例如,移动相机100、204可以设置有一个或多个相机传感器、一个或多个麦克风、一个或多个运动传感器等和/或用于处理不同类型的传感器数据(例如,视觉捕获、音频数据、运动数据等)的一个或多个cnn114。

在所示示例中,为了训练cnn114,传感器302基于参考校准器提示308生成传感器数据306。示例参考校准器提示308可以是旨在由cnn114产生与示例训练元数据312匹配的响应的预定义的图像、音频片段或运动,该示例训练元数据312描述了参考校准器提示308的特征,例如,物体、人、音频特征、移动类型、动物等。示例参考校准器提示308可以由制造商、转售商、服务、提供商、应用开发商和/或与移动相机100、204的开发、转售或服务相关联的任何其他方提供。尽管示出了单个参考校准器提示308,但是可以提供任何数量的一个或多个不同类型的参考校准器提示308,以基于不同类型的传感器302(例如,相机传感器、麦克风、运动传感器等)来训练移动相机100、204的多个cnn114。例如,如果传感器302是相机传感器(例如,图1a、图1b和图2的相机100、204中的一个),则参考校准器提示308是包括由训练元数据312描述的已知特征的图像。如果传感器302是麦克风(例如,图1b的麦克风162),则参考校准器提示308是包括由训练元数据312描述的已知特征的音频片段(例如,由诸如图2的移动电话主机设备202之类的设备回放的音频文件)。如果传感器302是加速度计、陀螺仪、磁力计等,则参考校准器提示308是在移动相机100、204上(例如,通过一个人)感应并且表示由训练元数据312描述的特征(例如,走路、跳跃、转弯等)的已知运动。

在图3所示的示例中,cnn114在cnn训练过程期间接收传感器数据306和输入加权值314,以生成改进的cnn加权值。使用从图2中示出的云系统206接收的ssw214来实现所示示例的输入加权314。示例cnn114将输入加权314加载到其神经元中,并基于输入加权314处理传感器数据306以识别传感器数据306中的特征。基于输入加权314,cnn114生成与不同特征存在于传感器数据306中的可能性相对应的不同概率。基于这样的概率,cnn114基于满足阈值的对应的概率值来生成描述其被确认为存在于传感器数据306中的特征的输出元数据316。

所示示例的加权调整器304可以由图1和图1b的vpu108来实现。示例加权调整器304从示例cnn114接收输出元数据316,并从例如存储器或数据储存库(例如,图1a的示例ddrsdram124、ram存储器126和/或cnn储存库128)访问示例训练元数据312。示例加权调整器304将输出元数据316与训练元数据312进行比较,以确定cnn114的响应是否准确地标识参考校准器提示308中的特征。当输出元数据316与训练元数据312不匹配时,加权调整器304调整输入加权314的加权值以生成图3中示出的更新后的加权值作为更新后的加权318。因此,更新后的加权318是在cnn训练过程期间cnn114学习到的响应,以改进cnn114的特征识别能力,使得cnn114可以正确地标识已经在其上进行训练的物体、人物、面部、事件等的类别以输出准确的对应的元数据(例如,这是一只狗、这是一只猫、这是狗/猫的某个品种、这是一个人、这是一个特定的人、这是车辆、这是车辆的特定品牌/型号、这个人在跑步、这个人在跳跃、这个人在睡觉等等)。例如,加权调整器304可以增加和/或减少加权值,以通过增加由cnn114确定的这种特征存在于参考校准器提示308中的可能性的概率和/或通过减少由cnn114确定的其他不存在的特征存在于参考校准器提示308中的可能性的概率,来改变与应在参考校准器提示308中识别出的特征相对应的识别灵敏度/准确度。

作为cnn114训练和改进的cnn加权值的开发的一部分,示例加权调整器304将更新后的加权318提供给cnn114,以基于更新后的加权318重新分析传感器数据306。加权调整器304的加权调整过程作为迭代过程执行,其中加权调整器304将训练元数据312与来自cnn114的对应于不同的更新后的加权318的输出元数据316进行比较,直到输出元数据316与训练元数据312匹配为止。在所示示例中,当加权调整器304确定输出元数据316与训练元数据312匹配时,加权调整器304将更新后的加权318提供给无线通信接口110。示例无线通信接口110将更新后的加权318发送到图2的云系统206。例如,由无线通信接口110发送到云系统206的更新后的加权318实现图2的更新后的加权216,该更新后的加权216直接从移动相机204和/或经由对应的移动电话主机设备202被传送到云系统206。

可以在cnn114的cnn训练期间实现的示例设备内学习过程包括开发移动相机100、204的基于cnn的自动白平衡(awb)识别特征。移动相机100、204中的现有的非cnnawb算法可以用于针对由移动相机100、204捕获的图像生成标签(例如,描述awb算法设置的元数据),并且将标签与用于产生标签的现有的非cnnawb算法使用的原始图像进行组合。标签和原始图像数据的这种组合可以用于移动相机100、204中的cnn114的设备内训练。来自cnn114的所得到的cnn网络加权可以作为更新后的加权216、318被发送到云系统206,并且可以与跨多个其他移动相机100、204生成的其他更新后的加权216进行聚合,以在云系统206处产生cnn网络和ssw214,它们在满足awb性能阈值的本地照明条件下提供awb性能,从而使得基于cnn的awb实现方式可以替代先前的非cnnawb算法。示例awb性能阈值可以基于相对于非cnnawb算法的性能的合适或期望的性能水平。可以在云系统206处执行这样的示例设备内学习过程和cnn网络加权的随后聚合,而无需将原始传感器数据从移动相机100、204发送到云系统206。

图4示出了图2的服务器同步的加权(ssw)生成器220的示例实现方式,该ssw生成器220可以在云系统206(图2)的服务器或计算机中实现,以生成服务器同步的加权214(图2),以供图1a、图1b、图2和图3的移动相机100、204的cnn114中使用。示例ssw生成器220包括示例通信接口402、示例加权集合配置器404、示例cnn配置器406、示例cnn408、示例测试器410、示例分发选择器412和示例服务器cnn储存库414。示例通信接口402可以使用任何合适的有线(例如,局域网(lan)接口、广域网(wan)接口等)或无线通信接口(例如,蜂窝网络接口、wi-fi无线接口等)来实现。在所示示例中,通信接口402将ssw214发送到图1a、图1b、图2和图3的移动相机100、204,如上面结合图2所描述的。例如,通信接口402可以将ssw214直接广播、多播和/或单播到移动相机100、204和/或经由移动电话主机设备202广播、多播和/或单播到移动相机100、204。示例通信接口402还从移动相机100、204和/或从移动电话主机设备202接收更新后的加权216,如上面结合图2所描述的。

提供示例加权集合配置器404来基于更新后的加权216来调整并配置cnn加权值以生成ssw214。例如,加权集合配置器404可以从来自不同的移动相机100、204的更新后的加权216的不同的集合中选择并融合/组合各个cnn网络加权值,以创建cnn网络加权的新的集合和/或可以由ssw生成器220测试的cnn网络加权的多个集合。以这种方式,ssw生成器220可以学习融合/组合的cnn网络加权的哪个(哪些)集合可能比移动相机100、204中的其他加权集合表现得更好。

示例ssw生成器220配备有示例cnn配置器406,以通过例如配置神经元(例如,节点)的不同结构布置、配置或改变cnn中神经元的数量、配置或改变神经元如何连接等来生成不同的cnn。以这种方式,除了生成改进的cnn网络加权值之外,示例ssw生成器220还可以生成改进的cnn以供具有改进的cnn网络加权值的移动相机100、204使用。因此,尽管图4中仅示出了一个cnn408,但是ssw生成器220可以生成并测试多个cnn408。示例ssw生成器220基于加权集合配置器404提供的cnn网络加权值的不同的集合,使用示例cnn408来运行特征识别过程。例如,可以向cnn408提供与图3的传感器数据306类似或相同的输入训练传感器数据,并基于cnn网络加权值对输入训练传感器数据执行特征识别过程,以基于cnn网络加权值生成描述cnn408确认存在于输入训练传感器数据中的特征的输出元数据。

示例ssw生成器220配备有测试器410,以测试由加权集合配置器404生成的cnn网络加权值的不同的集合和/或由cnn配置器406生成的不同的cnn408的性能。在本文公开的示例中,性能测试用于通过准确地标识存在于输入数据(例如,传感器数据、输入训练传感器数据等)中的特征和/或通过不标识不存在于输入数据中的特征来确定cnn网络加权的集合和/或cnn的一个或多个结构是否满足特征识别准确度阈值。例如,测试器410可以将来自cnn408的输出元数据与(例如,与图3的训练元数据312类似或相同的)训练元数据进行比较,以确定cnn408的响应是否准确地标识输入训练传感器数据中的特征。当示例测试器410确定cnn408的输出元数据与训练元数据不匹配时,加权集合配置器404调整加权值和/或选择cnn网络加权的不同组合以生成要在cnn408中测试的cnn网络加权的不同的集合。例如,加权集合配置器404可以增加和/或减少加权值,以通过增加由cnn408确定的这种特征存在于输入训练传感器数据中的可能性的概率和/或通过减少由cnn408确定的其他不存在的特征存在于输入训练传感器数据中的可能性的概率,来改变与应在输入训练传感器数据中识别出的特征相对应的识别灵敏度/准确度。另外地或可替代地,cnn配置器406可以改变cnn408的结构,以利用cnn网络加权的相同或不同的集合进行测试。以这种方式,测试器410可以测试cnn网络加权的集合和cnn408的结构的不同组合,以标识满足特征识别准确度阈值的cnn网络加权的一个或多个集合和/或cnn408的一个或多个结构,使得可以将这样的cnn网络加权的(多个)集合和/或cnn408的(多个)结构分发到移动相机100、204。

加权集合配置器404、cnn408和测试器410可以迭代方式执行多个cnn训练过程,以确定cnn网络加权值的一个或多个集合,这些cnn网络加权值的集合表现得令人满意和/或比cnn网络加权值的其他集合表现得更好。使用这样的迭代cnn训练过程,ssw生成器220可以确定cnn网络加权值的一个或多个集合,这些集合可以被发送到移动相机100、204以用于其对应的cnn114。以这种方式,cnn网络加权值的融合/组合的集合和cnn408可以用于训练移动相机100、204的cnn114,而无需访问由移动相机100、204生成的传感器数据(例如,传感器数据306)。在云系统206处的不需要从移动相机100、204接收大量传感器数据的这种训练可以有效地被采用以避免使用大量的网络带宽,否则将需要在云系统206处从移动相机100、204接收传感器数据。

示例测试器410可以在服务器cnn储存库414中存储满足特征识别准确度阈值的cnn网络加权值的集合和/或cnn408。示例测试器410可以将标签、标志或其他指示符与cnn网络加权值的集合相关联地存储在服务器cnn储存库414中,以标识那些cnn网络加权值的集合可用于分发给移动相机100、204作为ssw214,如上面结合图2所描述的。示例测试器410还可以将标签、标志或其他指示符与cnn408相关联地存储在服务器cnn储存库414中,以标识那些cnn408可用于分发给移动相机100、204,如上面结合图2所描述的。示例服务器cnn储存库414可以使用任何合适的存储器设备和/或存储设备(例如,图7的本地存储器713、易失性存储器714、非易失性存储器716和/或大容量存储装置728中的一个或多个)来实现。

在图4所示的示例中,ssw生成器220配备有示例分发选择器412,以在服务器cnn储存库414中标识的cnn网络加权值的测试的集合和/或cnn408中选择适合在移动相机100、204中使用来准确地标识传感器数据中的特征的一个。示例分发选择器412从服务器cnn储存库414向通信接口402提供cnn网络加权值的测试的集合和/或cnn408中的选定的一个以发送到移动相机100、204。示例通信接口402将cnn网络加权值的测试的集合中的选定的一个作为ssw214发送到移动相机100、204,如上面结合图2所描述的。在一些示例中,分发选择器412基于对应于移动相机100、204的不同的组的不同标准或特性针对移动相机100、204的那些组从服务器cnn储存库414中选择cnn网络加权值的测试的集合中的不同集合和/或不同的cnn408,如上面结合图2所描述的。

在一些示例中,为了确认cnn网络加权值的集合和/或cnn408的可行性或准确度,分发选择器412可以从服务器cnn储存库414中选择cnn网络加权值的测试的集合中的不同一个以发送到不同的移动相机100、204,从而执行加权的比较现场测试。例如,这样的现场测试可以涉及在不同的移动相机100、204处对cnn网络加权的不同的集合执行a/b测试,如上面结合图2所描述的。分发选择器412可以类似地从服务器cnn储存库414中选择不同的cnn408以分发给不同的移动相机100、204,从而对现场中的不同cnn408执行类似类型的比较测试。以这种方式,可以在大量移动相机100、204上测试不同的cnn网络加权值和/或不同的cnn,以进一步完善cnn网络加权值和/或cnn。

尽管在图1a、图1b、图2和图3中示出了实现移动相机100、204的示例方式并且在图2和图4中示出了实现ssw生成器220的示例方式,但是图1a、图1b、图2、图3和/或图4中示出的元素、过程和/或设备中的一个或多个可以任何其他方式组合、划分、重新布置、省略、消除和/或实现。此外,示例惯性测量单元104(图1a和图1b)、示例音频编解码器106(图1a和图1b)、示例vpu108(图1a和图1b)、示例cnn114(图1a和图3)、(多个)示例计算机视觉分析器116(图1a)、示例dsp118(图1a)、示例无线通信接口110(图1a、图1b和图3)、示例传感器302(图3)、示例加权调整器(图3)和/或更一般地,示例移动相机100、204和/或示例通信接口402(图4)、示例加权集合配置器404(图4)、示例cnn配置器406(图4)、示例cnn408(图4)、示例测试器410(图4)、示例分发选择器412(图4)和/或更一般地,图2和图4的示例ssw生成器220可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例惯性测量单元104、示例音频编解码器106、示例vpu108、示例cnn114、(多个)示例计算机视觉分析器116、示例dsp118、示例无线通信接口110、示例传感器302、示例加权调整器和/或更一般地,示例移动相机100、204和/或示例通信接口402、示例加权集合配置器404、示例cnn配置器406、示例cnn408、示例测试器410、示例分发选择器412和/或更一般地,ssw生成器220中的任一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(gpu)、(多个)数字信号处理器(dsp)、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)和/或(多个)现场可编程逻辑器件(fpld)来实现。

当阅读本专利的装置或系统权利要求中的任一项以涵盖纯软件和/或固件实现方式时,示例惯性测量单元104、示例音频编解码器106、示例vpu108、示例cnn114、(多个)示例计算机视觉分析器116、示例dsp118、示例无线通信接口110、示例传感器302、示例加权调整器、示例通信接口402、示例加权集合配置器404、示例cnn配置器406、示例cnn408、示例测试器410和/或示例分发选择器412中的至少一个在此明确定义为包括非暂时性计算机可读存储设备或存储磁盘,例如,存储器、数字通用盘(dvd)、光盘(cd)、蓝光盘等,包括软件和/或固件。此外,图1a、图1b、图2和图3的示例移动相机100、204和/或图2和图4的示例ssw生成器220可以包括除了图1a、图1b、图2、图3和/或图4中示出的那些元素之外或代替图1a、图1b、图2、图3和/或图4中示出的那些元素的一个或多个元素、过程和/或设备,和/或可以包括示出的元素、过程和设备中的任何或全部中的多于一个。如本文中所使用的,短语“在通信中”,包括其变型,涵盖直接通信和/或通过一个或多个中间组件的间接通信,并且不要求直接的物理(例如,有线)通信和/或恒定的通信,而是,另外地包括以周期性间隔、计划的间隔、非周期性间隔和/或一次性事件的选择性通信。

在本文公开的一些示例中,可以使用图4的通信接口402来实现用于通信的模块。在本文公开的一些示例中,可以使用加权集合配置器404来实现用于配置加权值的模块。在本文公开的一些示例中,可以使用cnn配置器406来实现用于配置卷积神经网络的结构的模块。在一些示例中,可以使用cnn408来实现用于执行特征识别的模块。在本文公开的一些示例中,可以使用图4的测试器410来实现用于测试的模块。在本文公开的一些示例中,可以使用图4的分发选择器412来实现用于选择的模块。

在图5中示出了表示用于实现图2和图4的示例ssw生成器220的示例硬件逻辑或机器可读指令的流程图。在图6中示出了表示用于实现图1a、图1b、图2和图3的移动相机100、204的示例硬件逻辑或机器可读指令的流程图。机器可读指令可以是由处理器(例如,上面结合图1a和图1b讨论的vpu108和/或下面结合图7讨论的示例处理器平台700中示出的处理器712)执行的程序或程序的一部分。(多个)程序可以体现在存储在诸如cd-rom、软盘、硬盘驱动器、dvd、蓝光盘之类的非暂时性计算机可读存储介质或与vpu108和/或处理器712相关联的存储器上的软件中,但是整个程序和/或其部分可以可替代地由除了vpu108或处理器712之外的设备执行和/或体现在固件或专用硬件中。此外,尽管参考图5和图6中示出的流程图描述了(多个)示例程序,但是可以可替代地使用实现示例移动相机100、204和/或ssw生成器220的许多其他方法。例如,可以改变框的执行次序和/或可以改变、消除或组合所描述的框中的一些。另外地或可替代地,块中的任一个或所有可以由被构造为在不执行软件或固件的情况下执行对应的操作的一个或多个硬件电路(例如,分立和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路等)来实现。

如上面所提到的,图5和图6的示例过程可以使用存储在非暂时性计算机和/或机器可读介质(例如,硬盘驱动器、闪速存储器、只读存储器、压缩盘、数字通用盘、高速缓冲存储器、随机存取存储器和/或其中的信息可以在任何持续时间内(例如,在延长的时间段内、永久地、在短暂的情况下、用于临时缓冲和/或用于高速缓存信息)被存储的任何其他存储设备或存储磁盘)上的可执行指令(例如,计算机和/或机器可读指令)来实现。如本文中所使用的,术语非暂时性计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储磁盘,并且排除传播信号并且排除传输介质。

“包括”和“包含”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包含有、包括有、包含了、包括了、具有等)作为序言或在任何种类的权利要求引述内时,应理解的是,在不超出对应的权利要求或引述的范围的情况下,可以存在其他元素、术语等。如本文中所使用的,当例如在权利要求的序言中使用短语“至少”作为过渡术语时,其以与术语“包含”和“包括”是开放式的相同的方式是开放式的。当例如以诸如a,b和/或c的形式使用术语“和/或”时,该术语“和/或”指代a,b,c的任何组合或子集,例如,(1)仅a,(2)仅b,(3)仅c,(4)a与b,(5)a与c,以及(6)b与c。

图5示出了表示示例机器可读指令的流程图,该示例机器可读指令可以被执行以实现图2和图4的ssw生成器220,以生成用于图1a、图1b、图2和图3的移动相机100、204的cnn(例如,图1a和图3的cnn114)中的ssw214(图2和图4)。图5的示例程序开始于框502,在框502处,示例通信接口402(图4)将ssw214发送到多个客户端设备。例如,通信接口402可以经由任何专用网络或公共网络将ssw214发送到移动相机100、204。示例通信接口402从客户端设备接收更新后的加权216的集合(框504)。例如,通信接口402经由专用网络或公共网络从移动相机100、204接收更新后的加权216。在所示示例中,更新后的加权216是由移动相机100、204基于以下各项训练相应的cnn114而生成的:(a)ssw214,以及(b)在移动相机100、204处生成的传感器数据306(图3)。

示例测试器410(图4)测试更新后的加权216的集合和/或cnn(框506)。例如,测试器410使用cnn408(图4)来测试以下各项中的至少一个的特征识别的性能:(a)更新后的加权216的集合;(b)由加权集合配置器404(图4)生成的来自接收到的更新后的加权216的集合的不同的集合的更新后的加权216的组合;或(c)由加权集合配置器404生成的调整后的加权值。在一些示例中,测试器410还在框506处测试cnn408的结构的特征识别性能。示例性能测试可以用于通过准确地标识存在于输入数据(例如,传感器数据、输入训练传感器数据等)中的特征和/或通过不标识不存在于输入数据中的特征来确定测试的cnn网络加权和/或测试的cnn是否满足特征识别准确度阈值。示例测试器410确定是否测试更新后的加权216的不同的集合和/或不同的cnn408(框508)。例如,如果测试器410确定更新后的加权216的测试的集合和/或测试的cnn408不满足准确地标识输入训练传感器数据中的特征的特征识别精度阈值,则测试器410确定应该测试更新后的加权216的不同的集合和/或cnn408的不同结构。如果示例测试器410在框508确定要测试更新后的加权216的不同的集合和/或cnn408的不同结构,则控制进行到框510,在框510处,加权集合配置器404(图4)配置和/或选择更新后的加权216的下一个集合。另外地或可替代地,在框510处,cnn配置器406可以配置cnn408的下一个cnn结构。

如果示例测试器410在框508处确定不测试更新后的加权216的不同的集合并且不测试cnn408的不同结构,则控制进行到框512,在框512处,示例分发选择器412选择更新后的加权216的一个或多个集合作为ssw214。例如,分发选择器412可以选择更新后的加权216的一个集合作为ssw214分发给所有移动相机100、204,或者可以选择更新后的加权216的多个集合,使得可以将更新后的加权216的集合中的不同的集合作为ssw214分发给移动相机100、204的不同的组。在所示示例中,分发选择器412基于由测试器410执行的测试选择更新后的加权216的(多个)集合用作ssw214,并且因此从以下各项中的至少一个中选择更新后的加权216的(多个)集合:(a)更新后的加权216的集合;(b)由加权集合配置器404(图4)生成的来自接收到的更新后的加权216的集合的不同的集合的更新后的加权216的组合;或(c)由加权集合配置器404生成的调整后的加权值。

示例分发选择器412确定是否向移动相机100、204发送一个或多个cnn408(框514)。例如,分发选择器412可以基于在服务器cnn储存库414中是否存在存储的被标志、标记或以其他方式指示为适合/准备分发的任何cnn结构配置来确定不分发任何cnn408、不将单个cnn408分发给所有移动相机100、204或将不同的cnn408分发给移动相机100、204的不同的组。如果示例分发选择器412在框514处确定向移动相机100、204发送一个或多个cnn408,则控制进行到框516,在框516处,分发选择器412选择一个或多个cnn408进行分发。否则,如果示例分发选择器412在框514处确定不将(多个)cnn408发送到移动相机100、204,则控制进行到框518。

示例通信接口402将ssw214和/或(多个)cnn408发送到客户端设备(框518)。例如,通信接口402将在框512处选择的ssw214和/或在框516处选择的(多个)cnn408发送到以下各项中的至少一个:(a)移动相机100、204中的至少一些,通信接口402从其接收更新后的加权216;或者(b)第二移动相机和/或与移动相机100、204分离的其他客户端设备。例如,在框504处,通信接口402可以将ssw214和/或(多个)cnn408发送到新的且尚未经过设备内cnn训练的其他客户端设备、发送到未执行设备内cnn训练的其他客户端设备、发送到近期已经注册了云系统206的cnn同步服务并且先前未向云系统206提供更新后的加权206的其他客户端设备和/或发送到不作为通信接口402在框504处从其接收到更新后的加权216的移动相机100、204的一部分的任何其他客户端设备。在发送了(多个)cnn408的一些示例中,通信接口402仅发送(多个)cnn408中的相对于已经在客户端设备处的cnn已经进行了改变、重新配置或更新的部分。示例通信接口402确定是否继续监视来自移动相机100、204的更新后的加权216(框520)。如果示例通信接口402在框520处确定应继续监视,则控制返回到框504。否则,如果示例通信接口402在框520处确定不应继续监视,则图5的示例过程结束。

图6示出了表示示例机器可读指令的流程图,该示例机器可读指令可以被执行以实现图1a、图1b、图2和图3的移动相机100、204和/或图1a和1b的vpu108,以生成用于对应的cnn(例如,图1a和图3的cnn114)的更新后的加权216、318(图2和图3)。图6的示例过程开始于框602处,在框602处,无线通信接口110(图1a、图1b和图3)从云系统206接收ssw214(图2和图4)和/或cnn(例如,图4的cnn408)。例如,无线通信接口110从图4的ssw生成器220的通信接口402接收ssw214和/或cnn408。在所示示例中,当在框602处接收到cnn408时,接收到的cnn408被用于实现移动相机100、204的cnn114。示例cnn114(图3)访问传感器数据306(图3)以进行校准(框604)。例如,cnn114基于参考校准器提示308(图3)访问由传感器302(图3)生成的传感器数据306。在所示示例中,如果传感器302是运动传感器,则cnn114从imu104(图1a)获得传感器数据306,如果传感器302是麦克风162(图1b),则从ac106(图1a和图1b)获得传感器数据306,或者如果传感器302是相机,则从相机102(图1a和图1b)中的一个获得传感器数据306。

示例加权调整器304基于输入加权314(图3)和传感器数据306来训练cnn114(框606)。例如,在框602处接收到ssw214之后的第一特征识别过程中,输入加权314是ssw214。然而,在特征识别过程的随后迭代期间,当输出元数据316(图3)与训练元数据312(图3)不匹配时,输入加权314是由加权调整器304生成的更新后的加权318(图3)。当示例加权调整器304确定输出元数据316与训练元数据312匹配时,加权调整器304将更新后的加权318存储在存储器或数据存储设备中(框608)。例如,加权调整器304将更新后的加权318存储在图1a的示例ddrsdram124、ram存储器126和/或cnn储存库128中的一个或多个中。无线通信接口110将更新后的加权318发送到云系统206(框610)。例如,无线通信接口110将更新后的加权318作为更新后的加权216直接发送到云系统206,或者经由对应的移动电话主机设备202发送到云系统206,如上面结合图2所描述的。然后,图6的示例过程结束。

图7示出了被构造为执行图5的指令以实现图2和图4的ssw生成器220的示例处理器平台700的框图。处理器平台700可以是例如服务器、计算机、自学习机器(例如,神经网络)、互联网装置、iot设备或任何其他类型的计算设备。所示示例的处理器平台700包括处理器712。所示示例的处理器712是硬件。例如,处理器712可以由任何期望系列或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器来实现。硬件处理器712可以是基于半导体的(例如,基于硅的)设备。在该示例中,处理器实现图4的示例加权集合配置器404、示例cnn配置器406、示例cnn408、示例测试器410和示例分发选择器412。

所示示例的处理器712包括本地存储器713(例如,高速缓冲存储器)。所示示例的处理器712经由总线718与包括易失性存储器714和非易失性存储器716的主存储器进行通信。易失性存储器714可以由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其他类型的随机存取存储器设备来实现。非易失性存储器716可以由闪速存储器和/或任何其他期望类型的存储器设备来实现。对主存储器714、716的访问由存储器控制器来控制。

所示示例的处理器平台700还包括接口电路720。接口电路720可以由任何类型的接口标准(例如,以太网接口、通用串行总线(usb)、wi-fi接口、接口、接口、近场通信(nfc)接口和/或pci快速接口)来实现。所示示例的接口电路720实现图4的通信接口402。

在所示示例中,一个或多个输入设备722连接到接口电路720。(多个)输入设备722允许用户将数据和/或命令键入到处理器712中。(多个)可以由例如音频传感器、麦克风、相机(静态或视频)、运动传感器、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、等值点(isopoint)和/或语音识别系统来实现。

一个或多个输出设备724还连接到所示示例的接口电路720。输出设备724可以例如由显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、就地开关(ips)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器来实现。因此,所示示例的接口电路720典型地包括图形驱动卡、图形驱动芯片和/或图形驱动处理器。

所示示例的接口电路720还包括通信设备(例如,发射器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口),以促进经由网络726与外部机器(例如,任何种类的计算设备)的数据交换。通信可以经由例如以太网连接、数字订户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、站点线无线系统、蜂窝电话系统等。

所示示例的处理器平台700还包括用于存储软件和/或数据的一个或多个大容量存储设备728。这种大容量存储设备728的示例包括软盘驱动器、硬盘驱动器、压缩盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(raid)系统和数字通用盘(dvd)驱动器。

表示图5的示例机器可读指令的机器可执行指令732可以存储在大容量存储设备728中、存储在易失性存储器714中、存储在非易失性存储器716中和/或存储在可移除的非暂时性计算机可读存储介质(例如,cd或dvd)上。

根据前述内容,将认识到的是,已经公开了示例方法、装置和制品以通过从多个客户端设备中收集大量设备生成的cnn网络加权,并使用收集的cnn网络加权在可以访问设备生成的cnn网络加权的云服务器或其他远程计算设备处生成改进的服务器同步的cnn网络加权(例如,服务器同步的加权)的集合,来实现cnn网络加权的众包或联邦学习。

通过向多个客户端设备发送(例如,广播,多播等)服务器同步的加权,本文公开的示例可以用于通过利用由其他客户端设备执行的cnn学习或cnn训练来改进某些客户端设备的特征识别过程。这对于克服尚未适当地训练的客户端设备或首次投入使用并因此没有像其他客户端设备那样具有训练机会的新客户端设备的不良特征识别能力可能很有用。另外地,基于cnn的使用模型,训练cnn可能要求比在任何时间或特定时间(例如,在白天)对客户端设备可用的功率更多的功率。即,由于功率要求,可以仅在客户端设备插入外部电源(例如,交流电(ac)充电器)时才执行cnn训练。可充电电池供电的客户端设备可以仅在晚上充电或每隔几天充电一次,在这种情况下,cnn训练机会很少(例如,当客户端设备插入充电器时)。某些客户端设备可以由可更换的不可充电电池供电,在这种情况下,可以仅在将完全供电的新鲜电池放在客户端设备中时,cnn训练机会才存在。可替代地,对于这样的客户端设备,可能不存在cnn训练机会。在任何这样的情况下,几乎没有训练机会或没有训练机会的客户端设备可以通过接收服务器同步的加权而显著地受益于本文公开的示例,该服务器同步的加权基于由多个其他客户端设备生成并由云服务器或其他远程计算设备处理的加权。

通过收集这样的设备生成的加权来生成改进的服务器同步的加权,本文公开的示例实质上减少或消除了云服务器从客户端设备收集原始传感器数据以执行基于服务器的cnn训练和cnn网络加权测试的需要。即,尽管云服务器可以基于从客户端设备收集的原始传感器数据执行cnn训练以生成cnn网络加权,但本文公开的示例代替地通过众包来自客户端设备的设备生成的加权并使用这种设备生成的加权生成改进的服务器同步的加权来消除这种需求。以这种方式,客户端设备不需要将原始传感器数据发送到云服务器。通过不发送这种数据,本文公开的示例对于保护可能反映在原始传感器数据和/或元数据(例如,图像、语音、口语词、财产身份等)中的人、不动产和/或个人财产的隐私是有用的。从客户端设备向云服务器发送设备生成的加权比发送原始传感器数据实质上更为安全,因为如果设备生成的加权被第三方拦截或访问,则这些加权无法进行反向工程以显示个人私人信息。因此,本文公开的示例对于保护这样的个人私人信息不被泄露给未授权方特别有用。以这种方式,本文公开的示例可以用于开发符合关于个人信息的隐私保护的政府法规和/或行业规则(例如,eugdpr)的客户端设备。另外地,由于设备生成的加权具有比原始传感器数据更小的数据大小,因此由于需要发送更少的数据,所以从客户端设备向云服务器发送设备生成的加权还降低了客户端设备的功耗。相对于使用wi-fi通信,这种功耗降低尤为重要,因为wi-fi通信对执行发送的功率要求可能特别高。

以下涉及本文公开的其他示例。

示例1是一种提供用于卷积神经网络的加权的装置。示例1的装置包括:通信接口,其用于:经由网络将第一加权值发送到第一客户端设备;以及访问由第一客户端设备经由网络提供的更新后的加权值的集合,该更新后的加权值是由第一客户端设备基于以下各项训练相应的第一卷积神经网络而生成的:(a)第一加权值;以及(b)在第一客户端设备处生成的传感器数据;测试器,其用于在第二卷积神经网络中测试以下各项中的至少一个的性能:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;分发选择器,其用于基于测试,根据以下各项中的至少一个选择服务器同步的加权值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;以及通信接口用于将服务器同步的加权值发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例2中,示例1的主题可以可选地包括:卷积神经网络配置器,其用于配置第二卷积神经网络的结构,并且通信接口用于将第二卷积神经网络的至少一部分发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例3中,示例1-2中任一项的主题可以可选地包括:卷积神经网络配置器用于通过配置神经元的数量或者配置第二卷积神经网络中的神经元如何连接中的至少一项来配置第二卷积神经网络的结构。

在示例4中,示例1-3中任一项的主题可以可选地包括:测试器用于通过(a)准确地标识存在于输入数据中的特征;或者(b)不标识不存在于输入数据中的特征中的至少一项来确定以下各项中的至少一个是否满足特征识别准确度阈值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合。

在示例5中,示例1-4中任一项的主题可以可选地包括:第一客户端设备是移动相机。

在示例6中,示例1-5中任一项的主题可以可选地包括:在第一客户端设备处生成的传感器数据是视觉捕获数据、音频数据或运动数据中的至少一个。

在示例7中,示例1-6中任一项的主题可以可选地包括:通信接口、测试器和分发选择器是在服务器处实现的。

示例8针对一种提供用于卷积神经网络的加权的装置。示例8的装置包括:用于测试以下各项中的至少一个的性能的模块:(a)更新后的加权值的集合;或者(b)第一卷积神经网络中的更新后的加权值的组合,该更新后的加权值是经由网络从第一客户端设备获得的,该更新后的加权值是由第一客户端设备基于以下各项训练相应的第二卷积神经网络而生成的:(a)第一加权值;以及(b)在第一客户端设备处生成的传感器数据;以及用于根据以下各项中的至少一个选择服务器同步的加权值的模块:(a)更新后的加权值的集合;或者(b)更新后的加权值的组合。

在示例9中,示例8的主题可以可选地包括:用于配置第二卷积神经网络的结构的模块;以及用于进行通信以将第二卷积神经网络的至少一部分发送到以下各项中的至少一个的模块:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例10中,示例8-9中任一项的主题可以可选地包括:用于配置结构的模块用于通过配置神经元的数量或者配置第二卷积神经网络中的神经元如何连接中的至少一项来配置第二卷积神经网络的结构。

在示例11中,示例8-10中任一项的主题可以可选地包括:用于测试的模块用于通过(a)准确地标识存在于输入数据中的特征;或者(b)不标识不存在于输入数据中的特征中的至少一项来确定以下各项中的至少一个是否满足特征识别准确度阈值:(a)更新后的加权值的集合;或者(b)更新后的加权值的组合。

在示例12中,示例8-11中任一项的主题可以可选地包括:第一客户端设备是移动相机。

在示例13中,示例8-12中任一项的主题可以可选地包括:在第一客户端设备处生成的传感器数据是视觉捕获数据、音频数据或运动数据中的至少一个。

在示例14中,示例8-13中任一项的主题可以可选地包括:用于将第一加权值经由网络传送到第一客户端设备的模块。

示例15针对一种非暂时性计算机可读存储介质,包括指令,这些指令当被执行时使得至少一个处理器至少进行以下操作:经由网络将第一加权值发送到第一客户端设备;访问由第一客户端设备经由网络提供的更新后的加权值的集合,该更新后的加权值是由第一客户端设备基于以下各项训练相应的第一卷积神经网络而生成的:(a)第一加权值;以及(b)在第一客户端设备处生成的传感器数据;在第二卷积神经网络中测试以下各项中的至少一个的性能:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;基于测试,根据以下各项中的至少一个选择服务器同步的加权值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;以及将服务器同步的加权值发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例16中,示例15的主题可以可选地包括:指令还使得至少一个处理器:配置第二卷积神经网络的结构;以及将第二卷积神经网络的至少一部分发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例17中,示例15-16中任一项的主题可以可选地包括:指令还使得至少一个处理器:通过配置神经元的数量或者配置第二卷积神经网络中的神经元如何连接中的至少一项来配置第二卷积神经网络的结构。

在示例18中,示例15-17中任一项的主题可以可选地包括:指令还使得至少一个处理器:通过(a)准确地标识存在于输入数据中的特征;或者(b)不标识不存在于输入数据中的特征中的至少一项来确定以下各项中的至少一个是否满足特征识别准确度阈值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合。

在示例19中,示例15-18中任一项的主题可以可选地包括:第一客户端设备是移动相机。

在示例20中,示例12-15中任一项的主题可以可选地包括:在第一客户端设备处生成的传感器数据是视觉捕获数据、音频数据或运动数据中的至少一个。

示例21针对一种提供用于卷积神经网络的加权的方法。示例21的方法包括:由服务器经由网络将第一加权值发送到第一客户端设备;在服务器处访问由第一客户端设备经由网络提供的更新后的加权值的集合,该更新后的加权值是由第一客户端设备基于以下各项训练相应的第一卷积神经网络而生成的:(a)第一加权值;以及(b)在第一客户端设备处生成的传感器数据;通过利用服务器执行指令,在第二卷积神经网络中测试以下各项中的至少一个的性能:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;通过利用服务器执行指令,基于测试,根据以下各项中的至少一个选择服务器同步的加权值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合;以及由服务器将服务器同步的加权值发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例22中,示例21的主题可以可选地包括:配置第二卷积神经网络的结构,并且将第二卷积神经网络的至少一部分发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例23中,示例21-22中任一项的主题可以可选地包括:通过配置神经元的数量或者配置第二卷积神经网络中的神经元如何连接中的至少一项来配置第二卷积神经网络的结构。

在示例24中,示例21-23中任一项的主题可以可选地包括:性能的测试用于通过(a)准确地标识存在于输入数据中的特征;或者(b)不标识不存在于输入数据中的特征中的至少一项来确定以下各项中的至少一个是否满足特征识别准确度阈值:(a)更新后的加权值的集合;或者(b)来自更新后的加权值的集合的更新后的加权值的组合。

在示例25中,示例21-24中任一项的主题可以可选地包括:第一客户端设备是移动相机。

在示例26中,示例21-25中任一项的主题可以可选地包括:在第一客户端设备处生成的传感器数据是视觉捕获数据、音频数据或运动数据中的至少一个。

示例27针对一种提供用于卷积神经网络的加权的装置。示例27的装置包括:测试器,其用于测试以下各项中的至少一个的性能:(a)更新后的加权值的集合;或者(b)第一卷积神经网络中的更新后的加权值的组合,该更新后的加权值是经由网络从第一客户端设备获得的,该更新后的加权值是由第一客户端设备基于以下各项训练相应的第二卷积神经网络而生成的:(a)第一加权值;以及(b)在第一客户端设备处生成的传感器数据;以及分发选择器,其用于基于测试,根据以下各项中的至少一个选择服务器同步的加权值:(a)更新后的加权值的集合;或者(b)更新后的加权值的组合。

在示例28中,示例27的主题可以可选地包括:卷积神经网络配置器,其用于配置第二卷积神经网络的结构;以及通信接口模块,其用于将第二卷积神经网络的至少一部分发送到以下各项中的至少一个:(a)第一客户端设备中的至少一些;或者(b)第二客户端设备。

在示例29中,示例27-28中任一项的主题可以可选地包括:卷积神经网络配置器用于通过配置神经元的数量或者配置第二卷积神经网络中的神经元如何连接中的至少一项来配置第二卷积神经网络的结构。

在示例30中,示例27-29中任一项的主题可以可选地包括:测试器用于通过(a)准确地标识存在于输入数据中的特征;或者(b)不标识不存在于输入数据中的特征中的至少一项来确定以下各项中的至少一个是否满足特征识别准确度阈值:(a)更新后的加权值的集合;或者(b)更新后的加权值的组合。

在示例31中,示例27-30中任一项的主题可以可选地包括:第一客户端设备是移动相机。

在示例32中,示例27-31中任一项的主题可以可选地包括:在第一客户端设备处生成的传感器数据是视觉捕获数据、音频数据或运动数据中的至少一个。

尽管本文已经公开了某些示例方法、装置和制品,但是本专利的覆盖范围不限于此。相反,本专利涵盖完全落入本专利的权利要求范围内的所有方法、装置和制品。

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