CN116342622A - 视频流的图像分割和修改 - Google Patents

视频流的图像分割和修改 Download PDF

Info

Publication number
CN116342622A
CN116342622A CN202310309464.XA CN202310309464A CN116342622A CN 116342622 A CN116342622 A CN 116342622A CN 202310309464 A CN202310309464 A CN 202310309464A CN 116342622 A CN116342622 A CN 116342622A
Authority
CN
China
Prior art keywords
pixels
interest
region
images
value
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
CN202310309464.XA
Other languages
English (en)
Inventor
I·库德里亚绍夫
F·波利亚科夫
M·古萨罗夫
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.)
Snap Inc
Original Assignee
Snap Inc
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 Snap Inc filed Critical Snap Inc
Publication of CN116342622A publication Critical patent/CN116342622A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/467Encoded features or binary features, e.g. local binary patterns [LBP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

呈现了系统、装置、媒体和方法,用于将客户端装置的视频流的图像分割,识别关注区域,在一个或多个图像内生成修改的关注区域,识别第一组像素和第二组像素,以及修改第一组像素的颜色值。

Description

视频流的图像分割和修改
本申请是申请日为2016年11月29日、申请号为201680080497.X、发明名称为“视频流的图像分割和修改”的专利申请的分案申请。
优先权的要求
本申请要求于2015年11月30日提交的题为“视频流的图像分割和修改(IMAGESEGMENTATION AND MODIFICATION OF A VIDEO STREAM)”的美国专利申请序列号14/953,726的优先权的权益,在此要求其每一个优先权的权益,并且其中的每一个申请通过引用整体并入本文。
技术领域
本公开的实施例一般涉及视频流的自动图像分割。更具体地但非限制性地,本公开涉及用于在视频流中描绘的面部内对所识别的关注区域进行图像分割的系统和方法。
背景技术
电信应用和装置可以使用诸如文本、图像、声音记录和/或视频记录的各种媒体来提供多个用户之间的通信。例如,视频会议允许两个以上的个人使用软件应用、电信装置和电信网络的组合相互通信。电信装置还可以记录视频流以发送横跨电信网络的消息。
附图说明
附图中的各种附图仅示出了本公开的示例实施例,并且不应被视为限制其范围。
图1是示出根据一些示例实施例的联网系统的框图。
图2是示出根据一些示例实施例的图像分割系统的图。
图3是示出根据一些示例实施例的用于在视频流内分割图像以及基于分割来修改视频流的部分的示例方法的流程图。
图4示出根据一些示例实施例的视频流的一个或多个图像内的关注区域。
图5示出根据一些示例实施例的关注区域的二值化图像。
图6是示出根据一些示例实施例的用于在视频流内分割图像以及基于分割来修改视频流的部分的示例方法的流程图。
图7示出根据一些示例实施例的具有噪声像素的关注区域的二值化图像。
图8是示出根据一些示例实施例的用于跟踪和修改视频流中的关注对象的示例方法的流程图。
图9示出根据一些示例实施例的关注区域内的一组标记像素。
图10是根据一些示例实施例的描绘示例移动装置和移动操作系统界面的用户界面图。
图11是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。
图12是根据示例实施例的呈现计算机系统形式的机器的图形表示的框图,在该计算机系统内可以执行一组指令以使机器执行在此讨论的任何方法。
在此提供的标题仅仅是为了方便,并不是必须影响所用术语的范围或含义。
具体实施方式
以下描述包括说明本公开的实施例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,为了解释的目的,阐述了许多具体细节以便提供对本发明主题内容的各种实施例的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本发明主题内容的实施例。通常,众所周知的指令实例、协议、结构和技术不必详细示出。
尽管存在电信应用和装置以提供两个装置之间的双向视频通信,但是可能存在视频流的问题,诸如在通信会话期间修改视频流内的图像。通常被接受用于编辑或修改视频的方法会在视频被采集或进行视频通信时修改视频或视频通信。因此,本领域仍然需要改进装置之间的视频通信。
本公开的实施例一般涉及视频流的自动图像分割。一些实施例涉及在视频流中描绘的面部内的识别的关注区域的图像分割。例如,在一个实施例中,在装置上运行的应用接收由装置采集的视频。由装置采集的视频是诸如在移动装置之间的视频会议或视频聊天的视频流。应用识别视频流内的嘴部和嘴部内的暴露牙齿。应用横跨视频流跟踪暴露的牙齿。在从装置的相机接收视频流并将视频流发送到另一移动装置时,当牙齿在视频流中可见时,应用修改视频流中的暴露牙齿。应用通过美白牙齿来修改牙齿。从运行应用的移动装置接收流式传输的视频会议的移动装置显示视频聊天上的人的牙齿变白。应用还可以将牙齿的颜色改变为任何所需的颜色,在颜色之间转动,并显示多种颜色。
以上是一个具体示例。本公开的各种实施例涉及装置和由装置的一个或多个处理器执行的指令,以在采集视频流(例如,实时修改视频流)的同时修改由装置发送到另一装置的视频流。描述了一种图像分割系统,其识别并跟踪横跨视频流并通过包括视频流的一组图像的关注对象。在各种示例实施例中,图像分割系统识别并跟踪在视频流中描绘的一个或多个面部特征。尽管针对面部特征进行了描述,但应该理解,如下所讨论,图像分割系统可以跟踪任何关注的对象。
图像分割系统从成像装置接收视频流并识别视频流的图像内的关注对象的大致位置。识别在关注的对象周围的关注区域。在一些实施例中,在视频流的一部分中包含关注对象的图像被剪裁,以去除关注区域外的图像数据。图像分割系统可对关注区域执行一个或多个图像处理操作以增加对比度,以及操纵像素值以识别关注区域内的关注对象,并将关注对象与关注区域的其它对象、形状、纹理或其它特征隔离。一旦针对关注对象识别了特定像素,则图像分割系统可横跨视频流的其它部分跟踪关注对象的像素。在一些实施例中,图像分割系统通过参考图像内的其它点识别关注对象的像素的相对位置并跟踪与关注对象的位置对应的像素来修改视频流内的关注对象的值。图像分割系统可以通过修改表示关注对象的像素的颜色值来修改视频流内的关注对象的外观。在一些情况下,图像分割系统生成图像层,将图像层覆盖在视频流内的图像上,以便修改关注对象的外观。
图1是根据一个实施例描绘的具有被配置用于通过网络交换数据的客户端-服务器架构的网络系统100的网络图。例如,网络系统100可以是其中客户端在网络系统100内通信和交换数据的消息系统。该数据可以涉及与网络系统100及其用户相关联的各种功能(例如,发送和接收文本和媒体通信,确定地理位置等)和方面(例如,传送通信数据,接收和发送通信会话的指示等)。尽管在此被示为客户端-服务器架构,但是其它实施例可以包括其它网络架构,诸如对等或分布式网络环境。
如图1中所示,网络系统100包括社交消息传送系统130。社交消息传送系统130通常基于三层架构,其由接口层124、应用逻辑层126和数据层128组成。如由相关计算机和互联网相关技术的技术人员所理解的,图1中所示的每个模块或引擎表示一组可执行软件指令,以及用于执行指令的对应的硬件(例如,存储器和处理器),形成硬件实现的模块或引擎,并且在执行指令时作为被配置为执行一组特定功能的专用机器。为了避免以不必要的细节模糊本发明的主题内容,从图1中省略了与传递本发明主题内容的理解无关的各种功能模块和引擎。当然,附加的功能模块和引擎可以与社交消息传送系统一起使用,以便于实现没有在此具体描述的附加功能,诸如图1中所示。此外,图1中描绘的各种功能模块和引擎可以驻留在单个服务器计算机或客户端装置上,或者可以以各种布置横跨多个服务器计算机或客户端装置分布。此外,尽管图1中将社交消息传送系统130描绘为三层架构,本发明主题并不限于这种架构。
如图1中所示,接口层124由接口模块(例如网络服务器)140组成,该接口模块140接收来自各种客户端计算装置和服务器(诸如执行客户端应用112的客户端装置110和执行第三方应用122的第三方服务器120)的请求。响应于接收到的请求,接口模块140经由网络104向请求装置传送适当的响应。例如,接口模块140可以接收请求,诸如超文本传输协议(HTTP)请求,或者其它基于Web的应用程序编程接口(API)请求。
客户端装置110可以执行传统网页浏览器应用或为特定平台开发以包括各种移动计算装置和移动专用操作系统中的任何一种(例如IOSTM、ANDROIDTM
Figure BDA0004147892900000051
PHONE)的应用(也称为“应用软件”)。此外,在一些示例实施例中,客户端装置110形成图像分割系统160的全部或一部分,使得图像分割系统160的模块将客户端装置110配置为关于图像分割系统160的操作执行特定的一组功能。
在示例中,客户端装置110正在执行客户端应用112。客户端应用112可以提供将信息呈现给用户106并且经由网络104进行通信以与社交系统130交换信息的功能。此外,在一些示例中,客户端装置110执行图像分割系统160的功能,以在采集视频流期间分割视频流的图像并发送视频流(例如,采用基于视频流的分割图像修改的图像数据)。
客户端装置110中的每一个可以包括计算装置,该计算装置至少包括与网络104访问社交消息传送系统130、其它客户端装置和第三方服务器120的显示和通信能力。客户端装置110包括,但不限于,远程装置、工作站、计算机、通用计算机、互联网设施、手持装置、无线装置、便携式装置、可穿戴计算机、蜂窝或移动电话、个人数字助理(PDA)、智能电话、平板计算机、超极本、上网本、膝上型计算机、台式机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒、网络PC、小型计算机等。用户106可以是人、机器或与客户端装置110交互的其它工具。在一些实施例中,用户106经由客户端装置110与社交消息传送系统130交互。用户106可以不是联网环境的一部分,但可以与客户端装置110相关联。
如图1中所示,数据层128具有便于访问信息存储库或数据库134的数据库服务器132。数据库134是存储数据的存储装置,数据诸如是成员简档数据、社交图数据(例如社交消息传送系统130的成员之间的关系)、图像修改偏好数据、可访问性数据和其它用户数据。
个人可以采用社交消息传送系统130注册以成为社交消息传送系统130的成员。一旦注册,成员可以在社交消息传送系统130上形成社交网络关系(例如,朋友、追随者或联系人),并且与由社交消息传送系统130提供的广泛范围的应用交互。
应用逻辑层126包括各种应用逻辑模块150,该应用逻辑模块150与接口模块140一起生成具有从数据层128中的各种数据源或数据服务取得的数据的各种用户接口。各个应用逻辑模块150可用于实现与社交消息传送系统130的各种应用、服务和特征相关联的功能。例如,社交消息传送应用可由应用逻辑模块150来实现。社交消息传送应用提供用于客户端装置110的用户发送和接收包括文本和媒体内容(诸如图片和视频)的消息的消息传送机制。客户端装置110可以在特定的时间段(例如,有限的或无限的)访问和查看来自社交消息传送应用的消息。在示例中,消息接收者可访问特定消息达预定义的持续时间(例如,由消息发送者指定),该预定义的持续时间在首次访问特定消息时开始。在预定义的持续时间经过之后,消息将被删除,并且消息收件人不再可访问该消息。当然,其它应用和服务可以分别在其自己的应用逻辑模块150中实施。
如图1中所示,社交消息传送系统130可以包括图像分割系统160的至少一部分,该图像分割系统160能够在由客户端装置110采集视频数据期间识别、跟踪和修改视频数据。类似地,如上所述,客户端装置110包括图像分割系统160的一部分。在其它示例中,客户端装置110可以包括整个图像分割系统160。在客户端装置110包括图像分割系统160的一部分(或全部)的实例中,客户端装置110可以单独工作或者与社交消息传送系统130协作以提供在此描述的图像分割系统160的功能。
在一些实施例中,社交消息传送系统130可以是短时消息系统,该短时消息系统使得能够进行短时通信,其中在诸如观看时间或观看完成的删除触发事件之后删除内容(例如视频剪辑或图像)。在这种实施例中,装置在生成、发送、接收或显示短时消息的方面中的任何上下文内使用在此描述的各种模块。例如,实现图像分割系统160的装置可以识别、跟踪和修改关注的对象,诸如视频剪辑中描绘的嘴部内的一组暴露牙齿。装置可以在采集视频剪辑期间修改关注对象,而无需在采集视频剪辑作为用于短时消息的内容生成的一部分之后进行图像处理。
在图2中,在各种实施例中,图像分割系统160可以实现为独立系统或结合客户端装置110实现,并且不一定包括在社交消息传送系统130中。图像分割系统160被示出为包括位置模块210、视频处理模块220、识别模块230、修改模块240、跟踪模块250和通信模块260。例如,模块210-260中的全部或一些模块例如经由网络耦合、共享存储器等彼此通信。模块210-260中的每个模块可以实现为单个模块、组合成其它模块,或者进一步细分为多个模块。虽然未示出,但也可以包括与示例实施例不相关的其它模块。
位置模块210在图像分割系统160内执行定位操作。在各种示例实施例中,位置模块210识别并提供由视频流的图像(例如,视频流的一帧或多帧)描绘的关注对象的位置。在一些实施例中,位置模块210可以是面部跟踪模块或系统的一部分。在一些情况下,在关注对象是面部的一部分的情况下,位置模块210识别在视频流内的一个或多个图像中描绘的面部的位置以及在面部上描绘的一个或多个面部特征。例如,在位置模块210被配置为定位嘴部内的暴露牙齿的情况下,位置模块210可以识别图像内描绘的面部,识别面部上的嘴部,以及识别视频流的包括嘴部的图像的一部分内的暴露牙齿。
在至少一些实施例中,位置模块210在包含关注对象的一个或多个图像内定位关注区域。例如,由位置模块210识别的关注区域可以是视频流内的图像的一部分,诸如关注对象出现在其中的矩形。虽然被称为矩形,但如下所述,关注区域可以是任何合适的形状或形状的组合。例如,关注区域可以被表示为圆形、多边形,或类似于关注对象(例如,嘴部、墙壁、车辆的轮廓)设定形状和大小并且包括关注对象的轮廓。
在一些实施例中,位置模块210执行裁剪功能。例如,在确定图像内的关注区域之后,位置模块210裁剪图像,从关注区域外的考虑区域去除。在一些情况下,在裁剪之后,关注区域由图像分割系统160的一个或多个其它模块处理。在由其它模块处理的情况下,位置模块210单独地或者与通信模块260协作向一个或多个其它模块(例如,视频处理模块220)传送裁剪的关注区域。
视频处理模块220对视频流内的一个或多个图像上由位置模块210识别的一个或多个关注区域执行一个或多个视频处理功能。在各种实施例中,视频处理模块220将视频流的一个或多个图像的关注区域转换为二值化关注区域,其中每个像素具有两个值中的一个。如下所述,由视频处理模块220产生的二值化图像包含图像的二值化区域内的任何像素的两个可能值,0或1。视频处理模块220可以转换关注的区域或视频的一个或多个图像,以将所描绘的关注对象表示为对比颜色图像。例如,可以将二值化图像中的像素转换为仅表示黑色(例如,值1)和白色(例如,值0)。虽然在本公开中被描述为由黑色和白色像素组成的对比图像,但是视频处理模块220可以将视频流的一个或多个图像的关注区域转换成任何两种对比颜色(例如,红色与蓝色)。在二值化后,视频处理模块220可以将二值化关注区域发送或以其它方式传递到图像分割系统160的一个或多个附加模块。例如,视频处理模块220单独或与通信模块260协作可以将二值化关注区域传递给识别模块230。
在一些实施例中,为了增加第一组像素和第二组像素之间的对比度,同时保持由第一组像素或第二组像素表示的关注对象的形状、大小和像素区域,视频处理模块220处理关注区域以增加第一组像素和第二组像素之间的对比度,而无需二值化关注区域或通过迭代过程生成二值化关注区域。
识别模块230识别由视频处理模块220修改的关注区域内的第一组像素和第二组像素。识别模块230可以基于第一组像素和第二组像素之间的不同颜色值,或者基于第一组像素、第二组像素和阈值的颜色差异的组合,来识别该组像素。
在一些实施例中,识别模块230标记视频流的一组图像内的第一组像素,生成一组标记像素。在一些情况下,识别模块230还针对视频流或关注区域的图像内的一组参考界标来识别第一组像素的位置。识别模块230识别视频流内的第一组图像和第二组图像中的一个或多个图像内的第一组像素的颜色值。在第一组像素已被标记的情况下,识别模块230可与跟踪模块250协作以识别视频流的第二组图像中与标记像素对应的像素,并识别对应像素的颜色值。
修改模块240可以基于跟踪模块250的跟踪对视频流的第二组图像内的关注对象或关注对象的一部分执行一个或多个修改。例如,跟踪模块250可以识别视频流的第二组图像内的关注对象的一部分的位置,并且将该位置传递到修改模块240。依次,修改模块240可以执行对关注对象的一部分的一个或多个修改,来生成修改的视频流的第二组图像。然后,修改模块240可以将修改的视频流的第二组图像传递到通信模块260,以在视频流正被采集时传输到另一客户端装置、社交消息传送系统130或客户端装置110的存储装置。在一些实施例中,修改模块240可以实时执行修改以在两个以上客户端装置之间以全双工通信传输视频流的修改的第二组图像。例如,在跟踪模块250跟踪由识别模块230识别的标记的像素或界标的情况下,修改模块240可以修改视频流(例如,视频会议)的第二组图像内的关注对象的颜色(例如,使嘴部内的暴露牙齿变白)来生成视频流的修改的第二组图像。修改模块240与通信模块260协作,可以将来自客户端装置110的视频流的修改的第二组图像发送给一个或多个其它客户端装置。
跟踪模块250至少部分地基于由识别模块230生成的数据(例如,识别的像素、标记像素、界标参考像素)来跟踪关注对象和关注对象的一部分中的至少一个。在一些实施例中,跟踪模块250识别并跟踪视频流的第二组图像的一个或多个图像内的对应像素。对应像素表示视频流的第二组图像内的第一组像素(例如,关注对象)。在一些情况下,跟踪模块250基于识别的界标或一组界标来跟踪标记像素(例如,对应的像素)。例如,标记像素可以被包括在二进制掩码中作为用于跟踪关于二进制掩码的其它界标而识别的位置的附加界标点。跟踪模块250还可跟踪关注对象的遮挡物,以使修改模块240基于关注对象是否显示在视频流的第二组图像的图像内而修改像素或避免修改像素。
通信模块260提供各种通信功能。例如,通信模块260接收指示从客户端装置110的输入接收到的数据的通信数据。通信数据可以指示由用户在客户端装置110上创建的修改的视频流,以用于存储或传输到另一个用户的客户端装置。通信模块260可以经由通信网络在客户端装置之间传输通信数据。通信模块260可以与数据库服务器132、客户端装置110和第三方服务器120交换网络通信。由通信模块260取得的信息包括与用户相关联的数据(例如来自在线账户的成员简档数据或社交网络服务数据)或其它数据以促进实现在此描述的功能。在一些实施例中,通信模块260使得在位置模块210、视频处理模块220、识别模块230、修改模块240和跟踪模块250中的一个或多个之间进行通信。
图3描绘了示出用于分割视频流的部分以及基于分割来修改视频流的部分的示例方法300的流程图。方法300的操作可以由图像分割系统160的组件执行,并且为了说明的目的在下面进行描述。
在操作310中,位置模块210确定视频流内的关注对象的大致位置。视频流包括一组图像。在一些实施例中,视频流的一组图像被分成第一组图像和第二组图像。在这些情况下,第一组图像表示视频流的一部分,其中图像分割系统160处理一个或多个图像以及识别关注对象以及关注对象与视频流内的一个或多个参考对象之间的关系。第二组图像表示其中图像分割系统160跟踪关注对象的视频流的一部分。图像分割系统160可以修改第二组图像内的跟踪关注对象的一个或多个方面。
在各种示例实施例中,位置模块210被配置为识别和定位预定对象或对象类型。例如,位置模块210可以被配置为识别和定位出现在视频流中的墙壁、车辆、面部特征或任何其它对象。在一些情况下,位置模块210被配置为识别从多个对象类型中选择的对象。在从多个对象类型中选择对象的情况下,图像分割系统160可以接收从列表、表格或其它有组织的对象集合中选择对象的用户输入。对象还可以由图像分割系统160自动选择。
在图像分割系统160从多个对象类型中选择对象的情况下,图像分割系统160将视频流内的一个或多个对象识别为多个对象的成员。图像分割系统160可以基于位置、显著性、大小或任何其它合适的方式从一个或多个对象中确定关注对象。在一些情况下,图像分割系统160通过选择位于图像中心附近的一个或多个对象中的对象来从一个或多个对象中识别关注对象。在一些实施例中,图像分割系统160基于在第一组图像的多个图像中的对象位置来识别关注对象。例如,在对象被显著放置(例如,靠近图像的中心)以及对象以第一组图像中的图像的百分比或数量而被检测到(例如,其中百分比或数量超过预定阈值)的情况下,图像分割系统160选择该对象。
在一些实施例中,如图4中所示,位置模块210确定视频流内(例如,在视频流的第一组图像内)的嘴部410的大致位置。在位置模块210确定嘴部的情况下,位置模块210可利用一组面部跟踪操作来确定图像或一组图像内描绘的面部中的一个或多个界标,并识别表示嘴部的界标。
在操作320中,位置模块210识别第一组图像的一个或多个图像内的关注区域。关注区域是一个或多个图像的包含关注对象的大致位置的部分。在一些情况下,在关注对象是嘴部的情况下,关注区域是延伸跨过面部的宽度的部分的图像的一部分或一组图像,以包括嘴部(例如,在嘴的每个角落处的连合处之间延伸的嘴部宽度)和嘴部周围的面部的部分。关注区域也可以延伸跨过面部的高度的部分以包括嘴部(例如,在上唇的最上面的朱红色边界和下唇的最下面的朱红色边界之间延伸的嘴部的高度)和嘴部周围的面部的部分。
在关注对象是嘴部的一些实施例中,关注区域可以是有界区域,或者由包围嘴部410和面部420的部分的有界区域400表示,如图4中所示。有界区域可以是矩形、圆形、椭圆形或任何其它合适的边界区域的形状。在经由一个或多个面部跟踪操作使用面部界标识别嘴部(关注对象)的情况下,关注区域可以是图像的一部分或一组图像,其包括图像的预定部分或从针对嘴部识别的任何界标延伸预定距离。例如,关注区域可占据图像区域或一组图像的百分之五、百分之十五或百分之二十。作为进一步的示例,关注区域可以在10个像素和100个像素之间以任何给定方向延伸。虽然本公开的实施例呈现图像的测量和百分比,但应当理解的是,基于图像的一个或多个方面(例如,分辨率、大小、像素计数)以及描绘图像的显示装置的一个或多个方面(例如,显示器大小、显示器纵横比、分辨率),测量和百分比可以更高或更低。例如,关注区域可以是从视频流的第一组图像中的图像的一个像素到整个区域的任何大小。
在各种情况下,关注区域可以是单个关注区域或多个关注区域。例如,在位置模块210正在识别房间的相对侧上的一对墙壁的关注区域的情况下,位置模块210识别房间的第一侧上的第一墙壁的第一关注区域,以及房间的第二侧上的第二墙壁的第二关注区域。
在操作330中,视频处理模块220生成修改的关注区域。视频处理模块220通过对关注区域执行一个或多个图像处理功能来生成修改的关注区域。在一些实施例中,操作330包括生成修改的关注区域的一组子操作。
在操作332中,视频处理模块220在关注区域外裁剪第一组图像的一个或多个图像的一个或多个部分。例如,关注区域可以被裁剪成图4中所描绘的关注区域的有界区域400。在一些实施例中,在裁剪一个或多个图像时,视频处理模块220通过去除在关注区域外发生的一个或多个图像的部分来隔离关注区域。例如,在关注区域位于关注区域的中心附近并且包括该一个或多个图像中的图像的百分之十五的情况下,视频处理模块220去除不在关注区域内定界的图像的百分之八十五。
在各种示例实施例中,在裁剪一个或多个图像以去除关注区域的有界区域外的图像数据之后,视频处理模块220执行一个或多个操作以生成修改的关注区域,以使得识别模块230能够从不相关的形状、特征、纹理以及也位于关注区域内的图像或一组图像的其它方面分辨修改的关注区域内的关注对象。在一些情况下,在操作334中,视频处理模块220通过二值化来生成修改的关注区域。在这些实施例中,视频处理模块220生成关注区域500的二进制图像版本,如图5中所示。视频处理模块220可以使用任何合适的二值化方法来生成关注区域的二进制版本。在二值化处理之后,修改的关注区域可以将关注对象描绘为一组第一像素,并且将关注区域的其它特征描绘为第二组像素。下面关于图6描述用于生成修改的关注区域的其它操作。
在操作340中,识别模块230识别修改的关注区域内的第一组像素和第二组像素。在各种实施例中,识别模块230基于分配给第一组像素和第二组像素的值的比较,将第一组像素识别为与第二组像素区分开。识别模块230可将第一组像素识别为具有第一值,而将第二组像素识别为具有第二值。在修改的关注区域被二值化(包含1或0的像素颜色值)的情况下,识别模块230将第一组像素识别为具有1的颜色值(例如,第一值)的像素并将第二组像素识别为具有0的颜色值(例如,第二值)的像素。
在修改的关注区域包含多个像素值(诸如灰度)的情况下,识别模块230基于预定阈值执行针对像素的值比较。在这些情况下,识别模块230识别包括在像素的值高于预定阈值的第一组像素中的像素。包括在第二组像素中的像素被识别为具有低于预定阈值的值。例如,在修改的关注区域中的像素的灰度(例如,强度)值范围从0到256的情况下,识别模块230可以将具有该范围的百分之五十以上的值的像素识别为包括在第一组像素中。在一些情况下,识别模块230将像素识别为在像素值在灰度的上百分之二十之内(例如,240以上)的第一组像素中。虽然已经提供了关于灰度强度值的特定值,但应该理解的是,可以基于关于图像和描绘图像的显示装置的多个因素来修改这些值。
在操作350中,修改模块240修改视频流的第二组图像内的第一组像素的颜色值。在各种实施例中,第一组像素的颜色值是第二组图像内的第一颜色值。在这些情况下,修改模块240识别包括第二组图像的一个或多个图像的图像数据内的第一组像素的第一颜色值。响应于识别第一组像素的第一颜色值,修改模块240采用与第一颜色值不同的第二颜色值替换第一颜色值。在修改模块240针对一个或多个图像中的第一颜色值替换第二颜色值后,当显示视频流内的第二组图像时,关注对象表现为第二颜色值的颜色。
在一些情况下,修改模块240通过为第一组像素生成修改的图像层来修改第二组图像内的第一组像素的颜色值。在这些实施例中,采用具有修改的颜色值的第一像素来生成修改的图像层。修改模块240将修改的图像层应用于第二组图像的至少一部分(例如,第二组图像中的一个或多个图像或第二组图像中的图像的一部分)。修改模块240可以与跟踪模块250协作以将第二组图像内的第一组像素的位置与修改的图像层对齐。
图6示出说明用于分割视频流的部分并修改视频流的一个或多个分割部分的示例方法600的流程图。方法600的操作可以由图像分割系统160的组件来执行。在一些情况下,方法600的某些操作可以使用方法300的一个或多个操作来执行,或者可以作为方法300的一个或多个操作的子操作来执行,如将在下面更详细解释的。
在各种示例实施例中,方法600最初由图像分割系统160执行,执行操作310和320,如上面关于图3所述。在这些实施例中,图像分割模块确定关注对象的大致位置并且识别视频流的第一组图像的一个或多个图像内的关注区域。
在操作610中,视频处理模块220将关注区域内的像素转换为依照灰度的值,以生成灰度关注区域。灰度关注区域是灰度转换的结果,从像素中去除颜色信息。任何给定像素的剩余值都是强度值,其中相比显示为更亮的较高强度,弱强度显示为更暗。在灰度关注区域内显示的强度值的范围可以基于与一个或多个图像相关联的因素而变化。在一些情况下,强度值范围可以从0(例如,表示为黑色)到65536(例如,表示为白色)。强度范围可能被限制为小于或超过65536。例如,在一些情况下,强度范围从零扩展到256。尽管参考转换为灰度进行了讨论,但是在一些实施例中,关注区域内的像素可以被转换为除了灰度之外的单个通道。在一些情况下,视频处理模块220识别表示灰度的强度值,而不将关注区域转换为灰度关注区域。
在一些示例实施例中,视频处理模块220使用等式1将像素的颜色值转换为灰度值:
Figure BDA0004147892900000151
如上面在等式1中所示,“g”是像素的绿色值,“r”是像素的红色值,“b”是像素的蓝色值,并且“v”是所得的灰度值。在使用等式1的实施例中,关注区域内的每个像素具有一组颜色值。该组颜色值可以表达为三元组。该组颜色值内的每个值可以表示指定颜色的饱和度值。在这些实施例中,视频处理模块220对关注区域内的每个像素执行等式1,以生成针对每个像素的灰度值,并且进而将关注区域修改为灰度关注区域。
在各种实施例中,视频处理模块220识别灰度关注区域的像素并且生成灰度内的值的直方图。值的直方图可以指示与灰度关注区域的像素相关联的强度值的分布。
在操作620中,视频处理模块220均衡灰度关注区域内的直方图值以生成均衡的关注区域。直方图值的均衡导致灰度关注区域的对比度增加。例如,在关注区域包括嘴部和暴露的牙齿作为关注对象的情况下,直方图均衡使表示牙齿的像素变亮(例如,增加灰度值),并且表示嘴唇、牙龈和面部区域的像素变暗(例如,降低灰度值)。视频处理模块220可利用调色板改变或图像改变直方图均衡技术来调节关注区域内的像素的强度值,增加灰度关注区域的整体对比度并生成均衡的关注区域。
在操作630中,视频处理模块220对均衡关注区域进行阈值化,以生成二值化关注区域。二值化关注区域内的第一组像素具有第一值。二值化关注区域内的第二组像素具有与第一值不同的第二值。例如,在一些实施例中,第一值可以是1,而第二值可以是0。在一些实施例中,视频处理模块220使用Otsu阈值化(例如,Otsu方法)来对均衡的关注区域阈值化。在这些实施例中,视频处理模块220对均衡的关注区域执行基于聚类的图像阈值化。Otsu阈值化处理使视频处理模块220生成二值化关注区域,将第一组像素与第二组像素分离。例如,在阈值化之后,关注区域具有第一组像素和第二组像素,第一组像素具有第一值(例如,指示白色像素的值1),第二组像素具有第二值(例如,指示黑色像素的值0)。在执行Otsu阈值化中,视频处理模块220可以计算分离第一组像素和第二组像素的阈值。视频处理模块220然后将阈值应用于像素的强度值(例如,灰度值)以在第一组像素和第二组像素之间区分。在像素具有大于阈值的强度值的情况下,视频处理模块220将像素的值转换为1,生成白色像素。在像素具有低于阈值的强度值的情况下,视频处理模块220将像素的值转换为0,生成黑色像素。所得的第一组像素和第二组像素形成二进制关注区域。
在一些实施例中,操作610、620和630可以由收集的二值化操作代替。二值化操作根据关注区域内的像素值计算二值化矩阵(例如,关注区域或图像内的每个像素的二进制值)。例如,在像素的颜色值由红色、绿色和蓝色值组成的情况下,二值化操作从关注区域或图像的RGB值中计算二值化矩阵。在一些情况下,通过将像素的二进制值标记为值1或值0来生成二值化矩阵。如果red[i][j]>green[i][j]+blue[i][j]/2,则二值化操作可以确定二值化[i][j]=1,否则二值化[i][j]=0。在一些情况下,视频处理模块220基于红色值大于绿色和蓝色值的总和除以常数来生成二值化矩阵。尽管已经描述了用于生成二值化矩阵的二进制像素值的等式的具体示例,但应该理解,可以使用不同的等式或标准来生成二值化矩阵。
在操作640中,视频处理模块220识别具有第一值并位于具有第二值的多个片段中的两个以上片段之间的一个或多个像素。在一些情况下,第二组像素包括由具有第一值的一个或多个像素700中断的多个片段,如图7所示。在一些情况下,从具有第一值的一个或多个像素中的中断表示噪声、照明缺陷或第一组像素与第二组像素之间的其它非预期交集。视频处理模块220可以基于噪声像素相对于具有相同值的其它像素的位置和具有与噪声像素相同值的像素的数量来识别一个或多个噪声像素。
例如,在视频处理模块220识别在具有第二值的一组像素内的具有第一值的潜在噪声像素组的情况下,视频处理模块220可确定噪声像素的数量。在噪声像素的数量低于预定阈值(例如,值、关注区域的百分比、原始图像的百分比)的情况下,视频处理模块220可以确定噪声像素是否与第一组像素的较大集合接近(例如,邻接或连接)。
在操作650中,视频处理模块220采用第二值替换所识别的一个或多个像素的第一值。在视频处理模块220确定噪声像素未连接到第一组像素的较大集合并且低于预定阈值的情况下,视频处理模块220将噪声像素的值转换为与第二组像素匹配的第二值。
在一些实施例中,在执行操作650时,视频处理模块220识别在具有小于预定误差阈值的数量或比例的第一组像素内的像素组。例如,在噪声像素转换之后剩余的第一组像素中的像素表示嘴部中的暴露牙齿的情况下,视频处理模块220可以识别第一组像素的子集。第一组像素的子集可以是具有第一值的一组像素,第一组像素的子集与另一子集通过第二组像素的一部分而分开。例如,在二值化关注区域包括作为关注对象的嘴部中暴露的牙齿的情况下,像素的子集是表示牙齿的一组像素(例如,白色像素),其通过第二组像素的线或间隙(例如,黑色像素)与其他牙齿分开的。在第一组像素的子集低于误差阈值的情况下,将该子集转换成第二值,否则将被图像分割系统160考虑去除。在一些实施例中,误差阈值是原始图像区域的百分比。在一些情况下,误差阈值在原始图像区域的0%和2%之间。例如,在第一组像素的子集的区域低于图像总区域的1%的情况下,视频处理模块220可以将该子集转换为第二值,否则考虑去除该子集。
图8描绘了示出使用图像分割系统160跟踪和修改视频流中的关注对象的示例方法800的流程图。方法800的操作可以由图像分割系统160的组件执行。在一些情况下,在一个或多个所描述的实施例中,方法800的某些操作可以使用方法300或600中的一个或多个操作执行,或者作为方法300或600的一个或多个操作的子操作来执行,如在下面更详细地解释。
在各种示例实施例中,方法800最初由操作310、320和330执行。在一些情况下,操作330包括方法600中的一个或多个操作。
在操作810中,识别模块230确定第一组像素具有等于或大于预定阈值(例如,关注阈值)的值。在一些示例实施例中,操作810可以作为操作340的子操作来执行。识别模块230可以确定在操作330或630中产生的二值化关注区域中的第一组像素具有大于关注阈值的值。在一些实施例中,关注阈值为0.5或1。
在操作820中,识别模块230将视频流的第二组图像内的第一组像素标记为生成一组标记像素900,如图9中所示。该组标记像素是在视频流中的第二组图像内将被跟踪的像素。标记像素可以被识别并且被包括在一组关注点中以建立标记像素与一个或多个定向点的关系。在一些情况下,标记第一组像素包括一个或多个子操作。
在操作822中,识别模块230识别第一组像素相对于第一组图像内的关注对象的一个或多个界标的位置。在其中第一组像素表示在关注区域(例如,关注的二进制区域)内描绘的嘴部内的暴露牙齿的实施例中,识别模块230识别第一组像素相对于表示嘴巴或其附近的面部上的面部识别界标的位置。例如,第一组像素可以被添加为包括一组面部界标的面部的二进制掩模上的一组界标点。
在操作824中,识别模块230识别第一组图像内的第一组像素的颜色值。在第一组图像已被标记用于跟踪(例如,被识别为第一组图像中描绘的对象的一组参考界标内的一组界标点)的实施例中,在视频流的第二组图像中,识别模块230和跟踪模块250中的一个或多个识别第二组图像的一个或多个图像内的与第一组像素对应的对应像素。在一些实施例中,识别模块230和跟踪模块250使用一个或多个图像跟踪操作(诸如用于面部跟踪的合适的一组操作)来建立对应关系。在建立对应像素之后,识别模块230识别与对应像素相关联的一个或多个颜色值。例如,识别模块230可以识别用于对应像素的红色通道、绿色通道和蓝色通道(例如,红色/绿色/蓝色(RGB)值)的一组值。
在操作830中,跟踪模块250跟踪横跨视频流的第二组图像的一组标记像素。在一些实施例中,为了跟踪标记像素,跟踪模块250跟踪表示第二组图像中的标记像素或对应像素的界标点。跟踪模块250可以使用任何合适的跟踪操作来识别横跨视频流的第二组图像内的图像的标记像素的描绘(例如,界标是否被遮挡)、位置和取向上的变化。在标记像素表示暴露的牙齿的实施例中,跟踪模块250检测横跨视频流的第二组图像的牙齿的位置和取向上的变化。跟踪模块250还可以检测并跟踪牙齿(例如,标记像素)的遮挡,其中嘴唇、手、头发、舌头或其它遮挡物模糊牙齿并且防止在第二组图像的一个或多个图像内暴露牙齿。
在操作840中,当颜色值呈现在标记像素附近时,修改模块240修改第一组像素的颜色值。在各种实施例中,修改模块240从跟踪模块250接收对应像素(例如,接近标记像素或界标或处于标记像素或界标的位置处的图像内的像素)的指示。如上所述,关于操作350,修改模块240可以修改第二组图像中的图像内的标记像素的颜色值,或者通过将图像层应用于第二组图像内的图像来修改颜色。
在跟踪模块250确定标记像素被遮挡的情况下,修改模块240不修改第二组图像的图像内的像素的颜色或应用图像层。例如,在标记像素表示嘴部内暴露的牙齿的情况下,跟踪模块250向修改模块240传递颜色改变指令,以触发修改模块240修改对应像素的颜色值。在跟踪模块250检测到图像内标记像素的遮挡物的情况下,跟踪模块250不发送图像的颜色改变指令,或发送修改模块240等待或停止修改图像的指令,直到跟踪模块250检测后续图像中的标记像素(例如,检测到遮挡物不再存在)。
示例
为了更好地示出本文公开的装置和方法,在此提供了非限制性示例表:
1.一种用于操纵视频流的部分的计算机实现的方法,包括:使用客户端装置的一个或多个处理器来确定在包括第一组图像和第二组图像的视频流内的嘴部的大致位置;由客户端装置识别第一组图像的一个或多个图像内的关注区域,关注区域是一个或多个图像的包围嘴部的大致位置的一部分;由客户端装置生成修改的关注区域;由客户端装置识别在修改的关注区域内的第一组像素和第二组像素;以及由客户端装置修改在视频流的第二组图像内的第一组像素的颜色值。
2.根据示例1的方法,其中,方法进一步包括裁剪在关注区域外的第一组图像的一个或多个图像的一个或多个部分。
3.根据示例1或2的方法,其中,生成修改的关注区域进一步包括将关注区域内的像素转换为依照灰度的值以生成灰度关注区域。
4.根据示例1-3中任意一项或多项的方法,其中,灰度关注区域内的像素包括灰度内的值的直方图,并且生成修改的关注区域进一步包括均衡灰度关注区域内的直方图值以生成均衡的关注区域。
5.根据示例1-4中任意一项或多项的方法,其中,生成修改的关注区域进一步包括对均衡的关注区域进行阈值化以生成二值化关注区域,二值化关注区域内的第一组像素具有第一值,并且二值化关注区域内的第二组像素具有与第一值不同的第二值。
6.根据示例1-5中任意一项或多项的方法,其中,第二组像素包括由具有第一值的一个或多个像素中断的多个片段,并且生成二值化关注区域进一步包括:识别具有第一值的一个或多个像素,位于具有第二值的多个片段中的两个以上片段之间;以及采用第二值替换所识别的一个或多个像素的第一值。
7.根据示例1-6中任意一项或多项的方法,其中,识别修改的关注区域内的第一组像素和第二组像素进一步包括:确定第一组像素具有大于预定阈值的值;以及标记视频流的第二组图像内的第一组像素以生成一组标记像素。
8.根据示例1-7中任意一项或多项的方法,其中,标记第二组图像内的第一组像素进一步包括:识别第一组像素相对于第一组图像内描绘的面部的一个或多个界标的位置;以及识别第一组图像内的第一组像素的颜色值。
9.根据示例1-8中任意一项或多项的方法,其中,修改第二组图像内的第一组像素的颜色值进一步包括:跟踪横跨视频流的第二组图像的一组标记像素;以及当颜色值被呈现接近标记像素时,修改第一组像素的颜色值。
10.一种用于操纵视频流的部分的系统,包括:一个或多个处理器;以及承载处理器可执行指令的机器可读存储介质,该处理器可执行指令在由机器的处理器执行时使机器执行包括以下的操作:确定包括第一组图像和第二组图像的视频流内的嘴部的大致位置;识别第一组图像的一个或多个图像内的关注区域,关注区域是一个或多个图像的包围嘴部的大致位置的一部分;生成修改的关注区域;识别修改的关注区域内的第一组像素和第二组像素;以及修改视频流的第二组图像内的第一组像素的颜色值。
11.根据示例10的系统,其中,生成修改的关注区域使机器执行包括以下的操作:将关注区域内的像素转换为依照灰度的值以生成灰度关注区域。
12.根据示例10或11的系统,其中,灰度关注区域内的像素包括灰度内的值的直方图,并且生成修改的关注区域使机器执行包括以下的操作:均衡灰度关注区域内的直方图值以生成均衡的关注区域。
13.根据示例10-12中任一项或多项的系统,其中,生成修改的关注区域使机器执行包括以下的操作:对均衡的关注区域进行阈值化以生成二值化关注区域,该二值化关注区域内的第一组像素具有第一值,并且二值化关注区域内的第二组像素具有与第一值不同的第二值。
14.根据示例10-13中任一项或多项的系统,其中,第二组像素包括由具有第一值的一个或多个像素中断的多个片段,并且生成二值化关注区域使机器执行包括以下的操作:识别具有第一值的一个或多个像素,位于具有第二值的多个片段中的两个以上片段之间;以及采用第二值替换所识别的一个或多个像素的第一值。
15.根据示例10-14中任一项或多项的系统,其中,识别修改的关注区域内的第一组像素和第二组像素使机器执行包括以下的操作:确定第一组像素具有大于预定阈值的值;以及标记视频流的第二组图像内的第一组像素以生成一组标记像素。
16.根据示例10-15中任一项或多项的系统,其中,标记第二组图像内的第一组像素使机器执行包括以下的操作:识别第一组像素相对于第一组图像内描绘的面部的一个或多个界标的位置;以及识别第一组图像内的第一组像素的颜色值。
17.根据示例10-16中任一项或多项的系统,其中,修改第二组图像内的第一组像素的颜色值使机器执行包括以下的操作:跟踪横跨视频流的第二组图像的一组标记像素;以及当颜色值被呈现接近标记像素,修改第一组像素的颜色值。
18.一种承载处理器可执行指令的机器可读存储介质,该处理器可执行指令在由机器的处理器执行时使机器执行包括以下的操作:确定包括第一组图像和第二组图像的视频流内的嘴部的大致位置;识别第一组图像的一个或多个图像内的关注区域,关注区域是一个或多个图像的包围嘴部的大致位置的一部分;生成修改的关注区域;识别修改的关注区域内的第一组像素和第二组像素;以及修改视频流的第二组图像内的第一组像素的颜色值。
19.根据示例18的机器可读存储介质,其中,识别修改的关注区域内的第一组像素和第二组像素使机器执行包括以下的操作:确定第一组像素具有大于预定阈值的修改的关注区域内的值;以及标记视频流的第二组图像内的第一组像素以生成一组标记像素。
20.根据示例18或19的机器可读存储介质,其中,修改第二组图像内的第一组像素的颜色值使机器执行包括以下的操作:识别第一组像素相对于第一组图像内描绘的面部的一个或多个界标的位置;识别第一组图像内的第一组像素的颜色值;跟踪横跨视频流的第二组图像的一组标记像素;以及当颜色值被呈现接近标记像素,修改第一组像素的颜色值。
在以上具体实施方式中部分地阐述了本装置和方法的这些和其它示例和特征。发明内容和实施例旨在提供本主题内容的非限制性实例。并不旨在提供排他或详尽的解释。包括具体实施方式以提供关于本主题内容的进一步信息。
模块、组件和逻辑
某些实施例在此被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,体现在机器可读介质上的代码)或硬件模块。“硬件模块”是能够执行某些操作并且可以以某种物理方式配置或布置的有形单元。在各种示例性实施例中,计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的硬件模块(例如,至少一个硬件处理器、处理器或一组处理器)可以由软件(例如,应用程序或应用程序部分)配置为用于执行如在此所述的某些操作来操作的硬件模块。
在一些实施例中,硬件模块可以机械地、电子地或其任何合适的组合来实现。例如,硬件模块可以包括被永久配置为执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块也可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括在通用处理器或其它可编程处理器内包括的软件。应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件模块的决定可以由成本和时间考虑来驱动。
因此,短语“硬件模块”应被理解为包括有形实体,即物理构造,永久配置(例如,硬连线)或临时配置(例如,编程),以某些方式操作或执行在此所述的某些操作的实体。如在此所使用的,“硬件实现的模块”是指硬件模块。考虑到其中硬件模块被临时配置(例如,编程)的实施例,硬件模块中的每一个硬件模块不需要在任何一个时间上配置或实例化。例如,在硬件模块包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的专用处理器(例如,包括不同的硬件模块)。相应地,软件可以配置特定的处理器,例如,在一个时间点构成特定的硬件模块,并在不同的时间点构成不同的硬件模块。
硬件模块可向其它硬件模块提供信息以及从其它硬件模块中接收信息。因此,所描述的硬件模块可以被认为是通信耦接的。在多个硬件模块同时存在的情况下,可以通过在两个以上硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)实现通信。在其中在不同时间配置或实例化多个硬件模块的实施例中,可以例如通过多个硬件模块访问到的存储器结构中的信息的存储和取得来实现这种硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在其通信耦接到的存储器装置中。然后,另一个硬件模块可以在稍后的时间访问存储器装置以取得和处理所存储的输出。硬件模块同样可以启动与输入或输出装置的通信,并且可以对资源(例如,信息的集合)进行操作。
至少部分地由临时配置(例如通过软件)或永久配置以执行相关操作的处理器来执行在此所述的示例方法的各种操作。无论是临时还是永久配置,此类处理器可以构成操作以执行在此所述的操作或功能的处理器实现的模块。如在此所使用的,“处理器实现的模块”是指使用处理器实现的硬件模块。
类似地,在此所述的方法可以是至少部分地处理器实现的,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可由处理器或处理器实现的模块执行。此外,处理器也可以操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)中的相关操作的性能。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)以及经由适当的接口(例如,应用程序接口API)访问。
某些操作的性能可以分布在处理器之间,不仅驻留在单个机器内,而且部署在多台机器上。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器场内)。在其它示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置上。
应用
图10示出与一些实施例一致的执行移动操作系统(例如,IOSTM、ANDROIDTM
Figure BDA0004147892900000251
Phone或其它移动操作系统)的示例移动装置1000。在一个实施例中,移动装置1000包括可操作来从用户1002接收触觉数据的触摸屏。例如,用户1002可物理地触摸1004移动装置1000,并且响应于触摸1004,移动装置1000可以确定触觉数据,诸如触摸位置、触摸力或手势动作。在各种示例实施例中,移动装置1000显示主屏幕1006(例如,IOSTM上的Springboard),其可操作以启动应用程序或以其它方式管理移动装置1000的各个方面。在一些示例实施例中,主屏幕1006提供诸如电池寿命、连接性或其它硬件状态的状态信息。用户1002可以通过触摸由相应的用户界面元素占据的区域来激活用户界面元素。以该方式,用户1002与移动装置1000的应用程序交互。例如,触摸主屏幕1006中包括的特定图标占据的区域导致启动与特定图标对应的应用程序。
如图10中所示,移动装置1000可以包括成像装置1008。成像装置可以是相机或耦接到能够采集视频流或一个或多个连续图像的移动装置1000的任何其它装置。成像装置1008可以由图像分割系统160或可选择的用户界面元素来触发,以启动对视频流或连续图像的采集,并将视频流或连续图像传递给图像分割系统以根据在本公开中描述的一个或多个方法来处理。
可以在移动装置1000上执行许多种类的应用程序(也称为“应用软件”),诸如本机应用程序(例如,在IOSTM上运行的以Objective-C、Swift或另一适当语言编程的应用程序,或在ANDROIDTM上运行的以Java编程的应用程序)、移动web应用程序(例如,以超文本标记语言-5(HTML5)编写的应用程序)或混合应用程序(例如启动HTML5会话的本机壳应用程序)。例如,移动装置1000包括消息收发应用软件、音频录制应用软件、相机应用软件、书籍阅读器应用软件、媒体应用软件、健身应用软件、文件管理应用软件、位置应用软件、浏览器应用软件、设置应用软件、联系人应用软件、电话呼叫应用软件或其它应用软件(例如,游戏应用软件、社交网络应用软件、生物测定监视应用软件)。在另一示例中,移动装置1000包括诸如
Figure BDA0004147892900000261
的社交消息传送应用软件1010,其与一些实施例一致,允许用户交换包括媒体内容的短时消息。在该示例中,社交消息传送应用软件1010可以合并在此描述的实施例的各方面。例如,在一些实施例中,社交消息传送应用程序包括由用户社交消息传送应用程序创建的短时的媒体图库。这些图库可以由用户贴出并且可由用户的联系人(例如,“朋友”)查看的视频或图片组成。可替代地,公共图库可由社交消息传送应用程序的管理员创建,该应用程序由来自应用程序的任何用户(并且可由所有用户访问)的媒体组成。在又一个实施例中,社交消息传送应用程序可以包括“杂志”特征,其包括由发布者在社交消息传送应用程序的平台上生成并可由任何用户访问的文章和其它内容。这些环境或平台中的任何一个都可以用来实现本发明的概念。
在一些实施例中,短时消息传送系统可以包括具有短时视频剪辑或图像的消息,该短时视频剪辑或图像在诸如观看时间或观看完成的删除触发事件之后被删除。在这种实施例中,当短时视频剪辑正被装置采集并且使用短时消息系统将短时视频剪辑发送到另一装置时,实现图像分割系统160的装置可以识别、跟踪并且修改短时视频剪辑内的关注对象。
软件架构
图11是示出可以安装在如上所述的装置上的软件架构1102的框图1100。图11仅仅是软件架构的非限制性示例,并且应当理解,可以实现许多其它架构以便于在此所述的功能。在各种实施例中,软件1102可以由诸如图12的机器1200的硬件执行,该机器1200包括处理器1210、存储器1230和I/O组件1250。在该示例架构中,软件1102可以被概念化为其中每个层可以提供特定功能的层的堆栈。例如,软件1102包括诸如操作系统1104、库1106、框架1108和应用1110的层。在操作上,与一些实施例一致,应用1110通过软件堆栈调用应用编程接口(API)调用1112,并且响应于API调用1112接收消息1114。
在各种实施方式中,操作系统1104管理硬件资源并提供公共服务。操作系统1104包括例如内核1120、服务1122和驱动器1124。与一些实施例一致,内核1120用作硬件与其它软件层之间的抽象层。例如,内核1120提供了存储器管理、处理器管理(例如调度)、组件管理、联网和安全设置等功能。服务1122可以为其它软件层提供其它公共服务。根据一些实施例,驱动器1124负责控制底层硬件或与底层硬件接口连接。例如,驱动器1124可以包括显示器驱动器、相机驱动器、
Figure BDA0004147892900000271
驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、/>
Figure BDA0004147892900000272
驱动器、音频驱动器、电源管理驱动器等等。
在一些实施例中,库1106提供可由应用程序1110利用的低级公共基础设施。库1106可以包括可以提供诸如存储器分配功能、字符串操作功能、数学功能等功能的系统库1130(例如,C标准库)。此外,库1106可以包括诸如媒体库(例如,支持诸如运动图片专家组4(MPEG4)、高级视频编码(H.264或AVC)、动态图片专家组第3层(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编码、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG)的各种媒体格式的呈现和操纵的库)、图形库(例如,可用于在显示器上的图形内容中显现二维(2D)和三维(3D)的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、Web库(例如,提供Web浏览功能的WebKit)等的API库1132。库1106也可以包括各种各样的其它库1134,以向应用程序1110提供许多其它API。
根据一些实施例,框架1108提供可由应用程序1110利用的高级公共基础设施。例如,框架1108提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等等。框架1108可以提供可由应用程序1110利用的广泛范围的其它API,其中一些可能针对特定操作系统或平台。
在示例实施例中,应用程序1110包括主页应用程序1150、联系人应用程序1152、浏览器应用程序1154、书籍阅读器应用程序1156、位置应用程序1158、媒体应用程序1160、消息传送应用程序1162、游戏应用程序1164以及广泛分类的其它应用程序(诸如第三方应用程序1166)。根据一些实施例,应用程序1110是执行程序中定义的功能的程序。可以采用各种编程语言来创建以各种方式(诸如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如C或汇编语言))构造的应用程序1110。在特定示例中,第三方应用程序1166(例如,由特定平台的供应商以外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用程序)可以是在移动操作系统(诸如iOSTM、AndroidTM
Figure BDA0004147892900000281
Phone或其它移动操作系统)上运行的移动软件。在该示例中,第三方应用程序1166可以调用由操作系统1104提供的API调用1112以促进实现在此描述的功能。
示例机器架构和机器可读介质
图12是示出根据一些示例实施例的能够从机器可读介质(例如,非暂态机器可读存储介质)读取指令(例如,处理器可执行指令)并且执行在此讨论的任何一种或多种方法的机器1200的组件的框图。具体地,图12示出了以计算机系统的示例形式的机器1200的示意图,其中用于使机器1200执行在此讨论的任何一种或多种方法的指令1216(例如,软件、程序、应用程序、小应用程序、应用软件或其它可执行代码)可被执行。在替代实施例中,机器1200作为独立装置操作或者可以耦接(例如联网)到其它机器。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1200可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可穿戴装置(例如智能手表)、智能家居装置(例如智能家用电器)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器或者能够执行指令1216的任何机器,其顺序地或以其它方式指定机器1200要采取的动作。此外,虽然仅示出了单个机器1200,但是术语“机器”也应被理解为包括单独或联合执行指令1216以执行在此讨论的任何方法的机器1200的集合。
在各种实施例中,机器1200包括处理器1210、存储器1230和I/O组件1250,其可被配置为经由总线1202彼此通信。在示例实施例中,处理器1210(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元GPU、数字信号处理器(DSP)、(专用集成电路)ASIC、射频集成电路(RFIC)、另一处理器、或者其任何合适的组合)包括例如可以执行指令1216的处理器1212和处理器1214。术语“处理器”旨在包括多核处理器,其可以包括可以同时执行指令的两个以上独立处理器(有时称为“核”)。尽管图12示出了多个处理器,但是机器1200可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器,或其任何组合。
根据一些实施例,存储器1230包括经由总线1202可被处理器1210访问的主存储器1232、静态存储器1234和存储单元1236。存储单元1236可以包括机器可读介质1238,在机器可读介质1238上存储体现在此描述的任何方法或功能的指令1216。指令1216由机器1200执行期间还可以完全或至少部分地驻留在主存储器1232内、静态存储器1234内、处理器1210中的至少一个内(例如处理器的高速缓存存储器内),或其任何合适的组合。因此,在各种实施例中,主存储器1232、静态存储器1234和处理器1210被认为是机器可读介质1238。
如在此所使用的,术语“存储器”是指能够临时或永久存储数据的机器可读介质1238,并且可以被认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓冲存储器。虽然机器可读介质1238在示例实施例中被示出为单个介质,但是术语“机器可读介质”应当被理解为包括单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”也应被理解为包括能够存储用于由机器执行的指令(例如,指令1216)使得指令在由机器1200的处理器(例如,处理器1210)执行时使机器1200执行在此描述的任何方法的任何介质或多个介质的组合(例如机器1200)。相应地,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。相应地,术语“机器可读介质”应被理解为包括但不限于固态存储器(例如,闪存)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(EPROM))或其任何合适的组合形式的数据存储库。术语“机器可读介质”本身特别排除非法定信号本身。
I/O组件1250可以包括用于接收输入,提供输出,产生输出,发送信息,交换信息,采集测量等的各种组件。通常,应当理解,I/O组件1250可以包括未在图12中示出的许多其它组件。根据功能仅将I/O组件1250分组以简化以下讨论,并且分组不是限制性的。在各种示例实施例中,I/O组件1250可以包括输出组件1252和输入组件1254。输出组件1252可以包括可视组件(例如,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学组件(例如扬声器)、触觉组件(例如振动马达)、其它信号发生器等。输入组件1254包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示仪器)、触觉输入组件(例如,物理按钮、提供触摸的位置和力或触摸手势的触摸屏、或其它触觉输入组件)、音频输入组件(例如,麦克风)等。
在一些另外的示例实施例中,I/O组件1250包括广泛的其它组件中的生物测定组件1256、运动组件1258、环境组件1260或位置组件1262。例如,生物测定组件1256可以包括检测表达(例如手的表达、面部表情、声音表达、身体姿势或嘴部姿势)的组件,测量生物信号(例如,血压、心率、体温、出汗或脑波),识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等。运动组件1258包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1260包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近对象的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器,气体检测传感器,用于为了安全而检测有害气体浓度或用于测量大气中的污染物的)或可能提供对应于周围物理环境的指示、测量或信号的其它组件。位置组件1262包括位置传感器组件(例如,GPS接收器组件)、高度传感器组件(例如,高度计或气压计,其检测可以从哪个高度导出空气压力)、定向传感器组件(例如磁力计)等。
可以使用各种技术来实现通信。I/O组件1250可以包括通信组件1264,其可操作以分别经由耦合1282和耦合1272将机器1200耦接到网络1280或装置1270。例如,通信组件1264包括与网络1280接口连接的网络接口组件或其它合适的装置。在另一示例中,通信组件1264包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0004147892900000311
组件(例如,/>
Figure BDA0004147892900000312
低能量)、/>
Figure BDA0004147892900000313
组件以及经由其它模式提供通信的其它通信组件。装置1270可以是另一台机器或任何各种各样的外围装置(例如,经由USB耦合的外围装置)。
此外,通信组件1264可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1264可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测一维条形码,诸如通用产品代码(UPC)代码,多维条形码,诸如快速响应(QR)码、阿兹台克码、数据矩阵、数据图示符、最大码、PDF417、超码、统一商业法规缩小空间符号体系(UCC RSS-2D条形码和其它光码)),声学检测组件(用于识别标记的音频信号的麦克风),或其任何合适的组合。此外,可以经由通信组件1264导出各种信息,诸如经由互联网协议(IP)地理位置的位置、经由
Figure BDA0004147892900000314
信号三角测量的位置、经由检测可以指示特定位置的/>
Figure BDA0004147892900000315
或NFC信标信号的位置等。
传输介质
在各种示例实施例中,网络1280的部分可以是自组织网络、内部网、外部网、虚拟专用网络VPN、局域网LAN、无线LAN(WLAN)、万维网(WAN)、无线WAN(WWAN)、(城域网)MAN、互联网、互联网的一部分、(公共交换电话网络)PSTN的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0004147892900000321
网络、另一种类型的网络或两个以上这种网络的组合。例如,网络1280或网络1280的一部分可以包括无线或蜂窝网络,并且耦合1282可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其它类型的蜂窝或无线耦合。在该示例中,耦合1282可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线业务(GPRS)技术、GSM演进增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准,由各种标准制定组织定义的其它标准,其它远程协议或其它数据传输技术。
在示例实施例中,可以经由网络接口装置(例如,在通信组件1264中包括的网络接口组件)使用传输介质通过网络1280发送或接收指令1216,并利用多个公知传输中的任何一个协议(例如,超文本传输协议(HTTP))。类似地,在其它示例实施例中,指令1216可以经由耦合1272(例如,对等耦合)使用传输介质发送或接收到装置1270。术语“传输介质”应被认为包括任何无形介质,其能够存储、编码或携载用于机器1200执行的指令1216,并且包括数字或模拟通信信号或便于这种软件通信的其它无形介质。
此外,机器可读介质1238是非暂态的(换句话说,不具有任何暂态信号),因为它不包含传播信号。然而,将机器可读介质1238标记为“非暂态”不应被解释为意味着介质不能移动;介质应被视为可从一个物理位置移动到另一个位置。另外,由于机器可读介质1238是有形的,所以该介质可以被认为是机器可读装置。
语言
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然方法的单独操作被示出和描述为单独的操作,但可以同时执行单独的操作,并且不需要以所示顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。
虽然已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更广泛范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的这种实施例在此可以单独地或集体地由术语“发明”指代,仅仅为了方便而不旨在将本申请的范围限制于任何单个公开内容或发明构思,如果事实上公开了多于一个的话。
在此示出的实施例足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用和从中导出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
如在此所使用的,术语“或”可以以包含或排除的方式来解释。此外,可以为在此所述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界是有些任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且可以落入本公开的各种实施例的范围内。通常,作为示例配置中的单独资源呈现的结构和功能可以被实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为单独的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (20)

