[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6594329B2 - System and method for facial expression - Google Patents

System and method for facial expression Download PDF

Info

Publication number
JP6594329B2
JP6594329B2 JP2016552440A JP2016552440A JP6594329B2 JP 6594329 B2 JP6594329 B2 JP 6594329B2 JP 2016552440 A JP2016552440 A JP 2016552440A JP 2016552440 A JP2016552440 A JP 2016552440A JP 6594329 B2 JP6594329 B2 JP 6594329B2
Authority
JP
Japan
Prior art keywords
dimensional
image
face image
face
features
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.)
Expired - Fee Related
Application number
JP2016552440A
Other languages
Japanese (ja)
Other versions
JP2017501514A (en
Inventor
タイグマン、ヤニフ
ヤン、ミン
ランザト、マークアウレリオ
Original Assignee
フェイスブック,インク.
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 フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2017501514A publication Critical patent/JP2017501514A/en
Application granted granted Critical
Publication of JP6594329B2 publication Critical patent/JP6594329B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/172Classification, e.g. identification
    • G06V40/173Classification, e.g. identification face re-identification, e.g. recognising unknown faces across different face tracks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/35Determination of transform parameters for the alignment of images, i.e. image registration using statistical methods
    • 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/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)
  • Image Processing (AREA)

Description

本技術は、顔認識の分野に関する。より詳細には、本技術は、深層学習(ディープ・ラーニング)を使用して顔画像を表現するための技法を提供する。   The present technology relates to the field of face recognition. More particularly, the present technology provides a technique for representing facial images using deep learning.

顔認識システムは、画像またはビデオから人物を自動的に識別し、または確認するコンピュータ・アプリケーションである。非制約画像における顔認識は、アルゴリズム的知覚革命の最前線である。顔認識技術の社会的および文化的な意義および利点は、広範囲に及ぶ。しかし、マシンと人間の視覚系との間の、この領域における現在の性能ギャップは、こうした利点の実現を妨げている。   A face recognition system is a computer application that automatically identifies or confirms a person from an image or video. Face recognition in unconstrained images is at the forefront of the algorithmic perception revolution. The social and cultural significance and benefits of facial recognition technology are extensive. However, the current performance gap in this area between the machine and the human visual system is hindering these benefits.

一貫して制御された(制約された)環境内で撮影された静止画像において正面顔を認識する場合の顔認識誤り率は、過去20年間にわたって3桁減少してきた。適用例は、国境警備およびスマート生体認証を含む。しかしながら、こうしたシステムは、照明、表情、咬合、および老化などの様々な要因の影響を受けやすいことがある。こうしたシステムの性能は、非制約状況において人々を認識しようと試行する際に、大幅に低下し得る。   The face recognition error rate when recognizing a front face in a still image taken in a consistently controlled (constrained) environment has decreased by three orders of magnitude over the past 20 years. Examples of applications include border security and smart biometrics. However, such systems can be susceptible to various factors such as lighting, facial expressions, occlusion, and aging. The performance of such systems can be significantly reduced when attempting to recognize people in unconstrained situations.

本開示の様々な実施形態は、ディープ・ニューラル・ネットワークを採用することによって、顔画像をアライメントし、顔画像を分類し、顔画像を確認するように構成されたシステム、方法、および非一時的なコンピュータ読取可能な媒体を含み得る。いくつかの実施形態において、3次元アライメントされた顔画像(3D−aligned face image)は、2次元顔画像から生成され得る。2次元顔画像のIDは、ディープ・ニューラル・ネットワーク(DNN)への3次元アライメントされた顔画像の提供に基づいて分類され得る。2次元顔画像のIDは、特徴ベクトルを含み得る。   Various embodiments of the present disclosure provide a system, method, and non-transitory configured to employ a deep neural network to align facial images, classify facial images, and verify facial images Any computer readable medium may be included. In some embodiments, a 3D-aligned face image may be generated from the 2D face image. The ID of the 2D face image can be classified based on providing the 3D aligned face image to a deep neural network (DNN). The ID of the two-dimensional face image may include a feature vector.

1つの実施形態において、2次元顔画像の基準点のセットが検出され得る。2次元顔画像は、3次元アライメントされた顔画像を生成するために、2次元顔画像を3次元形状へ加工すべく使用され得る。   In one embodiment, a set of reference points for a two-dimensional face image may be detected. The 2D face image can be used to process the 2D face image into a 3D shape to generate a 3D aligned face image.

1つの実施形態において、アンカー・ポイントのセットは、3次元形状上へ配置され得る。各アンカー・ポイントは、2次元顔画像の基準点のセットのうちの1つの基準点に対応し得る。2次元顔画像の基準点のセットのうちの各基準点の位置は、3次元形状へ逆投影され得る。2次元顔画像の基準点のセットのうちの各基準点の位置は、3次元形状の正面像へ投影され得る。2次元顔画像は、基準点のセットとアンカー・ポイントのセットとに基づいて、3次元アライメントされた顔画像へ変換され得る。   In one embodiment, the set of anchor points can be placed on a three-dimensional shape. Each anchor point may correspond to one reference point in the set of reference points of the two-dimensional face image. The position of each reference point in the set of reference points of the two-dimensional face image can be backprojected into a three-dimensional shape. The position of each reference point in the set of reference points of the two-dimensional face image can be projected onto a three-dimensional front image. The 2D face image can be converted to a 3D aligned face image based on the set of reference points and the set of anchor points.

1つの実施形態において、2次元顔画像の基準点のセットは、三角形のセットを定義する。アフィン変換は、2次元顔画像を3次元アライメントされた顔画像へ変換するために、三角形のセットのうちの各三角形に対して実行される。   In one embodiment, the set of reference points of the 2D face image defines a set of triangles. An affine transformation is performed on each triangle in the set of triangles to transform the 2D face image into a 3D aligned face image.

1つの実施形態において、画像の顔部分は、その画像の基準点の第2のセットを検出することによって識別され得る。2次元顔画像は、基準点の第2のセットに基づいて、画像の顔部分を変換することによって生成され得る。   In one embodiment, the facial portion of the image may be identified by detecting a second set of reference points for the image. A two-dimensional face image may be generated by transforming the face portion of the image based on the second set of reference points.

1つの実施形態において、アンカー位置のセットが決定され得る。画像の顔部分は、2次元顔画像を生成するために、アンカー位置のセットに基づいて加工され得る。
1つの実施形態において、DNN層のセットを備え、層のセットは、畳み込みプーリング層と、局所的結合層のセットと、全結合層のセットとを備える。
In one embodiment, a set of anchor positions can be determined. The face portion of the image can be processed based on a set of anchor positions to generate a two-dimensional face image.
In one embodiment, it comprises a set of DNN layers, the set of layers comprising a convolutional pooling layer, a set of local coupling layers, and a set of all coupling layers.

1つの実施形態において、畳み込みプーリング層は、第1の畳み込み層と、最大プーリング層と、第2の畳み込み層とを備える。畳み込みプーリング層は、3次元アライメントされた顔画像の特徴のセットを抽出するように構成される。   In one embodiment, the convolution pooling layer comprises a first convolution layer, a maximum pooling layer, and a second convolution layer. The convolutional pooling layer is configured to extract a set of features of the three-dimensionally aligned facial image.

1つの実施形態において、局所的結合層のセットのうちの各局所的結合層は、3次元アライメントされた顔画像の特徴のセットを抽出するように構成される。
1つの実施形態において、全結合層のセットのうちの各全結合層は、3次元アライメントされた顔画像の特徴のセット内の相関を決定するように構成される。
In one embodiment, each local combined layer of the set of local combined layers is configured to extract a set of features of a 3D aligned facial image.
In one embodiment, each fully connected layer of the set of fully connected layers is configured to determine a correlation within the set of features of the three-dimensionally aligned facial image.

1つの実施形態において、全結合層のセットのうちの1つの全結合層の出力は、特徴ベクトルである。
1つの実施形態において、DNNは、特徴ベクトルに基づいて2次元顔画像を分類するように構成される。特徴ベクトルは、3次元アライメントされた顔画像の特徴のセットを備える。特徴のセットのうちの各特徴は、所定の範囲へ正規化される。
In one embodiment, the output of one fully connected layer of the set of fully connected layers is a feature vector.
In one embodiment, the DNN is configured to classify 2D face images based on feature vectors. The feature vector comprises a set of features of a 3D aligned face image. Each feature in the set of features is normalized to a predetermined range.

1つの実施形態において、DNNは、3次元アライメントされた顔画像の各画素についてのフィルタのセットを定義するように構成される。
1つの実施形態において、DNNは、データセットを用いて前記フィルタのセットを定義するようにトレーニングされる。
In one embodiment, the DNN is configured to define a set of filters for each pixel of the 3D aligned face image.
In one embodiment, the DNN is trained to define the set of filters using a data set.

1つの実施形態において、2次元顔画像の個人は、画像ストアにおいて2次元顔画像のIDを問い合わせることによって識別され得る。画像ストアは、顔画像のセットを備え、顔画像のセットのうちの各顔画像は、個人に対応する。   In one embodiment, the individual of the 2D face image may be identified by querying the ID of the 2D face image in the image store. The image store comprises a set of face images, and each face image in the set of face images corresponds to an individual.

1つの実施形態において、第2の2次元顔画像の第2のIDが分類される。IDは、IDおよび第2のIDが個人に対応するか否かを決定するために、第2のIDと比較され得る。   In one embodiment, the second ID of the second two-dimensional face image is classified. The ID can be compared with the second ID to determine whether the ID and the second ID correspond to an individual.

1つの実施形態において、IDと第2のIDとの間の重み付けされたχ距離は、IDを第2のIDに対して
比較するために決定され得る。
In one embodiment, a weighted χ 2 distance between the ID and the second ID may be determined to compare the ID against the second ID.

1つの実施形態において、IDは、特徴の第1のセットを備え、第2のIDは、特徴の第2のセットを備える。特徴の第1のセットと特徴の第2のセットとの間の特徴差のセットが決定され得る。特徴差のセットは、IDを第2のIDに対して比較するために、全結合層を使用することによって所定の値に対してマッピングされ得る。   In one embodiment, the ID comprises a first set of features and the second ID comprises a second set of features. A set of feature differences between the first set of features and the second set of features may be determined. The set of feature differences can be mapped to a predetermined value by using the full coupling layer to compare the ID against the second ID.

本発明に係るさらなる実施形態において、1つまたは複数のコンピュータ読取可能な非一時的な記憶媒体は、実行されると、本発明に係る方法または上記実施形態のうちのいずれかを実行するように動作可能であるソフトウェアを具現化する。   In a further embodiment according to the invention, one or more computer-readable non-transitory storage media, when executed, perform the method according to the invention or any of the above embodiments. Implement software that is operable.

本発明に係るさらなる実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサによって実行可能な命令を備える少なくとも1つのメモリとを備え、プロセッサは、命令を実行する際に、本発明に係る方法または上記実施形態のうちのいずれかを実行するように動作可能である。   In a further embodiment according to the invention, the system comprises one or more processors and at least one memory coupled to the processor and comprising instructions executable by the processor, the processor in executing the instructions It is operable to perform any of the methods according to the invention or the above embodiments.

本発明に係るさらなる実施形態において、好適には、コンピュータ読取可能な非一時的な記憶媒体を備える、コンピュータ・プログラム製品は、データ処理システム上で実行されると、本発明に係る方法または上記実施形態のうちのいずれかを実行するように動作可能である。   In a further embodiment according to the present invention, preferably a computer program product comprising a computer-readable non-transitory storage medium is executed on a data processing system, the method according to the present invention or the above implementation. It is operable to perform any of the forms.

本発明の多くの他の特徴および実施形態は、下記の詳細な説明から、および添付の図面から、明らかとなるであろう。
本発明に係る実施形態は、具体的には、方法、記憶媒体、システムおよびコンピュータ・プログラム製品へ向けられる添付の特許請求の範囲において開示され、1つの請求項のカテゴリ、例えば、方法において記載される任意の特徴は、別の請求項のカテゴリ、例えば、システムにおいても特許請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的な理由のために選ばれているにすぎない。しかしながら、添付の特許請求の範囲において選ばれた従属関係に関わらず、請求項の任意の組み合わせおよびその特徴が開示され、特許請求され得るように、(特に、多数従属形式で)任意の先行請求項への意図的な参照に由来する任意の主題も、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において述べられる特徴の組み合わせだけでなく、特許請求の範囲における特徴の任意の他の組み合わせも備え、特許請求の範囲において記載される各特徴は、特許請求の範囲における任意の他の特徴と、または他の特徴の組み合わせと、組み合わせられ得る。さらに、本明細書において説明または図示される実施形態および特徴のうちの任意のものは、別個の請求項において特許請求されてもよく、および/または、本明細書において説明もしくは図示される任意の実施形態もしくは特徴との任意の組み合わせにおいて特許請求されてもよく、または添付の特許請求の範囲の特徴のうちの任意のものとの組み合わせにおいて特許請求されてもよい。
Many other features and embodiments of the present invention will become apparent from the following detailed description and from the accompanying drawings.
Embodiments according to the present invention are disclosed in the appended claims specifically directed to methods, storage media, systems and computer program products, and are described in one claim category, eg, method. Any feature may be claimed in another claim category, for example in a system. The dependencies or references in the appended claims are chosen solely for formal reasons. However, regardless of the dependencies selected in the appended claims, any preceding claim (especially in multiple dependent form) may be disclosed and claimed in any combination of claims and their features. Any subject matter derived from an intentional reference to a section can also be claimed. The claimed subject matter comprises not only the combination of features recited in the appended claims, but also any other combination of features in the claims, wherein each feature recited in the claims includes: It may be combined with any other feature in the claims, or with a combination of other features. Moreover, any of the embodiments and features described or illustrated herein may be claimed in separate claims and / or any described or illustrated herein. It may be claimed in any combination with the embodiments or features, or may be claimed in combination with any of the features of the appended claims.

本開示の一実施形態に係る、ディープ・ニューラル・ネットワークを採用することによって、顔画像をアライメントし、顔画像を分類し、および/または顔画像を確認するように構成された例示的な顔表現モジュールを含む例示的なシステムを例示する図。Exemplary facial expressions configured to align facial images, classify facial images, and / or verify facial images by employing a deep neural network, according to an embodiment of the present disclosure FIG. 4 illustrates an example system that includes modules. 本開示の一実施形態に係る、例示的な顔アライメント・モジュールを例示する図。FIG. 3 illustrates an exemplary face alignment module, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、基準点を有する検出された顔部分を備える例示的な2次元画像を例示する図。FIG. 4 illustrates an exemplary two-dimensional image comprising a detected face portion having a reference point, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、図3Aに示される例示的な2次元画像に基づいて生成された例示的な2次元顔画像を例示する図。FIG. 3B illustrates an example two-dimensional face image generated based on the example two-dimensional image shown in FIG. 3A, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、検出された基準点および基準点によって定義される対応する三角形を有する例示的な2次元顔画像例示する図。FIG. 4 illustrates an exemplary two-dimensional face image having a detected reference point and a corresponding triangle defined by the reference point, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、図3Bに示される2次元顔画像の結像面へ変換された例示的な3次元形状を例示する図。FIG. 4 illustrates an exemplary three-dimensional shape converted to an imaging plane of the two-dimensional face image shown in FIG. 3B, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、適合された3次元−2次元カメラに関する三角形視認性を例示する図。FIG. 3 illustrates triangle visibility for a adapted 3D-2D camera according to an embodiment of the present disclosure. 本開示の一実施形態に係る、図3Cに例示される基準点に対応する3次元形状上へ配置されたアンカー・ポイントを例示する図。FIG. 4 illustrates anchor points arranged on a three-dimensional shape corresponding to the reference point illustrated in FIG. 3C, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、例示的な3次元アライメントされた顔画像を例示する図。FIG. 3 illustrates an exemplary three-dimensionally aligned face image according to one embodiment of the present disclosure. 本開示の一実施形態に係る、図3Gに例示される3次元顔画像に基づいて生成された顔の例示的な図。FIG. 3D is an exemplary view of a face generated based on the three-dimensional face image illustrated in FIG. 3G according to an embodiment of the present disclosure. 本開示の一実施形態に係る、例示的な顔分類モジュールを例示する図。FIG. 4 illustrates an exemplary face classification module, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、例示的なDNNの例示的なアーキテクチャを例示する図。FIG. 3 illustrates an example architecture of an example DNN, according to one embodiment of the present disclosure. 本開示の一実施形態に係る、2次元顔画像についての顔表現を生成する例示的な方法を例示する図。FIG. 3 illustrates an exemplary method for generating a facial representation for a two-dimensional facial image according to an embodiment of the present disclosure. 本開示の一実施形態に係る、2次元顔画像についての顔表現を生成する例示的な方法を例示する図。FIG. 3 illustrates an exemplary method for generating a facial representation for a two-dimensional facial image according to an embodiment of the present disclosure. LFWデータセットに対する、他の方法と比較した、いくつかの実施形態の受信者動作特性(「ROC(Receiver Operating Characteristic)」)曲線を例示する図。FIG. 6 illustrates a receiver operating characteristic (“ROC”) curve for some embodiments compared to other methods for an LFW dataset. YTFデータセットに対する、他の方法と比較した、いくつかの実施形態の受信者動作特性(「ROC」)曲線を例示する図。FIG. 6 illustrates a receiver operating characteristic (“ROC”) curve of some embodiments compared to other methods for a YTF data set. 本開示の一実施形態に係る、様々なシナリオにおいて利用され得る例示的なシステムのネットワーク図。1 is a network diagram of an example system that can be utilized in various scenarios according to one embodiment of the present disclosure. FIG. 本開示の一実施形態に係る、様々なシナリオにおいて利用され得るコンピュータ・システムの例を例示する図。FIG. 3 illustrates an example computer system that can be utilized in various scenarios according to an embodiment of the present disclosure.

図面は、開示される技術の様々な技術を例示の目的のために図示するものにすぎず、図面は、同様の要素を識別するために同様の参照符号を使用する。当業者は、本明細書において説明される開示される技術の原理から逸脱することなく、図面に例示される構造および方法の代替的実施形態が採用され得ることを、下記の議論から容易に認識するであろう。   The drawings are merely illustrative of various techniques of the disclosed technology for illustrative purposes, and the drawings use like reference numerals to identify like elements. Those skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated in the drawings may be employed without departing from the principles of the disclosed technology described herein. Will do.

近年、多数の写真が、検索エンジンによってクロールされ、ソーシャル・ネットワークへアップロードされてきた。これらの写真は、物体、顔、およびシーンなどの多様な非制約材料を含み得る。この膨大な量のデータを活用可能であることは、コンピュータ・ビジョン・コミュニティにとって、その未解決の問題に対処する際に重要である。しかしながら、サポート・ベクトル・マシン、主成分分析および線形判別分析などの、コンピュータ・ビジョンにおいて使用される従来のマシン学習ツールのうちの多くの汎化能力は、トレーニング・セットの量が著しく増加するにつれて、かなり急速に飽和する傾向にある。   In recent years, many photos have been crawled by search engines and uploaded to social networks. These photographs may include a variety of unconstrained materials such as objects, faces, and scenes. The availability of this enormous amount of data is important for the computer vision community when dealing with its open issues. However, many of the generalization capabilities of traditional machine learning tools used in computer vision, such as support vector machines, principal component analysis, and linear discriminant analysis, have increased as the amount of training sets has increased significantly. Tend to saturate fairly quickly.

現代の顔認識は、検出、アライメント、表現、および分類などのいくつかの段階を備え得る。検出段階中に、1つの画像から1つまたは複数の顔が検出されることがあり、検出された顔は、アライメント段階においてアライメントされる。その後、画像中の各顔は、表現段階中に表現される。画像中の各顔は、分類段階において分類され得る。従来の顔確認方法は、ユーザによって定義および選択される、手動で選択された特徴を使用する。手動で選択された特徴は、最も早期のLabeled Faces in the Wild(「LFW」)寄稿においてさえ、性能を改善するために組み合わせられ得る。こうしたシステムは、数万個の画像記述子を採用し得る。   Modern face recognition may comprise several stages such as detection, alignment, representation, and classification. During the detection stage, one or more faces may be detected from one image, and the detected faces are aligned in the alignment stage. Thereafter, each face in the image is represented during the presentation phase. Each face in the image can be classified in a classification stage. Conventional face recognition methods use manually selected features that are defined and selected by the user. Manually selected features can be combined to improve performance, even in the earliest Labeled Faces in the Wild ("LFW") contributions. Such a system may employ tens of thousands of image descriptors.

顔アライメントは、両目、鼻、口、および顎などの意味論的な顔ランドマークの位置を突き止める。結果として、顔アライメントは、顔認識システムの重要な部分となり得る。アライメントされた顔のデータセットを含む顔データベース(例えば、LFW−a)は、正規化された入力を提供することによって、顔認識システムの性能を改善し得る。LFW結果ページに関する寄稿のうちのいくつかは、2次元アライメントされたバージョンのデータセット(例えば、LFW−a)を使用し、結果を改善している。他の寄稿は、よりカスタマイズされた解決策を採用し得る。例えば、妥当な「ID保存」アライメントを推論するための類似した姿勢および表情の個人のデータセットが使用される。それでもなお、非制約シナリオにおいて顔をアライメントすることは、困難となり得る。顔の非平面性に起因して、顔面形態学を阻む、人物のIDから切り離すことが難しい多くの要因(例えば、姿勢および柔らかい表情)が考慮される必要がある。   Face alignment locates semantic face landmarks such as both eyes, nose, mouth, and chin. As a result, face alignment can be an important part of a face recognition system. A face database (eg, LFW-a) that includes an aligned face data set may improve the performance of the face recognition system by providing a normalized input. Some of the contributions on the LFW results page use a two-dimensionally aligned version of the dataset (eg, LFW-a) to improve the results. Other contributions may employ more customized solutions. For example, a personal data set of similar poses and expressions is used to infer a reasonable “ID preservation” alignment. Nevertheless, aligning faces in unconstrained scenarios can be difficult. Due to the non-planarity of the face, many factors (eg, posture and soft facial expressions) that hinder facial morphology and are difficult to separate from a person's ID need to be considered.

