JP2023096759A - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP2023096759A
JP2023096759A JP2021212731A JP2021212731A JP2023096759A JP 2023096759 A JP2023096759 A JP 2023096759A JP 2021212731 A JP2021212731 A JP 2021212731A JP 2021212731 A JP2021212731 A JP 2021212731A JP 2023096759 A JP2023096759 A JP 2023096759A
Authority
JP
Japan
Prior art keywords
image
caption
images
candidate
image group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021212731A
Other languages
English (en)
Inventor
和也 小笠原
Kazuya Ogasawara
信二郎 堀
Shinjiro Hori
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2021212731A priority Critical patent/JP2023096759A/ja
Priority to US18/064,586 priority patent/US20230206660A1/en
Publication of JP2023096759A publication Critical patent/JP2023096759A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/635Overlay text, e.g. embedded captions in a TV program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

【課題】好適に画像を選択すること。【解決手段】候補画像群の中から画像を選択するためのプログラムであって、コンピュータを、複数の画像を含む候補画像群を取得する取得手段と、候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、候補画像群の画像を解析する画像解析手段と候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、決定手段、画像解析手段、およびキャプション解析手段の結果に基づき候補画像群から特定の画像を選択する選択手段と、として機能させることを特徴とする。【選択図】図5

Description

本発明は、画像を選択する技術に関する。
複数の画像の中からアルバム作成のための画像を自動で選択し、アルバムのテンプレートを自動で決定し、テンプレートへの画像の自動割り当てを実施する自動レイアウト技術がある。
特許文献1には、優先的にレイアウトしたい被写体(以下、優先被写体という)と少なくとも1つのサブ被写体とを認識し、認識した被写体の関係に基づいて優先被写体の状態を推定し、優先被写体の状態に基づいて画像を選択する技術が開示されている。
特許文献2には、SNS(Social Networking Service)に投稿された画像からアルバムを作成する際に、レイアウトされた画像に付属しているコメントに基づいてテンプレートまたはスタンプ画像を選択する技術が開示されている。この方法では、画像と予め決めたキーワードとの関連性からスコアを算出し、関連性の高いテンプレートまたはスタンプ画像の選択を可能にしている。
特開2018-097492号公報 特開2021-071870号公報
Oriol Vinyals, Alexander Toshev, Samy Bengio, and Dumitru Erhan. "Show and Tell: A Neural Image Caption Generator", 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 3156-3164 Tomas Mikolov, Kai Chen, Greg S. Corrado, and Jeffrey Dean "Efficient Estimation of Word Representations in Vector Space", International Conference on Learning Representations (ICLR), 2013
好適に画像を選択する技術が求められる。
そこで本発明は、好適に画像を選択することを目的とする。
本発明の一様態に係るプログラムは、候補画像群の中から画像を選択するためのプログラムであって、コンピュータを、複数の画像を含む前記候補画像群を取得する取得手段と、前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、前記候補画像群の画像を解析する画像解析手段と前記候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、前記決定手段、前記画像解析手段、および前記キャプション解析手段の結果に基づき前記候補画像群から特定の画像を選択する選択手段と、として機能させることを特徴とする。
本発明によれば、好適に画像を選択することができる。
比較例の課題を説明する図である。 画像処理装置のハードウェアの構成を示すブロック図である。 アルバム作成アプリケーションのソフトウェアブロック図である。 アルバム作成アプリケーションが提供するUIの一例を説明する図である。 自動レイアウト処理を示すフローチャートである。 画像特徴量を示す図である。 キャプション自動生成モデルを説明する図である。 キャプション解析情報を示す図である。 得点化処理を示すフローチャートである。 画像データのレイアウトに使うテンプレート群を示す図である。 実施形態の効果を説明する図である。 自動レイアウト処理を示すフローチャートである。 得点化処理を示すフローチャートである。 自動レイアウト処理を示すフローチャートである。 キャプション生成及び解析処理を示すフローチャートである。 キャプション生成及び解析処理を示すフローチャートである。
以下、添付図面に従って本発明に係る画像処理装置の好ましい実施形態について詳説する。ただし、発明の範囲は図示例に限定されるものではない。
本件の説明の前に、比較例として、後述する画像のキャプション解析を用いていない場合の、優先被写体の情報を用いた画像選択について、図1を用いて説明する。図1(a)は電車を主体に撮影した画像であり、図1(b)は図1(a)の画像を撮影する際にカメラの前を横切った人が写りこんでしまった画像である。優先被写体を「電車」と設定した場合、自動で選ばれる画像としてユーザが期待するのは図1(a)の画像であり、図1(b)の画像は選ばれるべきではないと想定できる。しかしながら、比較例では、これらの画像から認識される被写体は図1(a)、図1(b)ともに「電車」と「人」である。そのため、図1(a)、図1(b)ともに優先被写体である「電車」が写っている画像だと判断され、優先的に選ばれる制御がなされる。したがって、従来の方法では、望ましくない優先被写体の画像が選ばれる場合がある。
以下の実施形態では、優先被写体を設定することに加え、画像に紐づくキャプションを取得し、取得したキャプションの解析によって得られた情報を用いることで画像選択の精度を向上させる方法を説明していく。なお以下の実施形態においてキャプションとは具体的には、画像に紐づけられて設定された文章である。なおキャプションは、後述するアルバム作成のためのアプリケーション(以下、「アプリ」ともいう)とは異なる他のアプリにより、画像に対して付加・設定されるものである。他のアプリとは具体的には例えば、ソーシャルネットワークサービス(SNS)に画像を投稿することが可能なSNS用アプリや複数の画像を管理してユーザに閲覧させることが可能な画像管理アプリである。これらのアプリにおいてユーザが任意の文章を入力することで、画像にキャプションが付加・設定される。なおアプリにより自動で生成された文章が、キャプションとして画像に付加・設定されても良い。この場合、他のアプリは、画像を解析して、解析結果に適した文章をキャプションとして自動で画像に付加・設定するアプリであっても良い。後述するアルバム作成のためのアプリは、例えば上述のようにして他のアプリにより設定されたキャプションを取得・解析することで以下の実施形態を実現する。なおキャプションは、上述の形態に限定されるものではなく、例えば写真画像にカメラが付加・設定したEXIF情報のように、アプリによって付加された情報以外の情報であっても良い。
<<第1実施形態>>
<システムの説明>
本実施形態では、画像処理装置200において、アルバム作成のためのアプリを動作させ、自動レイアウトを生成する方法を例に挙げて説明する。なお、以下の説明において、「画像」とは、特に断りが無い限り、静止画、動画、及び動画中から抜き出されたフレーム画像を含む。また、ここでの画像は、ネットワーク上のサービス及びネットワーク上のストレージ等のネットワーク上に保持され、ネットワーク経由で取得可能な、静止画、動画、及び動画中のフレーム画像をも含みうる。
図2は、画像処理装置200のハードウェアの構成を示すブロック図である。なお、画像処理装置200としては、例えば、パーソナルコンピュータ(以下、PCと記載)またはスマートフォン等が挙げられる。本実施形態では、画像処理装置200は、PCであるものとして説明する。画像処理装置200は、CPU201、ROM202、RAM203、HDD204、ディスプレイ205、キーボード206、ポインティングデバイス207、及びデータ通信部208を有する。
CPU(中央演算装置またはプロセッサ)201は、画像処理装置200を統括的に制御し、例えば、ROM202に記憶されたプログラムをRAM203に読み出して実行することにより、本実施形態の動作を実現する。図2では、CPUは1つであるが、複数のCPUで構成されても良い。ROM202は、汎用的なROMであり、例えば、CPU201により実行されるプログラムが記憶されている。RAM203は、汎用的なRAMであり、例えば、CPU201によるプログラムの実行時に、各種情報を一時的に記憶するためのワーキングメモリとして用いられる。HDD(ハードディスク)204は、画像ファイル、及び、画像解析などの処理結果を保持するデータベース、ならびに、アルバム作成アプリケーションにより用いられるテンプレートなどを記憶するための記憶媒体(記憶部)である。
ディスプレイ205は、本実施形態のユーザインタフェース(UI)、及び、画像データ(以下、「画像」ともいう)のレイアウト結果として電子アルバムをユーザに表示する。キーボード206及びポインティングデバイス207は、ユーザからの指示操作を受け付ける。ディスプレイ205は、タッチセンサ機能を備えても良い。キーボード206は、例えば、ユーザが、ディスプレイ205に表示されたUI上に作成したいアルバムの見開き数を入力する際に用いられる。なお、本明細書において、「見開き」とは、表示においてはひとつの表示用ウィンドウに相当し、印刷においては典型的には2ページ分に対応する領域であり、シートに印刷された互いに隣接する、ユーザが一目で鑑賞できる1対のページを示す。ポインティングデバイス207は、例えば、ユーザが、ディスプレイ205に表示されたUI上のボタンをクリックする際に用いられる。
データ通信部208は、有線又は無線等のネットワークを介して、SNSまたはクラウド等の外部の装置との通信を行う。データ通信部208は、例えば、自動レイアウト機能によりレイアウトされたデータを画像処理装置200と通信可能なプリンタ又はサーバに送信する。また、後述する自動レイアウト処理の一部又は全部の処理を外部のクラウドコンピュータで実現するために、自動レイアウト処理に係るデータをクラウドコンピュータに送信する。データバス209は、図2の各ブロック間を相互に通信可能に接続する。
尚、図2に示す構成は、一例に過ぎず、これに限られるものではない。例えば、画像処理装置200は、ディスプレイ205を有しておらず、外部のディスプレイにUIを表示してもよい。
本実施形態におけるアルバム作成アプリケーションは、HDD204に保存されている。そして、後述するようにユーザがディスプレイ205に表示されているアプリケーションのアイコンをポインティングデバイス207により選択して、クリックまたはダブルクリックするといった操作によって起動される。
<ソフトウェアブロックの説明>
図3は、アルバム作成アプリケーションのソフトウェアブロックを示す図である。図3に示す各構成要素に対応する各プログラムモジュールが、上述のアルバム作成アプリケーションに含まれている。そして、CPU201が各プログラムモジュールを実行することで、CPU201が図3に示す各構成要素として機能する。以降、図3に示す各構成要素の説明として、各構成要素が種々の処理を実行するものとして説明する。また図3は、特に、自動レイアウト機能を実行する自動レイアウト処理部318に関するソフトウェアブロック図を示している。
アルバム作成条件指定部301は、ポインティングデバイス207によるUI操作に応じてアルバム作成条件を自動レイアウト処理部318に指定する。本実施形態では、アルバム作成条件として、アルバムに使用する候補画像を含むアルバム候補画像群、見開き数、テンプレートの種類、及びアルバムで採用される画像の被写体を人物優先とするかペット優先とするかを指定可能である。また、作成するアルバムのテーマ、アルバムに画像補正をするか否かなどの条件、アルバムに配置する枚数を調整する写真枚数調整量、及び、アルバムを作成する商材を指定可能である。アルバム候補画像群の指定は、例えば撮影日時などの個別の画像の属性情報によって指定されてもよいし、デバイスおよびディレクトリ等のように画像を含むファイルシステムの構造に基づいて指定されてもよい。また、任意の画像を2枚指定させ、それぞれの画像データが撮影された日時の間に撮影された全ての画像を対象の画像群としてもよい。
画像取得部302は、アルバム作成条件指定部301により指定されたアルバム候補画像群をHDD204から取得する。画像取得部302は、メタ情報(画像に付随する付加的なデータ)として、取得した画像に含まれる画像の幅もしくは高さ情報、撮影時のExif情報に含まれる撮影日時情報、又は画像がユーザ画像群に含まれるのかを示す情報等を画像解析部304へ出力する。また、画像取得部302は、取得した画像データを画像変換部303へ出力する。各画像には、識別情報が付与され、画像解析部304に出力されたメタ情報、および後述する画像変換部303を介して画像解析部304に出力された画像データは、画像解析部304にて対応付けが可能である。
HDD204に保存されている画像としては、静止画像及び動画から切り出されたフレーム画像が挙げられる。静止画像及びフレーム画像は、デジタルカメラ及びスマートデバイス等の撮像デバイスから取得されたものである。撮像デバイスは、画像処理装置200が備えていてもよいし、外部装置が備えるものであってもよい。なお、撮像デバイスが外部装置である場合は、画像は、データ通信部208を介して取得される。また、静止画像及び切り出し画像は、データ通信部208を介してネットワークまたはサーバから取得した画像であってもよい。ネットワークまたはサーバから取得した画像としては、SNS画像が挙げられる。CPU201によって実行されるプログラムは、各画像に対して、画像に付属したデータを解析して保存元を判定する。SNS画像は、アプリケーションを介してSNSから画像を取得することで、アプリケーション内で取得先を管理してもよい。画像は、上述した画像に限定されるものではなく、他の種類の画像であってもよい。
画像変換部303は、画像取得部302から入力した画像データを画像解析部304で使用するための画素数及び色情報に変換して、画像解析部304に出力する。本実施形態では、画像を、所定の画素数(例えば短辺420画素)にして、長辺は元の各辺の比率を維持した大きさに変換する。さらに、色の解析を行うためにsRGBなどの色空間に統一されるように変換する。このように画像変換部303は、画素数及び色空間が統一された解析画像へ変換するものとする。画像変換部303は、変換した画像を画像解析部304に出力する。また、画像変換部303は、レイアウト情報出力部315および画像補正部317に画像を出力する。
画像解析部304は、画像変換部303から入力する解析画像に対し、後述する方法で画像データを解析して、画像特徴量を取得する。画像特徴量とは、例えば、画像に格納されているメタ情報、または、画像を解析することで取得できる特徴量のことである。解析処理としては、ピントの合焦度合いの推定、顔検出、個人認識、またはオブジェクト判定の各処理を実行し、これらの画像特徴量を取得する。画像特徴量としては、他には、色味、明るさ、解像度、データ量、またはボケ・ブレの程度などが挙げられるが、それ以外の画像特徴量を取得してもよい。画像解析部304は、これらの画像特徴量と共に、画像取得部302から入力するメタ情報から必要な情報を抽出して組み合わせて、特徴量として画像得点部307へ出力する。また、画像解析部304は、撮影日時情報を見開き割当部312に出力する。
キャプション取得部305は、取得した画像に付属するキャプションを取得し、キャプション解析部306に出力する。キャプション生成部319は、キャプションが付属していない画像に対して、既知のキャプション生成モデルを適用することでキャプションを生成し、キャプション解析部306に出力する。
キャプション解析部306は、キャプション取得部305から入力するキャプションに対し、後述する方法でキャプションを解析して、キャプション解析情報を取得し、画像得点部307へ出力する。
画像得点部307は、画像解析部304から取得した特徴量及びキャプション解析部306から取得したキャプション解析情報を使用してアルバム候補画像群の各画像に対して得点付けを行う。ここでいう得点とは、各画像に対するレイアウトへの適切度を示した指標であり、高得点であるほどレイアウトに適していることを示す。得点付けした結果は、画像選択部311および画像レイアウト部314に出力される。
写真枚数調整量入力部308は、アルバム作成条件指定部301から指定された、アルバムに配置する写真枚数を調整する調整量を、写真枚数決定部310に入力する。見開き数入力部309は、アルバム作成条件指定部301から指定された、アルバムの見開き数を、写真枚数決定部310および見開き割当部312に入力する。アルバムの見開き数は、複数の画像が配置される複数のテンプレートの数に相当する。
写真枚数決定部310は、写真枚数調整量入力部308から指定された調整量および見開き数入力部309から指定された見開き数に基づいて、アルバムを構成する総写真枚数を決定し、画像選択部311に入力する。
画像選択部311は、写真枚数決定部310から入力された写真枚数および画像得点部307で算出した得点に基づいて画像選択を行い、アルバムで使用されるレイアウト画像群のリストを作成して、見開き割当部312へ提供する。
見開き割当部312は、画像選択部311で選択された画像群に対して、撮影日情報を用いて、各画像を見開きに割り当てる。ここでは見開き単位で割り当てる例を説明するが、ページ単位に割り当ててもよい。
テンプレート入力部313は、アルバム作成条件指定部301から指定されたテンプレート情報に応じた複数のテンプレートをHDD204から読み込み、画像レイアウト部314に入力する。
画像レイアウト部314は、個々の見開きについての画像のレイアウト処理を行う。具体的には、処理対象の見開きについて、テンプレート入力部313により入力された複数のテンプレートから画像選択部311で選択した画像に適したテンプレートを決定し、各画像のレイアウトを決定する。
レイアウト情報出力部315は、画像レイアウト部314が決定したレイアウトに従って、ディスプレイ205に表示するためのレイアウト情報を出力する。レイアウト情報は、例えば、決定したテンプレートに画像選択部311により選択された選択画像のデータがレイアウトされたビットマップデータである。
画像補正条件入力部316は、アルバム作成条件指定部301から指定された画像補正のON/OFF情報を画像補正部317に提供する。補正の種類としては、例えば、輝度補正、覆い焼き補正、赤目補正、またはコントラスト補正などが挙げられる。画像補正のONまたはOFFは、補正の種類ごとに指定されてもよいし、全ての種類についてまとめて指定されてもよい。
画像補正部317は、画像補正条件入力部316より受信した、画像補正条件に基づいて、レイアウト情報出力部315が保持するレイアウト情報に対して補正を実施する。尚、画像変換部303から画像補正部317で処理する画像の画素数は、画像レイアウト部314で決定したレイアウト画像のサイズに合わせて変えることができる。なお、本実施形態では、レイアウト画像を生成した後に、各画像に画像補正を行うものとしたが、これに限定されず、見開き又はページにレイアウトする前に、各画像の補正を行うようにしてもよい。
アルバム作成アプリケーションが画像処理装置200にインストールされると、画像処理装置200上で動作するOS(オペレーティングシステム)のトップ画面(デスクトップ)上に、起動アイコンが表示される。ユーザがディスプレイ205に表示されている起動アイコンをポインティングデバイス207でダブルクリックすると、HDD204に保存されているアプリのプログラムがRAM203にロードされ、CPU201により実行されることで起動する。
なお、ソフトウェアブロックの構成要素の一部又は全ての機能が専用の回路を用いることで実現されてもよい。また、ソフトウェアブロックの構成要素の一部又は全ての機能が、クラウドコンピュータを用いることで実現されてもよい。
<UI画面の例>
図4は、アルバム作成アプリケーションが提供するアプリ起動画面401の一例を示す図である。アプリ起動画面401は、ディスプレイ205に表示される。ユーザはアプリ起動画面401を介して後述するアルバムの作成条件を設定する。アルバム作成条件指定部301は、このUI画面を通じてユーザからの設定内容を取得する。
アプリ起動画面401上のパスボックス402は、アルバム作成の対象となる複数の画像(例えば複数の画像ファイル)のHDD204中の保存場所(パス)を表示する。フォルダ選択ボタン403がユーザからのポインティングデバイス207でのクリック操作により指示されると、OSに標準で搭載されているフォルダの選択画面が表示される。フォルダの選択画面では、HDD204で設定されているフォルダがツリー構成で表示され、ユーザは、ポインティングデバイス207により、アルバム作成の対象とする画像を含むフォルダを選択することができる。ユーザにより選択されたアルバム候補画像群が格納されるフォルダのパスが、パスボックス402に表示される。
テーマ選択ドロップダウンリスト404はユーザからのテーマの設定を受け付ける。テーマとはレイアウトする画像に一種の統一性を持たせるための指標であり、例えば、「旅行」「セレモニー」「日常」などである。テンプレート指定領域405は、ユーザがテンプレート情報を指定するための領域であり、テンプレート情報がアイコンとして表示される。テンプレート指定領域405には、複数のテンプレート情報のアイコンが並んで表示され、ユーザがポインティングデバイス207によりクリックすることでテンプレート情報を選択可能である。
見開き数ボックス406は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード206を介して見開き数ボックス406に直接数字を入力するか、ポインティングデバイス207を用いてリストから見開き数ボックス406に数字を入力する。
チェックボックス407は、ユーザからの画像補正のON/OFFの指定を受け付ける。チェックが入った状態は画像補正ONが指定された状態であり、チェックが入っていない状態は画像補正OFFが指定された状態である。本実施形態では、全ての画像補正が1つのボタンでON/OFFされるものとしたが、これに限定されず、画像補正の種類毎にチェックボックスを備えるようにしてもよい。
優先モード選択ボタン408は、作成するアルバムにおいて、人物画像を優先的に選択させるのか、ペット画像を優先的に選択させるのかの優先モードの設定をユーザから受け付ける。なお、本実施形態では優先モードを人物、またはペットの2つのモードから選択するようになっているがこれに限らず、例えば風景、乗り物、または食べ物等、他のモードがあってもよい。ここで設定した優先モードを基に、画像得点部307は、画像の得点化の際の補正等を行う基準として用いる優先被写体を決定する。
写真枚数調整409は、アルバムの見開きに配置する画像枚数をスライダーバーで調整するためのものである。ユーザは、スライダーバーを左右に移動させることにより、アルバムの各見開き配置する画像枚数を調整することができる。写真枚数調整409は、例えば、少は-5、多は+5などの適当な数字に割り当てることで、見開き内に配置できる画像枚数の数を調整できるようにする。なお、スライダーバーを用いずにユーザが写真枚数を入力するような形態があってもよい。
商材指定部410は、作成するアルバムの商材を設定する。商材は、アルバムのサイズ、アルバムの用紙種類を設定することができる。また、個別に表紙種類および綴じ部の種類を設定してもよい。
ユーザによりOKボタン411が押下されると、アルバム作成条件指定部301は、アプリ起動画面401上で設定されている内容をアルバム作成アプリケーションの自動レイアウト処理部318に出力する。
その際、パスボックス402に入力されているパスは、画像取得部302に伝えられる。また、見開き数ボックス406に入力されている見開き数は、見開き数入力部309に伝えられる。テンプレート指定領域405で選択されているテンプレート情報は、テンプレート入力部313に伝えられる。画像補正チェックボックスの画像補正のON/OFFは、画像補正条件入力部316に伝えられる。アプリ起動画面401上のリセットボタン412は、アプリ起動画面401上の各設定情報をリセットするためのボタンである。
<処理の流れ>
図5は、アルバム作成アプリケーションの自動レイアウト処理部318の処理を示すフローチャートである。図5に示すフローチャートは、例えば、CPU201がHDD204に記憶されたプログラムをRAM203に読み出して実行することにより実現される。図5の説明では、CPU201が上記アルバム作成アプリケーションを実行することで機能する、図3に示す各構成要素が処理を実行するものとして説明する。図5を参照しながら、自動レイアウト処理を説明する。尚、各処理の説明における記号「S」は、当該フローチャートにおけるステップであることを意味する(本実施形態以降についても同様である)。
S501において画像得点部307は、アルバム作成条件指定部301で指定された優先モード情報に基づいて、優先被写体を決定する。例えば、人物画像を優先して選択する人物優先モードが指定された場合は、「人物」「男性」「女性」「子ども」などといった、人物に関連する被写体を優先被写体に決定する。対して、ペット画像を優先して選択するペット優先モードが指定された場合は、「ペット」「犬」「猫」「ハムスター」などといった、ペットに関連する被写体を優先被写体に決定する。このように、S501では指定された優先モードに紐づけられた、少なくとも1つの優先被写体を決定する。
本実施形態では、優先モード選択ボタン408において指定された優先モードに基づいて優先被写体を決定したが、これに限らず、例えば、不図示の優先被写体ボックスを介して、ユーザが任意の優先被写体を指定してもよい。また、テーマ選択ドロップダウンリスト404において指定されたテーマに基づいて、優先被写体を決定してもよい。
S502において画像変換部303は、画像を変換して解析画像を生成する。ここで解析に用いられる画像は、アルバム作成条件指定部301で指定されたHDD204内のフォルダに格納されたアルバム候補画像群の中の画像である。従って、S502の時点では、アプリ起動画面401のUI画面を通じた各種の設定が完了している状態であり、アルバム作成条件及びアルバム候補画像群が設定済みであるものとする。画像変換部303は、アルバム候補画像群をHDD204からRAM203に読み出す。そして画像変換部303は、読み出された画像ファイルの画像を、前述したように、所定の画素数及び色情報を有する解析画像に変換する。本実施形態では、短辺が420画素であり、sRGBに変換された色情報を有する解析画像に変換する。
S503において画像解析部304は、S502で生成された解析画像の解析処理を実行し、画像特徴量を取得する。本実施形態では、解析処理として、ピントの合焦度合いの取得、顔検出、個人認識、及びオブジェクト判定を実行するが、これに限定されず、その他の解析処理を実行してもよい。以下、S503において画像解析部304で行われる処理の詳細を説明する。
画像解析部304は、画像取得部302から受け取ったメタ情報のうち、必要なメタ情報を抽出する。画像解析部304は、例えば、HDD204から読み出された画像ファイルに付属するExif情報から、該画像ファイル内の画像の時間情報として、撮影日時を取得する。尚、メタ情報としては、例えば、画像の位置情報またはF値などを取得しても良い。また、メタ情報として、画像ファイルに付属する以外の情報を取得してもよい。例えば、画像の撮影日時に紐づくスケジュール情報を取得してもよい。
また、前述したが、画像解析部304は、S502で生成された解析画像から画像特徴量を取得する。画像特徴量としては、例えば、ピントの合焦度合いが挙げられる。ピントの合焦度合いを求める方法として、エッジの検出が行われる。エッジの検出方法として一般的にソーベルフィルタが知られている。ソーベルフィルタでエッジ検出を行い、エッジの始点と終点との輝度差を、始点と終点との距離で割れば、エッジの傾きが算出される。画像中のエッジの平均傾きを算出した結果から、平均傾きが大きい画像は、平均傾きが小さい画像よりもピントが合っているとみなすことができる。そして、傾きに対して異なる値の複数の閾値を設定すれば、どの閾値以上かを判定することが可能となり、ピント量の評価値を出力可能である。本実施形態では、異なる2つの閾値を予め設定しておき、「○」、「△」、及び「×」の3段階により、ピント量を判定する。例えば、「○」を、アルバムに採用したいピントの傾きと判定し、「△」を、許容可能なピントの傾きと判定し、「×」を、許容不可能な傾きと判定するように、各閾値を予め設定しておく。閾値の設定は、例えば、アルバム作成アプリケーションの作成元等により提供されても良いし、ユーザインタフェース上で設定可能としても良い。尚、画像特徴量としては、例えば、画像の明るさ、色味、彩度、または解像度などを取得してもよい。
また、画像解析部304は、S502で生成された解析画像に対して、顔検出を実行する。ここで、顔検出の処理には、公知の方法を用いることができる。例えば、複数用意した弱識別器から強識別器を作成するAdaboostが顔検出処理に用いられる。本実施形態では、Adaboostにより作成した強識別器により人物(オブジェクト)の顔画像が検出される。画像解析部304は、顔画像を抽出するとともに、検出した顔画像の位置の左上座標値と右下座標値とを取得する。この2種の座標を持つことにより、画像解析部304は、顔画像の位置と顔画像のサイズとを取得可能である。
画像解析部304は、顔検出で検出した、解析画像に基づく処理対象の画像内の顔画像と、顔辞書データベースに個人ID毎に保存されている代表顔画像とを比較することにより、個人認識を行う。画像解析部304は、複数の代表顔画像のそれぞれに対して、処理対象の画像内の顔画像との類似性を取得する。また、類似性が閾値以上であり且つ類似性が最も高い代表顔画像を特定する。そして、特定された代表顔画像に対応する個人IDを、処理対象の画像内の顔画像のIDとする。尚、上記複数の代表顔画像のすべてについて、処理対象の画像内の顔画像との類似性が閾値未満の場合、画像解析部304は、処理対象の画像内の顔画像を、新規の代表顔画像として、新規の個人IDと対応付けて顔辞書データベースに登録する。
また、画像解析部304は、S502で生成された解析画像に対して、オブジェクト認識を実行する。ここで、オブジェクト認識の処理には、公知の方法を用いることができる。本実施形態では、DeepLearningにより作成した判別器によりオブジェクトが認識される。判別器は各オブジェクトに対する0~1の尤度を出力し、ある閾値を超えたオブジェクトに対し、画像中にあると認識する。画像解析部304は、オブジェクト画像を認識することで、犬または猫などのペット、花、食べ物、建物、置物、またはランドマークなどのオブジェクトの種類を取得可能となる。本実施形態ではオブジェク判別しているが、これに限定されず、表情、撮影構図、または、旅行または結婚式などのシーンなどを認識することで、それぞれの種類を取得してもよい。また、判別を実行する前の、判別器から出力された尤度そのものを利用しても良い。
図6は、画像特徴量を示す図である。画像解析部304は、S502で取得した画像特徴量を、図6に示すように各画像(解析画像)を識別するID毎に区別して、ROM202等の記憶領域に記憶する。例えば、図6に示すように、S502で取得された撮影日時情報、ピント判別結果、検出された顔数とその位置情報及び類似性、並びに、認識したオブジェクトの種類が、テーブル形式で記憶される。尚、顔画像の位置情報は、S502で取得された個人ID毎に区別して記憶される。また1つの画像から複数種類のオブジェクトが認識された場合、図6に示すテーブルには、その1つの画像に対応する行に、オブジェクトの複数種類がすべて記憶される。
S504においてキャプション取得部305は、画像にキャプションが付属しているか否かを判定する。キャプションが付属していると判定された場合、S505の処理に進み、キャプションが付属していないと判定された場合、S506の処理に進む。
S505においてキャプション取得部305は、画像に付属しているキャプションを取得する。尚、ユーザが付与したキャプションある場合、または、過去のアルバム作成等でキャプションを付けた履歴等があってキャプションが付いている場合は、そのキャプションのデータを取得する。
S506においてキャプション生成部319は、既知のキャプション生成モデルを用いて画像のキャプションを自動で生成する。キャプションの自動生成方法は特に限定されないが、本実施形態では、非特許文献1に記載のShow and Tellモデルを用いて、キャプションを自動で生成する。
図7は、Show and Tellモデルを例に、キャプション生成モデルについて説明する図である。キャプション生成モデルは大きく分けて3つのネットワークで構成される。3つのネットワークとは、CNN(Convolutional Neural Network)、単語分散表現We(Word Embedding)、およびLSTM(Long Short Term Memory)、である。CNNは画像を特徴量ベクトルに変換する。単語分散表現Weは、単語を特徴量ベクトルに変換する。LSTMは、次の単語の出現確率を出力するものである。キャプションを生成する際は、まず、CNNに画像を入力する。そして入力して得られた特徴量ベクトルをLSTMに入力することで、単語の出現確率を文の先頭から順番に求めていき、単語の出現確率の積が高い単語列をキャプション文として出力する。
S507においてキャプション解析部306は、S505で取得したキャプション及びS506で生成したキャプションを解析し、キャプション解析情報を取得する。本実施形態では、解析処理として、構文解析を実行する。構文解析とは、言語を形態素に分解し、さらにその間の統語論的な関係を明確にする処理である。構文解析の実現手段としては、演算子順位法、トップダウン構文解析法、またはボトムアップ構文解析法などといった公知の手法を用いてよい。キャプション解析部306は、S505で取得したキャプション及びS506で生成したキャプションに対して構文解析を行うことで、キャプションにおける主語、動詞、目的語、または補語といった要素を取得する。
本実施形態では、以上でキャプション解析処理を終了するが、構文解析で得られた要素の単語に対して更なる解析処理を実施してもよい。例えば、要素となった単語を、公知の技術を用いて分散表現に変換してもよい。分散表現とは、文字または単語をベクトル空間に埋め込み、その空間上のひとつの点として捉える表現方法である。公知の技術としては、例えば、非特許文献2に記載のWord2Vecが挙げられる。
図8は、キャプション解析情報を示す図である。キャプション解析部306は、S507で取得したキャプション解析情報を、図8に示すように各画像を識別するID毎に区別して、ROM202等の記憶領域に記憶する。例えば、図8に示すように、S507で取得された主語、動詞、目的語、または補語の各要素が、テーブル形式で記憶される。尚、図8には、単語を分散表現に変換した場合の例も示している。
S508において画像得点部307は、アルバム候補画像群の各画像に対して得点化を実行する。ここで述べる得点とは、各画像に対するレイアウトへの適切度を示した指標である。得点化とは、画像ごとに得点を付与すること(スコアリング)である。付与された得点は、画像選択部311に提供され、後述のレイアウトに用いられる画像の選択時に参照される。
図9は、S508の得点化処理の詳細を示すフローチャートである。以下、図9を用いて、S508で行われる得点化処理を説明する。
まず、S901において画像得点部307は、S502で取得した画像特徴量ごとに、アルバム候補画像群の平均値および標準偏差を算出する。S902において画像得点部307は、全ての画像特徴量項目に対して、S901の処理が終了したか否かが判定される。ここで、終了していないと判定された場合、S901からの処理を繰り返す。終了していると判定された場合、処理はS903に進む。
S903において画像得点部307は、下記に記載の式(1)を用いて、得点化の対象となる画像(「注目画像」という)ごとの得点を算出する。尚、得点化の対象となる画像は、アルバム候補画像群の画像である。
Sji=50-|10×(μi―fji)/σi|・・・式(1)
ここで、jは注目画像のインデックスを、iは画像特徴量のインデックスを、fjiは注目画像の画像特徴量を、Sjiは画像特徴量fjiに対応する得点を示す。また、μiおよびσiはそれぞれアルバム候補画像群の画像特徴量ごとの平均値および標準偏差を示している。そして、画像得点部307は、式(1)で求めた、注目画像ごと、かつ画像特徴量ごとの得点Sjiと、下記の式(2)と、を用いて、各注目画像の得点を算出する。
Pj=Σi(Sji)/Ni・・・式(2)
ここで、Pjは各注目画像の得点を、Niは画像特徴量の項目数を示している。つまり、各注目画像の得点は、各画像特徴量の得点の平均として算出される。尚、ここで、アルバムに用いる画像はピントが合っている方が好ましいので、図7に示すピントの特徴量が「〇」である注目画像に対しては所定の得点を加算するようにしても良い。
S904において画像得点部307は、S507で取得したキャプション解析情報に基づいて、S903で算出した得点を補正する。補正方法としては、S507で取得した主語の情報と、S501で設定した優先被写体の情報とが一致する場合に、S903で算出した得点を増加させる方法が挙げられる。ユーザが付加したキャプションにおいて、主語は画像中の重要な被写体を決定づける重要な情報であり、主語となった被写体は主要被写体であると捉えられる。したがって、この方法に依れば、優先的にレイアウトしたい被写体が、画像中の重要な被写体となっているような、望ましい優先被写体の画像が選択されやすくなるような得点付けができる。本実施形態では、主語の情報と優先被写体の情報とが一致した画像の得点を例えば20点上げるようにしているが、これ以外の増加値でもよい。
また、他の補正方法として、主語の情報と優先被写体の情報とが一致しない場合に、S903で算出した得点を減少させる方法を用いてもよい。この方法に依れば、優先的にレイアウトしたい被写体が、画像中の重要な被写体となっておらず、レイアウトには望ましくない優先被写体の画像が選択されにくくなるような制御が可能となる。
上記の補正方法では、主語の情報と優先被写体の情報とが一致するか否かで得点を補正したが、図4の優先モード選択ボタン408において選択するような被写体の優先モードを用いた完全に一致している必要はなく、類義であるか否かで得点を補正しても良い。例えば、図4の優先モード選択ボタン408において「ペット優先モード」を選択した場合に、主語が「犬」または「猫」といった「ペット」と類義である情報と一致するか否かで得点を補正しても良い。この方法に依れば、より柔軟な得点補正が可能となる。具体的な方法としては、例えば、公知のWordNetを用いて優先被写体と主語とが類義であるか否かを判定し、類義である場合に得点を増加させる方法が挙げられる。また、単語間の類義関係を予めROM202に保持しておき、優先被写体と主語とが類義関係であるか否かを探索してもよい。
また、S504においてキャプションが付属していないと判定された場合に、キャプション生成のステップ(S506)に進むのではなく、S903において算出した得点を減少させてもよい。ユーザがキャプションを付加していない画像は、キャプションを付加した画像と比べるとユーザにとって重要ではない画像であるという考え方もできる。したがって、この方法に依れば、キャプションを付加していない画像の得点が下がることで、キャプションを付加しているユーザにとって重要な画像が相対的に選ばれやすくなる。
反対に、S504において、キャプションが付属していると判定された画像の得点を増加させても良い。この方法に依れば、キャプションが付属している画像の得点が上がることで、キャプションを付加しているユーザにとって重要な画像が選ばれやすくなる。
また、S505において、単語を分散表現で表した場合、分散表現された空間ベクトル上における優先被写体と取得した主語との関係に基づいて得点を補正してもよい。例えば、空間ベクトル上における優先被写体と取得した主語との距離が、ある閾値以下となった場合に得点を増加してもよい。この方法に依れば、優先被写体と取得した主語が完全に一致するか否かではなく、両単語が意味的に類似しているか否かで得点の補正が可能となる。尚、この場合、S904以前において予め優先被写体の単語を分散表現に変換しておくのが望ましい。
S905において画像得点部307は、ユーザ指定のフォルダ内の全てのアルバム候補画像群の画像に対してS903及びS904の処理が終了したか否かを判定する。終了していないと判定された場合、S903からの処理が繰り返される。終了していると判定された場合、図9の得点化処理は終了する。
図5の説明に戻る。S508に続き、S509において画像得点部307は、ユーザ指定のフォルダ内の全てのアルバム候補画像群の画像に対してS508の画像得点化が終了したか否かを判定する。終了していないと判定された場合、S502からの処理が繰り返される。終了していると判定された場合、S510に処理が進む。
S510において写真枚数決定部310は、アルバムに配置する写真枚数を決定する。本実施形態においては、写真枚数調整量入力部308から入力された、見開き写真枚数を調整する調整量と、見開き数入力部309から入力された見開き数とを用いて、式(3)により、アルバムに配置する写真枚数を決定する。
写真枚数=[見開き数×(基本写真枚数+調整量)]・・・式(3)
ここで、[・]は小数部分を切り捨てる床関数を示し、基本写真枚数は調整しない場合の見開きに配置する画像枚数を示している。本実施形態においては、基本写真枚数はレイアウト時の見栄えを考慮して6枚とし、アルバム作成アプリケーションのプログラムに予め組み込んでおく。
S511において画像選択部311は、画像得点部307で算出した各画像に対する得点および写真枚数決定部310から決定した写真枚数から、レイアウトする画像を選択する。以下、選択された画像群のことを、レイアウト画像群という。本実施形態においては、画像選択部311は、レイアウトする総画像枚数だけ、アルバム作成条件指定部301で指定した画像群から、画像得点部307で付与された得点が高い順番に画像を選択する。なお、画像選択の方法として、得点が高いほど、高い選択確率を設定し、確率で選択するようにしてもよい。このようにして、確率で選択することによって、自動レイアウト処理部318による自動レイアウト機能を実行する度にレイアウト画像を変えることができる。例えば、ユーザが自動レイアウト結果に納得しない場合に、UI不図示の再選択ボタンを押すことで、ユーザは前回と異なるレイアウト結果を得ることができるようにしてもよい。
また、画像選択部311において、画像得点部307で算出した得点が、ある閾値以上となった画像をレイアウト画像として選択してもよい。この場合は、写真枚数決定部310において写真枚数を決定しなくてもよい。この場合、選択される画像枚数が見開き数となるような値が、閾値として設定され得る上限となる。
S512において見開き割当部312は、S511で取得したレイアウト画像群を、見開き数入力部309から入力された見開き数分の画像群に分割して割り当てる。本実施形態では、レイアウト画像をS503で取得した撮影時間順に並べ、隣り合う画像間の撮影時間の時間差が大きい場所で分割する。このような処理を、見開き数入力部309から入力された見開き数分に分割するまで行う。つまり、(見開き数-1)回の分割を行う。これにより、撮影時間順に画像が並んだアルバムを作成することができる。なお、S512の処理は、見開き単位ではなく、ページ単位で行っても良い。
S513において画像レイアウト部314は、画像レイアウトの決定を行う。以下、テンプレート入力部313が、指定されたテンプレート情報に従って、ある見開きに対して図10の(a)~(p)を入力する例を説明する。
図10は、画像データのレイアウトに使うテンプレート群を示す図である。テンプレート群に含まれている複数のテンプレートのそれぞれが、各見開きに対応している。テンプレート1001は1枚のテンプレートである。テンプレート1001には、メインスロット1002と、サブスロット1003と、サブスロット1004とが含まれる。メインスロット1002は、テンプレート1001内でメインとなるスロット(画像をレイアウトする枠)であり、サブスロット1003およびサブスロット1004よりもサイズが大きい。
ここでは、入力されたテンプレートのスロット数は一例として3と指定されている。図10(q)は、指定されたテンプレートの数に従って選択されている3枚の画像を撮影日時順に並べた図である。また、3枚の画像は、向き(縦向き、または横向き)も区別された状態で並べられている。
ここでは、見開きに割り当てられた各画像群において、画像得点部307で算出した得点が最も大きい画像をメインスロット用とし、その他の画像をサブスロット用に設定する。なお、画像解析部304で取得したある画像特徴量に基づいてメインスロット用かサブスロット用かを設定してもよいし、ランダムに設定しても良い。
ここでは、画像データ1005がメインスロット用であり、画像データ1006と1007とがサブスロット用であるものとする。本実施形態では、テンプレートの左上(テンプレート1001でいうメインスロット1002)に撮影日時のより古い画像データがレイアウトされ、右下(テンプレート1001でいうサブスロット1004)に撮影日時のより新しい画像がレイアウトされる。図10(q)では、メインスロット用の画像データ1005は、縦向きであり、撮影日時が一番新しいので、テンプレートの右下がメインスロットとなるようにレイアウトされる。従って、図10(i)~(l)のテンプレートが候補となる。また、サブスロット用の古い方の画像データ1006が縦画像であり、新しい方の画像データ1007が横画像であるので、結果、図10(j)のテンプレートが、選択された3つの画像データに最も適したテンプレートとして決定され、レイアウトが決まる。S513では、どの画像をどのテンプレートのどのスロットにレイアウトするかが決定される。
S514において画像補正部317は、画像補正を実行する。画像補正部317は、画像補正条件入力部316から画像補正がONであることを示す情報が入力された場合、画像補正を実行する。画像補正として、例えば、覆い焼き補正(輝度補正)、赤目補正、またはコントラスト補正が実行される。画像補正部317は、画像補正条件入力部316から画像補正がOFFであることを示す情報が入力された場合、画像補正を実行しない。画像補正は、例えば、短辺1200画素で、sRGBの色空間にサイズが変換された画像データに対しても実行可能である。
S515においてレイアウト情報出力部315は、レイアウト情報を作成する。画像レイアウト部314は、S513で決定されたテンプレートの各スロットに対して、S514の画像補正が実行された画像データをレイアウトする。このとき、画像レイアウト部314は、スロットのサイズ情報に合わせてレイアウトする画像データを変倍してレイアウトする。そして、レイアウト情報出力部315は、テンプレートに画像データがレイアウトされたビットマップデータを、出力画像として生成する。
S516において画像レイアウト部314は、S513からS515の処理が全ての見開きに対して終了したか否かが判定される。終了していないと判定された場合、S513からの処理を繰り返す。終了していると判定された場合、図5の自動レイアウト処理は終了する。
<第1実施形態の効果>
以上説明したように、本実施形態によれば、好適に画像を選択することができる。以下、比較例と本実施形態との画像選択の効果の違いを、図を用いて説明する。
図11は、本実施形態の効果を説明する図である。1101及び1102はそれぞれ、図1(a)及び図1(b)と同じ画像である。そして、優先被写体が「電車」の場合において、画像1101は選ばれるべき画像であり、画像1102は選びたくない画像である。従来においては、優先被写体が「電車」と設定されていることにより、電車が写っている画像1101と画像1102との両方が選ばれやすくなっていた。本実施形態では、優先被写体の設定に加え、画像に紐づくキャプションを取得し、構文解析を実施することで主要被写体たり得る主語を特定し、優先被写体と主語が一致する画像の得点を増加させた。この方法に依れば、S505からS508の処理によって、画像1101の主語は電車1103となり、画像1102の主語は人1104となる。そのため、優先被写体と主要被写体たり得る主語とが一致する画像1101は、得点が増加されて選ばれやすくなり、画像1102は得点が補正されないことで相対的に選ばれにくくなる。すなわち、ユーザにとってより望ましい優先被写体の画像が選択できるようになる。
<<第2実施形態>>
第2実施形態では、第1実施形態で説明したS503の画像解析処理を行わず、キャプション解析結果を用いて画像の得点化を実現する。
本実施形態におけるアルバム作成アプリケーションのソフトウェアブロック図は、基本的に実施形態1の図3と同様であるが、画像解析処理は行わないため、画像解析部304はなくてもよい。
<処理の流れ>
図12は、第2実施形態におけるアルバム作成アプリケーションの自動レイアウト処理部318の処理を示すフローチャートである。図12を参照しながら、第2実施形態における自動レイアウト処理を説明する。尚、自動レイアウト処理の基本的な処理は、第1実施形態で説明した例と同様であり、以下では、異なる点を中心に説明することにする。
S1201においてキャプション解析部306は、S505で取得したキャプション、またはS506で生成したキャプションを解析し、キャプション解析情報を取得する。本実施形態においても、キャプション解析部306は、S505で取得したキャプション、またはS506で生成したキャプションに対して構文解析を実行し、キャプションにおける主語、動詞、目的語、または補語といった要素を取得する。そして、本実施形態においては、各要素となった単語を、公知の技術を用いて分散表現で表す。本実施形態では、Word2Vecを用いて単語の分散表現を実現する。
S1202において画像得点部307は、ユーザ指定のフォルダ内の全てのアルバム候補画像群の画像に対してS1201のキャプション解析が終了したか否かを判定する。終了していないと判定された場合、S502からの処理が繰り返される。終了していると判定された場合、S1203に処理が進む。
S1203において画像得点部307は、アルバム候補画像群の各画像に対して得点化を実行する。第1実施形態では、画像を解析して得られた画像特徴量と、キャプションを解析して得られたキャプション解析情報を用いて得点化を実行した。本実施形態では、キャプション解析情報のみを用いて得点化を実行する。
図13は、S1203の得点化処理の詳細を示すフローチャートである。以下、図13を用いて、S1203で行われる得点化処理を説明する。まず、S1301において画像得点部307は、S1201で取得したキャプション解析情報における、構文解析結果の各要素(主語、動詞、目的語、または補語)から1つの要素を選択する。
S1302において画像得点部307は、S1301において選択した要素に関してクラスタリングを行い、クラスタごとに画像を分割する。本実施形態では、クラスタリング手法としてward法を用いる。もちろん、クラスタリング手法はこれに限定されず、例えば、最長距離法またはk-means法などでもよい。S1303において画像得点部307は、構文解析結果の各要素に対してS1302の処理が終了したか否かを判定する。終了していないと判定された場合、S1301からの処理が繰り返される。終了していると判定された場合、S1304に処理が進む。
S1304において画像得点部307は、式(4)を用いて、構文解析結果の要素ごとに注目画像の得点を算出する。
Skj=50×(Nji/Nk)・・・式(4)
ここで、kは注目画像のインデックスを、jは構文解析結果の要素のインデックスを、iは要素jに関するクラスタのインデックスを、Skjは注目画像kにおける要素jに対応する得点を示している。また、Nkはアルバム候補画像群に含まれる画像枚数を、Njiは要素jにおけるクラスタiに含まれる注目画像の画像枚数を示している。式(4)に依れば、アルバム候補画像群に紐づくキャプション群において頻出される単語を有する画像ほど高い得点となり、選ばれやすくなる。すなわち、各要素において統一感のある画像選択が可能となる。
そして、画像得点部307は、式(4)で求めた、注目画像ごと、かつ要素ごとの得点Skjと、式(5)と、を用いて、各注目画像の得点を算出する。
Pk=Σj(Sjk)/Nj・・・式(5)
ここで、Pkは各注目画像の得点を、Njは要素の項目数を示している。つまり、各注目画像の得点は、各要素の得点の平均として算出される。
以下、2つの注目画像を例に、式(4)および式(5)を用いた得点の算出方法を説明していく。注目画像1は、構文解析の結果が「電車が山の中を走っている」となる画像であるとする。この注目画像1において、主語は「電車」、動詞は「走っている」、またシーンを示す補語は「山」となる。アルバム候補画像群に含まれる画像枚数(Nk)が100枚であるものとし、100枚の画像に対する構文解析の結果、主語が「電車」となる画像が25枚、動詞が「走っている」となる画像が10枚、またシーンが「山」となる画像が5枚含まれているとする。この場合、式(4)を用いて注目画像1の要素ごとの得点を算出すると、主語=12.5点、動詞=5点、目的語=0点、シーン=2.5点となる。この結果に式(5)を適用し各要素の平均点を算出するとPk=5点となり、この点数が注目画像1の得点となる。
同様に、注目画像2は構文解析の結果が「電車が海沿いを走っている」となる画像であるとする。注目画像2においては、主語は「電車」、動詞は「走っている」、またシーンを示す補語は「海」となる。100枚のアルバム候補画像群のうち、シーンが「海」となる画像は10枚含まれているとする。この場合、式(4)を用いて注目画像2の要素ごとの得点を算出すると、主語=12.5点、動詞=5点、目的語=0点、シーン=5点となる。この結果に式(5)を適用し各要素の平均点を算出するとPk=5.6点となり、この点数が注目画像2の得点となる。従って、注目画像1および注目画像2を比較すると注目画像2の得点が高くなるためこの時点では注目画像2が選択される可能性が高くなる。実際は下記で説明する優先被写体と主語との関係による得点の補正が行われて得点化の処理が終了する。
S1305において画像得点部307は、S1202で取得したキャプション解析情報に基づいて、S1304で算出した得点を補正する。本実施形態においても、第1実施形態と同様に、優先被写体と主語との関係に基づいて得点を補正する。具体的な補正方法に関しては、第1実施形態におけるS904と同様であるため、説明を省略する。
S1306において画像得点部307は、ユーザ指定のフォルダ内の全てのアルバム候補画像群の画像に対してS1304及びS1305の処理が終了したか否かを判定する。終了していないと判定された場合、S1304からの処理が繰り返される。終了していると判定された場合、図13の得点化処理は終了する。
図12の説明に戻る。S1203に続き、S1204において画像得点部307は、ユーザ指定のフォルダ内の全てのアルバム候補画像群の画像に対してS1203の画像得点化が終了したか否かを判定する。終了していないと判定された場合、S1203の処理が繰り返される。終了していると判定された場合、S510に処理が進む。その後の処理は第一実施形態と同様の処理であるため、説明は省略する。S516の処理をもって、図12の自動レイアウト処理は終了する。
<第2実施形態の効果>
以上説明したように、本実施形態によれば、第1実施形態におけるS503の画像解析処理を実施することなく、キャプション解析情報のみを用いて自動レイアウト処理が可能となる。従って、画像解析処理による処理負荷を排除することができ、処理の高速化が可能となる。
<第2実施形態の変形例>
上記の実施形態では、S1303において画像得点部307は、式(4)を用いて構文解析結果の要素ごとに注目画像の得点を算出することで、統一感のある画像選択を可能とした。しかしながら、画像得点部307は式(4)に代わり、以下の式(6)を用いて、構文解析結果の要素ごとに注目画像の得点を算出してもよい。
Skj=50×(1-Nji/Nk)・・・式(6)
式(6)に依れば、アルバム候補画像群に紐づくキャプション群において出現頻度が低い、すなわち散発される単語を有する画像ほど高い得点となり、選ばれやすくなる。すなわち、各要素においてバリエーション豊富な画像選択が可能となる。
<<第3実施形態>>
第3実施形態では、第1実施形態で説明したS506のキャプション生成処理において、キャプション生成を完了せずに、生成途中の情報を抽出して画像得点化に用いる。
<処理の流れ>
図14は、第3実施形態におけるアルバム作成アプリケーションの自動レイアウト処理部318の処理を示すフローチャートである。図14を参照しながら、第3実施形態における自動レイアウト処理を説明する。尚、自動レイアウト処理の基本的な処理は、第1実施形態で説明した例と同様であり、以下では、異なる点を中心に説明することにする。
S1401においてキャプション生成部319は、画像のキャプションを自動生成及び解析する。本実施形態においても、非特許文献1に記載のShow and Tellモデルを用いて、キャプションを自動で生成する。
Show and Tellモデルでは、キャプションが文末まで生成完了するまでの過程で、出現確率の高い単語列を得ることができる。本実施形態ではキャプション生成モデルにおける上記の特性に基づき、キャプション生成過程で得られる情報を用いて、キャプション生成が完了する前に主語を推定する。
図15は、キャプション生成および解析処理を示す図である。以下、図15を用いて、S1401で行われるキャプション生成及び解析処理を説明する。S1501においてキャプション生成部319は、Show and Tellモデルを用いてi番目の単語を推定する。Show and Tellモデルにおいては、LSTMの出力から分かる単語の出現確率をもとに上位複数個の単語が候補となり、i-1番目までに推定された単語候補と合わせて、複数の単語列候補が推定される。
S1502においてキャプション生成部319は、i-1番目までに推定された複数の単語列候補の中から、単語列に含まれる単語の出現確率の積が最も高い単語列を代表単語列として決定する。すなわち、複数個の単語列候補から、キャプションとして最も適していると推定された単語列を決定する。ここまでで、i番目以降の単語に関しての単語の推定は行われていないままS1503の処理へ進む。
S1503においてキャプション生成部319は、代表単語列におけるi番目の単語の品詞を取得する。品詞とは、名詞または動詞といった、語を文法的な基準で分類したグループのことである。本実施形態では、単語と品詞との対応関係を予めROM202に保持しておき、推定した単語に基づいて品詞を取得する。また、他の品詞取得方法としては、代表単語列に対して形態素解析を行い、i番目の単語に対して推定された品詞を取得しても良い。形態素解析とは、文字で表記された自然言語の文において、意味を持つ最小の言語単位(形態素)に分けることである。
S1504においてキャプション生成部319は、S1503で取得されたi番目の単語の品詞が、名詞であるか否かを判定する。名詞であると判定された単語は、単語列における主語となる可能性がある。名詞であると判定された場合は、S1505に処理が進む。名詞ではないと判定された場合は、S1501からの処理を繰り返す。S1505においてキャプション生成部319は、S1504において名詞であると判定された代表文字列のi番目の単語を出力する。S1505の処理が終了すると、図15のキャプション生成及び解析処理は終了する。上述の方法によれば、i番目までの単語の推定で、代表単語列の名詞(主語)を出力することが可能とる。
尚、本実施形態では、S1502の代表単語列決定処理の後に、S1503の品詞取得処理及びS1504の名詞判定処理を行ったが、S1502の代表単語列決定処理はS1504の名詞判定処理の後に行っても良い。つまり、複数の単語列候補それぞれにおいてS1503の品詞取得処理、及びS1504の名詞判定処理を行い、名詞であると判定された1又は複数の単語列候補に対してS1502の代表単語列決定処理を行ってもよい。この方法に依れば、S1504の名詞判定処理をより多くの単語列に実行できるため、より短いステップで名詞を出力できる場合がある。
ここで、図16は、図15とは異なる方法を用いたキャプション生成および解析処理を示す図である。図15に示すキャプション生成及び解析は、下記で説明するように、図16に示す処理フローを用いることでも実行することができる。尚、一部の処理は図15で説明した例と同様であり、以下では、異なる点を中心に説明する。
S1601においてキャプション生成部319は、S1502で取得された代表単語列におけるi番目の単語と、S501で取得した優先被写体とが一致するか否かを判定する。一致すると判定された場合、代表単語列がi番目までしか単語の推定が完了していない単語列であったとしても、構文解析をした場合のi番目の単語が主語であると推定することができる。一致すると判定された場合は、S1602に処理が進む。一致しないと判定された場合は、S1501からの処理を繰り返す。
S1602においてキャプション生成部319は、代表単語列に対して構文解析を実行する。
S1603においてキャプション生成部319は、S1602で構文解析した結果、主語と判定された単語を出力する。S1603の処理が終了すると、図16のキャプション生成及び解析処理は終了する。図16の方法も図15と同様に、単語の推定がi番目までしか行っていなくとも、代表単語列の主語を出力することが可能となるため、処理を短縮することができる。
図14の説明に戻る。S1401で推定された主語情報は、S507で取得したキャプション解析情報に追加され、S508の画像得点化に用いられる。そして、S516の処理をもって、図14の自動レイアウト処理は終了する。尚、本実施形態では、キャプション生成モデルとしてShow and Tellモデルを用いたが、これに限らず、主語が推定できた状態のような、キャプション生成途中の情報が取得できるのであれば、その他のキャプション生成モデルを用いても良い。
また、本実施形態にて実施したキャプション生成途中における主語の推定は、実施形態1、または2においてキャプションを生成する場合にも用いることが可能であり、より早くキャプション解析に処理を進めることができる。
<第3実施形態の効果>
以上説明したように、本実施形態によれば、キャプション生成処理の完了を待たずに、キャプション生成途中の情報を抽出して画像得点化に用いることができる。したがって、キャプション生成処理に係る処理負荷を軽減することができる。
<<その他の実施形態>>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (21)

  1. 候補画像群の中から画像を選択するためのプログラムであって、
    コンピュータを、
    複数の画像を含む前記候補画像群を取得する取得手段と、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、
    前記候補画像群の画像を解析する画像解析手段と
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、
    前記決定手段、前記画像解析手段、および前記キャプション解析手段の結果に基づき前記候補画像群から特定の画像を選択する選択手段と、
    として機能させることを特徴とするプログラム。
  2. 前記特定の条件は、前記特定の画像を優先的に選択するための優先被写体の設定を含むことを特徴とする請求項1に記載のプログラム。
  3. 前記キャプション解析手段は、前記キャプションを単語に分解し、前記候補画像群の画像の主語を判定することを特徴とする請求項2に記載のプログラム。
  4. 前記選択手段は、前記キャプション解析手段によって判定された前記候補画像群の画像の前記主語が、前記優先被写体と一致する場合、当該画像を優先的に選択することを特徴とする請求項3に記載のプログラム。
  5. コンピュータを、
    前記候補画像群の画像にキャプションが付与されていない場合に、キャプションを生成するキャプション生成手段としてさらに機能させることを特徴とする請求項1に記載のプログラム。
  6. 前記キャプション生成手段は、Show and Tellモデルを用いて画像のキャプションを生成することを特徴とする請求項5に記載のプログラム。
  7. 前記キャプション解析手段は、さらに前記キャプション生成手段によって生成された前記キャプションを解析することを特徴とする請求項6に記載のプログラム。
  8. 前記画像解析手段は、前記画像のピントの合焦度合いの推定、顔検出、個人認識、またはオブジェクト判定を行うことを特徴とする請求項1に記載のプログラム。
  9. 前記特定の条件は、画像のピントの合焦度合い、顔数、またはオブジェクトを含むことを特徴とする請求項1乃至8のいずれか一項に記載のプログラム。
  10. 候補画像群の中から画像を選択するためのプログラムであって、
    コンピュータを、
    複数の画像を含む候補画像群を取得する取得手段と、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、
    前記決定手段、および前記キャプション解析手段の結果に基づき前記候補画像群から特定の画像を選択する選択手段と、
    として機能させることを特徴とするプログラム。
  11. 前記特定の条件は、前記特定の画像を優先的に選択するための優先被写体の設定を含むことを特徴とする請求項10に記載のプログラム。
  12. 前記キャプション解析手段は、前記キャプションを単語に分解し、前記候補画像群の画像の主語を判定することを特徴とする請求項11に記載のプログラム。
  13. 前記選択手段は、前記キャプション解析手段によって判定された前記候補画像群の画像の前記主語が、前記優先被写体と一致する場合、当該画像を優先的に選択することを特徴とする請求項12に記載のプログラム。
  14. コンピュータを、
    前記候補画像群の画像にキャプションが付与されていない場合に、キャプションを生成するキャプション生成手段としてさら機能させることを特徴とする請求項10に記載のプログラム。
  15. 前記キャプション生成手段は、Show and Tellモデルを用いて画像のキャプションを生成することを特徴とする請求項14に記載のプログラム。
  16. 前記キャプション解析手段は、さらに前記キャプション生成手段によって生成された前記キャプションを解析することを特徴とする請求項15に記載のプログラム。
  17. 前記キャプション解析手段は、前記キャプション生成手段による前記キャプションの生成途中に、前記キャプションの解析を行うことを特徴とする請求項5または14に記載のプログラム。
  18. 複数の画像を含む候補画像群を取得する取得手段と、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、
    前記候補画像群の画像を解析する画像解析手段と
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、
    前記決定手段、前記画像解析手段、および前記キャプション解析手段の結果に基づき前記候補画像群から特定の画像を選択する選択手段と、
    を備えることを特徴とする画像処理装置。
  19. 複数の画像を含む候補画像群を取得する取得ステップと、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定ステップと、
    前記候補画像群の画像を解析する画像解析ステップと
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析ステップと、
    前記決定ステップ、前記画像解析ステップ、および前記キャプション解析ステップの結果に基づき前記候補画像群から特定の画像を選択する選択ステップと、
    を備えることを特徴とする画像処理装置の制御方法。
  20. 複数の画像を含む候補画像群を取得する取得手段と、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定手段と、
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析手段と、
    前記決定手段、および前記キャプション解析手段の結果に基づき前記候補画像群から特定の画像を選択する選択手段と、
    を備えることを特徴とする画像処理装置。
  21. 複数の画像を含む候補画像群を取得する取得ステップと、
    前記候補画像群の中から優先的に画像を選択するための特定の条件を決定する決定ステップと、
    前記候補画像群の画像に付されているキャプションを解析するキャプション解析ステップと、
    前記決定ステップ、および前記キャプション解析ステップの結果に基づき前記候補画像群から特定の画像を選択する選択ステップと、
    として機能させることを特徴とする画像処理装置の制御方法。
