本文描述的实施例涉及一种电子设备及其操作方法,并且更具体地,涉及一种自动识别和显示用户期望的应用配置的方法。
背景技术:
人工智能(ai)系统是实现人类级别的智能的计算机系统。与现有的基于规则的智能系统不同,ai系统是机器自行执行学习和确定并变得智能的系统。随着ai系统使用的增加,可以提高ai系统的识别率并且可以更准确地理解用户的偏好。现有的基于规则的智能系统正逐渐被基于深度学习的ai系统取代。
ai技术包括机器学习(深度学习)和使用机器学习的元件技术。
机器学习是用于自主分类和学习输入数据的特征的算法技术。元件技术是通过使用例如深度学习的机器学习算法来模拟例如人脑的识别或确定的功能的技术。元件技术包括诸如语言理解、视觉理解、推理或预测、知识表示和运动控制等技术领域。
应用ai技术的各种领域如下。语言理解是用于识别、应用和处理人类语言及字符的技术,并且包括自然语言处理、机器翻译、对话系统、问答、语音识别和合成等。视觉理解是用于识别和处理类似人类视觉的对象的技术,并且包括对象识别、对象跟踪、图像检索、人识别、场景理解、空间理解、图像增强等。推理或预测是用于确定、逻辑推理和预测信息的技术,并且包括基于知识/概率的推理、优化预测、基于偏好的计划、推荐等。知识表示是用于将人类经验信息自动处理为知识数据的技术,并且包括知识构建(数据生成和分类)、知识管理(数据利用)等。运动控制是用于控制车辆的自动驾驶和机器人的运动的技术,并且包括运动控制(导航、碰撞避免、驾驶等)、操纵控制(行为控制)等。
技术实现要素:
技术问题
本文描述的各种实施例提供了电子设备及其操作方法,该电子设备提供与从图像识别出的对象相对应的推荐应用,从而更快速和方便地提供用户期望的应用。
问题的解决方案
根据本公开的实施例的电子设备包括:显示器;被配置为存储一个或多个指令的存储器;以及处理器,该处理器被配置为执行存储在存储器中的一个或多个指令以从图像中识别一个或多个对象,通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用,以及在显示器上显示所确定的一个或多个推荐应用。
公开的有益效果
根据本公开的实施例的电子设备及其操作方法可以有效地分发和执行用于数据识别模型的训练和数据识别的操作。以这种方式,可以有效地执行数据处理,以便提供与用户的意图相匹配的服务,并且可以有效地保护用户的隐私。
附图说明
图1是用于描述根据实施例的电子设备的图。
图2是示出了根据实施例的电子设备的配置的框图。
图3是示出了根据另一实施例的电子设备的配置的框图。
图4是示出了根据实施例的图像的示例的图。
图5和图6是用于描述根据实施例的对从图像识别的一个或多个对象执行预处理的过程的图。
图7是用于描述根据实施例的由电子设备执行的确定分别与从图像识别的一个或多个对象相对应的一个或多个推荐应用的过程的图。
图8是用于描述根据实施例的用于学习确定与对象相对应的推荐应用的方法的神经网络的图。
图9和图10是用于描述根据实施例的从多个推荐应用中选择要在显示器上显示的应用的过程的图。
图11是示出了根据实施例的电子设备从外部服务器接收推荐应用并安装接收到的推荐应用的示例的图。
图12是示出了根据实施例的电子设备更新推荐应用以反映从图像识别的文本信息的示例的图。
图13是根据实施例的操作电子设备的方法的流程图。
图14是示出了根据实施例的处理器的配置的框图。
图15是示出了根据实施例的数据训练器的配置的框图。
图16是示出了根据实施例的数据识别器的配置的框图。
图17是示出了根据实施例的服务器的配置的框图。
图18是示出了根据实施例的电子设备和服务器彼此交互以训练和识别数据的示例的图。
具体实施方式
电子设备包括:显示器;存储器,被配置为存储一个或多个指令;以及处理器,被配置为执行存储在存储器中的一个或多个指令以从图像中识别一个或多个对象,通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用,以及在显示器上显示所确定的一个或多个推荐应用。
根据实施例,处理器还可以被配置为执行一个或多个指令,以便:通过使用一个或多个神经网络的学习模型,根据多个推荐应用与一个或多个对象的相似性,确定分别与一个或多个对象相对应的多个推荐应用;以及响应于从多个推荐应用中选择一个或多个应用的外部输入,在显示器上显示所选择的一个或多个应用。
根据实施例,处理器还可以被配置为执行一个或多个指令,以便:设置用于基于图像在显示器上布置一个或多个推荐应用的布置标准;以及基于设置的布置标准在显示器上布置一个或多个推荐应用。
根据实施例,可以通过学习如下方法来确定学习模型:响应于一个或多个对象向一个或多个神经网络的输入而从一个或多个对象提取推荐应用的属性,以及基于提取的推荐应用的属性来确定一个或多个推荐应用。
根据实施例,推荐应用的属性可以包括应用的类型、大小、颜色和形状中的至少一项。
根据实施例,处理器还可以被配置为执行一个或多个指令以执行预处理,以将识别出的一个或多个对象输入到学习模型中,并且预处理可以包括裁剪操作和变形操作中的至少一项。
根据实施例,图像可以包括通过接收用于绘制用户期望的应用配置的外部输入而生成的图像,或者是通过捕获包括用户期望的应用配置的图像而获取的照片。
根据实施例,处理器还可以被配置为执行一个或多个指令以从应用数据库(db)中选择分别与所识别的一个或多个对象相对应的一个或多个推荐应用,并且应用db可以包括安装在电子设备上的应用和存储在外部服务器中的应用的列表。
根据实施例,处理器还可以被配置为执行一个或多个指令,以便:当确定所选的一个或多个推荐应用为未安装在电子设备上的应用时,从外部服务器接收所选择的一个或多个推荐应用,并安装接收到的所选择的一个或多个推荐应用;以及在所述显示器上显示已安装的一个或多个推荐应用,以便所述已安装的一个或多个推荐应用运行。
根据实施例,处理器还可以被配置为执行一个或多个指令,以便:从一个或多个对象中识别文本信息;更新分别与一个或多个对象相对应的一个或多个推荐应用,以反映文本信息;以及在显示器上显示更新的一个或多个推荐应用。
根据实施例的控制电子设备的方法包括:从图像中识别一个或多个对象;通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用;以及在显示器上显示所确定的一个或多个推荐应用,以便所确定的一个或多个推荐应用运行。
公开方式
在下文中,将参考附图详细描述本公开的实施例,使得本领域的普通技术人员可以容易地执行本公开。然而,本公开可以以许多不同形式来体现,并且不限于本文所描述的本公开的实施例。此外,为了清楚地描述本公开,省略了与描述不相关的部分,并且贯穿说明书将相同的附图标记分配给相同的元件。
本文所使用的术语是考虑到本公开中描述的功能当前在本领域中广泛使用的通用术语,但是术语可以根据本领域普通技术人员的意图、先例或本领域的新技术而变化。因此,本文中所使用的术语不应当理解为简单的名称,而是基于术语的含义以及本公开的整体描述来理解。
本文中所使用的术语用于描述具体实施例的目的,而非意在限制本公开的范围。本文中使用的单数形式“一”、“一个”和“该”意在还包括复数形式,除非上下文另外明确指出。此外,应当理解,当区域被称为“连接到”或“耦合到”另一区域时,该区域可以“直接连接或耦合到”另一区域或“电连接到”另一区域。应当理解,当在本文中使用时,术语例如“包括”、“包含”和“具有”指定存在所描述的元件,但是不排除存在或添加一个或多个其他元件。
说明书中的术语“该”和类似的确定术语的使用应解释为涵盖单数和复数两者。此外,除非本文另外明确指出,否则可以以任何合适的顺序执行本文描述的所有方法的操作。本公开不限于所描述的操作的顺序。
在本说明书中的各个地方出现的短语“在一些实施例中”或“在实施例中”不一定指代同一实施例。
可以由功能块配置和各种处理操作来表示本公开的一些实施例。这些功能块的全部或一部分可以由配置为执行具体功能的任何数目的硬件和/或软件组件来实现。例如,本公开的功能块可以被实现为一个或多个微处理器,或可以被实现为用于特定功能的电路配置。此外,例如,本公开的功能块可以用各种编程或脚本语言来实现。可以通过在一个或多个处理器上执行的算法来实现功能块。此外,本公开可以采用用于电子环境配置、信号处理和/或数据处理的任何传统技术。术语“机制”、“元件”和“配置”在广义上使用,并且不限于机械或物理配置。
此外,附图中示出的连接线或连接构件旨在表示元件之间的示例性功能连接和/或物理或逻辑连接。应该注意,在实际装置中可以存在许多替代的或者附加的功能连接、物理连接或逻辑连接。
在下文中,将参考附图详细地描述本公开。
图1是示出了根据实施例的电子设备在显示器上显示多个应用的示例的图。
参考图1,电子设备100可以是包括显示器230的家用电器,但是实施例不限于此。例如,电子设备100可以被实现为各种设备,例如移动电话、平板个人计算(pc)、数码相机、摄像机、膝上型计算机、台式机、电子书终端、数字广播终端、个人数字助手(pda)、便携式多媒体播放器(pmp)、导航、mp3播放器和可穿戴设备。此外,电子设备100可以是固定或移动电子设备,并且可以是能够接收数字广播的数字广播接收器。
在本公开的实施例中使用的术语“用户”是指控制电子设备100的功能或操作的人,并且可以包括观察者、管理员或安装工程师。
根据实施例的电子设备100可以在显示器230上显示一个或多个应用,以便一个或多个应用运行。例如,如图1所示,电子设备100可以在显示器230上显示日历应用、天气应用和记事本应用,并且允许用户根据需要使用在显示器230上显示的应用。在这种情况下,可以将应用用作包括指示应用的样式、小部件和用户界面的主题的含义,但是实施例不限于此。用户可以从可以在电子设备100中安装和使用的多个应用中选择期望的应用,并且电子设备100可以在显示器230上显示由用户选择的应用。此外,用户可以基于用户的偏好来改变在显示器230上显示的一个或多个应用的位置和大小中的至少一项。
随着允许用户通过在显示器230上显示一个或多个应用来使用应用的电子设备100的类型的增加,需要能够容易地识别用户期望的应用的配置并且基于识别结果以用户期望的形式提供用户期望的应用的方法。
图2是示出了根据实施例的电子设备的配置的框图。
图2所示的电子设备100a可以是图1所示的电子设备100的实施例。参考图2,根据实施例的电子设备100a可以包括存储器210、处理器220和显示器230。然而,电子设备100a可以由比示出的元件更多的元件来实现,并且实施例不限于上述示例。
在下文中,将顺序描述电子设备100a的元件。
根据实施例的存储器210可以存储用于处理器220的处理和控制的程序,并且可以存储输入到电子设备100a或从电子设备100a输出的数据。
存储器210可以包括从以下的存储介质中选择的至少一种:闪存、硬盘、微型多媒体卡类型存储器、卡类型存储器(例如,sd或xd存储器)、随机存取存储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘和光盘。
根据实施例的存储器210可以包括模块,该模块包括用于以下操作的一个或多个指令:从图像识别一个或多个对象;通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用;以及在显示器上显示所确定的一个或多个推荐应用,以便所确定的一个或多个推荐应用运行。
处理器220可以控制电子设备100a的整体操作。例如,处理器220可以通过执行存储在存储器210中的一个或多个指令来控制显示器230,并且可以执行参考图1至图18描述的电子设备100a的功能。
根据实施例的处理器220可以从图像识别一个或多个对象。
图像可以是示出用户期望的应用的配置的图像。图像可以包括通过接收用于绘制用户期望的应用的配置的外部输入而生成的图像,或者是通过捕获包括用户期望的应用的配置的图像而获取的照片,但是实施例不限于此。
从图像识别的一个或多个对象可以分别对应于应用,并且可以指示用户期望的应用的属性。例如,用户可能期望在黄色桌面上不显示行的备忘录应用或能够以24小时为单位检查待办任务的日程管理应用,但是实施例不限于此。
根据实施例的处理器220可以基于用于划分图像中包括的特定区域的边界线、图像中颜色改变的程度、指示包括在图像中的特定区域的形状等来分析图像以识别一个或多个对象,但是实施例不限于此。
根据实施例的处理器220可以通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用。
神经网络可以是一组算法,用于基于人工智能(ai)学习从输入到神经网络的特定图像中识别物体的方法。例如,神经网络可以基于监督学习和无监督学习来学习从图像识别对象的方法,该监督学习使用特定图像作为输入值,该无监督学习发现用于通过自学习而无需单独学习从图像中识别对象所需的数据类型从而从图像中识别对象的模式。此外,例如,神经网络可以通过使用强化学习来学习从图像识别对象的方法,该强化学习使用关于根据学习识别对象的结果是否正确的反馈。
例如,处理器220可以利用使用一个或多个神经网络的学习模型以根据一个或多个推荐应用与一个或多个对象的相似性来确定分别与一个或多个对象相对应的一个或多个推荐应用。处理器220可以从一个或多个对象提取推荐应用的属性,并基于所提取的推荐应用的属性来确定一个或多个推荐应用。推荐应用的属性可以包括应用的类型、大小、颜色和形状中的至少一项。例如,当从图像识别的第一对象包括蓝色背景和指示今天的天气的图标时,处理器220可以提取天气应用、蓝色背景和指示天气的图标作为推荐应用的属性。处理器220可以基于推荐应用的属性(包括天气应用、蓝色背景和指示天气的图标中的至少一项)来确定推荐应用。
根据实施例的处理器220可以从应用数据库(db)中选择与第一对象相对应的一个或多个推荐应用。应用db可以包括安装在电子设备100a上的应用和存储在外部服务器中的应用的列表。存储在外部服务器中的应用可以指未安装在电子设备100a上的应用,并且电子设备100a可以从外部服务器接收应用并安装接收到的应用。例如,电子设备100a可以通过应用商店从外部服务器接收未安装在电子设备100a上的应用,并安装接收到的应用,但是实施例不限于此。
根据实施例的处理器220可以在显示器230上显示一个或多个推荐应用,以便一个或多个推荐应用运行。
处理器220可以设置用于基于图像在显示器230上布置一个或多个推荐应用的布置标准。例如,处理器220可以从根据图像识别出的一个或多个对象中确定每个对象的大小、位置和透明度中的至少一项。此外,处理器220可以基于每个对象的大小、位置和透明度中的至少一项在显示器230上布置与每个对象相对应的推荐应用。
例如,当从图像中识别出第一对象和第二对象时,第一对象可以位于图像的上端并且具有与图像的2/3相对应的大小,第二对象可以位于图像的下端并且具有与图像的1/3相对应的大小。在这种情况下,处理器220可以将推荐应用的大小和位置设置为用于布置分别与第一对象和第二对象相对应的推荐应用的布置标准。因此,处理器220可以以与显示器230的大小的2/3相对应的大小在显示器230的上端布置与第一对象相对应的推荐应用,并且可以以与显示器230的大小的1/3相对应的大小在显示器230的下端布置与第二对象相对应的推荐应用。
此外,根据实施例的处理器220可以从根据图像识别出的一个或多个对象中识别文本信息。例如,图像可以包括由用户绘制的2017年10月的日历,并且可以将指示与用户相关联的事件的文本信息写在日历上。在这种情况下,处理器220可以将2017年10月的日历识别为一个对象,并且从所识别的对象中识别指示事件的文本信息。此外,处理器220可以更新与识别出的对象(例如,2017年10月的日历)相对应的推荐应用(例如,a日历应用)以反映识别出的文本信息。例如,当在与包括在图像中的2017年10月日历中的10月17日相对应的区域中写入“生日”时,处理器220可以通过向a日历应用的10月17日添加生日事件来更新a日历应用。此外,处理器220可以在显示器230上显示添加了生日事件的更新后的a日历应用。
因此,根据实施例的处理器220可以更容易地确定用户期望的应用的配置,并且以用户期望的形式提供与用户期望的应用相对应的推荐应用。
根据实施例的显示器230可以显示分别与从图像识别出的一个或多个对象相对应的一个或多个推荐应用。此外,显示器230可以基于从一个或多个对象提取的推荐应用的属性来显示一个或多个推荐应用。因此,可以根据从图像识别出的对象的数量来改变在显示器230上显示的推荐应用的数量。可以根据从图像识别出的对象的大小和位置来改变在显示器230上显示的推荐应用的大小和位置。
当显示器230被实现为触摸屏时,显示器230可以被用作输入设备以及输出设备。例如,显示器230可以包括液晶显示器(lcd)、薄膜晶体管-液晶显示器(tft-lcd)、有机发光二极管(oled)、柔性显示器、三维(3d)显示器和电泳显示器中的至少一种。根据实施例,电子设备100a可以包括两个或更多个显示器230。
图3是示出了根据另一实施例的电子设备的配置的框图。
如图3所示,电子设备100b可以包括存储器210、处理器220和显示器230,并且还可以包括调谐器140、通信器150、检测器160、输入器/输出器170、视频处理器180、音频处理器115和用户输入器190。
因为存储器210、处理器220和显示器230与上面参考图2描述的存储器210,处理器220和显示器230相同,因此在图3中将省略其冗余描述。
调谐器140可以通过对以有线或无线方式接收的广播信号执行放大、混合、谐振等而仅调谐许多传播分量中要由电子设备100b接收的频道的频率。广播信号可以包括音频、视频和附加信息(例如,电子节目指南(epg))。
通过调谐器140接收的广播信号可以被解码(例如,经历音频解码、视频解码或附加信息解码)并被划分为音频、视频和/或附加信息。划分的音频、视频和/或附加信息可以在处理器220的控制下存储在存储器210中。
电子设备100b的调谐器140可以是单个或多个。调谐器140可以被实现为与电子设备100b构成一个整体(all-in-one),或者被实现为具有与电子设备100b电连接的调谐器在内的单独设备(例如,与输入器/输出器170连接的机顶盒(未示出)或调谐器(未示出))。
在处理器220的控制下,通信器150可以将电子设备100b连接到外部设备(例如,音频设备)。处理器220可以向通过通信器150连接的外部设备发送内容以及从外部设备接收内容,从外部设备下载应用或者执行web浏览。
根据电子设备100b的性能和配置,通信器150可以包括无线局域网(wlan)151、蓝牙152和有线以太网153中的一项。此外,通信器150可以包括wlan151、蓝牙152和有线以太网153的组合。在处理器220的控制下,通信器150可以接收控制器101的控制信号。控制信号可以实现为蓝牙类型、射频(rf)信号类型或wi-fi类型。
除了蓝牙之外,通信器150还可以包括其他短距离通信(例如,近场通信(nfc)(未示出)和低功耗蓝牙(ble)(未示出))。
根据实施例的通信器150可以从外部服务器接收使用一个或多个神经网络的学习模型。此外,通信器150可以从外部设备接收用于识别一个或多个对象的图像。
检测器160可以检测用户语音、用户图像或用户交互,并且可以包括麦克风161、相机162和光学接收器163。
麦克风161可以接收用户说出的语音。麦克风161可以将接收到的语音转换为电信号,并将电信号输出到处理器220。
相机162可以在相机识别范围内接收与包括手势在内的用户运动相对应的图像(例如,连续帧)。例如,相机162可以捕获包括用户期望的应用的配置的图像。例如,相机162可以捕获描绘用户期望的应用的配置的图片的照片并存储所捕获的照片,并且处理器220可以提供分别与从被相机162捕获的照片中识别的一个或多个对象相对应的一个或多个推荐应用。
当电子设备100b由控制设备控制时,光学接收器163可以接收从控制设备接收的光信号(包括控制信号)。光学接收器163可以从控制设备接收与用户输入(例如,触摸、按压、触摸手势、语音或运动)相对应的光信号。在处理器220的控制下,可以从所接收的光信号中提取控制信号。
当电子设备100b由控制设备控制时,根据实施例的光学接收器163可以接收用于绘制指示用户期望的应用配置的图像的外部输入。
在控制器220的控制下,输入器/输出器170可以从电子设备100b的外部接收视频(例如,运动图像等)、音频(例如,语音、音乐等)以及附加信息(例如,电子节目指南(epg)等)。输入器/输出器170可以包括高清多媒体接口(hdmi)端口171、组件插孔172、pc端口173和通用串行总线(usb)端口174中的一个。输入器/输出器170可以包括hdmi端口171、组件插孔172、pc端口173和usb端口174的组合。
根据实施例的存储器210可以存储用于处理器220的处理和控制的程序,并且可以存储输入到电子设备100b或从电子设备100b输出的数据。
存储器210中存储的程序可以根据其功能而分类为多个模块。例如,程序可以被分类为学习模块211等。
学习模块211可以包括通过学习如下方法而确定的学习模块:响应于一个或多个对象向一个或多个神经网络的输入而从一个或多个对象提取推荐应用的属性的方法以及基于提取的推荐应用的属性来确定一个或多个推荐应用的方法。可以从外部服务器接收学习模型,并且可以将接收到的学习模型存储在学习模块211中。
处理器220可以控制电子设备100b的总体操作以及电子设备100b的内部元件之间的信号流,并执行数据处理功能。当接收到用户输入或者满足存储的预设条件时,控制器220可以执行存储器210中存储的操作系统(os)和各种应用。
根据实施例的处理器220可以执行存储在存储器210中的一个或多个指令,以从图像中识别一个或多个对象,通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用,并在显示器上显示所确定的一个或多个推荐应用,以便所确定的一个或多个推荐应用运行。
视频处理器180可以处理要由显示器230显示的图像数据,并且可以针对图像数据执行各种图像处理操作,例如解码、渲染、缩放、噪声滤波、帧速率转换和分辨率转换。
显示器230可以在处理器220的控制下,在屏幕上显示包括在通过调谐器140接收的广播信号中的视频。此外,显示器230可以显示通过通信器150或输入器/输出器170输入的内容(例如,视频)。显示器230可以在处理器220的控制下输出存储器210中存储的图像。
音频处理器115可以处理音频数据。音频处理器115可以针对音频数据执行各种处理,例如解码、放大或噪声滤除。
音频输出器125可以在处理器220的控制下,输出包括在通过调谐器140接收的广播信号中的音频、通过通信器150或输入器/输出器170输入的音频以及存储在存储器210中的音频。音频输出器125可以包括扬声器126、耳机输出端子127或索尼/飞利浦数字接口(s/pdif)输出端子128中的至少一个。
用户输入器190是指允许用户输入用于控制电子设备100b的数据的设备。例如,用户输入器190可以包括键盘、圆顶开关、触摸板、滚轮和滚轮开关,但实施例不限于此。此外,用户输入器190可以是控制设备的元件或电子设备100b的元件。
根据实施例的用户输入器190可以接收用于绘制用户期望的应用的配置的输入。例如,当用户输入器190被实现为触摸屏或触摸板时,用户输入器190可以使用用户的手指或电子笔来接收绘制输入。此外,当确定与从图像识别出的对象相对应的多个推荐应用时,用户输入器190可以接收选择要在显示器230上显示的推荐应用的输入。
同时,图2和图3所示的电子设备100a和100b的框图是实施例的框图。框图的每个元件可以根据实际实现的电子设备100a和100b的规范而集成、添加或省略。例如,在必要时,两个或更多个元件可以集成为一个元件,或者一个元件可以被细分为两个或更多个元件。此外,由每个块执行的功能被提供用于描述实施例,并且具体操作或其设备并不限制本公开的范围。
图4是示出了根据实施例的图像的各种示例的图。
根据实施例的电子设备100可以从图像识别一个或多个对象。图像是指示用户期望的应用的配置的图像,并且可以包括用户绘制的图片或捕获的照片,但是实施例不限于此。例如,电子设备100可以通过被实现为触摸屏或触摸板的显示器230接收用于绘制指示用户期望的应用配置的图片的外部输入,并且可以通过生成与接收到的外部输入相对应的图片来获取图像。此外,电子设备100可以获取通过使用相机162捕获指示用户期望的应用的配置的图片而获取的照片作为图像。此外,电子设备100可以获取通过使用相机162捕获在外部设备的显示器上显示的应用而获取的照片、或者通过使用相机162捕获在外部设备的显示器上显示的应用而获取的屏幕作为图像。根据实施例,电子设备100可以从外部设备接收图像。例如,电子设备100可以通过使用无线通信来接收由用户的另一设备生成的图像。因此,电子设备100可以获取各种类型的图像并从所获取的图像中识别一个或多个对象。
参考图4,图像可以包括通过使用相机162捕获用户绘制的图片而获取的照片401、指示在外部设备的显示器上显示的应用的图像402以及由用户通过被实现为触摸屏的显示器绘制的图片403。例如,图4中所示的照片401是通过捕获用户绘制的图片而获取的,并且照片401可以包括用户期望的应用的配置。
此外,用户可能想要使用与在另一设备上显示的应用相同的应用。此时,如图4中所示的图像402中,用于确定推荐应用的图像可以包括通过捕获显示了用户期望的应用的屏幕而获取的图像,或者通过捕获显示了期望应用的屏幕的照片而获取的图像,但是实施例不限于此。
此外,当电子设备100的显示器230被实现为触摸屏时,电子设备100可以通过被实现为触摸屏的显示器230接收用于绘制期望应用的配置的外部输入,并且可以生成与接收到的外部输入相对应的图片。例如,如图4所示的图像403中,用户可能想要在电子设备100的显示器上显示待办事项列表显示应用和音乐回放应用。因此,用户可以通过使用被实现为触摸屏的显示器230绘制图片(例如图4所示的图像403),并且用户绘制的图片可以被存储为一个图像。
图5和图6是用于描述根据实施例的对从图像识别的一个或多个对象执行预处理的过程的图。
根据实施例的电子设备100可以从图像识别一个或多个对象,并且执行预处理以将识别出的一个或多个对象输入到一个或多个神经网络。
例如,参考图5,图像500可以是包括用户期望的应用的配置的图像。图像500可以是用户绘制的图片。图像500可以包括指示在图像500的上端的日历应用的第一对象501、指示在图像500的右下端的备忘录应用的第二对象502以及指示在图像500的左下端的天气应用的第三对象503。
根据实施例的电子设备100可以通过使用一个或多个神经网络的学习模型来确定分别与从图像识别出的第一至第三对象501、502和503相对应的推荐应用。在这种情况下,电子设备100可以执行预处理,以将第一至第三对象501、502和503输入到学习模型。此外,可以执行预处理,使得学习模型学习从一个或多个对象中提取推荐应用的属性并基于所提取的推荐应用的属性来确定一个或多个推荐应用的方法。例如,可以通过学习如下方法来确定学习模型:响应于一个或多个对象向一个或多个神经网络的输入而从一个或多个对象提取推荐应用的属性,以及基于提取的推荐应用的属性来确定一个或多个推荐应用。在这种情况下,输入到一个或多个神经网络的一个或多个对象可以是已经对其执行了预处理的对象。
例如,如图5所示,电子设备100可以对图像中包括的第一至第三对象501、502和503执行裁剪操作。电子设备100可以响应于已经对其执行了裁剪操作的第一至第三对象511、512和513到学习模型的输入而确定分别对应于第一至第三对象511、512和513的一个或多个推荐应用。
根据实施例,可以改变裁剪第一至第三对象501、502和503的方法。例如,电子设备100可以通过使用分析图像500中的颜色变化的操作、检测指示图像500中特定区域的边界线的操作以及提取包括在图像500中的特定区域的形状的操作中的至少一种操作来裁剪第一至第三对象501、502和503。
此外,参考图6,当图像520是用户捕获的照片时,可以根据捕获角度、捕获环境等来改变从照片识别出的一个或多个对象的形状。例如,如图6所示,当图像520是在倾斜状态下捕获的照片时,从图像520识别的多个对象531、532和533可能具有变形的形状。在这种情况下,电子设备100可以通过对具有变形形状的对象531、532和533执行变形操作来校正对象531、532和533的变形形状。变形操作可以指根据特定规则变换图像形状的操作,并且根据实施例可以使用各种变形算法。
根据实施例的电子设备100可以通过对具有变形形状的对象531、532和533执行变形操作来获取多个形状被校正的对象541、542和543。此外,电子设备100可以通过使用一个或多个神经网络的学习模型来确定分别与形状被校正的对象541、542和543相对应的一个或多个推荐应用。
图7是用于描述根据实施例的由电子设备执行的确定分别与从图像识别的一个或多个对象相对应的一个或多个推荐应用的过程的图。
根据实施例的电子设备100可以通过使用一个或多个神经网络的学习模型来确定分别与从图像识别出的一个或多个对象相对应的一个或多个推荐应用。例如,参考图7,电子设备100可以从图像识别指示日历应用的第一对象601、指示备忘录应用的第二对象602和指示天气应用的第三对象603。电子设备100可以通过使用一个或多个神经网络的学习模型610来确定分别与第一至第三对象601、602和603相对应的一个或多个推荐应用。如上所述,可以对输入到学习模型610的第一至第三对象601、602和603执行包括裁剪操作和变形操作中的至少一种操作的预处理。
根据实施例的电子设备100可以根据一个或多个推荐应用与第一至第三对象601、602和603的相似性来确定分别与第一至第三对象601、602和603相对应的一个或多个推荐应用。电子设备100可以从第一至第三对象601、602和603提取推荐应用的属性,并且可以基于所提取的推荐应用的属性来确定一个或多个推荐应用。
例如,如图7所示,电子设备100可以提取应用的类型(例如,日历应用)、应用的形状(例如,网格类型的月历)和应用的颜色(例如,白色背景和黑色字母)中的至少一种作为与第一对象601相对应的推荐应用的属性。此外,电子设备100可以提取应用的类型(例如,备忘录应用)和应用的颜色(黄色背景)作为与第二对象602相对应的推荐应用的属性,并且可以提取应用的类型(例如,天气应用)、应用的类型(指示今天天气的图片)和应用的颜色(例如,蓝色背景)作为与第三对象603相对应的推荐应用的属性。
根据实施例的电子设备100可以基于所提取的推荐应用的属性来确定一个或多个推荐应用。例如,电子设备100可以基于所提取的推荐应用的属性来从应用db中选择一个或多个推荐应用。如上所述,应用db可以包括安装在电子设备100上的应用和未安装在电子设备100上的应用的列表。电子设备100可以通过应用商店从外部服务器接收未安装在电子设备100上的应用,并安装接收到的应用。
根据实施例的电子设备100可以根据与提取的推荐应用的属性的匹配程度来计算从应用db中选择的多个应用的分数。例如,随着与提取的推荐应用的属性的匹配程度更高,计算的分数可以进一步增加。电子设备100可以优先推荐具有较高计算分数的应用。因此,电子设备100可以按照分数的降序将预设数量的应用确定为多个推荐应用,并且可以在显示器230上显示推荐应用,以便允许用户选择推荐应用之一。
例如,电子设备100可以基于从第一对象601提取的推荐应用的属性(例如,日历应用、白色背景和黑色字母、网格状的月历等),将a日历应用621和b日历应用622确定为与第一对象601相对应的推荐应用。此外,电子设备100可以基于从第二对象602提取的推荐应用的属性(例如,备忘录应用、黄色背景等),将c备忘录应用631和d备忘录应用632确定为与第二对象602相对应的推荐应用,并且可以基于从第三对象603提取的推荐应用的属性(例如,天气应用、指示今天天气的图片、蓝色背景等),将e天气应用641和f天气应用642确定为与第三对象603相对应的推荐应用。
根据实施例的电子设备100可以在显示器230上显示分别与第一至第三对象601、602和603相对应的推荐应用,并且允许用户从分别与第一至第三对象相对应的推荐应用中选择期望的应用。因此,电子设备100可以更准确和容易地推荐满足用户期望的条件的应用。
图8是示出了根据实施例的学习确定与对象相对应的推荐应用的方法的神经网络的示例的图。
参考图8,一个或多个神经网络700可以学习通过使用多个学习对象701至705作为输入值来确定与学习对象相对应的推荐应用的方法。学习对象701至705可以从指示用户期望的应用的配置的图像中提取,并且可以是由用户绘制的图片或捕获的照片的形式。例如,对象701至705可以是从用户在纸上绘制的图片中提取的对象,例如图8中所示的第一对象701,以及可以是通过使用特定图片编辑软件生成的对象,例如第二对象702和第五对象705。此外,对象701至705可以是通过捕获显示在另一设备的显示器上的应用而生成的对象,例如第三对象703,以及可以是通过从实现为触摸屏的电子设备100的显示器接收绘制输入而生成的对象,例如第四对象704,但是实施例不限于此。
一个或多个神经网络700可以学习从学习对象701至705中提取推荐应用的属性的方法。例如,推荐应用的属性可以包括应用的类型、大小、颜色和形状中的至少一项,并且提取的推荐应用的属性可以由关键字指示,但是实施例不限于此。此外,一个或多个神经网络700可以学习基于所提取的推荐应用的属性来确定一个或多个推荐应用的方法,并且可以基于学习结果来生成学习模型710。
根据实施例,可以预先执行学习通过使用一个或多个神经网络700来确定与对象相对应的一个或多个推荐应用的方法的操作。此外,当添加输入到一个或多个神经网络700的学习对象时,可以更新学习模型710。
此外,根据实施例,学习通过使用一个或多个神经网络700确定与对象相对应的一个或多个推荐应用的方法的操作可以由电子设备100执行以及可以由外部服务器执行。例如,学习通过使用一个或多个神经网络700来识别与对象相对应的对象的方法的操作可能需要相对复杂的计算量。因此,外部服务器可以执行学习操作,并且电子设备100可以从外部服务器接收学习模型710,从而减少了要在电子设备100中执行的计算量。电子设备100可以预先从外部服务器接收学习模型710,将接收到的学习模型710存储在存储器中,并通过使用存储的学习模型710来确定与对象相对应的一个或多个推荐应用。
图9和图10是用于描述根据实施例的从多个推荐应用中选择要在显示器上显示的应用的过程的图。
根据实施例的电子设备100可以确定分别与从图像提取的一个或多个对象相对应的多个推荐应用,并且允许用户从推荐应用中选择一个推荐应用。
例如,参考图8,电子设备100可以基于从根据图像识别的第一对象601中提取的推荐应用的属性(例如,日历应用、白色背景和黑色字母、网格状的月历等),将a日历应用801和b日历应用802确定为与第一对象601相对应的推荐应用。此外,电子设备100可以基于从第二对象602提取的推荐应用的属性(例如,备忘录应用、黄色背景等),将c备忘录应用811和d备忘录应用812确定为与第二对象602相对应的推荐应用,并且可以基于从第三对象603提取的推荐应用的属性(例如,天气应用、指示今天天气的图片、蓝色背景等),将e天气应用821和f天气应用822确定为与第三对象603相对应的推荐应用。
根据实施例的电子设备100包括在显示器230上的a日历应用801、b日历应用802、c备忘录应用811、d备忘录应用812、e天气应用821和f天气应用822,并且可以从用户接收选择一些显示的推荐应用的输入。例如,如图9所示,当从用户接收到选择b日历应用802、c备忘录应用811和e天气应用821的输入时,电子设备100可以在显示器230上显示所选择的应用。
当在显示器230上显示从多个推荐应用中选择的推荐应用时,根据实施例的电子设备100可以设置用于基于图像布置推荐应用的布置标准,并且可以基于设置的布置标准在显示器230上布置所选择的推荐应用。例如,参考图10,电子设备100可以基于图像830识别指示日历应用的第一对象831、指示天气应用的第二对象832和指示备忘录应用的第三对象833的位置和大小中的至少一项。此外,电子设备100可以设置用于在显示器230上布置与第一对象831相对应的b日历应用841、与第三对象833相对应的c备忘录应用842以及与第二对象832相对应的f天气应用843的布置标准。例如,电子设备100可以以与显示器230的大小的2/3相对应的大小在上端布置b日历应用841,可以以与显示器230的大小的1/3相对应的大小在左下端布置c备忘录应用842,以及可以以与显示器230的大小的1/3相对应的大小在右下端布置f天气应用843。此外,电子设备100可以根据设置的布置标准在显示器230上布置b日历应用841、c备忘录应用842和f天气应用843。
图11是示出了根据实施例的电子设备从外部服务器接收推荐应用并安装接收到的推荐应用的示例的图。
当从多个推荐应用中选择的应用没有安装在电子设备100上时,根据实施例的电子设备100可以从外部服务器接收所选择的应用并安装接收到的应用。
例如,参考图11,电子设备100可以将c备忘录应用811和d备忘录应用812确定为推荐应用,并且可以从用户接收选择c备忘录应用811的输入。当c备忘录应用811是未安装在电子设备100上的应用时,电子设备100可以显示消息910以选择是否从应用商店下载c备忘录应用811。当接收到选择下载c备忘录应用811的用户输入时,电子设备100可以访问应用商店并且接收及安装c备忘录应用811。此外,电子设备100可以设置用于基于图像布置c备忘录应用811的布置标准,并且可以基于设置的布置标准在显示器230的屏幕900中包括的区域901中布置c备忘录应用811。因此,即使当推荐应用未安装在电子设备100上时,电子设备100也可以更方便地提供满足用户期望的条件的推荐应用。
图12是示出了根据实施例的电子设备更新推荐应用以反映从图像识别的文本信息的示例的图。
根据实施例的电子设备100可以从对象识别文本信息,并且更新与该对象相对应的推荐应用以添加文本信息。
例如,参考图12,对象1001可以是绘制有2017年11月日历的图片,并且可以在2017年11月日历上书写指示特定事件(例如,生日、晚餐等)的文本信息。电子设备100可以从对象1001识别文本信息,并且更新与对象1001相对应的推荐应用以反映识别的文本信息。根据实施例,当与对象1001相对应的多个推荐应用被确定时,电子设备100可以接收从推荐应用中选择要在显示器230上显示的推荐应用的外部输入,并且更新所选择的推荐应用以反映识别的文本信息。例如,如图12所示,电子设备100可以从对象1001识别写在11月16日上的“生日”和写在11月29日上的“晚餐”作为文本信息。此外,电子设备100可以将k日历应用1010确定为与对象1001相对应的推荐应用,并且可以通过将识别的文本信息(“生日”和“晚餐”)添加到k日历应用1010的2017年11月日历来更新k日历应用1010。因此,电子设备100可以在显示器230上显示指示2017年11月日历的k日历应用1010。在显示的k日历应用1010中,电子设备100可以在与11月16日相对应的区域中显示“生日”,并且可以在与11月29日相对应的区域中显示“晚餐”。
根据实施例,在对象1001中,可以在与11月16日相对应的区域中显示绿色突出显示,并且可以在与11月29日相对应的区域中显示红色突出显示。在这种情况下,电子设备100可以在显示器230上显示的k日历应用1010中分别在与11月16日和11月29日相对应的区域中显示绿色突出显示和红色突出显示。当k日历应用1010不提供绿色突出显示和红色突出显示时,电子设备100可以显示具有不同颜色的突出显示或者可以以不同形式显示突出显示,但是实施例不限于此。
图13是根据实施例的操作电子设备的方法的流程图。
在操作s1100中,电子设备100从图像识别一个或多个对象。
从图像识别的一个或多个对象可以分别对应于应用,并且可以指示用户期望的应用的属性。根据实施例的电子设备100可以基于用于划分图像中包括的特定区域的边界线、图像中颜色改变的程度、指示包括在图像中的特定区域的形状等来分析图像以识别一个或多个对象,但是实施例不限于此。
在操作s1110中,电子设备100通过使用一个或多个神经网络的学习模型来确定分别与一个或多个对象相对应的一个或多个推荐应用。
例如,电子设备100可以利用使用一个或多个神经网络的学习模型以根据一个或多个推荐应用与一个或多个对象的相似性来确定分别与一个或多个对象相对应的一个或多个推荐应用。此外,电子设备100可以从一个或多个对象提取推荐应用的属性,并且基于所提取的推荐应用的属性来确定一个或多个推荐应用。推荐应用的属性可以包括应用的类型、大小、颜色和形状中的至少一项。
此外,根据实施例的电子设备100可以从应用db选择与对象相对应的一个或多个推荐应用。应用db可以包括安装在电子设备100上的应用和存储在外部服务器中的应用的列表。存储在外部服务器中的应用可以指未安装在电子设备100a上的应用,并且电子设备100a可以从外部服务器接收应用并安装接收到的应用。例如,电子设备100a可以通过应用商店从外部服务器接收未安装在电子设备100a上的应用,并安装接收到的应用,但是实施例不限于此。
在操作s1120中,根据实施例的电子设备100可以在显示器230上显示一个或多个推荐应用,以便一个或多个推荐应用运行。
根据实施例的电子设备100可以设置用于基于图像在显示器230上布置一个或多个推荐应用的布置标准。例如,电子设备100可以从根据图像识别出的一个或多个对象中确定每个对象的大小、位置和透明度中的至少一项。此外,电子设备100可以基于每个对象的大小、位置和透明度中的至少一项在显示器230上布置与每个对象相对应的推荐应用。
图14是示出了根据实施例的处理器的配置的框图。
参考图14,根据实施例的处理器220可以包括数据训练器1210和数据识别器1220。
数据训练器1210可以学习用于确定与从图像识别的对象相对应的推荐应用的标准。数据训练器1210可以学习关于对象的哪些信息用于确定与对象相对应的推荐应用的标准。此外,数据训练器1210可以学习关于通过使用对象有关的信息来确定推荐应用的方法的标准。此外,数据训练器1210可以学习用于从根据图像识别的对象中提取推荐应用的属性的标准,并且可以学习用于基于所提取的推荐应用的属性来确定与对象相对应的一个或多个推荐应用的标准。
数据训练器1210可以获取要用于学习的对象,并且可以将获取的对象应用于将在下面描述的数据识别模型,以便学习用于确定与对象相对应的推荐应用的标准。
数据识别器1220可以确定与对象相对应的一个或多个推荐应用,并输出确定结果。数据识别器1220可以使用学习到的数据识别模型来确定与对象相对应的一个或多个推荐应用。数据识别器1220可以根据通过学习获取的预设标准来获取对象,并且可以通过使用获取的对象作为输入值来使用数据识别模型。此外,数据识别器1220可以使用数据识别模型来确定与对象相对应的一个或多个推荐应用。此外,通过使用对象作为输入值从数据识别模型输出的结果值可以用于更新数据识别模型。
数据训练器1210和数据识别器1220中的至少一个可以以至少一个硬件芯片的形式制造,并且可以安装在电子设备上。例如,数据训练器1210和数据识别器1220中的至少一个可以以用于ai的专用硬件芯片的形式制造,或者被制造为现有通用处理器(例如,中央处理单元(cpu)或应用处理器)或图形专用处理器(例如,图形处理单元(gpu))的一部分,并且可以安装在上述各种电子设备上。
在这种情况下,数据训练器1210和数据识别器1220可以被安装在单个设备上或者可以分别安装在单独的设备上。例如,数据训练器1210和数据识别器1220中的一个可以被包括在单个电子设备110中,而其中的另一个可以被包括在服务器中。此外,可以通过有线或无线通信将由数据训练器1210构建的模型信息提供给数据识别器1220,并且可以将输入到数据识别器1220的数据作为附加训练数据提供给数据训练器1210。
数据训练器1210和数据识别器1220中的至少一个可以被实现为至少一个软件模块。当数据训练器1210或数据识别器1220中的至少一个被实现为软件模块(或包括指令的程序模块)时,软件模块可以被存储在非暂时性计算机可读介质中。此外,在这种情况下,至少一个软件模块可以由操作系统(os)提供或可以由特定应用提供。备选地,至少一个软件模块中的一部分可以由os提供,而其剩余部分可以由特定应用提供。
图15是示出了根据实施例的数据训练器的配置的框图。
参考图15,根据实施例的数据训练器1210可以包括数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215。
数据获取器1211可以获取学习所需的数据以确定与对象相对应的一个或多个推荐应用。数据获取器1211可以从外部服务器(例如社交网络服务器、云服务器或内容提供服务器)获取数据。
数据获取器1211可以获取学习所需的对象以确定与对象相对应的一个或多个推荐应用。例如,数据获取器1211可以从通过网络连接到电子设备100的至少一个外部设备获取对象,并且可以通过从用户绘制的图片或捕获的照片中提取一个或多个对象来获取图像。
预处理器1212可以预处理所获取的数据,以便用于学习以确定与对象相对应的一个或多个推荐应用。预处理器1212可以以预设格式处理所获取的数据,以便下面将描述的模型学习器1214可以使用所获取的数据来学习以确定与对象相对应的一个或多个推荐应用。例如,预处理器1212可以通过对获取的对象执行包括裁剪操作和变形操作中的至少一项的预处理来以预设格式处理获取的对象。
训练数据选择器1213可以从多条预处理数据中选择学习所需的数据。可以将所选择的数据提供给模型学习器1214。训练数据选择器1213可以根据用于确定与对象相对应的一个或多个推荐应用的预设标准,从多条预处理数据中选择学习所需的数据。此外,训练数据选择器1213可以通过下面将描述的模型学习器1214执行的学习根据预设标准来选择数据。
模型学习器1214可以学习关于哪些训练数据将用于确定与对象相对应的一个或多个推荐应用的标准。例如,模型学习器1214可以学习用于从对象提取推荐应用的属性的标准,并且可以学习推荐应用的类型、颜色、大小和形状中的至少一项。
此外,模型学习器1214可以使用训练数据来训练用于确定与对象相对应的一个或多个推荐应用的数据识别模型。在这种情况下,数据识别模型可以是预先构建的模型。例如,数据识别模型可以是通过接收基本训练数据(例如,样本图像等)而预先构建的模型。
可以考虑识别模型的应用领域、学习目的、设备的计算机性能等来构建数据识别模型。数据识别模型可以是例如基于神经网络的模型。例如,诸如深度神经网络(dnn)、递归神经网络(rnn)或双向递归深度神经网络(brdnn)的模型可以用作数据识别模型,但实施例不限于此。
根据各种实施例,当存在多个预先构建的识别模型时,模型学习器1214可以将在输入训练数据和基本训练数据之间具有大相关性的数据识别模型确定为要学习的数据识别模型。在这种情况下,可以针对每种数据类型预先分类基本训练数据,并且可以针对每种数据类型预先构建识别模型。例如,可以基于各种标准(例如生成训练数据的区域、生成训练数据的时间、训练数据的大小、训练数据的类型、训练数据的创建者以及训练数据中对象的类型)预先分类基本训练数据。
此外,模型学习器1214可以通过使用例如包括误差反向传播或梯度下降的学习算法来学习数据识别模型。
此外,模型学习器1214可以通过例如使用训练数据作为输入值的监督学习来学习数据识别模型。此外,例如,模型学习器1214可以在没有单独监督的情况下自学习用于确定用户状况所需的数据的类型,从而通过找到用于确定用户状况的标准的无监督学习来训练数据识别模型。此外,模型学习器1214可以例如通过使用关于根据训练确定用户状况的结果是否正确的反馈的强化学习来学习数据识别模型。
此外,当学习了数据识别模型时,模型学习器1214可以存储所学习的数据识别模型。在这种情况下,模型学习器1214可以将所学习的数据识别模型存储在包括数据识别器1220的设备的存储器中。备选地,模型学习器1214可以将所学习的数据识别模型存储在包括下面将描述的数据识别器1220的设备的存储器中。备选地,模型学习器1214可以将所学习的数据识别模型存储在通过有线或无线网络连接到电子设备100的服务器的存储器中。
在这种情况下,存储了所学习的数据识别模型的存储器还可以存储例如与设备的至少一个其他元件相关联的命令或数据。此外,存储器可以存储软件和/或程序。程序可以包括例如内核、中间件、应用编程接口(api)和/或应用程序(或“应用”)。
当评估数据被输入到数据识别模型并且从评估数据输出的识别结果不满足特定标准时,模型评估器1215可以使模型学习器1214再次学习。在这种情况下,评估数据可以是预设用于评估数据识别模型的数据。
例如,当所学习的数据识别模型针对评估数据的分析结果中分析结果不准确的评估数据的数量或比率超过预设阈值时,模型评估器1215可以评估没有满足特定标准。例如,在将特定标准定义为2%的比率的情况下,当所学习的数据识别模型针对总共1000条评估数据中多于20条的评估数据输出不正确的识别结果时,模型评估器1215可以评估所学习的数据识别模型不合适。
当存在多个所学习的数据识别模型时,模型评估器1215可以评估每个所学习的数据识别模型是否满足特定标准,并将满足特定标准的模型确定为最终数据识别模型。在这种情况下,当存在满足特定标准的多个模型时,模型评估器1215可以将以评估分数的降序预设的任何一个模型或特定数量的模型确定为最终数据识别模型。
同时,数据训练器1210中的数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215中的至少一个可以以硬件芯片的形式制造并被安装在电子设备上。例如,数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215中的至少一个可以以用于ai的专用硬件芯片的形式来制造,或者被制造为现有通用处理器(例如,cpu或应用处理器)或图形专用处理器(例如,gpu)的一部分并可以被安装到上述各种电子设备上。
此外,数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215可以被安装在单个设备上或者可以分别被安装在单独的设备上。例如,数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215中的一些可以被包括在电子设备100中,而其他一些可以被包括在服务器中。
此外,数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215中的至少一个可以被实现为软件模块。当数据获取器1211、预处理器1212、训练数据选择器1213、模型学习器1214和模型评估器1215中的至少一个被实现为软件模块(或者包括指令的程序模块)时,该软件模块可以被存储在非暂时性计算机可读介质中。此外,在这种情况下,至少一个软件模块可以由os提供或可以由特定应用提供。备选地,至少一个软件模块中的一部分可以由os提供,而其剩余部分可以由特定应用提供。
图16是示出了根据实施例的数据识别器的配置的框图。
参考图16,根据实施例的数据识别器1220可以包括数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225。
数据获取器1221可以获取用于确定与对象相对应的一个或多个推荐应用所需的数据,并且预处理器1222可以对获取的数据进行预处理,以便获取的数据用于确定与对象相对应的一个或多个推荐应用。预处理器1222可以以预设格式处理获取的数据,以便将在下面描述的识别结果提供器1224可以使用获取的数据来确定与对象相对应的一个或多个推荐应用。
识别数据选择器1223可以从多条预处理数据中选择用于确定与对象相对应的一个或多个推荐应用所需的数据。可以将所选择的数据提供给识别结果提供器1224。识别数据选择器1223可以根据用于确定与对象相对应的一个或多个推荐应用的预设标准来选择全部或部分预处理数据。
识别结果提供器1224可以将所选数据应用于数据识别模型,以确定与对象相对应的一个或多个推荐应用。识别结果提供器1224可以根据数据的识别目的来提供识别结果。识别结果提供器1224可以通过使用由识别数据选择器1223选择的数据作为输入值,将所选择的数据应用于数据识别模型。此外,分析结果可以由识别模型确定。
识别结果提供器1224可以提供指示所确定的一个或多个推荐应用的识别信息。例如,识别结果提供器1224可以提供关于所确定的一个或多个推荐应用的类型、大小和位置信息。
模型更新器1225可以基于由识别结果提供器1224提供的识别结果的评估来更新数据识别模型。例如,模型更新器1225可以将由识别结果提供器1224提供的识别结果提供给模型学习器1014,以便模型学习器1014更新数据识别模型。
数据识别器1220中的数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225中的至少一个可以以至少一个硬件芯片的形式制造并被安装在电子设备100上。例如,数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225中的至少一个可以以用于ai的专用硬件芯片的形式制造,或者被制造为现有通用处理器(例如,cpu或应用处理器)或图形专用处理器(例如,gpu)的一部分并可以被安装到上述各种电子设备上。
此外,数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225可以被安装在单个设备上或者可以分别被安装在单独的设备上。例如,数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225中的一些可以被包括在电子设备100中,而其他一些可以被包括在服务器中。
此外,数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225中的至少一个可以被实现为软件模块。当数据获取器1221、预处理器1222、识别数据选择器1223、识别结果提供器1224和模型更新器1225中的至少一个被实现为软件模块(或者包括指令的程序模块)时,该软件模块可以被存储在非暂时性计算机可读介质中。此外,在这种情况下,至少一个软件模块可以由os提供或可以由特定应用提供。备选地,至少一个软件模块中的一部分可以由os提供,而其剩余部分可以由特定应用提供。
图17是示出了根据实施例的服务器的配置的框图。
参考图17,根据实施例的服务器2000可以包括db2100、通信器2200和处理器2300。
db2100可以存储从指示用户期望的应用的配置的图像中识别出的一个或多个对象。
通信器2200可以包括用于与电子设备100通信的一个或多个元件。
处理器2300可以控制服务器2000的整体操作。例如,处理器2300可以通过执行存储在服务器2000的db2100中的程序来控制db2100和通信器2200的整体操作。处理器2300可以执行存储在db2100中的程序以执行电子设备100的一些操作,这些操作已经参考图1至图15进行了描述。
处理器2300可以执行确定与对象相对应的一个或多个推荐应用的功能,该功能是由图1至图16中的电子设备100执行的功能。
图18是示出了根据实施例的电子设备和服务器彼此交互以训练和识别数据的示例的图。
参考图18,服务器2000可以学习用于确定与对象相对应的一个或多个推荐应用的标准。服务器2000可以通过获取要用于学习的数据并将获取的数据应用于数据识别模型来学习用于确定与对象相对应的一个或多个推荐应用的标准。
在这种情况下,服务器2000的模型学习器2104可以执行图16所示的数据训练器1210的功能。服务器2000的模型学习器2104可以学习关于哪些训练数据将用于确定与对象相对应的一个或多个推荐应用的标准。此外,服务器2000的模型学习器2104可以学习关于确定与对象相对应的一个或多个推荐应用的方法的标准。模型学习器2104可以通过获取要用于学习的数据并将获取的数据应用于数据识别模型来学习用于确定与对象相对应的一个或多个推荐应用的标准。
此外,电子设备100的识别结果提供器1224可以将由识别数据选择器1023选择的数据应用于服务器2000生成的数据识别模型,以确定与对象相对应的一个或多个推荐应用。例如,识别结果提供器1224可以将由识别数据选择器1223选择的数据发送到服务器2000,并且服务器2000可以通过将由识别数据选择器1223选择的数据应用于识别模型来请求确定与对象相对应的一个或多个推荐应用。
备选地,电子设备100的识别结果提供器1224可以从服务器2000接收服务器2000生成的识别模型,并且可以使用接收到的识别模型来确定与对象相对应的一个或多个推荐应用。在这种情况下,电子设备100的识别结果提供器1224可以将由识别数据选择器1223选择的数据应用于从服务器2000接收的数据识别模型,以确定与对象相对应的一个或多个推荐应用。
此外,电子设备100和服务器2000可以有效地分发和执行用于数据识别模型的训练和数据识别的操作。以这种方式,可以有效地执行数据处理,以便提供与用户的意图相匹配的服务,并且可以有效地保护用户的隐私。
一些实施例可以以包括计算机可执行指令(例如,计算机可执行程序模块)的记录介质的形式来实现。计算机可读介质可以是计算机可访问的任何可用介质,并且可以包括任何易失性和非易失性介质以及任何可移除和不可移除介质。此外,计算机可读记录介质可以包括任何计算机存储介质和通信介质。计算机存储介质可以包括通过任何方法或技术实现以存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何易失性和非易失性介质以及任何可移除和不可移除介质。通信介质可以包括计算机可读指令、数据结构、程序模块、调制数据信号(例如,载波)的其他数据,或其他传输机制,并且可以包括任何信息传送介质。
此外,本文所使用的术语“器”(-or/-er)可以是诸如处理器之类的硬件组件或电路,和/或由诸如处理器之类的硬件组件执行的软件组件。
本公开的上述描述是为了说明,并且本领域普通技术人员将理解,在不改变本公开的技术精神或基本特征的情况下,可以容易地对其他特定形式进行修改。因此,应该理解,上述实施例在所有方面是说明性的,而不是限制性的。例如,描述为单个类型的每个元件可以以分布式方式实现。类似地,被描述为分布式的元件可以以组合形式实现。
本公开的范围由所附权利要求而不是上述详细描述来确定,并且权利要求的含义和范围将被解释为使得从等同概念得出的所有改变或修改都落入本公开的范围内。