図1は、本開示の実施形態に係る、ディープ・ニューラル・ネットワークを採用することによって、顔画像をアライメントし、顔画像を分類し、および/または顔画像を確認するように構成された例示的な顔表現モジュール102を含む例示的なシステム100を例示する。図1に示されるように、例示的な顔表現モジュール102は、顔アライメント・モジュール104と、顔分類モジュール106と、顔確認モジュール108とを備え得る。   FIG. 1 is an exemplary configuration configured to align face images, classify face images, and / or confirm face images by employing a deep neural network according to an embodiment of the present disclosure. 1 illustrates an exemplary system 100 that includes a simple facial expression module 102. As shown in FIG. 1, the exemplary face representation module 102 may include a face alignment module 104, a face classification module 106, and a face confirmation module 108.

例示的なシステム100は、少なくとも1つの画像ストア110を含み得る。図1の例において、少なくとも1つの画像ストア110は、画像、またはビデオなどの他のデジタル媒体を記憶するように構成され得る。画像は、識別された顔画像または識別されていない顔画像を含み得る。識別された顔画像は、人物に対してリンクされるのに対して、識別されていない顔画像は、何れの人物に対してもリンクされない。例えば、識別された顔画像は、人物のID(例えば、氏名、ユーザ名等)に対してタグ付けされ得る。画像は、2次元または3次元であってよい。様々な実施形態において、原画像は、基礎となる表現として使用され得る。画像ストア110は、データセットを記憶し得、データセットは、顔表現を学習および分類するためにディープ・ニューラル・ネットワーク(「DNN」)をトレーニングすべく使用され得る。様々な実施形態は、他のデータセットに対しても十分に汎用化する顔表現を取得するために、顔の非常に大きなラベル付きデータセットを活用するディープ・ニューラル・ネットワーク・アーキテクチャおよび学習方法を提供し得る。DNNは、例えば、重み共有なしにいくつかの局所的結合層を使用する1億2千万個を超えるパラメータに関与し得る。例えば、データセットは、4000個を超えるIDに所属する4百万個の顔画像を備え得る。ここで、各IDは、1人の人物の平均千個を超えるサンプルを有する。   The example system 100 may include at least one image store 110. In the example of FIG. 1, at least one image store 110 may be configured to store images or other digital media such as video. The image may include an identified face image or an unidentified face image. The identified face image is linked to a person, while the unidentified face image is not linked to any person. For example, the identified face image may be tagged against a person ID (eg, name, user name, etc.). The image may be two-dimensional or three-dimensional. In various embodiments, the original image can be used as the underlying representation. The image store 110 may store a data set that may be used to train a deep neural network (“DNN”) to learn and classify facial expressions. Various embodiments provide a deep neural network architecture and learning method that leverages very large labeled datasets of faces to obtain facial expressions that are sufficiently generalized to other datasets. Can be provided. A DNN may be involved, for example, in over 120 million parameters using several local coupling layers without weight sharing. For example, the data set may comprise 4 million face images belonging to more than 4000 IDs. Here, each ID has a sample exceeding an average of one person.

いくつかの実施形態において、顔アライメント・モジュール104は、基準点に基づいた、顔の分析的な3次元モデリングを含むように構成され得る。顔アライメント・モジュール104は、分析的な3次元モデルに基づいて、検出された顔クロップ(facial
crop)を加工し、それによって、3次元アライメントされた顔画像を作成するようにさらに構成され得る。各顔領域の位置は、3次元アライメントされた顔画像において画素レベルで固定されているため、顔貌は、原画像における画素のRGB値から学習および検出され得る。
In some embodiments, the face alignment module 104 may be configured to include analytical three-dimensional modeling of the face based on reference points. The face alignment module 104 is configured to detect a detected face crop (facial) based on an analytical 3D model.
crop) and thereby can be further configured to create a three-dimensionally aligned face image. Since the position of each face region is fixed at the pixel level in the three-dimensionally aligned face image, the facial appearance can be learned and detected from the RGB values of the pixels in the original image.

いくつかの実施形態において、顔分類モジュール106は、画像のIDを分類するように構成され得る。顔分類モジュール106は、画像の画素のRGB値に直接基づいて、画像のID(例えば、顔表現)を分類するように構成され得る。画像のIDは、非常に短く、疎ですらあり得る。さらなる実施形態において、画像のIDは、画素のRGB値、画像の勾配ドメイン、奥行きマップ、もしくは奥行き情報、または、これらの任意の組み合わせに基づいて作成され得る。   In some embodiments, the face classification module 106 may be configured to classify image IDs. Face classification module 106 may be configured to classify an image ID (eg, facial expression) based directly on the RGB values of the pixels of the image. Image IDs can be very short and even sparse. In further embodiments, the image ID may be generated based on the RGB values of the pixels, the gradient domain of the image, the depth map, or depth information, or any combination thereof.

いくつかの実施形態において、顔確認モジュール108は、2つの画像が同じIDを有するかを確認するように構成される。換言すれば、2つの画像が同じクラスに所属するかが確認される。顔確認モジュール108は、顔分類モジュール106によって分類されたID(例えば、画像の顔表現)に基づいて、2つの画像間の類似性を決定するように構成され得る。画像は、特徴ベクトルによって表現され得る。いくつかの実施形態において、2つの画像の類似性は、2つの画像についての2つの正規化された特徴ベクトル間の内積を計算することによって決定され得る。いくつかの実施形態において、2つの画像の類似性は、χ類似性またはサイアミーズ・ネットワーク(Siamese network)などの監視されたメトリックによって決定され得る。 In some embodiments, the face verification module 108 is configured to verify whether two images have the same ID. In other words, it is confirmed whether two images belong to the same class. Face verification module 108 may be configured to determine the similarity between two images based on the ID (eg, facial representation of the image) classified by face classification module 106. An image can be represented by a feature vector. In some embodiments, the similarity of two images can be determined by calculating an inner product between two normalized feature vectors for the two images. In some embodiments, the similarity between two images may be determined by a monitored metric such as χ 2 similarity or a Siamese network.

2つの画像間の重み付けされたχ類似性は、χ(f,f)=Σ(f(i)−f(i))/(f(i)+f(i))として表現され得る。ここで、fおよびfは、それぞれ画像の特徴ベクトル表現である。重みパラメータは、要素(f(i)−f(i))/(f(i)+f(i))のベクトルに対して適用される、線形SVMを使用して学習され得る。 The weighted χ 2 similarity between two images is χ 2 (f 1 , f 2 ) = Σ i w i (f 1 (i) −f 2 (i)) 2 / (f 1 (i) + f 2 (i)). Here, f 1 and f 2 are each a feature vector representation of the image. The weight parameter can be learned using linear SVM applied to a vector of elements (f 1 (i) −f 2 (i)) 2 / (f 1 (i) + f 2 (i)). .

サイアミーズ・ネットワークは、2つの画像について高度に非線形なメトリックを提供する。2つの画像について識別される特徴間の絶対差は、2つの入力画像が同じ人物に所属するかを直接予測するために決定および使用され得る。2つの画像についての特徴間の誘導距離は、d(f,f)=Σ|f(i)−f(i)|として表現され得る。ここで、aは、サイアミーズ・ネットワークのトレーニング可能なパラメータである。サイアミーズ・ネットワークのパラメータ(aおよびより下位の層における関節パラメータ)は、ロジスティック関数1/(1+exp(−d))を通じて0と1との間の距離を正規化することによって、ならびに、交差エントロピー損失およびバック・プロパゲーションを使用することによって、トレーニングされ得る。様々な実施形態において、顔確認タスクに対するオーバーフィッティングを防止するために、トレーニングは、サイアミーズ・ネットワークの2つの最上位の層についてのみ可能とされる。 The Siamese network provides a highly nonlinear metric for two images. The absolute difference between the features identified for the two images can be determined and used to directly predict whether the two input images belong to the same person. The induced distance between features for two images can be expressed as d (f 1 , f 2 ) = Σ i a i | f 1 (i) −f 2 (i) |. Here, a i is a trainable parameter of the Siamese network. The parameters of the Siamese network ( ai and joint parameters in the lower layers) are determined by normalizing the distance between 0 and 1 through the logistic function 1 / (1 + exp (−d)), as well as cross entropy It can be trained by using loss and back propagation. In various embodiments, training is only possible for the two top layers of the Siamese network to prevent overfitting for face verification tasks.

図2は、本開示の実施形態に係る、図1(例えば、顔アライメント・モジュール104)に示されるような例示的な顔アライメント・モジュール202を例示する。例示的な顔アライメント・モジュール202は、顔画像をアライメントし得る。アライメントされるべき画像は、少なくとも1つのデータ・ストア208(例えば、図1における画像ストア110)から取得され得る。アライメントされた顔画像は、データ・ストア208内に記憶され得る。図2は、図3A〜図3Hに関連して議論される。   FIG. 2 illustrates an exemplary face alignment module 202 as shown in FIG. 1 (eg, face alignment module 104), according to an embodiment of the present disclosure. The example face alignment module 202 may align face images. Images to be aligned may be obtained from at least one data store 208 (eg, image store 110 in FIG. 1). The aligned face image can be stored in the data store 208. FIG. 2 is discussed in connection with FIGS. 3A-3H.

図3A〜図3Hは、本開示の実施形態に係る、アライメント・プロセスの異なる時間における例示的な画像データを例示する。図3Aは、基準点を有する検出された顔部分310を備える例示的な2次元画像301を例示する。図3Bは、図3Aに例示される例示的な2次元画像301に基づいて生成された例示的な2次元顔画像302を例示する。図3Cは、検出された基準点および基準点によって定義される対応する三角形を有する例示的な2次元顔画像303を例示する。図3Dは、図3Bに例示された2次元顔画像302の結像面へ変換された例示的な3次元形状304を例示する。図3Eは、適合された3次元−2次元カメラに関する三角形視認性を例示する。図3Fは、図3Cに例示される基準点に対応する3次元形状306上に配置されたアンカー・ポイントを例示する。図3Gは、例示的な3次元アライメントされた顔画像307を例示する。図3Hは、図3Gに例示された3次元顔画像307に基づいて生成された顔308の例示的な図を例示する。   3A-3H illustrate exemplary image data at different times of the alignment process, according to embodiments of the present disclosure. FIG. 3A illustrates an exemplary two-dimensional image 301 comprising a detected face portion 310 having a reference point. FIG. 3B illustrates an exemplary two-dimensional face image 302 generated based on the exemplary two-dimensional image 301 illustrated in FIG. 3A. FIG. 3C illustrates an exemplary two-dimensional face image 303 having a detected reference point and a corresponding triangle defined by the reference point. FIG. 3D illustrates an exemplary three-dimensional shape 304 that has been converted to the imaging plane of the two-dimensional face image 302 illustrated in FIG. 3B. FIG. 3E illustrates triangle visibility for an adapted 3D-2D camera. FIG. 3F illustrates anchor points placed on the three-dimensional shape 306 corresponding to the reference points illustrated in FIG. 3C. FIG. 3G illustrates an exemplary three-dimensional aligned face image 307. FIG. 3H illustrates an exemplary view of a face 308 generated based on the three-dimensional face image 307 illustrated in FIG. 3G.

顔アライメント・モジュール202は、基準点検出モジュール204と、画像変換モジュール206とを備え得る。顔アライメント・モジュールは、2次元画像210を3次元アライメントされた顔画像212へアライメントするように構成され得る。3次元アライメントされた顔画像212は、顔面形態学を阻む、人物のIDから切り離すことが難しい多くの要因が考慮され得るように、非制約シナリオにおいてアライメントされ得る。例えば、顔の非平面性および柔らかい表情に起因する姿勢が考慮される。   The face alignment module 202 may include a reference point detection module 204 and an image conversion module 206. The face alignment module may be configured to align the 2D image 210 to the 3D aligned face image 212. The three-dimensionally aligned face image 212 can be aligned in an unconstrained scenario so that many factors that hinder facial morphology and are difficult to separate from the person's ID can be considered. For example, the posture due to the non-planarity of the face and the soft facial expression is considered.

基準点検出モジュール204は、2次元顔画像における基準点を局所化する。2次元顔画像は、非制約画像であり得る。様々な実施形態において、基準点は、サポート・ベクトル・リグレッサ(SVR:Support Vector Regressor)によって抽出され得る。SVRは、2次元顔画像の画像記述子から点構成を予測するためにトレーニングされ得る。様々な実施形態において、画像記述子は、ローカル・バイナリ・パターン(「LBP(Local Binary Patterns)」)・ヒストグラムに
基づく。さらなる実施形態において、他の特徴は、画像記述子において考慮され得る。いくつかの実施形態において、基準点検出モジュール204がその出力を改良し得るように、複数の反復が適用され得る。つまり、基準点検出モジュール204は、基準点の最初のセットを検出するように構成され得る。基準点の最初のセットは、複数回の反復を通じて、基準点の最終的なセットへ改良され得る。2次元顔画像は、誘導された類似性行列Tを使用して、2次元変換画像へと変換され得る。基準点検出モジュール204は、2次元顔画像の基準点の局所化を改良するために使用され得る新たな特徴空間上で2次元変換画像を分析し得る。
The reference point detection module 204 localizes the reference points in the two-dimensional face image. The two-dimensional face image can be an unconstrained image. In various embodiments, the reference points may be extracted by a support vector regressor (SVR). The SVR can be trained to predict the point configuration from the image descriptor of the 2D face image. In various embodiments, the image descriptor is based on a local binary pattern (“LBP (Local Binary Patterns)”) histogram. In further embodiments, other features may be considered in the image descriptor. In some embodiments, multiple iterations can be applied so that the reference point detection module 204 can improve its output. That is, the reference point detection module 204 can be configured to detect an initial set of reference points. The initial set of reference points can be refined to a final set of reference points through multiple iterations. The two-dimensional face image can be converted into a two-dimensional converted image using the derived similarity matrix T. The reference point detection module 204 can analyze the two-dimensional transformed image on a new feature space that can be used to improve the localization of the reference points of the two-dimensional face image.

基準点検出モジュール204は、2次元顔画像の基準点のセットを検出するように構成され得る。図3Cを参照すると、基準点のセットを有する例示的な2次元顔画像303が例示されている。基準点のセットx2dは、図3Aに例示される2次元画像301の2次元アライメントされたクロップ画像である、図3Bに例示される2次元顔画像302から検出される。基準点のセットx2dは、トレーニングされたSVRを使用することによって検出され得る。例示される例において、選択された数(例えば、67個)の基準点が、2次元顔画像303上で局所化される。基準点のセットx2dは、対応する三角形のセット(例えば、ドロネー三角形分割法)を定義し得る。対応する三角形のセットは、2次元顔画像303に例示される画像の輪郭に追加され得る。そのため、クロッピングおよび鋭角が回避され得る。 The reference point detection module 204 can be configured to detect a set of reference points of the two-dimensional face image. Referring to FIG. 3C, an exemplary two-dimensional face image 303 having a set of reference points is illustrated. The set of reference points x 2d is detected from the two-dimensional face image 302 illustrated in FIG. 3B, which is a two-dimensionally aligned crop image of the two-dimensional image 301 illustrated in FIG. 3A. A set of reference points x 2d can be detected by using a trained SVR. In the illustrated example, a selected number (eg, 67) reference points are localized on the two-dimensional face image 303. The set of reference points x 2d may define a corresponding set of triangles (eg, Delaunay triangulation). A corresponding set of triangles can be added to the contour of the image illustrated in the two-dimensional face image 303. Therefore, cropping and acute angles can be avoided.

図2を再度参照すると、画像変換モジュール206は、基準点検出モジュール204によって検出された基準点のセットを使用することによって、2次元顔画像を3次元形状へ加工することにより3次元アライメントされた顔画像212を生成するように構成され得る。図3Gを参照すると、図3Bに例示される2次元顔画像302に基づいて作成された、例示的な3次元アライメントされた顔画像307が例示されている。2次元顔画像302は、図3Gに例示される3次元アライメントされた顔画像307を生成するために、図3Cに例示される基準点のセットを使用して加工され得る。2次元顔画像を3次元形状または3次元モデルへ加工する場合、2次元顔画像からの各基準点の位置は、復元された射影行列Pを通じて3次元形状または3次元モデルへ逆投影され、その後、3次元形状または3次元モデルの正面像へ投影される。様々な実施形態において、2次元顔画像上で検出された基準点のセットから得られた三角形(例えば、ドロネー三角形分割法)によって方向付けられる、区分的アフィン変換が使用される。   Referring back to FIG. 2, the image conversion module 206 is three-dimensionally aligned by processing the two-dimensional face image into a three-dimensional shape by using the set of reference points detected by the reference point detection module 204. A face image 212 may be configured to be generated. Referring to FIG. 3G, an example three-dimensionally aligned face image 307 created based on the two-dimensional face image 302 illustrated in FIG. 3B is illustrated. The 2D face image 302 may be processed using the set of reference points illustrated in FIG. 3C to generate the 3D aligned face image 307 illustrated in FIG. 3G. When processing a two-dimensional face image into a three-dimensional shape or a three-dimensional model, the position of each reference point from the two-dimensional face image is back-projected to the three-dimensional shape or the three-dimensional model through the restored projection matrix P, and then It is projected onto the front image of the 3D shape or 3D model. In various embodiments, a piecewise affine transformation is used that is directed by a triangle (eg, Delaunay triangulation) derived from a set of reference points detected on a two-dimensional face image.

