CN112312160A - 使用对象检测确定图像中的相对感兴趣区域 - Google Patents

使用对象检测确定图像中的相对感兴趣区域 Download PDF

Info

Publication number
CN112312160A
CN112312160A CN202010197700.XA CN202010197700A CN112312160A CN 112312160 A CN112312160 A CN 112312160A CN 202010197700 A CN202010197700 A CN 202010197700A CN 112312160 A CN112312160 A CN 112312160A
Authority
CN
China
Prior art keywords
region
relative
frame
location
frames
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
Application number
CN202010197700.XA
Other languages
English (en)
Inventor
詹姆斯·V·威尔森
J·怀特
D·克拉克
N·奥特奈斯
杰克·V·威尔森
P·亚达夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN112312160A publication Critical patent/CN112312160A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/635Overlay text, e.g. embedded captions in a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在各种示例中,视频帧可以包括可以在帧的区域内与第二视觉对象相对出现的第一视觉对象。一旦知道了第一视觉对象和区域之间的关系,就可以在相对区域上执行一个或更多个操作。例如,可以在已知相对区域包含文本信息的相对区域上执行光学字符识别。因此,第一视觉对象的识别可以用作用于确定包括第二视觉对象的相对区域的位置的锚,从而在减少运行时间的同时提高系统的准确性和效率。

Description