JP2021212731A 2021-12-27 2021-12-27 画像処理装置、画像処理方法、及びプログラム Pending JP2023096759A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021212731A JP2023096759A (ja) 2021-12-27 2021-12-27 画像処理装置、画像処理方法、及びプログラム
US18/064,586 US20230206660A1 (en) 2021-12-27 2022-12-12 Image processing apparatus, image processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021212731A JP2023096759A (ja) 2021-12-27 2021-12-27 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2023096759A true JP2023096759A (ja) 2023-07-07

Family

ID=86896870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021212731A Pending JP2023096759A (ja) 2021-12-27 2021-12-27 画像処理装置、画像処理方法、及びプログラム

Country Status (2)

Country Link
US (1) US20230206660A1 (ja)
JP (1) JP2023096759A (ja)

Also Published As

Publication number Publication date
US20230206660A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
JP7250567B2 (ja) 装置、方法、及びプログラム
JP7341676B2 (ja) 装置、方法、及びプログラム
JP6711937B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7341677B2 (ja) 装置、方法、及びプログラム
JP2020140577A (ja) 装置、方法、及びプログラム
US10977845B2 (en) Image processing apparatus and control method
JP6723937B2 (ja) プログラム、画像処理装置、および画像処理方法
US20180217743A1 (en) Image processing apparatus, control method, and computer readable medium
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
US11501476B2 (en) Image processing apparatus, control method, and storage medium
JP2022123209A (ja) 画像処理装置、画像処理方法、及びプログラム
US10917529B2 (en) Image processing apparatus, control method, and storage medium
JP2022086521A (ja) 画像処理装置、画像処理方法、及びプログラム
JP7451242B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2023096759A (ja) 画像処理装置、画像処理方法、及びプログラム
EP4024347A2 (en) Image processing apparatus, image processing method, and program
JP2019003326A (ja) 情報処理装置、制御方法、及びプログラム
JP2021149196A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2021149195A (ja) プログラム、画像処理方法、及び画像処理装置
JP6700806B2 (ja) プログラム、情報処理装置および制御方法
JP7350496B2 (ja) 装置、方法、及びプログラム
JP7263054B2 (ja) 装置、方法、及びプログラム
JP7446876B2 (ja) プログラム、画像処理方法、及び画像処理装置
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336210B2 (ja) 画像処理装置、制御方法、及びプログラム