図3Dを参照すると、2次元顔画像302の結像面へ変換された例示的な3次元形状または3次元モデル304が例示されている。一般的な3次元形状または3次元モデルは、外部平面回転を含む顔画像302をアライメントするための基準として使用され得る。様々な実施形態において、一般的な3次元形状モデルは、USFヒューマンIDデータベースからの3Dスキャンの平均値である。3Dスキャンの平均値は、アライメントされた頂点v=(x,y,z =1として処理および表現され得る。 Referring to FIG. 3D, an exemplary three-dimensional shape or three-dimensional model 304 converted to the image plane of the two-dimensional face image 302 is illustrated. A general 3D shape or 3D model can be used as a reference for aligning the face image 302 including external plane rotation. In various embodiments, a typical 3D shape model is an average of 3D scans from the USF Human ID database. The average value of the 3D scan can be processed and represented as aligned vertices v i = (x i , y i , z i ) n i = 1.

アンカー・ポイントのセットX3dは、3次元形状上へ配置され得る。各アンカー・ポイントは、2次元顔画像上で検出された基準点に対応する。2次元顔画像上で検出された基準点と3次元アライメントされた顔画像上のアンカー・ポイントとの間の完全な一致が達成され得る。例えば、図3Fは、3次元形状または3次元モデルによって誘導され得るアンカー・ポイントを例示する。図3Fに例示されるアンカー・ポイントの各々は、図3Cに例示される基準点に対応する。基準点およびアンカー・ポイントは、図3Bに例示される2次元顔画像の、図3Gに例示される3次元アライメントされた顔画像への区分的アフィン加工を方向付けるために使用され得る。 The set of anchor points X 3d can be arranged on a three-dimensional shape. Each anchor point corresponds to a reference point detected on the two-dimensional face image. A perfect match between a reference point detected on the 2D face image and an anchor point on the 3D aligned face image can be achieved. For example, FIG. 3F illustrates anchor points that can be derived by a three-dimensional shape or a three-dimensional model. Each of the anchor points illustrated in FIG. 3F corresponds to a reference point illustrated in FIG. 3C. The reference points and anchor points can be used to direct the piecewise affine processing of the 2D face image illustrated in FIG. 3B into the 3D aligned face image illustrated in FIG. 3G.

3次元アフィン・カメラPは、図3Bに例示される2次元顔画像302の正面顔平面を
、図3Dに例示される3次元形状304の結像面へ逆投影するために、登録および使用され得る。そのため、参照3次元形状304は、2次元顔画像302の結像面へ変換される。換言すれば、2次元顔画像302は、参照3次元形状304に基づいて、3次元アライメントされた顔画像へ変換される。アフィン3次元−2次元カメラPは、
The 3D affine camera P is registered and used to backproject the front face plane of the 2D face image 302 illustrated in FIG. 3B onto the image plane of the 3D shape 304 illustrated in FIG. 3D. obtain. Therefore, the reference three-dimensional shape 304 is converted into the image plane of the two-dimensional face image 302. In other words, the two-dimensional face image 302 is converted into a three-dimensionally aligned face image based on the reference three-dimensional shape 304. Affine 3D-2D camera P

について、既知の共分散を用いて最小二乗法を使用して解かれ得る。ここで、X3dは、参照基準点位置 Can be solved using the least squares method with known covariances. Here, X 3d is the reference reference point position

によって与えられる(2x8)の行列スタックであり、 (2 × 8) matrix stack given by

は、4つのゼロの行ベクトルを表す。サイズ2x4のアフィン・カメラPは、8個の未知の Represents four zero row vectors. The size 2x4 affine camera P has 8 unknown

のベクトルによって表現され得る。いくつかの実施形態において、基準点誤差の推定共分散によって与えられる、(67*2)x(67*2)の共分散行列Σが使用される。これは、顔の輪郭上の検出された点は、それらの推定位置がカメラ角度に対する奥行きによって影響を受け得ることから、より雑音が多くなり得るためである。 Can be represented by a vector of In some embodiments, a (67 * 2) × (67 * 2) covariance matrix Σ given by the estimated covariance of the reference point error is used. This is because detected points on the face contour can be more noisy because their estimated position can be affected by depth relative to the camera angle.

図3Eは、適合されたアフィン3次元−2次元カメラに関する三角形視認性を例示する。3次元形状または3次元モデル上の三角形の視認性は、アフィン3次元−2次元カメラからの三角形を定義する対応するアンカー・ポイントの距離に依存し得る。基準点についてのカメラからの距離に依存して、三角形334は、三角形332よりも視認性が低くなり、三角形332は、三角形330よりも視認性が低くなる。   FIG. 3E illustrates triangle visibility for a fitted affine 3D-2D camera. The visibility of a triangle on a 3D shape or 3D model may depend on the distance of the corresponding anchor point that defines the triangle from the affine 3D-2D camera. Depending on the distance of the reference point from the camera, the triangle 334 is less visible than the triangle 332, and the triangle 332 is less visible than the triangle 330.

図2を再度参照すると、様々な実施形態において、顔アライメント・モジュール202は、2次元画像210から2次元顔画像を生成するように構成され得る。図3Aを参照すると、顔部分310は、2次元画像301から検出され得る。2次元画像301の顔部分310は、基準点312、314、316、318、320、および322のセットを検出することによって識別され得る。基準点312、314は、目の中心を中心とし、基準
点316は、鼻の先端上を中心とし、基準点318、322、および320は、それぞれ口の両端および中央を中心とし得る。顔部分において検出された基準点は、アンカー位置のセットを決定するために使用され得る。識別された顔部分は、2次元顔画像を生成するために、アンカー位置のセットに基づいて加工され得る。例えば、例示されるように、基準点312、314、316、318、320、および322は、顔部分310を3つのアンカー位置へおよそ拡大縮小し、回転し、転換するために使用され得る。図3Bに例示されるような新たな加工された画像を生成するために、3つのアンカー位置は、T 2d:=(s,R,t)について解くことによって決定され得る。ここで、点j=1..nについて、x anchor:=s[R|t]*x sourceである。図3Bは、2次元顔画像302を例示する。2次元顔画像302は、2次元画像301に基づくアグリゲートされた変換によって生成される、アライメントされた顔クロップであり得る。実質的な変化が存在しなくなるまで、複数回の反復が実行されてアンカー位置を決定され、それによって、検出された顔部分310に基づいて2次元顔画像302が生成される。最終的な2次元類似性変換T2d:=T 2d*...*T 2dが構成され得る。
Referring back to FIG. 2, in various embodiments, the face alignment module 202 can be configured to generate a 2D face image from the 2D image 210. Referring to FIG. 3A, the face portion 310 can be detected from the two-dimensional image 301. The face portion 310 of the two-dimensional image 301 can be identified by detecting a set of reference points 312, 314, 316, 318, 320, and 322. Reference points 312, 314 may be centered on the center of the eye, reference point 316 may be centered on the tip of the nose, and reference points 318, 322, and 320 may be centered on both ends and center of the mouth, respectively. The reference points detected in the face portion can be used to determine a set of anchor positions. The identified face portion can be processed based on a set of anchor positions to generate a two-dimensional face image. For example, as illustrated, the reference points 312, 314, 316, 318, 320, and 322 may be used to scale the face portion 310 approximately to three anchor positions, rotate, and convert. To generate a new processed image as illustrated in FIG. 3B, the three anchor positions can be determined by solving for T i 2d : = (s i , R i , t i ). Here, the point j = 1. . For n, x j anchor : = s i [R i | t i ] * x j source . FIG. 3B illustrates a two-dimensional face image 302. The 2D face image 302 may be an aligned face crop generated by an aggregated transformation based on the 2D image 301. Multiple iterations are performed to determine the anchor position until there is no substantial change, thereby generating a two-dimensional face image 302 based on the detected face portion 310. Final two-dimensional similarity transformation T 2d : = T J 2d *. . . * T K 2d may be configured.

図4は、本開示の実施形態に係る、図1(例えば、顔分類モジュール106)に示されるような、例示的な顔分類モジュール402を例示する。例示的な顔分類モジュール402は、画像412のIDを分類し得る。分類されるべき画像は、少なくとも1つのデータ・ストア410(例えば、図1における画像ストア110)から取得され得る。分類された画像は、データ・ストア410内に記憶され得る。図4は、図5に関連して議論される。   FIG. 4 illustrates an exemplary face classification module 402, as shown in FIG. 1 (eg, face classification module 106), according to an embodiment of the present disclosure. The exemplary face classification module 402 may classify the ID of the image 412. Images to be classified may be obtained from at least one data store 410 (eg, image store 110 in FIG. 1). The classified images can be stored in the data store 410. FIG. 4 is discussed in connection with FIG.

顔分類モジュール402は、フィルタ生成モジュール404と、特徴ベクトル生成モジュール406と、表現カテゴリ化モジュール408とを備え得る。顔分類モジュール402は、画像のID(例えば、顔表現)をDNNから得るように構成され得る。フィルタ生成モジュール404は、データセットを用いてDNNをトレーニングすることによって、フィルタのセットを生成するように構成され得る。様々な実施形態において、データセットは、大量の写真を含み得る。写真のうちの一部が識別され(例えば、IDを用いてラベル付けされ、またはタグ付けされ)得る。各フィルタは、画像の特徴(例えば、顔の特徴)を抽出するように構成され得る。特徴ベクトル生成モジュール406は、画像の特徴ベクトルを生成するように構成され得る。特徴ベクトルは、画像の様々な特徴を含み、画像を表現するために使用され得る。画像の特徴ベクトルは、フィルタ生成モジュール404によって提供されるフィルタのセットに基づいて生成され得る。表現カテゴリ化モジュール408は、画像の特徴ベクトルに基づいて、画像をカテゴリ化し得る。   The face classification module 402 may include a filter generation module 404, a feature vector generation module 406, and an expression categorization module 408. The face classification module 402 may be configured to obtain an image ID (eg, facial expression) from the DNN. The filter generation module 404 may be configured to generate a set of filters by training the DNN with the data set. In various embodiments, the data set may include a large number of photos. A portion of the photo may be identified (eg, labeled or tagged with an ID). Each filter may be configured to extract image features (eg, facial features). The feature vector generation module 406 may be configured to generate a feature vector for the image. The feature vector includes various features of the image and can be used to represent the image. An image feature vector may be generated based on the set of filters provided by the filter generation module 404. The representation categorization module 408 may categorize the images based on the image feature vectors.

様々な実施形態において、DNNは層のセットを備え、層のセットは、畳み込みプーリング層と、局所的結合層と、全結合層とを含む。畳み込みプーリング層は、画像の特徴のセットを抽出するように構成され得る。局所的結合層は、画像の特徴の別のセットを抽出するように構成され得る。全結合層は、画像の特徴間の相関を決定するように構成され得る。いくつかの実施形態において、DNNの全体的なアーキテクチャは、局所的結合層のセットが後に続く、畳み込みプーリング層を含み、局所的結合層のセットの後には、全結合層が続く。DNNは、少なくとも選択された数(例えば、1億2千万個)のパラメータ(例えば、接続重み)を備え得る。様々な実施形態において、DNNは、図3Gに例示される3次元アライメントされた顔画像307などの、3次元アライメントされた顔画像を入力として受信するように構成される。   In various embodiments, the DNN comprises a set of layers, the set of layers including a convolutional pooling layer, a local tie layer, and a full tie layer. The convolution pooling layer may be configured to extract a set of image features. The local coupling layer may be configured to extract another set of image features. The fully connected layer may be configured to determine a correlation between image features. In some embodiments, the overall architecture of the DNN includes a convolutional pooling layer followed by a set of local coupling layers, followed by a full coupling layer. The DNN may comprise at least a selected number (eg, 120 million) of parameters (eg, connection weights). In various embodiments, the DNN is configured to receive as input a 3D aligned face image, such as the 3D aligned face image 307 illustrated in FIG. 3G.

様々な実施形態において、DNNは、ReLU活性化関数max(0,x)を使用する。このソフトしきい値非線形性(soft−thresholding non−linearity)は、DNNの最後の全結合層を除いて、畳み込み層、局所的結合層、また
は全結合層の後に適用され得る。そのため、高度に非線形で、かつ、疎な特徴が生み出され得る。したがって、顔分類モジュール402によって生み出される特徴は、非常に疎となり得る。いくつかの実施形態において、平均して、最上位の層における特徴成分の75%は、ちょうどゼロである。さらなる実施形態において、トレーニング中に無作為の特徴成分を0に設定する正則化方法(例えば、ドロップアウト)が適用され得る。いくつかの実施形態において、正則化方法は、最初の全結合層のみに対して適用され得る。ReLU活性化の使用は、顔分類モジュール402が画像強度の調整に対して不変とならないことを可能にする。DNNにおけるバイアスがなければ、完全な同変性(equivariance)、または、ほぼ完全な同変性が達成され得る。
In various embodiments, DNN uses the ReLU activation function max (0, x). This soft-thresholding non-linearity can be applied after the convolutional layer, the local coupling layer, or the total coupling layer, except for the last total coupling layer of the DNN. Thus, highly nonlinear and sparse features can be created. Thus, the features produced by the face classification module 402 can be very sparse. In some embodiments, on average, 75% of the feature components in the top layer are just zero. In further embodiments, a regularization method (eg, dropout) that sets random feature components to 0 during training may be applied. In some embodiments, the regularization method may be applied only to the first fully connected layer. The use of ReLU activation allows the face classification module 402 to remain invariant to image intensity adjustment. Without bias in DNN, complete equivalence, or almost complete homogeneity can be achieved.

いくつかの実施形態において、顔分類モジュール402は、特徴がゼロと1との間になるように正規化するように構成され得る。顔分類モジュール402は、L正規化を実行するようにさらに構成され得る。そのため、後続の学習が改善され得る。特徴ベクトルの各成分は、その最大値によって、トレーニング・セット全体にわたって除算され得る。いくつかの実施形態において、小さい数による除算を回避するために、正規化係数は、所定の値(例えば、0.05)を上限に定められる。最大数が所定の値(例えば、0.05)よりも小さい場合、特徴は正規化されない。そのような正規化は、顔分類モジュール402が照明変化に対してロバストであることを確保し得る。 In some embodiments, the face classification module 402 may be configured to normalize features to be between zero and one. Face classification module 402 may be further configured to perform the L 2 normalized. Therefore, subsequent learning can be improved. Each component of the feature vector can be divided by its maximum value over the entire training set. In some embodiments, the normalization factor is capped at a predetermined value (eg, 0.05) to avoid division by a small number. If the maximum number is less than a predetermined value (eg, 0.05), the features are not normalized. Such normalization may ensure that the face classification module 402 is robust to lighting changes.

様々な実施形態において、入力された3次元アライメントされた顔画像は、DNNの畳み込みプーリング層へ提供され得る。畳み込みプーリング層は、第1の畳み込み層(C1)と、最大プーリング層(M2)と、第2の畳み込み層(C3)とを備え得る。各畳み込み層は、フィルタのセットを備えるように構成され得る。フィルタの各々は、特徴マップを生成するように構成される。最大プーリング層は、小さい登録誤差に対して、DNNをよりロバストにし得る。しかしながら、いくつかのレベルのプーリングは、ネットワークに対して、詳細な顔構造およびマイクロ・テクスチャの正確な位置に関する情報を失わせ得る。そのため、様々な実施形態において、最大プーリングは、第1の畳み込み層のみに対して適用され得る。つまり、第1の畳み込み層の後にのみ、最大プーリング層が続く。畳み込みプーリング層は、画像の低レベルの特徴(例えば、単純なエッジおよびテクスチャ)を抽出するように構成される。畳み込みプーリング層は、入力画像を適応的に前処理し、その入力画像を単純な局所的特徴のセットへ拡張する。   In various embodiments, the input 3D aligned face image may be provided to the DNN convolution pooling layer. The convolution pooling layer may comprise a first convolution layer (C1), a maximum pooling layer (M2), and a second convolution layer (C3). Each convolution layer may be configured with a set of filters. Each of the filters is configured to generate a feature map. The maximum pooling layer can make DNN more robust to small registration errors. However, some levels of pooling can cause the network to lose information about the detailed facial structure and the exact location of the micro-texture. Thus, in various embodiments, maximum pooling can be applied only to the first convolution layer. That is, the maximum pooling layer follows only after the first convolution layer. The convolution pooling layer is configured to extract low-level features of the image (eg, simple edges and textures). The convolution pooling layer adaptively preprocesses the input image and extends it to a simple set of local features.

図5は、本開示の実施形態に係る、例示的なDNNの例示的なアーキテクチャ500を例示する。3次元アライメントされた顔画像524(RGPコピー524a〜524cを含む)は、入力としてDNN500へ提供される。例示される例において、DNN500は、画素のRGB値に基づいて、3次元アライメントされた顔画像514のIDを分類し得る。画像524の局所的な顔の特徴は、畳み込みプーリング層502および局所的結合層のセット510によって抽出され得る。画像524の局所的な顔の特徴間の相関は、全結合層のセット518によって決定され得る。例示される例において、全結合層F7 520の出力は、画像524の特徴ベクトルとして使用され得る。   FIG. 5 illustrates an example architecture 500 of an example DNN, according to an embodiment of the present disclosure. The three-dimensionally aligned face image 524 (including RGP copies 524a-524c) is provided to DNN 500 as input. In the illustrated example, the DNN 500 may classify the ID of the three-dimensionally aligned face image 514 based on the RGB values of the pixels. Local facial features of image 524 may be extracted by convolution pooling layer 502 and local coupling layer set 510. The correlation between local facial features of the image 524 may be determined by the set of all connected layers 518. In the illustrated example, the output of all connected layers F7 520 may be used as the feature vector of image 524.

例示されるように、例示的な畳み込みプーリング層502は、畳み込み層C1 504と、最大プーリング層M2 506と、畳み込み層C3 508とを備える。畳み込み層は、フィルタのセット(例えば、32個のフィルタ)を有するように構成され得る。1つの実施形態において、選択された数のフィルタの各フィルタは、11x11x3の大きさであり得る。畳み込み層C1によって生成された特徴マップのセットは、最大プーリング層M2へ提供され得る。各チャネルについて、最大プーリング層M2は、3x3の空間近傍に対して、ストライド2で最大値を取るように構成され得る。第2の畳み込み層C3は、最大プーリング層M2の出力に対して適用され得る。畳み込み層C3は、フィルタのセット(例えば、16個のフィルタ)を有するように構成され得る。一実施形態において、
選択された数のフィルタの各フィルタは、9x9x16の大きさであり得る。
As illustrated, the exemplary convolution pooling layer 502 comprises a convolution layer C1 504, a maximum pooling layer M2 506, and a convolution layer C3 508. The convolution layer may be configured to have a set of filters (eg, 32 filters). In one embodiment, each filter of the selected number of filters may be 11x11x3 in size. The set of feature maps generated by the convolution layer C1 can be provided to the maximum pooling layer M2. For each channel, the maximum pooling layer M2 may be configured to take a maximum value at stride 2 for a 3 × 3 space neighborhood. The second convolution layer C3 can be applied to the output of the maximum pooling layer M2. The convolutional layer C3 may be configured to have a set of filters (eg, 16 filters). In one embodiment,
Each filter of the selected number of filters may be 9x9x16 in size.

畳み込みプーリング層によって生成された画像の特徴(例えば、局所的な顔の特徴)は、局所的結合層のセットへ提供され得る。局所的結合層のセットは、重み共有をせず、局所的結合層の各出力は、入力の非常に大きなパッチによって影響を受け得る。そのため、局所的結合層の使用は、特徴抽出の計算負荷に対しては影響を及ぼさないかもしれないが、トレーニングを受けるパラメータの数に対しては影響を及ぼし得る。各局所的結合層は、入力画像から特徴のセットを抽出するように構成され得る。画像の同じ位置について、異なる特徴が、局所的結合層および畳み込み層によって抽出され得る。つまり、特徴マップ内のあらゆる位置におけるフィルタのセットは、DNNの局所的結合層によって学習され、このフィルタのセットは、畳み込み層によって学習されるフィルタのセットとは異なる。局所的結合層は、畳み込みの空間的定常性の仮定を置かない。なぜならば、アライメントされた画像の異なる領域は、異なる局所的統計値を有し得るためである。例えば、両目と両眉毛との間のエリアは、大きく異なる外観を提示し、鼻と口との間のエリアと比較して、かなり高い識別能を有する。   Image features (eg, local facial features) generated by the convolutional pooling layer may be provided to a set of local coupling layers. The set of local coupling layers does not share weights, and each output of the local coupling layer can be affected by very large patches of input. Thus, the use of a local coupling layer may not affect the computational load of feature extraction, but may affect the number of parameters that are trained. Each local coupling layer may be configured to extract a set of features from the input image. Different features can be extracted by the local combined layer and the convolutional layer for the same location of the image. That is, the set of filters at every location in the feature map is learned by the DNN local coupling layer, which is different from the set of filters learned by the convolutional layer. The local coupling layer does not make the assumption of spatial stationarity of convolution. This is because different regions of the aligned image can have different local statistics. For example, the area between both eyes and both eyebrows presents a very different appearance and has a much higher discriminating power compared to the area between the nose and mouth.

図5をまた参照すると、例示されるように、局所的結合層の例示的なセット510は、第1の局所的結合層L4 512と、第2の局所的結合層L5 514と、第3の局所的結合層L6 516とを備える。例示される例示的なDNN500に対する、入力画像の特徴マップ内のあらゆる位置において、局所的結合層L4 512、L5 514、またはL6 516は、畳み込み層C1 504またはC3 508によって適用されるセットからのフィルタの異なるセットを適用し得る。局所的結合層L4 512、L5 514、またはL6 516の各出力ユニットは、入力の非常に大きなパッチによって影響を及ぼされ得る。例えば、例示されるように、局所的結合層L6 516の出力は、入力画像524の74x74x3のパッチによって影響を与えられ得る。入力画像524はアライメントされているため、そのようなパッチ間には、ほとんどいかなる統計共有も存在しない。   Referring also to FIG. 5, as illustrated, an exemplary set 510 of local tie layers includes a first local tie layer L4 512, a second local tie layer L5 514, and a third A local coupling layer L6 516. At every position in the input image feature map for the exemplary DNN 500 illustrated, the local coupling layer L4 512, L5 514, or L6 516 is a filter from the set applied by the convolutional layer C1 504 or C3 508. Different sets of can be applied. Each output unit of the local coupling layer L4 512, L5 514, or L6 516 may be affected by a very large patch of input. For example, as illustrated, the output of the local coupling layer L6 516 may be influenced by a 74x74x3 patch of the input image 524. Since the input image 524 is aligned, there is almost no statistical sharing between such patches.

畳み込みプーリング層と局所的結合層のセットとによって生成された画像の局所的な顔の特徴は、全結合層のセットへ提供され得る。全結合層のセットは、畳み込みプーリング層と局所的結合層のセットとによって生成された画像の局所的な顔の特徴間の相関を決定するように構成され得る。つまり、全結合層のセットは、顔画像の離れた部分において抽出された局所的な顔の特徴(例えば、両目の位置および形状、口の位置および形状)間の相関を決定するように構成される。全結合層の各出力は、全結合層の全ての入力に対して接続され得る。   The local facial features of the image generated by the convolution pooling layer and the set of local coupling layers can be provided to the set of all coupling layers. The set of fully connected layers may be configured to determine a correlation between local facial features of the image generated by the convolutional pooling layer and the set of locally connected layers. That is, the set of all connected layers is configured to determine the correlation between local facial features (eg, eye position and shape, mouth position and shape) extracted in distant parts of the face image. The Each output of the total coupling layer can be connected to all inputs of the total coupling layer.

図4を参照すると、いくつかの実施形態において、特徴ベクトル生成モジュール406は、全結合層の出力を画像410の特徴ベクトルとして使用するように構成され得る。表現カテゴリ化モジュール408は、特徴ベクトルに基づいて、画像をクラスへカテゴリ化するように構成され得る。いくつかの実施形態において、DNNの出力(例えば、最後の全結合層の出力)は、K方向ソフトマックス(K−way softmax)へ提供され得る。ここで、Kは、クラスの数である。K方向ソフトマックスは、クラス・ラベルにわたる分散を生み出すように構成され得る。i番目のクラスに対して割り当てられる確率は、ソフトマックス関数p=exp(o)/Σexp(o)の出力であり、ここで、oは、所与の出力についてのネットワークのi番目の出力を表す。表現カテゴリ化モジュール408は、2次元顔画像が所属する個人を識別するように構成され得る。画像ストア410は、2次元顔画像のID(例えば、顔表現、特徴ベクトル)を用いて問い合わせをされ得る。 Referring to FIG. 4, in some embodiments, feature vector generation module 406 may be configured to use the output of all connected layers as the feature vector of image 410. The expression categorization module 408 may be configured to categorize images into classes based on feature vectors. In some embodiments, the output of the DNN (e.g., the output of the last full coupling layer) may be provided to a K-way softmax. Here, K is the number of classes. The K-direction softmax can be configured to produce a variance across class labels. The probability assigned to the i th class is the output of the softmax function p i = exp (o i ) / Σ j exp (o j ), where o i is the network for a given output Represents the i-th output of. The expression categorization module 408 can be configured to identify the individual to which the two-dimensional face image belongs. The image store 410 can be queried using the ID (eg, facial expression, feature vector) of the two-dimensional face image.

様々な実施形態において、DNNをトレーニングする場合、正確なクラス(例えば、顔
ID)の確率が最大化される。各トレーニング・サンプルについての交差エントロピー損失は、正確なクラスの確率を最大化するために、最小化され得る。所与の入力についての交差エントロピー損失は、L=−logpであり、ここで、kは、所与の入力についての真のラベルのインデックスである。パラメータに対するLの勾配を計算することによって、および、確率的勾配降下法(SGD:stochastic gradient descent)を使用してパラメータを更新することによって、損失は、パラメータにわたって最小化され得る。いくつかの実施形態において、勾配は、誤差の標準的な逆伝搬によって決定され得る。
In various embodiments, when training a DNN, the probability of the correct class (eg, face ID) is maximized. The cross entropy loss for each training sample can be minimized to maximize the probability of the correct class. The cross entropy loss for a given input is L = −logp k , where k is the true label index for the given input. By calculating the slope of L for the parameter and by updating the parameter using a stochastic gradient descendant (SGD), the loss can be minimized across the parameter. In some embodiments, the slope may be determined by standard back propagation of errors.

DNN500のアーキテクチャは、入力画像がアライメントされているという事実を活用することによってカスタマイズされ得る。例示的なDNN500は、様々な顔の特徴を検出するために、および/または、(上記でより詳細に説明されるように)画像の特徴ベクトルを生成するために、様々な顔の特徴に対応する異なるフィルタを学習するように構成され得る。図5に例示されるように、例示的なDNN500は、畳み込みプーリング層502と、局所的結合層のセット510と、全結合層のセット518とを備える、9層のDNNである。畳み込みプーリング層502は、畳み込み層C1 504と、最大プーリング層M2 506と、畳み込み層C3 508とを備え得る。局所的結合層のセット510は、局所的結合層L4〜L6 512、514、および516を備え得、全結合層のセット518は、全結合層F7〜F8 520および522を備え得る。全結合層F7 520またはF8 522の各出力ユニットは、全ての入力に対して接続され得る。   The architecture of DNN 500 can be customized by taking advantage of the fact that the input images are aligned. The exemplary DNN 500 supports various facial features to detect various facial features and / or generate image feature vectors (as described in more detail above). Can be configured to learn different filters. As illustrated in FIG. 5, the exemplary DNN 500 is a nine-layer DNN comprising a convolutional pooling layer 502, a set of local coupling layers 510, and a set of all coupling layers 518. The convolution pooling layer 502 may comprise a convolution layer C1 504, a maximum pooling layer M2 506, and a convolution layer C3 508. The set of local tie layers 510 can comprise local tie layers L4-L6 512, 514, and 516, and the set of all tie layers 518 can comprise all tie layers F7-F8 520 and 522. Each output unit of all coupling layers F7 520 or F8 522 may be connected to all inputs.

図6は、本開示の実施形態に係る、2次元顔画像についての顔表現を生成する例示的な方法を例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序で実行され、または、並行して実行される、追加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック602において、3次元アライメントされた顔画像は、2次元顔画像に基づいて生成される。3次元アライメントされた顔画像は、3次元モデルに基づく2次元顔画像のアフィン変換を適用することによって作成され得る。3次元モデルは、明確な3次元顔モデリングであり得る。ブロック604において、2次元顔画像のIDは、3次元アライメントされた顔画像をDNNへ提供することによって分類され得る。2次元顔画像の顔表現(例えば、特徴ベクトル)は、2次元顔画像に対応する3次元アライメントされた顔画像を使用することによって生成され得る。いくつかの実施形態において、DNNは、9個の層を備え得る。DNNは、例えば、重み共有なしに複数の局所的結合層を使用する1億2千万個を超えるパラメータに関与し得る。より詳細な議論および例は、図1〜図5を参照しつつ、上記に提供されている。   FIG. 6 illustrates an exemplary method for generating a facial representation for a two-dimensional facial image according to an embodiment of the present disclosure. Unless otherwise stated, within the scope of the various embodiments, there are additional steps, fewer steps, or alternative steps that are performed in a similar or alternative order, or performed in parallel. It should be recognized that it can exist. At block 602, a three-dimensionally aligned face image is generated based on the two-dimensional face image. A 3D aligned face image can be created by applying an affine transformation of a 2D face image based on a 3D model. The 3D model can be a clear 3D face modeling. In block 604, the ID of the 2D face image may be classified by providing the 3D aligned face image to the DNN. A facial representation (eg, a feature vector) of a two-dimensional facial image can be generated by using a three-dimensionally aligned facial image that corresponds to the two-dimensional facial image. In some embodiments, the DNN may comprise nine layers. A DNN may be involved, for example, in over 120 million parameters using multiple local coupling layers without weight sharing. More detailed discussion and examples are provided above with reference to FIGS.

図7は、本開示の実施形態に係る、2次元顔画像についての顔表現を生成する例示的な方法を例示する。特に明記されない限り、様々な実施形態の範囲内で、同様の順序もしくは代替的な順序で実行され、または、並行して実行される、追加的な工程、より少ない工程、または代替的な工程が存在し得ることが認識されるべきである。ブロック702において、2次元画像内の顔部分は、その2次元画像上の基準点のセットを検出することによって識別される。基準点は、画像記述子から点構成を予測するようにトレーニングされたSVRによって検出され得る。ブロック704において、2次元顔画像は、ブロック702において検出された基準点に基づいて、2次元画像の顔部分を変換することによって生成され得る。2次元顔画像は、2次元画像のアライメントされたクロップであり得、アグリゲートされた変換によって生成され得る。2次元類似性変換が最終的に構成される場合、実質的な変化が存在しなくなるまで、基準点は、2次元画像の顔部分を拡大縮小し、回転させ、転換し、新たな加工された画像上で反復するために使用され得る。   FIG. 7 illustrates an exemplary method for generating a facial representation for a two-dimensional facial image, according to an embodiment of the present disclosure. Unless otherwise stated, within the scope of the various embodiments, there are additional steps, fewer steps, or alternative steps that are performed in a similar or alternative order, or performed in parallel. It should be recognized that it can exist. At block 702, a face portion in the two-dimensional image is identified by detecting a set of reference points on the two-dimensional image. The reference point can be detected by an SVR trained to predict the point configuration from the image descriptor. In block 704, a two-dimensional face image may be generated by transforming the face portion of the two-dimensional image based on the reference points detected in block 702. A two-dimensional face image can be an aligned crop of a two-dimensional image and can be generated by an aggregated transform. When the 2D similarity transformation is finally configured, the reference points are scaled, rotated, transformed, and reprocessed until no substantial change exists, the face portion of the 2D image Can be used to iterate over the image.

ブロック706において、基準点の異なるセットが、2次元顔画像において検出され得
る。基準点は、ブロック702において使用されたSVRとは異なるSVRを使用することによって局所化され得る。ブロック708において、2次元顔画像は、ブロック706において検出された基準点を使用することによって3次元形状へ加工されて、3次元アライメントされた顔画像が生成され得る。3次元形状は、一般的な3次元モデルであり得る。3次元アフィン・カメラが登録されてもよく、3次元アフィン・カメラは、2次元顔画像の正面顔平面を3次元形状の結像面へ逆投影するために登録および使用され、それによって、3次元アライメントされた顔画像を生成する。ブロック710において、2次元顔画像のIDは、3次元アライメントされた顔画像をディープ・ニューラル・ネットワーク(「DNN」)へ提供することによって分類され得る。より詳細な議論および例は、図1〜図5を参照しつつ、上記に提供されている。
At block 706, a different set of reference points may be detected in the two-dimensional face image. The reference point may be localized by using a SVR that is different from the SVR used in block 702. In block 708, the two-dimensional face image may be processed into a three-dimensional shape by using the reference points detected in block 706 to generate a three-dimensionally aligned face image. The three-dimensional shape can be a general three-dimensional model. A three-dimensional affine camera may be registered, and the three-dimensional affine camera is registered and used to backproject the front face plane of the two-dimensional face image onto a three-dimensional shaped imaging plane, thereby A dimensionally aligned face image is generated. At block 710, the ID of the 2D face image may be classified by providing the 3D aligned face image to a deep neural network (“DNN”). More detailed discussion and examples are provided above with reference to FIGS.

様々な実施形態において、DNNは、ソーシャル・フェイス・クラシフィケーション(「SFC(Social Face Classification)」)・データセットと称される大量の写真から顔表現を学習するように構成される。表現は、LFWデータベースおよびYouTube(登録商標)フェイス(「YTF(YoutTube Faces)」)に対して適用され得る。LFWデータベースは、非制約環境における顔確認のための事実上のベンチマーク・データセットとして使用され得る。YTFデータセットは、LFWと同様にモデリングされ得るが、ビデオ・クリップに注目する。SFC内の顔IDは、人間によってラベル付けされており、典型的には、約3%の誤りを含む。ソーシャル・フェイス・フォトは、スマートフォンではなく、専門的な写真家によって通常は撮影される、LFWおよびYTF内の有名人のウェブ画像よりも、画像品質、照明、および表情において、より大きいバリエーションを有する。   In various embodiments, the DNN is configured to learn facial expressions from a large number of photos, referred to as social face classification ("SFC") data sets. The representation may be applied to the LFW database and Youtube (R) face ("YTF"). The LFW database can be used as a de facto benchmark data set for face recognition in an unconstrained environment. YTF datasets can be modeled in the same way as LFW, but focus on video clips. Face IDs in the SFC are labeled by humans and typically contain about 3% errors. Social face photos have greater variations in image quality, lighting, and facial expression than celebrity web images in LFW and YTF, which are usually taken by professional photographers rather than smartphones.

ここで使用されるようなSFCデータセットは、4,030名の人々からの440万個のラベル付けされた顔を含む。各個人は、800個から1200個の顔の画像を有し得る。各IDの顔画像の最新の5%は、省略され得る。ここで使用されるようなLFWデータセットは、5,749名の有名人の13,323個のウェブ写真から成り、これらは、10分割された6,000個の顔ペアに分けられる。性能は、「同じ」ラベルおよび「同じではない」ラベルのみがトレーニングにおいて利用可能である、制限されたプロトコル、または、トレーニング対象のIDもトレーニングにおいてアクセス可能である、制限されていないプロトコルを使用して、平均認識確度によって測定される。また、「監視無し」プロトコルは、このデータセットに対するトレーニングなしで、LFW上での性能を測定し得る。   The SFC data set as used here contains 4.4 million labeled faces from 4,030 people. Each individual may have 800 to 1200 facial images. The latest 5% of the face image of each ID can be omitted. The LFW data set as used here consists of 13,323 web photos of 5,749 celebrities, which are divided into 6,000 face pairs divided into 10 parts. The performance uses a limited protocol where only the “same” and “not the same” labels are available in training, or an unrestricted protocol where the training target ID is also accessible in training. Measured by average recognition accuracy. Also, the “no monitoring” protocol may measure performance on the LFW without training for this data set.

ここで使用されるようなYTFデータセットは、LFW内の有名人のサブセットであり得る、1,595個のテーマの3,425個のYouTube(登録商標)ビデオを収集する。これらのビデオは、5,000個のビデオ・ペアに分けられ、10分割され、ビデオ・レベル顔確認を評価するために使用され得る。   A YTF data set as used here collects 3,595 Youtube® videos of 1,595 themes, which may be a subset of celebrities in the LFW. These videos are divided into 5,000 video pairs, divided into 10 and can be used to evaluate video level face recognition.

DNNは、(0.9に設定された)モメンタムを用いる確率的勾配降下法(SGD)により、フィード・フォワード・ネットに対して標準的な誤差逆伝搬を実装することによって、SFC上でトレーニングされ得る。ミニ・バッチ・サイズは、128であり、全ての学習層について、等しい学習率0.01が確保される。学習率は、最終的な率0.00001まで手動で減少され得る。いったん確認誤りが減少しなくなると、毎回、学習率は、1桁ずつ低減され得る。各層における重みは、o=0.01とし、バイアスを0.5に設定した、平均ゼロのガウス分布から初期化され得る。ネットワークは、データ全体にわたるおおよそ15回のスイープ(エポック)の間、トレーニングされ得る。   DNN is trained on SFC by implementing standard error backpropagation for feed forward nets by stochastic gradient descent (SGD) with momentum (set to 0.9). obtain. The mini batch size is 128, and an equal learning rate of 0.01 is ensured for all learning layers. The learning rate can be manually reduced to a final rate of 0.00001. Once confirmation errors no longer decrease, the learning rate can be reduced by an order of magnitude each time. The weights in each layer can be initialized from a mean zero Gaussian distribution with o = 0.01 and bias set to 0.5. The network can be trained for approximately 15 sweeps (epochs) throughout the data.

表1は、トレーニング・データセット・サイズおよびネットワーク深さに関する、SFC上での実施形態の分類誤りを例示する。トレーニングおよびテスト・データセット・サ
イズは、SFCにおける個人のサブセットを使用して変更された。150万個、330万個、および440万個の顔を備えるSFCについて、それぞれ1500人、3000人、および4000人の個人のサイズのサブセットが使用された。複数のDNN(例えば、DeepFace−150万、DeepFace−330万、およびDeepFace−440万)がトレーニングされた。例示されるように、大規模な顔データセットおよびディープ・アーキテクチャは、誤り率を低減する。分類誤りは、1500人の人物についての7.0%から3000人の人物を分類する場合の7.2%へと緩やかに上昇するにすぎない。これは、ネットワークの容量が3百万個のトレーニング画像の規模に対して十分に対応することができることを示す。誤り率は、440万個の画像を有する4000人の人物についての8.7%に上昇しており、ネットワークが、より多くの個人に対して無理なく拡大縮小することを示す。
Table 1 illustrates the classification error of an embodiment on the SFC with respect to training dataset size and network depth. Training and test dataset sizes were changed using a subset of individuals in SFC. For SFCs with 1.5 million, 3.3 million, and 4.4 million faces, a subset of the size of 1500, 3000, and 4000 individuals, respectively, was used. Multiple DNNs were trained (e.g., DeepFace-1.5 million, DeepFace-3.3 million, and DeepFace-4.4 million). As illustrated, large face data sets and deep architectures reduce error rates. The classification error only rises moderately from 7.0% for 1500 people to 7.2% when 3,000 people are classified. This indicates that the capacity of the network can sufficiently cope with the scale of 3 million training images. The error rate has risen to 8.7% for 4000 people with 4.4 million images, indicating that the network scales reasonably to more individuals.

ネットワークの深さは、図5に例示されるアーキテクチャから、1つまたは複数の層を除去することによって変更される。例えば、畳み込み層(例えば、C3)がDNN DeepFace−sub1から除去され、局所的結合層のセット(例えば、L4およびL5)がDNN DeepFace−sub2から除去され、畳み込み層(例えば、C3)ならびに複数の局所的結合層(例えば、L4およびL5)がDNN DeepFace−sub3から除去される。DNNは、440万個の顔を用いてトレーニングされる。分類誤りは、数回のエポック後に減少しなくなり、ディープ・ネットワークDeepFace−440万のレベルよりも高いレベルにとどまる。 The depth of the network is changed by removing one or more layers from the architecture illustrated in FIG. For example, the convolution layer (eg, C3) is removed from DNN DeepFace-sub1, the set of local coupling layers (eg, L4 and L5) is removed from DNN DeepFace-sub2, and the convolutional layer (eg, C3) and multiple The local tie layer (eg, L4 and L5) is removed from DNN DeepFace-sub3. DNN is trained with 4.4 million faces. Classification errors no longer decrease after several epochs and remain at a level higher than that of the deep network DeepFace-44.4 million.

図8Aおよび表2は、LFWデータセットに対する、他の方法と比較した、いくつかの実施形態の受信者動作特性(「ROC」)曲線および確認確度を例示する。曲線802、804、806、808、810、812、および814は、それぞれ、人間による確認、アンサンブル確認(例えば、DeepFace−ensemble)を用いた実施形態、SFCデータセット上の3次元アライメントされた顔におけるraw RGB画素から学習されたDNNを備える実施形態(例えば、Deepface−single)、TL結合ベイジアン(TL joint Bayesian)、高次元LBP、トム対ピート(Tom−vs−Pete)、および複結合ベイジアン(combined joint
Bayesian)に対応する。DeepFace−ensembleは、3次元アライメントされたRGB入力、中間調画像および画像勾配の大きさと向き、ならびに2次元アライメントされたRGB画像を含む、異なるタイプの入力をDNNに対して供給することによってトレーニングされた複数のネットワークの距離を組み合わせる。距離は、指数の単純和CDF−kernels:KCombined:=Ksingle+Kgradient+Kalign2dと共に(C=1である)非線形SVMを使用して組み合わされる。ここで、K(x,y):=−||x−y||である。
FIG. 8A and Table 2 illustrate the receiver operating characteristic (“ROC”) curve and confirmation accuracy of some embodiments compared to other methods for the LFW data set. Curves 802, 804, 806, 808, 810, 812, and 814 are respectively in an embodiment using human confirmation, ensemble confirmation (eg, DeepFace-ensemble), in a 3D aligned face on an SFC data set Embodiments with DNNs learned from raw RGB pixels (eg, Deepface-single), TL joint Bayesian, high dimensional LBP, Tom-vs-Pete, and double coupled Bayesian (combined) joint
Bayesian). DeepFace-ensemble is trained by supplying different types of input to DNN, including 3D aligned RGB input, halftone image and image gradient magnitude and orientation, and 2D aligned RGB image. Combine multiple network distances. The distances are combined using a non-linear SVM (C = 1) with a simple sum of exponents CDF-kernels: K Combined : = K single + K gradient + K align 2d . Here, K (x, y): = − || xy− | 2 .