使用对象检测确定图像中的相对感兴趣区域
背景技术
检测流视频中的视觉提示(例如,平视显示器(HUD)元素、事件提要(feed)、文本信息等)或对其进行回放可能出于各种原因而有用,例如:以识别和/或跟踪关于视频的事件、动作、成就(achievement)或其他信息。例如,对于游戏流环境,此信息可能有助于跟踪游戏中不同用户的成就、进度或其他标准,或识别用于触发生成快照、短视频剪辑或突出显示或至少部分视频的更长记录的记录事件或动作。
然而,视频中视觉提示的位置可能是动态的——甚至在某些情况下在同一游戏中——这使得使用固定锚点很难检测到视觉提示。例如,由于游戏版本的更新、最终用户配置的差异、HUD跳跃(例如,用于娱乐效果)、滚动提要(如终止提要、事件提要等)、可变内容和/或其他效果,视觉提示的位置可能会不同(甚至在逐帧的基础上)。为了识别这些视觉提示,传统的方法依赖于强力对象识别或检测算法来扫描视频的全部帧。因此,这些传统的方法在计算上是昂贵的,需要增加计算资源、时间(例如,使实时应用程序变得繁重)和识别周期来识别视频中的视觉对象和可视提示。
发明内容
本发明的实施例涉及使用对象检测确定图像中的相对感兴趣区域。公开了可以通过利用上下文信息来检测视频中的静态和动态对象(例如,视觉提示)的系统和方法。例如,可以使用固定位置检测来检测出现在视频帧中与动态或静态对象相对的动态位置的区域。因此,一旦通过例如使用自由位置检测来检测到初始对象(例如,武器图标),就可以检测或以其他方式识别相对区域(例如,包括关于武器的文本信息)。
与诸如上述的传统系统相比,本发明检测或识别嵌套在视频(例如,流视频或其记录或回放)中的相对区域,以优化视频内的视觉对象识别。这样,出现在动态位置并且可能很难检测的视觉对象(或提示)(例如,文本信息),可以更容易地使用相对于另一个对象(例如,对于对象检测或识别算法来说可能更容易识别的图形对象)的固定位置检测来检测。与传统的强力方法相比,通过利用检测到的对象来识别相对区域(例如,在相对区域上执行光学字符识别(OCR)),可以节约时间和计算资源。
例如,视频帧可以包括多个视觉对象,包括静态对象、基本静态对象和/或动态对象。这些视觉对象中的某些视频对象可能相对于这些视觉对象中的另外视觉对象(如通过检查、分析(例如,使用机器学习)、另一种技术或它们的组合所确定的)出现在帧中。因此,一旦检测到具有关联的相对对象或区域的视觉对象,就可以确定关联的对象的已知相对区域,并可以在该相对区域上执行一个或多更个操作。例如,OCR可以在已知相对区域包含文本信息的该相对区域上执行。这消除了对视频帧进行强力分析的需要,从而提高了系统的准确性和效率,同时减少了运行时间。
附图说明
下文参照附图详细介绍了利用对象检测确定图像中的相对感兴趣区域的本系统和方法,其中:
图1示出了根据本公开的一些实施例的用于利用相对区域的对象识别的示例系统的框图;
图2示出了根据本公开的一些实施例的利用相对区域的示例对象检测系统的示例系统图;
图3示出了根据本发明的一些实施例的利用相对区域的对象检测的示例实现方式的图示;
图4示出了根据本公开的一些实施例的用于利用相对区域的对象检测的方法的流程图;以及
图5示出了适合用于实现本公开的某些实施例的示例计算设备的框图。
具体实施方式
公开了与使用对象检测来确定图像中相对感兴趣区域有关的系统和方法。除此之外,根据所提供的各种实施例,提供了一种自动方法,其用于调整感兴趣区域或相对区域参数以适应视频中的动态区域(例如,从帧到帧的区域动态)和/或视频中的大部分静态区域的实时差异(例如,系统到系统的不同区域)。根据不同的实施例,这种视觉提示或锚定对象检测可以在执行或发起流媒体或回放会话时通过检测第一对象(例如,在实施例中,代表或锚定对象,其可以是图形对象)来完成,第一对象可以用于锚定感兴趣区域或相对区域以检测第二对象(例如,相对对象,在实施例中,其可以是文本或上下文)。
图像或视频中的对象的检测或识别可以通过利用关于图像或视频帧及其中的对象的信息来实现。在某些情况下,该信息可以包括对象相对于彼此的相对位置。因此,在视频帧中的图形对象的相对位置固定的情况下,该信息可用于提高执行检测或识别机制以识别帧内对象的准确性、效率和简单性。
例如,可以检测帧内的第一对象(例如,图形对象)(例如,使用容许移动对象的检测机制)。第一对象可以与第二对象(例如文本对象)具有已知的空间关系。一旦检测到第一对象,第一对象的位置可用于定义相对区域的锚点,以便搜索和检测,或以其他方式识别第二对象(例如,使用识别功能,如光学字符识别(OCR))。在某些情况下,可以通过将第一对象与第二对象相关联并进一步定义第二对象相对于第一对象的搜索参数来实现检测配置。
在一些实施例中,可实现本文所描述的流程用于检测可以在视频(例如,流、回放等)中捕获的游戏实例期间发生的事件或其相关的上下文信息。作为示例,当事件包括从游戏中淘汰的玩家、淘汰该玩家的对方玩家、用于执行该淘汰的武器或动作和/或与于系统有用的用以执行一个或更多个操作(例如,生成快照或突出显示、更新分数或成就信息等)的事件相关的任何其他上下文信息。因此,一旦玩家被淘汰,可以在视频的一个或更多个帧上执行对武器图标(例如,第一对象)的搜索。因为相对于第一对象位置的区域位置可能是已知的,所以可以分析该相对区域来确定用户名、武器类型和/或与事件相对应的其他信息。该分析可包括在跨视频的一个或更多个帧的帧的相对区域上执行识别功能(例如,OCR),以确定上下文信息。
在一些示例中,事件的发生可以通过分析相对区域来确定。在这样的示例中(例如,在发起流媒体会话或接收到要回放的视频后),可以在视频的一个或更多个帧上执行对象检测以识别第一对象(例如,武器图标),这样可以确定其中填充了上下文信息的相对区域(例如,游戏提要)。一旦从第一对象(例如,锚定对象)的位置确定了相对区域的位置,就可以在相对区域内分析视频帧来识别事件(例如,淘汰、武器开火、玩家离开游戏、玩家成就、等级提升等)。作为其他非限制示例,第一对象可包括健康指示器、玩家配置文件图标、项目图标和/或类似的东西。
在一些实施例中,视频可包括移动的各种对象(例如,在玩游戏期间,随着游戏状态的变化)。此外,随着对象移动的信息(例如,在一个或更多个相对区域内)可以是不同类型的(例如,文本对象或其他非图形对象)。因此,可以实现多种检测和/或识别机制。通过使用相对区域,可以改进视频场景中各种、多个对象的检测。例如,因为跟踪的和/或可能出现在视频中的各种对象之间的关联可以是已知的,当第一对象(例如,图形对象)被检测到或以其他方式被第一识别机制识别出时,系统可以知道第二对象(例如,文本对象或其他非图形对象)在图像空间相对于第一对象处于(x,y)的位置。利用此信息,系统可以在相对于第一对象的区域上执行另一种识别机制——从而利用视频帧的知识和跨帧的对象移动的类型,以为定位视频中的其他对象和/或信息提供上下文。
虽然是在游戏环境中描述的,但这并不是旨在限制,而且本公开的系统可以用于任何图像或视频分析空间内。例如,对于电视、体育和/或电影(例如,直播、流媒体、回放或其组合),可以进行类似的分析。在体育方面,某些图形对象(例如,运动员图标、箭头、标签等)可以具有包含文本信息的已知相对区域。因此,可以对视频帧执行分析来确定图形对象(例如,运动员图标)的位置,以及可以扫描相对于图形对象的位置的帧的区域以获取上下文信息(例如,运动员名字、年龄、位置、国籍、统计数据、成就等)。此信息可用于更新记录或日志,或提供事件或动作的通知(例如,对象得分等)。
参照图1,图1是示出了根据本发明的一些实施例的利用相对区域的示例对象识别系统100的框图。应该理解的是,本文描述的这种布置和其他布置只是作为示例。除了所示出的布置或元素之外,其他布置和元素(例如,机器、接口、函数、命令、函数组等)也可以使用,并且有些元素可以完全省略。此外,本文描述的许多元素都是功能实体,其可以被实现为离散的或分布式的组件,或与其他组件结合并且以任何适当的组合和位置来实现。本文描述的由实体执行的各种功能可以由硬件、固件和/或软件执行。例如,各种功能可以通过处理器执行存储在内存中的指令来执行。
除此之外,对象识别系统100可以包括第一对象检测器106、上下文确定器108、搜索区域确定器110、第二对象检测器112、决策管理器114和/或其他组件、特征或功能。图像数据102可以例如作为帧或帧序列(例如,表示图2中的视频场景230)提供给对象检测引擎104。由图像数据102(例如,图3中的帧300)表示的视频场景230可以包括各种对象,如静态对象、主要是静态对象和/或动态对象。第一对象检测器106可将图像识别操作(例如,对象检测算法、计算机视觉算法等)应用于图像数据102,以检测或以其他方式识别一个或更多个对象(例如,图形对象)。在一些实施例中,一旦确定或识别了第一对象,上下文确定器108可以确定视频场景的上下文。例如,基于视频中发生的事件,与视频、游戏、流媒体或回放应用程序和/或类似的内容的用户交互(例如,用户输入)可由上下文确定器108进行分析,以确定视频场景的上下文或当前状态。相对区域确定器110可以确定与用于检测或以其他方式识别第二对象(例如,文本信息)的第一对象(例如,图形对象)相对应的相对区域。在某些实施例中,例如在从上下文确定器108已知上下文的情况下,相对区域确定器110可以使用上下文确定相对区域的位置。在武器图标是第一对象的示例中,当一个人被淘汰时,相对于该武器图标的区域可以在第一位置(例如,以指示淘汰该人的玩家的用户名),当用户从游戏中检索武器时,相对于武器的区域可能位于相对于武器图标的第二位置(例如,以指示所检索的武器类型、弹药量、武器附件及/或该武器从何处检索)。相对区域位置的这种差异可以由上下文确定器108确定,并且可以由相对区域确定器110使用。一旦确定了相对区域,第二对象检测器112可以将识别操作(例如,OCR)应用于与第二对象相对应的视频帧的相对区域,以确定相对区域内的上下文信息。在一些示例中,第二对象可以在相对区域内,但可以只占据相对区域的一部分。在这样的示例中,第二对象检测器112可以首先在相对区域内识别第二对象的更精确的位置,并且可以从该更精确的位置确定上下文信息。基于识别出或者以其他方式检测到的对象,决策管理器114可以确定针对视频是采取行动还是执行一个或更多个操作,例如记录或存储部分视频、更新统计数据或成就、生成通知和/或其他动作或操作。
参考图2,图2是根据本发明的一些实施例的利用相对区域的示例对象检测系统200的示例系统图。对象检测系统200可以包括一个或更多个客户端设备204和/或一个或更多个服务器214等。对象检测系统200(及其组件和/或特征)可以使用一个或更多个计算设备来实现,例如图5中的计算设备500,下面将更详细地描述。
对象检测系统200的组件可以通过一个或更多个网络202进行通信。一个或更多个网络可包括广域网(WAN)(例如,互联网、公共交换电话网(PSTN)等)、局域网(LAN)(例如,Wi-Fi、ZigBee、Z-Wave、蓝牙、蓝牙低功耗(BLE)、以太网等)和/或其他网络类型。在任何示例中,对象检测系统200的每个组件可以通过一个或更多个网络202与一个或更多个其他组件通信。对象检测系统200的各种组件可以在一个或更多个客户端设备204和/或一个或更多个服务器214上运行,并且图2中将组件和特征与设备相关联是出于示例目的,并不旨在限制。
一个或更多个客户端设备204可以包括智能手机、笔记本电脑、平板电脑、台式电脑、可穿戴设备、游戏控制台、机顶盒、虚拟现实系统(例如,耳机、电脑、游戏机、一个或更多个遥控器、一个或更多个控制器和/或其他组件)、流媒体设备(例如,NVIDIA SHIELD)、可以包括智能个人助理的智能家居设备和/或能够支持游戏玩法(例如,云游戏流媒体、本地游戏、云游戏等)、流媒体和/或图像和/或视频的显示的另一种类型的设备。
一个或更多个客户端设备204可以包括客户端应用程序206(例如,游戏应用程序、流媒体应用程序、游戏流媒体应用程序、视频或图像显示和回放应用程序等)、显示器208、通信接口210和/或一个或更多个输入设备212。虽然图1中只示例了一个或更多个客户端设备204的一些组件和/或特征,但这并不是限制性的。例如,一个或更多个客户端设备204可以包含附加的或替代的组件,例如下面关于图5中的计算设备500所描述的那些。
客户端应用程序206可以包括移动应用程序、计算机应用程序、控制台应用程序和/或其他类型的应用程序。在客户端应用程序206是游戏应用程序的示例中(例如,在云游戏环境中),客户端应用程序206可以被配置为接收表示一个或更多个输入设备212的用户输入的输入数据、使用和/或传输输入数据到一个或更多个服务器214、从内存或本地存储检索游戏数据、使用通信接口210从游戏服务器126接收游戏数据和/或使游戏(或其流)在显示器208上显示。换句话说,客户端应用程序可以操作为辅助器,用于使得能够在一个或更多个客户端设备204上玩与游戏应用程序相关联的游戏。
在某些示例中,一个或更多个客户端设备204可以使用客户端应用程序206渲染游戏,而在其他示例中,一个或更多个客户端设备204可以接收显示数据(例如,编码的显示数据),并使用显示数据以在显示器208上显示游戏。在某些示例中,第一客户端设备可以渲染游戏,而第二客户端设备可以接收显示数据并使用显示数据来显示游戏。在客户端设备接收显示数据的示例中(例如,客户端设备204不生成渲染的示例),对象检测系统200可以是游戏流媒体系统的一部分。
显示器208可以包括能够显示流、记录和/或游戏的图像或视频(例如,如由图像数据102表示的)的任何类型的显示器。显示器208可以包括发光二极管显示器(LED)、有机LED显示器(OLED)、液晶显示器(LCD)、有源矩阵OLED显示器(AMOLED)、量子点显示器(QDD)、等离子显示器和/或其他类型的显示器。在某些示例中,显示器208可以包括多于一个显示器(例如,用于计算机游戏的双监视器显示器、用于配置游戏的第一显示器和用于玩游戏的虚拟现实显示器等)。在某些示例中,显示器208可以是触摸屏显示,例如智能手机、平板电脑、膝上电脑等的触摸屏,其中触摸屏是客户端设备204的一个或更多个输入设备212中的至少一个。
一个或更多个输入设备212可以包括能够向一个或更多个客户端设备204提供用户输入的任何类型的设备。该一个或更多个输入设备可包括键盘、鼠标、触摸屏显示器、一个或更多个控制器、一个或更多个遥控器、耳机(例如,虚拟现实耳机的传感器)、麦克风(例如,用于语音命令)和/或其他类型的输入设备。
通信接口210可以包括用于跨一个或更多个网络通信的一个或更多个组件和特征,例如一个或更多个网络202。通信接口210可以被配置为通过本文所述的任意数量的网络202通信。例如,为了在图2的对象检测系统200中进行通信,一个或更多个客户端设备204可以使用通过路由器的以太网或Wi-Fi连接来访问英特网(Internet),以便与一个或更多个服务器214和/或一个或更多个其他客户端设备204进行通信。
客户端设备204可以通过显示器208显示描绘视频场景230的帧300(图3),该视频场景230在流媒体会话(游戏流媒体会话)、游戏会话(例如,在客户端设备204上的本地游戏会话)、回放记录和/或其他情况期间被提供。对于非限制的示例,视频场景230可对应于使用游戏应用程序(例如,客户端应用程序206)的游戏玩法。参照视频场景230(例如,第一人称射击(FPS)类型的游戏),与视频场景230相关联的多个视觉对象和信息可用视频帧表示(例如,视频场景230可以表示来自游戏实例中的视频场景230的帧)。在某些实施例中,视觉对象可以包括第一(例如,图形的)对象232(例如,对象232a-232e)和第二(例如,文本或非图形的)对象236(例如,对象236a-236d)。在一些示例中,第一对象232可以是可在游戏中基本连续显示的锚定对象,或者可以是在出现时通常具有与之相关联的第二相对对象236的锚定对象。这些类型的对象可以包括玩家的健康状况(例如,232c)或玩家携带的武器和/或物品(例如,232a和232b)——例如在视频场景230的状态区域中指示。作为另外一个示例,第一对象232d可以包括在游戏中可被用户检索的武器,这样当第一对象232在视场中或在离游戏中的用户角色一定距离内时,第二对象236d可以相对于第一对象出现。在一些示例中,第二对象236可以包括基于游戏玩法间歇性或周期性出现的对象(例如,响应于游戏玩法期间发生的事件),或者在整个游戏过程中变化或更新的对象(例如,名称、武器、成就、物品可用性或其他上下文信息)。例如,游戏提要可以包含第一对象232e,并可以为相关联的第二对象236a-236c提供锚点,其可以表示已淘汰其他玩家的玩家以及用于淘汰的武器。
尽管本文针对第一人称射击(FPS)类型游戏描述了各种示例,但这不是旨在限制,并可适用于各种竞技和/或合作游戏,尤其是电子竞技游戏,可以包括但不限于,赛车、运动仿真、实时战略、大型多人在线游戏、平台游戏、广播的视频等。此外,尽管视频场景230可以包含游戏实例的图示,但这并不是旨在限制。类似的第一对象232(例如,锚定对象)和第二对象236(例如,相对对象)可以在任何类型的图像或视频显示环境中被识别和利用,例如包括图像、电视和/或视频流媒体或回放的任何技术领域。
一个或更多个服务器214可以包含一个或更多个服务器(例如,专用游戏服务器、流媒体服务器、记录服务器等),用于存储、托管、管理以及在某些示例中渲染游戏。在对象检测系统200用于游戏环境的示例中,一个或更多个第一服务器214可用于创建、更新和修改游戏(例如,游戏的程序代码),一个或更多个第二服务器214可用于托管游戏(例如,专用游戏服务器)。在其他示例中,例如在流媒体环境中(例如,实时流媒体或录制),一个或更多个服务器214可以将流传输到一个或更多个客户端设备204以显示和/或分析。在一些实施例中,除一个或更多个客户端设备204的功能外,一个或更多个服务器214的组件、特征和/或功能还可在一个或更多个客户端设备204上执行。虽然图2中只示出了一个或更多个服务器214的一些组件和/或特征,但这并不旨在限制。例如,一个或更多个服务器214可以包含额外的或替代的组件,例如下面关于图5中的计算设备500所描述的那些。
一个或更多个服务器214可以包含一个或更多个API,以使能在一个或更多个客户端设备204上玩游戏、流媒体和/或回放图像或视频,和/或以使能与一个或更多个客户端设备204进行信息(例如,相对区域配置文件、游戏数据等)通信。例如,在玩游戏环境中,一个或更多个服务器214可以包含一个或更多个游戏API,这些API与一个或更多个客户端设备204的客户端应用程序206交互,以使能够通过一个或更多个客户端设备204玩游戏。虽然本文描述了不同的API,但这些API可以是单个API的一部分,可以是两个或更多个API的组合,除了本文所描述的示例之外,还可以包括其他API或者是它们的组合。
在玩游戏环境中,一个或更多个服务器214可以包含游戏引擎216。游戏引擎216可以包含一些特征和功能,这些特征和功能使得一个或更多个用户通过网络(例如,在大型多人在线环境中、云游戏环境中、游戏流媒体环境中、其组合等)来玩游戏、流式传输游戏、观看游戏或其组合。在一些实施例中,游戏引擎216可以包括渲染引擎、音频引擎、物理引擎、动画引擎、人工智能引擎、网络引擎、流媒体引擎、内存管理引擎和/或其他组件或特征。在玩游戏、流式传输和/或记录游戏期间,游戏引擎216可用于实例化对象检测引擎104和/或向相对区域管理器218和/或数据存储222作出请求。在一些示例中,游戏引擎216的至少一些特征和功能可以在一个或更多个客户端设备204上执行。
一个或更多个服务器214可以包括相对区域管理器218。相对区域管理器218可以存储一个或更多个相对区域定义文件224和/或一个或更多个对象位置配置文件226。在一些实施例中,一个或更多个相对区域定义文件224和/或一个或更多个对象位置配置文件226可以存储在一个或更多个数据存储222中,并可由相对区域管理器218访问和/或检索。一个或更多个对象位置配置文件226可以存储视频帧中的第一(例如,锚定)对象232与帧中第二(例如,相对)对象236之间的关联。在一些示例中,例如在玩游戏环境中,客户端应用程序206和/或游戏引擎216的代码可以指示在应用程序执行期间,第二对象236相对于第一对象232的相对位置可以保持固定或静止。例如,参照视频场景230,第一对象232a-232c可以位于游戏帧内淘汰提要(例如,第一对象232e)的固定相对位置,或指示其的线或边界。作为另一个示例,第二对象236a-236c可以位于帧的状态区域内相对于一个或更多个第一对象232a-232c的相对位置。因此,一旦第一对象232中的一个被识别出或定位,相对位置可用于识别第二对象236a-236c可位于的相对区域237。在任一示例中,在游戏实例中的第一对象232是静态的情况下,该信息可以存储在一个或更多个对象位置配置文件226中。因为最终用户配置、游戏版本和/或其他标准可能影响这些第一对象232(即使是静态的)的实际位置,所以一个或更多个对象位置配置文件226可以在发起或开始会话(例如,游戏会话、流媒体会话、回放会话等)时更新,或者可以针对每个客户端设备204更新(例如,在初始设置时一次,在每个会话中周期性地等)。
在一些实施例中,可以使用机器学习来执行第一对象232和第二对象236之间的相对位置的确定。例如,可以训练或编程机器学习模型(例如,卷积神经网络(CNN))来识别对象(例如,第一对象232)和相关联的对象(例如,第二对象236)的重现。因此,可以使用(例如,通过机器学习模型)这些重现来学习第一对象232和第二对象236之间的关系。非限制性地,可以使用任何类型的机器学习模型,例如使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、K最近邻(Knn)、K均值聚类、随机森林、降维算法、梯度提升算法、神经网络(例如,自动编码器、卷积、循环、感知器、长期/短期记忆、霍夫曼(Hopfield)、玻耳兹曼(Boltzmann),深度信念、反卷积、生成式对抗、液体状态机等)的机器学习模型和/或其他类型的机器学习模型。
在其他实施例中,可以观察和/或编程第一对象232和第二对象236之间的这些关系,使得对应于第二对象236的相对区域由对象检测系统200根据或相对于第一对象232的确定位置而已知。在任意实施例中,相对区域管理器218和/或相对对象位置管理器220可以确定、编程、学习、更新和/或存储第一对象232的位置与第二对象236的位置之间的这些关系。
可以为一个或更多个的第一对象232定义相对区域(例如,相对区域237a或237b),例如在视频场景230中具有已知位置的第一对象232(例如,这些位置可以是已知的,因为这些位置是静态的,因为这些位置基本上是静态或动态的,并且已经使用对象检测或计算机视觉算法或其组合进行了识别或确定)。例如,在一些示例中,一旦已经识别或确定了位置,则第一对象232可以被称为锚定对象,其可以具有一个或更多个已知的锚点(例如,在2D像素坐标中)。每个第一对象232的锚点可以是单个锚点(例如,中心点、顶点等),或可以是多个锚点(例如,第一对象232的顶点、随机点等)。一旦第一对象232的锚点已知,并且第一对象232与关联于第二对象236的一个或更多个相对区域237之间的关联是已知的(例如,位置的相对关系),可以确定增量值(例如,从锚点位置到相对区域237的一个或更多个点的像素距离)。例如,对于与第一对象232相关联的每个锚点,可以确定增量x值(例如,在x方向上的一个或更多个像素距离,沿着帧内并在一个或更多个锚点与相对区域237的一个或更多个点之间的一行像素,例如相对区域237的一个或更多个顶点)和增量y值(例如,在y方向上的一个或更多个像素距离,沿着帧内并在一个或更多个锚点与相对区域237的一个或更多个点之间的一列像素,例如相对区域237的一个或更多个顶点)。这些增量值可用于定义对应于第二对象236的相对区域237的维度和位置。在一些实施例中,相对区域237可以由与锚点距离为(x,y)的点和维数分量定义(例如,以像素为单位的相对区域237的长度和宽度,相对区域237的半径或直径(如果它们的相对区域是圆形的),或者取决于相对区域237的形状的另一个维度)。在其他实施例中,相对区域237可以由顶点定义,或者可以由构成相对区域237的像素定义。在任意示例中,第一对象232的位置、相对于第一对象232的相对区域237的位置以及相对区域237的维度可以用于定义视频帧中的相对区域237的位置和大小。
在某些示例中,相对区域237的形状可以与第二对象236的已知形状相对应(例如,在第二对象236包括框或提要内的文本的情况下,相对区域237可以是框或提要的大小,或者在第二对象236包括图形对象的情况下,相对区域237可以符合图形对象的形状)。在其他示例中,相对区域237可以是预定义的形状,例如圆、矩形、正方形、三角形、多边形或其他形状。在一些示例中,根据第二对象236的类型,相对区域237的形状可以改变。在任意示例中,相对区域237可以包括缓冲区或额外维度,其考虑精度损失,或者可以导致第二对象236的实际位置与第一对象232处于不同的相对位置的其他配置信息。例如,相对区域237的维度可增加百分比或阈值量,以努力增加第二对象236在相对区域237内的可能性。对于非限制性示例,相对区域237的维度或形状可以增加(作为非限制的示例)10%、15%、20%和/或另一个百分比。
一旦相对区域237在帧内被识别出,对象检测、计算机视觉、字符识别(OCR)和/或其他算法类型可以应用于相对区域237以识别上下文信息。例如,在第二对象236包括文本(例如,第二对象236a-236c)的情况下,OCR可应用于相对区域237a以确定淘汰其他玩家的玩家的用户名、以确定被淘汰的玩家的用户名、以确定淘汰中使用的武器类型和/或以确定其他信息。同样,对于相对区域237b,OCR(或另一个字符识别或文本扫描过程)可用于确定在游戏中可用于检索的突击步枪,该步枪是远程的,并且该步枪当前具有弹药(包括子弹)。此外,在一些示例中,可以在相对区域237b上执行对象检测或计算机视觉算法,以确定可用于检索的武器(例如,如下面由带有“拾取”的方形图标所指示的)。可以使用或储存这一信息,以指示在游戏中角色曾经可用或现在可用的武器以及武器是否被检索,这可能是对游戏实例的玩家或观众是有益的反馈。
一个或更多个服务器214可以包括对象检测引擎104(例如,参考图1在此处更详细地描述)。对象检测引擎104在游戏期间可以被游戏引擎216调用,例如,响应于识别或以其他方式检测视频场景(例如,视频场景230)中的对象的请求。此外,对象检测引擎104可以调用相对区域管理器218以加载对象位置配置文件226和/或相对区域定义文件224。以这种方式,对象检测引擎104可以利用定义的相对区域237在代表视频场景230的帧中进行对象检测。参考视频场景230,对象检测引擎104可以搜索和检测或以其他方式识别第一对象232中的一个或更多个。在一些非限制性示例中,第一对象232的检测可以通过对象检测、计算机视觉和/或自由位置检测(例如,基于多图像神经网络的检测)机制来执行。非限制性地,可以使用任何单一的检测模型或检测模型的组合,例如定向梯度直方图(HOG)检测、模式匹配和/或其他AI系统(例如,那些实现CNN的系统)。一旦第一对象232被识别出或以其他方式检测到(例如,作为第一对象232b的武器图标),对象检测引擎104可以确定相对区域237,用于识别或以其他方式检测描述视频场景230的帧中的一个或更多个第二对象236。为了确定相对区域237,例如,对象检测引擎104可以调用、检索或者以其他方式使用与第一对象232对应的相对区域定义文件224。基于已确定的相对区域237,对象检测引擎104可以在描述视频场景230的帧中搜索、检测或以其他方式识别一个或更多个第二对象236。在一些示例中,如本文所述,例如在第二对象236包括文本对象的情况下,可以使用ORC或其他字符识别算法。可以向客户端应用程序206和/或游戏引擎216提供识别出和/或检测到的视觉对象,以便作出关于是否采取进一步行动的决定,例如录制一部分视频场景、拍屏幕快照、更新记录或成就、生成通知和/或确定感兴趣的事件已经发生。
通信接口228可以包括一个或更多个组件和特征,用于在一个或更多个网络之间进行通信,例如一个或更多个网络202。通信接口228可以被配置为通过本文描述的任意数量的网络202进行通信。例如,为了在图2的对象检测系统200中进行通信,一个或更多个服务器214可以通过LAN与其他服务器和/或通过因特网与一个或更多个其他服务器和/或一个或更多个客户端设备204通信。
现在参考图3,图3是描绘根据本发明的一些实施例的使用相对区域实施对象检测和/或识别的各个方面的示例说明。帧300可以描绘视频场景230,如本文至少关于图2所描述的,其中帧300是游戏的实例(例如,在现场游戏期间、在游戏流期间、作为游戏记录等)。帧300可以包括单个帧,或者可以是构成视频或图像序列的多个帧中的一个帧。视频场景230可以包括各种对象,其可以包括第一对象232和第二对象236。图2中的对象检测系统200可以用于识别或确定第一对象232的位置。除相对于第一对象232的相对区域237的已知的或已确定的位置之外,然后这些位置还可用于确定在相对区域237中的第二对象236的位置、身份和/或从中检索上下文信息。结果,一个或更多个帧300中需要被分析(例如,使用对象检测、计算机视觉、机器学习分析、OCR等)的部分可以减少到一个或更多个相对区域237。与常规系统(例如,实施强力方法的常规系统)相比,这可能会加快处理速度、降低计算资源利用率、减少运行时间并提高准确性。
现在参考图4,本文所描述的方法400的每个框包含可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,可以通过处理器执行存储在内存中的指令来执行各种功能。该方法400也可以体现为存储在计算机存储介质上的计算机可用指令。方法400可以由独立的应用程序、服务或托管服务(独立或与另一个托管服务组合)或另一个产品的插件等提供。此外,通过示例的方式,相对于图1和图2中的系统描述了方法400。但是,此方法400可以附加地或替代地由任何系统或系统的组合来执行,包括但不限于本文所述的那些系统。
图4是根据本发明的一些实施例示出利用相对区域的对象检测的方法400的流程图。在框B402中,方法400包括分析一个或更多个第一视频的多个第一帧,每个第一视频包括对象。例如,对象检测系统200可以分析多个帧(例如,帧300),每个帧包含一个或更多个第一对象232。该分析可以包括计算机视觉、对象检测、视觉分析、机器学习或人工智能分析和/或其他分析类型。分析的结果可以是一个或更多个第一对象232和一个或更多个第二对象236之间的关系——例如一个或更多个第二对象236相对于一个或更多个第一对象232出现的关系。这种关系可以是连续的,可以响应于视频中的某些事件(例如,目标得分、玩家被淘汰、按下按钮等),可以是第一对象232每次出现时(例如,当武器图标作为第一对象232出现在屏幕上时,文本通知作为第二对象236出现在武器附近以指示武器属性或可用性)和/或可能是另一种类型的关系。
在框B404中,方法400包括在多个第一帧中的每一帧内识别与所述对象相对的区域的位置。例如,可以确定在每一帧中的相对于一个或更多个第一对象232的一个或更多个第二对象236的位置。在一些示例中,一个或更多个对象236的位置可以每次相同、可以有轻微的偏斜、可以根据上下文移动等,并且可以以此为基础来确定相对区域237。例如,在第二对象236相对于第一对象232基本上出现在相同的相对位置的情况下,相对区域237可以位于第二对象236(例如,文本区域)的位置并在至少包括第二对象236的维度。作为另一个示例,在第二对象236倾斜或移位的情况下,相对区域237可以包含一个较大的区域,该区域捕获相对于第一对象232的第二对象236的每个可能位置。在一些示例中,对象检测系统200的上下文确定器108可以根据视频场景的上下文确定相对区域237应该位于何处。在这些示例中,在对象(例如,游戏中的武器)位于游戏环境中的情况下,可以使用相对区域237b,并且在对象位于游戏提要中的情况下,可以使用相对区域237a。作为另一示例,当项目位于帧的右侧(例如,靠近帧的边缘)时,相对区域237可以出现在该项目的左侧,而当项目不在帧的一侧时,相对区域237可能出现在该项目的右侧(或上方,或下方等)。在任意示例中,相对区域237的位置可以根据相对于一个或更多个第一对象232的一个或更多个第二对象236的位置和/或场景的上下文来确定。一旦确定了相对区域位置、维度、上下文和/或其他信息,如本文所述,这些信息可以被存储在一个或更多个数据存储222中和/或由相对区域管理器218和/或相对对象位置管理器220进行管理。
在框B406中,方法400包括接收第二视频的第二帧。例如,当前视频中的帧可以被对象检测系统200接收。在一些示例中,使用训练帧或视频,对第一帧的分析和相对区域的位置的识别可以是训练过程的一部分,并且一旦被训练(例如,针对特定的游戏、电视节目、电影、视频剪辑类型等进行训练等),第二视频的第二帧可以对应于对象检测系统200正在接收的当前帧。
在框B408中,方法400包括确定对象在第二帧中的对象位置。例如,作为非限制示例,使用对象检测算法、计算机视觉算法、一个或更多个机器学习模型、人工智能和/或其他检测或识别方法,在第二帧中定位第一对象232。
在框B410中,方法400包括在第二帧中确定该区域的当前区域位置。例如,使用第一对象232在第二帧中的位置和相对于第一对象232的相对区域237的位置,可以确定相对区域237在第二帧中的位置。如本文所述,相对区域237的位置可以包括在图像空间中的一个或更多个第一对象232的一个或更多个锚点与相对区域237的一个或更多个点(例如,相对区域237的顶点,或相对区域237的质心)之间的像素距离。相对区域237的该位置信息和/或维度或形状可以帮助对象检测系统200确定第二帧内对应于相对区域237的像素(例如,包括第二对象236的区域)。
在框B412中,方法400包括执行一个或更多个操作来确定来自第二帧内的区域的上下文信息。对于非限制的示例,对象检测算法、计算机视觉算法、一个或更多个机器学习模型、人工智能和/或其他检测或识别方法可以在第二帧的相对区域237上或之内执行。在第二对象236是文本对象(例如,游戏提要、项目描述、玩家配置文件等)的情况下,可以执行OCR来确定第二对象236的文本中的信息。此信息可用于确定是否生成快照、突出显示或其他记录类型,是否生成通知,是否更新与游戏、流、记录或其他相关的成就、奖励或其他信息和/或执行一个或更多个其他动作。
图5是适用于实现本发明的一些实施例的示例计算设备500的框图。计算设备500可以包括直接或间接耦合以下设备的总线502:内存504、一个或更多个中央处理单元(CPU)506、一个或更多个图形处理单元(GPU)508、通信接口510、输入/输出(I/O)端口512、输入/输出组件514、电源516和一个或更多个呈现组件518(例如,一个或更多个显示器)。
尽管图5的各个框被示出为通过总线502与线路连接,但这不是意图限制并且只是出于清楚的目的。例如,在某些实施例中,呈现组件518(例如,显示设备)可以被视为I/O组件514(例如,如果显示器是触摸屏)。作为另一个示例,CPU 506和/或GPU 508可以包括内存(例如,除了GPU 508、CPU 506和/或其他组件的内存外,内存504还可表示存储设备)。换句话说,图5中的计算设备只是示例性的。没有区分诸如“工作站”、“服务器”、“笔记本电脑”、“桌面”、“平板电脑”、“客户端设备”、“移动设备”、“手持设备”、“游戏机”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型等的类别,因为所有都在图5的计算设备范围内考虑。
总线502可以表示一个或更多个总线,例如地址总线、数据总线、控制总线或其组合。总线502可以包括一个或更多个总线类型,例如行业标准体系架构(ISA)总线、扩展行业标准体系架构(EISA)总线、视频电子标准关联(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或其他类型的总线。
内存504可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是计算设备500可以访问的任何可用介质。计算机可读介质可包括易失性和非易失性介质以及可移除和不可移除介质。例如,并且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块和/或其他数据类型)的任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质。例如,内存504可以存储计算机可读指令(例如,表示程序和/或程序元素,诸如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或其他内存技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储器、磁带盒、磁带、磁盘存储器或其他磁盘存储设备,或可用于存储所需信息且可由计算设备500访问的任何其他介质。如本文所使用的,计算机存储介质本身并不包含信号本身。
通信介质可以包含计算机可读指令、数据结构、程序模块和/或在调制数据信号(例如载波)或其他传输机制中的其他数据类型,并包括任何信息传递介质。术语“调制数据信号”可以指具有以将信息编码在信号中的方式来设置或改变其一个或更多个特性集的信号。举例来说,并且非限制性地,通信介质可以包括例如有线网络或直接有线连接等有线介质,以及例如声学、RF、红外和其他无线介质等无线介质。上述任何内容的组合也应包括在计算机可读介质的范围内。
一个或更多个CPU 506可被配置为执行计算机可读指令以控制计算设备500的一个或更多个组件,以执行本文所述的方法和/或过程中的一个或更多个。一个或更多个CPU506可以每个包括一个或更多个内核(例如,一个、二个、四个、八个、二十八个、七十二个等),这些内核能够同时处理多个软件线程。一个或更多个CPU 506可以包括任何类型的处理器,并且取决于实现的计算设备500的类型(例如,具有较少内核的用于移动设备的处理器和具有较多内核的用于服务器的处理器)而可以包括不同类型的处理器。例如,取决于计算设备500的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器,或使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或辅助协处理器(例如,数学协处理器)之外,计算设备500可以包括一个或更多个CPU 506。
计算设备500可以使用一个或更多个GPU 508来渲染图形(例如,3D图形)。一个或更多个GPU 508可以包括能够同时处理数百或数千个软件线程的数百或数千个内核。一个或更多个GPU 508可以响应于渲染命令(例如,通过主机接口从CPU 506接收的渲染命令)生成输出图像的像素数据。一个或更多个GPU 508可以包括用于存储像素数据的图形内存(例如,显示内存)。显示内存可以被包括作为内存504的一部分。一个或更多个GPU 708可以包括并行运行的两个或更多个GPU(例如,通过链接)。当组合在一起时,每个GPU 508可以为输出图像的不同部分或不同的输出图像生成像素数据(例如,用于第一图像的第一GPU和用于第二图像的第二GPU)。每个GPU可以包括其私有内存,也可以与其他GPU共享内存。
在计算设备500不包括一个或更多个GPU 508的示例中,一个或更多CPU 506可以用来渲染图形。
通信接口510可以包括使计算设备700能够通过电子通信网络(包括有线和/或无线通信)与其他计算设备通信的一个或更多个接收器、发射器和/或收发器。通信接口510可以包括组件和功能,以使得能够通过任意数量的不同网络进行通信,例如无线网络(例如,Wi-Fi、Z-Wave、蓝牙、蓝牙LE、ZigBee等)、有线网络(例如,通过以太网通信)、低功耗广域网(例如,LoRaWAN、SigFox等)和/或因特网等。
I/O端口512可使计算设备500能够逻辑地耦合到包括I/O组件514、一个或更多个呈现组件518和/或其他组件的其他设备,其中一些组件可内置于(例如,集成在)计算设备500中。说明性I/O组件514包括麦克风、鼠标、键盘、操纵杆、游戏板、游戏控制器、卫星天线、扫描仪、打印机、无线设备等。I/O组件514可提供自然用户界面(NUI),其处理由用户生成的空气手势、语音或其他生理输入。在某些情况下,输入可以被传输到适当的网络元素以进行进一步处理。NUI可以实现与计算设备500的显示屏相关联的语音识别、手写笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空气手势、头部和眼睛跟踪以及触摸识别(如下文更详细地描述)的任意组合。计算设备500可以包括深度相机,例如立体相机系统、红外摄像机系统、RGB照相机系统、触摸屏技术以及这些的组合,用于手势检测和识别。此外,计算设备500可以包括能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(IMU)的一部分)。在一些示例中,加速度计或陀螺仪的输出可以被计算设备500用于呈现沉浸式增强现实或虚拟现实。
电源516可包括硬线电源、电池电源或其组合。电源516可为计算设备500供电以使计算设备500的组件能够运行。
一个或更多个呈现组件518可以包括显示器(例如,监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或其组合)、扬声器和/或其他呈现组件。一个或更多个呈现组件518可以从其他组件(例如,一个或更多个GPU 508、一个或更多个CPU 506等)接收数据,并且输出数据(例如,作为图像、视频、声音等)。
本公开可在计算机代码或机器可用指令的一般上下文中进行描述,所述计算机代码或机器可用指令包括由计算机或其他机器(例如,个人数据助理或其他手持设备)执行的计算机可执行指令(例如,程序模块)。通常,程序模块(包括例程、程序、对象、组件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持设备、消费类电子产品、通用计算机、更多专用计算设备等。本公开也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如本文所用,对两个或更多个元素的“和/或”记载应解释为仅指一个元素或元素的组合。例如,“元素A、元素B和/或元素C”可以仅包括元素A,仅包括元素B,仅包括元素C,包括元素A和元素B,元素A和元素C,元素B和元素C,或元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个、元素B中的至少一个或元素A中的至少一个和元素B中的至少一个。此外,“元素A和元素B中的至少一个”可以包括元素A中的至少一个、元素B中的至少一个或元素A中的至少一个和元素B中的至少一个。
本公开的主题在本文中具体描述以满足法定要求。但是,说明书本身并不旨在限制本公开的范围。相反,发明人已经考虑到,所要求保护的主题也可以以其他方式体现,结合其他当前或未来技术,以包括与本文件中描述的步骤类似的不同步骤或步骤组合。此外,尽管此处可以使用术语“步骤”和/或“框”来表示所采用方法的不同元素,并且除非当明确地描述各个步骤的顺序时,否则不应将这些术语解释为暗示本文所公开的各个步骤之间或之中的任何特定顺序。

Claims (20)

1.一种方法,包括:
分析多个第一帧以确定对象的存在;
至少部分地基于所述分析,导出上下文信息,当所述对象存在于所述多个第一帧的任何一个内时,所述上下文信息至少包括与所述对象相对应的区域的区域位置;
接收包括所述对象的所述存在的第二帧;
确定所述第二帧中与所述对象相对应的对象位置;
至少部分地基于所述区域位置和所述对象位置,确定所述第二帧内的所述区域的当前位置;以及
执行一个或更多个操作,以确定来自所述第二帧内的所述区域的所述上下文信息。
2.根据权利要求1所述的方法,其中所述分析所述多个帧包括:将所述多个帧应用于已训练为检测对象的再现和与所述对象相对的区域的机器学习模型。
3.根据权利要求1所述的方法,其中所述确定所述对象位置包括:在所述第二帧上执行对象检测算法或计算机视觉算法中的至少一个。
4.根据权利要求1所述的方法,其中所述区域位置包括:距所述对象的像素距离和所述区域的像素维度。
5.根据权利要求1所述的方法,其中所述确定所述对象位置包括:确定所述对象在所述第二帧内的锚点。
6.根据权利要求5所述的方法,其中所述确定所述区域的所述当前位置包括:在二维图像空间中,确定所述对象的所述锚点与所述第二帧中的所述区域的顶点之间的像素距离集合。
7.根据权利要求1所述的方法,其中所述区域的所述当前位置包括:与所述第二帧内的所述区域相对应的所述第二帧的像素集合。
8.根据权利要求1所述的方法,其中所述多个第一帧和所述第二帧被包括在一个或更多个云游戏会话的流或记录中,并且所述上下文信息包括与来自所述一个或更多个云游戏会话的一个或更多个游戏实例相对应的信息。
9.一种方法,包括:
接收表示一个或更多个帧的图像数据;
在所述一个或更多个帧的帧内,识别被确定为与相对区域相关联的图形对象;
确定所述相对区域在所述帧内的位置,所述相对区域对应于所述帧相对于所述图形对象的对象位置的一部分;以及
将识别操作应用于所述帧的所述相对区域,以从所述相对区域内提取信息。
10.根据权利要求9所述的方法,其中所述相对区域由增量值集合定义,所述增量值对应于所述图形对象的锚点与所述相对区域的顶点之间的像素距离。
11.根据权利要求9所述的方法,其中所述信息是文本信息,并且所述识别操作包括光学字符识别(OCR)。
12.根据权利要求9所述的方法,其中至少部分地基于对多个历史帧的分析来确定所述图形对象与所述相对区域相关联,所述分析包括识别具有相关联的文本信息的图形对象,所述相对区域包括所述文本信息。
13.根据权利要求9所述的方法,其中所述一个或更多个帧属于云游戏会话的流或记录,并且所述信息包括与来自所述云游戏会话的游戏实例相对应的信息。
14.根据权利要求9所述的方法,还包括:确定包括所述图形对象的所述帧的对象区域,其中所述识别所述图形对象是在所述对象区域内。
15.根据权利要求9所述的方法,还包括:
分析所述信息;
至少部分地基于所述分析,确定已发生记录事件;以及
至少部分地基于所述记录事件导致记录的生成。
16.一种方法,包括:
在发起流媒体会话期间从客户端设备接收视频帧;
确定所述帧内的锚定对象的对象位置;
至少部分地基于相对区域位置参数,确定所述帧内与所述对象位置相对应的区域的位置;
在所述流媒体会话期间将字符识别功能应用于所述区域;以及
至少部分地基于使用所述字符识别功能至少部分从所述区域中提取的信息,在所述流媒体会话期间执行用于突出显示生成的一个或更多个操作。
17.根据权利要求16所述的方法,其中所述相对区域位置参数包括对应于所述锚定对象的锚点与所述区域的顶点之间的像素距离的增量值集合。
18.根据权利要求16所述的方法,其中所述相对区域位置参数至少部分地基于对来自过去的流媒体会话的视频帧的分析来确定。
19.根据权利要求16所述的方法,其中所述流媒体会话是游戏流会话,以及所述一个或更多个操作包括生成所述视频的至少一部分的记录。
20.根据权利要求16所述的方法,其中所述确定所述对象位置包括:使用对象检测算法或计算机视觉算法,以及所述字符识别功能包括光学字符识别(OCR)。
CN202010197700.XA 2019-08-01 2020-03-19 使用对象检测确定图像中的相对感兴趣区域 Pending CN112312160A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/528,891 2019-08-01
US16/528,891 US11087162B2 (en) 2019-08-01 2019-08-01 Determining relative regions of interest in images using object detection

Publications (1)

Publication Number Publication Date
CN112312160A true CN112312160A (zh) 2021-02-02

Family

ID=74174817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010197700.XA Pending CN112312160A (zh) 2019-08-01 2020-03-19 使用对象检测确定图像中的相对感兴趣区域

Country Status (3)

Country Link
US (2) US11087162B2 (zh)
CN (1) CN112312160A (zh)
DE (1) DE102020111653A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI715148B (zh) * 2019-08-14 2021-01-01 宏碁股份有限公司 電子裝置與其畫面視角辨識方法
GB2587627B (en) * 2019-10-01 2023-05-03 Sony Interactive Entertainment Inc Apparatus and method for generating a recording
US11043003B2 (en) * 2019-11-18 2021-06-22 Waymo Llc Interacted object detection neural network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1361986A (zh) * 1998-11-30 2002-07-31 亨利·C·尤恩 用于视频和图形的搜索引擎
US20040255249A1 (en) * 2001-12-06 2004-12-16 Shih-Fu Chang System and method for extracting text captions from video and generating video summaries
US20150070587A1 (en) * 2013-09-09 2015-03-12 General Instrument Corporation Generating Alerts Based Upon Detector Outputs
US20150319510A1 (en) * 2014-04-30 2015-11-05 General Instrument Corporation Interactive viewing experiences by detecting on-screen text
CN106469443A (zh) * 2015-08-13 2017-03-01 微软技术许可有限责任公司 机器视觉特征跟踪系统
US20180082123A1 (en) * 2016-09-21 2018-03-22 GumGum, Inc. Machine learning models for identifying sports teams depicted in image or video data
US10299008B1 (en) * 2017-11-21 2019-05-21 International Business Machines Corporation Smart closed caption positioning system for video content

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2201761B1 (en) * 2007-09-24 2013-11-20 Qualcomm Incorporated Enhanced interface for voice and video communications
US8875212B2 (en) * 2008-04-15 2014-10-28 Shlomo Selim Rakib Systems and methods for remote control of interactive video
WO2016187138A1 (en) * 2015-05-18 2016-11-24 Gameco, Inc. Video game gaming system
US10569165B2 (en) * 2016-08-18 2020-02-25 Activision Publishing, Inc. Tactile feedback systems and methods for augmented reality and virtual reality systems
WO2019241022A1 (en) * 2018-06-13 2019-12-19 Nvidia Corporation Path detection for autonomous machines using deep neural networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1361986A (zh) * 1998-11-30 2002-07-31 亨利·C·尤恩 用于视频和图形的搜索引擎
US20040255249A1 (en) * 2001-12-06 2004-12-16 Shih-Fu Chang System and method for extracting text captions from video and generating video summaries
US20150070587A1 (en) * 2013-09-09 2015-03-12 General Instrument Corporation Generating Alerts Based Upon Detector Outputs
US20150319510A1 (en) * 2014-04-30 2015-11-05 General Instrument Corporation Interactive viewing experiences by detecting on-screen text
CN106469443A (zh) * 2015-08-13 2017-03-01 微软技术许可有限责任公司 机器视觉特征跟踪系统
US20180082123A1 (en) * 2016-09-21 2018-03-22 GumGum, Inc. Machine learning models for identifying sports teams depicted in image or video data
US10299008B1 (en) * 2017-11-21 2019-05-21 International Business Machines Corporation Smart closed caption positioning system for video content

Also Published As

Publication number Publication date
US11657627B2 (en) 2023-05-23
US11087162B2 (en) 2021-08-10
US20210034906A1 (en) 2021-02-04
US20210326627A1 (en) 2021-10-21
DE102020111653A1 (de) 2021-02-04

Similar Documents

Publication Publication Date Title
US11657627B2 (en) Focusing regions of interest using dynamic object detection for textual information retrieval
US11158346B2 (en) Determining high-interest durations of gameplay sessions from user inputs
US10888785B2 (en) Method and system for real-time animation generation using machine learning
CN112149709A (zh) 使用机器学习模型的游戏播放视频的无监督分类
US20200184225A1 (en) System and method for obtaining image content
US20170065888A1 (en) Identifying And Extracting Video Game Highlights
US20210046388A1 (en) Techniques for curation of video game clips
US11816890B2 (en) Automatic content recognition and information in live streaming suitable for video games
US11579752B1 (en) Augmented reality placement for user feedback
US20220395756A1 (en) Building a dynamic social community based on similar interaction regions of game plays of a gaming application
CN115604543A (zh) 为游戏会话自动生成增强的活动和事件摘要
JP2023055615A (ja) 自然言語処理を使用するゲーム・ログからのイベント情報抽出
US11935181B2 (en) In-game dynamic camera angle adjustment
CN113497946A (zh) 视频处理方法、装置、电子设备和存储介质
US20230177583A1 (en) Playstyle analysis for game recommendations
US9539514B2 (en) Method and system for generating signatures and locating/executing associations for a game program
US11921918B2 (en) Heads up display in virtual reality
US20230041552A1 (en) Relevancy-based video help in a video game
US20240066413A1 (en) Ai streamer with feedback to ai streamer based on spectators
JP2024081702A (ja) 現在のゲームシナリオに基づくストリーミングゲームのためのグラフィカルオーバレイの実施
CN115767091A (zh) 使用神经网络进行基于熵的预滤波用于流式传输应用

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