ところで、複数の画像を複数のカテゴリに階層化して分類する際には、階層毎に分類の意味合いを変更したい場合がある。しかしながら、上記特許文献1〜4の手法においては、あらかじめ設定されたしきい値を用いて画像を分類するのみであるため、階層毎に分類の意味合いを変更したい場合には対応することができない。
本発明は上記事情に鑑みなされたものであり、複数の画像を複数のカテゴリに階層化して分類する際に、階層毎に分類の意味合いを変更できるようにすることを目的とする。
本発明による画像分類装置は、複数の画像からなる画像群を複数のカテゴリに階層化して分類する画像分類装置において、
少なくとも前記各階層毎に、前記複数の画像の撮影日時に関する異なるパラメータに基づいて、前記複数の画像を階層化して分類する分類手段を備えたことを特徴とするものである。
なお、本発明による画像分類装置においては、前記分類手段を、前記複数の階層のうちの最上位の第1階層については、あらかじめ定められた第1のしきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行い、第2階層以降については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定された第2のしきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行う手段としてもよい。
ここで、第1のしきい値としては、6〜10時間とすることが好ましい。
「平均値に基づいて決定された(第2の)しきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行う」には、単に平均値をしきい値とする手法の他、複数の画像を撮影日時の昇順または降順に並べた場合における、隣接する画像間のすべての撮影時間差と平均値を用いたポアソン分布の確率関数から得られるしきい値とを比較し、しきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置とする手法を用いることができる。
ここで、「ポアソン分布の確率関数」とは、単位時間内に平均λ回起こる事象Aがあるときに、単位時間内に事象Aがx回起こる確率を算出するための関数であり、詳しくは後述する。
また、すべての撮影時間差と平均値との差をすべての撮影時間差の分散または標準偏差に基づいて正規化した値と、分散または標準偏差に基づくしきい値とを比較し、しきい値を超える正規化した値を得た2つの画像の間をカテゴリの区切り位置とする手法も用いることができる。
さらに、すべての撮影時間差と平均値を重みづけした重みづけ平均値とを比較し、重みづけ平均値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置とする手法も用いることができる。
また、本発明による画像分類装置においては、前記分類手段を、前記複数の階層のうちの最上位階層を含む上位の所定数の階層については、撮影年、撮影月および撮影日のうちの少なくとも撮影日に基づいて前記複数の画像を分類し、前記所定数の階層より下位の階層については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定されたしきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行う手段としてもよい。
「撮影日時情報が画像に適切に付与されているか否か」の判断は、撮影日時情報を記述したタグ情報が画像に付与されているか否かのみならず、タグ情報が画像に付与されているものの、撮影日時情報の記述がなかったり、記述があったとしてもそれが不正な値である場合には撮影日時情報が付与されていないと判断してもよい。例えば、撮影日時情報により表される撮影日時が「1900年1月1日00:00:00」のようにあり得ない撮影日時である場合には、不正な値であるとして撮影日時情報が付与されていないと判断してもよい。
また、本発明による画像分類装置においては、前記分類手段を、前記複数の階層のうちの最上位の第1階層については、前記撮影日時情報が前記画像に適切に付与されているか否かに応じて前記複数の画像を分類し、前記撮影日時情報が適切に付与された画像については、該撮影日時情報に基づいて第2階層以降の分類を行う手段としてもよい。
この場合、前記分類手段を、前記第2階層については、あらかじめ定められた第1のしきい値を超える撮影時間差を得た2つの画像の間を区切り位置として分類を行い、第3階層以降については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定された第2のしきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行う手段としてもよい。
なお、前記第1のしきい値は6〜10時間であることが好ましい。
また、この場合、前記分類手段を、前記第2階層を含む上位の所定数の階層については、撮影年、撮影月および撮影日のうちの少なくとも撮影日に基づいて前記複数の画像を分類し、前記所定数の階層より下位の階層については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定されたしきい値を超える撮影時間差を得た2つの画像の間を前記カテゴリの区切り位置として分類を行う手段としてもよい。
また、本発明による画像分類装置においては、前記複数の画像の分類結果を表示する表示手段をさらに備えるようにしてもよい。
また、本発明による画像分類装置においては、前記複数の画像の分類結果を保存する保存手段をさらに備えるようにしてもよい。
本発明による画像分類方法は、複数の画像からなる画像群を複数のカテゴリに階層化して分類する画像分類方法において、
少なくとも前記各階層毎に、前記複数の画像の撮影日時に関する異なるパラメータに基づいて、前記複数の画像を階層化して分類することを特徴とするものである。
なお、本発明による画像分類方法をコンピュータに実行させるためのプログラムとして提供してもよい。
本発明によれば、少なくとも各階層毎に、複数の画像の撮影日時に関する異なるパラメータに基づいて、複数の画像を階層化して分類するようにしたため、階層毎に分類の意味合いを変更したい場合には階層毎にパラメータを変更すればよく、これにより、階層毎に分類の意味合いを変更したい場合にも対応することができる。
とくに、複数の階層のうちの最上位の第1階層については、あらかじめ定められた第1のしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行い、第2階層以降については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定された第2のしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行うことにより、第2階層以降の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
また、複数の階層のうちの最上位階層を含む上位の所定数の階層については、撮影年、撮影月および撮影日のうちの少なくとも撮影日に基づいて複数の画像を分類し、所定数の階層より下位の階層については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定されたしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行うことにより、所定階層より下位の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
また、複数の階層のうちの最上位の第1階層については、撮影日時情報が画像に適切に付与されているか否かに応じて複数の画像を分類し、撮影日時情報が適切に付与された画像が分類については、撮影日時情報に基づいて第2階層以降の分類を行うことにより、分類の対象となる複数の画像に、撮影日時情報が適切に付与されていない画像についても、分類を行うことができる。
この場合、第2階層を含む上位の所定数の階層については、撮影年、撮影月および撮影日のうちの少なくとも撮影日に基づいて複数の画像を分類し、所定数の階層より下位の階層については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値に基づいて決定されたしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行うことにより、所定階層より下位の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
また、第2階層については、あらかじめ定められた第1のしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行い、第3階層以降については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値平均値に基づいて決定された第2のしきい値を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行うことにより、第3階層以降の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
また、分類結果を表示することにより、複数の画像がどのように分類されたかを容易に確認することができる。
また、分類結果を保存することにより、複数の画像がどのように分類されたかを後から容易に確認することができる。
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による画像分類装置の構成を示す概略ブロック図である。図1に示すように第1の実施形態による画像分類装置1は、画像データの記録制御および表示制御等の各種制御を行うとともに、装置1を構成する各部の制御を行うCPU12と、CPU12を動作させるプログラムおよび各種定数等が記録されているROMおよびCPU12が処理を実行する際の作業領域となるRAMにより構成されるシステムメモリ14と、種々の指示を装置1に対して行うためのキーボードおよびマウス等からなる入力部16と、各種表示を行う液晶モニタ等からなる表示部18とを備える。
また、画像分類装置1は、画像を表す画像データを記録したメモリカード2から画像データを読み出したり、メモリカード2に画像データを記録したりするためのカードスロット20と、画像データをJPEGに代表される手法で圧縮したり、圧縮した画像データを解凍する圧縮解凍部22と、画像データやCPU12が実行する各種プログラム等を記録するハードディスク24と、システムメモリ14、カードスロット20およびハードディスク24を制御するメモリ制御部26と、表示部18の表示を制御する表示制御部28とを備える。
また、画像分類装置1は、ハードディスク24に作成された複数のフォルダのうち、ユーザが所望する処理対象のフォルダに保存された画像を複数のカテゴリに階層化して分類する分類部30と、分類結果を表す分類情報を管理する分類情報管理部32とを備える。
以下、第1の実施形態における分類部30が行う画像の分類処理について説明する。なお、本実施形態においては処理対象のフォルダには複数の画像が保存されているものとする。図2は第1の実施形態における分類処理のフローチャートである。ユーザが入力部16から画像分類の指示を行うことにより分類部30が処理を開始し、まず、処理対象のフォルダに保存されている画像を撮影日時の昇順にソートし(ステップST1)、上位階層分類処理を行う(ステップST2)。
図3は第1の実施形態における上位階層分類処理のフローチャートである。まず分類部30は、処理対象の画像を撮影日時が最も古い画像に設定し(i=1)、画像を分類するカテゴリナンバーを1に設定し、処理対象の画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップST11)。そして、処理対象画像と撮影日時が次に古い次画像との撮影時間差がしきい値Th1よりも大きいか否かを判定する(ステップST12)。
ここで、しきい値Th1を小さくしすぎると、画像を分類したカテゴリの数が多くなりすぎて、1つのカテゴリに含まれるべき画像が別のカテゴリに分類されてしまう場合がある。例えば、子供の運動会においては、お昼休みの間は撮影を行わないために画像が取得されないことから、しきい値Th1を1時間程度とすると、運動会において取得した画像が午前と午後とで異なるカテゴリに分類されてしまうこととなる。逆に、しきい値Th1を大きくしすぎると、画像を分類したカテゴリの数が少なくなりすぎて、別のカテゴリに分類されるべき画像が1つのカテゴリに分類されてしまう場合がある。例えば、しきい値を24時間とすると、異なるイベントが連続した日に行われた場合、異なるイベントの画像が同一のカテゴリに分類されてしまうこととなる。ここで、統計的にしきい値Th1を6〜10時間とすると、多くのイベントの画像をそれぞれ異なるカテゴリに分類できることが、本出願人の調査により分かっている。したがって、第1の実施形態においては、しきい値Th1を6〜10時間の間の所定の値に設定するものとする。
ステップST12が肯定されると、新たなカテゴリナンバーを現在のカテゴリナンバーに1を加算した値に設定し(ステップST13)、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップST14)。なお、ステップST12が否定された場合はステップST14に進み、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する。
続いて、処理対象画像を上記次画像に設定し(ステップST15)、新たに設定した処理対象画像に次画像が存在するか否かを判定する(ステップST16)。ステップST16が肯定されるとステップST12に戻り、ステップST12以降の処理を繰り返す。ステップST16が否定されると、上位階層分類処理を終了する。この状態においては、処理対象のフォルダに分類されている画像は1階層にのみ分類されており、この階層を第1階層とする。
上位階層分類処理に続いて、第2階層以降の下位階層分類処理を行う(ステップST3)。図4および図5は第1の実施形態における下位階層分類処理のフローチャートである。まず、処理対象のカテゴリを第1階層のカテゴリにおいて撮影日時が最も古い画像が保存されているカテゴリ(最初のカテゴリとする)に設定し(ステップST21)、処理対象のカテゴリに保存されている画像を撮影日時の昇順にソートする(ステップST22)。そして、処理対象のカテゴリに保存されている画像がN(例えばN=5)より多いか否かを判定する(ステップST23)。
ステップST23が否定された場合には処理を終了する。ステップST23が肯定されると、撮影日時が隣接する画像間の撮影時間差の平均値である平均撮影時間差を算出する処理を行う(ステップST24)。以下、平均時間差算出処理について説明する。
図6は平均時間差算出処理のフローチャートである。まず、処理対象の画像を撮影日時が最も古い画像に設定し(i=1、ステップST41)、撮影時間差の合計値を0に設定する(ステップST42)。そして、処理対象画像と撮影日時が次に古い次画像との撮影時間差があらかじめ設定した設定値B0よりも大きいか否かを判定する(ステップST43)。ステップST43が肯定されると、新たな合計値を現在の合計値に設定値B0を加算した値に設定する(ステップST44)。ステップST43が否定されると、新たな合計値を現在の合計値に撮影時間差を加算した値に設定する(ステップST45)。
そして、処理対象画像を上記次画像に設定し(ステップST46)、新たに設定した処理対象画像に次画像が存在するか否かを判定する(ステップST47)。ステップST47が肯定されるとステップST43に戻り、ステップST43以降の処理を繰り返す。ステップST47が否定されると、合計値を処理対象のフォルダに保存されたすべての画像数から1を減算した値により除算することにより平均撮影時間差を算出し(ステップST48)、平均撮影時間差算出処理を終了する。
図4に戻り、ステップST24に続いて、ポアソン分布の確率変数からしきい値Th2を算出する(ステップST25)。以下、しきい値Th2の算出について説明する。
ここで、「ポアソン分布の確率関数」とは、単位時間内に平均λ回起こる事象Aがあるときに、単位時間内に事象Aがx回起こる確率P(x)を算出するための関数であり、下記の式(1)により表される。
式(1)より、1分間に平均λ回撮影を行う人がいるときに、t分間に同一のイベントにおいて1度も撮影を行わない確率Pを求めるための関数を求めると下記の式(2)となる。
ここで、確率P(0)をあらかじめ設定しておき、画像間の撮影時間差からλを算出すると、tは下記の式(3)により求めることができる。
本実施形態においては、求めたtの値を「ポアソン分布の確率関数から得られるしきい値」とするものである。具体的には、式(1)〜(3)における確率P(0)の値を10%程度の値に設定しておき、ステップST25において算出した平均時間差から単位時間あたりの撮影回数λを算出することによりtの値を算出することができ、算出したtの値をしきい値Th2とするものである。
続いて、算出したしきい値Th2があらかじめ定めたしきい値の最小値Tmin0よりも大きいか否かを判定する(ステップST26)。ステップST26が肯定されると、処理対象の画像を撮影日時が最も古い画像に設定し(i=1)、画像を分類するカテゴリナンバーを1に設定し、処理対象の画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップST27)。そして、処理対象画像と撮影日時が次に古い次画像との撮影時間差がしきい値Th2よりも大きいか否かを判定する(ステップST28)。ステップST28が肯定されると、新たなカテゴリナンバーを現在のカテゴリナンバーに1を加算した値に設定し(ステップST29)、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップST30)。なお、ステップST28が否定された場合はステップST30に進み、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する。
続いて、処理対象画像を上記次画像に設定し(ステップST31)、新たに設定した処理対象画像に次画像が存在するか否かを判定する(ステップST32)。ステップST32が肯定されるとステップST28に戻り、ステップST28以降の処理を繰り返す。ステップST32が否定されると、現在の処理対象のカテゴリに分類された画像に時間的に隣接する画像が分類されたカテゴリ(次カテゴリとする)が存在するか否かを判定し(ステップST33)、ステップST33が否定されると処理を終了する。ステップST33が肯定されると、処理対象を次カテゴリに設定し(ステップST34)、ステップST22に戻り、ステップST22以降の処理を繰り返す。
一方、ステップST26が否定されると、処理対象のカテゴリに保存されたすべての画像のカテゴリナンバーを1に設定し(ステップST35)、処理を終了する。この場合、処理対象のカテゴリに分類された画像は何ら分類されないこととなる。
図2に戻り、分類部30は、現在分類されている最も下位の階層のすべてのカテゴリに分類された画像数がN以下となっているか否かを判定し(ステップST4)、ステップST4が肯定されると処理を終了する。ステップST4が否定されると、ステップST3に戻り、ステップST4が肯定されるまで下位階層分類処理を行う。
なお、ここでは、現在分類されている最も下位の階層のすべてのカテゴリに分類された画像数がN以下となるまで下位階層分類処理を行っているが、あらかじめ定めた回数のみ繰り返し行うようにしてもよい。また、ステップST24において算出した平均撮影時間差があらかじめ定めた設定値未満となった場合、あるいは最大撮影時間差があらかじめ定めた設定値未満となった場合に、下位階層分類処理を終了してもよい。
分類部30は、上記のように処理対象のフォルダに保存されたすべての画像を分類した後、カテゴリに毎に新たなフォルダを作成し、各フォルダにそれぞれに分類された画像を保存する。これにより、図7に示すように処理対象のフォルダに保存された画像を階層化して分類することができる。
このように、第1の実施形態においては、第1の階層と第2階層以降の階層とで撮影日時に関する異なるパラメータに基づいて、複数の画像を階層化して分類するようにしたため、階層毎に分類の意味合いを変更したい場合には階層毎にパラメータを変更すればよく、これにより、階層毎に分類の意味合いを変更したい場合にも対応することができる。
とくに、複数の階層のうちの最上位の第1階層については、あらかじめ定められたしきい値Th1を超える撮影時間差を得た2つの画像の間をカテゴリの区切り位置として分類を行い、第2階層以降については、上位の階層に含まれる複数の画像についての隣接する画像間の撮影時間差の平均値を算出し、平均値に基づいて決定されたしきい値Th2、とくにポアソン分布の確率関数から得られるしきい値Th2に基づいて分類を行っているため、第2階層以降の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
なお、上記第1の実施形態においては、平均撮影時間差算出処理において、撮影時間差があらかじめ設定した設定値B0よりも大きいか否かを判定し、この判定が肯定された場合には、撮影時間差を設定値B0により置換して平均撮影時間差を算出しているが、この処理を行うことなく、撮影時間差のみを用いて平均撮影時間差を算出してもよい。
また、上記第1の実施形態において平均撮影時間差を算出する際に、処理対象のフォルダまたはカテゴリに分類後のフォルダに保存された撮影日時が最も新しい画像と撮影日時が最も古い画像との撮影時間差を、(画像数−1)により除算することにより算出してもよい。
また、上記第1の実施形態においては、ポアソン分布の確率関数から得られるしきいTh2を用いて下位階層分類処理を行っているが、撮影時間差の標準偏差σを算出し、処理対象画像と撮影日時が次に古い次画像との撮影時間差の絶対値を標準偏差により正規化した値(|xj−xm|/σ)が、標準偏差に基づいて定めたしきい値Th3より大きいか否かを判定することにより、カテゴリの区切り位置を決定するように下位階層分類処理を行ってもよい。ここで、しきい値Th3の値としては、σまたは2σ等の値を用いればよい。なお、標準偏差は下記の式(4)により算出する。なお、式(4)においてσが標準偏差、nは処理対象のフォルダに保存された画像数−1、xmは平均撮影時間差、xjは撮影時間差である。
これにより、分類を行うためのしきい値との比較が、統計的に正規化された状態で行われることとなるため、一定のしきい値ではなく、撮影時間差の正規分布に応じて適応的に変更されたしきい値により画像を分類することとなる。したがって、分類の対象となる複数の画像の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
また、処理対象画像と撮影日時が次に古い次画像との撮影時間差が、重み係数α(αは経験的に定めた値)により重みづけした平均撮影時間差からなるしきい値Th4(=α×Ts0)よりも大きいか否かを判定することにより、カテゴリの区切り位置を決定するように下位階層分類処理を行ってもよい。
次いで、本発明の第2の実施形態について説明する。なお、第2の実施形態においては、分類部30が行う上位階層分類処理が第1の実施形態と異なるのみであり、装置の構成については第1の実施形態と同一であるため、ここでは詳細な説明は省略する。
図8は第2の実施形態における上位階層分類処理のフローチャートである。まず分類部30は、処理対象のフォルダに分類されているすべての画像の撮影日が同一であるか否かを判定する(ステップST51)。ステップST51が否定されると、処理対象の画像を撮影日時が最も古い画像に設定し(i=1)、画像を分類するカテゴリナンバーを1に設定し、処理対象の画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップS52)。そして、処理対象画像および撮影日時が次に古い次画像の撮影日が同一であるか否かを判定する(ステップST53)。
ステップST53が否定されると、新たなカテゴリナンバーを現在のカテゴリナンバーに1を加算した値に設定し(ステップST54)、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する(ステップST55)。なお、ステップST53が肯定された場合はステップST55に進み、次画像のカテゴリナンバーを現在のカテゴリナンバーに設定する。
続いて、処理対象画像を上記次画像に設定し(ステップST56)、新たに設定した処理対象画像に次画像が存在するか否かを判定する(ステップST57)。ステップST57が肯定されるとステップST53に戻り、ステップST53以降の処理を繰り返す。ステップST57が否定されると、上位階層分類処理を終了する。
一方、ステップST51が肯定されると、処理対象のフォルダに保存されたすべての画像のカテゴリナンバーを1に設定し(ステップST58)、処理を終了する。この場合、処理対象のフォルダに保存された画像は何ら分類されないこととなる。
この状態においては、処理対象のフォルダに分類されている画像は撮影日単位で1階層にのみ分類されており、この階層を第1階層とする。
第2の実施形態においては、撮影日毎に分類された画像について上記第1の実施形態と同様に下位階層分類処理を行って、さらに画像を階層化して分類する。
このように第2の実施形態においては、撮影日毎に複数の画像を分類し、第2階層以降については、上記第1の実施形態と同様に撮影時間差の平均値に基づいて決定されたしきい値に基づいて分類を行うようにしたため、第2階層以降の階層については、画像を分類するためのしきい値が一定のしきい値ではなく、分類の対象となる複数の画像に含まれる画像の実際の撮影時間差に応じて適応的に変更されたしきい値となる。したがって、複数の画像の実際の撮影時間差に応じて、複数の画像を複数のカテゴリに精度良く分類することができる。
なお、上記第2の実施形態においては、上位階層分類処理において、処理対象のフォルダに分類された画像を撮影日毎に分類しているが、まず処理対象のフォルダに分類された画像を撮影年毎に分類し、撮影年毎に分類した画像をさらに撮影月毎に分類し、さらに撮影月毎に分類した画像を撮影日毎に分類するようにしてもよい。この場合、上記階層分類処理により第1から第3階層まで分類処理がなされることとなるため、下位階層分類処理は第4階層以降の階層に画像を分類する処理となる。また、上位階層分類処理において、処理対象のフォルダに分類された画像を撮影月毎に分類し、撮影月毎に分類した画像を撮影日毎に分類するようにしてもよい。この場合、上記階層分類処理により第1から第2階層まで分類処理がなされることとなるため、下位階層分類処理は第3階層以降の階層に画像を分類する処理となる。
次いで、本発明の第3の実施形態について説明する。なお、第3の実施形態においては、分類部30が行う処理が第1の実施形態と異なるのみであり、装置の構成については第1の実施形態と同一であるため、ここでは詳細な説明は省略する。
以下、第3の実施形態における分類部30が行う画像の分類処理について説明する。なお、本実施形態においては処理対象のフォルダには複数の画像が保存されているものとする。図9は第3の実施形態における分類処理のフローチャートである。ユーザが入力部16から画像分類の指示を行うことにより分類部30が処理を開始し、まず、処理対象のフォルダに保存されている画像を撮影日時の昇順にソートし(ステップST61)、最上位階層分類処理を行う(ステップST62)。
図10は第3の実施形態における最上位階層分類処理のフローチャートである。まず分類部30は、処理対象の画像を撮影日時が最も古い画像に設定し(i=1、ステップST71)、処理対象画像に撮影日時情報が適切に付与されているか否かを判定する(ステップST72)。ここで、ステップST72の処理は、撮影日時情報が画像に付与されているか、すなわち撮影日時情報を記述したタグ情報が画像に付与されているか否かを判定することにより行えばよい。
一方、タグ情報が付与されているものの、撮影日時情報の記述がない場合がある。また記述があるものの記述が不正なものであると、撮影日時情報により表される撮影日時が「1900年1月1日00:00:00」のようにあり得ない撮影日時となる場合がある。したがって、ステップST72の処理においては、このような不正な撮影日時が付与されている場合にも、処理対象画像に撮影日時情報が適切に付与されていないと判定するものとする。
ステップST72が肯定されると、処理対象画像のカテゴリナンバーを1に設定し(ステップST73)、ステップST72が否定されると、処理対象画像のカテゴリナンバーを2に設定する(ステップST74)。
次いで、処理対象画像に次画像が存在するか否かを判定し(ステップST75)、ステップST75が肯定されると、処理対象画像を次画像に設定し(ステップST76)、ステップST72に戻り、ステップST72以降の処理を繰り返す。ステップST75が否定されると、最上位階層分類処理を終了する。この状態においては、処理対象のフォルダに分類されている画像は、1階層にのみ分類されており、この階層を第1階層とする。また、第1階層においては、撮影日時情報が適切に付与されている画像が分類された第1カテゴリ(カテゴリナンバー=1)、および撮影日時情報が適切に付与されていない画像が分類された第2カテゴリ(カテゴリナンバー=2)の2つのカテゴリに分類されている。
図9に戻り、最上位階層分類処理に続いて、第1カテゴリに対する上位階層分類処理を行う(ステップST63)。この上位階層分類処理は、上記第1および第2の実施形態における上位階層分類処理のいずれかの処理を行えばよいため、ここでは詳細な説明は省略する。
さらに、上位階層分類処理に続いて、第1カテゴリに対する下位階層分類処理を行う(ステップST64)。この下位階層分類処理は、上記第1および第2の実施形態における下位階層分類処理のいずれかの処理を行えばよいため、ここでは詳細な説明は省略する。
そして、分類部30は、現在分類されている最も下位の階層のすべてのカテゴリに保存されている画像数がN以下となっているか否かを判定し(ステップST65)、ステップST65が肯定されると処理を終了する。ステップST65が否定されると、ステップST64に戻り、ステップST65が肯定されるまで下位階層分類処理を行う。
ここで、第2カテゴリについては、分類を全く行わなくてもよいが、第1カテゴリの階層数に合わせて、第2カテゴリにサブカテゴリとなる階層を形成してもよい。例えば、第1カテゴリの最下位層が第3階層である場合には、第2カテゴリを第3階層まで階層化し、第3階層のカテゴリにすべての画像を分類すればよい。
なお、ここでは、現在分類されている最も下位の階層のすべてのカテゴリに保存されている画像数がN以下となるまで下位階層分類処理を行っているが、第1および第2の実施形態と同様に、あらかじめ定めた回数のみ繰り返し行うようにしてもよい。また、ステップST24において算出した平均撮影時間差があらかじめ定めた設定値未満となった場合、あるいは最大撮影時間差があらかじめ定めた設定値未満となった場合に、下位階層分類処理を終了してもよい。このように、分類処理を繰り返し行うことにより、図11に示すように処理対象のフォルダに保存された画像を階層化して分類することができる。なお、図11においては、第2カテゴリについて第1階層の階層数に合わせてフォルダを生成した状態を示しており、第3階層のフォルダにすべての画像が保存されることとなる。
このように、第3の実施形態においては、最上位の第1階層について、撮影日時情報が画像に適切に付与されているか否かに応じて複数の画像を分類し、撮影日時情報が適切に付与された画像については、撮影日時情報に基づいて第2階層以降の分類を行うこようにしたため、分類の対象となる複数の画像に、撮影日時情報が適切に付与されていない画像についても、分類を行うことができる。
なお、上記第3の実施形態においては、最上位階層分類処理以降は、第1および第2の実施形態と同様の上位階層分類処理および下位階層分類処理を行っているが、第1カテゴリに分類された画像に対して、上記特許文献1〜特許文献4に記載された手法と同様の手法により、階層化して分類を行うようにしてもよい。また、これに限定されるものではなく、撮影日情報を用いた任意の手法により分類を行うようにしてもよい。
また、上記第3の実施形態においては、処理対象のフォルダに保存されている画像を撮影日時の昇順にソートした後に最上位階層分類処理を行っているが、先に最上位階層分類処理を行い、その後にソートを行うようにしてもよい。
また、上記第1から第3の実施形態においては、分類結果を表す分類情報を分類情報管理部32に保存しておいてもよい。また、ハードディスク24に保存しておいてもよい。これにより、処理対象のフォルダについての分類結果を後で参照することができる。
また、分類結果を表示部18に表示するようにしてもよい。これにより、ユーザは分類結果を容易に確認することができる。
以上、本発明の第1から第3の実施形態に係る装置について説明したが、コンピュータを、上記の分類部30に対応する手段として機能させ、図2〜6,8〜10に示すような処理を行わせるプログラムも、本発明の実施形態の1つである。また、そのようなプログラムを記録したコンピュータ読取り可能な記録媒体も、本発明の実施形態の1つである。また、このようなプログラムを、画像を閲覧するためのビューアソフトに組み込むようにしてもよい。
図12は、分類部30が行う処理を実行するためのプログラムを組み込んだビューアソフトの表示画面の例を示す図である。図12に示すようにこの画面50には、フォルダのツリー構造を表示するフォルダ表示エリア50Aと、ユーザが指定したフォルダに保存された画像のサムネイル画像の一覧を表示するサムネイル画像表示エリア50Bと、各種処理を行わせるためのボタンを表示するボタン表示エリア50Cとが含まれている。
フォルダ表示エリア50Aには、01,02,03の3つのフォルダが表示されている。なお、各フォルダには複数の画像が保存されているものとする。また、ボタン表示エリア50Cには、画像を拡大するための拡大ボタン、プリントを行うためのプリントボタンに加えて、分類処理を実行させるための分類ボタン50Dが含まれている。
そして、ユーザがフォルダ表示エリア50Aにおいて処理対象のフォルダを指定した後に、分類ボタン50Dをクリックすることにより、ビューアソフトが分類処理を実行する。例えば、01フォルダを指定後に分類ボタン50Dをクリックすると、01フォルダに保存された画像が分類されることとなる。これにより、01フォルダに保存された画像が階層化されて分類され、図13に示すように、フォルダ表示エリア50Aには、階層化されたフォルダが表示されることとなる。
なお、分類の結果を表す分類情報は、パソコンのハードディスクに保存しておけばよい。
また、フォルダ表示エリア50Aにおいては01フォルダの階層構造が展開されており、下位階層のフォルダには撮影日時が付与されている。この撮影日時は対応するフォルダに分類されている画像のうち、撮影日時が最も古い画像の撮影日時である。
また、フォルダ表示エリア50Aにおいて所望とするフォルダを選択することにより、選択したフォルダに分類された画像のサムネイル画像の一覧をサムネイル画像表示エリア50Bに表示することができる。なお、図13においては、20050503 11:07:53の撮影日時が付与されているフォルダが選択された状態を、フォルダに斜線を付与することにより示している。
ユーザはサムネイル画像の一覧を見て、所望とする画像を他のフォルダに移動させることにより、分類の態様を変更することができる。なお、分類の態様の変更は分類情報に反映されて、パソコンのハードディスクに保存されることとなる。