監視無しプロトコルは、正規化された特徴のペアの内積を直接比較するために観察される。制限付きプロトコルは、SVMトレーニングのために分割ごとに5,400ペアのラベルを使用する。制限無しプロトコルは、トレーニング・セット内のIDに関する知識を運営者に対して提供するため、トレーニング・セットに対して追加されるべき、さらに多くのトレーニング・ペアの生成を可能にする。図8Aおよび表2に例示されるように、本明細書において説明される実施形態は、他の方法を前進させ、顔確認において人間性能に密接に近づく。 The unsupervised protocol is observed to directly compare the dot product of normalized feature pairs. The restricted protocol uses 5,400 pairs of labels per partition for SVM training. The unrestricted protocol allows the creation of more training pairs to be added to the training set to provide the operator with knowledge about the IDs in the training set. As illustrated in FIG. 8A and Table 2, the embodiments described herein advance other methods and closely approach human performance in face recognition.

図8Bおよび表3は、YTFデータセットに対する、他の方法と比較した、いくつかの実施形態の受信者動作特性(「ROC」)曲線および確認確度を例示する。曲線852、854、856、858、860、862は、それぞれ、SFCデータセットに対する3次元アライメントされた顔におけるraw RGB画素から学習されたDNNを備える実施形態(例えば、DeepFace−single)、VSOF+OSS、STFRD+PMML、APEM+FUSION、MBGS(平均)LBP、およびMBGS(平均)FPLBPに対応する。   FIG. 8B and Table 3 illustrate the receiver operating characteristic (“ROC”) curve and confirmation accuracy of some embodiments compared to other methods for a YTF data set. Curves 852, 854, 856, 858, 860, 862 are embodiments with DNNs learned from raw RGB pixels in a three-dimensionally aligned face against the SFC dataset, respectively (eg DeepFace-single), VSOF + OSS, STFRD + PMML. , APEM + FUSION, MBGS (average) LBP, and MBGS (average) FPLBP.

YouTube(登録商標)ビデオ・フレームの画像品質は、主に被写体ブレまたは視聴距離に起因して、ウェブ写真の画像品質よりも一般的に低い。トレーニング・ビデオのあらゆるペアについて、各ビデオから1つを取り出すことによってフレームの五十(50)個のペアが作成され、これらは、ビデオ・トレーニング・ペアに従って、同じものとして、または同じではないものとしてラベル付けされる。重み付けされたχモデルが学習される。テスト・ペアが与えられると、フレームの百(100)個の無作為のペアが、各ビデオから1つをサンプリングすることによってサンプリングされ、学習された重み付けされた類似性の平均値を使用する。 The image quality of YouTube® video frames is generally lower than that of web photos, mainly due to subject blurring or viewing distance. For every pair of training videos, one is taken from each video to create fifty (50) pairs of frames, which are the same or not the same according to the video training pair Labeled as A weighted χ 2 model is learned. Given a test pair, one hundred (100) random pairs of frames are sampled by sampling one from each video and use the learned weighted similarity average.

例示されるように、本明細書において説明される実施形態は、91.4%の確度を提供し、過去の最良の方法の誤りを50%を超えて低減する。確度は、YTFデータセット内のビデオ・ペアについての100個の誤ったラベルを訂正した後に92.5%まで改善され得る。   As illustrated, the embodiments described herein provide 91.4% accuracy and reduce past best method errors by over 50%. The accuracy can be improved to 92.5% after correcting 100 incorrect labels for video pairs in the YTF data set.

ソーシャル・ネットワーキング・システム − 例示的な実装
図9は、本開示の実施形態に係る、エンハンスト・ビデオ符号化のための様々な実施形態において利用され得る例示的なシステム900のネットワーク図を例示する。システム900は、1つまたは複数のユーザ・デバイス910と、1つまたは複数の外部システム920と、ソーシャル・ネットワーキング・システム930と、ネットワーク950とを含む。一実施形態において、上述される実施形態に関連して議論されるソーシャル・ネットワーキング・サービス、プロバイダ、および/またはシステムは、ソーシャル・ネットワーキング・システム930として実装され得る。例示の目的のために、図9によって示される、システム900の実施形態は、単一の外部システム920と、単一のユーザ・デバイス910とを含む。ただし、他の実施形態において、システム900は、より多くのユーザ・デバイス910、および/または、より多くの外部システム920を含んでもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム930は、ソーシャル・ネットワーク・プロバイダによって運営されるのに対して、外部システム920は、異なるエンティティによって運営され得るという点で、ソーシャル・ネットワーキング・システム930とは別個のものである。しかしながら、様々な実施形態において、ソーシャル・ネットワーキング・システム930および外部システム920は、共に動作して、ソーシャル・ネットワーキング・システム930のユーザ(またはメンバー)に対してソーシャル・ネットワーキング・サービスを提供する。この意味において、ソーシャル・ネットワーキング・システム930は、外部システム920などの他のシステムがインターネット上のユーザに対してソーシャル・ネットワーキング・サービスおよび機能性を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
Social Networking System-Exemplary Implementation FIG. 9 illustrates a network diagram of an exemplary system 900 that may be utilized in various embodiments for enhanced video encoding, according to embodiments of the present disclosure. System 900 includes one or more user devices 910, one or more external systems 920, a social networking system 930, and a network 950. In one embodiment, the social networking services, providers, and / or systems discussed in connection with the above-described embodiments may be implemented as a social networking system 930. For illustrative purposes, the embodiment of system 900 illustrated by FIG. 9 includes a single external system 920 and a single user device 910. However, in other embodiments, the system 900 may include more user devices 910 and / or more external systems 920. In certain embodiments, the social networking system 930 is operated by a social network provider, whereas the external system 920 can be operated by different entities, Are separate. However, in various embodiments, the social networking system 930 and the external system 920 work together to provide social networking services to users (or members) of the social networking system 930. In this sense, social networking system 930 provides a platform or backbone that other systems, such as external system 920, can use to provide social networking services and functionality to users on the Internet. .