1.一种用于操纵视频流的部分的计算机实现的方法,包括:
由客户端装置确定在视频流内的嘴部的大致位置,所述视频流包括面部并包括第一组图像和第二组图像;
由所述客户端装置识别关注区域,所述关注区域包括所述第一组图像中的一个或多个图像内的多个像素,所述关注区域是所述一个或多个图像中包围所述嘴部的所述大致位置的部分;
由所述客户端装置通过执行包括以下的操作来生成二值化矩阵:
对于所述关注区域内的所述多个像素中的每个像素:
取得与所述像素相关联的一组颜色值;
通过比较所述一组颜色值中的第一部分的第一值与所述一组颜色值中的第二部分的第二值,确定所述像素的二进制值;
在所述二值化矩阵中存储所述像素的所述二进制值;
使用所述二值化矩阵修改所述关注区域内的所述多个像素中的每个像素,以创建二值化关注区域;
由所述客户端装置识别在所述二值化关注区域中的所述嘴部内可见的一组牙齿;
由所述客户端装置识别在所述二值化关注区域内的第一组像素和第二组像素,并将所述第一组像素的至少一部分添加为所述面部的二进制掩码内的一组界标点,所述第一组像素对应于所述嘴部内的所述组牙齿;以及
当所述组牙齿在所述第二组图像内可见时,由所述客户端装置修改所述视频流的所述第二组图像内的所述第一组像素的颜色值。
2.根据权利要求1所述的方法,进一步包括:
将所述关注区域内的所述多个像素转换为依照灰度的值,以生成灰度关注区域,所述多个像素通过以下转换为灰度:对于每个像素,通过将固定的强度值乘以所述像素的颜色饱和度值的三元组的商生成灰度值。
3.根据权利要求2所述的方法,其中,所述灰度关注区域内的所述像素包括所述灰度内的直方图值,并且所述方法进一步包括:
均衡所述灰度关注区域内的所述直方图值,以生成均衡的关注区域。
4.根据权利要求3所述的方法,进一步包括:
对所述均衡的关注区域进行阈值化以生成二值化关注区域,所述二值化关注区域内的所述第一组像素具有第一值,并且所述二值化关注区域内的所述第二组像素具有与所述第一值不同的第二值。
5.根据权利要求4所述的方法,其中,所述第二组像素包括由具有所述第一值的一个或多个像素中断的多个片段,并且生成所述二值化关注区域进一步包括:
识别具有所述第一值的一个或多个像素,位于具有所述第二值的所述多个片段中的两个以上片段之间;以及
采用所述第二值替换所识别的一个或多个像素的所述第一值。
6.根据权利要求4所述的方法,进一步包括:
确定所述第一组像素具有大于预定阈值的值;以及
在所述视频流的所述第二组图像内标记所述第一组像素,以生成一组标记像素。
7.根据权利要求5所述的方法,其中,在所述第二组图像内标记所述第一组像素进一步包括:
识别所述第一组像素相对于所述第一组图像内描绘的面部的一个或多个界标的位置;以及
识别所述第一组图像内的所述第一组像素的所述颜色值。
8.根据权利要求5所述的方法,其中,修改所述第二组图像内的所述第一组像素的所述颜色值进一步包括:
跟踪横跨所述视频流的所述第二组图像的所述一组标记像素;以及
当所述颜色值被呈现接近所述标记像素时,修改所述第一组像素的所述颜色值。
9.一种用于操纵视频流的部分的系统,包括:
一个或多个处理器;以及
非暂时性机器可读存储介质,其存储处理器可执行指令,所述处理器可执行指令在由机器的处理器执行时使所述机器执行包括以下的操作:
由客户端装置确定在视频流内的嘴部的大致位置,所述视频流包括面部并包括第一组图像和第二组图像;
由所述客户端装置识别关注区域,所述关注区域包括所述第一组图像中的一个或多个图像内的多个像素,所述关注区域是所述一个或多个图像中包围所述嘴部的所述大致位置的部分;
由所述客户端装置通过执行包括以下的操作来生成二值化矩阵:
对于所述关注区域内的所述多个像素中的每个像素:
取得与所述像素相关联的一组颜色值;
通过比较所述一组颜色值中的第一部分的第一值与所述一组颜色值中的第二部分的第二值,确定所述像素的二进制值;
在所述二值化矩阵中存储所述像素的相关联的二进制值;
使用所述二值化矩阵修改所述关注区域内的所述多个像素中的每个像素,以创建二值化关注区域;
由所述客户端装置识别在所述二值化关注区域中的所述嘴部内可见的一组牙齿;
由所述客户端装置识别在所述二值化关注区域内的第一组像素和第二组像素,并将所述第一组像素的至少一部分添加为所述面部的二进制掩码内的一组界标点,所述第一组像素对应于所述嘴部内的所述组牙齿;以及
当所述组牙齿在所述第二组图像内可见时,由所述客户端装置修改所述视频流的所述第二组图像内的所述第一组像素的颜色值。
10.根据权利要求9所述的系统,进一步包括:
将所述关注区域内的所述多个像素转换为依照灰度的值,以生成灰度关注区域,所述多个像素通过以下转换为灰度:对于每个像素,通过将固定的强度值乘以所述像素的颜色饱和度值的三元组的商生成灰度值。
11.根据权利要求10所述的系统,其中,所述灰度关注区域内的所述像素包括所述灰度内的直方图值,并且进一步包括:
均衡所述灰度关注区域内的所述直方图值,以生成均衡的关注区域。
12.根据权利要求11所述的系统,进一步包括:
对所述均衡的关注区域进行阈值化以生成二值化关注区域,所述二值化关注区域内的所述第一组像素具有第一值,并且所述二值化关注区域内的所述第二组像素具有与所述第一值不同的第二值。
13.根据权利要求12所述的系统,其中,所述第二组像素包括由具有所述第一值的一个或多个像素中断的多个片段,并且生成所述二值化关注区域进一步包括:
识别具有所述第一值的一个或多个像素,位于具有所述第二值的所述多个片段中的两个以上片段之间;以及
采用所述第二值替换所识别的一个或多个像素的所述第一值。
14.根据权利要求12所述的系统,进一步包括:
确定所述第一组像素具有大于预定阈值的值;以及
在所述视频流的所述第二组图像内标记所述第一组像素,以生成一组标记像素。
15.根据权利要求14所述的系统,其中,在所述第二组图像内标记所述第一组像素进一步包括:
识别所述第一组像素相对于所述第一组图像内描绘的面部的一个或多个界标的位置;以及
识别所述第一组图像内的所述第一组像素的所述颜色值。
16.根据权利要求14所述的系统,其中,修改所述第二组图像内的所述第一组像素的所述颜色值进一步包括:
跟踪横跨所述视频流的所述第二组图像的所述一组标记像素;以及
当所述颜色值被呈现接近所述标记像素时,修改所述第一组像素的所述颜色值。
17.一种非暂时性机器可读存储介质,存储有处理器可执行指令,所述处理器可执行指令在由机器的处理器执行时使所述机器执行包括以下的操作:
由客户端装置确定在视频流内的嘴部的大致位置,所述视频流包括面部并包括第一组图像和第二组图像;
由所述客户端装置识别关注区域,所述关注区域包括所述第一组图像中的一个或多个图像内的多个像素,所述关注区域是所述一个或多个图像中包围所述嘴部的所述大致位置的部分;
由所述客户端装置通过执行包括以下的操作来生成二值化矩阵:
对于所述关注区域内的所述多个像素中的每个像素:
取得与所述像素相关联的一组颜色值;
通过比较所述一组颜色值中的第一部分的第一值与所述一组颜色值中的第二部分的第二值,确定所述像素的二进制值;
在所述二值化矩阵中存储所述像素的相关联的二进制值;
使用所述二值化矩阵修改所述关注区域内的所述多个像素中的每个像素,以创建二值化关注区域;
由所述客户端装置识别在所述二值化关注区域中的所述嘴部内可见的一组牙齿;
由所述客户端装置识别在所述二值化关注区域内的第一组像素和第二组像素,并将所述第一组像素的至少一部分添加为所述面部的二进制掩码内的一组界标点,所述第一组像素对应于所述嘴部内的所述组牙齿;以及
当所述组牙齿在所述第二组图像内可见时,由所述客户端装置修改所述视频流的所述第二组图像内的所述第一组像素的颜色值。
18.根据权利要求17所述的非暂时性机器可读存储介质,进一步包括:
将所述关注区域内的所述多个像素转换为依照灰度的值,以生成灰度关注区域,所述多个像素通过以下转换为灰度:对于每个像素,通过将固定的强度值乘以所述像素的颜色饱和度值的三元组的商生成灰度值。
19.根据权利要求18所述的非暂时性机器可读存储介质,其中,所述灰度关注区域内的所述像素包括所述灰度内的直方图值,并且进一步包括:
均衡所述灰度关注区域内的所述直方图值,以生成均衡的关注区域。
20.根据权利要求19所述的非暂时性机器可读存储介质,进一步包括:
对所述均衡的关注区域进行阈值化以生成二值化关注区域,所述二值化关注区域内的所述第一组像素具有第一值,并且所述二值化关注区域内的所述第二组像素具有与所述第一值不同的第二值。
CN202310309464.XA 2015-11-30 2016-11-29 视频流的图像分割和修改 Pending CN116342622A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/953,726 2015-11-30
US14/953,726 US10198819B2 (en) 2015-11-30 2015-11-30 Image segmentation and modification of a video stream
CN201680080497.XA CN108604378B (zh) 2015-11-30 2016-11-29 视频流的图像分割和修改
PCT/US2016/063997 WO2017095807A1 (en) 2015-11-30 2016-11-29 Image segmentation and modification of a video stream

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680080497.XA Division CN108604378B (zh) 2015-11-30 2016-11-29 视频流的图像分割和修改

