画像分類装置、画像分類プログラム、プリンタ、撮像装置及び携帯電話機
【課題】クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を実現しつつ、違和感の少ない画像分類を実現し易くする。
【解決手段】画像分類装置は、総クラスタ数が指定値nogとなるとともに各クラスタの所属画像枚数が上限枚数gp_max以下となるように、分類対象画像をクラスタに分類する。まず、上限枚数gp_maxを越えることを許容しつつ、総クラスタ数がnogとなるように初期分類する。初期分類状態で上限枚数gp_maxを越えている各クラスタを、上限枚数gp_max以下の複数のクラスタに、分割する。初期分類状態において上限枚数gp_maxを越えているクラスタに所属していた画像は他のクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、nogとgp_maxの条件を満たすように、前記分割後の中間分類状態の少なくとも一部のクラスタを組み替える。
【解決手段】画像分類装置は、総クラスタ数が指定値nogとなるとともに各クラスタの所属画像枚数が上限枚数gp_max以下となるように、分類対象画像をクラスタに分類する。まず、上限枚数gp_maxを越えることを許容しつつ、総クラスタ数がnogとなるように初期分類する。初期分類状態で上限枚数gp_maxを越えている各クラスタを、上限枚数gp_max以下の複数のクラスタに、分割する。初期分類状態において上限枚数gp_maxを越えているクラスタに所属していた画像は他のクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、nogとgp_maxの条件を満たすように、前記分割後の中間分類状態の少なくとも一部のクラスタを組み替える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像分類装置、画像分類プログラム、プリンタ、撮像装置及び携帯電話機に関するものである。
【背景技術】
【0002】
下記特許文献1において、指定したクラスタ上限枚数と、分類対象画像の枚数から、クラスタリングのグループ数閾値を算出し、上限枚数を超えたクラスタについて再帰的にクラスタリング処理を行うことによって、入力画像群を上限枚数以内のクラスタに分類する処理が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−217538号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1で提案された従来手法では、分類後のクラスタ上限枚数を指定することによってクラスタリングを行うことができる。これによって、画像出力デバイスの一画面に表示できる画像枚数に制約がある場合においても、撮影時刻の近しい画像集合を一度に表示することができる。撮影時刻の近しい画像集合に分類されるので、違和感の少ない(すなわち、クラスタの分かれ目が不自然な位置となっていない)画像分類を実現し易い。例えば、入学式、遠足、運動会及び学芸会の画像からなる画像群を分類対象とするとき、遠足の一部の画像が入学式の画像と同じクラスタに分類される一方で、遠足の残りの画像が運動会の画像と同じクラスタに分類されて、遠足の2枚の画像間がクラスタの分かれ目となっている場合に比べて、遠足の画像が全て同一クラスタに分類される場合の方が、違和感が少なくなる。
【0005】
その一方で、紙のアルバムのように「1ページにレイアウトできる写真枚数」と「利用可能なページ数」の両方に制約がある場合などのように、分類後のクラスタ上限枚数(各クラスタに所属させ得る画像の最大枚数)及び分類後の総クラスタ数の両方の制約条件を満たした画像分類が要請される場合が考えられる。
【0006】
しかしながら、前記従来手法においては、クラスタ上限枚数は指定できるものの、総クラスタ数は指定することができず、「利用可能なページ数」を超過する可能性があった。
【0007】
本発明は、このような事情に鑑みてなされたもので、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができ、しかも、違和感の少ない画像分類を実現し易い画像分類装置及び画像分類プログラム、並びに、前記画像分類装置を用いたプリンタ、撮像装置及び携帯電話機を提供することを目的とする。
【課題を解決するための手段】
【0008】
前記課題を解決するための手段として、以下の各態様を提示する。第1の態様による画像分類装置は、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、撮影時刻情報が関連づけられた分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する画像分類装置であって、クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えることを許容しつつ、総クラスタ数が前記所与の総クラスタ数となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類手段と、前記初期分類手段により分類された後の初期分類状態のクラスタのうちの少なくとも1つのクラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えている場合に、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えている各クラスタを、所属画像の枚数が前記所与のクラスタ上限枚数以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割手段と、可能であれば、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えているクラスタに所属していた画像は、前記初期分類状態において自己が所属していなかったクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、総クラスタ数が前記所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となるように、前記分割手段により分割された後の中間分類状態の少なくとも一部のクラスタを組み替えるクラスタ組み替え手段と、前記クラスタ組み替え手段による前記組み替えによって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段と、を備えたものである。
【0009】
第2の態様による画像分類装置は、前記第1の態様において、前記クラスタ組み替え手段は、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていたクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第1の処理を行う第1の処理手段を、含み、前記第1の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0010】
第3の態様による画像分類装置は、前記第2の態様において、前記クラスタ組み替え手段は、前記第1の処理が不能である場合及び前記第1の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第2の処理を、前記第1の処理に劣後して行う第2の処理手段を、含み、前記第2の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0011】
第4の態様による画像分類装置は、前記第3の態様において、前記クラスタ組み替え手段は、前記第2の処理が不能である場合及び前記第2の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていた同じクラスタを起源とするクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第3の処理を、前記第2の処理に劣後して行う第3の処理手段を、含み、前記第3の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0012】
第5の態様による画像分類装置は、前記第4の態様において、前記クラスタ組み替え手段は、前記第3の処理が不能である場合及び前記第3の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第4の処理を、前記第3の処理に劣後して行う第4の処理手段を、含み、前記第4の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0013】
第6の態様による画像分類装置は、前記第1乃至第5のいずれかの態様において、前記クラスタ組み替え手段による前記組み替えが不能である場合に、前記中間分類状態を用いることなく、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する分類手段と、前記分類手段によって分類された後の分類状態を、前記分類対象の画像の分類結果とする手段とを備えたものである。
【0014】
第7の態様による画像分類装置は、前記第1乃至第6のいずれかの態様において、前記初期分類状態の各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下である場合に、前記初期分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0015】
第8の態様による画像分類装置は、前記第1乃至第7のいずれかの態様において、前記初期分類手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分類対象の画像を分類するものである。
【0016】
第9の態様による画像分類装置は、前記第1乃至第8のいずれかの態様において、前記分割手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分割を行うものである。
【0017】
第10の態様による画像分類プログラムは、コンピュータを、前記第1乃至第9のいずれかの態様による画像分類装置として機能させるためのプログラムである。
【0018】
第11の態様によるプリンタは、前記第1乃至第9のいずれかの態様による画像分類装置を備えたものである。
【0019】
第12の態様による撮像装置は、前記第1乃至第9のいずれかの態様による画像分類装置を備えたものである。
【0020】
第13の態様による携帯電話機は、前記第12の態様による撮像装置を備えたものである。
【発明の効果】
【0021】
本発明によれば、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができ、しかも、違和感の少ない画像分類を実現し易い画像分類装置及び画像分類プログラム、並びに、前記画像分類装置を用いたプリンタ、撮像装置及び携帯電話機を提供することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の第1の実施の形態による画像分類装置のハードウエア構成を示す概略構成図である。
【図2】図1に示す画像分類装置の動作を示す概略フローチャートである。
【図3】図2中の初期分類処理の例を示す系統図である。
【図4】図2中の初期分類処理により得られる初期分類状態の例を示す図である。
【図5】図2中のクラスタ調整処理を示す概略フローチャートである。
【図6】図5中の枚数優先クラスタ分割処理を示す概略フローチャートである。
【図7】図5中の枚数優先クラスタ分割処理の例を示す図である。
【図8】図5中の枚数優先クラスタ分割処理により得られる中間分類状態の例を示す図である。
【図9】図5中のクラスタ組み替え処理を示す概略フローチャートである。
【図10】図9中の第1の処理及び第2の処理の例を示す図である。
【図11】図9中の第3の処理及び第4の処理の例を示す図である。
【図12】図1に示す画像分類装置による分類結果の例を、系統図を用いて示す図である。
【図13】図1に示す画像分類装置による分類結果の例を、各クラスタの画像として示す図である。
【図14】図5中の、中間分類状態を用いない分類処理の例を示す図である。
【図15】本発明の第2の実施の形態によるプリンタのハードウエア構成を示す概略構成図である。
【図16】本発明の第3の実施の形態による撮像装置のハードウエア構成を示す概略構成図である。
【図17】本発明の第4の実施の形態による携帯電話機を模式的に示す概略構成図である。
【発明を実施するための形態】
【0023】
以下、本発明による画像分類装置、画像分類プログラム、プリンタ、撮像装置及び携帯電話機について、図面を参照して説明する。
【0024】
[第1の実施の形態]
図1は、本発明の第1の実施の形態による画像分類装置1のハードウエア構成を示す概略構成図である。
【0025】
本実施の形態による画像分類装置1は、ハードウエアとしては、一般的なパーソナルコンピュータを用いて構成され、CPU2と、ROM3と、RAM4と、ハードディスク5と、キーボード及びマウス等の入力部6と、液晶パネル等の表示部7と、デジタルカメラ等と接続するためのインターフェース8と、取り外し自在に装着されたメモリカード12と接続するためのカードインターフェース9と、インターネット等のネットワークと接続するための通信部10と、プリンタ13と接続されプリンタ13に印刷データ及び制御信号を供給するプリンタ制御部11と、これらを相互を接続するバス14とを備えている。ハードディスク5には、画像分類プログラムの他、各種プログラムが予めインストールされており、前記画像分類プログラム等を読み込んで実行することによって、前記CPU2等により以下に説明する機能が実現されるようになっている。
【0026】
本実施の形態による画像分類装置1は、デジタルカメラからインターフェース8を介してハードディスク5内に取り込まれた画像、メモリカード12からカードインターフェース9を介してハードディスク5内に取り込まれた画像、及び、通信部10を介してハードディスク5内に取り込まれた画像のうち、入力部6により指定された画像(画像データ)を分類対象とする。なお、メモリカード12内の画像を、ハードディスク5内に取り込むことなく直接に分類対象としてもよい。前記画像にはその撮影時刻を示す撮影時刻情報が関連づけられており、その撮影時刻情報も画像と共にハードディスク5内に格納されている。画像と撮影時刻情報は、互いに対応づけられた別ファイルを形成していてもよいし、両者が一体化されたファイル形式(Exif等)を採用してもよい。
【0027】
本実施の形態による画像分類装置1は、ユーザが、入力部6を操作して、分類対象の画像を指定するとともに、総クラスタ数(nog)及びクラスタ上限枚数(gp_max)を指定した後、画像分類の開始を指令すると、図2に示す動作を開始する。図2は、本実施の形態による画像分類装置1の動作を示す概略フローチャートである。本実施の形態では、この指定総クラスタ数(nog)及び指定クラスタ上限枚数(gp_max)が、分類条件を示す所与の総クラスタ数及び所与のクラスタ上限枚数として用いられる。
【0028】
なお、分類対象の画像を必ずしもユーザが指定できるようにする必要はなく、例えば、常に、メモリカード12に記録されている全ての画像を分類対象とするようにしてもよい。また、総クラスタ数(nog)及びクラスタ上限枚数(gp_max)も必ずしもユーザが指定できるようにする必要はなく、予め固定された総クラスタ数(nog)及びクラスタ上限枚数(gp_max)を分類条件を示す所与の総クラスタ数及び所与のクラスタ上限枚数として用いてもよい。
【0029】
CPU2は、図2に示す動作を開始すると、まず、指定された分類対象画像の総数(n)、指定総クラスタ数(nog)及び指定クラスタ上限枚数(gp_max)が分類可能なものであるか否かをチェックする(ステップS1)。nog、gp_max、nが全て1以上の整数であり、gp_max × nog ≧ nを満たし、かつ、n ≧ nogを満たす場合に、分類可能であると判定し、そうでなければ分類不能であると判定する。ステップS1で分類不可能であると判定されると、CPU2は分類失敗とし例えば表示部7に分類失敗である旨を表示させ(ステップS13)、一連の分類処理を終了する。
【0030】
一方、ステップS1で分類可能であると判定されると、CPU2は、ステップS2へ移行してステップS2以降の処理を行うことで、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、指定された分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する。
【0031】
図13は、その分類結果の例を模式的に示している。図13に示す例では、n=17枚の分類対象の画像0001.jpg〜0017.jpgが、指定総クラスタ数nog=4でかつ指定クラスタ上限枚数gp_max=5のクラスタ1〜4に分類されている。画像0001.jpg〜0017.jpgの撮影時刻はそのフィル名の番号順になっており、画像0001.jpgの撮影時刻は最も古く、画像0017.jpgの撮影時刻は最も新しい。これらの点は、後述する図3、図4、図7、図8、図10〜図12に示す例についても同様である。
【0032】
図13に示す例では、クラスタ1の画像0001.jpg,0002.jpgが入学式の画像、クラスタ1の画像0003.jpg〜0005.jpgが遠足の画像、クラスタ2の画像0006.jpgが運動会の開会式の画像、クラスタ2の画像0007.jpg,0008.jpgが運動会の玉入れの画像、クラスタ3の画像0009.jpg〜0012.jpgが運動会の徒競走の画像、クラスタ4の画像0013.jpg〜0017.jpgが学芸会の画像となっている。その分類結果のデータ形式は何ら限定されるものではないが、例えば、分類結果として、各画像に対して画像毎に関連づけて付与されたクラスタ番号(当該画像が所属するクラスタの番号)を採用することができる。
【0033】
ステップS2において、CPU2は、クラスタに所属する画像の枚数がgp_maxを越えることを許容しつつ、総クラスタ数がnogとなるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類処理を行う。本実施の形態では、具体的には、CPU2は、nogを閾値とした撮影時刻に基づく公知の階層的クラスタリングを用いて、この初期分類処理を行う。この場合、CPU2は、例えば、図3に示すような系統図を作成し、この系統図をクラスタ数がnogとなるように切断することによって、クラスタリング結果(分類結果)を得る。その後、CPU2は、初期分類処理S2により得た分類結果を、初期分類状態AとしてRAM4に記憶させる(ステップS3)。図4は初期分類状態Aの例を示しており、図3に対応している。図4に示す例の初期分類状態Aでは、17枚の対象画像0001.jpg〜0017.jpgは、4個のクラスタ、すなわち、2枚の画像0001.jpg,0002.jpgが所属するクラスタ、3枚の画像0003.jpg〜0005.jpgが所属するクラスタ、7枚の画像0006.jpg〜0012.jpgが所属するクラスタ、及び、5枚の画像0013.jpg〜0017.jpgが所属するクラスタに、分類されている。
【0034】
なお、初期分類処理S2は、階層的クラスタリングに代えて、例えば、K-meansクラスタリング、自己組織化マップ又はその他のクラスタリングを用いて行ってもよい。
【0035】
次に、CPU2は、ステップS3で保存した初期分類状態Aの各クラスタについて、当該クラスタに所属する画像の枚数がgp_max以下であるか否かを判別し、gp_max以下である場合に当該クラスタが「Compactグループ」に所属することをRAM4に記憶させ、gp_maxを越えている場合に当該クラスタが「Largeグループ」に所属することをRAM4に記憶させる(ステップS4〜S7)。
【0036】
このようにして得た、初期分類状態Aの各クラスタがCompactグループ及びLargeグループのいずれに所属するかの情報に基づいて、CPU2は、初期分類状態Aにおいて個々のCompactグループ及びLargeグループを識別し、そのグループ識別結果をRAM4に記憶させる(ステップS8)。すなわち、CPU2は、初期分類状態Aにおいて、Largeグループに属するとされた個々のクラスタをそれぞれ個々のLargeグループとする。したがって、初期分類状態AにおいてLargeグループに属するとされたクラスタと、Largeグループとは1対1の関係にある。また、CPU2は、Compactグループに所属するクラスタのうち孤立する1つのクラスタを1つのCompactグループとするとともに、Compactグループに所属するクラスタのうち連続する2つ以上のクラスタを1つのCompactグループとする。図4に示す例では、所属画像の枚数が2枚(≦ gp_max)のクラスタと所属画像の枚数が3枚(≦ gp_max)のクラスタとが連続しているので、これら2つのクラスタが1つのCompactグループとされている。また、所属画像の枚数が7枚(> gp_max)の1つのクラスタが1つのLargeグループとされている。さらに、所属画像の枚数が5枚(≦ gp_max)の1つクラスタは、Compactグループに所属する他のクラスタと連続せずに、Compactグループに所属する他のクラスタから孤立しているので、1つのCompactグループとされている。
【0037】
各Compactグループ及び各Largeグループは、このように初期分類状態Aのクラスタによって決定されるが、当該1つのグループとされる初期分類状態Aの1つ又は2つ以上のクラスタに所属する画像の集合によって定義される。よって、後述するクラスタ調整処理S10により、各グループを構成する画像の集合自体は変動することはない。ただし、後述するクラスタ調整処理S10によって当該グループ内でクラスタが組み替えられることで、当該グループを構成するクラスタは変動し得る。例えば、図4に示す初期分類状態Aの例では、左側の1つのCompactグループは、5枚の画像0001.jpg〜0005.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。また、中央の1つのLargeグループは、7枚の画像0006.jpg〜0012.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。さらに、右側の1つのCompactグループは、5枚の画像0013.jpg〜0017.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。
【0038】
次に、CPU2は、ステップS8でRAM4に記憶されたグループ識別結果に基づいて、初期分類状態Aにおいて1つ以上のLargeグループが存在するか否かについて判定する(ステップS9)。初期分類状態Aの中に1つ以上のLargeグループが存在しない場合、初期分類状態Aはgp_maxの条件も満たしていることになる。よって、この場合は、分類成功として、初期分類状態Aを最終的な分類結果として採用し、その分類結果をハードディスク5内に記憶し(ステップS12)、一連の分類処理を終了する。
【0039】
一方、初期分類状態Aの中に1つ以上のLargeグループが存在する場合、CPU2は、クラスタ調整処理を行う(ステップS10)。図5は、クラスタ調整処理S10を示す概略フローチャートである。
【0040】
クラスタ調整処理S10では、CPU2は、まず、初期分類状態Aの各Largeグループのクラスタ(すなわち、初期分類状態Aのクラスタのうち所属画像枚数がgp_maxを越えている各クラスタ)を、所属画像枚数がgp_max以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割処理(枚数優先クラスタ分割処理)を行う(ステップS21,S22)。
【0041】
図6は、初期分類状態Aの各Largeグループのクラスタについて行われる枚数優先クラスタ分割処理S22の具体例を示す概略フローチャートである。枚数優先クラスタ分割処理S22では、CPU2は、ステップS21で順次処理対象とされるLargeグループについて、当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まっているか否かを判定する(ステップS41)。当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まっていなければ、当該Largeグループ内の枚数超過クラスタ(所属画像枚数がgp_maxを越えているクラスタ)を、2を閾値とした撮影時刻に基づく公知の階層的クラスタリングを用いて、2つのクラスタに分割し(ステップS42)、ステップS41へ戻り、当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まるまで、ステップS42,S41を繰り返す。当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まると、当該Largeグループについての枚数優先クラスタ分割処理S22を終了し、他のLargeグループについても同様の枚数優先クラスタ分割処理が順次行われる。
【0042】
図7は、この枚数優先クラスタ分割処理S22の例を示している。図7では、初期分類状態Aが図4に示す通りである場合に、図4中の所属画像枚数が7枚(>gp_max)のLargeグループ内のクラスタが分割される様子を示している。図7中の上側部分は、1回目のステップS41でNoと判定された後の1回目のステップS42で、当該Largeグループ内の7枚(>gp_max)の画像0006.jpg〜0012.jpgが所属するクラスタが、1枚(≦gp_max)の画像0006.jpgが所属するクラスタと、6枚(>gp_max)の画像0007.jpg〜0012.jpgが所属するクラスタとに分割される様子を示している。図7中の下側部分は、2回目のステップS41でNoと判定された後の2回目のステップS42で、当該Largeグループ内の6枚(>gp_max)の画像0007.jpg〜0012.jpgが所属するクラスタが、2枚(≦gp_max)の画像0007.jpg,0008.jpgが所属するクラスタと、4枚(≦gp_max)の画像0009.jpg〜0012.jpgが所属するクラスタとに分割される様子を示している。この場合、3回目のステップS41でYesと判定されることになる。
【0043】
なお、前述したステップS42のクラスタ分割は、階層的クラスタリングに代えて、例えば、K-meansクラスタリング、自己組織化マップ又はその他のクラスタリングを用いて行ってもよい。
【0044】
全てのLargeグループについて枚数優先クラスタ分割処理S22が終了すると、CPU2は、その分割結果を中間分類状態BとしてRAM4に記憶させる(ステップS23)。図8は中間分類状態Bの例を示しており、図3、図4及び図7に対応している。図4に示す初期分類状態Aでは、Largeグループ内が所属画像枚数が7枚(>gp_max)の1つのクラスタであったのに対し、図8に示す中間分類状態Bでは、Largeグループ内が3つのクラスタ(所属画像枚数が1枚(≦gp_max)のクラスタと、所属画像枚数が2枚(≦gp_max)のクラスタと、所属画像枚数が4枚(≦gp_max)のクラスタ)となっている。
【0045】
その後、CPU2は、ステップS23で保存した中間分類状態Bの各クラスタが、初期分類状態Aで決定されたいずれのLargeグループ又はCompactグループに所属するかをRAM4に記憶させる(ステップS24)。
【0046】
中間分類状態Bでは、全てのクラスタの所属画像枚数がgp_max以下に収まっている。しかし、中間分類状態Bでは、総クラスタ数がnogであった初期分類状態Aからクラスタを分割しているため、総クラスタ数はnogを超過している。そこで、総クラスタ数をnogにするため、CPU2は、ステップS24の後に、中間分類状態Bに対してクラスタ組み替え処理S25を試みる。
【0047】
このクラスタ組み替え処理S25は、可能であれば、初期分類状態Aにおいて所属画像の枚数がgp_maxを越えているクラスタに所属していた画像(すなわち、Largeグループに所属する画像)は、初期分類状態Aにおいて自己が所属していなかったクラスタに所属していた画像(すなわち、他のLargeグループ又はCompactグループに所属している画像)とは同じクラスタに所属させないという条件(組み替え基本条件)下で、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、中間分類状態Bの少なくとも一部のクラスタを組み替える処理である。前記組み替え基本条件を換言すると、後述する表1に記載されているように、各Largeグループを他のグループと混ぜないという条件である。
【0048】
図9は、このクラスタ組み替え処理S25の具体例を示す概略フローチャートである。また、図9中の第1乃至第4の処理S51,S53,S55,S57の優先順位と主な特徴を、下記の表1に示す。図9及び表1に示すように、本実施の形態では、クラスタ組み替え処理S25において、クラスタを組み替える複数の処理S51,S53,S55,S57を、分類結果に与える違和感の少ないものから順に試み、総クラスタ数がnogとなった場合は、その時点の分類状態を最終的な分類結果として採用する。以下に、クラスタ組み替え処理S25について、図9及び表1等を参照して具体的に説明する。
【0049】
【表1】
【0050】
クラスタ組み替え処理S25では、CPU2は、まず、中間分類状態Bに対して第1の処理S51を行う。この第1の処理S51は、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_maxを起源とする隣接クラスタ対(すなわち、Largeグループ内の隣接クラスタ対)のうち、当該クラスタ対に所属する画像の枚数の合計がgp_max以下である隣接クラスタ対について、クラスタ間距離(この距離は時間間隔に相当する。)の最も小さい隣接クラスタ対から順に統合する処理である。この第1の処理S51は、前記組み替え基本条件下で行われる。ここで、統合は、隣接クラスタ対を1つのクラスタにまとめる(マージする、結合する)ことであり、既存のクラスタ分割を崩さない(すなわち、既存のクラスタ分割位置を変更しない)。この点は、後述する統合についても同様である。また、前記クラスタ間距離の定義としては、特に限定されるものではなく、例えば、公知の最近隣法、最遠隣法、群平均法、重心法などによる定義を採用することができる。この点は、後述するクラスタ間距離についても同様である。なお、第1の処理S51の例及び後述する第2の処理S53の例を併せて図10に示しているので、図10も参照されたい。図10に示す分類状態は、図8に示す分類状態と同じであるものとしている。
【0051】
その後、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS52)。第1の処理S51によって総クラスタ数がnogとなっていれば、ステップS52でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0052】
第1の処理S51が不能であるか又は第1の処理S51によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS52でYesとなり、ステップS53へ移行する。
【0053】
ステップS53において、CPU2は、現在の分類状態に対して第2の処理を行う。この第2の処理S53は、第1の処理S51が不能である場合及び第1の処理S51を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_max以下であったクラスタを起源とする隣接クラスタ対(すなわち、Compactグループ内の隣接クラスタ対)のうち、当該クラスタ対に所属する画像の枚数の合計がgp_max以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する処理である。この第2の処理S53は第1の処理S51に劣後して行われる。換言すれば、第1の処理S51は第2の処理S53に優先して行われる。この第2の処理S53も、前記組み替え基本条件下で行われる。なお、ここでも、図10を参照されたい。
【0054】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS54)。第2の処理S53によって総クラスタ数がnogとなっていれば、ステップS54でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0055】
第2の処理S53が不能であるか又は第2の処理S53によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS54でYesとなり、ステップS55へ移行する。
【0056】
ステップS55において、CPU2は、現在の分類状態に対して第3の処理を行う。この第3の処理S55は、第2の処理S53が不能である場合及び第2の処理S53を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_maxを越えていた同じクラスタを起源とするクラスタからなるグループ(すなわち、Largeグループ)について、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数がgp_max以下となることを条件として、当該グループ内のクラスタを組み替える処理である。この第3の処理S55は第2の処理S53に劣後して行われる。換言すれば、第2の処理S53は第3の処理S55に優先して行われる。この第3の処理S55も、前記組み替え基本条件下で行われる。
【0057】
この第3の処理S55では、具体的には、例えば、各Largeグループの中から、平均クラスタ間距離の最も小さいLargeグループを選び、グループ先頭からgp_maxごとに単純詰め込みを行うことによって、クラスタ数が減少するかどうかを試みてゆく。単純詰め込みによって、総クラスタ数が減少する場合(例えばgp_maxが5枚で、4枚2枚4枚の3クラスタになっているグループなど)は単純詰め込みを行い、クラスタ数が変わらない場合(例えばgp_maxが5枚で、3枚4枚5枚の3クラスタになっているグループなど)は詰め込みを行わない。なお、第3の処理S55の例及び後述する第4の処理S57の例を併せて図11に示しているので、図11も参照されたい。図11に示す分類状態は、図8に示す分類状態と異なっているものとしている。なお、グループ先頭からgp_maxごとの詰め込みに代えて、グループ後尾からgp_maxごとの詰め込みを行ってもよい。なお、グループ先頭又はグループ後尾からのgp_maxごとの詰め込みを行うと、総数クラスタ数が1つ減る場合のみならず、総数クラスタ数が2つ以上減る場合もあり得る。総数クラスタ数が2つ以上減ることによって、総数クラスタ数がnogを下回ってしまう場合には、総数クラスタ数がnogとなるように各クラスタへの詰め込み画像枚数を調整すればよい。
【0058】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS56)。第3の処理S55によって総クラスタ数がnogとなっていれば、ステップS56でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0059】
第3の処理S55が不能であるか又は第3の処理S55によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS56でYesとなり、ステップS57へ移行する。
【0060】
ステップS57において、CPU2は、現在の分類状態に対して第4の処理を行う。この第4の処理S57は、第3の処理S55が不能である場合及び第3の処理S55を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるまで、初期分類状態Aにおいて所属画像の枚数がgp_max以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループ(すなわち、Compactグループ)について、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数がgp_max以下となることを条件として、当該グループ内のクラスタを組み替える処理である。この第4の処理S57は第3の処理S55に劣後して行われる。換言すれば、第3の処理S55は第4の処理S57に優先して行われる。この第4の処理S57も、前記組み替え基本条件下で行われる。
【0061】
この第4の処理S57では、具体的には、例えば、各Compactグループの中から、平均クラスタ間距離の最も小さいCompactグループを選び、グループ先頭からgp_maxごとに単純詰め込みを行うことによって、クラスタ数が減少するかどうかを試みてゆく。単純詰め込みによって、総クラスタ数が減少する場合は単純詰め込みを行い、クラスタ数が変わらない場合は詰め込みを行わない。なお、ここでも、図11も参照されたい。なお、グループ先頭からgp_maxごとの詰め込みに代えて、グループ後尾からgp_maxごとの詰め込みを行ってもよい。なお、グループ先頭又はグループ後尾からのgp_maxごとの詰め込みを行うと、総数クラスタ数が1つ減る場合のみならず、総数クラスタ数が2つ以上減る場合もあり得る。総数クラスタ数が2つ以上減ることによって、総数クラスタ数がnogを下回ってしまう場合には、総数クラスタ数がnogとなるように各クラスタへの詰め込み画像枚数を調整すればよい。
【0062】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS58)。第4の処理S57によって総クラスタ数がnogとなっていれば、ステップS58でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0063】
第4の処理S55が不能であるか又は第4の処理S55によって総クラスタ数がnogとならない場合は、ステップS58でYesとなり、CPU2は、クラスタ組み替え処理が失敗したとして、その旨をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0064】
クラスタ組み替え処理S25が終了すると、図5中のステップS26へ移行する。ステップS26において、CPU2は、ステップS59,S60でRAM4に記憶された、クラスタ組み替え処理S25が成功したか否かの情報に基づいて、クラスタ組み替え処理S25が成功したか否かを判定する。
【0065】
ステップS26で成功したと判定されると、CPU2は、ステップS60でRAM4に記憶されたクラスタ組み替え結果をクラスタ調整結果として採用し、そのクラスタ調整結果をRAM4に記憶し(ステップS27)、クラスタ調整処理S10を終了する。
【0066】
図12は、ステップS54でNoの場合に得られた(すなわち、第1の処理S51及び第2の処理S52を行った時点で得られた)最終的な分類結果の例を、系統図を用いて示した図である。図12は図10に対応している。前述した図13は、図12と同じ分類処理を示している。例えば、図13において遠足の一部の画像0005.jpgのみがクラスタ2内に所属するように分類が改変されていれば、遠足の画像0004.jpgと遠足の画像0005.jpgとの間がクラスタ1,2間の分かれ目となってしまうので、違和感が大きくなる。これに対し、図13では、遠足の全ての画像0003.jpg〜0005.jpgはクラスタ1に所属しており、クラスタ1,2間の分かれ目は遠足の画像0005.jpgと運動会の画像0006.jpgとなっているので、違和感は少ない。
【0067】
ステップS26で失敗したと判定されると、CPU2は、中間結果をクリアして初期分類状態Aに戻り(ステップS28)、その後、中間分類状態Bを用いない分類処理を行う(ステップS29)。この分類処理S29は、クラスタ組み替え処理S25が不能である場合に、中間分類状態Bを用いることなく、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、指定された分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する処理である。
【0068】
本実施の形態では、分類処理S29において、初期分類状態Aにおいて、Largeグループのクラスタについて着目し、当該クラスタのgp_maxを超えている数の画像を隣接クラスタへ移動していく。移動によって、移動先のクラスタがgp_maxを超過した場合は、そのクラスタの画像を更に隣接するクラスタに移動させる。これらの移動に際して、隣接するクラスタへの移動方向を、移動元のクラスタにおいてgp_maxを超えている数の画像を吸収する余裕がある方向に設定する。このような超過枚数画像の隣接クラスタへの移動を、全てのクラスタの所属画像枚数がgp_maxとなるまで繰り返す。このような分類処理S29の例を図14に示している。
【0069】
なお、分類処理S29は、前述したような初期分類状態Aを用いた手法に限定されるものではない。例えば、分類処理S29では、nog個のクラスタに、時系列の先頭から{n/(nog)}個ずつ画像を単純に詰め込んでもよい。このとき、{n/(nog)}が整数でない場合は、各クラスタに{n/(nog)}の小数点以下を切り上げた個数又は{n/(nog)}の小数点以下を切り下げた個数の画像を詰め込めばよい。
【0070】
分類処理S29の後、CPU2は、分類処理S29の分類結果をクラスタ調整結果として採用し、そのクラスタ調整結果をRAM4に記憶し(ステップS30)、クラスタ調整処理S10を終了する。
【0071】
クラスタ調整処理S10が終了すると、CPU2は、ステップS27又はS30でRAM4に記憶されたクラスタ調整結果を最終的な分類結果として採用し、その分類結果をハードディスク5内に記憶し(ステップS11)、一連の分類処理を終了する。
【0072】
本実施の形態による画像分類装置では、図2に示す動作によって最終的な分類結果が得られた後、ユーザが、入力部6を操作して、その分類結果に応じた画像印刷を指令すると、CPU2は、分類結果の各クラスタを1枚の印刷ページとし、各クラスタに属する画像を当該印刷ページにレイアウトした印刷データを生成し、この印刷データをプリンタ制御部11を介してプリンタ13に供給する。これにより、プリンタは、印刷ページとクラスタとを1対1に対応づけて、各印刷ページに対応クラスタの画像がレイアウトして印刷される。このようにして、紙のアルバムのように「1ページにレイアウトできる写真枚数」と「利用可能なページ数」の両方に制約があるような画像印刷を、実現することができる。
【0073】
なお、図2に示す動作によって得た分類結果を最終的な分類結果の候補として、表示部7に表示してユーザに提示し、ユーザが入力部6の操作によって、その分類状態を修正できるようにし、その修正後の分類結果に応じた印刷を実現し得るようにしてもよい。なお、分類結果の表示形式は特に限定されるものではないが、例えば、表示部7の画面とクラスタとを1対1に対応づけ、各画面を入力部6の操作に応じて順次表示し、各画面に対応クラスタの画像をレイアウトして表示してもよい。
【0074】
本実施の形態によれば、先の説明からわかるように、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができる。
【0075】
そして、本実施の形態では、クラスタに所属する画像の枚数がgp_maxを越えることを許容した初期分類処理S2が行われ、その結果の初期分類状態Aにおいてgp_maxを越えた各クラスタ(各Largeグループ)について枚数優先クラスタ分割処理S22が行われ、可能であれば、その結果の中間分類状態Bに対して、各Largeグループを他のグループと混ぜないという条件を組み替え基本条件としたクラスタ組み替え処理S25が行われる。したがって、このクラスタ組み替え処理S25が可能な場合、各Largeグループを他のグループと混ぜないという条件が維持されるので、違和感の少ない画像分類が実現される。そして、本実施の形態では、違和感低減に重きを置かないいわば強制的な分類処理である分類処理S29は、クラスタ組み替え処理S25が不能な場合に行われ、クラスタ組み替え処理S25が分類処理S29に優先して行われるので、違和感の少ない画像分類を実現し易い。
【0076】
しかも、本実施の形態では、前述したように、図9及び表1に示すように、クラスタ組み替え処理S25において、クラスタを組み替える複数の処理S51,S53,S55,S57を、分類結果に与える違和感の少ないものから順に試み、総クラスタ数がnogとなった場合は、その時点の分類状態を最終的な分類結果として採用している。なお、表1に記載されている第1の処理S51、第2の処理S53、第3の処理S55、第4の処理S57の特徴から、その順に、分類結果に与える違和感が少なくなる。したがって、本実施の形態によれば、より違和感の少ない画像分類の実現を容易し易い。
【0077】
もっとも、本発明では、例えば、クラスタ組み替え処理S25において、ステップS57,S58を除去し、ステップS56でYesの場合はステップS59へ移行してもよい。また、クラスタ組み替え処理S25において、ステップS55〜S58を除去し、ステップS54でYesの場合はステップS59へ移行してもよい。さらに、クラスタ組み替え処理S25において、ステップS53〜S58を除去し、ステップS52でYesの場合はステップS59へ移行してもよい。
【0078】
また、本実施の形態では、前述したような処理で画像分類が実現され、あらゆる画像分類状態について所定指標で評価した上で最も評価の高い画像分類状態を最終的な分類結果として採用するような処理で画像分類を実現するものではない。したがって、後者の場合は、処理量は膨大となってしまい、膨大な処理時間を要するのに対し、本実施の形態では、処理量が少なくて済み、処理時間もさほど要しない。
【0079】
[第2の実施の形態]
図15は、本発明の第2の実施の形態によるプリンタ21のハードウエア構成を示す概略構成図である。図15において、図1中の要素と同一又は対応する要素には同一符号を付し、その重複する説明は省略する。
【0080】
本実施の形態によるプリンタ21では、プリンタ制御部11は除去され、その代わりに印刷部22が設けられている。本実施の形態では、インターフェース8には、デジタルカメラの他にパーソナルコンピュータ等が接続されるようになっている。パーソナルコンピュータからインターフェース8を介して印刷データが入力されると、その印刷データが示す印刷が、印刷部22により行われるようになっている。
【0081】
本実施の形態によるプリンタ21は、前記第1の実施の形態による画像分類装置1の各要素と対応する要素によって、前記第1の実施の形態と同様の画像分類動作を行うようになっている。これにより、プリンタ21は、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。本実施の形態によるプリンタ21では、画像分類動作によって得られた分類結果に応じた画像印刷は、印刷部22により行われる。
【0082】
本実施の形態によるプリンタ21は、家庭用のプリンタとして構成してもよいし、写真店やミニラボ等で使用する業務用のプリンタ(写真プリント機)として構成してもよい。後者の場合、ユーザが店頭に持参した画像を記録したメモリカード12を画像分類対象とするが操作は店員が行うプリント機として構成してもよいし、ユーザが店頭に持参した画像を記録したメモリカード12を画像分類対象とするとともに、操作もユーザが行ういわゆるセルフプリント機として構成してもよい。
【0083】
[第3の実施の形態]
図16は、本発明の第3の実施の形態による撮像装置としてのデジタルカメラ31のハードウエア構成を示す概略構成図である。図16において、図1中の要素と同一又は対応する要素には同一符号を付し、その重複する説明は省略する。
【0084】
本実施の形態によるデジタルカメラ31では、ハードディスク5及びプリンタ制御部11は除去され、撮影レンズ及びCCD等の固体撮像素子などからなる撮像部32、及び、撮像部32で撮像された画像に対して種々の画像処理を行う画像処理部33が、設けられている。本実施の形態では、撮像部32で撮像された画像は、メモリカード12に記憶されるようになっている。メモリカード12に記憶された画像を、画像分類の対象とし得るようになっている。また、入力部6の操作により、メモリカード12内の画像を通信部10を介してネットワークに接続されたサーバに格納したり、インターフェース8を介してパーソナルコンピュータに送ったりすることができるようになっている。
【0085】
本実施の形態によるデジタルカメラ31は、前記第1の実施の形態による画像分類装置1の各要素と対応する要素によって、前記第1の実施の形態と同様の画像分類動作を行うようになっている。これにより、デジタルカメラ31は、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。本実施の形態によるデジタルカメラ31では、画像分類動作によって得られた分類結果に応じた画像表示を表示部7に表示したり、メモリカード12に記憶された画像と共に画像分類結果もパーソナルコンピュータに送ったりすることができるようになっている。
【0086】
[第4の実施の形態]
図17は、本発明の第4の実施の形態による携帯電話機41を模式的に示す概略構成図である。
【0087】
本実施の形態による携帯電話機41は、無線通話を行う無線通話部42と、カメラ部43とを有している。カメラ部43は、前記第3の実施の形態によるデジタルカメラ31と同様に構成され、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。
【0088】
以上、本発明の各実施の形態について説明したが、本発明はこれらの実施の形態に限定されるものではない。
【符号の説明】
【0089】
1 画像分類装置
21 プリンタ
31 デジタルカメラ(撮像装置)
41 携帯電話機
【技術分野】
【0001】
本発明は、画像分類装置、画像分類プログラム、プリンタ、撮像装置及び携帯電話機に関するものである。
【背景技術】
【0002】
下記特許文献1において、指定したクラスタ上限枚数と、分類対象画像の枚数から、クラスタリングのグループ数閾値を算出し、上限枚数を超えたクラスタについて再帰的にクラスタリング処理を行うことによって、入力画像群を上限枚数以内のクラスタに分類する処理が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−217538号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1で提案された従来手法では、分類後のクラスタ上限枚数を指定することによってクラスタリングを行うことができる。これによって、画像出力デバイスの一画面に表示できる画像枚数に制約がある場合においても、撮影時刻の近しい画像集合を一度に表示することができる。撮影時刻の近しい画像集合に分類されるので、違和感の少ない(すなわち、クラスタの分かれ目が不自然な位置となっていない)画像分類を実現し易い。例えば、入学式、遠足、運動会及び学芸会の画像からなる画像群を分類対象とするとき、遠足の一部の画像が入学式の画像と同じクラスタに分類される一方で、遠足の残りの画像が運動会の画像と同じクラスタに分類されて、遠足の2枚の画像間がクラスタの分かれ目となっている場合に比べて、遠足の画像が全て同一クラスタに分類される場合の方が、違和感が少なくなる。
【0005】
その一方で、紙のアルバムのように「1ページにレイアウトできる写真枚数」と「利用可能なページ数」の両方に制約がある場合などのように、分類後のクラスタ上限枚数(各クラスタに所属させ得る画像の最大枚数)及び分類後の総クラスタ数の両方の制約条件を満たした画像分類が要請される場合が考えられる。
【0006】
しかしながら、前記従来手法においては、クラスタ上限枚数は指定できるものの、総クラスタ数は指定することができず、「利用可能なページ数」を超過する可能性があった。
【0007】
本発明は、このような事情に鑑みてなされたもので、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができ、しかも、違和感の少ない画像分類を実現し易い画像分類装置及び画像分類プログラム、並びに、前記画像分類装置を用いたプリンタ、撮像装置及び携帯電話機を提供することを目的とする。
【課題を解決するための手段】
【0008】
前記課題を解決するための手段として、以下の各態様を提示する。第1の態様による画像分類装置は、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、撮影時刻情報が関連づけられた分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する画像分類装置であって、クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えることを許容しつつ、総クラスタ数が前記所与の総クラスタ数となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類手段と、前記初期分類手段により分類された後の初期分類状態のクラスタのうちの少なくとも1つのクラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えている場合に、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えている各クラスタを、所属画像の枚数が前記所与のクラスタ上限枚数以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割手段と、可能であれば、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えているクラスタに所属していた画像は、前記初期分類状態において自己が所属していなかったクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、総クラスタ数が前記所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となるように、前記分割手段により分割された後の中間分類状態の少なくとも一部のクラスタを組み替えるクラスタ組み替え手段と、前記クラスタ組み替え手段による前記組み替えによって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段と、を備えたものである。
【0009】
第2の態様による画像分類装置は、前記第1の態様において、前記クラスタ組み替え手段は、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていたクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第1の処理を行う第1の処理手段を、含み、前記第1の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0010】
第3の態様による画像分類装置は、前記第2の態様において、前記クラスタ組み替え手段は、前記第1の処理が不能である場合及び前記第1の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第2の処理を、前記第1の処理に劣後して行う第2の処理手段を、含み、前記第2の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0011】
第4の態様による画像分類装置は、前記第3の態様において、前記クラスタ組み替え手段は、前記第2の処理が不能である場合及び前記第2の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていた同じクラスタを起源とするクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第3の処理を、前記第2の処理に劣後して行う第3の処理手段を、含み、前記第3の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0012】
第5の態様による画像分類装置は、前記第4の態様において、前記クラスタ組み替え手段は、前記第3の処理が不能である場合及び前記第3の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第4の処理を、前記第3の処理に劣後して行う第4の処理手段を、含み、前記第4の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0013】
第6の態様による画像分類装置は、前記第1乃至第5のいずれかの態様において、前記クラスタ組み替え手段による前記組み替えが不能である場合に、前記中間分類状態を用いることなく、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する分類手段と、前記分類手段によって分類された後の分類状態を、前記分類対象の画像の分類結果とする手段とを備えたものである。
【0014】
第7の態様による画像分類装置は、前記第1乃至第6のいずれかの態様において、前記初期分類状態の各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下である場合に、前記初期分類状態を、前記分類対象の画像の分類結果とする手段を備えたものである。
【0015】
第8の態様による画像分類装置は、前記第1乃至第7のいずれかの態様において、前記初期分類手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分類対象の画像を分類するものである。
【0016】
第9の態様による画像分類装置は、前記第1乃至第8のいずれかの態様において、前記分割手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分割を行うものである。
【0017】
第10の態様による画像分類プログラムは、コンピュータを、前記第1乃至第9のいずれかの態様による画像分類装置として機能させるためのプログラムである。
【0018】
第11の態様によるプリンタは、前記第1乃至第9のいずれかの態様による画像分類装置を備えたものである。
【0019】
第12の態様による撮像装置は、前記第1乃至第9のいずれかの態様による画像分類装置を備えたものである。
【0020】
第13の態様による携帯電話機は、前記第12の態様による撮像装置を備えたものである。
【発明の効果】
【0021】
本発明によれば、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができ、しかも、違和感の少ない画像分類を実現し易い画像分類装置及び画像分類プログラム、並びに、前記画像分類装置を用いたプリンタ、撮像装置及び携帯電話機を提供することができる。
【図面の簡単な説明】
【0022】
【図1】本発明の第1の実施の形態による画像分類装置のハードウエア構成を示す概略構成図である。
【図2】図1に示す画像分類装置の動作を示す概略フローチャートである。
【図3】図2中の初期分類処理の例を示す系統図である。
【図4】図2中の初期分類処理により得られる初期分類状態の例を示す図である。
【図5】図2中のクラスタ調整処理を示す概略フローチャートである。
【図6】図5中の枚数優先クラスタ分割処理を示す概略フローチャートである。
【図7】図5中の枚数優先クラスタ分割処理の例を示す図である。
【図8】図5中の枚数優先クラスタ分割処理により得られる中間分類状態の例を示す図である。
【図9】図5中のクラスタ組み替え処理を示す概略フローチャートである。
【図10】図9中の第1の処理及び第2の処理の例を示す図である。
【図11】図9中の第3の処理及び第4の処理の例を示す図である。
【図12】図1に示す画像分類装置による分類結果の例を、系統図を用いて示す図である。
【図13】図1に示す画像分類装置による分類結果の例を、各クラスタの画像として示す図である。
【図14】図5中の、中間分類状態を用いない分類処理の例を示す図である。
【図15】本発明の第2の実施の形態によるプリンタのハードウエア構成を示す概略構成図である。
【図16】本発明の第3の実施の形態による撮像装置のハードウエア構成を示す概略構成図である。
【図17】本発明の第4の実施の形態による携帯電話機を模式的に示す概略構成図である。
【発明を実施するための形態】
【0023】
以下、本発明による画像分類装置、画像分類プログラム、プリンタ、撮像装置及び携帯電話機について、図面を参照して説明する。
【0024】
[第1の実施の形態]
図1は、本発明の第1の実施の形態による画像分類装置1のハードウエア構成を示す概略構成図である。
【0025】
本実施の形態による画像分類装置1は、ハードウエアとしては、一般的なパーソナルコンピュータを用いて構成され、CPU2と、ROM3と、RAM4と、ハードディスク5と、キーボード及びマウス等の入力部6と、液晶パネル等の表示部7と、デジタルカメラ等と接続するためのインターフェース8と、取り外し自在に装着されたメモリカード12と接続するためのカードインターフェース9と、インターネット等のネットワークと接続するための通信部10と、プリンタ13と接続されプリンタ13に印刷データ及び制御信号を供給するプリンタ制御部11と、これらを相互を接続するバス14とを備えている。ハードディスク5には、画像分類プログラムの他、各種プログラムが予めインストールされており、前記画像分類プログラム等を読み込んで実行することによって、前記CPU2等により以下に説明する機能が実現されるようになっている。
【0026】
本実施の形態による画像分類装置1は、デジタルカメラからインターフェース8を介してハードディスク5内に取り込まれた画像、メモリカード12からカードインターフェース9を介してハードディスク5内に取り込まれた画像、及び、通信部10を介してハードディスク5内に取り込まれた画像のうち、入力部6により指定された画像(画像データ)を分類対象とする。なお、メモリカード12内の画像を、ハードディスク5内に取り込むことなく直接に分類対象としてもよい。前記画像にはその撮影時刻を示す撮影時刻情報が関連づけられており、その撮影時刻情報も画像と共にハードディスク5内に格納されている。画像と撮影時刻情報は、互いに対応づけられた別ファイルを形成していてもよいし、両者が一体化されたファイル形式(Exif等)を採用してもよい。
【0027】
本実施の形態による画像分類装置1は、ユーザが、入力部6を操作して、分類対象の画像を指定するとともに、総クラスタ数(nog)及びクラスタ上限枚数(gp_max)を指定した後、画像分類の開始を指令すると、図2に示す動作を開始する。図2は、本実施の形態による画像分類装置1の動作を示す概略フローチャートである。本実施の形態では、この指定総クラスタ数(nog)及び指定クラスタ上限枚数(gp_max)が、分類条件を示す所与の総クラスタ数及び所与のクラスタ上限枚数として用いられる。
【0028】
なお、分類対象の画像を必ずしもユーザが指定できるようにする必要はなく、例えば、常に、メモリカード12に記録されている全ての画像を分類対象とするようにしてもよい。また、総クラスタ数(nog)及びクラスタ上限枚数(gp_max)も必ずしもユーザが指定できるようにする必要はなく、予め固定された総クラスタ数(nog)及びクラスタ上限枚数(gp_max)を分類条件を示す所与の総クラスタ数及び所与のクラスタ上限枚数として用いてもよい。
【0029】
CPU2は、図2に示す動作を開始すると、まず、指定された分類対象画像の総数(n)、指定総クラスタ数(nog)及び指定クラスタ上限枚数(gp_max)が分類可能なものであるか否かをチェックする(ステップS1)。nog、gp_max、nが全て1以上の整数であり、gp_max × nog ≧ nを満たし、かつ、n ≧ nogを満たす場合に、分類可能であると判定し、そうでなければ分類不能であると判定する。ステップS1で分類不可能であると判定されると、CPU2は分類失敗とし例えば表示部7に分類失敗である旨を表示させ(ステップS13)、一連の分類処理を終了する。
【0030】
一方、ステップS1で分類可能であると判定されると、CPU2は、ステップS2へ移行してステップS2以降の処理を行うことで、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、指定された分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する。
【0031】
図13は、その分類結果の例を模式的に示している。図13に示す例では、n=17枚の分類対象の画像0001.jpg〜0017.jpgが、指定総クラスタ数nog=4でかつ指定クラスタ上限枚数gp_max=5のクラスタ1〜4に分類されている。画像0001.jpg〜0017.jpgの撮影時刻はそのフィル名の番号順になっており、画像0001.jpgの撮影時刻は最も古く、画像0017.jpgの撮影時刻は最も新しい。これらの点は、後述する図3、図4、図7、図8、図10〜図12に示す例についても同様である。
【0032】
図13に示す例では、クラスタ1の画像0001.jpg,0002.jpgが入学式の画像、クラスタ1の画像0003.jpg〜0005.jpgが遠足の画像、クラスタ2の画像0006.jpgが運動会の開会式の画像、クラスタ2の画像0007.jpg,0008.jpgが運動会の玉入れの画像、クラスタ3の画像0009.jpg〜0012.jpgが運動会の徒競走の画像、クラスタ4の画像0013.jpg〜0017.jpgが学芸会の画像となっている。その分類結果のデータ形式は何ら限定されるものではないが、例えば、分類結果として、各画像に対して画像毎に関連づけて付与されたクラスタ番号(当該画像が所属するクラスタの番号)を採用することができる。
【0033】
ステップS2において、CPU2は、クラスタに所属する画像の枚数がgp_maxを越えることを許容しつつ、総クラスタ数がnogとなるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類処理を行う。本実施の形態では、具体的には、CPU2は、nogを閾値とした撮影時刻に基づく公知の階層的クラスタリングを用いて、この初期分類処理を行う。この場合、CPU2は、例えば、図3に示すような系統図を作成し、この系統図をクラスタ数がnogとなるように切断することによって、クラスタリング結果(分類結果)を得る。その後、CPU2は、初期分類処理S2により得た分類結果を、初期分類状態AとしてRAM4に記憶させる(ステップS3)。図4は初期分類状態Aの例を示しており、図3に対応している。図4に示す例の初期分類状態Aでは、17枚の対象画像0001.jpg〜0017.jpgは、4個のクラスタ、すなわち、2枚の画像0001.jpg,0002.jpgが所属するクラスタ、3枚の画像0003.jpg〜0005.jpgが所属するクラスタ、7枚の画像0006.jpg〜0012.jpgが所属するクラスタ、及び、5枚の画像0013.jpg〜0017.jpgが所属するクラスタに、分類されている。
【0034】
なお、初期分類処理S2は、階層的クラスタリングに代えて、例えば、K-meansクラスタリング、自己組織化マップ又はその他のクラスタリングを用いて行ってもよい。
【0035】
次に、CPU2は、ステップS3で保存した初期分類状態Aの各クラスタについて、当該クラスタに所属する画像の枚数がgp_max以下であるか否かを判別し、gp_max以下である場合に当該クラスタが「Compactグループ」に所属することをRAM4に記憶させ、gp_maxを越えている場合に当該クラスタが「Largeグループ」に所属することをRAM4に記憶させる(ステップS4〜S7)。
【0036】
このようにして得た、初期分類状態Aの各クラスタがCompactグループ及びLargeグループのいずれに所属するかの情報に基づいて、CPU2は、初期分類状態Aにおいて個々のCompactグループ及びLargeグループを識別し、そのグループ識別結果をRAM4に記憶させる(ステップS8)。すなわち、CPU2は、初期分類状態Aにおいて、Largeグループに属するとされた個々のクラスタをそれぞれ個々のLargeグループとする。したがって、初期分類状態AにおいてLargeグループに属するとされたクラスタと、Largeグループとは1対1の関係にある。また、CPU2は、Compactグループに所属するクラスタのうち孤立する1つのクラスタを1つのCompactグループとするとともに、Compactグループに所属するクラスタのうち連続する2つ以上のクラスタを1つのCompactグループとする。図4に示す例では、所属画像の枚数が2枚(≦ gp_max)のクラスタと所属画像の枚数が3枚(≦ gp_max)のクラスタとが連続しているので、これら2つのクラスタが1つのCompactグループとされている。また、所属画像の枚数が7枚(> gp_max)の1つのクラスタが1つのLargeグループとされている。さらに、所属画像の枚数が5枚(≦ gp_max)の1つクラスタは、Compactグループに所属する他のクラスタと連続せずに、Compactグループに所属する他のクラスタから孤立しているので、1つのCompactグループとされている。
【0037】
各Compactグループ及び各Largeグループは、このように初期分類状態Aのクラスタによって決定されるが、当該1つのグループとされる初期分類状態Aの1つ又は2つ以上のクラスタに所属する画像の集合によって定義される。よって、後述するクラスタ調整処理S10により、各グループを構成する画像の集合自体は変動することはない。ただし、後述するクラスタ調整処理S10によって当該グループ内でクラスタが組み替えられることで、当該グループを構成するクラスタは変動し得る。例えば、図4に示す初期分類状態Aの例では、左側の1つのCompactグループは、5枚の画像0001.jpg〜0005.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。また、中央の1つのLargeグループは、7枚の画像0006.jpg〜0012.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。さらに、右側の1つのCompactグループは、5枚の画像0013.jpg〜0017.jpgの集合(図3も参照)として定義され、後述するクラスタ調整処理S10によって変動することはない。
【0038】
次に、CPU2は、ステップS8でRAM4に記憶されたグループ識別結果に基づいて、初期分類状態Aにおいて1つ以上のLargeグループが存在するか否かについて判定する(ステップS9)。初期分類状態Aの中に1つ以上のLargeグループが存在しない場合、初期分類状態Aはgp_maxの条件も満たしていることになる。よって、この場合は、分類成功として、初期分類状態Aを最終的な分類結果として採用し、その分類結果をハードディスク5内に記憶し(ステップS12)、一連の分類処理を終了する。
【0039】
一方、初期分類状態Aの中に1つ以上のLargeグループが存在する場合、CPU2は、クラスタ調整処理を行う(ステップS10)。図5は、クラスタ調整処理S10を示す概略フローチャートである。
【0040】
クラスタ調整処理S10では、CPU2は、まず、初期分類状態Aの各Largeグループのクラスタ(すなわち、初期分類状態Aのクラスタのうち所属画像枚数がgp_maxを越えている各クラスタ)を、所属画像枚数がgp_max以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割処理(枚数優先クラスタ分割処理)を行う(ステップS21,S22)。
【0041】
図6は、初期分類状態Aの各Largeグループのクラスタについて行われる枚数優先クラスタ分割処理S22の具体例を示す概略フローチャートである。枚数優先クラスタ分割処理S22では、CPU2は、ステップS21で順次処理対象とされるLargeグループについて、当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まっているか否かを判定する(ステップS41)。当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まっていなければ、当該Largeグループ内の枚数超過クラスタ(所属画像枚数がgp_maxを越えているクラスタ)を、2を閾値とした撮影時刻に基づく公知の階層的クラスタリングを用いて、2つのクラスタに分割し(ステップS42)、ステップS41へ戻り、当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まるまで、ステップS42,S41を繰り返す。当該Largeグループ内の全てクラスタの所属画像枚数がgp_max以下に収まると、当該Largeグループについての枚数優先クラスタ分割処理S22を終了し、他のLargeグループについても同様の枚数優先クラスタ分割処理が順次行われる。
【0042】
図7は、この枚数優先クラスタ分割処理S22の例を示している。図7では、初期分類状態Aが図4に示す通りである場合に、図4中の所属画像枚数が7枚(>gp_max)のLargeグループ内のクラスタが分割される様子を示している。図7中の上側部分は、1回目のステップS41でNoと判定された後の1回目のステップS42で、当該Largeグループ内の7枚(>gp_max)の画像0006.jpg〜0012.jpgが所属するクラスタが、1枚(≦gp_max)の画像0006.jpgが所属するクラスタと、6枚(>gp_max)の画像0007.jpg〜0012.jpgが所属するクラスタとに分割される様子を示している。図7中の下側部分は、2回目のステップS41でNoと判定された後の2回目のステップS42で、当該Largeグループ内の6枚(>gp_max)の画像0007.jpg〜0012.jpgが所属するクラスタが、2枚(≦gp_max)の画像0007.jpg,0008.jpgが所属するクラスタと、4枚(≦gp_max)の画像0009.jpg〜0012.jpgが所属するクラスタとに分割される様子を示している。この場合、3回目のステップS41でYesと判定されることになる。
【0043】
なお、前述したステップS42のクラスタ分割は、階層的クラスタリングに代えて、例えば、K-meansクラスタリング、自己組織化マップ又はその他のクラスタリングを用いて行ってもよい。
【0044】
全てのLargeグループについて枚数優先クラスタ分割処理S22が終了すると、CPU2は、その分割結果を中間分類状態BとしてRAM4に記憶させる(ステップS23)。図8は中間分類状態Bの例を示しており、図3、図4及び図7に対応している。図4に示す初期分類状態Aでは、Largeグループ内が所属画像枚数が7枚(>gp_max)の1つのクラスタであったのに対し、図8に示す中間分類状態Bでは、Largeグループ内が3つのクラスタ(所属画像枚数が1枚(≦gp_max)のクラスタと、所属画像枚数が2枚(≦gp_max)のクラスタと、所属画像枚数が4枚(≦gp_max)のクラスタ)となっている。
【0045】
その後、CPU2は、ステップS23で保存した中間分類状態Bの各クラスタが、初期分類状態Aで決定されたいずれのLargeグループ又はCompactグループに所属するかをRAM4に記憶させる(ステップS24)。
【0046】
中間分類状態Bでは、全てのクラスタの所属画像枚数がgp_max以下に収まっている。しかし、中間分類状態Bでは、総クラスタ数がnogであった初期分類状態Aからクラスタを分割しているため、総クラスタ数はnogを超過している。そこで、総クラスタ数をnogにするため、CPU2は、ステップS24の後に、中間分類状態Bに対してクラスタ組み替え処理S25を試みる。
【0047】
このクラスタ組み替え処理S25は、可能であれば、初期分類状態Aにおいて所属画像の枚数がgp_maxを越えているクラスタに所属していた画像(すなわち、Largeグループに所属する画像)は、初期分類状態Aにおいて自己が所属していなかったクラスタに所属していた画像(すなわち、他のLargeグループ又はCompactグループに所属している画像)とは同じクラスタに所属させないという条件(組み替え基本条件)下で、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、中間分類状態Bの少なくとも一部のクラスタを組み替える処理である。前記組み替え基本条件を換言すると、後述する表1に記載されているように、各Largeグループを他のグループと混ぜないという条件である。
【0048】
図9は、このクラスタ組み替え処理S25の具体例を示す概略フローチャートである。また、図9中の第1乃至第4の処理S51,S53,S55,S57の優先順位と主な特徴を、下記の表1に示す。図9及び表1に示すように、本実施の形態では、クラスタ組み替え処理S25において、クラスタを組み替える複数の処理S51,S53,S55,S57を、分類結果に与える違和感の少ないものから順に試み、総クラスタ数がnogとなった場合は、その時点の分類状態を最終的な分類結果として採用する。以下に、クラスタ組み替え処理S25について、図9及び表1等を参照して具体的に説明する。
【0049】
【表1】
【0050】
クラスタ組み替え処理S25では、CPU2は、まず、中間分類状態Bに対して第1の処理S51を行う。この第1の処理S51は、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_maxを起源とする隣接クラスタ対(すなわち、Largeグループ内の隣接クラスタ対)のうち、当該クラスタ対に所属する画像の枚数の合計がgp_max以下である隣接クラスタ対について、クラスタ間距離(この距離は時間間隔に相当する。)の最も小さい隣接クラスタ対から順に統合する処理である。この第1の処理S51は、前記組み替え基本条件下で行われる。ここで、統合は、隣接クラスタ対を1つのクラスタにまとめる(マージする、結合する)ことであり、既存のクラスタ分割を崩さない(すなわち、既存のクラスタ分割位置を変更しない)。この点は、後述する統合についても同様である。また、前記クラスタ間距離の定義としては、特に限定されるものではなく、例えば、公知の最近隣法、最遠隣法、群平均法、重心法などによる定義を採用することができる。この点は、後述するクラスタ間距離についても同様である。なお、第1の処理S51の例及び後述する第2の処理S53の例を併せて図10に示しているので、図10も参照されたい。図10に示す分類状態は、図8に示す分類状態と同じであるものとしている。
【0051】
その後、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS52)。第1の処理S51によって総クラスタ数がnogとなっていれば、ステップS52でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0052】
第1の処理S51が不能であるか又は第1の処理S51によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS52でYesとなり、ステップS53へ移行する。
【0053】
ステップS53において、CPU2は、現在の分類状態に対して第2の処理を行う。この第2の処理S53は、第1の処理S51が不能である場合及び第1の処理S51を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_max以下であったクラスタを起源とする隣接クラスタ対(すなわち、Compactグループ内の隣接クラスタ対)のうち、当該クラスタ対に所属する画像の枚数の合計がgp_max以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する処理である。この第2の処理S53は第1の処理S51に劣後して行われる。換言すれば、第1の処理S51は第2の処理S53に優先して行われる。この第2の処理S53も、前記組み替え基本条件下で行われる。なお、ここでも、図10を参照されたい。
【0054】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS54)。第2の処理S53によって総クラスタ数がnogとなっていれば、ステップS54でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0055】
第2の処理S53が不能であるか又は第2の処理S53によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS54でYesとなり、ステップS55へ移行する。
【0056】
ステップS55において、CPU2は、現在の分類状態に対して第3の処理を行う。この第3の処理S55は、第2の処理S53が不能である場合及び第2の処理S53を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるかあるいはnogに可能な限り近づくまで、初期分類状態Aにおいて所属画像の枚数がgp_maxを越えていた同じクラスタを起源とするクラスタからなるグループ(すなわち、Largeグループ)について、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数がgp_max以下となることを条件として、当該グループ内のクラスタを組み替える処理である。この第3の処理S55は第2の処理S53に劣後して行われる。換言すれば、第2の処理S53は第3の処理S55に優先して行われる。この第3の処理S55も、前記組み替え基本条件下で行われる。
【0057】
この第3の処理S55では、具体的には、例えば、各Largeグループの中から、平均クラスタ間距離の最も小さいLargeグループを選び、グループ先頭からgp_maxごとに単純詰め込みを行うことによって、クラスタ数が減少するかどうかを試みてゆく。単純詰め込みによって、総クラスタ数が減少する場合(例えばgp_maxが5枚で、4枚2枚4枚の3クラスタになっているグループなど)は単純詰め込みを行い、クラスタ数が変わらない場合(例えばgp_maxが5枚で、3枚4枚5枚の3クラスタになっているグループなど)は詰め込みを行わない。なお、第3の処理S55の例及び後述する第4の処理S57の例を併せて図11に示しているので、図11も参照されたい。図11に示す分類状態は、図8に示す分類状態と異なっているものとしている。なお、グループ先頭からgp_maxごとの詰め込みに代えて、グループ後尾からgp_maxごとの詰め込みを行ってもよい。なお、グループ先頭又はグループ後尾からのgp_maxごとの詰め込みを行うと、総数クラスタ数が1つ減る場合のみならず、総数クラスタ数が2つ以上減る場合もあり得る。総数クラスタ数が2つ以上減ることによって、総数クラスタ数がnogを下回ってしまう場合には、総数クラスタ数がnogとなるように各クラスタへの詰め込み画像枚数を調整すればよい。
【0058】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS56)。第3の処理S55によって総クラスタ数がnogとなっていれば、ステップS56でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0059】
第3の処理S55が不能であるか又は第3の処理S55によって総クラスタ数がnogに可能な限り近づいたがnogとならない場合は、ステップS56でYesとなり、ステップS57へ移行する。
【0060】
ステップS57において、CPU2は、現在の分類状態に対して第4の処理を行う。この第4の処理S57は、第3の処理S55が不能である場合及び第3の処理S55を経たが総クラスタ数がnogとならない場合に、可能であれば、総クラスタ数がnogとなるまで、初期分類状態Aにおいて所属画像の枚数がgp_max以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループ(すなわち、Compactグループ)について、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数がgp_max以下となることを条件として、当該グループ内のクラスタを組み替える処理である。この第4の処理S57は第3の処理S55に劣後して行われる。換言すれば、第3の処理S55は第4の処理S57に優先して行われる。この第4の処理S57も、前記組み替え基本条件下で行われる。
【0061】
この第4の処理S57では、具体的には、例えば、各Compactグループの中から、平均クラスタ間距離の最も小さいCompactグループを選び、グループ先頭からgp_maxごとに単純詰め込みを行うことによって、クラスタ数が減少するかどうかを試みてゆく。単純詰め込みによって、総クラスタ数が減少する場合は単純詰め込みを行い、クラスタ数が変わらない場合は詰め込みを行わない。なお、ここでも、図11も参照されたい。なお、グループ先頭からgp_maxごとの詰め込みに代えて、グループ後尾からgp_maxごとの詰め込みを行ってもよい。なお、グループ先頭又はグループ後尾からのgp_maxごとの詰め込みを行うと、総数クラスタ数が1つ減る場合のみならず、総数クラスタ数が2つ以上減る場合もあり得る。総数クラスタ数が2つ以上減ることによって、総数クラスタ数がnogを下回ってしまう場合には、総数クラスタ数がnogとなるように各クラスタへの詰め込み画像枚数を調整すればよい。
【0062】
次に、CPU2は、現在の分類状態において総クラスタ数がnogが越えているか否か(すなわち、総クラスタ数がnogでないかnogであるか)について、判定する(ステップS58)。第4の処理S57によって総クラスタ数がnogとなっていれば、ステップS58でNoとなり、CPU2は、クラスタ組み替え処理が成功したとして、その旨と現在の分類状態(クラスタ組み替え結果)をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0063】
第4の処理S55が不能であるか又は第4の処理S55によって総クラスタ数がnogとならない場合は、ステップS58でYesとなり、CPU2は、クラスタ組み替え処理が失敗したとして、その旨をRAM4に記憶し(ステップS60)、クラスタ組み替え処理S25を終了する。
【0064】
クラスタ組み替え処理S25が終了すると、図5中のステップS26へ移行する。ステップS26において、CPU2は、ステップS59,S60でRAM4に記憶された、クラスタ組み替え処理S25が成功したか否かの情報に基づいて、クラスタ組み替え処理S25が成功したか否かを判定する。
【0065】
ステップS26で成功したと判定されると、CPU2は、ステップS60でRAM4に記憶されたクラスタ組み替え結果をクラスタ調整結果として採用し、そのクラスタ調整結果をRAM4に記憶し(ステップS27)、クラスタ調整処理S10を終了する。
【0066】
図12は、ステップS54でNoの場合に得られた(すなわち、第1の処理S51及び第2の処理S52を行った時点で得られた)最終的な分類結果の例を、系統図を用いて示した図である。図12は図10に対応している。前述した図13は、図12と同じ分類処理を示している。例えば、図13において遠足の一部の画像0005.jpgのみがクラスタ2内に所属するように分類が改変されていれば、遠足の画像0004.jpgと遠足の画像0005.jpgとの間がクラスタ1,2間の分かれ目となってしまうので、違和感が大きくなる。これに対し、図13では、遠足の全ての画像0003.jpg〜0005.jpgはクラスタ1に所属しており、クラスタ1,2間の分かれ目は遠足の画像0005.jpgと運動会の画像0006.jpgとなっているので、違和感は少ない。
【0067】
ステップS26で失敗したと判定されると、CPU2は、中間結果をクリアして初期分類状態Aに戻り(ステップS28)、その後、中間分類状態Bを用いない分類処理を行う(ステップS29)。この分類処理S29は、クラスタ組み替え処理S25が不能である場合に、中間分類状態Bを用いることなく、総クラスタ数がnogとなるとともに各クラスタに所属する画像の枚数がgp_max以下となるように、指定された分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する処理である。
【0068】
本実施の形態では、分類処理S29において、初期分類状態Aにおいて、Largeグループのクラスタについて着目し、当該クラスタのgp_maxを超えている数の画像を隣接クラスタへ移動していく。移動によって、移動先のクラスタがgp_maxを超過した場合は、そのクラスタの画像を更に隣接するクラスタに移動させる。これらの移動に際して、隣接するクラスタへの移動方向を、移動元のクラスタにおいてgp_maxを超えている数の画像を吸収する余裕がある方向に設定する。このような超過枚数画像の隣接クラスタへの移動を、全てのクラスタの所属画像枚数がgp_maxとなるまで繰り返す。このような分類処理S29の例を図14に示している。
【0069】
なお、分類処理S29は、前述したような初期分類状態Aを用いた手法に限定されるものではない。例えば、分類処理S29では、nog個のクラスタに、時系列の先頭から{n/(nog)}個ずつ画像を単純に詰め込んでもよい。このとき、{n/(nog)}が整数でない場合は、各クラスタに{n/(nog)}の小数点以下を切り上げた個数又は{n/(nog)}の小数点以下を切り下げた個数の画像を詰め込めばよい。
【0070】
分類処理S29の後、CPU2は、分類処理S29の分類結果をクラスタ調整結果として採用し、そのクラスタ調整結果をRAM4に記憶し(ステップS30)、クラスタ調整処理S10を終了する。
【0071】
クラスタ調整処理S10が終了すると、CPU2は、ステップS27又はS30でRAM4に記憶されたクラスタ調整結果を最終的な分類結果として採用し、その分類結果をハードディスク5内に記憶し(ステップS11)、一連の分類処理を終了する。
【0072】
本実施の形態による画像分類装置では、図2に示す動作によって最終的な分類結果が得られた後、ユーザが、入力部6を操作して、その分類結果に応じた画像印刷を指令すると、CPU2は、分類結果の各クラスタを1枚の印刷ページとし、各クラスタに属する画像を当該印刷ページにレイアウトした印刷データを生成し、この印刷データをプリンタ制御部11を介してプリンタ13に供給する。これにより、プリンタは、印刷ページとクラスタとを1対1に対応づけて、各印刷ページに対応クラスタの画像がレイアウトして印刷される。このようにして、紙のアルバムのように「1ページにレイアウトできる写真枚数」と「利用可能なページ数」の両方に制約があるような画像印刷を、実現することができる。
【0073】
なお、図2に示す動作によって得た分類結果を最終的な分類結果の候補として、表示部7に表示してユーザに提示し、ユーザが入力部6の操作によって、その分類状態を修正できるようにし、その修正後の分類結果に応じた印刷を実現し得るようにしてもよい。なお、分類結果の表示形式は特に限定されるものではないが、例えば、表示部7の画面とクラスタとを1対1に対応づけ、各画面を入力部6の操作に応じて順次表示し、各画面に対応クラスタの画像をレイアウトして表示してもよい。
【0074】
本実施の形態によれば、先の説明からわかるように、クラスタ上限枚数及び総クラスタ数の両方の制約条件を満たした画像分類を行うことができる。
【0075】
そして、本実施の形態では、クラスタに所属する画像の枚数がgp_maxを越えることを許容した初期分類処理S2が行われ、その結果の初期分類状態Aにおいてgp_maxを越えた各クラスタ(各Largeグループ)について枚数優先クラスタ分割処理S22が行われ、可能であれば、その結果の中間分類状態Bに対して、各Largeグループを他のグループと混ぜないという条件を組み替え基本条件としたクラスタ組み替え処理S25が行われる。したがって、このクラスタ組み替え処理S25が可能な場合、各Largeグループを他のグループと混ぜないという条件が維持されるので、違和感の少ない画像分類が実現される。そして、本実施の形態では、違和感低減に重きを置かないいわば強制的な分類処理である分類処理S29は、クラスタ組み替え処理S25が不能な場合に行われ、クラスタ組み替え処理S25が分類処理S29に優先して行われるので、違和感の少ない画像分類を実現し易い。
【0076】
しかも、本実施の形態では、前述したように、図9及び表1に示すように、クラスタ組み替え処理S25において、クラスタを組み替える複数の処理S51,S53,S55,S57を、分類結果に与える違和感の少ないものから順に試み、総クラスタ数がnogとなった場合は、その時点の分類状態を最終的な分類結果として採用している。なお、表1に記載されている第1の処理S51、第2の処理S53、第3の処理S55、第4の処理S57の特徴から、その順に、分類結果に与える違和感が少なくなる。したがって、本実施の形態によれば、より違和感の少ない画像分類の実現を容易し易い。
【0077】
もっとも、本発明では、例えば、クラスタ組み替え処理S25において、ステップS57,S58を除去し、ステップS56でYesの場合はステップS59へ移行してもよい。また、クラスタ組み替え処理S25において、ステップS55〜S58を除去し、ステップS54でYesの場合はステップS59へ移行してもよい。さらに、クラスタ組み替え処理S25において、ステップS53〜S58を除去し、ステップS52でYesの場合はステップS59へ移行してもよい。
【0078】
また、本実施の形態では、前述したような処理で画像分類が実現され、あらゆる画像分類状態について所定指標で評価した上で最も評価の高い画像分類状態を最終的な分類結果として採用するような処理で画像分類を実現するものではない。したがって、後者の場合は、処理量は膨大となってしまい、膨大な処理時間を要するのに対し、本実施の形態では、処理量が少なくて済み、処理時間もさほど要しない。
【0079】
[第2の実施の形態]
図15は、本発明の第2の実施の形態によるプリンタ21のハードウエア構成を示す概略構成図である。図15において、図1中の要素と同一又は対応する要素には同一符号を付し、その重複する説明は省略する。
【0080】
本実施の形態によるプリンタ21では、プリンタ制御部11は除去され、その代わりに印刷部22が設けられている。本実施の形態では、インターフェース8には、デジタルカメラの他にパーソナルコンピュータ等が接続されるようになっている。パーソナルコンピュータからインターフェース8を介して印刷データが入力されると、その印刷データが示す印刷が、印刷部22により行われるようになっている。
【0081】
本実施の形態によるプリンタ21は、前記第1の実施の形態による画像分類装置1の各要素と対応する要素によって、前記第1の実施の形態と同様の画像分類動作を行うようになっている。これにより、プリンタ21は、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。本実施の形態によるプリンタ21では、画像分類動作によって得られた分類結果に応じた画像印刷は、印刷部22により行われる。
【0082】
本実施の形態によるプリンタ21は、家庭用のプリンタとして構成してもよいし、写真店やミニラボ等で使用する業務用のプリンタ(写真プリント機)として構成してもよい。後者の場合、ユーザが店頭に持参した画像を記録したメモリカード12を画像分類対象とするが操作は店員が行うプリント機として構成してもよいし、ユーザが店頭に持参した画像を記録したメモリカード12を画像分類対象とするとともに、操作もユーザが行ういわゆるセルフプリント機として構成してもよい。
【0083】
[第3の実施の形態]
図16は、本発明の第3の実施の形態による撮像装置としてのデジタルカメラ31のハードウエア構成を示す概略構成図である。図16において、図1中の要素と同一又は対応する要素には同一符号を付し、その重複する説明は省略する。
【0084】
本実施の形態によるデジタルカメラ31では、ハードディスク5及びプリンタ制御部11は除去され、撮影レンズ及びCCD等の固体撮像素子などからなる撮像部32、及び、撮像部32で撮像された画像に対して種々の画像処理を行う画像処理部33が、設けられている。本実施の形態では、撮像部32で撮像された画像は、メモリカード12に記憶されるようになっている。メモリカード12に記憶された画像を、画像分類の対象とし得るようになっている。また、入力部6の操作により、メモリカード12内の画像を通信部10を介してネットワークに接続されたサーバに格納したり、インターフェース8を介してパーソナルコンピュータに送ったりすることができるようになっている。
【0085】
本実施の形態によるデジタルカメラ31は、前記第1の実施の形態による画像分類装置1の各要素と対応する要素によって、前記第1の実施の形態と同様の画像分類動作を行うようになっている。これにより、デジタルカメラ31は、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。本実施の形態によるデジタルカメラ31では、画像分類動作によって得られた分類結果に応じた画像表示を表示部7に表示したり、メモリカード12に記憶された画像と共に画像分類結果もパーソナルコンピュータに送ったりすることができるようになっている。
【0086】
[第4の実施の形態]
図17は、本発明の第4の実施の形態による携帯電話機41を模式的に示す概略構成図である。
【0087】
本実施の形態による携帯電話機41は、無線通話を行う無線通話部42と、カメラ部43とを有している。カメラ部43は、前記第3の実施の形態によるデジタルカメラ31と同様に構成され、前記第1の実施の形態による画像分類装置1と同様の画像分類装置を有している。
【0088】
以上、本発明の各実施の形態について説明したが、本発明はこれらの実施の形態に限定されるものではない。
【符号の説明】
【0089】
1 画像分類装置
21 プリンタ
31 デジタルカメラ(撮像装置)
41 携帯電話機
【特許請求の範囲】
【請求項1】
総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、撮影時刻情報が関連づけられた分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する画像分類装置であって、
クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えることを許容しつつ、総クラスタ数が前記所与の総クラスタ数となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類手段と、
前記初期分類手段により分類された後の初期分類状態のクラスタのうちの少なくとも1つのクラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えている場合に、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えている各クラスタを、所属画像の枚数が前記所与のクラスタ上限枚数以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割手段と、
可能であれば、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えているクラスタに所属していた画像は、前記初期分類状態において自己が所属していなかったクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、総クラスタ数が前記所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となるように、前記分割手段により分割された後の中間分類状態の少なくとも一部のクラスタを組み替えるクラスタ組み替え手段と、
前記クラスタ組み替え手段による前記組み替えによって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段と、
を備えたことを特徴とする画像分類装置。
【請求項2】
前記クラスタ組み替え手段は、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていたクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第1の処理を行う第1の処理手段を、含み、
前記第1の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項1記載の画像分類装置。
【請求項3】
前記クラスタ組み替え手段は、前記第1の処理が不能である場合及び前記第1の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第2の処理を、前記第1の処理に劣後して行う第2の処理手段を、含み、
前記第2の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項2記載の画像分類装置。
【請求項4】
前記クラスタ組み替え手段は、前記第2の処理が不能である場合及び前記第2の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていた同じクラスタを起源とするクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第3の処理を、前記第2の処理に劣後して行う第3の処理手段を、含み、
前記第3の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項3記載の画像分類装置。
【請求項5】
前記クラスタ組み替え手段は、前記第3の処理が不能である場合及び前記第3の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第4の処理を、前記第3の処理に劣後して行う第4の処理手段を、含み、
前記第4の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項4記載の画像分類装置。
【請求項6】
前記クラスタ組み替え手段による前記組み替えが不能である場合に、前記中間分類状態を用いることなく、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する分類手段と、
前記分類手段によって分類された後の分類状態を、前記分類対象の画像の分類結果とする手段と、
を備えたことを特徴とする請求項1乃至5のいずれかに記載の画像分類装置。
【請求項7】
前記初期分類状態の各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下である場合に、前記初期分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項1乃至6のいずれかに記載の画像分類装置。
【請求項8】
前記初期分類手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分類対象の画像を分類することを特徴とする請求項1乃至7のいずれかに記載の画像分類装置。
【請求項9】
前記分割手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分割を行うことを特徴とする請求項1乃至8のいずれかに記載の画像分類装置。
【請求項10】
コンピュータを、請求項1乃至9のいずれかに記載の画像分類装置として機能させるための画像分類プログラム。
【請求項11】
請求項1乃至9のいずれかに記載の画像分類装置を備えたことを特徴とするプリンタ。
【請求項12】
請求項1乃至9のいずれかに記載の画像分類装置を備えたことを特徴とする撮像装置。
【請求項13】
請求項12記載の撮像装置を備えたことを特徴とする携帯電話機。
【請求項1】
総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、撮影時刻情報が関連づけられた分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する画像分類装置であって、
クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えることを許容しつつ、総クラスタ数が前記所与の総クラスタ数となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する初期分類手段と、
前記初期分類手段により分類された後の初期分類状態のクラスタのうちの少なくとも1つのクラスタに所属する画像の枚数が前記所与のクラスタ上限枚数を越えている場合に、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えている各クラスタを、所属画像の枚数が前記所与のクラスタ上限枚数以下でありかつ1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成される複数のクラスタに、分割する分割手段と、
可能であれば、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えているクラスタに所属していた画像は、前記初期分類状態において自己が所属していなかったクラスタに所属していた画像とは同じクラスタに所属させないという条件下で、総クラスタ数が前記所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となるように、前記分割手段により分割された後の中間分類状態の少なくとも一部のクラスタを組み替えるクラスタ組み替え手段と、
前記クラスタ組み替え手段による前記組み替えによって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段と、
を備えたことを特徴とする画像分類装置。
【請求項2】
前記クラスタ組み替え手段は、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていたクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第1の処理を行う第1の処理手段を、含み、
前記第1の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項1記載の画像分類装置。
【請求項3】
前記クラスタ組み替え手段は、前記第1の処理が不能である場合及び前記第1の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とする隣接クラスタ対のうち、当該クラスタ対に所属する画像の枚数の合計が前記所与のクラスタ上限枚数以下である隣接クラスタ対について、クラスタ間距離の最も小さい隣接クラスタ対から順に統合する第2の処理を、前記第1の処理に劣後して行う第2の処理手段を、含み、
前記第2の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項2記載の画像分類装置。
【請求項4】
前記クラスタ組み替え手段は、前記第2の処理が不能である場合及び前記第2の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるかあるいは前記所与の総クラスタ数に可能な限り近づくまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数を越えていた同じクラスタを起源とするクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第3の処理を、前記第2の処理に劣後して行う第3の処理手段を、含み、
前記第3の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項3記載の画像分類装置。
【請求項5】
前記クラスタ組み替え手段は、前記第3の処理が不能である場合及び前記第3の処理を経たが総クラスタ数が前記所与の総クラスタ数とならない場合に、可能であれば、総クラスタ数が前記所与の総クラスタ数となるまで、前記初期分類状態において所属画像の枚数が前記所与のクラスタ上限枚数以下であったクラスタを起源とするクラスタのうち、孤立する1つのクラスタ又は連続する2つ以上のクラスタからなるグループについて、平均クラスタ間距離の最も小さいグループから順に、当該グループ内のクラスタ数が減るとともに各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下となることを条件として、当該グループ内のクラスタを組み替える第4の処理を、前記第3の処理に劣後して行う第4の処理手段を、含み、
前記第4の処理によって総クラスタ数が前記所与の総クラスタ数となったときの分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項4記載の画像分類装置。
【請求項6】
前記クラスタ組み替え手段による前記組み替えが不能である場合に、前記中間分類状態を用いることなく、総クラスタ数が所与の総クラスタ数となるとともに各クラスタに所属する画像の枚数が所与のクラスタ上限枚数以下となるように、前記分類対象の画像を、1枚の画像又は撮影時刻が連続する時系列をなす2枚以上の画像から構成されるクラスタに分類する分類手段と、
前記分類手段によって分類された後の分類状態を、前記分類対象の画像の分類結果とする手段と、
を備えたことを特徴とする請求項1乃至5のいずれかに記載の画像分類装置。
【請求項7】
前記初期分類状態の各クラスタに所属する画像の枚数が前記所与のクラスタ上限枚数以下である場合に、前記初期分類状態を、前記分類対象の画像の分類結果とする手段を備えたことを特徴とする請求項1乃至6のいずれかに記載の画像分類装置。
【請求項8】
前記初期分類手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分類対象の画像を分類することを特徴とする請求項1乃至7のいずれかに記載の画像分類装置。
【請求項9】
前記分割手段は、階層的クラスタリング、K-meansクラスタリング、自己組織化マップ及びその他のクラスタリングのうちの1つを用いて、前記分割を行うことを特徴とする請求項1乃至8のいずれかに記載の画像分類装置。
【請求項10】
コンピュータを、請求項1乃至9のいずれかに記載の画像分類装置として機能させるための画像分類プログラム。
【請求項11】
請求項1乃至9のいずれかに記載の画像分類装置を備えたことを特徴とするプリンタ。
【請求項12】
請求項1乃至9のいずれかに記載の画像分類装置を備えたことを特徴とする撮像装置。
【請求項13】
請求項12記載の撮像装置を備えたことを特徴とする携帯電話機。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−48641(P2012−48641A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192442(P2010−192442)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(592217093)株式会社ニコンシステム (102)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月30日(2010.8.30)
【出願人】(592217093)株式会社ニコンシステム (102)
【Fターム(参考)】
[ Back to top ]