ユーザ・デバイス910は、ユーザから入力を受け取り、ネットワーク950を通じてデータを送受信することができる1つまたは複数のコンピューティング・デバイスを備える。一実施形態において、ユーザ・デバイス910は、例えば、マイクロソフト・ウィンドウズ(登録商標)と互換性のあるオペレーティング・システム(OS)、Apple OS X、および/またはLinux(登録商標)ディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態において、ユーザ・デバイス910は、スマートフォン、タブレット、携帯情報端末(PDA:personal digital assistant)、携帯電話等などのコンピュータ機能性を有するデバイスであってもよい。ユーザ・デバイス910は、ネットワーク950を通じて通信するように構成される。ユーザ・デバイス910は、アプリケーション、例えば、ユーザ・デバイス910のユーザがソーシャル・ネットワーキング・システム930と相互作用することを可能にするブラウザ・アプリケーションを実行することができる。別の実施形態において、ユーザ・デバイス910は、iOSおよびANDROID(登録商標)などの、ユーザ・デバイス910のネイティブ・オペレーティング・システムによって提供されるアプリケーション・プログラミング・インターフェース(API)を通じてソーシャル・ネットワーキング・システム930を相互作用する。ユーザ・デバイス910は、ネットワーク950を通じて外部システム920およびソーシャル・ネットワーキング・システム930と通信するように構成される。ネットワーク950は、有線通信システムおよび/または無線通信システムを使用する、ローカル・エリア・ネットワークおよび/または広域ネットワークの任意の組み合わせを備え得る。   User device 910 comprises one or more computing devices that can receive input from a user and send and receive data over network 950. In one embodiment, the user device 910 is, for example, a conventional operating system (OS), Apple OS X, and / or Linux distribution that is compatible with Microsoft Windows. Computer system. In another embodiment, the user device 910 may be a device having computer functionality, such as a smartphone, a tablet, a personal digital assistant (PDA), a mobile phone, and the like. User device 910 is configured to communicate over network 950. User device 910 may execute an application, eg, a browser application that allows a user of user device 910 to interact with social networking system 930. In another embodiment, the user device 910 is a social networking system through an application programming interface (API) provided by the native operating system of the user device 910, such as iOS and ANDROID®. 930 interacts. User device 910 is configured to communicate with external system 920 and social networking system 930 over network 950. Network 950 may comprise any combination of local area networks and / or wide area networks using wired and / or wireless communication systems.

1つの実施形態において、ネットワーク950は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク950は、イーサネット(登録商標)、702.
11、マイクロ波アクセスのための世界的相互運用性(WiMAX:worldwide
interoperability for microwave access)、3G、4G、CDMA、GSM(登録商標)、LTE、デジタル加入者線(DSL:digital subscriber line)等などの技術を使用するリンクを含み得る。同様に、ネットワーク950上で使用されるネットワーキング・プロトコルは、マルチプロトコル・ラベル・スイッチング(MPLS:multiprotocol label switching)、送信制御プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP:simple mail transfer protocol)、ファイル転送プロトコル(FTP)などを含み得る。ネットワーク950上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、およびインターネット・プロトコル・セキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化され得る。
In one embodiment, the network 950 uses standard communication technologies and protocols. Accordingly, the network 950 includes Ethernet (registered trademark) 702.
11. Global interoperability for microwave access (WiMAX: worldwide)
It may include links using technologies such as interoperability for microwave access), 3G, 4G, CDMA, GSM®, LTE, digital subscriber line (DSL), and the like. Similarly, networking protocols used on the network 950 include multiprotocol label switching (MPLS), transmission control protocol / Internet protocol (TCP / IP), user datagram protocol (UDP). ), Hypertext transfer protocol (HTTP), simple mail transfer protocol (SMTP), file transfer protocol (FTP), and the like. Data exchanged over the network 950 may be represented using techniques and / or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some of the links are encrypted using conventional encryption techniques such as Secure Sockets Layer (SSL), Transport Layer Security (TLS), and Internet Protocol Security (IPsec). Can be

1つの実施形態において、ユーザ・デバイス910は、外部システム920から、およびソーシャル・ネットワーキング・システム930から受信されるマークアップ言語文書914を、ブラウザ・アプリケーション912を使用して処理することによって、外部システム920からのコンテンツおよび/またはソーシャル・ネットワーキング・システム930からのコンテンツを表示し得る。マークアップ言語文書914は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する1つまたは複数の命令とを識別する。マークアップ言語文書914内に含まれる命令を実行することによって、ブラウザ・アプリケーション912は、マークアップ言語文書914によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書914は、外部システム920およびソーシャル・ネットワーキング・システム930から得られたテキストおよび/または画像データを含む複数のフレームを有するウェブ・ページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書914は、拡張マークアップ言語(XML)データ、拡張ハイパーテキスト・マークアップ言語(XHTML)データ、または、他のマークアップ言語データを含むデータ・ファイルを備える。また、マークアップ言語文書914は、外部システム920とユーザ・デバイス910との間のデータ交換を容易にするためのジャバスクリプト・オブジェクト・ノーテーション(JSON:JavaScript(登録商標)Object Notation)データ、パディング付きのJSON(JSONP:JSON with padding)データ、およびジャバスクリプト・データを含み得る。ユーザ・デバイス910上のブラウザ・アプリケーション912は、ジャバスクリプト・コンパイラを使用して、マークアップ言語文書914を復号し得る。   In one embodiment, the user device 910 processes the markup language document 914 received from the external system 920 and from the social networking system 930 using the browser application 912 to provide an external system. Content from 920 and / or content from social networking system 930 may be displayed. Markup language document 914 identifies content and one or more instructions that describe how to format or display the content. By executing the instructions contained within the markup language document 914, the browser application 912 displays the identified content using the format or display method described by the markup language document 914. For example, markup language document 914 includes instructions for generating and displaying a web page having a plurality of frames containing text and / or image data obtained from external system 920 and social networking system 930. In various embodiments, the markup language document 914 comprises a data file that includes extended markup language (XML) data, extended hypertext markup language (XHTML) data, or other markup language data. In addition, the markup language document 914 includes JavaScript object notification (JSON) data and padding for facilitating data exchange between the external system 920 and the user device 910. JSON (JSONP: JSON with padding) data, and Javascript data. Browser application 912 on user device 910 may decrypt markup language document 914 using a JavaScript compiler.

マークアップ言語文書914は、FLASH(商標)アプリケーションまたはUnity(商標)アプリケーション、SilverLight(商標)アプリケーション・フレームワーク等などの、アプリケーションまたはアプリケーション・フレームワークも含み、または、これらに対してもリンクし得る。   The markup language document 914 also includes or may be linked to an application or application framework, such as a FLASH ™ application or a Unity ™ application, a SilverLight ™ application framework, etc. .

1つの実施形態において、ユーザ・デバイス910は、ユーザ・デバイス910のユーザがソーシャル・ネットワーキング・システム930へログインしたかを示すデータを含む、1つまたは複数のクッキー916も含む。クッキー916は、ソーシャル・ネットワーキング・システム930からユーザ・デバイス910へ通信されるデータの変更を可能にし得る。   In one embodiment, user device 910 also includes one or more cookies 916 that include data indicating whether the user of user device 910 has logged into social networking system 930. Cookie 916 may allow modification of data communicated from social networking system 930 to user device 910.

外部システム920は、1つまたは複数のウェブ・ページ922a、922bを含む、1つまたは複数のウェブ・サーバを含む。1つまたは複数のウェブ・ページ922a、922bは、ネットワーク950を使用して、ユーザ・デバイス910へ通信される。外部システム920は、ソーシャル・ネットワーキング・システム930とは別個である。例えば、外部システム920は、第1のドメインに対して関連付けられるが、ソーシャル・ネットワーキング・システム930は、別個のソーシャル・ネットワーキング・ドメインに対して関連付けられる。外部システム920に含まれるウェブ・ページ922a、922bは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書914を備える。   External system 920 includes one or more web servers that include one or more web pages 922a, 922b. One or more web pages 922 a, 922 b are communicated to user device 910 using network 950. External system 920 is separate from social networking system 930. For example, the external system 920 is associated with a first domain while the social networking system 930 is associated with a separate social networking domain. Web pages 922a, 922b included in external system 920 include a markup language document 914 that includes instructions for identifying content and specifying how to format and display the identified content.

ソーシャル・ネットワーキング・システム930は、複数のユーザを含み、ソーシャル・ネットワークのユーザに対して、ソーシャル・ネットワークの他のユーザと通信および相互作用するための能力を提供する、ソーシャル・ネットワークのための1つまたは複数のコンピューティング・デバイスを含む。いくつかの例において、ソーシャル・ネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャル・ネットワークを表現するために使用され得る。ソーシャル・ネットワーキング・システム930は、運営者によって運営され、管理され、または制御され得る。ソーシャル・ネットワーキング・システム930の運営者は、ソーシャル・ネットワーキング・システム930内でコンテンツを管理し、政策を規制し、使用法メトリック(usage metrics)を収集するための人間、自動化されたアプリケーション、または一連のアプリケーションであってもよい。任意のタイプの運営者が使用され得る。   Social networking system 930 includes a plurality of users and provides a social network user with the ability to communicate and interact with other users of the social network. Including one or more computing devices. In some examples, a social network may be represented by a graph, ie, a data structure that includes edges and nodes. Other data structures may also be used to represent social networks, including but not limited to databases, objects, classes, meta elements, files, or any other data structure. Social networking system 930 may be operated, managed, or controlled by an operator. The operator of the social networking system 930 manages the content within the social networking system 930, regulates policies, collects usage metrics, humans, automated applications, or a set of It may be an application. Any type of operator can be used.

ユーザは、ソーシャル・ネットワーキング・システム930に加入し、次いで、そのユーザがつなげられることを望む、ソーシャル・ネットワーキング・システム930の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム930を通じてつながり、関連、または関係を形成した、ソーシャル・ネットワーキング・システム930の任意の他のユーザを指す。例えば、一実施形態において、ソーシャル・ネットワーキング・システム930内のユーザが、ソーシャル・グラフ内のノードとして表現される場合、「友達」という用語は、2つのユーザ・ノード間に形成され、かつ、2つのユーザ・ノードを直接接続するエッジを指し得る。   A user may subscribe to a social networking system 930 and then add a connection to any number of other users of the social networking system 930 that the user wishes to be connected to. As used herein, the term “friend” refers to any other user of the social networking system 930 that the user has connected, formed an association or relationship through the social networking system 930. For example, in one embodiment, if a user in social networking system 930 is represented as a node in the social graph, the term “friend” is formed between two user nodes, and 2 It may refer to an edge that directly connects two user nodes.

つながりは、ユーザによって明示的に追加されても、または、ユーザの共通の特性(例えば、同じ教育機関の卒業生であるユーザ)に基づいて、ソーシャル・ネットワーキング・システム930によって自動的に作成されてもよい。例えば、第1のユーザは、友達になりたい特定の他のユーザを具体的に選択する。ソーシャル・ネットワーキング・システム930におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャル・ネットワーキング・システム930のユーザ間のつながりは、通常は、双務的(「二方向」)または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャル・ネットワーキング・システム930のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャル・ネットワーキング・システム930へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであり得る。ただし、ソーシャル・ネットワーキング・システム930のいくつかの実施形態は、つながりが、1つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。   Connections may be added explicitly by the user or automatically created by the social networking system 930 based on the user's common characteristics (eg, users who are graduates of the same institution) Good. For example, the first user specifically selects a specific other user who wants to be a friend. The connection in social networking system 930 is usually bi-directional, but need not be bi-directional, so the terms “user” and “friend” depend on the framework. The connection between users of social networking system 930 is typically bilateral (“two-way”) or “reciprocal”, but the connection may be one-way or “one-way”. . For example, if both Bob and Joe are users of social networking system 930 and are connected to each other, Bob and Joe are connected to each other. On the other hand, if Bob wants to connect with Joe to see the data communicated by Joe to social networking system 930, but Joe does not want to form a reciprocal connection, Connections can be established. The connection between users can be a direct connection. However, some embodiments of the social networking system 930 allow connections to be indirect through one or more levels or degrees of connection.

ユーザ間のつながりを確立および維持し、ユーザ間の相互作用を可能にすることに加えて、ソーシャル・ネットワーキング・システム930は、ソーシャル・ネットワーキング・システム930によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザに対して提供する。こうしたアイテムは、ソーシャル・ネットワーキング・システム930のユーザが所属し得るグループまたはネットワーク(すなわち、人々、エンティティ、および概念のソーシャル・ネットワーク)、ユーザが興味を持ち得るイベントまたはカレンダー入力、ユーザがソーシャル・ネットワーキング・システム930を通じて使用し得るコンピュータベースのアプリケーション、ソーシャル・ネットワーキング・システム930によって提供されるサービスを通じてまたはソーシャル・ネットワーキング・システム930を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャル・ネットワーキング・システム930内外で実行し得る広告との相互作用を含み得る。これらは、ユーザがソーシャル・ネットワーキング・システム930上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザは、ソーシャル・ネットワーキング・システム930において、または、ソーシャル・ネットワーキング・システム930とは別個の外部システム920もしくはネットワーク950を通じてソーシャル・ネットワーキング・システム930に対して結合される外部システム920において表現されることが可能なありとあらゆるものと相互作用し得る。   In addition to establishing and maintaining connections between users and enabling interaction between users, the social networking system 930 provides for various types of items supported by the social networking system 930. Provide users with the ability to take action. Such items include groups or networks to which users of social networking system 930 may belong (ie, social networks of people, entities, and concepts), events or calendar entries that may be of interest to users, and social networking of users. Computer-based applications that can be used through system 930, transactions that allow a user to purchase or sell items through services provided by social networking system 930 or through social networking system 930, and It may include interaction with advertisements that may run inside and outside the social networking system 930. These are just a few examples of items that a user can affect on the social networking system 930, and many other examples are possible. The user is represented in social networking system 930 or in external system 920 that is coupled to social networking system 930 through external system 920 or network 950 that is separate from social networking system 930. Can interact with everything possible.

ソーシャル・ネットワーキング・システム930は、多様なエンティティとリンクすることも可能である。例えば、ソーシャル・ネットワーキング・システム930は、ユーザが互いに相互作用すること、および、API、ウェブ・サービス、または他の通信チャネルを通じて外部システム920または他のエンティティと相互作用することを可能にする。ソーシャル・ネットワーキング・システム930は、複数のエッジによって相互接続された複数のノードを備える「ソーシャル・グラフ」を生成および維持する。ソーシャル・グラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび/または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャル・グラフは、様々なタイプのノードを含み得る。ノードタイプの例は、ユーザ、非人間エンティティ、コンテンツ・アイテム、ウェブ・ページ、グループ、アクティビティ、メッセージ、概念、およびソーシャル・ネットワーキング・システム930内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャル・グラフ内の2つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、2つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかの場合において、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられた属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザが別のユーザに対して「いいね」を表明する際に作成されるエッジには、ある重みが与えられ得る一方で、ユーザが別のユーザと友達になる際に作成されるエッジには、異なる重みが与えられ得る。   The social networking system 930 can also be linked with various entities. For example, social networking system 930 allows users to interact with each other and with external systems 920 or other entities through APIs, web services, or other communication channels. Social networking system 930 generates and maintains a “social graph” comprising a plurality of nodes interconnected by a plurality of edges. Each node in the social graph may represent an entity that can act on another node and / or an entity that can be acted on by another node. Social graphs can include various types of nodes. Examples of node types include users, non-human entities, content items, web pages, groups, activities, messages, concepts, and anything else that can be represented by objects in the social networking system 930. An edge between two nodes in a social graph can show a particular type of connection or association between two nodes that can result from a node relationship or from an action performed on one by one of the nodes. It can be expressed. In some cases, the edges between nodes may be weighted. An edge weight may represent an attribute associated with that edge, such as the strength of a connection or association between nodes. Different types of edges can be provided with different weights. For example, an edge created when a user asserts “Like” to another user may be given a weight while being created when the user makes a friend with another user The edges can be given different weights.

例として、第1のユーザが、第2のユーザを友達として識別する場合、第1のユーザを表現するノードと第2のユーザを表現する第2のノードとを接続する、ソーシャル・グラフ内のエッジが生成される。様々なノードが互いに関連し、または相互作用するにつれて、ソーシャル・ネットワーキング・システム930は、様々なノードを接続するエッジを変更して、関係および相互作用を反映する。   As an example, if a first user identifies a second user as a friend, a node in the social graph connecting a node representing the first user and a second node representing the second user An edge is generated. As the various nodes relate to or interact with each other, the social networking system 930 changes the edges connecting the various nodes to reflect the relationships and interactions.

ソーシャル・ネットワーキング・システム930は、ユーザによるソーシャル・ネットワーキング・システム930との相互作用を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャル・ネットワーキング
・システム930に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザは、ユーザ・デバイス910からソーシャル・ネットワーキング・システム930への投稿を通信する。投稿は、ステータス・アップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、ビデオ、リンク、音楽、または、他の同様のデータおよび/もしくはメディアを含み得る。コンテンツも、第三者によってソーシャル・ネットワーキング・システム930に対して追加され得る。コンテンツ「アイテム」は、ソーシャル・ネットワーキング・システム930においてオブジェクトとして表現される。このようにして、ソーシャル・ネットワーキング・システム930のユーザは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツ・アイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の相互作用を増加させ、ユーザがソーシャル・ネットワーキング・システム930と相互作用する頻度を増加させる。
Social networking system 930 also includes user generated content that enhances user interaction with social networking system 930. Content generated by the user may include anything that the user can add to, upload, send, or “post” to the social networking system 930. For example, the user communicates a post from the user device 910 to the social networking system 930. Posts may include data such as status updates or other textual information, location information, images such as photos, videos, links, music, or other similar data and / or media. Content can also be added to the social networking system 930 by a third party. The content “item” is represented as an object in the social networking system 930. In this way, users of social networking system 930 are encouraged to communicate with each other by posting various types of text and content items over various communication channels. Such communication increases user interaction and increases the frequency with which the user interacts with social networking system 930.

ソーシャル・ネットワーキング・システム930は、ウェブ・サーバ932と、API要求サーバ934と、ユーザ・プロファイル・ストア936と、つながりストア938と、動作ロガー940と、アクティビティ・ログ942と、認証サーバ944とを含む。本発明の一実施形態において、ソーシャル・ネットワーキング・システム930は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワーク・インターフェース、セキュリティ機構、負荷分散装置、フェイルオーバ・サーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。   Social networking system 930 includes web server 932, API request server 934, user profile store 936, connection store 938, behavior logger 940, activity log 942, and authentication server 944. . In one embodiment of the present invention, social networking system 930 may include additional components, fewer components, or different components for various applications. Other components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles are not shown so as not to obscure the details of the system.

ユーザ・プロファイル・ストア936は、ユーザによって申告され、またはソーシャル・ネットワーキング・システム930によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザ・アカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザ・プロファイル・ストア936内に記憶される。ソーシャル・ネットワーキング・システム930は、異なるユーザ間の1つまたは複数のつながりを記述するデータも、つながりストア938内に記憶する。つながり情報は、同様または共通の職歴、グループ・メンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャル・ネットワーキング・システム930は、ユーザの他のユーザとの関係をユーザが特定することを可能にする、異なるユーザ間におけるユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタ・センタ、画像、興味、ページ、外部システム、概念等などの、ソーシャル・ネットワーキング・システム930内の他のノードとのつながりも、つながりストア938内に記憶される。   The user profile store 936 is a career history, educational background, hobbies or preferences, historical information such as address, demographic information, and other types of descriptions as declared by the user or inferred by the social networking system 930. Maintain information about user accounts, including tactical information. This information is stored in the user profile store 936 so that each user is uniquely identified. Social networking system 930 also stores data in connection store 938 describing one or more connections between different users. The connection information may indicate users with similar or common work history, group membership, hobbies, or educational background. The social networking system 930 also includes user-defined connections between different users that allow the user to specify the relationship of the user to other users. For example, a user-defined connection allows a user to create a relationship with another user, such as a friend, colleague, partner, etc., in parallel with the user's real-life relationship. The user may select from a predefined type of connection, or may define his own connection type as needed. Connections with other nodes in the social networking system 930, such as non-human entities, buckets, cluster centers, images, interests, pages, external systems, concepts, etc. are also stored in the connection store 938.

ソーシャル・ネットワーキング・システム930は、ユーザが相互作用し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザ・プロファイル・ストア936およびつながりストア938は、ソーシャル・ネットワーキング・システム930によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクト・タイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザ・プロファイル・ストア936は、ユーザのアカウントおよびユーザのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャル・ネットワーキング・システム930は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そ
のオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザがソーシャル・ネットワーキング・システム930のユーザになった場合に発生し、ソーシャル・ネットワーキング・システム930は、ユーザ・プロファイル・ストア936内にユーザ・プロファイルの新たなインスタンスを生成し、ユーザ・アカウントに対して一意の識別子を割り当て、ユーザによって提供される情報をユーザ・アカウントのフィールドへ投入し始める。
Social networking system 930 maintains data about objects with which the user can interact. In order to maintain this data, user profile store 936 and connection store 938 store corresponding type instances of objects maintained by social networking system 930. Each object type has an information field suitable for storing information suitable for the type of object. For example, the user profile store 936 includes a data structure having fields suitable for describing the user's account and information associated with the user's account. When a new object of a particular type is created, social networking system 930 initializes a new data structure of the corresponding type, assigns a unique object identifier to the new data structure, and In response, it begins to add data to the object. This occurs, for example, when a user becomes a user of social networking system 930, which creates a new instance of the user profile in user profile store 936; Assign a unique identifier to the user account and begin populating the user account fields with information provided by the user.

つながりストア938は、他のユーザに対するユーザのつながり、外部システム920に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア938は、つながりタイプもユーザのつながりと関連付け得る。つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザ・プロファイル・ストア936およびつながりストア938は、連合データベースとして実装され得る。   Connection store 938 includes a data structure suitable for describing user connections to other users, connections to external systems 920, or connections to other entities. Connection store 938 may also associate connection types with user connections. Connection types can be used in conjunction with a user's privacy settings to regulate access to information about the user. In one embodiment of the present invention, user profile store 936 and connection store 938 may be implemented as a federated database.

