JP2016504657A - 画像の方向を修正するための画像内容に基づく画像の回転 - Google Patents

画像の方向を修正するための画像内容に基づく画像の回転 Download PDF

Info

Publication number
JP2016504657A
JP2016504657A JP2015542773A JP2015542773A JP2016504657A JP 2016504657 A JP2016504657 A JP 2016504657A JP 2015542773 A JP2015542773 A JP 2015542773A JP 2015542773 A JP2015542773 A JP 2015542773A JP 2016504657 A JP2016504657 A JP 2016504657A
Authority
JP
Japan
Prior art keywords
image
content
determining
current direction
axis
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.)
Granted
Application number
JP2015542773A
Other languages
English (en)
Other versions
JP6012060B2 (ja
Inventor
クリシュナスワミ、アラビンド
ブッコ、ニコラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2016504657A publication Critical patent/JP2016504657A/ja
Application granted granted Critical
Publication of JP6012060B2 publication Critical patent/JP6012060B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/608Rotation of whole images or parts thereof by skew deformation, e.g. two-pass or three-pass rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

いくつかの実施態様では、画像の方向を修正するために画像コンテンツに基づき画像を回転させる。いくつかの実施態様では、ある方法は、画像に示されるコンテンツの1以上の識別要素を取得し、画像に示されたコンテンツの現在の方向を決定することを含む。現在の方向は、コンテンツの1以上の識別要素に基づいて決定される。画像の回転量は、識別されたコンテンツを現在の方向よりもある所定の基準方向により近く方向付けるように決定される。画像は決定された量だけ回転される。

Description

本出願は、2012年11月16日に出願された米国特許出願第13/678,850の優先権を主張するものであり、同出願は、その全体が参照により本明細書に組み入れられる。
広く行き渡ったインターネット通信の利用のみならず、デジタルカメラの人気及び利便性が写真などのユーザーにより生成された画像を広く普及させている。
例えば、電子メール、掲示板、フォーラム、ソーシャルネットワーキングサービスなどのインターネットプラットフォーム及びサービスのユーザーは、自分自身と他人が見るために画像を投稿する。しかし、多くの撮影された画像は、撮影時に想定した方向から、カメラまたは他の撮像装置が意図することなく回転しているため、回転によるねじれ(skew)を有する。いくつかのケースでは、ユーザーは、様々なソフトウェアプログラムを使用して、その後手動でこの回転を修正することができる。
本出願の発明は画像の内容の分析に基づく画像の回転に関するものである。
いくつかの実施態様では、ある方法は、画像に示されるコンテンツの1以上の識別要素を取得し、画像に示されたコンテンツの現在の方向を決定することを含む。現在の方向は、コンテンツの1以上の識別要素に基づいて決定される。
画像の回転量は、識別されたコンテンツを現在の方向よりもある所定の基準方向により近く方向付けるように決定される。画像は決定された量だけ回転される。
上記の方法の様々な実施態様および例が記述される。所定の基準方向は、現在の方向での画像の1以上の境界線またはエッジに基づいて、ほぼ水平軸に合わせすることができる。現在の方向は、複数の技術から利用可能な1以上の分析技術を選択し、そして適用することに基づいて決定することができ、その技術の選択は、コンテンツの1以上の識別要素に基づいて決定される。現在の方向を決定することには、画像内の1以上の特徴を決定するための1以上の線形軸に基づく画像の方向軸(orientation axis) を決定することを含むことができる。
いくつかの実施態様では、エッジ検出技術は、画像内の少なくとも一つの有力なエッジを見つけるために用いることができ、この方法は、所定の基準方向からの有力なエッジのずれの量を決定することができる。エッジ検出プロセスは、画像が、風景または屋外環境の描写のような、エッジ検出プロセスを使用することに関連付けられているある種類のコンテンツを描いていると判断したことに応答して、使用することができる。
いくつかの実施態様では、現在の画像の方向を決定することには、画像に描かれていると識別された各顔の両目の間の軸を決定することを含む顔の方向判定技術を用いることを含むことができる。顔の方向判定技術は、画像が1以上の顔を描いていると判断したことに応答して用いることができる。得られる軸は、一以上の顔の決定された軸に当て嵌めることができ、この方法は、所定の基準方向からの、得られる軸のずれの量を決定することができる。いくつかの例では、得られる軸は、複数の顔の軸の平均の軸(average axis)として、複数の顔の軸のモード軸(mode axis)として、1以上の顔の軸の平均軸(mean axis)として決定することができる。他の例では、現在の方向を決定することには、画像の現在の方向を決定するために、機械学習を用いる複数の識別器に画像を入力することを含むことができる。上記の方法のいくつかの実施態様では、ユーザーからの入力は、画像の回転の指示であるとして受領することができ、そして回転された画像が対応して表示され、それは現在の方向の画像の表示から、表示された回転された方向に急変化(snapping)させることを含む。表示された回転方向は決定された回転の量に対応する。
いくつかの実施態様では、ある方法は、画像コンテンツを含む画像を取得し、そして画像に示されるコンテンツを識別することを含むことができる。識別されたコンテンツは、画像中の画像コンテンツの少なくとも一部であっても良い。
この方法は、画像に描かれたコンテンツの現在の方向を決定するために、1以上の技術を選択しそして適用し、この1以上の技術は複数の利用可能な技術から選択される。この技術の選択は、画像に描かれ識別されたコンテンツに基づく。
この方法は、描かれたコンテンツを現在の方向よりも所定の基準方向に近い方向に向けるように画像の回転量を決定し、そして決定された回転量だけ画像を回転させる。
いくつかの実施態様では、システムは、記憶装置と、記憶装置にアクセスして、操作を実行可能にする少なくとも一つのプロセッサを含む。操作は、画像に描かれたコンテンツの1以上の識別要素を取得し、画像に描かれたコンテンツの、現在の方向を決定することを含む。現在の方向は、コンテンツの1以上の識別要素に基づいて決定される。画像の回転量は、識別されたコンテンツを現在の方向よりもある所定の基準方向により近い方向に向けるように決定される。操作は、画像をある決定された量だけ回転することを含む。
上記システムの様々な実施態様及び例では、所定の基準方向は現在の方向における画像の、1以上の境界線又はエッジに基づいて、ほぼ水平の軸に位置合わせされる。現在の方向を決定する操作には、画像の現在の方向を決定するために1以上の技術を選択し、そして適用することを含むことができ、前記技術は、1以上の識別要素に基づいて複数の技術から選択される。現在の方向を決定する操作は、画像内の1以上の特徴について決定された1以上の線形軸に基づき、画像に対する方向軸を決定することを含むことができる。現在の方向を決定することには、画像中の少なくとも一つの有力なエッジを見つけるために、少なくとも一つのエッジ検出技術及び画像に描かれていると識別された各顔の両目の間の軸を決定することを含む顔の方向判定技術を使用することを含むことができる。入力は、画像の回転を指示するユーザーから受領することができ、回転された画像が表示されるが、それには画像の表示を現在の方向から表示された回転された方向に急変化させることを含み、表示された回転された方向は決定された回転量に対応する。
図1は、本明細書に記載の1以上の実施態様に使用され得る例示的なネットワーク環境のブロック図である。
図2A-2Fは、いくつかの実施態様における、その方向を修正するために顔のコンテンツを有する画像を回転させる例の説明図である。
図3A-3Fは、いくつかの実施態様における、その方向を修正するために風景コンテンツを有する画像を回転させる例の説明図である。
図4は、いくつかの実施態様における、画像コンテンツに基づいて、画像の方向を修正するために回転を用いる方法の例を示すフロー図である。
図5は、いくつかの実施態様における、図4の方法の実施例を示すフロー図である。
図6は、図5の方法において使用する画像コンテンツの現在の方向を決定するための実施態様を示すフロー図である。
図7は、図5の方法において使用する画像コンテンツの現在の方向を決定する第2の実施態様を示すフロー図である。
図8は、本明細書に記載の1以上の実施態様において使用され得る装置の例のブロック図である。
発明の詳細な説明
本明細書に記載された一以上の実施態様は、画像の方向を修正するために画像コンテンツに基づく画像の回転に関する。種々の実施態様において、あるシステムは、画像に描かれたコンテンツの識別要素を取得する。前記システムは、識別されたコンテンツに基づいて、画像コンテンツの現在の方向及びそのコンテンツが、その方向を修正するために回転を必要とするかどうかを決定することができる。そしてシステムは、正しい方向に画像を回転させることができる。これらおよびその他の記載された特徴は、自動的に決定され、及び適切な画像の回転をユーザーにもたらすことができる。
前記システムは、画像に描かれ識別されたコンテンツの識別要素を取得することができる。例えば、顔認識または物体認識は、画像コンテンツの記述子(descriptor)のような識別要素を提供することができる。システムはコンテンツの識別要素に基づいて、画像コンテンツの現在の方向を決定することができる。例えば、いくつかの実施態様では、一以上の分析技術が、識別されたコンテンツに基づいて選択され、選択された技術がコンテンツの現在の方向を決定するために画像に適用される。このような分析技術は、人の顔や風景や屋外環境のような、ある種のコンテンツに対してより適用が可能なまたは効果的な技術を含むことがある。いくつかの実施態様では、現在の方向を決定するために機械学習技術を使用することができる。
様々な実施態様において、画像に描かれた複数の現象および/または複数の種類のコンテンツを考慮した結果に基づいて、得られる方向を見出だすことができる。あるシステムでは、描かれたコンテンツを水平方向のようなある基準方向により近い方向に向ける画像の回転量を決定し、そして画像の方向を修正するために決定された量だけ画像を回転させることができる。
そのような特徴は、画像コンテンツに基づいて、画像の自動化された回転修正を可能にし、画像中の歪みの適切な修正を行う。例えば、識別された画像コンテンツに基づいて決定された回転は、画像の、より正確で、一貫性のある、良好な方向の修正を可能にすることができる。いくつかの実施態様では、画像の方向を修正するために、ユーザーが画像を手動で操作することを必要とせず、いくつかの実施態様では、ユーザーが画像の方向を、より簡単かつ迅速に手動操作することを可能にするガイドとして修正される方向を決定することができる。
図1は、本明細書に記載のいくつかの実施態様で使用することができる、例示的なネットワーク環境100のブロック図を示す。いくつかの実施態様では、ネットワーク環境100は、図1に示す例のサーバシステム102のような、1以上のサーバシステムを含む。サーバシステム102は、例えば、ネットワーク130と通信することができる。サーバシステム102は、サーバ装置104とソーシャルネットワークデータベース106または他の記憶装置を含むことができる。ネットワーク環境100は、また、ネットワーク130及びサーバシステム102を介して互いに通信することができる、クライアントデバイス120、122、124、および126などの1以上のクライアントデバイスを含むことができる。ネットワーク130は、1以上のインターネット、ローカルエリアネットワーク(LAN)、無線ネットワーク、スイッチまたはハブ接続などを含む、任意の種類の通信ネットワークとすることができる。
図を簡単にするために、図1は、サーバシステム102、サーバ装置104、及びソーシャルネットワークデータベース106を1ブロックに示しており、クライアント・デバイス120、122、124、及び126を4ブロックに示している。
サーバブロック102, 104、及び106は、複数のシステム、サーバ装置、およびネットワークデータベースを表しても良く、そして各ブロックは、示されているものと異なる構成で提供することができる。例えば、サーバシステム102は、ネットワーク130を介して他のサーバシステムと通信可能な複数のサーバ・システムを表すことができる。他の例では、ソーシャルネットワークデータベース106および/または他の記憶装置は、サーバ装置104から分離され、ネットワーク130を介して、サーバ装置104及び他のサーバシステムと通信可能な1または複数のサーバシステムブロックとして提供することができる。
また、任意の数のクライアント・デバイスが存在してもよい。各クライアント デバイスは、コンピュータシステム、携帯機器、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、テレビセットトップボックス、または娯楽デバイス、パーソナルデジタルアシスタント(PDA)、メディアプレーヤ、ゲーム装置などの任意の種類の電子機器とすることができる。他の実施態様では、ネットワーク環境100は、示されたコンポーネントのすべてを持っていないこともあり、および/または、または本明細書に記載したものに代えて、又はそれに加えて他の種類の要素を含む他の要素を含んでもよい。
種々の実施態様において、ユーザーU1、U2、U3、及びU4は、互いに、それぞれのクライアントデバイス120、122、124及び126を用いて通信することができ、そしていくつかの実施態様では、各ユーザーは、ネットワークシステム100によって実施されるソーシャルネットワークサービスを介してメッセージおよび通知を受領することができる。ある例では、ユーザーU1、U2、U3およびU4は、ソーシャルネットワークサービスを介して互いに相互交流(interact)することができ、その場合、各々のクライアントデバイス120、122、124、及び126は、システム102のような1以上のサーバシステムに通信およびデータを送信し、そして、サーバシステム102は、クライアントデバイスに適切なデータを提供するので、各クライアントデバイスは、サーバシステム102を介してソーシャルネットワークサービスにアップロードされた共有コンテンツを受領することができる。
ソーシャルネットワークサービスは、ユーザーに種々の通信を実行し、リンクや関連(associations)を形成し、共有コンテンツをアップロードし及び投稿する、及び/又は、その他の社会的に関連する機能を実行させる任意のシステムを含むことができる。例えば、ソーシャルネットワークサービスは、ユーザーに以下のこと可能にする:
ユーザーが特定のまたは複数の他のユーザーにメッセージを送信し、ソーシャルネットワークシステム内の他のユーザーとの間で関連の形でリンクを形成し、ユーザーリスト、友人リスト、またはその他のグループの内の他のユーザーをグループ化する、テキスト、画像(例えば、写真などの)、ビデオシーケンス、オーディオシーケンス又は録音、またはソーシャルネットワークサービスの指定された組のユーザーによりアクセスされる他の種類のコンテンツを送信する。
ソーシャルネットワークサービスの他のユーザーにマルチメディア情報及び他の情報を送信する、サービスの他のユーザーとのライブビデオ、オーディオ、および/またはテキストチャットに参加すること等である。
ユーザーは、画像や他の種類のコンテンツを含む投稿されたコンテンツの1以上のアルバムを編成することができる。
ユーザーは、指定されたユーザーグループ内のユーザーが、ソーシャルネットワーキングサービス上のユーザーに関連付けられたコンテンツおよび他の情報にアクセスまたはそれらを受領できるようにするために、1以上のユーザーグループを指定することができる。本明細書で使用される「ソーシャルネットワーキングサービス」の用語は、ユーザー間の相互交流を容易にするソフトウェアおよび/またはハードウェアシステムを含むことができ、ネットワークシステム上で実施されるサービスを含むことができる。いくつかの実施態様では、「ユーザー」は、1以上のプログラムまたは仮想エンティティ(virtual entities)、ならびにシステムまたはネットワークとインターフェイス接続する人々を含むことができる。
コンテンツと通信の表示、プライバシー設定、通知、および本明細書に記載の他の特徴を含み、ソーシャルネットワーキングインターフェイスは、サーバシステムと通信するアプリケーションソフトウェアまたはクライアントソフトウェアのようなクライアントデバイス上のソフトウェアを使用して表示することができる。インターフェイスは、表示画面のようなクライアントデバイスの出力装置上に表示することができる。例えば、いくつかの実施態様では、インターフェイスは、ハイパーテキストマークアップ言語(HTML)、JavaTM、JavaScript、拡張マークアップ言語(XML)、拡張スタイルシート言語変換(XSLT)、および/またはその他の形式で提供されるウェブページのような、ウェブブラウザまたは他のアプリケーションにおけるような、特定の標準化されたフォーマットを用いて表示することができる。
他の実施態様では、前述のソーシャルネットワーキングシステムやサービスに代えて他の形のデバイス、システム、サービスを使用することができる。例えば、任意の種類のコンピュータネットワークにアクセスするユーザーは、本明細書に記載の特徴を利用することができる。いくつかの実施態様では、コンピュータネットワークから切断され、および/または断続的に接続される1以上のコンピュータシステムまた電子デバイスのようなシステムにおいて、本明細書に記載の特徴を実施することができる。
図2Aは、本明細書に記載のいくつかの実施態様に応じて、方向の修正をするために回転させることができる画像を表示する簡略化されたグラフィカルインターフェイス(GUI)200の例の概略図である。GUI200は、例えば、図1のクライアントデバイス120、122、124、および/または126、またはいくつかの実施態様におけるサーバシステム102の表示装置上に表示することができる。ある例では、ユーザーは、ソーシャルネットワーキングサービス、またはソーシャルネットワーキングサービスで作動するアプリケーションのための
インターフェイス200上で画像を見ることができる。他の実施態様では、アプリケーションプログラム、オペレーティングシステム、またはスタンドアロンのコンピュータシステム、携帯装置、又は他の電子機器のような他のサービスやシステムを用いて画像を表示することができる。
現在の例では、前記システムは、インターフェイス200の表示領域206内に画像204を表示する。画像204は、サーバデータベース106、クライアントデバイスのローカルストレージなどの様なインターフェイスおよび/またはソーシャルネットワークサービスにアクセス可能な1以上の記憶装置に記憶させることができる。ある例では、ユーザーは、ソーシャルネットワーキングサービスに画像204をアップロードしていてもよい。図2Aの例では、画像204は、カメラで撮影され、ユーザーDan V.のアルバムに、保存されたデジタル写真のような、デジタル画像である。アルバムなどのコレクション内の、または他のコレクションと記憶装置の間に広がる種々の画像は、全て本明細書に記載の1以上の特徴によって処理することができる。
図2Bでは、画像204は、本明細書に記載の特徴を使用して、前記システム(種々な実施態様において、ソーシャルネットワーキングサービス、1以上のサーバシステム、および/または1以上のクライアント・デバイスであっても良い)によって分析された。このような特徴は、画像に描かれた識別されたコンテンツを決定するために画像204を調査することを含むことができる。本明細書で言う「識別されたコンテンツ」は、物体、人物、風景の特徴、ランドマーク、または他のコンテンツのような、認識された描かれた特徴を含む。様々な技術が、顔認識、物体認識、などのようなその様なコンテンツを識別するために用いることができる。図2Bの例では人物の顔が認識されていた。
画像に描かれたコンテンツの識別により、回転を修正してより良い結果を得るために、システムに対して、識別されたコンテンツの種類に関連した技術の適用を可能にする。例えば、顔が画像204において認識されており、システムは人の顔に基づいて画像の方向を決定するための技術を使用することができる。ある例では、システムは、画像204内の各認識された顔または認識された顔のサブセットの両目の間にベクトル(図2Bの破線として表される)を描くことができる。例えば、ライン208、210、212、及び214を、画像204内のそれぞれの顔の目の間に引くことができる。
図2Cに示すように、個々のフェイスライン208、210、212及び214に基づいて得られる軸220を決定することができる。得られる軸は、様々な技術のいずれかを用いて決定することができ、その内のいくつかについて、以下でより詳細に説明する。いくつかの例では、得られる軸は、平均(average)、中央値(median)、平均値(mean)、モード(mode)、線形回帰、または画像中のフェイスラインを分析した他の結果のような、個々のフェイスラインを解析した結果であり得る。図2Cの例では、得られる軸220は、様々なフェイスライン208、210、212、及び214の中央値として決定されている。例えば、フェイスライン210および214は、画像204の最上部エッジおよび底部(水平)エッジ222に基づいて決定される水平軸の様な基準軸に対して反時計方向に回転させる。フェイスライン210は、最も反時計回りに回転させる。フェイスライン208および212は、基準軸に対して時計方向に回転させ、そしてはフェイスライン212が最も時計回りに回転している。中央値は、分布の中央のラインであり、この例ではライン208または線214のいずれかである。他の考慮事項や画像の特性は、得られる軸の選択に影響を与え得る。例えば、もし中央値が2つ存在する場合、それらは、得られる軸を求めるために平均化することができる。
この図2Cの例では、フェイスライン208は2つの中央値の一つであり、ライン208は基準軸に近いラインなので、得られる軸220として選択される。得られる軸220は、画像204に描かれた画像コンテンツの現在の方向を示すために用いられる。
図2Dにおいて、このシステムにより、画像のコンテンツを基準軸と一致する、又はそれに近い所望の方向に向ける画像204の回転量を決定した。この例では、所望の方向は得られる軸220が水平方向に向けられるものである。
所望の方向付けを達成するために、画像204は、図2Dに示す、量Xだけ回転される必要があり、それは、得られる軸220と、像204の水平エッジ222に平行な水平基準軸224との間の角度である。
図2Eでは、画像204は、図2Dにおいて決定された量だけ回転されるので、得られる軸220は水平とされ、したがって、例えば、得られる軸220は、図2Dの基準軸224と同一の回転位置に位置するようになる。この回転により、水平方向に、より近づく画像コンテンツ(例えば、画像204において認識された顔のような)を提示する回転が修正された画像204を得る。回転した後、いくつかの実施態様では、画像のエッジがその新しい方向において水平及び垂直方向になるように、画像204をトリミングすることができる。トリミング後の画像204の一例を図2Fに示す。
図3Aは、本明細書に記載のいくつかの実施態様に応じて、方向を修正するために回転することができる、異なる画像を表示する単純化されたグラフィカルインターフェイス(GUI)300の他の例の概略図である。いくつかの実施態様では、図示のように、GUI300は、上述の図2A〜2F で示すGUI200と同様なものとすることができる。
この例では、システムは、インターフェイス300の表示領域306内に画像304を表示する。例えば、画像は、上述と同様にシステムに保存されたデジタル画像であってもよい。図3Bでは、画像304は、本明細書に記載の特徴を用いて分析された。上述したように、このような特徴は、画像に描かれた識別されたコンテンツを決定するために、画像304を調査することを含むことができる。図3Bの例では、風景の特徴が認識されている。例えば、いくつかの実施態様では、画像認識技術は、様々な特異性の程度で識別されたコンテンツを記述する識別要素を提供することができる。ある例では、識別要素は、画像に描かれているような小径や道路や草を記述する。
画像中のコンテンツの識別要素に応答して、一以上の技術を、より正確に画像の方向を決定するために選択することができる。
例えば、もし描かれた画像コンテンツが風景、屋外環境、および/または関連する特徴として識別された場合、特定の技術を用いることができる。この例では、システムは、1以上の有力なライン又はエッジを決定するために、画像304の画素を調査するための技術を用いた。以下に記述するように、画像中にその様な有力なライン又はエッジを見つけるために、1以上の周知の技術を用いるとができる。図3Bの例では、システムは、画像304内に複数の有力ライン308を見だした。これらは、長さおよび/または視認性などの、最も顕著である画像304中の、ラインまたはエッジである。他の実施態様では、1つの最も有力なラインを決定することができる。
図3Cに示すように、得られる軸312が、図3Bに示すように決定された有力ライン308に基づいて決定された。いくつかの実施態様では、得られる軸312は、有力ライン308を組み合わせることによって決定することができ、例えば、有力ライン308の、または以下で説明する他の例での、平均化技術、線形進行、中央値、モードを使用することができる。図3Cの例では、得られる軸312は有力ライン308の平均として決定することができる。他の実施態様では、もし単一の有力ライン308を見つけることができた場合は、そのラインは得られる軸として使用することができる。得られる軸312は、画像304に描かれた画像コンテンツの現在の方向を示すものとして使用される。
図3Dにおいては、このシステムは、画像304を所望の方向に向け、又は所望の方向に近い方向に向けるであろう、画像304の回転量を決定することができる。この例では、所望の方向は得られる軸312を水平軸に一致させるようにする。
所望の方向に向けるために、画像304は、図3Dに示すように量Xだけ回転される必要がある。 この量は、得られる軸312と、画像304の水平(最上部および底部)エッジ310に平行な水平基準軸314の間の角度である。
図3Eでは、画像304は、図3Dにおいて決定された量だけ回転されるので、得られる軸312は水平とされる。したがって、例えば、得られる軸312は、図3Dの基準軸314同一の回転位置に位置する。この回転の結果、画像304は、画像304において風景水平方向に近いようになるよう回転が修正されたものとなる。回転された後、いくつかの実施態様では、画像304をトリミングされたものとすることができ、その結果画像のエッジが、その新しい方向において水平及び垂直方向となる。トリミング後の画像304の一例を図3Fに示す。
図4は、画像コンテンツに基づいて画像の方向を修正するために回転を用いる方法400の一例を示すフロー図である。方法400は、いくつかの実施態様では、例えば、図1に示すシステムの様な1以上のクライアントデバイス及び/又はサーバシステムの様なコンピュータシステム上で実施することができる。記述される実施例では、このシステムは、1以上のプロセッサまたは処理回路、及びデータベース106の様な1以上の記憶装置、および/または他の記憶装置を含む。いくつかの実施態様では、装置の異なるコンポーネント又は異なる装置は、方法400の異なるブロックまたは方法400の他の部分を実行することができる。方法400は、プログラム命令又はコードにより実行することができ、プログラム命令又はコードはマイクロプロセッサまたは他の処理回路のような1以上のプロセッサによって実行することができ、それらは、コンピュータ読み取り可能な媒体に記憶させることができるが、コンピュータ読み取り可能な媒体としては、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、リジッド磁気ディスク、光ディスク、ソリッドステートメモリドライブなどを含む磁気、光学、電磁、または半導体記憶媒体がある。代替的にこれらの方法は、ハードウェア(論理ゲート等)またはハードウェアとソフトウェアの組合せで実施することができる。この方法400は、クライアントデバイス上で実行されるアプリケーションの一部または構成要素として、または他のアプリケーションまたはオペレーティングシステムと共同して実行される別のアプリケーションまたはソフトウェアとして実行することができる。
方法400のブロック402においては、被写体画像中のコンテンツの1以上の識別要素が前記方法によって得られる。本明細書で用いられたコンテンツの「識別要素」、または「識別されたコンテンツ」は、画像に描かれたコンテンツから識別された(例えば、認識された)画像中に描かれた物体、人、風景の特徴、ランドマーク、または他の要素の様な特徴を含むことができる。
種々の技術が、そのようなコンテンツを特定するために使用することができ、例えば、人の顔が描かれていることを識別するため、および/またはある特定の個人であること識別するための顔認識などである。例えば、ソーシャルネットワーキングサービスでは、認識された顔はサービスを利用するユーザーの顔と比較され、画像に描かれた何れの人が、またサービスの利用者であるかを特定することができる。物体と顔認識技術は、顔、風景、または他の種類のコンテンツのような、コンテンツの種類を識別するために使用することができる。例えば、認識技術は、描かれた物体の分類、タイプおよび/またはモデルを提供することができる。いくつかの画像は、画像に描かれたコンテンツを記述するタグのような識別要素または識別標識に関連付けることができ、そしてこれらのタグは、描かれたコンテンツの識別要素として得ることができる。種々の実施態様において、識別要素は、方法400によって決定され得るか、または異なるプロセスまたはシステムによって決定される1以上のコンテンツ識別要素を受領することによって得ることができる。
ブロック404において、この方法は、画像コンテンツの識別要素に基づいて、画像内のコンテンツの現在の方向を決定する。いくつかの実施態様では、ブロック402において識別されたコンテンツの現在の方向を決定することができ、このコンテンツの方向はすべての画像コンテンツ(識別され及び識別されていない)に適用することができる。いくつかの実施態様では、識別されたコンテンツは、認識技術から認識されたコンテンツであり、および/または識別されたコンテンツは、さまざまな異なるタイプのものであっても良い。コンテンツの識別要素は、画像の方向がどのように決定されるかに影響する。
例えば、異なる技術は、識別されたコンテンツのある特別の識別要素に基づいて使用することができ、および/または異なる技術により得られる結果は、識別されたコンテンツに基づいて加重値を与えることができる。種々の実施態様において、画像に描かれたコンテンツの、複数回の発生および/またはコンテンツの種類を考慮した、画像について得られる方向軸を求めることができる。ブロック404の別の実施態様については、図5を参照して以下に説明する。
ブロック406において、この方法は、ブロック404で決定された現在の方向を修正する画像の回転量を決定する。例えば、その回転の量は、画像コンテンツを、現在の方向よりも所定の基準方向により近い方向となるよう一致させ又は位置合せさせるように画像を方向付けることができる。いくつかの実施態様では、回転量は、所定の基準方向からの現在の画像の方向のずれの量であっても良い。所定の基準方向は、例えば、現在の方向での画像のエッジまたは境界線によって示されるような、水平および/または垂直軸に基づくものであっても良い。いくつかの実施態様では、基準方向は図2または3に示すように、インターフェイス200または300のような画像が表示される視認エリアの1以上の軸に基づくことができる。
ブロック408においては、画像はブロック406において決定される量だけ回転される。例えば、画像データは回転され、そして画像は新しい回転位置で保存される。いくつかの実施態様では、回転された方向で画像をトリミングすることができる。画像が表示される場合、その後画像は回転された方向で表示させることができる。
図5は、画像コンテンツに基づいて画像の方向を修正するために、回転を用いる方法400の実施態様を示す例示的な方法500のフロー図である。方法500は、図4の方法400について上で述べたと同様な、1以上のシステム上で実行することができる。
いくつかの実施態様では、この方法500は、ユーザーが開始することができ、例えば、ユーザーは1以上の画像を提供する又は1以上の画像にアクセスする。ユーザーは、例えば、ソーシャルネットワーキングインターフェイスまたは他のグラフィカルインターフェイスの様なインターフェイスから方法500の開始を選択してもよい。いくつかの実施態様では、方法500はシステムによって自動的に開始することができ、その場合、前記方法は、特定の記憶されたコレクションの中の画像を定期的に走査することにより、新たにアップロードされたまたはシステムによりアクセス可能な1以上の画像のような特別な事象に基づいて、または、1以上のユーザーの顧客の好みによる条件に基づいて実行される。
ブロック502において、この方法は、その画像の現在の方向を調べる為に画像を取得し、もし適切な場合には、その回転を修正する。得られる画像は、例えば、複数の画素からなるデジタル画像と、そして、実行するシステムの1以上の記憶装置、または前記方法にアクセス可能な他の方法で記憶させることができる。いくつかの実施態様では、画像は、図2Aまたは図3Aの例のように、ソーシャルネットワーキングシステムのユーザーのアカウントに設けられたアルバムのように、システムの特定のユーザーに関連付けられたアルバムまたは他のコレクションに含めることができる。
ブロック504において、この方法は、必要に応じて画像の方向を修正する指示を取得する。いくつかの実施態様では、画像は表示装置上でユーザーに表示され、ユーザーは、コマンドまたは他の指示を入力して、ユーザーが望んでいる画像の修正方向を示すことができる。いくつかの実施態様では、インターフェイスにおいて、ユーザーが手動で画像を回転させることができる「回転モード」に入力を可能にする様に、ユーザーにコマンドの入力を可能にする。この手動の回転は、本明細書に記載の方向の修正の特徴を用いて支援され得る。他の実施態様では、この方法は、そのように明示的な指示を得ることなく、画像の方向を修正する。
ブロック506において、この方法は、画像に描かれたコンテンツの1以上の識別標識を得る。方法400のブロック402に関して上述したように、識別標識は、そのような認識された特徴、物、または人のような、識別されたコンテンツのあるタイプおよび/または他の記述を示している。いくつかの実施態様の例では、識別標識は、描かれたコンテンツを示す記述子であることができる。例えば、いくつかの記述子は、「人」「風景」又は「山」のような、一般的なまたは広範囲なものを含むものであっても良く、一方、他の記述子は「Bob G.」、「エッフェル塔」、および「Tahoe湖」などのより特異的なものでもよい。
いくつかの記述子は、画像で認識される特定のブランド、または製品またはサービスのモデルに関する特異的なものであってもよい。物体を認識する場合のいくつかの実施態様では、複数の記述子を、各特徴または物体について提供することができ、その様な各記述子は、認識と信頼性と相関する異なる特異性を有する。例えば、認識された特徴の一つの記述子は、高い信頼性を有する「構築物」であり得るが、一方、同じ特徴を示す、別のより特異的な記述子は「エンパイア・ステート・ビルディング」であり得るが、これは信頼性が低い。
様々な技術がコンテンツの識別標識を取得するために使用することができる。いくつかの実施態様では、コンテンツを識別するために1以上の物体認識技術を使用することができる。例えば、顔認識技術は、画像内の顔を認識するために使用することができる。いくつかの実施態様では、顔が描かれていることを識別することができ、かつそれらの顔の人物の名前や身元を特定する必要はない。追加的または代替的に、いくつかの実施態様では、描かれた人物を、標準名、ソーシャルネットワーキングシステム上のユーザー名、および/または他の識別要素などによって特定することができる。いくつかの実施態様では、商品、アイテム、車両などの物体を識別するために物体認識技術を用いることができる。いくつかの実施態様では、山、樹木、草、湖、川などの地形の特徴を識別するために認識技術を用いることができる。いくつかの実施態様では、その様な顔及び物体認識技術は、描かれた特徴がいかに認識されるかに影響を与える、ユーザーの事前の選択および判断を使用することができる。これは、顔及び物品認識技術の精度を向上させることができるという技術的効果を有する。
いくつかの実施態様では、描かれたコンテンツの識別標識を、認識を実行する1以上の他のプロセスから、方法500に提供することができ、および/または方法500は、ブロック506において、全体的にまたは部分的に特徴認識を行うことができる。
ブロック508において、ブロック506で得られた1以上の識別標識に基づいて、この方法は、画像に対して1以上の分析技術を用いて、画像に描かれたコンテンツの現在の方向を決定する。コンテンツを記述する識別標識は、方法500が、コンテンツの現在の方向を決定するための画像を分析する方法に影響を与えることができる。いくつかの実施態様では、識別標識は、画像コンテンツの方向を分析するために使用可能な複数の利用可能な分析技術のどれを使用するかに影響を与えることができる。いくつかの実施態様では、画像コンテンツの方向を決定する異なる分析技術の結果をいかに比較考量するかを決定するための識別標識を使用することができる。ブロック508のいくつかの実施態様については、図6に関し以下でより詳細に説明する。
ブロック510において、この方法は、所望の基準(またはよりそれに近い)方向に画像コンテンツを向けるために画像の回転量を決定する。所望の基準方向は、1以上の所定の軸と一致させることができる。所定の軸は、水平、垂直、または他の定義された方向であっても良い。例えば、もし画像が平行なエッジを持つ標準的な長方形の画像である場合、水平の基準軸は、画像の現在及び元の方向において、画像の最上部および底部エッジに略平行な軸として定義することができる。いくつかの実施態様では、画像は、画像のエッジ内に表示される境界線を有していてもよく、基準軸は、画像の元の方向での、そのような1以上の境界線と一致させることができる。他の実施態様において他の基準軸を定義することができる。例えば、基準方向は、ユーザーが画像を見る表示装置の表示領域での水平または垂直軸に基づいて定義することができる。
ある例では、基準軸は、図2および3の例において上述したように、インターフェイス200または300のようなユーザーインターフェイスで定義された水平軸とすることができる。
画像回転量は、現在の方向と所望の基準方向の回転位置の差を調べることによって決定することができる。いくつかの実施態様では、得られる軸は画像の元の方向を示すブロック508で決定することができる。回転量は、得られる軸と基準軸との角度差であっても良い。そのような実施態様の例は、図2Cと3Cを参照して上に記述されている。
ブロック512では、この方法はユーザーが画像を編集しているかどうかをチェックする。いくつかの実施態様または例では、ユーザーが、修正された方向または他の所望の回転位置に、手動で画像を回転したい場合がある。例えば、ユーザーは、グラフィカルインターフェイスで画像編集プログラムに表示された画像を見てもよく、または、プログラムの編集モードに入っている可能性もある。
他の実施態様または例では、ユーザーは、画像を編集しないこともある。例えば、このシステムは、記憶装置に記憶された画像の集合から画像を選択していてもよいし、画像を表示せずに、及びユーザーが画像を編集したいと望むことなく、方法500を使用して画像の方向を補正することができる。
もしユーザーが画像を編集していない場合は、この方法は、ブロック514においてブロック510で決定された量で画像を回転させる。この方法はその回転した方向で画像データを保存することができる。いくつかの実施態様では、この方法は、古い画像上に、回転した方向で画像を記憶させ、または他の実施態様では、回転された画像は、元の画像を保存する別のコピーとして保存される。
いくつかの実施態様では、画像のエッジが回転した方向においてほぼ水平と垂直となるように回転した画像をトリミングすることもできる。トリミングされた画像の例について、図を2Fと3Fを参照して上に記述している。画像が表示されている実施態様では、画像表示は新たな回転位置が決定された後に回転した方向に変更することができる。他の実施態様または例では、画像データは回転されて、保存され、そして表示は更新されない。
ユーザーが、ブロック512において画像を編集している場合は、この方法はユーザーに望ましい、可能性のある回転位置及びそれらの位置に必要な回転量を決定するブロック516へ移動する。いくつかの実施態様では、これは、所望の方向及びブロック510で決定された回転量を、ユーザーが画像を回転させることを望むであろう回転位置の一つとして用いることを含むことができる。いくつかの実施態様では、追加の可能性のある回転位置は、ブロック510および/またはブロック512において決定することができる。いくつかの例では、方法500は、適用された異なる技術から、多くの異なる可能性のある結果を生成することがあり、これらの結果のそれぞれは、表示画面に可能性のある回転位置を提供することができる。例えば、一つの所望の回転位置は、顔の方向判定技術を用いて決定される画像中の人物の顔の水平方向の位置であってもよく、他の所望の回転位置は、有力なライン技術(図6を参照して説明した)を用いて決定された同じ画像中の水平線のような風景の特徴の水平位置であっても良い。
これらの所望の回転位置の各々は、ユーザーのために画像の有望な回転位置として決定することができる。他の例において、ブロック508は、1以上の異なる技術および/またはこれらの技術で使用される1以上の異なるパラメータまたは条件に基づいて、画像内の異なる、得られる軸を見つけるために繰り返すことができる。この第2の得られる軸は、他の可能性のある回転位置を決定するために使用することができる。いくつかの実施態様では、ブロック512の多くの可能性のある回転位置が、機械学習の実施で用いられる識別器(classifier)から決定することができ、その例は、図7に関してより詳細に説明する。
この方法は、ブロック518において、ユーザーがディスプレイ上で画像を回転させることを望んでいることを示すユーザー入力が受領されたか否かについてチェックする。もしそうでない場合(ただし、システムの他の機能とプロセスは実行され続ける)、この方法はブロック518でユーザー入力をチェックし続ける。画像を回転させるためのユーザー入力が受領された場合、この方法は、ブロック520へ進み、回転位置として決定された可能性が最も高いものが、ユーザー入力に適しているとして選択される。たとえば、ユーザー入力が画像を時計回りに回転させることを示している場合には、その回転方向において、最も近いと決定された回転位置が選択される。
ブロック522において、この方法は、回転位置に画像データを回転させることを含み、選択された回転位置に関連した量で画像を回転させる。次のブロック524においては、この方法は、ユーザーのための表示画面上の画像の表示を選択された回転位置に回転させる。
いくつかの実施態様では、現在位置から選択された位置への画像の表示は、選択した位置への「スナップ」(snap)として表示することができ、例えば、画像の手動回転が、所定の位置の所定の範囲内に入ると、画像は所定の位置に素早く動く(snap)。いくつかの実施態様では、画像の周囲にブロック516で決定された可能性が高いすべての位置の指標を表示することができ、そしてユーザー入力に応じて回転位置へ画像の表示をスナップすることができる。
方法500のいくつかの実施態様では、画像が回転された(例えば、ブロック514またはブロック522-524において)後に、この方法は、回転方向がユーザーに受け入れられるかどうかについてユーザー入力を確認することができる。もしユーザー入力が、それが受け入れられないことを示している場合、方法500は新たに反復することができ、画像を現在の回転方向から回転させることができる。あるいは、この方法は、元の非回転画像を取得して、この方法の1以上の前の反復と異なる回転を決定するために、他の分析技術を使用することができる。
図6は、図5のブロック508の例示的な実施態様を提供する方法600を示すフロー図である。図5は、1以上の分析技術が画像に適用され、そして現在の方向が、描かれたコンテンツの1以上の取得された識別標識に基づいて、画像に描かれたコンテンツに対して決定される。
ブロック602において、この方法は、画像に描かれた識別されたコンテンツがいくつかの顔を含んでいるかをチェックする。例えば、画像は、顔認識技術によって調査することができ、画像内の顔の特徴を探すことによって描かれた顔があるかを決定する。いくつかの実施態様では、画像に示されているいずれかの人物の同一性は決定される必要はない。もしコンテンツが1以上の顔を含む場合、この方法は、適用する1以上の顔の方向判定技術を選択するためにブロック604に進む。いくつかの実施態様では、複数の異なる分析技術が、画像の方向を分析するために利用可能であり、この方法は、画像に描かれた1以上の顔に使用することが意図される、1以上のこれらの技術を選択する。いくつかの実施態様では、技術の選択は、画像中の顔のコンテンツに基づいて行われる。例えば、ある顔の方向判定技術は、単一の顔が描かれたものに対してよりも複数の顔を含む画像コンテンツの方向について決定するのにより適している、または画像において部分的にしか顔の特徴が見えないように回転された顔の方向を見つけることにより適している。いくつかの実施態様では、多数の技術を適用することができ、後述のようにそれらの技術で得られた結果は、異なる加重値を与えることができる。顔の方向判定技術は、画像で見出される顔の数、顔の大きさ、または他の特徴などの画像中のコンテンツの識別要素に基づいて選択することができる。
ブロック605において、選択された顔の方向判定技術は画像に描かれた顔の方向を決定するために適用される。これらの技術は様々な方法を使用することができる。例えば、図2Bの例に示すように、いくつかの実施態様では、ある技術は、画像に描かれた各顔の両目の間にベクトルを引くことができる。
ベクトルは、関連する顔の方向を示している。ある一つの顔における両目は、顔認識技術を用いて容易に検出可能であり、ベクトルは、それぞれの目の中心を通って引くことができる。画像内の複数の顔は同様に検出することができ、各顔の両目の間の顔方向ベクトルは、それぞれの顔の方向を決定する(例えば、水平軸の様な所定の軸に関して)。
ブロック606において、この方法は、描かれた顔の決定された方向に基づいて、各適用された顔の方向判定技術による画像の得られる方向軸を見つける。得られる軸は、画像の描かれたコンテンツの現在の方向を示している。
それぞれ適用される技術は、決定される得られる方向軸を提供することができる。例えば、いくつかの実施態様では、目の結合ベクトルを含む、上記の顔の方向判定技術を用いる場合、ブロック604の選択された技術により、画像内の一つの顔のみが使用される(例えば、画像中に使用に適した1つの顔がある)場合、得られる軸は、その顔の目の結合ベクトルに対応する。もし画像中の複数の顔にこの技術が用いられる場合、得られる軸は、複数の顔について決定される複数のベクトルに基づいて決定することができる。いくつかの実施態様では、描かれた顔から得られる目の結合ベクトルは、得られる軸を決定するための1以上の方法で組み合わせることができる。ある例では、目の結合ベクトルは、得られる軸を決定するために平均化することができる。いくつかの例では、目の結合ベクトルの中央値またはモードは、得られる軸として使用することができ、その中央値はそのベクトル分布の中央のベクトルであり、モードはベクトルの分布において最も一般的に生ずるベクトルである。他の例において、線形回帰は、すべての顔の方向ベクトルを用いて実行され、得られたベクトルは、得られる方向軸である。他の技術はまた、ブロック604で決定される顔の方向ベクトルを考慮に入れた、得られる軸を見つけるために用いることができる。画像について得られる軸が決定された後に、この方法は以下に詳述するブロック608に進む。
ブロック602において、コンテンツが顔を描いていないと判明した場合、または得られる方向軸がブロック606で見いだされた後に、この方法はブロック608において、画像に描かれた識別されたコンテンツが顔のものでない特徴を含むかをチェックする。いくつかの実施態様では、このような顔の特徴でないものは、平らな水平線、山、湖、草、丘、空、雲、および/または他の特徴を含む、自然環境や風景シーンの特徴を含むことができる。いくつかの実施態様では、道路、建物、看板、橋、フェンス、または他の特徴などの、都市、町、または人工構造物または物体の様な顔の特徴でないものを含んでも良い。
他の物体もまた、顔の特徴でないものとして含まれ得る。描かれたコンテンツが、その様な1以上の顔の特徴でないタイプの特徴を含む場合、この方法はブロック610に進む。
ブロック610において、この方法は、画像に描かれたコンテンツの識別要素に基づいて使用する1以上のエッジ検出技術を選択する。いくつかの実施態様では、選択された特定のエッジ技術は、特定の技術を特定のタイプの描かれたコンテンツと所定の関連付けをしたことに基づくものであっても良い。
例えば、もしコンテンツが、山や湖などの自然や自然環境のものである場合、あるいくつかの技術は、有力なエッジの検出に優れていることが知られていることもあり、一方、他の技術は、建物、道路、壁、フェンス、または他の人工構造物や物体(ソーダ缶、家具等)のようなより真っ直ぐなまたは人工的なエッジを含むコンテンツの有力なエッジを検出するに優れていることが知られていることもある。いくつかの実施態様では、あるエッジ検出技術は、画像内のエッジを検出するために使用されるハフ変換法であることもあり、他のエッジ検出技術は、フーリエ解析及び変換技術であることもある。ここでハフ変換法は、例えば、自然の特徴よりも建物を描いたコンテンツのエッジをより良く検出することができる。ある例では、建物のタイプのコンテンツが画像に描かれている場合、フーリエ解析技術が選択され、ハフ変換法は選択されないであろう。いくつかの実施態様では、複数またはすべての利用可能なエッジ検出技術を選択することができ、そして以下に説明するように、それらの結果は、描かれたコンテンツに基づいて得られる方向の決定において、異なる加重値が与えられる。他のエッジ検出技術も使用することもできる。
ブロック612において、この方法は、それぞれ適用される技術において、画像中の1以上の有力なエッジを見つけるために、各選択されたエッジ検出技術を適用する。上記したように、このようなハフ変換法、フーリエ変換法、および/または他の種類の技術の様なエッジ検出技術は、有力なエッジを見つけるために使用することができる。他の例では、勾配または勾配の大きさのヒストグラムを用いる技術は、画像中の有力なエッジを検出するために用いることができる。いくつかの例では、有力なエッジは、画像内の最長の長さおよび/または可視性を持つ描写された特徴に対するエッジである。いくつかの実施態様では、エッジ検出技術は、例えば、画像の最上部および底部エッジによって規定された、水平方向の所定範囲内のエッジのような、ほぼ水平の有力なエッジを見つけるように指示することができる。他の実施態様では、有力なエッジを他の方向(例えば、垂直)または任意の方向で見つけることができる。
ブロック614では、この方法は、見つかった有力なエッジに基づいて、ブロック612で適用されたエッジ検出技術について得られる方向軸を見つける。
いくつかの実施態様では、例えば、特定の技術は、複数の有力なエッジを見つけることができる。複数の有力なエッジから唯一の得られる軸を決定することができる。画像の得られる軸を見つけるために、例えば、複数の有力なエッジを平均化し、または中央値、モード、または線形数列(linear progresssion)を決定することができる。得られる軸は、ブロック612で適用された各エッジ検出技術に求められる。
エッジ検出技術が614で適用される後、またはブロック608において決定されるように、顔の特徴でないものが画像に描かれていない場合、ブロック616が実行される。ブロック616では、この方法は、画像に描かれたコンテンツの識別内容(そのような識別標識または記述子などの様な)に基づいて、各適用される技術によって決定された、得られる各方向軸について加重値を決定することができる。適用されたすべての顔の方向判定技術ならびに適用されたエッジ検出技術を含み、適用された技術はすべて、このブロックにおいて考慮される。
例えば、いくつかの技術は、特定のタイプのコンテンツための所望のエッジを見つけるのに優れていることが知られていることがある。描かれたコンテンツがそれらのタイプと一致する場合、そのような技術から得られる結果は加重値を増すことができ、一方、描写されたタイプのコンテンツに対して同様程度には良く作動しないと知られている技術から得られる結果については加重値を低減させることができる。上記のようないくつかの例では、複数のエッジ検出技術を画像に適用することができ、それぞれの技術は得られる方向軸を提供し、いくつかの技術は自然の特徴よりも人工的特徴を分析するのにより適していることがある。他の実施態様の例では、顔の方向判定結果はエッジ検出技術の結果よりも大きい加重値を与えても良いし、またその逆もある。ある例では、ある画像は、顔や風景の特徴、ならびに他の特徴を含み、複数のタイプのコンテンツを描写することができ、そして、エッジ検出と顔の方向判定技術の両方の技術が適用されてもよい。これらの技術による結果は、上記のように、画像に描かれた識別されたコンテンツに基づいて加重値を与えることができる。
ブロック618において、本方法は、ブロック616において決定された(そのような加重値の結果が決定された場合)加重値の結果を組み合わせて画像コンテンツの現在の方向を求める。いくつかの実施態様では、例えば、それぞれ適用された技術の結果により得られる方向軸は、画像の方向を示す最終的に得られる軸の決定に含めることができる。例えば、平均、線形数列、または他の方法は、異なる適用された技術の複数の得られる方向軸から最終的な方向を決定するために用いることができる。各得られる軸の加重値はその決定に含まれる。例えば、エッジ検出結果が、顔の方向判定結果よりもはるかに低い加重値を与えられる場合、得られる顔の軸は、エッジ検出軸よりも最終的な方向決定により近いものとなる。図5を参照して上述したように、最終的に得られる方向軸は、画像の回転修正量を決定するために使用される。
図7は、図5のブロック508の他の例示的な実施態様を提供する方法700を示すフロー図であり、そこでは1以上の分析技術が画像で使用され、そして描かれたコンテンツの1以上の得られた識別要素に基づいて、現在の方向が画像に描かれた識別されたコンテンツについて決定される。方法700は、画像を評価し、特定の画像の方向を決定するために、機械学習、管理された(supervised)学習技術を使用する。
方法700は、被写体像が方法400または方法500において、その方向が修正される前に、実施することができる前処理ブロック702を含んでも良い。
ブロック702は、方法400又は500を実行するシステムとは異なるシステム上でまたは同じシステム上で実行することができる。ブロック702において、異なる識別器は、各々画像の異なる関連する回転位置について学習している。いくつかの実施態様では、各識別器は、画像の特定の回転位置について学習されているプロセスであるので、その識別器は、識別器に入力される新しい画像が、その様に学習された回転位置を有するコンテンツを持つ場合を認識することができる。識別器は、例えば、既知の正しい方向から特定の量の回転角度の様に、特定の回転位置まで回転されていることが知られている画像で、学習することができる。各受領された、学習された画像について、識別器は学習された画像中のコンテンツの得られる軸及び方向を決定するために、図6に関して上述したと同様のコンテンツの識別および分析技術を使用することができる。例えば、1以上のエッジ検出と顔検出技術を適用することができる。いくつかのこのような学習された画像は、もし、ある画像がその識別器の関連する回転位置にコンテンツを持っている場合、識別器が予想する結果の一般的なプロファイルを提供するために、識別器に供給することができる。例えば、いくつかの実施態様では、識別器を学習させるために数百または数千の学習画像を使用することができる。
いくつかのこのような識別器は、画像の可能な位置での範囲において異なる回転位置について学習することができる。例えば、いくつかの実施態様例において、識別器は、画像の回転の360度の全範囲の各角度、0.5度、または1/4の角度について学習することができる。したがって、ある例では、ある識別器は、既知の正しい方向から5度回転された画像で学習することができ、他の識別器は4度回転された画像で学習することができる。そして、一組の識別器は異なる回転位置を検出するように学習させる。
いくつかの実施態様では、図5のブロック508に示すと同様に、ブロック704から708は、得られた画像がその方向を決定するために処理されている間の実行時間に実行することができる。ブロック704において、画像は、各識別器に提供される。例えば、識別器が、360度の全範囲において、回転位置の各角度に設けられている場合、その画像は、360の識別器に入力することができる。ブロック706において、この方法は、画像コンテンツが、その識別器によって検出された回転位置を有する可能性について、各々の識別器の指標出力を受け取る。いくつかの実施態様では、この指標は、負または正の指標であり得る。
ある例では、水平基準位置から5度の時計回りの回転を有する画像が、一組の識別器に入力される。時計回りにそれぞれ3および4度の回転を検出した識別器は、画像コンテンツが3または4度回転されていないことを示す負の出力を示す。5度の回転を検出した識別器は、コンテンツ中の特徴及び画像の回転と一致する得られる軸は、学習させたものであることを見い出し、画像コンテンツは5度回転している可能性が高いことを明確に示すことができる。いくつかの実施態様では、各識別器は、画像が関連する回転位置まで回転されている可能性を示すために、連続した範囲内で信頼水準または信頼値を提供することができる。
ブロック708において、この方法は、識別器の出力に基づいて画像の現在の方向を決定する。いくつかの実施態様では、これは肯定的な結果を提供する単一の識別器を選択し、関連した回転位置を画像の現在の方向として指定することを含むことができる。
いくつかの実施態様では、複数の識別器は確実な結果を提供し、または1以上の識別器は、その画像が、確実であると考えられる程度の回転位置、例えば、所定の閾値を超えている可能性がある、にある可能性が十分に高いことを示すこともあったと思われる。いくつかの実施態様では、この方法は、複数の確実な結果から、現在の方向を決定するために更なる処理を行うことができる。ある例では、例えば、関連する識別器が互いに閾値の回転位置の範囲内である場合、複数の確かな結果を平均化することができる。他の例では、この方法は、画像を独自の分析を行うことによって、識別器の結果の1つ(またはサブセット)を選択することが、画像の現在の方向を決定することを導きだすものとすることができる。次に、決定された現在の方向は、図5に示すように回転修正方法の残りのブロックにおいて使用される。
いくつかの実施態様では、画像が、決定された回転位置にスナップすることが可能であり、および/または決定された回転位置が、ユーザーに対して表示することができる図5のブロック524において、スナップされまたは表示されるための回転位置は、上述の識別器から得ることができる。例えば、複数の識別器が、確かな結果またはそれに関連する回転位置である高い可能性を示す場合、画像は、ユーザーの回転入力に応じて、これらの識別器の関連する回転位置のそれぞれにスナップすることができる。
なお、図4-7の方法に記載のブロックは、適切な場合は、示された順序と異なる順序でおよび/または他のブロックと同時に(部分的または完全に)行うことができる。いくつかの実施態様では、これらブロックは、この方法において、複数回、異なる順序で及び/または異なる時間に起きる可能性がある。
いくつかの実施態様では、これらの方法のうちの1以上が、図1に示すように、例えば、サーバシステム102の様なサーバ上で実施することができる。いくつかの実施態様では1以上のクライアントデバイスは、それらのブロックを実行するサーバシステムに代わり、又はそれに加えて、1以上のブロックを実行することができる。
図8は、本明細書に記載のいくつかの実施態様を実施するために使用され得る例示的な装置800のブロック図である。ある例では、装置800は、図1のサーバ装置104を実施するために使用することができ、本明細書に記載の適切な方法を実行することができる。サーバ装置800は、任意の適切なコンピュータシステム、サーバ、または他の電子またはハードウェア装置とすることができる。例えば、サーバ装置800は、メインフレームコンピュータ、デスクトップコンピュータ、ワークステーション、ポータブルコンピュータ、又は電子機器(携帯機器、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、TVセットトップボックス、パーソナルデジタルアシスタント(PDA) 、メディアプレーヤ、ゲーム機など)とすることができる。いくつかの実施態様では、サーバ装置800は、プロセッサ802、メモリ804、および入力/出力(I/ O)インターフェイス806を含む。
プロセッサ802は、プログラムコードを実行し及び装置800の基本的な動作を制御するための1以上のプロセッサ又は処理回路であってもよい。「プロセッサ」は、データ、信号または他の情報を処理する任意の好適なハードウェアおよび/またはソフトウェアシステム、機構または構成要素を含む。プロセッサは、汎用中央処理装置(CPU)、複数の処理ユニット、機能を実現するための専用回路、または他のシステムを持つシステムを含むことができる。処理は、特定の地理的位置に限定されず、または時間的に制限される必要がない。例えば、プロセッサは、その機能を「リアルタイム」、「オフライン」「バッチモード」等で実行することができる。処理のある部は、異なる時間及び異なる位置で、異なる(または同じ)処理システムにより実行することができる。コンピュータはメモリと通信する任意のプロセッサとすることができる。
メモリ804は、典型的には、プロセッサ802によるアクセスのために装置800内に設けられており、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能読み取り専用メモリ(EEPROM)、フラッシュメモリなどの、任意の好適なプロセッサ読取り可能記憶媒体であって、プロセッサによって実行される命令を記憶するのに適し、かつ、プロセッサ802とは別の位置にありおよび/またはそれと一体化されているものであってもよい。
メモリ804は、オペレーティングシステム808と、いくつかの実施態様では、ソーシャルネットワーキングエンジン810(および/または他のアプリケーション)を含む、プロセッサ802によって、サーバデバイス800上で動作するソフトウェアを格納することができる。いくつかの実施態様では、ソーシャルネットワーキングエンジン810または他のアプリケーションエンジンは、本明細書に記載の機能、例えば、図4-7のいくつか又はすべての方法をプロセッサ802に実行させるための命令を含むことができる。メモリ804内の任意のソフトウェアは、代替的に、任意の他の好適な記憶場所またはコンピュータ読取可能な媒体に記憶することができる。加えて、メモリ804(および/または他の接続された1以上の記憶装置)は、画像、コンテンツ、および本明細書に記載された特徴で使用される他のデータを格納することができる。メモリ804及び他の任意のタイプの記憶媒体(磁気ディスク、光ディスク、磁気テープ、または他の有形の媒体)は、「記憶装置」と考えることができる。
I / Oインターフェイス806は、他のシステムや装置とサーバ装置800とのインターフェイスを可能にする機能を提供することができる。例えば、ネットワーク通信装置、メモリおよび/またはデータベース106の様な記憶装置及び入力/出力装置は、インターフェイス806を介して通信することができる。いくつかの実施態様では、I/Oインターフェイスは、入力装置(キーボード、ポインティングデバイス、タッチスクリーン、マイク、カメラ、スキャナ、等)及び出力装置(表示装置、スピーカ装置、プリンタ、モーター等)の様なインターフェイス装置に接続することができる。
図を簡単にするために、図8は、プロセッサ802、メモリ804、I/Oインターフェイス806、およびソフトウェア・ブロック808および810の各々に対して1つのブロックを示す。これらのブロックは、1以上のプロセッサまたは処理回路、オペレーティングシステム、メモリ、I / Oインターフェイス、アプリケーションおよび/またはソフトウェアモジュールを表すことができる。
他の実施態様では、サーバ装置800は、示されたコンポーネントのすべてを持っているものとは限らず、および/または本明細書に示されたものに代わりに、またはそれに加えて、他のタイプの要素を含む他の要素を持ってもよい。
システムは、本明細書のいくつかの実施態様で説明したブロックを実行するものとして記載されているが、任意の好適なコンポーネント、またはシステムのコンポーネントの組み合わせ、またはそのようなシステムに関連する任意の好適な1以上のプロセッサは記載されたブロックを実施することができる。
クライアントデバイスも用いることができ、および/または、図1に示すクライアントデバイス120-126として、明細書に記載の特徴について用いることができる。いくつかのクライアントデバイスの例について、図1を参照して説明した。 これらのクライアントデバイスは、プロセッサ802、メモリ804、およびI/Oインターフェイス806の様な装置800と同様の構成要素を含むことができる。オペレーティングシステム、クライアントデバイスに適したソフトウェアおよびアプリケーションはメモリに設けて、そしてクライアントグループ通信アプリケーションソフトウェアの様に、プロセッサによって使用することができる。クライアントデバイスのためのI/Oインターフェイスは、ネットワーク通信デバイス、及び音を取り込むためのマイク、画像またはビデオを捕捉するためのカメラ、音声を出力するためのオーディオスピーカ装置、画像またはビデオを出力するための表示装置、又は他の出力装置の様な入出力装置に接続することができる。表示装置は、例えば、本明細書に記載の設定、通知、及び許可を表示するために使用することができる。そのような装置は、任意の好適な表示装置を含むことができ、例えば、LCD、 LED、又はプラズマディスプレイスクリーン、CRT、テレビ、モニタ、タッチスクリーン、3-Dディスプレイスクリーン、または他の視覚表示装置である。いくつかの実施態様は、広告のテキスト又は設定、通知、および許可を話す音声出力や合成語などの様なオーディオ出力装置を提供することができる。
本明細書の記載は、特定の実施態様に関連して説明してきたが、これらの特定の実施態様は、単に例示であり限定的なものではない。実施例に例示する概念は、他の例および実施態様に適用することができる。
本開示に記載される機能ブロック、特徴、方法、装置、およびシステムは、統合されても良く、または当業者に知られているように、システム、装置、および機能ブロックの異なる組み合わせに分割することができることに留意すべきである。任意の好適なプログラミング言語およびプログラミング技術は、特定の実施態様のルーチンを実施するために使用することができる。異なるプログラミング技術は、手続きにおいてまたはオブジェクト指向として用いることができる。ルーチンは、単一の処理装置または複数のプロセッサ上で実行することができる。ステップ、動作、または計算は特定の順序で提示されてもよいが、順序が異なる特定の実施態様において変更してもよい。いくつかの実施態様では、本明細書中でシーケンシャル(sequential)として示す複数のステップまたはブロックは同時に実施してもよい。

Claims (20)

  1. 方法であって、
    画像コンテンツを含む画像を取得し、
    画像に示されるコンテンツを識別し、識別されたコンテンツは、画像の画像コンテンツの少なくとも一部であり、
    画像に示された識別されたコンテンツの現在の方向を決定するために、1以上の技術を選択しそして適用し、前記1以上の技術は複数の利用可能な技術から選択され、そしてこの1以上の技術の選択は、画像に描かれ識別されたコンテンツに基づき、
    識別されたコンテンツを現在の方向よりも所定の基準方向に近い方向に向ける画像の回転量を決定し、そして
    前記決定された回転量だけ画像を回転させる、
    ことを含む前記方法。
  2. 方法であって、
    画像に示されるコンテンツの1以上の識別要素を取得し、
    前記画像に示されるコンテンツの現在の方向を決定し、
    前記現在の方向は、コンテンツの1以上の識別要素に基づいて決定され、
    前記コンテンツを現在の方向よりも所定の基準方向に近い方向に向ける、画像の回転量を決定し、そして
    前記決定された回転量だけ画像を回転させる、
    ことを含む前記方法。
  3. 請求項2の方法であって、前記所定の基準方向は、その現在の方向での画像の1以上の境界線またはエッジに基づいて、ほぼ水平軸に合わせされる、前記方法。
  4. 請求項2の方法であって、
    現在の方向を決定することには、画像の現在の方向を決定するために、1以上の分析技術を選択し、そして適用することを含み、前記1以上の分析技術は、1以上の識別要素に基づいて複数の技術から選択される、前記方法。
  5. 請求項2の方法であって、現在の方向を決定することには、画像の1以上の特徴について決定される1以上の線形軸に基づいて、前記画像の方向軸を決定することを含む、前記方法。
  6. 請求項2の方法であって、現在の方向を決定することには、画像内の少なくとも一つの有力なエッジを見つけるためにエッジ検出技術を用いることを含み、及び回転量を決定することには、所定の基準方向からの、少なくとも一つの有力なエッジのずれの量を決定することを含む、前記方法。
  7. 請求項6の方法であって、前記エッジ検出プロセスは、前記画像が、エッジ検出プロセスを使用することに関連付けられるある種のコンテンツを示していると決定されたことに応答して使用される、前記方法。
  8. 請求項7の方法であって、エッジ検出プロセスに関連付けられているある種のコンテンツには、風景または屋外環境の描写を含む、前記方法。
  9. 請求項2の方法であって、
    現在の方向を決定することには、
    画像に描かれていると識別された各顔の両目の間の軸を決定することを含む顔の方向判定技術を用いることを含む、前記方法。
  10. 請求項9の方法であって、
    前記顔の方向判定技術は、画像が1以上の顔を示していると判断されたことに応答して使用される、前記方法。
  11. 請求項2の方法であって、
    現在の方向を決定することには、画像に示されている一以上の各顔の両目の間の軸を決定することを含む顔の方向判定技術を用いること及び1以上の顔の決定された軸に合致するえられる軸を決定することを含み、及び回転量を決定することには、前記所定の基準方向からの、得られる軸のずれの量を決定することを含む、前記方法。
  12. 請求項11の方法であって、得られる軸を決定することには、1以上の顔の軸の
    平均の軸(average axis)、1以上の顔の軸のモード軸(mode axis)の一つを決定し、及び1以上の顔の軸の平均軸(mean axis)を見つけることを含む、前記方法。
  13. 請求項2の方法であって、
    ユーザーからの画像の回転の指示を受領し、そして
    回転された画像を表示し、前記表示は、現在の方向の画像の表示から、回転された方向に画像を素早く動かす(snapping)ことを含み、前記表示された回転方向は決定された回転量に対応する、前記方法。
  14. 請求項2の方法であって、現在の画像の方向を決定することには、
    画像の現在の方向を決定するために、機械学習を用いる複数の識別器に画像を入力することを含む、前記方法。
  15. システムであって、
    記憶装置と、
    前記記憶装置にアクセスして、操作を実行可能にする少なくとも一つのプロセッサを含み、
    前記操作は、
    画像に示されたコンテンツの1以上の識別要素を取得し、
    画像のコンテンツの現在の方向を決定するし、前記現在の方向は、コンテンツの1以上の識別要素に基づいて決定され、
    前記コンテンツを現在の方向よりもある所定の基準方向により近い方向に、向けるように前記画像の回転量が決定され、
    及び画像を決定された量だけ回転する
    ことを含む前記システム。
  16. 請求項15のシステムであって、
    前記所定の基準方向は、現在の方向における画像の、1以上の境界線又はエッジに基づいてほぼ水平の軸に位置合わせされる、前記システム。
  17. 請求項15のシステムであって、
    現在の方向を決定する操作には、画像の現在の方向を決定するためには、1以上の分析技術を選択し、そして適用することを含み、前記1以上の分析技術は、1以上の識別要素に基づいて決定され、複数の技術から選択されることを含む、前記システム。
  18. 請求項15のシステムであって、現在の方向を決定する操作は、画像の1以上の特徴について決定される1以上の線形軸に基づいて、前記画像の方向軸を決定することを含む、前記システム。
  19. 請求項15のシステムであって、現在の方向を決定する操作は、
    画像の少なくとも一つの有力な軸を見つけ出すためのエッジ検出技術、及び
    画像に示されていると識別された各顔の両目の間の軸を決定することを含む顔の方向判定技術、
    の少なくとも一つを使用することを含む、
    前記システム
  20. 請求項15のシステムであって、さらに、以下の操作、すなわち、
    ユーザーからの画像の回転の指示を受領し、そして
    回転された画像を表示し、前記表示は、現在の方向の画像の表示から、回転された方向に画像を急変化(snapping)させることを含み、前記表示された回転方向は決定された回転量に対応する、
    前記システム。
JP2015542773A 2012-11-16 2013-11-14 画像の方向を修正するための画像内容に基づく画像の回転 Active JP6012060B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/678,850 US9280804B2 (en) 2012-11-16 2012-11-16 Rotation of an image based on image content to correct image orientation
US13/678,850 2012-11-16
PCT/US2013/070081 WO2014078526A2 (en) 2012-11-16 2013-11-14 Rotation of an image based on image content to correct image orientation

Publications (2)

Publication Number Publication Date
JP2016504657A true JP2016504657A (ja) 2016-02-12
JP6012060B2 JP6012060B2 (ja) 2016-10-25

Family

ID=49674396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015542773A Active JP6012060B2 (ja) 2012-11-16 2013-11-14 画像の方向を修正するための画像内容に基づく画像の回転

Country Status (6)

Country Link
US (1) US9280804B2 (ja)
EP (1) EP2920758B1 (ja)
JP (1) JP6012060B2 (ja)
KR (1) KR101685861B1 (ja)
CN (1) CN104838420B (ja)
WO (1) WO2014078526A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018054880A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 表示装置、情報処理装置および情報処理方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652887B2 (en) * 2014-01-22 2017-05-16 Hankookin, Inc. Object oriented image processing and rendering in a multi-dimensional space
WO2016136610A1 (ja) * 2015-02-27 2016-09-01 シャープ株式会社 表示装置、及び表示装置の画像表示方法
WO2017131838A2 (en) * 2015-11-13 2017-08-03 Flir Systems, Inc. Sonar sensor fusion and model based virtual and augmented reality systems and methods
US11328155B2 (en) * 2015-11-13 2022-05-10 FLIR Belgium BVBA Augmented reality labels systems and methods
US9864925B2 (en) * 2016-02-15 2018-01-09 Ebay Inc. Digital image presentation
US12008034B2 (en) 2016-02-15 2024-06-11 Ebay Inc. Digital image presentation
CN106371730A (zh) * 2016-09-08 2017-02-01 珠海市魅族科技有限公司 一种移动终端及图像旋转方法
US11263777B2 (en) * 2017-05-09 2022-03-01 Sony Corporation Information processing apparatus and information processing method
US11823359B2 (en) * 2017-10-06 2023-11-21 Google Llc Systems and methods for leveling images
US10095925B1 (en) * 2017-12-18 2018-10-09 Capital One Services, Llc Recognizing text in image data
JP2019168999A (ja) * 2018-03-23 2019-10-03 カシオ計算機株式会社 撮像装置、撮像方法及びプログラム
KR102242407B1 (ko) * 2019-03-11 2021-04-20 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN111679731A (zh) * 2019-03-11 2020-09-18 三星电子株式会社 显示装置及其控制方法
CN111986069A (zh) 2019-05-22 2020-11-24 三星电子株式会社 图像处理装置及其图像处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002344723A (ja) * 2001-05-17 2002-11-29 Fuji Photo Film Co Ltd 撮像装置、画像処理装置、画像処理方法、及びプログラム
US20030152289A1 (en) * 2002-02-13 2003-08-14 Eastman Kodak Company Method and system for determining image orientation
JP2004534334A (ja) * 2001-06-30 2004-11-11 ヒューレット・パッカード・カンパニー 電子画像の傾きを修正する方法及び画像処理システム、画像取り込みシステム、並びに、カメラ
JP2008305275A (ja) * 2007-06-08 2008-12-18 Fujifilm Corp アルバム作成装置および方法ならびにプログラム
JP2009010452A (ja) * 2007-06-26 2009-01-15 Fuji Xerox Co Ltd 画像処理システム及び画像処理プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7893963B2 (en) 2000-03-27 2011-02-22 Eastman Kodak Company Digital camera which estimates and corrects small camera rotations
US7079707B2 (en) 2001-07-20 2006-07-18 Hewlett-Packard Development Company, L.P. System and method for horizon correction within images
JP2004320277A (ja) * 2003-04-15 2004-11-11 Sony Corp プリント用端末、プリントシステム、記憶媒体及びプログラム
WO2007142621A1 (en) * 2006-06-02 2007-12-13 Fotonation Vision Limited Modification of post-viewing parameters for digital images using image region or feature information
KR100580174B1 (ko) * 2003-08-21 2006-05-16 삼성전자주식회사 회전 가능한 디스플레이 장치 및 화면 조정 방법
US20050146620A1 (en) 2004-01-02 2005-07-07 Monroe Darrin D. Electronic device with image capturing and method therefor
US7724296B2 (en) 2006-06-21 2010-05-25 Sony Ericsson Mobile Communications Ab Device and method for adjusting image orientation
CN100440248C (zh) * 2006-12-06 2008-12-03 北京中星微电子有限公司 一种图像方向校正装置及方法
US7706579B2 (en) * 2006-12-21 2010-04-27 Sony Ericsson Communications Ab Image orientation for display
JP4946730B2 (ja) * 2007-08-27 2012-06-06 ソニー株式会社 顔画像処理装置及び顔画像処理方法、並びにコンピュータ・プログラム
US8232988B2 (en) * 2007-10-31 2012-07-31 Autodesk, Inc. Pre-computing image manipulations
WO2010103868A1 (ja) 2009-03-11 2010-09-16 オリンパスメディカルシステムズ株式会社 画像処理システム、その外部装置およびその画像処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002344723A (ja) * 2001-05-17 2002-11-29 Fuji Photo Film Co Ltd 撮像装置、画像処理装置、画像処理方法、及びプログラム
JP2004534334A (ja) * 2001-06-30 2004-11-11 ヒューレット・パッカード・カンパニー 電子画像の傾きを修正する方法及び画像処理システム、画像取り込みシステム、並びに、カメラ
US20030152289A1 (en) * 2002-02-13 2003-08-14 Eastman Kodak Company Method and system for determining image orientation
JP2008305275A (ja) * 2007-06-08 2008-12-18 Fujifilm Corp アルバム作成装置および方法ならびにプログラム
JP2009010452A (ja) * 2007-06-26 2009-01-15 Fuji Xerox Co Ltd 画像処理システム及び画像処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018054880A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 表示装置、情報処理装置および情報処理方法

Also Published As

Publication number Publication date
KR101685861B1 (ko) 2016-12-12
CN104838420B (zh) 2018-04-20
EP2920758A2 (en) 2015-09-23
EP2920758B1 (en) 2022-04-13
WO2014078526A3 (en) 2014-08-28
KR20150070363A (ko) 2015-06-24
JP6012060B2 (ja) 2016-10-25
US9280804B2 (en) 2016-03-08
CN104838420A (zh) 2015-08-12
US20140140609A1 (en) 2014-05-22
WO2014078526A2 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6012060B2 (ja) 画像の方向を修正するための画像内容に基づく画像の回転
US11483268B2 (en) Content navigation with automated curation
US10591281B2 (en) Apparatus and methods for facial recognition and video analytics to identify individuals in contextual video streams
CN105981368B (zh) 在成像装置中的照片构图和位置引导
US9665986B2 (en) Systems and methods for an augmented reality platform
US11429338B2 (en) Shared visualizations in augmented reality
US20180046855A1 (en) Face detection and recognition
CN112954450B (zh) 视频处理方法、装置、电子设备和存储介质
US9582731B1 (en) Detecting spherical images
US9324014B1 (en) Automated user content processing for augmented reality
TW202026948A (zh) 活體檢測方法、裝置以及儲存介質
EP3069301A1 (en) Face detection and recognition
CN113366489A (zh) 检测增强现实目标
US20180189602A1 (en) Method of and system for determining and selecting media representing event diversity
CN110866168A (zh) 信息推荐方法、装置、终端及服务器
US9058674B1 (en) Enhancing resolution of single images

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160726

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: 20160822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6012060

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

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250