Publications (1)

Publication Number Publication Date
CN116342622A true CN116342622A (zh) 2023-06-27

Family

ID=57589191

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680080497.XA Active CN108604378B (zh) 2015-11-30 2016-11-29 视频流的图像分割和修改
CN202310309464.XA Pending CN116342622A (zh) 2015-11-30 2016-11-29 视频流的图像分割和修改

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680080497.XA Active CN108604378B (zh) 2015-11-30 2016-11-29 视频流的图像分割和修改

Country Status (4)

Country Link
US (5) US10198819B2 (zh)
KR (4) KR102211641B1 (zh)
CN (2) CN108604378B (zh)
WO (1) WO2017095807A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US10198819B2 (en) 2015-11-30 2019-02-05 Snap Inc. Image segmentation and modification of a video stream
US10339410B1 (en) * 2016-01-13 2019-07-02 Snap Inc. Color extraction of a video stream
US10325382B2 (en) * 2016-09-28 2019-06-18 Intel Corporation Automatic modification of image parts based on contextual information
JP6240301B1 (ja) * 2016-12-26 2017-11-29 株式会社コロプラ 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
US10839203B1 (en) 2016-12-27 2020-11-17 Amazon Technologies, Inc. Recognizing and tracking poses using digital imagery captured from multiple fields of view
US10762653B2 (en) * 2016-12-27 2020-09-01 Canon Kabushiki Kaisha Generation apparatus of virtual viewpoint image, generation method, and storage medium
US10758322B2 (en) 2017-03-20 2020-09-01 Align Technology, Inc. Virtually representing an orthodontic treatment outcome using automated detection of facial and dental reference objects
US10699421B1 (en) 2017-03-29 2020-06-30 Amazon Technologies, Inc. Tracking objects in three-dimensional space using calibrated visual cameras and depth cameras
US11202028B2 (en) * 2017-04-05 2021-12-14 Samsung Electronics Co., Ltd. Display device configuring multi display system and control method thereof
US10430987B1 (en) * 2017-06-09 2019-10-01 Snap Inc. Annotating an image with a texture fill
TWI684134B (zh) * 2017-07-24 2020-02-01 國立臺灣師範大學 圖像化二維條碼製作裝置及製作方法
US11232294B1 (en) 2017-09-27 2022-01-25 Amazon Technologies, Inc. Generating tracklets from digital imagery
CN107977661B (zh) * 2017-10-13 2022-05-03 天津工业大学 基于fcn与低秩稀疏分解的感兴趣区域检测方法
US11030442B1 (en) 2017-12-13 2021-06-08 Amazon Technologies, Inc. Associating events with actors based on digital imagery
US11284041B1 (en) 2017-12-13 2022-03-22 Amazon Technologies, Inc. Associating items with actors based on digital imagery
US11468681B1 (en) 2018-06-28 2022-10-11 Amazon Technologies, Inc. Associating events with actors using digital imagery and machine learning
US11482045B1 (en) 2018-06-28 2022-10-25 Amazon Technologies, Inc. Associating events with actors using digital imagery and machine learning
US11468698B1 (en) 2018-06-28 2022-10-11 Amazon Technologies, Inc. Associating events with actors using digital imagery and machine learning
US11553988B2 (en) 2018-06-29 2023-01-17 Align Technology, Inc. Photo of a patient with new simulated smile in an orthodontic treatment review software
US10915776B2 (en) * 2018-10-05 2021-02-09 Facebook, Inc. Modifying capture of video data by an image capture device based on identifying an object of interest within capturted video data to the image capture device
US10445915B1 (en) * 2019-04-09 2019-10-15 Coupang Corp. Systems and methods for efficient management and modification of images
CN110418150B (zh) * 2019-07-16 2022-07-01 咪咕文化科技有限公司 一种信息提示方法、设备、系统及计算机可读存储介质
CN110703976B (zh) * 2019-08-28 2021-04-13 咪咕文化科技有限公司 剪辑方法、电子设备和计算机可读存储介质
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
CN111062965B (zh) * 2019-12-26 2023-01-17 西华大学 一种基于流水线的低复杂度双门限多分辨率嘴部检测方法
US11443516B1 (en) 2020-04-06 2022-09-13 Amazon Technologies, Inc. Locally and globally locating actors by digital cameras and machine learning
US11398094B1 (en) 2020-04-06 2022-07-26 Amazon Technologies, Inc. Locally and globally locating actors by digital cameras and machine learning
US11526999B2 (en) 2020-06-26 2022-12-13 Seagate Technology Llc Object tracking using multi-camera system
CN115529833A (zh) * 2021-04-27 2022-12-27 京东方科技集团股份有限公司 一种媒体监播的方法、装置、系统
CN115482143B (zh) * 2021-06-15 2023-12-19 荣耀终端有限公司 应用的图像数据调用方法、系统、电子设备及存储介质
CN113505258A (zh) * 2021-06-23 2021-10-15 广东瑞芯智能科技有限公司 智能手表表盘界面数据的预存方法、系统、装置及介质
CN113421301B (zh) * 2021-07-08 2022-08-05 浙江大学 一种田间作物中心区域定位方法及系统
US11830106B2 (en) * 2021-11-19 2023-11-28 Lemon Inc. Procedural pattern generation for layered two-dimensional augmented reality effects
US20230164421A1 (en) * 2021-11-19 2023-05-25 Motorola Solutions, Inc. Method, system and computer program product for divided processing in providing object detection focus
US20230410396A1 (en) * 2022-06-17 2023-12-21 Lemon Inc. Audio or visual input interacting with video creation
US12069399B2 (en) 2022-07-07 2024-08-20 Snap Inc. Dynamically switching between RGB and IR capture

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5802220A (en) * 1995-12-15 1998-09-01 Xerox Corporation Apparatus and method for tracking facial motion through a sequence of images
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
US6028960A (en) * 1996-09-20 2000-02-22 Lucent Technologies Inc. Face feature analysis for automatic lipreading and character animation
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
JP3695217B2 (ja) * 1999-04-30 2005-09-14 オムロン株式会社 画像処理装置及び画像入力装置
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
US7224847B2 (en) * 2003-02-24 2007-05-29 Microsoft Corp. System and method for real-time whiteboard streaming
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
US7428333B2 (en) * 2004-01-23 2008-09-23 Old Dominion University Visibility improvement in color video stream
US20050249429A1 (en) 2004-04-22 2005-11-10 Fuji Photo Film Co., Ltd. Method, apparatus, and program for image processing
US8332475B2 (en) 2005-08-22 2012-12-11 Triplay Communications Ltd. Messaging system and method
JP2007208413A (ja) * 2006-01-31 2007-08-16 Olympus Corp 色補正装置および色補正方法ならびに色補正プログラム
US7634108B2 (en) * 2006-02-14 2009-12-15 Microsoft Corp. Automated face enhancement
US7804983B2 (en) * 2006-02-24 2010-09-28 Fotonation Vision Limited Digital image acquisition control and correction method and apparatus
WO2008139251A2 (en) * 2006-04-14 2008-11-20 Patrick Levy Rosenthal Virtual video camera device with three-dimensional tracking and virtual object insertion
JP4883783B2 (ja) * 2006-12-22 2012-02-22 キヤノン株式会社 画像処理装置およびその方法
FR2911707B1 (fr) * 2007-01-22 2009-07-10 Total Immersion Sa Procede et dispositifs de realite augmentee utilisant un suivi automatique, en temps reel, d'objets geometriques planaires textures, sans marqueur, dans un flux video.
WO2008129542A2 (en) 2007-04-23 2008-10-30 Ramot At Tel-Aviv University Ltd System, method and a computer readible medium for providing an output image
KR20080107012A (ko) * 2007-06-05 2008-12-10 (주)풀쓰리디소프트 치아사진을 이용한 미백치료후영상 추출 장치 및 방법
US8866894B2 (en) * 2008-01-22 2014-10-21 Carestream Health, Inc. Method for real-time visualization of caries condition
US20100284616A1 (en) 2008-02-01 2010-11-11 Dan Dalton Teeth locating and whitening in a digital image
US8437556B1 (en) * 2008-02-26 2013-05-07 Hrl Laboratories, Llc Shape-based object detection and localization system
EP2277141A2 (en) * 2008-07-30 2011-01-26 Tessera Technologies Ireland Limited Automatic face and skin beautification using face detection
KR101035768B1 (ko) * 2009-01-02 2011-05-20 전남대학교산학협력단 립 리딩을 위한 입술 영역 설정 방법 및 장치
US8768016B2 (en) * 2009-06-19 2014-07-01 Carestream Health, Inc. Method for quantifying caries
DE102009038364A1 (de) * 2009-08-23 2011-02-24 Friedrich-Alexander-Universität Erlangen-Nürnberg Verfahren und System zur automatischen Objekterkennung und anschließenden Objektverfolgung nach Maßgabe der Objektform
US9443227B2 (en) 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US8559712B2 (en) * 2010-09-13 2013-10-15 Hewlett-Packard Development Company, L.P. Processing an image of a person's face
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US8908904B2 (en) * 2011-12-28 2014-12-09 Samsung Electrônica da Amazônia Ltda. Method and system for make-up simulation on portable devices having digital cameras
CA2804468C (en) * 2012-01-30 2016-03-29 Accenture Global Services Limited System and method for face capture and matching
JP5935454B2 (ja) * 2012-03-30 2016-06-15 ブラザー工業株式会社 画像処理装置および画像処理プログラム
KR101381061B1 (ko) * 2012-07-27 2014-04-04 경희대학교 산학협력단 Ct영상으로부터 치열구조의 자동추출방법
GB201217721D0 (en) * 2012-10-03 2012-11-14 Holition Ltd Video image processing
US20140176548A1 (en) * 2012-12-21 2014-06-26 Nvidia Corporation Facial image enhancement for video communication
US9405974B2 (en) * 2013-11-13 2016-08-02 Xerox Corporation System and method for using apparent size and orientation of an object to improve video-based tracking in regularized environments
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
WO2015120293A1 (en) 2014-02-06 2015-08-13 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for real-time monitoring of micromilling tool wear
US9275289B2 (en) * 2014-03-27 2016-03-01 Xerox Corporation Feature- and classifier-based vehicle headlight/shadow removal in video
US9390328B2 (en) * 2014-04-25 2016-07-12 Xerox Corporation Static occlusion handling using directional pixel replication in regularized motion environments
CN104574321B (zh) * 2015-01-29 2018-10-23 京东方科技集团股份有限公司 图像修正方法、图像修正装置和视频系统
US10198819B2 (en) 2015-11-30 2019-02-05 Snap Inc. Image segmentation and modification of a video stream
JP2018006981A (ja) * 2016-06-30 2018-01-11 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム

Also Published As

Publication number Publication date
KR102211641B1 (ko) 2021-02-04
CN108604378A (zh) 2018-09-28
US11961213B2 (en) 2024-04-16
KR102516541B1 (ko) 2023-04-04
US10198819B2 (en) 2019-02-05
CN108604378B (zh) 2023-04-18
US20190206061A1 (en) 2019-07-04
US10515454B2 (en) 2019-12-24
US20220101536A1 (en) 2022-03-31
US20200098114A1 (en) 2020-03-26
KR20220044608A (ko) 2022-04-08
KR20210013371A (ko) 2021-02-03
KR102380029B1 (ko) 2022-03-29
US11030753B2 (en) 2021-06-08
US20170262994A1 (en) 2017-09-14
US20230252610A1 (en) 2023-08-10
US11663706B2 (en) 2023-05-30
KR20180088436A (ko) 2018-08-03
WO2017095807A1 (en) 2017-06-08
KR20230050469A (ko) 2023-04-14

Similar Documents

Publication Publication Date Title
US11961213B2 (en) Image segmentation and modification of a video stream
CN109641153B (zh) 视频流中的对象建模和替换
CN109716781B (zh) 用于视频流的实时绘制的系统、装置、介质和方法
US10607347B1 (en) System and method for determining pupil location and iris radius of an eye
US10896346B1 (en) Image segmentation for object modeling
EP3274916A1 (en) Automated three dimensional model generation
US11450085B2 (en) Binarization of a video stream
US12069281B2 (en) Content-based client side video transcoding
US11354884B2 (en) Color extraction of a video stream

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