つながりストア938、ユーザ・プロファイル・ストア936、およびアクティビティ・ログ942内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャル・グラフをソーシャル・ネットワーキング・システム930が生成することを可能にする。例えば、第1のユーザが、ソーシャル・ネットワーキング・システム930内で第2のユーザとのつながりを確立する場合、ユーザ・プロファイル・ストア936からの第1のユーザおよび第2のユーザのユーザ・アカウントは、ソーシャル・グラフ内のノードとして動作し得る。つながりストア938によって記憶される、第1のユーザと第2のユーザとの間のつながりは、第1のユーザおよび第2のユーザに対して関連付けられるノード間のエッジである。この例を続けると、第2のユーザは、次いで、第1のユーザに対して、ソーシャル・ネットワーキング・システム930内でメッセージを送信し得る。メッセージを送信するアクションは、第1のユーザおよび第2のユーザを表現する、ソーシャル・グラフ内の2つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第1のユーザを表現するノードおよび第2のユーザを表現するノードに対して接続される別のノードとして、ソーシャル・グラフにおいて識別され、ソーシャル・グラフに含まれ得る。   The data stored in the connection store 938, the user profile store 936, and the activity log 942 uses the nodes to identify the various objects and edges that connect the nodes and to establish relationships between the different objects. Allows social networking system 930 to generate a social graph to identify. For example, if a first user establishes a connection with a second user within the social networking system 930, the first user's and second user's user accounts from the user profile store 936 are Can act as a node in the social graph. The connection between the first user and the second user, stored by the connection store 938, is an edge between the nodes associated for the first user and the second user. Continuing with this example, the second user may then send a message within the social networking system 930 to the first user. The action of sending a message is another edge between two nodes in the social graph that represents the first user and the second user, and the action of sending a message can be stored. Also, the message itself can be identified in the social graph and included in the social graph as another node connected to the node representing the first user and the node representing the second user.

別の例において、第1のユーザは、ソーシャル・ネットワーキング・システム930によって維持される画像において(または、代替的に、ソーシャル・ネットワーキング・システム930の外部の別のシステムによって維持される画像において)第2のユーザをタグ付けし得る。画像は、それ自体がソーシャル・ネットワーキング・システム930内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と画像との間にエッジを作成するだけでなく、第1のユーザと第2のユーザとの間のエッジも作成し得る。画像もソーシャル・グラフ内のノードである。また別の例において、ユーザが、イベントへ参加することを確かめる場合、そのユーザおよびそのイベントは、ユーザ・プロファイル・ストア936から取得されるノードであり、そのイベントへの参加は、アクティビティ・ログ942から得られ得るノード間のエッジである。ソーシャル・グラフを生成および維持することによって、ソーシャル・ネットワーキング・システム930は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の相互作用およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。   In another example, the first user may be in an image maintained by social networking system 930 (or alternatively in an image maintained by another system external to social networking system 930). Two users may be tagged. The image may itself be represented as a node in the social networking system 930. This tagging action not only creates an edge between each of the users and the image, but can also create an edge between the first user and the second user. Images are also nodes in the social graph. In yet another example, if a user confirms that he / she will participate in an event, the user and the event are nodes obtained from the user profile store 936 and participation in the event is recorded in the activity log 942. Is an edge between nodes that can be obtained from By generating and maintaining social graphs, social networking system 930 provides socially relevant information, including data describing many different types of objects, as well as interactions and connections between those objects. Providing a rich source of.

ウェブ・サーバ932は、ソーシャル・ネットワーキング・システム930を、ネットワーク950を通じて、1つもしくは複数のユーザ・デバイス910および/または1つもしくは複数の外部システム920に対してリンクする。ウェブ・サーバ932は、ウェブ・ページ、およびJava(登録商標)、JavaScript、Flash、XML
などの他のウェブ関連コンテンツを供給する。ウェブ・サーバ932は、メール・サーバを含み、または、ソーシャル・ネットワーキング・システム930と1つもしくは複数のユーザ・デバイス910との間のメッセージを受信およびルーティングするための他のメッセージング機能性を含み得る。メッセージは、インスタント・メッセージ、キュー・メッセージ(例えば、電子メール)、テキストおよびSMSメッセージ、または任意の他の適切なメッセージング・フォーマットであり得る。
Web server 932 links social networking system 930 through network 950 to one or more user devices 910 and / or one or more external systems 920. Web server 932 is a web page, and Java (registered trademark), JavaScript, Flash, XML
Supply other web-related content such as. Web server 932 includes a mail server, or may include other messaging functionality for receiving and routing messages between social networking system 930 and one or more user devices 910. . The message can be an instant message, a queue message (eg, email), a text and SMS message, or any other suitable messaging format.

API要求サーバ934は、1つまたは複数の外部システム920およびユーザ・デバイス910が、1つまたは複数のAPI関数を呼び出すことによって、ソーシャル・ネットワーキング・システム930からのアクセス情報を呼び出すことを可能にする。API要求サーバ934は、外部システム920が、APIを呼び出すことによって、ソーシャル・ネットワーキング・システム930に対して情報を送信することも可能にし得る。外部システム920は、1つの実施形態において、ネットワーク950を通じてソーシャル・ネットワーキング・システム930へAPI要求を送信し、API要求サーバ934は、そのAPI要求を受信する。API要求サーバ934は、API要求に対して関連付けられたAPIを呼び出すことによって要求を処理して、適当な応答を生成する。API要求サーバ934は、その適当な応答を、ネットワーク950を通じて外部システム920へ通信する。例えば、API要求に応答して、API要求サーバ934は、外部システム920に対してログインしたユーザのつながりなどの、ユーザに対して関連付けられたデータを収集し、収集されたデータを外部システム920へ通信する。別の実施形態において、ユーザ・デバイス910は、外部システム920と同じ手法で、APIを通じてソーシャル・ネットワーキング・システム930と通信する。   The API request server 934 allows one or more external systems 920 and user devices 910 to call access information from the social networking system 930 by calling one or more API functions. . The API request server 934 may also allow the external system 920 to send information to the social networking system 930 by calling the API. External system 920, in one embodiment, sends an API request to social networking system 930 through network 950, and API request server 934 receives the API request. The API request server 934 processes the request by calling the API associated with the API request and generates an appropriate response. The API request server 934 communicates the appropriate response to the external system 920 through the network 950. For example, in response to an API request, the API request server 934 collects data associated with the user, such as the connection of the user logged in to the external system 920, and the collected data to the external system 920 connect. In another embodiment, user device 910 communicates with social networking system 930 through an API in the same manner as external system 920.

アクション・ロガー940は、ソーシャル・ネットワーキング・システム930内での、および/またはソーシャル・ネットワーキング・システム930外でのユーザ・アクションに関する通信をウェブ・サーバ932から受信することが可能である。アクション・ロガー940は、ユーザ・アクションに関する情報をアクティビティ・ログ942へ投入し、ソーシャル・ネットワーキング・システム930の内部で、およびソーシャル・ネットワーキング・システム930の外部で、そのユーザによって行われた様々なアクションをソーシャル・ネットワーキング・システム930が発見することを可能にする。特定のユーザが、ソーシャル・ネットワーキング・システム930上の別のノードに関して行う任意のアクションは、アクティビティ・ログ942内または同様のデータベースもしくは他のデータ・レポジトリ内で維持される情報を通じて、各ユーザのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャル・ネットワーキング・システム930内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザへメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに対して関連付けられるコンテンツを視聴すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザもしくは別のオブジェクトと相互作用する他のアクションを含み得る。ユーザが、ソーシャル・ネットワーキング・システム930内でアクションを行う場合、そのアクションは、アクティビティ・ログ942内に記録される。一実施形態において、ソーシャル・ネットワーキング・システム930は、アクティビティ・ログ942をエントリのデータベースとして維持する。アクションが、ソーシャル・ネットワーキング・システム930内で行われる場合、そのアクションについてのエントリが、アクティビティ・ログ942に対して追加される。アクティビティ・ログ942は、アクション・ログと称され得る。   Action logger 940 may receive communications from web server 932 regarding user actions within social networking system 930 and / or outside social networking system 930. The action logger 940 populates the activity log 942 with information about user actions, and various actions performed by the user inside the social networking system 930 and outside the social networking system 930. Allows social networking system 930 to discover. Any action that a particular user takes with respect to another node on social networking system 930 can be determined by each user's account through information maintained in activity log 942 or a similar database or other data repository. Can be associated with. Examples of actions performed by a user within social networking system 930 that are identified and stored include, for example, adding a connection to another user, sending a message to another user, from another user Read messages, watch content associated with another user, participate in an event posted by another user, post an image, try to post an image, or otherwise Other actions that interact with other users or other objects. When a user performs an action in social networking system 930, the action is recorded in activity log 942. In one embodiment, social networking system 930 maintains activity log 942 as a database of entries. If an action is performed within the social networking system 930, an entry for the action is added to the activity log 942. The activity log 942 may be referred to as an action log.

また、ユーザ・アクションは、ソーシャル・ネットワーキング・システム930とは別個の外部システム920などの、ソーシャル・ネットワーキング・システム930の外部のエンティティ内で発生する概念およびアクションに対して関連付けられ得る。例えば、
アクション・ロガー940は、ユーザによる外部システム920との相互作用を記述するデータを、ウェブ・サーバ932から受信し得る。この例において、外部システム920は、ソーシャル・グラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザによる相互作用を報告する。
User actions may also be associated with concepts and actions that occur within entities external to social networking system 930, such as external system 920 that is separate from social networking system 930. For example,
Action logger 940 may receive data from web server 932 describing the user's interaction with external system 920. In this example, external system 920 reports user interaction according to structured actions and objects in the social graph.

ユーザが外部システム920と相互作用するアクションの他の例は、ユーザが外部システム920もしくは別のエンティティにおいて興味を表現すること、外部システム920もしくは外部システム920内のウェブ・ページ922aと議論するソーシャル・ネットワーキング・システム930に対してユーザがコメントを投稿すること、ユーザがソーシャル・ネットワーキング・システム930に対してユニフォーム・リソース・ロケータ(URL)もしくは外部システム920に対して関連付けられる他の識別子を投稿すること、ユーザが外部システム920に対して関連付けられるイベントへ参加すること、または、外部システム920に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティ・ログ942は、ソーシャル・ネットワーキング・システム930のユーザと、ソーシャル・ネットワーキング・システム930とは別個の外部システム920との間の相互作用を記述するアクションを含み得る。   Other examples of actions that a user interacts with external system 920 include a user expressing interest in external system 920 or another entity, a social discussion that discusses with external system 920 or web page 922a within external system 920. The user posts a comment to the networking system 930, and the user posts a uniform resource locator (URL) to the social networking system 930 or other identifier associated with the external system 920. , Participating in events associated with the external system 920, or any other action by the user related to the external system 920. Accordingly, activity log 942 may include actions that describe the interaction between a user of social networking system 930 and an external system 920 that is separate from social networking system 930.

認証サーバ944は、ソーシャル・ネットワーキング・システム930のユーザの1つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに対して関連付けられる特定の情報の仕様、および情報が共有され得る1つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム920、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザ・アカウント情報、ユーザに対して関連付けられる電話番号、ユーザのつながり、つながりを追加すること、ユーザ・プロフィール情報を変更することなどのユーザによって行われるアクション等を備える。   The authentication server 944 enhances one or more privacy settings of the user of the social networking system 930. A user's privacy settings determine how specific information associated with the user can be shared. A privacy setting comprises a specification of specific information associated with a user and a specification of one or more entities with which the information can be shared. Examples of entities with which information can be shared may include other users, applications, external systems 920, or any entity that can potentially access that information. Information that can be shared by the user is done by the user, such as user account information such as profile photos, phone numbers associated with the user, user connections, adding connections, changing user profile information, etc. Provide actions.

プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム920を含み得る。1つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、一定の情報に対してアクセスすることを許可される外部システム920のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザは、全ての外部システム920がユーザの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム920のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロック・リスト」と呼ぶ。ユーザによって特定されるブロック・リストに所属する外部システム920は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。   Privacy setting specifications may be provided at different levels of granularity. For example, the privacy settings may identify specific information that should be shared with other users. The privacy setting identifies a specific set of related information, such as a work phone number or personal information including profile photo, home phone number, and status. Alternatively, privacy settings may be applied to all information associated with the user. The specification of the set of entities that can access specific information can also be specified at various levels of granularity. Various sets of entities with which information may be shared may include, for example, all friends of a user, all friends of a friend, all applications, or all external systems 920. One embodiment allows a specification of a set of entities to comprise a list of entities. For example, a user may provide a list of external systems 920 that are allowed to access certain information. Another embodiment allows a specification to include a set of entities with exceptions that are not allowed to access the information. For example, the user may specify a list of external systems 920 that may allow all external systems 920 to access the user's work information but are not allowed to access work information. Certain embodiments refer to a list of exceptions that are not allowed to access certain information as a “block list”. External systems 920 belonging to the block list specified by the user are blocked from accessing the information specified in the privacy settings. Various combinations of the granularity of the information specification and the granularity of the specification of the entity with which the information is shared are possible. For example, all personal information can be shared with friends, whereas all workplace information can be shared with friends of friends.

認証サーバ944は、ユーザに対して関連付けられる一定の情報がユーザの友達、外部
システム920、ならびに/または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム920は、ユーザの職場電話番号などの、ユーザのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ944からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ944は、別のユーザ、外部システム920、アプリケーション、または別のエンティティが、ユーザによって行われるアクションに関する情報を含む、ユーザに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
Authentication server 944 includes logic for determining whether certain information associated with the user can be accessed by the user's friends, external system 920, and / or other applications and entities. External system 920 may require authentication from authentication server 944 in order to access the user's more personal and sensitive information, such as the user's work phone number. Based on the user's privacy settings, the authentication server 944 may access information associated with the user, including information about actions taken by the user, by another user, external system 920, application, or another entity. Decide what you are allowed to do.

ソーシャル・ネットワーキング・システム930は、顔表現モジュール946を含み得る。いくつかの実施形態において、顔表現変換モジュール946は、図1の顔表現モジュール102として実装され得る。顔表現変換モジュール946は、本開示の実施形態に従って、ディープ・ニューラル・ネットワークを採用することによって、顔画像をアライメントし、顔画像を分類し、および/または顔画像を確認するように構成され得る。   Social networking system 930 may include a facial expression module 946. In some embodiments, the facial expression conversion module 946 may be implemented as the facial expression module 102 of FIG. Face representation conversion module 946 may be configured to align face images, classify face images, and / or verify face images by employing a deep neural network in accordance with embodiments of the present disclosure. .

ハードウェア実装
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータ・システム・アーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図10は、本発明の一実施形態に係る、本明細書において説明される実施形態のうちの1つまたは複数を実装するために使用され得るコンピュータ・システム1000の例を例示する。コンピュータ・システム1000は、コンピュータ・システム1000に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータ・システム1000は、他のマシンへ接続され(例えば、ネットワーク化され)得る。ネットワーク化された配置において、コンピュータ・システム1000は、クライアント/サーバ・ネットワーク環境内のサーバ・マシンもしくはクライアント・マシンの資格において動作し、または、ピア・ツー・ピア(もしくは分散)・ネットワーク環境内のピア・マシンとして動作し得る。本発明の一実施形態において、コンピュータ・システム1000は、ソーシャル・ネットワーキング・システム1030、ユーザ・デバイス910、および外部システム1020、または、これらの構成要素であり得る。本発明の一実施形態において、コンピュータ・システム1000は、ソーシャル・ネットワーキング・システム1030の全部または一部を構成する多くのサーバのうちの1つのサーバであり得る。
Hardware Implementation The aforementioned processes and features may be implemented by a wide variety of machine and computer system architectures and in a wide variety of networks and computing environments. FIG. 10 illustrates an example computer system 1000 that can be used to implement one or more of the embodiments described herein, according to one embodiment of the invention. Computer system 1000 includes a set of instructions that cause computer system 1000 to perform the processes and features discussed herein. The computer system 1000 can be connected (eg, networked) to other machines. In a networked deployment, the computer system 1000 operates in the qualification of a server machine or client machine in a client / server network environment, or in a peer-to-peer (or distributed) network environment. Can act as a peer machine. In one embodiment of the present invention, computer system 1000 may be social networking system 1030, user device 910, and external system 1020, or components thereof. In one embodiment of the present invention, the computer system 1000 may be one of many servers that make up all or part of the social networking system 1030.

コンピュータ・システム1000は、プロセッサ1002と、キャッシュ1004と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、1つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータ・システム1000は、高性能入出力(I/O)バス1006と、標準I/Oバス1008とを含む。ホスト・ブリッジ1010は、プロセッサ1002を高性能I/Oバス1006に対して結合する一方で、I/Oバス・ブリッジ1012は、2つのバス1006および1008を互いに結合する。システム・メモリ1014および1つまたは複数のネットワーク・インターフェース1016は、高性能I/Oバス1006へ結合される。コンピュータ・システム1000は、ビデオ・メモリと、ビデオ・メモリに対して結合される表示デバイスとをさらに含んでもよい(図示せず)。マス・ストレージ1018およびI/Oポート1020は、標準I/Oバス1008へ結合される。コンピュータ・システム1000は、標準I/Oバス1008に対して結合される、キーボードおよびポインティング・デバイス、表示デバイス、または他の入出力デバイス(図示せず)を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタ・クララのインテル・コーポレーション社(Intel Corporation)によって製造されるx86互換性のあるプロセッサ、カリフォルニア州サニーヴェイルのアドバンスト・マイクロ・デバイス社(AMD:Advanced Micro Devices,Inc)によって製造されるx86互換性のあるプロセッサ、および任意の他の適切なプ
ロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータ・ハードウェア・システムを表現することが意図される。
Computer system 1000 includes a processor 1002, a cache 1004, one or more executable modules and drivers stored on a computer-readable medium and directed to the processes and features described herein. Including. The computer system 1000 also includes a high performance input / output (I / O) bus 1006 and a standard I / O bus 1008. Host bridge 1010 couples processor 1002 to high performance I / O bus 1006, while I / O bus bridge 1012 couples two buses 1006 and 1008 together. System memory 1014 and one or more network interfaces 1016 are coupled to a high performance I / O bus 1006. Computer system 1000 may further include a video memory and a display device coupled to the video memory (not shown). Mass storage 1018 and I / O port 1020 are coupled to standard I / O bus 1008. Computer system 1000 may optionally include a keyboard and pointing device, display device, or other input / output device (not shown) coupled to standard I / O bus 1008. Overall, these elements are x86 compatible processors manufactured by Intel Corporation of Santa Clara, California, Advanced Micro Devices (AMD), Sunnyvale, California. It is intended to represent a broad category of computer hardware systems including, but not limited to, x86 compatible processors manufactured by Devices, Inc), and any other suitable processor. .

オペレーティング・システムは、ソフトウェア・アプリケーション(図示せず)へのデータの入力およびソフトウェア・アプリケーションからのデータの出力を含む、コンピュータ・システム1000の動作を管理および制御する。オペレーティング・システムは、システム上で実行されているソフトウェア・アプリケーションと、システムのハードウェア構成要素との間のインターフェースを提供する。任意の適切なオペレーティング・システム、例えば、LINUXオペレーティング・システム、カリフォルニア州クパチーノのアップル・コンピュータ社(Apple Computer,Inc.)から市販されているアップル・マッキントッシュ・オペレーティング・システム、UNIX(登録商標)オペレーティング・システム、マイクロソフト(登録商標)ウィンドウズ(登録商標)オペレーティング・システム、BSDオペレーティング・システム等などが使用され得る。他の実装も可能である。   The operating system manages and controls the operation of the computer system 1000, including the input of data to a software application (not shown) and the output of data from the software application. The operating system provides an interface between software applications running on the system and the hardware components of the system. Any suitable operating system, such as the LINUX operating system, the Apple Macintosh operating system commercially available from Apple Computer, Inc., Cupertino, California, UNIX operating system A system, a Microsoft® Windows® operating system, a BSD operating system, etc. may be used. Other implementations are possible.

コンピュータ・システム1000の要素は、下記においてより詳細に説明される。具体的には、ネットワーク・インターフェース1016は、コンピュータ・システム1000と、幅広いネットワークのうちの任意のもの、例えば、イーサネット(例えば、IEEE802.3)・ネットワーク、バックプレーン等などとの間の通信を提供する。マス・ストレージ1018は、上記に識別されたそれぞれのコンピューティング・システムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システム・メモリ1014(例えば、DRAM)は、プロセッサ1002によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。I/Oポート1020は、コンピュータ・システム1000へ結合され得る付加的な周辺デバイス間の通信を提供する、1つまたは複数のシリアル通信ポートおよび/またはパラレル通信ポートであり得る。   The elements of computer system 1000 are described in more detail below. Specifically, the network interface 1016 provides communication between the computer system 1000 and any of a wide range of networks, such as an Ethernet (eg, IEEE 802.3) network, backplane, etc. To do. Mass storage 1018 provides persistent storage for data and programming instructions for executing the above-described processes and features implemented by each of the above-identified computing systems. The system memory 1014 (eg, DRAM) provides temporary storage for data and programming instructions when executed by the processor 1002. I / O port 1020 may be one or more serial and / or parallel communication ports that provide communication between additional peripheral devices that may be coupled to computer system 1000.

