(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-23
(45)【発行日】2025-01-07
(54)【発明の名称】自動トリミングプログラム、自動トリミング装置及び自動トリミング方法
(51)【国際特許分類】
H04N 1/387 20060101AFI20241224BHJP
G03B 15/00 20210101ALI20241224BHJP
H04N 5/222 20060101ALI20241224BHJP
【FI】
H04N1/387 200
G03B15/00 Q
H04N5/222 500
(21)【出願番号】P 2020178886
(22)【出願日】2020-10-26
【審査請求日】2023-08-17
(73)【特許権者】
【識別番号】506031694
【氏名又は名称】株式会社JVIS
(74)【代理人】
【識別番号】100188662
【氏名又は名称】浅見 浩二
(74)【代理人】
【識別番号】100177895
【氏名又は名称】山田 一範
(73)【特許権者】
【識別番号】521106544
【氏名又は名称】株式会社モノリシックデザイン
(74)【代理人】
【識別番号】100188662
【氏名又は名称】浅見 浩二
(72)【発明者】
【氏名】御手洗 秀一
(72)【発明者】
【氏名】野口 大樹
(72)【発明者】
【氏名】谷川 麻美
(72)【発明者】
【氏名】太田 茜
【審査官】宮島 潤
(56)【参考文献】
【文献】特開2008-288797(JP,A)
【文献】特開2008-61114(JP,A)
【文献】特表2004-526179(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/38 - 1/393
H04N 5/222 - 5/257
B41J 29/00 - 29/70
G03G 13/34
G03G 15/00
G03G 15/36
G03G 21/00
G03G 21/02
G03G 21/14
G03G 21/20
G06T 11/00 - 11/40
G06T 15/00 - 17/00
G06T 17/10 - 17/30
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
H04N 5/91 - 5/956
H04N 5/76 - 5/775
H04N 5/80 - 5/907
(57)【特許請求の範囲】
【請求項1】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理をコンピュータに実現させるための自動トリミングプログラムであって、
前記コンピュータに、
対象となる画像データを取得する画像データ取得機能と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出機能と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定機能と、
前記画像データに対
する前記枠の初期位置を設定するための所定規則に基づいて
、前記画像データに対して前記枠
の初期位置を設定する枠設定機能と、
前記必須オブジェクトが前記枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小機能と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動機能と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング機能と
を実現させ、
前記特定機能は、前記必須オブジェクトとは異なるオブジェクトであって前記枠内に収まることを許容するものとして予め設定された許容オブジェクトを特定する機能をさらに備え、
前記拡大縮小機能は、前記画像データに最初に設定した初期位置における前記枠のサイズよりも所定サイズだけ大きい拡大判定枠を設け、前記許容オブジェクトが前記枠からはみ出しているが当該拡大判定枠の内側に収まっている場合、当該許容オブジェクトを前記枠内に収めるように前記画像データの縮小処理を実行する
自動トリミングプログラム。
【請求項2】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理をコンピュータに実現させるための自動トリミングプログラムであって、
前記コンピュータに、
対象となる画像データを取得する画像データ取得機能と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出機能と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定機能と、
前記画像データに対
する前記枠の初期位置を設定するための所定規則に基づいて
、前記画像データに対して前記枠
の初期位置を設定する枠設定機能と、
前記必須オブジェクトが前記枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小機能と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動機能と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング機能と
を実現させ、
前記特定機能は、前記枠内に収めるべきでないものとして予め設定された禁止オブジェクトを特定する機能をさらに備え、
前記拡大縮小機能は、前記禁止オブジェクトを除外する処理の際の条件として予め定められた拡縮率の制限の範囲内において前記禁止オブジェクトが前記枠内から外れるように前記画像データの拡大縮小処理を実行する
自動トリミングプログラム。
【請求項3】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理を行うための自動トリミング装置であって、
対象となる画像データを取得する取得部と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出部と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定部と、
前記画像データに対する前記枠の初期位置を設定するための所定規則に基づいて、前記画像データに対して前記枠の初期位置を設定する枠設定部と、
前記必須オブジェクトが当該枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小部と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動部と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング部とを備え
、
前記特定部は、前記必須オブジェクトとは異なるオブジェクトであって前記枠内に収まることを許容するものとして予め設定された許容オブジェクトを特定する機能をさらに備え、
前記拡大縮小部は、前記画像データに最初に設定した初期位置における前記枠のサイズよりも所定サイズだけ大きい拡大判定枠を設け、前記許容オブジェクトが前記枠からはみ出しているが当該拡大判定枠の内側に収まっている場合、当該許容オブジェクトを前記枠内に収めるように前記画像データの縮小処理を実行する
自動トリミング装置。
【請求項4】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理を行うための自動トリミング装置であって、
対象となる画像データを取得する取得部と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出部と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定部と、
前記画像データに対する前記枠の初期位置を設定するための所定規則に基づいて、前記画像データに対して前記枠の初期位置を設定する枠設定部と、
前記必須オブジェクトが当該枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小部と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動部と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング部とを備え
、
前記特定部は、前記枠内に収めるべきでないものとして予め設定された禁止オブジェクトを特定する機能をさらに備え、
前記拡大縮小部は、前記禁止オブジェクトを除外する処理の際の条件として予め定められた拡縮率の制限の範囲内において前記禁止オブジェクトが前記枠内から外れるように前記画像データの拡大縮小処理を実行する
自動トリミング装置。
【請求項5】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理をコンピュータにより実現する自動トリミング方法であって、
対象となる画像データを取得する取得手順と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出手順と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定手順と、
前記画像データに対する前記枠の初期位置を設定するための所定規則に基づいて、前記画像データに対して前記枠の初期位置を設定する枠設定手順と、
前記必須オブジェクトが当該枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小手順と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動手順と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング手順とを含
み、
前記特定手順は、前記必須オブジェクトとは異なるオブジェクトであって前記枠内に収まることを許容するものとして予め設定された許容オブジェクトを特定する機能をさらに備え、
前記拡大縮小手順は、前記画像データに最初に設定した初期位置における前記枠のサイズよりも所定サイズだけ大きい拡大判定枠を設け、前記許容オブジェクトが前記枠からはみ出しているが当該拡大判定枠の内側に収まっている場合、当該許容オブジェクトを前記枠内に収めるように前記画像データの縮小処理を実行する
自動トリミング方法。
【請求項6】
写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする処理をコンピュータにより実現する自動トリミング方法であって、
対象となる画像データを取得する取得手順と、
画像認識での認識対象として予め設定された所定のオブジェクトを
前記画像データに対して画像認識処理を実行することで検出する検出手順と、
検出した前記オブジェクトのうち、前記枠内に必ず収めるべき
ものとして予め設定された必須オブジェクトを特定する特定手順と、
前記画像データに対する前記枠の初期位置を設定するための所定規則に基づいて、前記画像データに対して前記枠の初期位置を設定する枠設定手順と、
前記必須オブジェクトが当該枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小手順と、
前記枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記枠に対する
前記画像データの位置関係が前記所定基準を満たすように前記画像データの移動処理を実行する移動手順と、
前記枠と前記画像データとの確定した位置関係において前記画像データから前記枠の内側領域をトリミング画像として出力するトリミング手順とを含
み、
前記特定手順は、前記枠内に収めるべきでないものとして予め設定された禁止オブジェクトを特定する機能をさらに備え、
前記拡大縮小手順は、前記禁止オブジェクトを除外する処理の際の条件として予め定められた拡縮率の制限の範囲内において前記禁止オブジェクトが前記枠内から外れるように前記画像データの拡大縮小処理を実行する
自動トリミング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、写真撮影によって取得した画像データについて被写体が所定サイズの枠内に収まるように自動でトリミングする技術に関するものである。
【背景技術】
【0002】
従来、写真撮影について熟練した技術を有する者が撮影を行って写真を顧客に提供する写真館、写真スタジオといったビジネスモデルが存在する。近年は、デジタル方式による撮影を行って、撮影した写真に対して適宜補正処理を行うことが一般的となっている。補正処理の中には、撮影写真の画像データを所定のテンプレート枠で切り取ることで、被写体が最も映える構図を採用するトリミング処理がある。
【0003】
例えば、特許文献1には、被写体を広角で静止画撮影し、撮影画像から被写体のマスクパターンを生成するとともに、撮影画像から肌色部分を抽出して、マスクパターン中に肌色部分が存在する当該マスクパターンを人物パターンとして検出し、撮影画像から人物パターンとして検出したマスクパターンに対応する部分を切り出して、切り出した部分画像を所定の画像サイズに拡大する自動トリミングの技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1は、固定された撮影範囲について広角に自動で撮影した上で被写体の写った個所のみをトリミングする技術であり、被写体個所を検出してトリミングは可能であるが、画一的な処理になってしまうという問題があった。また、人物以外のオブジェクトが映り込んだ場合に、そのオブジェクトをトリミングの際にどう扱うかについて判断ができない構成であった。すなわち、自動撮影ではなく撮影者が意図を持って撮影した撮影画像に対してこの特許文献1の技術を適用した場合には、撮影者の意図を考慮したトリミングを行うことができないという問題があった。
【0006】
本発明は、上記問題点に鑑みなされたものであり、撮影者の意図を考慮したトリミングを自動で行うことを可能にするための自動トリミングプログラム、自動トリミング装置及び自動トリミング方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る自動トリミングプログラムは、写真撮影によって取得した画像データについて被写体が所定サイズのテンプレート枠内に収まるように自動でトリミングする処理をコンピュータに実現させるための自動トリミングプログラムであって、前記コンピュータに、対象となる画像データを取得する画像データ取得機能と、画像認識処理により前記画像データに写る所定のオブジェクトを検出する検出機能と、検出した前記オブジェクトのうち、前記テンプレート枠内に必ず収めるべき必須オブジェクトを特定する特定機能と、前記画像データに対して所定規則に基づいて前記テンプレート枠を設定する枠設定機能と、前記必須オブジェクトが前記テンプレート枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小機能と、前記テンプレート枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記テンプレート枠に対する前記画像データの移動処理を実行する移動機能と、確定した位置関係において前記画像データから前記テンプレート枠の内側領域をトリミング画像として出力するトリミング機能とを実現させることを特徴とする。
【0008】
また、本発明に係る自動トリミングプログラムは、前記特定機能は、前記テンプレート枠内に収まることを許容する許容オブジェクトを特定する機能をさらに備え、前記拡大縮小機能及び前記移動機能では、所定の禁則条件に該当しない範囲において前記許容オブジェクトが枠内に収まることを許容するように処理を実行することを特徴とする。
【0009】
また、本発明に係る自動トリミングプログラムは、前記拡大縮小機能は、前記画像データに最初に設定した初期位置における前記テンプレート枠のサイズよりも所定サイズだけ大きい判定枠を設け、当該判定枠の内側に前記許容オブジェクトが収まっている場合、当該許容オブジェクトを前記テンプレート枠内に収めるように拡大縮小処理を実行することを特徴とする。
【0010】
また、本発明に係る自動トリミングプログラムは、前記特定機能は、前記テンプレート枠内に収めるべきでない禁止オブジェクトを特定する機能をさらに備え、前記拡大縮小機能は、所定の禁則条件に該当しない範囲において前記禁止オブジェクトが前記テンプレート枠内に残らないように拡大縮小処理を実行することを特徴とする。
【0011】
本発明に係る自動トリミング装置は、写真撮影によって取得した画像データについて被写体が所定サイズのテンプレート枠内に収まるように自動でトリミングする処理を行うための自動トリミング装置であって、対象となる画像データを取得する取得部と、画像認識処理により前記画像データに写る所定のオブジェクトを検出する検出部と、検出した前記オブジェクトのうち、前記テンプレート枠内に必ず収めるべき必須オブジェクトを特定する特定部と、前記画像データに対して所定規則に基づいて前記テンプレート枠を設定する枠設定部と、前記必須オブジェクトが前記テンプレート枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小部と、前記テンプレート枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記テンプレート枠に対する前記画像データの移動処理を実行する移動部と、確定した位置関係において前記画像データから前記テンプレート枠の内側領域をトリミング画像として出力するトリミング部とを備えることを特徴とする。
【0012】
本発明に係る自動トリミング方法は、写真撮影によって取得した画像データについて被写体が所定サイズのテンプレート枠内に収まるように自動でトリミングする処理をコンピュータにより実現する自動トリミング方法であって、対象となる画像データを取得する取得手順と、画像認識処理により前記画像データに写る所定のオブジェクトを検出する検出手順と、検出した前記オブジェクトのうち、前記テンプレート枠内に必ず収めるべき必須オブジェクトを特定する特定手順と、前記画像データに対して所定規則に基づいて前記テンプレート枠を設定する枠設定手順と、前記必須オブジェクトが前記テンプレート枠内に収まるように前記画像データの拡大縮小処理を実行する拡大縮小手順と、前記テンプレート枠内の前記必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、前記テンプレート枠に対する前記画像データの移動処理を実行する移動手順と、確定した位置関係において前記画像データから前記テンプレート枠の内側領域をトリミング画像として出力するトリミング手順とを含むことを特徴とする。
【発明の効果】
【0013】
本発明によれば、必須オブジェクトを全て含み、かつ、適切な余白を設定したトリミングを自動で実行することが可能となる。また、テンプレート枠内に含まれた許容オブジェクトは撮影者の意図に基づいて含まれた被写体であると認定して、撮影者の意図を尊重して枠内に収まることを許容する処理が可能となる。また、判定枠を用いた判定により、撮影者が画像データに含ませたいと意図したと推定される許容オブジェクトをテンプレート枠内に収めることができ、撮影者の意図を尊重したトリミングが可能となる。また、禁止オブジェクトがテンプレート枠内に残らないように拡大縮小処理を実行することで、禁止オブジェクトと設定した対象がテンプレート枠内に残らない自動トリミングが可能となる。
【図面の簡単な説明】
【0014】
【
図1】本発明に係る自動トリミング装置10の構成を表したブロック図である。
【
図2】本発明に係る自動トリミング装置10における自動トリミング処理の流れを表したフローチャート図である。
【
図3】本発明に係る自動トリミング装置10における拡大縮小処理の流れを表したフローチャート図である。
【
図4】本発明に係る自動トリミング装置10における移動処理の流れを表したフローチャート図である。
【
図5】本発明に係る自動トリミング装置10における禁止オブジェクト除外処理の流れを表したフローチャート図である。
【
図6】本発明に係る自動トリミング装置10における調整処理の流れを表したフローチャート図である。
【
図7】本発明に係る自動トリミング装置10において扱う画像データの一例を表した説明図である。
【
図8】本発明に係る自動トリミング装置10において画像データに対するオブジェクトの特定及び各種の枠の設定の一例を表した説明図である。
【
図9】本発明に係る自動トリミング装置10における自動トリミング処理後の画像データとトリミング枠の位置関係の一例を表した説明図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の実施の形態に係る自動トリミング装置の例について説明する。
図1は、本発明に係る自動トリミング装置10の構成を表したブロック図である。
図1に示すように、自動トリミング装置10は、画像データ取得部11と、検出部12と、特定部13と、枠設定部14と、拡大縮小部15と、移動部16と、調整部17と、トリミング部18と、記憶部19とを少なくとも備えている。
【0016】
なお、自動トリミング装置10は、専用マシンとして設計した装置であってもよいが、一般的なコンピュータによって実現可能なものであるものとする。この場合に、自動トリミング装置10は、一般的なコンピュータが通常備えているであろうCPU(Central Processing Unit:中央演算処理装置)、メモリ、ハードディスクドライブ等のストレージを具備しているものとする(図示省略)。また、必要に応じてGPU(Graphics Processing Unit:画像処理装置)を備えるようにしてもよい。また、これらの一般的なコンピュータを本例の自動トリミング装置10として機能させるためにプログラムよって各種処理が実行されることは言うまでもない。
【0017】
また、自動トリミング装置10は、通信ネットワークから独立してスタンドアローンで機能するものであってもよいが、自動トリミング装置10の機能の一部または全部をサーバ装置に備えさせ、端末装置から通信ネットワークを介して接続して自動トリミング装置10を利用するようにしてもよい。
【0018】
画像データ取得部11は、対象となる画像データを取得する機能を有する。本例において取得する画像データは、主に、カメラマンなどの撮影者が撮影意図を持って写真撮影を行うことで得られた画像データである。
【0019】
検出部12は、画像認識処理により画像データに写る所定のオブジェクトを検出する機能を有する。ここで、所定のオブジェクトとは、人物、動物、花瓶などのオブジェ、家具、人物が所持する物などの付随物など、画像データに含まれる可能性のある様々な物体のことをいう。どのようなオブジェクトを認識することを求めるかを事前に設定して画像認識を行う。画像認識処理は、適切にオブジェクトを検出可能であればどのような手法であってもよいが、例えば、所定のオブジェクトを認識することについてディープラーニングによって予め学習を行ったニューラルネットワーク(学習済モデル)に基づいて画像認識処理を行うことが考えられる。検出部12は、検出したオブジェクトが占める領域を所定の手法によって区切る、例えば、矩形によって区切ることで、オブジェクトの検出範囲を特定するようにする。またセグメンテーションAIを用いてピクセル単位で対象オブジェクトを検出してもよい。
【0020】
特定部13は、検出したオブジェクトのうち、テンプレート枠内に必ず収めるべき必須オブジェクトを特定する機能を有する。ここで、必須オブジェクトとは、画像データに含まれる場合に必ずテンプレート枠内に収めるべきと予め設定したオブジェクトのことをいう。必須オブジェクトはどのように設定してもよいが、例えば、人物や、人物の所持するバッグ、帽子、髪飾り、衣服などの人物の付随物を必須オブジェクトと設定することが考えられる。
【0021】
また、特定部13は、テンプレート枠内に収まることを許容する許容オブジェクトを特定する機能を有する。ここで、許容オブジェクトとは、画像データに含まれる場合にテンプレート枠内に収めることが必須ではないがテンプレート枠内に収まることを許容するオブジェクトのことをいう。許容オブジェクトはどのように設定してもよいが、例えば、人物の傍らに設置された大型の花瓶、人物と一緒に写る動物などが考えられる。
【0022】
また、特定部13は、テンプレート枠内に収めるべきでない禁止オブジェクトを特定する機能を有する。ここで、禁止オブジェクトとは、画像データに含まれる場合にテンプレート枠内に収まることを禁止するオブジェクトのことをいう。禁止オブジェクトはどのように設定してもよいが、例えば、パネル棒、バック紙切れ、引き戸切れ、引き戸前床写り込み、ロール紙写り込み、スタッフ写り込みなどの写真スタジオなどにおける写真撮影で発生する意図しない写り込みが考えられる。
【0023】
なお、検出部12と特定部13とを機能を分けて説明を行ったが、これらを一連の処理で行う構成であってもよい。例えば、オブジェクトを検出しかつそのオブジェクトの属性を特定することについて予め学習を行った学習済モデルに基づいて処理を行う構成の場合、当該学習済モデルが検出部12と特定部13の両方の機能を兼ねることになり、このような構成であってもよい。
【0024】
枠設定部14は、画像データに対して所定規則に基づいてテンプレート枠を設定する機能を有する。ここで、テンプレート枠とは、画像データをトリミングするサイズとして予め設定された所定サイズの枠のことをいう。テンプレート枠は、トリミングを希望するユーザが選択するものであってもよいし、画像データのサイズに基づいて自動で選択されるものであってもよい。テンプレート枠のサイズと画像データが示す画像のサイズとの関係は特に限定されるものではないが、画像データのサイズよりも大きいテンプレート枠を採用すると必ず拡大処理が必要になり画質の劣化が生じてしまうため、画像データのサイズよりも小さいテンプレート枠が選択されることが好ましい。テンプレート枠の設定に関する所定規則はどのようなものであってもよいが、例えば、画像データが示す画像の中心座標とテンプレート枠の中心座標が重なるようにテンプレート枠の初期位置を設定する規則が考えられる。また、被写体である必須オブジェクトの中心座標を求め、当該中心座標とテンプレート枠の中心座標が重なるようにテンプレート枠の初期位置を設定する規則とすることも考えられる。
【0025】
拡大縮小部15は、必須オブジェクトがテンプレート枠内に収まるように画像データの拡大縮小処理を実行する機能を有する。拡大縮小部15では、必須オブジェクトと特定した全ての領域が完全にテンプレート枠内に収まるまで拡大処理若しくは縮小処理を実行する。ここで、拡大縮小処理は、所定の基準点を中心として実行するものとし、例えば、テンプレート枠の中心座標を基準として拡大縮小処理を実行する。
【0026】
また、拡大縮小部15においては、さらに、パディング処理を実行するようにしてもよい。ここで、パディング処理とは、テンプレート枠と必須オブジェクトと特定された領域との間に所定の間隔(隙間)が生じるように拡大縮小処理を実行することをいう。所定の間隔は、予め設定したものであればどのような設定であってもよいが、例えば、ピクセル数(画素数)で間隔を指定するものであってもよい。
【0027】
また、拡大縮小部15における拡大縮小処理には、拡縮率についての制限を設けてもよい。極端に大きな拡縮率による拡大縮小処理は撮影者の意図から離れたトリミングとなる可能性が高いという前提のもと、撮影者の意図を保護する目的で拡縮率を設定することが考えられる。具体的には、元の画像データのオリジナルサイズを拡縮率100%とした場合に、92%<拡縮率<110%の範囲に拡大縮小処理を制限することが考えられる。なお、この拡大縮小処理の制限については、拡大縮小部15における処理ごとに判定してもよいし、後述する調整部17において判定するようにしてもよい。またこれら拡縮率の制限を超えた場合、直前の状態を保持してもよいし、初期状態に戻すようにしてもよい。
【0028】
また、拡大縮小部15は、画像データに最初に設定した初期位置におけるテンプレート枠のサイズよりも所定サイズだけ大きい判定枠を設け、当該判定枠の内側に許容オブジェクトが収まっている場合、当該許容オブジェクトをテンプレート枠内に収めるように拡大縮小処理を実行する機能を有するようにしてもよい。ここで、判定枠とは、画像データに含まれる許容オブジェクトについて撮影者が必須オブジェクトと一緒に写すことを意図したものであるか否かを判定するための枠のことをいう。テンプレート枠を画像データのサイズよりも小さいものを選択する場合、この判定枠は、テンプレート枠のサイズよりも所定サイズだけ大きいものであり、かつ、画像データよりも所定サイズだけ小さいものとなる。すなわち、テンプレート枠<判定枠<画像データとなる。より詳細な例としては、テンプレート枠と画像データとの間の距離を3分割した場合の画像データ側から1/3の距離の位置を判定枠の位置とすることが考えられる。テンプレート枠内に必須オブジェクトを収めるように拡大縮小処理を実行するが、その際、テンプレート枠内に収まらない許容オブジェクトが発生する場合がある。そのような許容オブジェクトが、撮影者が必須オブジェクトと一緒に写すことを意図したものであるならばテンプレート枠内に収めるように調整する必要がある。そこで、判定枠を設定して、判定枠内に収まる許容オブジェクトについては撮影者が必須オブジェクトと一緒に写すことを意図したものであると推定して、拡大縮小処理によってテンプレート枠に収めるようにする。他方、判定枠内に収まらない許容オブジェクトについては、画像データからも被写体の一部がはみ出している場合も多く、撮影者も被写体の一部がはみ出ることを前提で撮影しているものと推定して、テンプレート枠に収める処理を実行しないものとする。
【0029】
また、拡大縮小部15は、所定の禁則条件に該当しない範囲において禁止オブジェクトがテンプレート枠内に残らないように拡大縮小処理を実行する機能を有するようにしてもよい。特定部13において特定した禁止オブジェクトがテンプレート枠内に残っている場合、禁止オブジェクトはテンプレート枠から除外したいため、さらに拡大縮小部15において拡大縮小処理を実行して禁止オブジェクトをテンプレート枠から追い出すようにする。禁則条件とは、例えば、拡縮率の制限の範囲を超えてはいけないなど、禁止オブジェクトを除外する処理の際に犯してはならない条件のことをいう。
【0030】
移動部16は、テンプレート枠内の必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、テンプレート枠に対する画像データの移動処理を実行する機能を有する。ここで、移動処理とは、画像データのサイズを変更することなく、テンプレート枠に対する画像データの位置を平行移動によって調整する処理のことをいう。また、移動処理における所定基準とは、移動処理が必要であると判断するための基準のことをいう。所定基準の一例としては、例えば、最低何ピクセル以上余白が必要であるといった余白量の基準、下側余白と上側余白とでは少なくとも1:1.5以上の比率となるように上側余白が多くなければならないといった上下の余白の比率に関する基準、左右の移動量の制限の中で可能な限り被写体中心がテンプレート枠の中央に位置するべきとする基準などが考えられる。また、上下の余白については、写真が全身写真であるのか否かについての判定も必要となる。というのも、被写体の一部が撮影領域外にはみ出している画像データは全身写真ではく、その被写体の一部がはみ出している個所に関しては余白を設ける処理が不要となるからである。また、被写体中心については、必須オブジェクトのみで算出する場合と、テンプレート枠内に収めると判定した許容オブジェクトについても同様に扱って、必須オブジェクトと許容オブジェクトを合わせた全体の被写体中心を基準として算出する場合とが考えられる。左右の移動量の制限については、撮影者の意図を保護する目的で設定するものであり、固定で何ピクセル以上は移動できないという制限としてもよいし、画像データのサイズに基づいて移動可能なピクセル数を設定して制限するものであってもよい。またこれら移動量の制限を超えた場合、直前の状態を保持してもよいし、初期状態に戻すようにしてもよい。なお、拡大縮小部15と移動部16の処理順序は前後してもよい。
【0031】
調整部17は、画像データとテンプレート枠との関係を微調整する機能を有する。拡大縮小部15や移動部16での処理を経ることで、必須オブジェクトがテンプレート枠内の適切な位置に収まった状態となっているはずであるが、細部において微調整が必要となる状況が生じる場合がある。例えば、テンプレート枠の端部で画像切れが生じることがある。この調整部17では、画像切れなどの微調整対象を調整する処理を実行する。また、この調整部17において、拡縮率の制限や移動量の制限など各種の制限が守られているかを確認する処理を実行するようにしてもよい。
【0032】
トリミング部18は、確定した位置関係において画像データからテンプレート枠の内側領域をトリミング画像として出力する機能を有する。このトリミング部18における処理は、画像データをテンプレート枠で切り取ってトリミング画像を出力する構成であってもよいし、トリミングを行うための情報としてテンプレート枠に対する画像データの拡縮率及び移動量の情報を出力する構成であってもよい。
【0033】
記憶部19は、画像データ取得部11、検出部12、特定部13、枠設定部14、拡大縮小部15、移動部16、調整部17、トリミング部18などを含む自動トリミング装置10において行われる様々な処理で必要なデータ及び処理の結果として得られたデータを記憶させる機能を有する。
【0034】
次に、自動トリミング装置10における自動トリミング処理の流れについて説明する。
図2は、本発明に係る自動トリミング装置10における自動トリミング処理の流れを表したフローチャート図である。この
図2に示すように、自動トリミング処理は、自動トリミング装置10において画像データを取得することによって開始される(ステップS101)。次に、自動トリミング装置10は、取得した画像データ中から所定のオブジェクトを検出する(ステップS102)。次に、自動トリミング装置10は、検出したオブジェクトの中から必須オブジェクト、許容オブジェクト、禁止オブジェクトなどを特定する(ステップS103)。次に、自動トリミング装置10は、画像データに対してテンプレート枠を設定する(ステップS104)。次に、自動トリミング装置10は、テンプレート枠内に必須オブジェクト(条件を満たす場合には許容オブジェクトについても同様に)が収まるように拡大縮小処理を実行する(ステップS105)。次に、自動トリミング装置10は、テンプレート枠内における必須オブジェクト(条件を満たす場合には許容オブジェクトについても同様に)の位置が適切となるように移動処理を実行する(ステップS106)。次に、自動トリミング装置10は、テンプレート枠内に禁止オブジェクトが存在する場合には、禁止オブジェクト除外処理を実行する(ステップS107)。そして、自動トリミング装置10は、調整処理を実行する(ステップS108)。最後に、自動トリミング装置10は、確定したテンプレート枠と画像データの関係状態に基づいてトリミング処理を実行して(ステップS109)、自動トリミング処理を終了する。なお、拡大縮小処理(ステップS105)と移動処理(ステップS106)の実行順序は入れ替わってもよい。
【0035】
次に、自動トリミング装置10における拡大縮小処理の流れについて説明する。
図3は、本発明に係る自動トリミング装置10における拡大縮小処理の流れを表したフローチャート図である。必須オブジェクト、許容オブジェクト、禁止オブジェクト等について特定が行われ、画像データに対してテンプレート枠が初期位置に設定された状況において、この
図3に示すように、拡大縮小処理は、自動トリミング装置10において、必須オブジェクトがテンプレート枠内に含まれるように画像データの拡大縮小を実行することによって開始される(ステップS201)。次に、自動トリミング装置10は、必須オブジェクトとテンプレート枠との間に所定の間隔が確保されるようにパディング処理を実行する(ステップS202)。次に、自動トリミング装置10は、画像データ内に許容オブジェクトが存在するか否かを判定する(ステップS203)。画像データ内に許容オブジェクトが存在しない場合(S203-N)、自動トリミング装置10は、拡大縮小処理を終了する。画像データ内に許容オブジェクトが存在する場合(S203-Y)、自動トリミング装置10は、画像データに対するテンプレート枠の初期配置の大きさよりも所定サイズだけ大きい判定枠(ただし、判定枠<画像データ)を設定する(ステップS204)。そして、自動トリミング装置10は、判定枠内に許容オブジェクトが収まるか否かを判定する(ステップS205)。判定枠内に許容オブジェクトが収まらない場合(S205-N)、自動トリミング装置10は、拡大縮小処理を終了する。判定枠内に許容オブジェクトが収まる場合(S205-Y)、自動トリミング装置10は、該当する許容オブジェクトがテンプレート枠内に収まるように拡大縮小を実行して(ステップS206)、拡大縮小処理を終了する。
【0036】
次に、自動トリミング装置10における移動処理の流れについて説明する。
図4は、本発明に係る自動トリミング装置10における移動処理の流れを表したフローチャート図である。この
図4に示すように、移動処理は、自動トリミング装置10において、画像データが被写体に関して全身写真であるか否かを判定することによって開始される(ステップS301)。画像データが全身写真ではない場合(S301-N)、自動トリミング装置10は、後述するステップS304に移行する。画像データが全身写真である場合(S301-Y)、自動トリミング装置10は、必須オブジェクトの上下において、テンプレート枠との間に所定値以下の間隔しかないか否かを判定する(ステップS302)。必須オブジェクトテンプレート枠との間に所定値より大きい間隔が確保されている場合(S301-N)、自動トリミング装置10は、後述するステップS304に移行する。必須オブジェクトテンプレート枠との間に所定値以下の間隔しか確保されていない場合(S301-Y)、必須オブジェクトの上下に所定値以上の間隔が設けられるように垂直方向の移動を実行する(ステップS303)。最後に、必須オブジェクトの被写体中心を判定して、被写体中心がテンプレート枠の中央に近づくように水平方向の移動を実行して(ステップS304)、移動処理を終了する。
【0037】
次に、自動トリミング装置10における禁止オブジェクト除外処理の流れについて説明する。
図5は、本発明に係る自動トリミング装置10における禁止オブジェクト除外処理の流れを表したフローチャート図である。この
図5に示すように、禁止オブジェクト除外処理は、自動トリミング装置10において、テンプレート枠内に禁止オブジェクトが存在するか否かを判定することによって開始される(ステップS401)。テンプレート枠内に禁止オブジェクトが存在しない場合(S401-N)、自動トリミング装置10は、禁止オブジェクト除外処理を終了する。テンプレート枠内に禁止オブジェクトが存在する場合(S401-Y)、自動トリミング装置10は、禁止オブジェクト(又は、禁止オブジェクトにマージンを加えたもの)をテンプレート枠の枠外に追い出すために拡大処理を実行して(ステップS402)、禁止オブジェクト除外処理を終了する。
【0038】
次に、自動トリミング装置10における調整処理の流れについて説明する。
図6は、本発明に係る自動トリミング装置10における調整処理の流れを表したフローチャート図である。この
図6に示すように、調整処理は、自動トリミング装置10において、マスク切れが発生しているか否かを判定することによって開始される(ステップS501)。マスク切れが発生していない場合(S501-N)、自動トリミング装置10は、後述するステップS304に移行する。マスク切れが発生している場合(S501-Y)、自動トリミング装置10は、欠損領域を埋めるために拡大処理を実行する(ステップS502)。次に、自動トリミング装置10は、拡大縮小率及び移動量が制限値の範囲内であるか否かを判定する(ステップS503)。拡大縮小率又は移動量が制限値の範囲を超えていた場合(S503-N)、自動トリミング装置10は、トリミング処理全体を中止して全てを初期値に戻した上で(ステップS504)、ステップS505に移行する。拡大縮小率及び移動量が制限値の範囲内である場合(S503-Y)、自動トリミング装置10は、その時点での拡縮率及び移動量の情報を維持したまま、ステップS505に移行する。最後に、自動トリミング装置10は、トリミング情報を出力して(ステップS505)、調整処理を終了する。
【0039】
次に、自動トリミング装置10における自動トリミング処理について、具体例に基づいて説明を行う。
図7は、本発明に係る自動トリミング装置10において扱う画像データの一例を表した説明図である。この
図7に示す画像データには、オブジェクトの一例として人物と花が含まれており、また、左下にバック紙切れが発生している様子を表している。
【0040】
図8は、本発明に係る自動トリミング装置10において画像データに対するオブジェクトの特定及び各種の枠の設定の一例を表した説明図である。
図7に示す画像データに対して画像認識処理を実行してオブジェクトを特定すると、例えば、この
図8に示すように、必須オブジェクトとしての「人物」、許容オブジェクトとしての「花」、禁止オブジェクトとしての「バック紙切れ」がそれぞれ特定されて、例えば、特定された領域をそれぞれ矩形領域として管理している。また、
図8に示すように、画像データに対しては、初期位置に配置されたテンプレート枠と、テンプレート枠よりも大きい判定枠が設定される。この
図8に示す例では、許容オブジェクトとしての「花」は、初期位置に配置されたテンプレート枠からはみ出しているが、判定枠の範囲内に収まっているため、テンプレート枠の内側に収める許容オブジェクトであると判定することになる。この
図8に示す例では、許容オブジェクトとしての「花」をテンプレート枠の内側に収めるために拡大縮小処理を実行するほか、「花」などの許容オブジェクトについても被写体中心の算出に含めるようにしているので、「人物」と「花」の両方を被写体として認定し、被写体中心を「人物」と「花」の全体の中心に定めるようにして移動処理を実行するようにする。なお、許容オブジェクトを被写体中心の算出に含めない場合には、「人物」のみに基づいて被写体中心を算出して、被写体中心が全体の中心にくるように移動処理を実行することになる。
【0041】
図9は、本発明に係る自動トリミング装置10における自動トリミング処理後の画像データとトリミング枠の位置関係の一例を表した説明図である。
図8に示す画像データに対して拡大縮小処理及び移動処理を実行した結果が
図9に示すテンプレート枠と画像データの関係になる。この
図9は、初期配置のテンプレート枠に対して画像データを、拡縮率0.97(97%に縮小)、左右方向移動量-20(左方向に20ピクセル移動)、上下方向移動量5(上方向に5ピクセル移動)というトリミング情報が得られたことを表している。なお、この
図9に示すように、マスク切れは発生しておらず、また、禁止オブジェクトである「バック紙切れ」がテンプレート枠から外れているため問題とならないため、微調整を行う必要がない。
【0042】
以上のように、本発明に係る自動トリミング装置10によれば、対象となる画像データを取得し、画像認識処理により画像データに写る所定のオブジェクトを検出し、検出したオブジェクトのうち、テンプレート枠内に必ず収めるべき必須オブジェクトを特定し、画像データに対して所定規則に基づいてテンプレート枠を設定し、必須オブジェクトがテンプレート枠内に収まるように画像データの拡大縮小処理を実行し、テンプレート枠内の必須オブジェクトに対する上下左右の余白量の基準を含む所定基準に基づいて、テンプレート枠に対する画像データの移動処理を実行し、確定した位置関係において画像データからテンプレート枠の内側領域をトリミング画像として出力するようにしたので、必須オブジェクトを全て含み、かつ、適切な余白を設定したトリミングを自動で実行することが可能となる。
【0043】
また、所定の禁則条件に該当しない範囲において許容オブジェクトについても枠内に収まることを許容するようにしたので、テンプレート枠内に存在する許容オブジェクトは撮影者の意図に基づいて含まれた被写体であると認定して、撮影者の意図を尊重して枠内に収めて扱うことが可能となる。
【0044】
また、画像データに最初に設定した初期位置におけるテンプレート枠のサイズよりも所定サイズだけ大きい判定枠を設け、当該判定枠の内側に許容オブジェクトが収まっている場合、当該許容オブジェクトをテンプレート枠内に収めるように拡大縮小処理を実行するようにしたので、撮影者が画像データに含ませたいと意図したと推定される許容オブジェクトをテンプレート枠内に収めることができ、撮影者の意図を尊重したトリミングが可能となる。逆に、判定枠からもはみ出した許容オブジェクトは、撮影者も画像データに全て収めるつもりのなかった許容オブジェクトであると推定して、そのような許容オブジェクトはテンプレート枠に収める対象としない。これも撮影者の意図を反映させたトリミング処理であるといえる。
【0045】
また、テンプレート枠内に収めるべきでない禁止オブジェクトを特定して、所定の禁則条件に該当しない範囲において禁止オブジェクトがテンプレート枠内に残らないように拡大縮小処理を実行するようにしたので、禁止オブジェクトと設定した対象がテンプレート枠内に残らない自動トリミングが可能となる。
【符号の説明】
【0046】
10 自動トリミング装置
11 画像データ取得部
12 検出部
13 特定部
14 枠設定部
15 拡大縮小部
16 移動部
17 調整部
18 トリミング部
19 記憶部