コンピュータ・システム1000は、多様なシステム・アーキテクチャを含むことができ、コンピュータ・システム1000の様々な構成要素は、再配置されてもよい。例えば、キャッシュ1004は、プロセッサ1002と共にチップ上に実装されてもよい。代替的に、キャッシュ1004およびプロセッサ1002は、「プロセッサ・モジュール」としてまとめられて、プロセッサ1002が「プロセッサ・コア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準I/Oバス1008へ結合される周辺デバイスは、高性能I/Oバス1006へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータ・システム1000の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータ・システム1000は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。   Computer system 1000 can include a variety of system architectures, and the various components of computer system 1000 can be rearranged. For example, the cache 1004 may be implemented on a chip with the processor 1002. Alternatively, cache 1004 and processor 1002 may be grouped together as a “processor module” and processor 1002 may be referred to as a “processor core”. Further, certain embodiments of the invention may not require or include all of the above components. For example, a peripheral device coupled to the standard I / O bus 1008 may be coupled to the high performance I / O bus 1006. Also, in some embodiments, there may be only a single bus and the components of computer system 1000 may be coupled to that single bus. Further, the computer system 1000 may include additional components such as additional processors, storage devices, or memories.

一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティング・システムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、1つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、1つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータ・システム1000に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、1つまたは複数の命令を、コンピュータ・システム1000内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア(例えば、特定用途向け集積回路)、または、これらの任意の組み合わせにおいて実装され得る。   In general, the processes and features described herein may be implemented as part of an operating system or a particular application, component, program, object, module, or series of instructions referred to as a “program”. For example, one or more programs may be used to perform the specific processes described herein. A program, when read and executed by one or more processors, typically acts on computer system 1000 to perform the processes and features described herein. One or more instructions to be executed are provided in various memory and storage devices in computer system 1000. The processes and features described herein may be implemented in software, firmware, hardware (eg, application specific integrated circuits), or any combination thereof.

1つの実装において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータ・システム1000によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体(もしくはマシン読取可能な媒体)上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ1002などの、ハードウェア・システム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マス・ストレージ1018などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワーク・インターフェース1016を通じて受信されてもよい。命令は、マス・ストレージ1018などの記憶デバイスからシステム・メモリ1014内へコピーされ、次いで、プロセッサ1002によってアクセスされ、実行される。様々な実施形態において、1つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、1つまたは複数の位置における、1つまたは複数のプロセッサによって実行され得る。   In one implementation, the processes and features described herein are implemented as a series of executable modules that are executed by computer system 1000 either individually or collectively in a distributed computing environment. The aforementioned modules may be implemented by hardware, executable modules stored on computer readable media (or machine readable media), or a combination of both. For example, a module may comprise multiple instructions or a series of instructions to be executed by a processor in a hardware system, such as processor 1002. First, the sequence of instructions may be stored on a storage device such as mass storage 1018. However, the series of instructions may be stored on any suitable computer readable storage medium. Further, the sequence of instructions need not be stored locally, but may be received through the network interface 1016 from a remote storage device such as a server on the network. The instructions are copied from a storage device, such as mass storage 1018, into system memory 1014 and then accessed and executed by processor 1002. In various embodiments, one or more modules may be executed by one or more processors at one or more locations, such as multiple servers in a parallel processing environment.

コンピュータ読取可能な媒体の例は、揮発性メモリ・デバイスおよび不揮発性メモリ・デバイスなどの記録可能なタイプの媒体、ソリッド・ステート・メモリ、フロッピー(登録商標)ディスクおよび他の取り外し可能なディスク、ハード・ディスク・ドライブ、磁気媒体、光ディスク(例えば、コンパクト・ディスク読取専用メモリ(CD ROMS)、デジタル多用途ディスク(DVD))、他の同様の非一時的で(もしくは一時的で)、有形の(もしくは無形の)記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の1つもしくは複数を実行すべく、コンピュータ・システム1000による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。   Examples of computer readable media include recordable type media such as volatile and non-volatile memory devices, solid state memory, floppy disks and other removable disks, hardware Disk drives, magnetic media, optical disks (eg, compact disk read only memory (CD ROMS), digital versatile disk (DVD)), other similar non-temporary (or temporary), tangible ( (Or intangible) storage medium or a sequence of instructions for execution by the computer system 1000 to execute any one or more of the processes and features described herein, Including any type of media suitable for crystallization or support, But it is not limited.

説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素(例えば、モジュール、ブロック、構造、デバイス、特徴等)は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。   For the purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present description. However, it will be apparent to those skilled in the art that embodiments of the present disclosure may be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the present description. In other examples, functional block diagrams and flow diagrams are shown to represent data and logic flows. Block diagram and flow diagram components (eg, modules, blocks, structures, devices, features, etc.) may be variously combined and separated in ways other than those explicitly described and illustrated herein. May be removed, rearranged and replaced.

この明細書における、「1つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な部分における「1つの実施形態において」または「一実施形態において」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。   References to “one embodiment”, “one embodiment”, “other embodiments”, “a series of embodiments”, “some embodiments”, “various embodiments”, etc. in this specification. Means that a particular feature, design, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. The appearances of the phrases “in one embodiment” or “in one embodiment” in various parts of the specification are not necessarily all referring to the same embodiment, but separate embodiments or alternatives. Such embodiments are not mutually exclusive with other embodiments. Furthermore, various features are described, with or without explicit reference to “embodiments” and the like, and various features can be variously combined and included in some embodiments. However, various other embodiments may be omitted. Similarly, various features are described which may be preferences or requirements for some embodiments but not preferences or requirements for other embodiments.

本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択され
ており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
The terminology used herein is selected primarily for readability and educational purposes and is not selected to outline or delineate the subject matter of the invention. Therefore, it is intended that the scope of the invention be limited not by this detailed description, but rather by any claim issued for an application based on this specification. Accordingly, the disclosure of embodiments of the invention is intended to be illustrative of the scope of the invention, but not to be limiting, the scope of the invention being set forth in the following claims.

Claims (19)

コンピューティング・システムが、点構成を予測するためにトレーニングした第1のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、2次元画像の顔部分を決定する工程と、
前記コンピューティング・システムが、前記2次元画像の顔部分を変換することによって生成された2次元顔画像の基準点のセットを決定する工程であって、少なくともいくつかの基準点は顔の特徴に対応し、前記第1のサポート・ベクトル・リグレッサとは異なる第2のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、前記基準点のセットが局所化される、工程と、
前記コンピューティング・システムが、前記2次元顔画像において検出された前記基準点のセットと、人間の顔の3次元形状において配置された対応するアンカー・ポイントのセットと、に少なくとも部分的に基づいて、前記2次元顔画像から3次元アライメントされた顔画像を生成する工程と
記コンピューティング・システムが、ディープ・ニューラル・ネットワーク(DNN)への前記3次元アライメントされた顔画像の提供に基づいて、前記2次元顔画像に対応する顔IDを分類する工程であって、前記DNNは、前記3次元アライメントされた顔画像の特徴のセットに基づいて、前記2次元顔画像を分類するためにトレーニングされる、工程と
を備える、コンピュータ実装方法。
A computing system determining a face portion of the two-dimensional image based at least in part on the first support vector regressor trained to predict the point configuration;
Said computing system determining a set of reference points of a two-dimensional face image generated by transforming a face portion of said two-dimensional image, wherein at least some reference points are defined as facial features. Correspondingly, the set of reference points is localized based at least in part on a second support vector regressor that is different from the first support vector regressor;
The computing system is based at least in part on the set of reference points detected in the two-dimensional face image and a corresponding set of anchor points arranged in a three-dimensional shape of a human face. a step of generating a three-dimensional aligned face images from the 2-dimensional face image,
Before SL computing system, the method comprising, based on the provision of the 3-dimensional alignment face image to deep neural network (DNN), to classify the face ID corresponding to the 2-dimensional face image, The DNN is trained to classify the two-dimensional face image based on the set of features of the three-dimensionally aligned face image .
3次元アライメントされた顔画像を生成する前記工程は
記2次元顔画像の基準点のセットを検出する工程と
記基準点のセットを使用して、前記2次元顔画像を3次元形状へ加工する工程と
を備える、請求項1に記載のコンピュータ実装方法。
The step of generating a three-dimensionally aligned face image includes :
A step of detecting a set of reference points prior SL 2-dimensional face image,
Using a set of pre-Symbol reference point, and a step of processing the 2-dimensional face images to 3-dimensional shape, the computer implemented method of claim 1.
前記加工する工程は、
ンカー・ポイントのセットを前記3次元形状上へ配置する工程であって、各アンカー・ポイントは、前記2次元顔画像の前記基準点のセットのうちの1つの基準点に対応する、配置する工程と
記2次元顔画像の前記基準点のセットのうちの各基準点の位置を前記3次元形状へ逆投影する工程と
記2次元顔画像の前記基準点のセットのうちの各基準点の前記位置を前記3次元形状の正面像へ投影する工程と
記基準点のセットと前記アンカー・ポイントのセットとに基づいて、前記2次元顔画像を前記3次元アライメントされた顔画像へ変換する工程と
を備える、請求項2に記載のコンピュータ実装方法。
As engineering for the processing,
A set of anchors point comprising the steps of placing into said three-dimensional shape on each anchor point corresponds to one reference point of the set of the reference point of the 2-dimensional face image, placing Process ,
A step of back projection position of each reference point of the set of the reference point before Symbol 2-dimensional face images to said three-dimensional shape,
A step of projecting the position of each reference point of the set of the reference point before Symbol 2-dimensional face image to the front image of the three-dimensional shape,
Based on a set of a set of pre-Symbol reference point the anchor point, and a step of converting the 2-dimensional face image to the three-dimensional alignment face image, a computer implemented method of claim 2.
前記2次元顔画像の前記基準点のセットは、三角形のセットを定義し、前記3次元アライメントされた顔画像へ変換する工程は、前記三角形のセットのうちの各三角形のアフィン変換を実行する工程を備える、請求項3に記載のコンピュータ実装方法。 Step set of reference points of the 2-dimensional face images is to define a set of triangles, the step of converting into the three-dimensional alignment face image is, to perform the affine transformation of each triangle of the set of the triangle The computer-implemented method of claim 3, comprising: 像の顔部分を、前記画像の基準点の第2のセットを検出することによって識別する工程と、
前記基準点の第2のセットに基づいて前記画像の前記顔部分を変換することによって、前記2次元顔画像を生成する工程と
をさらに備える
請求項に記載のコンピュータ実装方法。
And identifying by the face portion of the images, it detects a second set of reference points of the image,
Generating the two-dimensional face image by transforming the face portion of the image based on the second set of reference points .
The computer-implemented method of claim 1 .
前記2次元顔画像を生成する工程は、アンカー位置のセットを決定する工程と、前記アンカー位置のセットに基づいて前記画像の前記顔部分を加工する工程とを備える、請求項5に記載のコンピュータ実装方法。6. The computer of claim 5, wherein generating the two-dimensional face image comprises determining a set of anchor positions and processing the face portion of the image based on the set of anchor positions. Implementation method. 前記DNNは層のセットを備え、前記層は、畳み込みプーリング層と、局所的結合層のセットと、全結合層のセットとを備える、請求項に記載のコンピュータ実装方法。 The computer-implemented method of claim 1 , wherein the DNN comprises a set of layers, the layers comprising a convolutional pooling layer, a set of local coupling layers, and a set of full coupling layers. 前記畳み込みプーリング層は、第1の畳み込み層と、最大プーリング層と、第2の畳み込み層とを備え、前記畳み込みプーリング層は、3次元アライメントされた前記顔画像の特徴のセットを抽出するように構成される、請求項に記載のコンピュータ実装方法。 The convolution pooling layer comprises a first convolution layer, a maximum pooling layer, and a second convolution layer, wherein the convolution pooling layer extracts a set of features of the facial image that are three-dimensionally aligned. configured the computer-implemented method of claim 7. 前記局所的結合層のセットのうちの各局所的結合層は、3次元アライメントされた前記顔画像の特徴のセットを抽出するように構成される、請求項7に記載のコンピュータ実装方法。The computer-implemented method of claim 7, wherein each local coupling layer of the set of local coupling layers is configured to extract a set of features of the facial image that are three-dimensionally aligned. 前記全結合層のセットのうちの各全結合層は、3次元アライメントされた前記顔画像の特徴のセット内の相関を決定するように構成され、請求項7に記載のコンピュータ実装方法。The computer-implemented method of claim 7, wherein each full connected layer of the set of full connected layers is configured to determine a correlation within the set of facial image features that are three-dimensionally aligned. 前記全結合層のセットのうちの1つの全結合層の出力は、特徴ベクトルである、請求項7に記載のコンピュータ実装方法。The computer-implemented method of claim 7, wherein an output of one fully connected layer of the set of fully connected layers is a feature vector. 前記特徴のセットのうちの各特徴は、所定の範囲へ正規化される、請求項7に記載のコンピュータ実装方法。The computer-implemented method of claim 7, wherein each feature of the set of features is normalized to a predetermined range. 前記DNNは、3次元アライメントされた前記顔画像の各画素についてのフィルタのセットを定義するように構成される、請求項に記載のコンピュータ実装方法。 The computer-implemented method of claim 1 , wherein the DNN is configured to define a set of filters for each pixel of the face image that is three-dimensionally aligned. データセットを用いて前記フィルタのセットを定義するように前記DNNをトレーニングする工程をさらに備える、請求項13に記載のコンピュータ実装方法。 The computer-implemented method of claim 13 , further comprising training the DNN to define the set of filters using a data set. 画像ストアにおいて前記2次元顔画像の前記IDを問い合わせることによって、前記2次元顔画像の個人を識別する工程をさらに備え、前記画像ストアは、顔画像のセットを備え、前記顔画像のセットのうちの各顔画像は、個人に対応する、請求項に記載のコンピュータ実装方法。 Further comprising identifying an individual of the two-dimensional face image by querying the ID of the two-dimensional face image in an image store, the image store comprising a set of face images, of the set of face images each face image corresponds to the personal computer-implemented method of claim 1. 2の2次元顔画像の第2のIDを分類する工程と
記IDおよび前記第2のIDが個人に対応するか否かを決定するために、前記IDを前記第2のIDに対して比較する工程と
をさらに備える、請求項に記載のコンピュータ実装方法。
A step of classifying the second ID of the second 2-dimensional face image,
For prior Symbol ID and the second ID to determine whether corresponding to individual, further comprising the step of comparing the ID for the second ID, computer implementation according to claim 1 Method.
前記IDは、特徴の第1のセットを備え、前記第2のIDは、特徴の第2のセットを備え、IDを比較する前記工程は
徴の前記第1のセットと特徴の前記第2のセットとの間の特徴差のセットを決定する工程と
結合層を使用することによって、特徴差の前記セットを所定の値に対してマッピングする工程と
を備える、請求項16に記載のコンピュータ実装方法。
The ID comprises a first set of features, the second ID comprises a second set of features, and the step of comparing IDs comprises :
Determining a set of characteristic differences between the second set of the first set and features of Features,
17. The computer-implemented method of claim 16 , comprising: mapping the set of feature differences to a predetermined value by using a fully connected layer.
少なくとも1つのプロセッサと、
命令を記憶するメモリとを備えるシステムであって、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記システムに
点構成を予測するためにトレーニングした第1のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、2次元画像の顔部分を決定する工程と、
前記2次元画像の顔部分を変換することによって生成された2次元顔画像の基準点のセットを決定する工程であって、少なくともいくつかの基準点は顔の特徴に対応し、前記第1のサポート・ベクトル・リグレッサとは異なる第2のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、前記基準点のセットが局所化される、工程と、
前記2次元顔画像において検出された前記基準点のセットと、人間の顔の3次元形状において配置された対応するアンカー・ポイントのセットと、に少なくとも部分的に基づいて、前記2次元顔画像から3次元アライメントされた顔画像を生成する工程と
ィープ・ニューラル・ネットワーク(DNN)への前記3次元アライメントされた顔画像の提供に基づいて、前記2次元顔画像に対応する顔IDを分類する工程であって、前記DNNは、前記3次元アライメントされた顔画像の特徴のセットに基づいて、前記2次元顔画像を分類するためにトレーニングされる、工程と、を行わせる、システム。
At least one processor;
And a memory for storing instructions, wherein when the instructions are executed by the at least one processor, the system includes :
Determining a facial portion of the two-dimensional image based at least in part on the first support vector regressor trained to predict the point composition;
Determining a set of reference points of a two-dimensional face image generated by transforming a face portion of the two-dimensional image, wherein at least some reference points correspond to facial features, The set of reference points is localized based at least in part on a second support vector regressor different from the support vector regressor;
From the two-dimensional face image based at least in part on the set of reference points detected in the two-dimensional face image and a set of corresponding anchor points arranged in a three-dimensional shape of a human face. Generating a three-dimensionally aligned face image ;
Based on providing the 3-dimensional alignment face image to de Ipu neural network (DNN), a step of classifying the face ID corresponding to the 2-dimensional face image, the DNN, the 3-dimensional A system trained to classify the two-dimensional face image based on a set of features of the aligned face image .
命令を含む非一時的なコンピュータ読取可能な記憶媒体であって、前記命令は、コンピューティング・システムの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティング・システムに
点構成を予測するためにトレーニングした第1のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、2次元画像の顔部分を決定する工程と、
前記2次元画像の顔部分を変換することによって生成された2次元顔画像の基準点のセットを決定する工程であって、少なくともいくつかの基準点は顔の特徴に対応し、前記第1のサポート・ベクトル・リグレッサとは異なる第2のサポート・ベクトル・リグレッサに少なくとも部分的に基づいて、前記基準点のセットが局所化される、工程と、
前記2次元顔画像において検出された前記基準点のセットと、人間の顔の3次元形状において配置された対応するアンカー・ポイントのセットと、に少なくとも部分的に基づいて、前記2次元顔画像から3次元アライメントされた顔画像を生成する工程と、
ィープ・ニューラル・ネットワーク(DNN)への前記3次元アライメントされた顔画像の提供に基づいて、前記2次元顔画像に対応する顔IDを分類する工程であって、前記DNNは、前記3次元アライメントされた顔画像の特徴のセットに基づいて、前記2次元顔画像を分類するためにトレーニングされる、工程と、を行わせる、記憶媒体。
A non-transitory computer readable storage medium containing instructions, wherein the instructions are executed by the computing system when executed by at least one processor of the computing system .
Determining a facial portion of the two-dimensional image based at least in part on the first support vector regressor trained to predict the point composition;
Determining a set of reference points of a two-dimensional face image generated by transforming a face portion of the two-dimensional image, wherein at least some reference points correspond to facial features, The set of reference points is localized based at least in part on a second support vector regressor different from the support vector regressor;
From the two-dimensional face image based at least in part on the set of reference points detected in the two-dimensional face image and a set of corresponding anchor points arranged in a three-dimensional shape of a human face. Generating a three-dimensionally aligned face image;
Based on providing the 3-dimensional alignment face image to de Ipu neural network (DNN), a step of classifying the face ID corresponding to the 2-dimensional face image, the DNN, the 3-dimensional A storage medium that is trained to classify the two-dimensional face image based on a set of features of the aligned face image .
JP2016552440A 2013-11-04 2014-11-03 System and method for facial expression Expired - Fee Related JP6594329B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361899877P 2013-11-04 2013-11-04
US61/899,877 2013-11-04
US14/530,585 US10095917B2 (en) 2013-11-04 2014-10-31 Systems and methods for facial representation
US14/530,585 2014-10-31
PCT/US2014/063722 WO2015066628A1 (en) 2013-11-04 2014-11-03 Systems and methods for facial representation

Publications (2)

Publication Number Publication Date
JP2017501514A JP2017501514A (en) 2017-01-12
JP6594329B2 true JP6594329B2 (en) 2019-10-23

Family

ID=53005266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016552440A Expired - Fee Related JP6594329B2 (en) 2013-11-04 2014-11-03 System and method for facial expression

Country Status (9)

Country Link
US (2) US10095917B2 (en)
JP (1) JP6594329B2 (en)
KR (1) KR20160083900A (en)
CN (1) CN105874474B (en)
AU (1) AU2014341919B2 (en)
CA (1) CA2928932A1 (en)
IL (1) IL245320B (en)
MX (2) MX362983B (en)
WO (1) WO2015066628A1 (en)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9668699B2 (en) 2013-10-17 2017-06-06 Siemens Healthcare Gmbh Method and system for anatomical object detection using marginal space deep neural networks
US9730643B2 (en) 2013-10-17 2017-08-15 Siemens Healthcare Gmbh Method and system for anatomical object detection using marginal space deep neural networks
US9700219B2 (en) 2013-10-17 2017-07-11 Siemens Healthcare Gmbh Method and system for machine learning based assessment of fractional flow reserve
CN106415594B (en) * 2014-06-16 2020-01-10 北京市商汤科技开发有限公司 Method and system for face verification
US9754188B2 (en) * 2014-10-23 2017-09-05 Microsoft Technology Licensing, Llc Tagging personal photos with deep networks
US9996768B2 (en) * 2014-11-19 2018-06-12 Adobe Systems Incorporated Neural network patch aggregation and statistics
US10257495B1 (en) * 2014-12-31 2019-04-09 Morphotrust Usa, Llc Three dimensional composite images of digital identifications
US10134177B2 (en) * 2015-01-15 2018-11-20 Samsung Electronics Co., Ltd. Method and apparatus for adjusting face pose
US9953247B2 (en) * 2015-01-29 2018-04-24 Samsung Electronics Co., Ltd. Method and apparatus for determining eye position information
US9514391B2 (en) * 2015-04-20 2016-12-06 Xerox Corporation Fisher vectors meet neural networks: a hybrid visual classification architecture
US9633306B2 (en) 2015-05-07 2017-04-25 Siemens Healthcare Gmbh Method and system for approximating deep neural networks for anatomical object detection
US10460230B2 (en) 2015-06-04 2019-10-29 Samsung Electronics Co., Ltd. Reducing computations in a neural network
US11423311B2 (en) 2015-06-04 2022-08-23 Samsung Electronics Co., Ltd. Automatic tuning of artificial neural networks
US9734567B2 (en) 2015-06-24 2017-08-15 Samsung Electronics Co., Ltd. Label-free non-reference image quality assessment via deep neural network
JP6754619B2 (en) * 2015-06-24 2020-09-16 三星電子株式会社Samsung Electronics Co.,Ltd. Face recognition method and device
KR20170000748A (en) * 2015-06-24 2017-01-03 삼성전자주식회사 Method and apparatus for face recognition
US10032335B2 (en) 2015-08-03 2018-07-24 Angel Playing Cards Co., Ltd. Fraud detection system in casino
US10255040B2 (en) * 2017-05-11 2019-04-09 Veridium Ip Limited System and method for biometric identification
JP6528608B2 (en) * 2015-08-28 2019-06-12 カシオ計算機株式会社 Diagnostic device, learning processing method in diagnostic device, and program
US11423323B2 (en) * 2015-09-02 2022-08-23 Qualcomm Incorporated Generating a sparse feature vector for classification
US10489701B2 (en) * 2015-10-13 2019-11-26 Facebook, Inc. Generating responses using memory networks
US10275684B2 (en) 2015-11-04 2019-04-30 Samsung Electronics Co., Ltd. Authentication method and apparatus, and method and apparatus for training a recognizer
US10019631B2 (en) * 2015-11-05 2018-07-10 Qualcomm Incorporated Adapting to appearance variations when tracking a target object in video sequence
US20170154269A1 (en) * 2015-11-30 2017-06-01 Seematics Systems Ltd System and method for generating and using inference models
CN105608698B (en) * 2015-12-25 2018-12-25 西北工业大学 A kind of method for detecting change of remote sensing image based on SAE
KR20170082024A (en) * 2016-01-05 2017-07-13 한국전자통신연구원 Apparatus and Method for Recognizing Face
US10192103B2 (en) * 2016-01-15 2019-01-29 Stereovision Imaging, Inc. System and method for detecting and removing occlusions in a three-dimensional image
KR102501838B1 (en) * 2016-02-01 2023-02-23 삼성전자주식회사 Authentication apparatus and method based on electrocardiographic signals
JP6525912B2 (en) * 2016-03-23 2019-06-05 富士フイルム株式会社 Image classification device, method and program
CN107292322B (en) * 2016-03-31 2020-12-04 华为技术有限公司 Image classification method, deep learning model and computer system
JP6778010B2 (en) * 2016-04-13 2020-10-28 キヤノン株式会社 Image identification system, image identification method
KR101873645B1 (en) * 2016-04-25 2018-07-04 한국과학기술원 Method and apparatus for multiple image information generation and the processing for optimal recognition performance in a deep learning
US9984314B2 (en) 2016-05-06 2018-05-29 Microsoft Technology Licensing, Llc Dynamic classifier selection based on class skew
CN106023154B (en) * 2016-05-09 2019-03-29 西北工业大学 Multidate SAR image change detection based on binary channels convolutional neural networks
CN105957086B (en) * 2016-05-09 2019-03-26 西北工业大学 A kind of method for detecting change of remote sensing image based on optimization neural network model
US20170337682A1 (en) * 2016-05-18 2017-11-23 Siemens Healthcare Gmbh Method and System for Image Registration Using an Intelligent Artificial Agent
JP6345203B2 (en) * 2016-05-19 2018-06-20 株式会社 ディー・エヌ・エー Program, system, and method for determining similarity of objects
CN105975959B (en) * 2016-06-14 2019-09-03 广州视源电子科技股份有限公司 Face feature extraction modeling and face recognition method and device based on neural network
CN114495249A (en) 2016-07-14 2022-05-13 奇跃公司 Iris boundary estimation using corneal curvature
KR102648770B1 (en) 2016-07-14 2024-03-15 매직 립, 인코포레이티드 Deep neural network for iris identification
WO2018033137A1 (en) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 Method, apparatus, and electronic device for displaying service object in video image
JP7002536B2 (en) * 2016-08-22 2022-01-20 マジック リープ, インコーポレイテッド Augmented reality display device with deep learning sensor
TWI622020B (en) * 2016-09-26 2018-04-21 財團法人成大研究發展基金會 Clustering method with a two-stage local binary pattern and an iterative image testing system thereof
US10217221B2 (en) * 2016-09-29 2019-02-26 Intel Corporation Place recognition algorithm
RU2016138608A (en) 2016-09-29 2018-03-30 Мэджик Лип, Инк. NEURAL NETWORK FOR SEGMENTING THE EYE IMAGE AND ASSESSING THE QUALITY OF THE IMAGE
JP6872011B2 (en) 2016-10-04 2021-05-19 マジック リープ, インコーポレイテッドMagic Leap,Inc. Efficient data layout for convolutional neural networks
US10198626B2 (en) * 2016-10-19 2019-02-05 Snap Inc. Neural networks for facial modeling
US10740596B2 (en) * 2016-11-08 2020-08-11 Nec Corporation Video security system using a Siamese reconstruction convolutional neural network for pose-invariant face recognition
WO2018093796A1 (en) 2016-11-15 2018-05-24 Magic Leap, Inc. Deep learning system for cuboid detection
CN106780662B (en) * 2016-11-16 2020-09-18 北京旷视科技有限公司 Face image generation method, device and equipment
US11132529B2 (en) * 2016-11-16 2021-09-28 Ventana Medical Systems, Inc. Convolutional neural networks for locating objects of interest in images of biological samples
CN106780658B (en) 2016-11-16 2021-03-09 北京旷视科技有限公司 Face feature adding method, device and equipment
CN107026842B (en) * 2016-11-24 2020-04-24 阿里巴巴集团控股有限公司 Method and device for generating security problem and verifying identity
KR102011667B1 (en) 2016-11-29 2019-08-20 (주)아크릴 Method for drawing word related keyword based on deep learning and computerprogram
AU2017370555B2 (en) 2016-12-05 2022-12-15 Magic Leap, Inc. Virtual user input controls in a mixed reality environment
KR20180073118A (en) 2016-12-22 2018-07-02 삼성전자주식회사 Convolutional neural network processing method and apparatus
CN108229269A (en) * 2016-12-31 2018-06-29 深圳市商汤科技有限公司 Method for detecting human face, device and electronic equipment
US10417738B2 (en) 2017-01-05 2019-09-17 Perfect Corp. System and method for displaying graphical effects based on determined facial positions
KR102696652B1 (en) 2017-01-26 2024-08-21 삼성전자주식회사 Stero matching method and image processing apparatus
JP6987508B2 (en) * 2017-02-20 2022-01-05 オムロン株式会社 Shape estimation device and method
AU2018236433B2 (en) 2017-03-17 2022-03-03 Magic Leap, Inc. Room layout estimation methods and techniques
KR102061408B1 (en) * 2017-03-24 2019-12-31 (주)제이엘케이인스펙션 Apparatus and method for analyzing images using semi 3d deep neural network
US10204438B2 (en) * 2017-04-18 2019-02-12 Banuba Limited Dynamic real-time generation of three-dimensional avatar models of users based on live visual input of users' appearance and computer systems and computer-implemented methods directed to thereof
US10019668B1 (en) 2017-05-19 2018-07-10 Google Llc Scheduling neural network processing
CN108960265B (en) * 2017-05-22 2022-06-17 阿里巴巴集团控股有限公司 Optimization method of image classification process, image classification method, device and system
US11869150B1 (en) 2017-06-01 2024-01-09 Apple Inc. Avatar modeling and generation
CN107358157B (en) * 2017-06-07 2020-10-02 创新先进技术有限公司 Face living body detection method and device and electronic equipment
US10650260B2 (en) * 2017-06-23 2020-05-12 Institute Of Automation, Chinese Academy Of Sciences Perspective distortion characteristic based facial image authentication method and storage and processing device thereof
KR102299847B1 (en) * 2017-06-26 2021-09-08 삼성전자주식회사 Face verifying method and apparatus
US10380413B2 (en) * 2017-07-13 2019-08-13 Robert Bosch Gmbh System and method for pose-invariant face alignment
WO2019022849A1 (en) 2017-07-26 2019-01-31 Magic Leap, Inc. Training a neural network with representations of user interface devices
CN107423727B (en) * 2017-08-14 2018-07-10 河南工程学院 Face complex expression recognition methods based on neural network
KR101877683B1 (en) * 2017-08-18 2018-07-12 연세대학교 산학협력단 Face Recognition Apparatus and Method Using Learning
WO2019052917A1 (en) 2017-09-13 2019-03-21 Koninklijke Philips N.V. Subject identification systems and methods
JP7162020B2 (en) 2017-09-20 2022-10-27 マジック リープ, インコーポレイテッド Personalized Neural Networks for Eye Tracking
CN108205677A (en) * 2017-09-21 2018-06-26 北京市商汤科技开发有限公司 Method for checking object, device, computer program, storage medium and electronic equipment
US10579785B2 (en) * 2017-09-29 2020-03-03 General Electric Company Automatic authentification for MES system using facial recognition
KR102602117B1 (en) 2017-10-26 2023-11-13 매직 립, 인코포레이티드 Gradient regularization systems and methods for adaptive loss balancing in deep multitask networks
EP3682366A1 (en) 2017-10-27 2020-07-22 Koninklijke Philips N.V. Camera and image calibration for subject identification
CN107909640B (en) * 2017-11-06 2020-07-28 清华大学 Face relighting method and device based on deep learning
US12008464B2 (en) * 2017-11-16 2024-06-11 Adobe Inc. Neural network based face detection and landmark localization
CN108052889B (en) * 2017-12-08 2020-07-24 深圳壹账通智能科技有限公司 Emotion recognition method, emotion recognition device and storage medium
CN108062787B (en) * 2017-12-13 2022-02-11 北京小米移动软件有限公司 Three-dimensional face modeling method and device
WO2019124850A1 (en) * 2017-12-20 2019-06-27 네이버랩스 주식회사 Method and system for personifying and interacting with object
US11010944B2 (en) * 2017-12-28 2021-05-18 Facebook, Inc. Systems and methods for swapping faces and face components based on facial recognition
US10482600B2 (en) 2018-01-16 2019-11-19 Siemens Healthcare Gmbh Cross-domain image analysis and cross-domain image synthesis using deep image-to-image networks and adversarial networks
US10614292B2 (en) 2018-02-06 2020-04-07 Kneron Inc. Low-power face identification method capable of controlling power adaptively
WO2019198850A1 (en) * 2018-04-13 2019-10-17 라인플러스 주식회사 Method and system for generating animal-shaped avatar by using human face
US11875251B2 (en) * 2018-05-03 2024-01-16 Samsung Electronics Co., Ltd. Neural network method and apparatus
KR102476758B1 (en) 2018-05-09 2022-12-09 삼성전자주식회사 Method and device to normalize image
US10733676B2 (en) * 2018-05-17 2020-08-04 Coupa Software Incorporated Automatic generation of expense data using facial recognition in digitally captured photographic images
JP6734323B2 (en) * 2018-05-22 2020-08-05 株式会社 ディー・エヌ・エー Program, system, and method for determining similarity of objects
CN109032744B (en) * 2018-07-27 2021-10-08 百度在线网络技术(北京)有限公司 Icon display method and device, server and storage medium
CN109446879A (en) * 2018-09-04 2019-03-08 南宁学院 A kind of Intelligent human-face recognition methods
US11036789B2 (en) * 2018-09-10 2021-06-15 Algoface, Inc. Computer vision neural network system
US11727724B1 (en) * 2018-09-27 2023-08-15 Apple Inc. Emotion detection
CN111046703B (en) * 2018-10-12 2023-04-18 杭州海康威视数字技术股份有限公司 Face anti-counterfeiting detection method and device and multi-view camera
WO2020085632A1 (en) * 2018-10-26 2020-04-30 삼성전자 주식회사 Biometrics-based user authentication method and device
WO2020085922A1 (en) 2018-10-26 2020-04-30 Soul Machines Limited Digital character blending and generation system and method
WO2020149601A1 (en) * 2019-01-15 2020-07-23 포항공과대학교 산학협력단 Method and device for high-speed image recognition using 3d cnn
US11783443B2 (en) 2019-01-22 2023-10-10 Fyusion, Inc. Extraction of standardized images from a single view or multi-view capture
US11176704B2 (en) 2019-01-22 2021-11-16 Fyusion, Inc. Object pose estimation in visual data
US10887582B2 (en) 2019-01-22 2021-01-05 Fyusion, Inc. Object damage aggregation
CN109903217B (en) * 2019-01-25 2023-05-02 北京百度网讯科技有限公司 Image deformation method and device
US12056616B2 (en) * 2019-01-30 2024-08-06 Samsung Electronics Co., Ltd. Method for processing image, and apparatus therefor
US10650279B1 (en) * 2019-01-31 2020-05-12 StradVision, Inc. Learning method and learning device for heterogeneous sensor fusion by using merging network which learns non-maximum suppression
KR102160955B1 (en) * 2019-02-07 2020-09-29 주식회사 블루프린트랩 Method and apparatus of generating 3d data based on deep learning
CN109934195A (en) * 2019-03-21 2019-06-25 东北大学 A kind of anti-spoofing three-dimensional face identification method based on information fusion
KR102193329B1 (en) * 2019-03-27 2020-12-22 한국원자력 통제기술원 Two dimensional image similarty comparison system using three dimensional model for identifing strategic material and method thereof
FR3094532B1 (en) 2019-03-28 2021-09-10 Sispia METHOD AND SYSTEM FOR IDENTIFYING OBJECTS FROM LABELED IMAGES OF THE SAID OBJECTS
US11049239B2 (en) * 2019-03-29 2021-06-29 GE Precision Healthcare LLC Deep neural network based identification of realistic synthetic images generated using a generative adversarial network
CN110111246B (en) 2019-05-15 2022-02-25 北京市商汤科技开发有限公司 Virtual head portrait generation method and device and storage medium
KR102209149B1 (en) * 2019-06-10 2021-02-01 경북대학교 산학협력단 Apparatus and method for three dimensional modeling of two dimensional drawings
US10853631B2 (en) * 2019-07-24 2020-12-01 Advanced New Technologies Co., Ltd. Face verification method and apparatus, server and readable storage medium
CN114503172A (en) * 2019-08-09 2022-05-13 克利尔维尤人工智能股份有限公司 Method for providing information about a person based on face recognition
US11475059B2 (en) * 2019-08-16 2022-10-18 The Toronto-Dominion Bank Automated image retrieval with graph neural network
CN110263774B (en) * 2019-08-19 2019-11-22 珠海亿智电子科技有限公司 A kind of method for detecting human face
US11830182B1 (en) 2019-08-20 2023-11-28 Apple Inc. Machine learning-based blood flow tracking
CN110488874A (en) * 2019-08-29 2019-11-22 五邑大学 A kind of education auxiliary robot and its control method
KR102658690B1 (en) * 2019-11-04 2024-04-17 엘지전자 주식회사 Method and apparatus for image conversion
US20240029345A1 (en) * 2019-11-18 2024-01-25 Wolfprint 3D Oü Methods and system for generating 3d virtual objects
US11967018B2 (en) 2019-12-20 2024-04-23 Apple Inc. Inferred shading
US11557086B2 (en) 2020-01-02 2023-01-17 Sony Group Corporation Three-dimensional (3D) shape modeling based on two-dimensional (2D) warping
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11562474B2 (en) 2020-01-16 2023-01-24 Fyusion, Inc. Mobile multi-camera multi-view capture
US11776142B2 (en) 2020-01-16 2023-10-03 Fyusion, Inc. Structuring visual data
WO2021150016A1 (en) * 2020-01-20 2021-07-29 Samsung Electronics Co., Ltd. Methods and systems for performing tasks on media using attribute specific joint learning
CN111507238B (en) * 2020-04-13 2023-08-01 盛景智能科技(嘉兴)有限公司 Face data screening method and device and electronic equipment
US11550889B2 (en) 2020-07-16 2023-01-10 International Business Machines Corporation Device functionality management via face scanning
CN112308957B (en) * 2020-08-14 2022-04-26 浙江大学 Optimal fat and thin face portrait image automatic generation method based on deep learning
CN112150638B (en) * 2020-09-14 2024-01-26 北京百度网讯科技有限公司 Virtual object image synthesis method, device, electronic equipment and storage medium
KR102645698B1 (en) 2020-10-28 2024-03-11 한국전자통신연구원 Method and apparatus for face recognition robust to alignment shape of the face
CN112541963B (en) * 2020-11-09 2023-12-26 北京百度网讯科技有限公司 Three-dimensional avatar generation method, three-dimensional avatar generation device, electronic equipment and storage medium
US11605151B2 (en) 2021-03-02 2023-03-14 Fyusion, Inc. Vehicle undercarriage imaging
US12073646B2 (en) * 2021-04-09 2024-08-27 Georgetown University Document search for document retrieval using 3D model
US12035033B2 (en) * 2021-06-22 2024-07-09 Microsoft Technology Licensing, Llc DNN assisted object detection and image optimization
WO2023277319A1 (en) * 2021-07-02 2023-01-05 가천대학교 산학협력단 Artificial intelligence-based classification apparatus and method therefor
US20240144622A1 (en) * 2022-10-31 2024-05-02 Pixar Object alignment techniques for animation
CN115410265B (en) * 2022-11-01 2023-01-31 合肥的卢深视科技有限公司 Model training method, face recognition method, electronic device and storage medium
CN116942313B (en) * 2023-06-05 2024-01-16 北京长木谷医疗科技股份有限公司 Surgical robot registration method and device based on reinforcement learning and electronic equipment

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991429A (en) * 1996-12-06 1999-11-23 Coffin; Jeffrey S. Facial recognition system for security access and identification
DE69934478T2 (en) * 1999-03-19 2007-09-27 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Method and apparatus for image processing based on metamorphosis models
EP1211640A3 (en) * 2000-09-15 2003-10-15 Canon Kabushiki Kaisha Image processing methods and apparatus for detecting human eyes, human face and other objects in an image
US7221809B2 (en) * 2001-12-17 2007-05-22 Genex Technologies, Inc. Face recognition system and method
US20050276452A1 (en) * 2002-11-12 2005-12-15 Boland James M 2-D to 3-D facial recognition system
JP2005316888A (en) * 2004-04-30 2005-11-10 Japan Science & Technology Agency Face recognition system
JP4448426B2 (en) * 2004-11-10 2010-04-07 日本電信電話株式会社 Image conversion apparatus and image conversion program
US20110102553A1 (en) 2007-02-28 2011-05-05 Tessera Technologies Ireland Limited Enhanced real-time face models from stereo imaging
KR100653416B1 (en) 2005-01-06 2006-12-01 퍼스텍주식회사 System for verifying faces of stand-alone type
KR100601989B1 (en) * 2005-02-07 2006-07-18 삼성전자주식회사 Apparatus and method for estimating 3d face shape from 2d image and computer readable media for storing computer program
JP4799104B2 (en) 2005-09-26 2011-10-26 キヤノン株式会社 Information processing apparatus and control method therefor, computer program, and storage medium
US7856125B2 (en) 2006-01-31 2010-12-21 University Of Southern California 3D face reconstruction from 2D images
US20080187213A1 (en) * 2007-02-06 2008-08-07 Microsoft Corporation Fast Landmark Detection Using Regression Methods
KR101363017B1 (en) 2007-08-23 2014-02-12 삼성전자주식회사 System and methed for taking pictures and classifying the pictures taken
JP4569670B2 (en) 2008-06-11 2010-10-27 ソニー株式会社 Image processing apparatus, image processing method, and program
US20110025830A1 (en) 2009-07-31 2011-02-03 3Dmedia Corporation Methods, systems, and computer-readable storage media for generating stereoscopic content via depth map creation
KR20110088361A (en) 2010-01-26 2011-08-03 한국전자통신연구원 Apparatus and method for generating a front face image
US8437506B2 (en) 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking
CN102622585A (en) * 2012-03-06 2012-08-01 同济大学 Back propagation (BP) neural network face recognition method based on local feature Gabor wavelets
US9152847B2 (en) * 2012-11-27 2015-10-06 Adobe Systems Incorporated Facial landmark localization by exemplar-based graph matching

Also Published As

Publication number Publication date
MX362983B (en) 2019-02-28
MX2019002400A (en) 2019-07-15
CN105874474B (en) 2020-02-18
CA2928932A1 (en) 2015-05-07
US20190171868A1 (en) 2019-06-06
IL245320A0 (en) 2016-06-30
AU2014341919B2 (en) 2019-10-31
KR20160083900A (en) 2016-07-12
IL245320B (en) 2020-02-27
JP2017501514A (en) 2017-01-12
MX2016005868A (en) 2017-01-20
US10095917B2 (en) 2018-10-09
WO2015066628A1 (en) 2015-05-07
AU2014341919A1 (en) 2016-05-19
US20150125049A1 (en) 2015-05-07
CN105874474A (en) 2016-08-17
US11210503B2 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
JP6594329B2 (en) System and method for facial expression
US10878579B2 (en) Systems and methods for determining optical flow
EP2869239A2 (en) Systems and methods for facial representation
US20210279817A1 (en) Systems and methods for utilizing compressed convolutional neural networks to perform media content processing
US9704029B2 (en) Systems and methods for identifying users in media content based on poselets and neural networks
US11170288B2 (en) Systems and methods for predicting qualitative ratings for advertisements based on machine learning
US11010944B2 (en) Systems and methods for swapping faces and face components based on facial recognition
US9892423B2 (en) Systems and methods for fraud detection based on image analysis
US20160189009A1 (en) Systems and methods for determining video feature descriptors based on convolutional neural networks
US20190205627A1 (en) Systems and methods for generating amplified facial expressions based on facial recognition
US10445558B2 (en) Systems and methods for determining users associated with devices based on facial recognition of images
CA3003892A1 (en) Systems and methods for processing content using convolutional neural networks
WO2014011495A1 (en) Method and system for determining image similarity
CN113366542A (en) Techniques for implementing augmented based normalized classified image analysis computing events
US10630632B2 (en) Systems and methods for ranking comments
WO2018205999A1 (en) Data processing method and apparatus
US20180007382A1 (en) Systems and methods for determining motion vectors
US9665695B2 (en) Systems and methods for ranking rules that identify potentially illegitimate activities
US10621417B2 (en) Systems and methods for generating content
US20170372163A1 (en) Systems and methods for incremental character recognition to recognize characters in images
Sharma et al. Comparative analysis of different algorithms in link prediction on social networks
US10681267B2 (en) Systems and methods for increasing resolution of images captured by a camera sensor
Anand et al. 14 Clustering of Big Data in

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190924

R150 Certificate of patent or registration of utility model

Ref document number: 6594329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees