(57)【特許請求の範囲】
【請求項１】
人物を撮影した複数の撮影画像の中から、ユーザによって指定された髪型の前記撮影画像を検索するためのプログラムであって、
前記撮影画像から前記人物の頭部領域を抽出する頭部領域抽出部と、
前記頭部領域から前記人物の顔の向きを推定する向き推定部と、
前記頭部領域における髪領域とその他の領域とを区別するマスク画像を生成するマスク画像生成部と、
前記マスク画像から、前記顔の向きの推定結果を用いて前記人物の髪型を識別する髪型識別部と、
髪型を指定するユーザの操作を受け付ける操作受付部と、
前記操作で指定された髪型と、識別された髪型とに基づいて、前記撮影画像を抽出する撮影画像抽出部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記コンピュータの記憶部は、
予め用意された前記撮影画像から生成された前記マスク画像であって、前記顔の向きごと且つ前記ユーザが指定可能な髪型ごとに用意された代表マスク画像を記憶し、
前記髪型識別部は、
前記マスク画像と前記顔の向きが共通する前記代表マスク画像との類似度を算出し、
前記撮影画像抽出部は、
前記操作で指定された髪型の前記代表マスク画像との類似度が高い前記マスク画像に対応する前記撮影画像を抽出することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記操作受付部は、
ユーザの端末から送信された画像、又はユーザによって描画された画像を受け付け、当該画像から識別された人物の髪型を前記操作で指定された髪型とすることを特徴とするプログラム。
【請求項４】
請求項１又は２において、
前記操作受付部は、
前記操作として、基準となる髪型の長さ及び／又は量を調整する操作を受け付け、調整後の髪型を前記操作で指定された髪型とすることを特徴とするプログラム。
【請求項５】
請求項１又は２において、
前記髪型識別部は、
前記撮影画像から前記人物の髪色を識別し、
前記操作受付部は、
髪型及び髪色を指定するユーザの操作を受け付け、
前記撮影画像抽出部は、
前記操作で指定された髪型及び髪色と、識別された髪型及び髪色とに基づいて、前記撮影画像を抽出することを特徴とするプログラム。
【請求項６】
人物を撮影した複数の撮影画像の中から、ユーザによって指定された髪型の前記撮影画像を検索する検索システムであって、
前記撮影画像から前記人物の頭部領域を抽出する頭部領域抽出部と、
前記頭部領域から前記人物の顔の向きを推定する向き推定部と、
前記頭部領域における髪領域とその他の領域とを区別するマスク画像を生成するマスク画像生成部と、
前記マスク画像から、前記顔の向きの推定結果を用いて前記人物の髪型を識別する髪型識別部と、
髪型を指定するユーザの操作を受け付ける操作受付部と、
前記操作で指定された髪型と、識別された髪型とに基づいて、前記撮影画像を抽出する撮影画像抽出部とを含むことを特徴とする検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び検索システムに関する。
【背景技術】
【０００２】
従来、ユーザ（投稿ユーザ）によって撮影されアップロードされた撮影画像（人物を撮影した画像）をサーバに蓄積し、撮影画像を閲覧するユーザ（閲覧ユーザ）によって指定された髪型に合致する撮影画像を検索して提示するサービスが知られている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】著者不明、“ファッションコーディネート一覧−ＷＥＡＲ”、［online］、掲載日不明、［令和２年３月９日検索］、インターネット（URL: https://wear.jp/coordinate/）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のサービスでは、投稿ユーザによって入力された髪型を当該撮影画像に関連付けて登録し、この登録情報に基づいて、閲覧ユーザによって指定された髪型に合致する撮影画像を検索していたため、登録情報が正確でない（投稿ユーザによって入力された髪型と、当該投稿ユーザによってアップロードされた撮影画像における人物の髪型とが異なる）場合、閲覧ユーザが所望する検索結果を得られないことがあった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ユーザによって指定された髪型の撮影画像を精度良く検索することが可能なプログラム及び検索システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、人物を撮影した複数の撮影画像の中から、ユーザによって指定された髪型の前記撮影画像を検索するためのプログラムであって、前記撮影画像から前記人物の頭部領域を抽出する頭部領域抽出部と、前記頭部領域から前記人物の顔の向きを推定する向き推定部と、前記頭部領域における髪領域とその他の領域とを区別するマスク画像を生成するマスク画像生成部と、前記マスク画像から、前記顔の向きの推定結果を用いて前記人物の髪型を識別する髪型識別部と、髪型を指定するユーザの操作を受け付ける操作受付部と、前記操作で指定された髪型と、識別された髪型とに基づいて、前記撮影画像を抽出する撮影画像抽出部としてコンピュータを機能させることを特徴とするプログラムに関する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記プログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含む検索システムに関する。
【０００７】
本発明によれば、撮影画像の頭部領域における髪領域とその他の領域とを区別するマスク画像から、顔の向きの推定結果を用いて人物の髪型を識別することで、撮影画像における人物の顔の向きの影響を受け難くして、ユーザによって指定された髪型の撮影画像を精度良く検索することができる。
【０００８】
（２）また本発明に係るプログラム、情報記憶媒体及び検索システムでは、前記コンピュータの記憶部は、予め用意された前記撮影画像から生成された前記マスク画像であって
、前記顔の向きごと且つ前記ユーザが指定可能な髪型ごとに用意された代表マスク画像を記憶し、前記髪型識別部は、前記マスク画像と前記顔の向きが共通する前記代表マスク画像との類似度を算出し、前記撮影画像抽出部は、前記操作で指定された髪型の前記代表マスク画像との類似度が高い前記マスク画像に対応する前記撮影画像を抽出してもよい。
【０００９】
本発明によれば、顔の向きごと且つ指定可能な髪型ごとに代表マスク画像を用意しておき、撮影画像から生成したマスク画像と顔の向きが共通する代表マスク画像との類似度を算出し、指定された髪型の代表マスク画像との類似度が高いマスク画像に対応する撮影画像を抽出することで、撮影画像における人物の顔の向きの影響を受け難くして、ユーザによって指定された髪型の撮影画像を精度良く検索することができる。
【００１０】
（３）また本発明に係るプログラム、情報記憶媒体及び検索システムでは、前記操作受付部は、ユーザの端末から送信された撮影画像、又はユーザによって描画された画像を受け付け、当該画像から識別された人物の髪型を前記操作で指定された髪型としてもよい。
【００１１】
本発明によれば、ユーザは、所望の髪型の撮影画像をアップロードしたり所望の髪型を描画したりすることで髪型を指定することができ、ユーザの利便性を向上することができる。
【００１２】
（４）また本発明に係るプログラム、情報記憶媒体及び検索システムでは、前記操作受付部は、前記操作として、基準となる髪型の長さ及び／又は量を調整する操作を受け付け、調整後の髪型を前記操作で指定された髪型としてもよい。
【００１３】
本発明によれば、ユーザは、基準となる髪型の長さや量を任意に調整して髪型を指定することができ、ユーザの利便性を向上することができる。
【００１４】
（５）また本発明に係るプログラム、情報記憶媒体及び検索システムでは、前記髪型識別部は、前記撮影画像から前記人物の髪色を識別し、前記操作受付部は、髪型及び髪色を指定するユーザの操作を受け付け、前記撮影画像抽出部は、前記操作で指定された髪型及び髪色と、識別された髪型及び髪色とに基づいて、前記撮影画像を抽出してもよい。
【００１５】
本発明によれば、ユーザは髪型だけでなく髪色を指定することができ、ユーザの利便性を向上することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の検索システムを示す図。
【図２】サーバの機能ブロック図の一例を示す図。
【図３】代表マスク画像を作成する手順の流れを示すフローチャート。
【図４】撮影画像の頭部領域から生成したマスク画像の例を示す図。
【図５】顔の向きのクラスタリングについて説明するための図。
【図６】ヘアスタイルマップの例を示す図。
【図７】代表マスク画像の選定の例を示す図。
【図８】投稿画像から髪型を識別する処理の流れを示すフローチャート。
【図９】投稿画像の情報を格納するテーブルの一例を示す図。
【図１０】投稿画像を検索する処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必要構成要件であるとは限らない。
【００１８】
１．構成
図１は、本実施形態の検索システムを示す図である。検索システム１は、複数の端末１０とサーバ２０とを含む。端末１０は、携帯端末（スマートフォン、タブレット型端末）やパーソナルコンピュータ（ＰＣ）などの情報処理装置であり、ネットワーク（インターネット等）を介してサーバ２０に接続可能な装置である。サーバ２０は、ユーザによって撮影された撮影画像（人物を撮影した画像）を蓄積し、蓄積した複数の撮影画像の中から、ユーザによって指定された髪型の撮影画像を検索して当該ユーザに提示する。ユーザは、端末１０で実行されるＷｅｂブラウザや専用アプリを用いてサーバ２０にアクセスすることで、撮影画像をサーバ２０にアップロードしたり、サーバ２０に蓄積された撮影画像を閲覧したりすることができる。以下、撮影画像をアップロードするユーザを投稿ユーザと呼び、撮影画像を閲覧するユーザを閲覧ユーザと呼ぶ。
【００１９】
図２に、サーバ２０の機能ブロック図の一例を示す。なお本実施形態のサーバは図２の構成要素（各部）の一部を省略した構成としてもよい。サーバ２０は、処理部２００と、記憶部２１０と、通信部２２０とを含む。
【００２０】
記憶部２１０は、処理部２００の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部２００のワーク領域として機能し、その機能はハードディスク、ＲＡＭなどにより実現できる。記憶部２１０は、投稿ユーザの端末１０から受信した（アップロードされた）撮影画像を記憶する。
【００２１】
通信部２２０は端末１０との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２２】
処理部２００（プロセッサ）は、端末１０から送信され通信部２２０を介して受信したデータ、プログラムなどに基づいて、ユーザ情報の管理、ログイン／ログアウトに関する処理、画像処理、画像検索処理、通信制御処理などの各種処理を行う。処理部２００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。処理部２００は、頭部領域抽出部２０１、向き推定部２０２、マスク画像生成部２０３、髪型識別部２０４、操作受付部２０５、撮影画像抽出部２０６を含む。
【００２３】
頭部領域抽出部２０１は、記憶部２１０に記憶された撮影画像（投稿ユーザがアップロードした撮影画像）から人物の頭部領域を抽出する。
【００２４】
向き推定部２０２は、撮影画像から抽出された頭部領域から人物の顔の向きを推定する。推定結果に関する情報は、撮影画像に対応付けて記憶部２１０に記憶される。
【００２５】
マスク画像生成部２０３は、撮影画像から抽出された頭部領域における髪領域とその他の領域とを区別するマスク画像を生成する。
【００２６】
髪型識別部２０４は、撮影画像から生成されたマスク画像から、顔の向きの推定結果を用いて人物の髪型を識別する。識別結果に関する情報は、撮影画像に対応付けて記憶部２１０に記憶される。
【００２７】
操作受付部２０５は、閲覧ユーザの端末１０から、髪型を指定する操作（例えば、髪型を示すアイコンやテキストを選択する操作）の操作情報を受信して、当該操作を受け付ける。
【００２８】
撮影画像抽出部２０６は、操作受付部２０５で受け付けた操作で指定された髪型と、髪型識別部２０４で識別された髪型とに基づいて、記憶部２１０に記憶された複数の撮影画像の中から撮影画像を抽出（検索）する。処理部２００は、髪型を指定する操作を行った閲覧ユーザの端末１０の表示部に、撮影画像抽出部２０６で抽出された撮影画像を表示させる制御を行う。
【００２９】
また、記憶部２１０に、予め用意された撮影画像から生成されたマスク画像であって、顔の向きごと且つユーザが指定可能な髪型ごとに用意された代表マスク画像を記憶する場合、髪型識別部２０４は、記憶部２１０に記憶された撮影画像から生成されたマスク画像と、当該マスク画像と顔の向きが共通する代表マスク画像との類似度を算出し（マスク画像から顔の向きの推定結果を用いて人物の髪型を識別し）、撮影画像抽出部２０６は、操作受付部２０５で受け付けた操作で指定された髪型の代表マスク画像との類似度が高いマスク画像に対応する撮影画像を抽出してもよい。
【００３０】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。本実施形態の検索システムでは、予め用意された撮影画像（人物を撮影した画像）から生成されたマスク画像（人物の頭部領域における髪領域とその他の領域とを区別する画像）であって、顔の向きごと且つ閲覧ユーザが指定可能な髪型ごとに用意された代表マスク画像を記憶部２１０に記憶しておく。そして、投稿ユーザによってアップロードされた撮影画像（投稿画像）から生成したマスク画像と顔の向きが共通する代表マスク画像との類似度を算出し、この類似度を用いて、閲覧ユーザによって指定された髪型に対応する投稿画像を検索する。以下、まず、代表マスク画像を作成する手法について説明する。
【００３１】
図３は、代表マスク画像を作成する手順の流れを示すフローチャートである。これに先立って、予め、様々な顔の向きで様々な髪型の人物を撮影した多数の撮影画像を用意しておく。
【００３２】
まず、処理部２００は、変数ｎに１をセットする（ステップＳ１０）。次に、頭部領域抽出部２０１は、予め用意されたｎ番目の撮影画像における人物の頭部領域（顔と頭髪を含む領域）を画像認識により認識し、認識結果に基づいて当該撮影画像から頭部領域を抽出する（ステップＳ１１）。
【００３３】
次に、向き推定部２０２は、抽出された頭部領域から人物の顔の向きを推定する（ステップＳ１２）。例えば、頭部領域における顔の部位（目、鼻、口などの特徴点）を画像認識により認識し、認識した部位間の位置関係等に基づいて顔の向きを推定する。ここでは、推定した顔の向きとして、ピッチ（顔の上下の向き）、ロール（顔の傾き）、ヨー（顔の左右の向き）のうち、ヨーの値のみを用いる。
【００３４】
次に、マスク画像生成部２０３は、抽出された頭部領域における髪領域を画像認識により認識し、認識結果に基づいて髪領域とその他の領域とを区別するマスク画像を生成する（ステップＳ１３）。図４に、撮影画像の頭部領域から生成したマスク画像の例を示す。図４に示すマスク画像ＭＩは、頭部領域のうち、髪領域の輝度（ピクセル値）を最大値とし、その他の領域の輝度を最小値とした画像（２値画像、或いはグレースケール画像）である。
【００３５】
次に、処理部２００は、変数ｎがＮ（Ｎは、予め用意された撮影画像の数）に達したか否かを判断し（ステップＳ１４）、変数ｎがＮに達していない場合（ステップＳ１４のＮ）には、変数ｎに１を加算して（ステップＳ１５）、ステップＳ１１に移行する。
【００３６】
変数ｎがＮに達した場合（ステップＳ１４のＹ）には、処理部２００は、顔の向きの推定結果（ヨーの値）に基づいて、Ｎ個のマスク画像をクラスタリングする（ステップＳ１６）。ここでは、Ｎ個のマスク画像を７個のクラスタ「０」〜「６」にクラスタリングする。図５に示すように、推定した顔（頭部ＨＤ）の向きが一番右向きであるクラスタを「０」、正面向きであるクラスタを「３」、一番左向きであるクラスタを「６」とする。
【００３７】
次に、処理部２００は、クラスタごとに、マスク画像（髪領域のピクセル情報）の自己組織化マップ（ＳＯＭ：Self-Organizing Map）を生成する（ステップＳ１７）。すなわち。クラスタごとに、マスク画像を入力ベクトルとして自己組織化マップを学習させていく。これにより、クラスタごとに、マスク画像の類似度がマップ上の距離で表現される。図６は、生成した自己組織化マップを逆写像して得られるマップ（ヘアスタイルマップ）の例を示す図である。ヘアスタイルマップＨＭ０は、クラスタ「０」のマスク画像の自己組織化マップから得られたヘアスタイルマップであり、顔の向きが右向きのマスク画像が髪型の連続的な類似の関係性を保ちながら格子状に（ここでは、１０行１０列に）配列されている。同様に、ヘアスタイルマップＨＭ３は、クラスタ「３」の（顔の向きが正面向きの）マスク画像の自己組織化マップから得られたヘアスタイルマップであり、ヘアスタイルマップＨＭ６は、クラスタ「６」の（顔の向きが左向きの）マスク画像の自己組織化マップから得られたヘアスタイルマップである。
【００３８】
次に、各クラスタのヘアスタイルマップから、閲覧ユーザが指定可能な髪型に相当するマスク画像である代表マスク画像を選定する（ステップＳ１８）。ここでは、閲覧ユーザが、「ロングヘアー」（以下、「髪型Ａ」と呼ぶ）、「ミディアムヘアー」（以下、「髪型Ｂ」と呼ぶ）、「ボブ」（以下、「髪型Ｃ」と呼ぶ）、「ショートヘアー」（以下、「髪型Ｄ」と呼ぶ）、「ベリーショートヘアー」（以下、「髪型Ｅ」と呼ぶ）、「アップ」（以下、「髪型Ｆ」と呼ぶ）の６種類の髪型を指定できるものとする。図７に示す例では、クラスタ「０」のヘアスタイルマップＨＭ０から、「髪型Ａ」に相当する代表マスク画像ＲＭ０Ａと、「髪型Ｂ」に相当する代表マスク画像ＲＭ０Ｂと、「髪型Ｃ」に相当する代表マスク画像ＲＭ０Ｃと、「髪型Ｄ」に相当する代表マスク画像ＲＭ０Ｄと、「髪型Ｅ」に相当する代表マスク画像ＲＭ０Ｅと、「髪型Ｆ」に相当する代表マスク画像ＲＭ０Ｆが選定されている。同様に、クラスタ「３」のヘアスタイルマップＨＭ３から、「髪型Ａ」〜「髪型Ｆ」に相当する代表マスク画像ＲＭ３Ａ〜ＲＭ３Ｆが選定され、クラスタ「６」のヘアスタイルマップＨＭ６から、「髪型Ａ」〜「髪型Ｆ」に相当する代表マスク画像ＲＭ６Ａ〜ＲＭ６Ｆが選定されている。他のクラスタについても同様に選定し、顔の向き（７個のクラスタ）ごと、且つ閲覧ユーザが指定可能な髪型（６種類の髪型）ごとの代表マスク画像が選定される。なお、同じ髪型に相当する代表マスク画像は、各ヘアスタイルマップにおいて同じ位置に配置される。例えば、「髪型Ａ」に相当する代表マスク画像は、各ヘアスタイルマップにおいて２行９列目に位置し、「髪型Ｂ」に相当する代表マスク画像は、各ヘアスタイルマップにおいて３行７列目に位置している。すなわち、いずれかのクラスタのヘアスタイルマップから各髪型の代表マスク画像を選定すれば、他のクラスタのヘアスタイルマップから自動で各髪型の代表マスク画像を選定することができる。
【００３９】
次に、投稿画像から髪型を識別する手法について説明する。図８は、投稿画像から髪型を識別する処理の流れを示すフローチャートである。図８のステップＳ２１、Ｓ２３、Ｓ２５は、図３のステップＳ１１〜Ｓ１３と同様の処理である。
【００４０】
まず、処理部２００は、ユーザ（投稿ユーザ）の端末１０から、投稿画像を受信した（投稿画像がアップロードされた）か否かを判断する（ステップＳ２０）。投稿画像を受信した場合（ステップＳ２０のＹ）には、頭部領域抽出部２０１は、当該投稿画像における人物の頭部領域を画像認識により認識し、認識結果に基づいて当該投稿画像から頭部領域
を抽出する（ステップＳ２１）。
【００４１】
頭部領域の認識及び抽出に成功した場合（ステップＳ２２のＹ）には、向き推定部２０２は、抽出された頭部領域における顔の部位を画像認識により認識し、認識した部位間の位置関係等に基づいて人物の顔の向き（ヨー）を推定し、推定した顔の向きが属するクラスタ（「０」〜「６」のいずれか）を決定する（ステップＳ２３）。
【００４２】
顔の部位の認識及び顔の向きの推定に成功した場合（ステップＳ２４のＹ）には、マスク画像生成部２０３は、抽出された頭部領域における髪領域を画像認識により認識し、認識結果に基づいて当該頭部領域から髪領域とその他の領域とを区別するマスク画像を生成する（ステップＳ２５）。
【００４３】
髪領域の認識及びマスク画像の生成に成功した場合（ステップＳ２６のＹ）には、髪型識別部２０４は、当該マスク画像と、当該マスク画像と顔の向き（クラスタ）が共通する代表マスク画像との類似度（距離）を、距離関数等を用いて算出する（ステップＳ２７）。例えば、マスク画像の顔の向きのクラスタが「０」である場合、当該マスク画像と、クラスタ「０」の「髪型Ａ」〜「髪型Ｆ」に相当する代表マスク画像ＲＭ０Ａ〜ＲＭ０Ｆそれぞれとの類似度を算出し、算出した類似度を、投稿画像の各髪型に対するスコア（髪型の識別結果）とする。次に、髪型識別部２０４は、これまでにアップロードされた投稿画像のスコアの分布から、ステップＳ２７で算出されたスコア（類似度）を正規化する（ステップＳ２８）。なお、頭部領域を認識できなかった場合（ステップＳ２２のＮ）、顔の向きを推定できなった場合（ステップＳ２４のＮ）、髪領域を認識できなかった場合（ステップＳ２６のＮ）には、処理を終了する。
【００４４】
図９に、投稿画像の情報（顔の向きの推定結果、髪型の識別結果）を格納するテーブルの一例を示す図である。このテーブルは、記憶部２１０に記憶される。テーブル３００は、投稿画像を識別するための投稿画像ＩＤ３１０に対応付けて、当該投稿画像の顔の向きが属するクラスタ３２０と、当該投稿画像の各髪型に対するスコア３３０とを格納する。図９に示す例では、例えば投稿画像ＩＤ「００１」の投稿画像の顔の向きのクラスタが「３」（正面向き）であり、当該投稿画像の「髪型Ａ」に対するスコア（代表マスク画像ＲＭ３Ａとの類似度）が「９０」であり、「髪型Ｂ」に対するスコア（代表マスク画像ＲＭ３Ｂとの類似度）が「６０」であり、「髪型Ｃ」に対するスコア（代表マスク画像ＲＭ３Ｃとの類似度）が「５０」であり、「髪型Ｄ」に対するスコア（代表マスク画像ＲＭ３Ｄとの類似度）が「２０」であり、「髪型Ｅ」に対するスコア（代表マスク画像ＲＭ３Ｅとの類似度）が「１０」であり、「髪型Ｆ」に対するスコア（代表マスク画像ＲＭ３Ｆとの類似度）が「５」であることを示している。
【００４５】
次に、投稿画像を検索する手法について説明する。図１０は、投稿画像を検索する処理の流れを示すフローチャートである。
【００４６】
まず、操作受付部２０５は、ユーザ（閲覧ユーザ）の端末１０から、髪型（「髪型Ａ」〜「髪型Ｆ」のいずれか）を指定する操作が行われた旨の情報を受信したか否かを判断する（ステップＳ３０）。当該操作が行われた旨の情報を受信した場合（ステップＳ３０のＹ）には、撮影画像抽出部２０６は、記憶部２１０に記憶された投稿画像の中から、当該操作で指定された髪型に対するスコア（当該髪型の代表マスク画像との類似度）が高い投稿画像を抽出する（ステップＳ３１）。より詳細には、撮影画像抽出部２０６は、テーブル３００を参照して、指定された髪型に対するスコアが高い上位Ｍ個（Ｍは、所定数或いは閲覧ユーザによって指定された数）の投稿画像を抽出してもよいし、指定された髪型に対するスコアが所定値以上の投稿画像を抽出してもよい。例えば、指定された髪型が「髪型Ａ」である場合、「髪型Ａ」に対するスコア（代表マスク画像ＲＭ０Ａ〜ＲＭ６Ａとの
類似度）が高い上位Ｍ個の投稿画像、又は、「髪型Ａ」に対するスコアが所定値以上の投稿画像を抽出する。次に、処理部２００は、抽出された投稿画像を閲覧ユーザの端末１０に送信して、当該端末１０の表示部に表示させる制御を行う（ステップＳ３２）。
【００４７】
本実施形態の検索システムによれば、顔の向きごと且つ指定可能な髪型ごとに代表マスク画像を用意しておき、投稿画像から生成したマスク画像と顔の向きが共通する各髪型の代表マスク画像との類似度を、投稿画像の各髪型に対するスコアとして求め、閲覧ユーザによって指定された髪型に対するスコアが高い投稿画像を抽出することで、投稿画像における人物の顔の向きの影響を受け難くして、ユーザによって指定された髪型の投稿画像を精度良く検索することができる。
【００４８】
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００４９】
例えば、閲覧ユーザが髪型を指定する操作は、髪型を直接指定する態様に限らず、閲覧ユーザが撮影画像（人物の髪型を撮影した画像）をサーバ２０にアップロードする態様であってもよいし、閲覧ユーザがＷｅｂブラウザや専用アプリ上で髪型を描画する態様であってもよい。この場合、操作受付部２０５は、閲覧ユーザの端末１０から送信された画像又は閲覧ユーザによって描画された画像を受け付け、図８のステップＳ２１以降の処理により、当該画像から髪型を識別する。すなわち、頭部領域抽出部２０１は、当該画像から頭部領域を抽出し、向き推定部２０２は、当該頭部領域から顔の向きを推定し、マスク画像生成部２０３は、当該頭部領域からマスク画像を生成し、髪型識別部２０４は、当該マスク画像と顔の向きが共通する各髪型の代表マスク画像との類似度を求め、当該画像の各髪型に対するスコアとする。そして、操作受付部２０５は、最も高いスコアの髪型（識別された髪型）を、当該操作で指定された髪型とする。例えば、当該画像の各髪型に対するスコアのうち「髪型Ａ」に対するスコアが最も高い場合には、閲覧ユーザによって「髪型Ａ」が指定されたものとして、図１０のステップＳ３１以降の処理を行う。このようにすると、閲覧ユーザは、所望の髪型の撮影画像をサーバ２０にアップロードしたり所望の髪型を描画したりすることで髪型を指定することができ、閲覧ユーザの利便性を向上することができる。
【００５０】
また、髪型を指定する操作として、基準となる髪型の長さや量（ボリューム）を調整する操作を受け付け、調整後の髪型を、当該操作で指定された髪型とするようにしてもよい。例えば、髪型の長さや量を調整する操作に基づいて、図６に示すヘアスタイルマップから、調整後の髪型に相当するマスク画像を決定し（例えば、調整後の髪型が長い或いは量が多い場合は、右上側に配置されたマスク画像を決定し、調整後の髪型が短い或いは量が少ない場合は、左下側に配置されたマスク画像を決定する）、決定したマスク画像に対するスコア（類似度）が高い投稿画像を抽出するようにしてもよい。この場合、予め、投稿画像から生成したマスク画像と、顔の向きが共通するヘアスタイルマップに含まれる各マスク画像との類似度を算出しておく。
【００５１】
また、閲覧ユーザが、髪型だけでなく、髪色を指定できる（髪型及び髪色を指定する操作を受け付ける）ようにしてもよい。この場合、予め、髪型識別部２０４が、投稿画像から人物の髪型に加えて人物の髪色を識別しておき、撮影画像抽出部２０６が、閲覧ユーザによって指定された髪型に対するスコアが高い投稿画像であって、且つ、閲覧ユーザによって指定された髪色に近い髪色の投稿画像を抽出するようにする。
【符号の説明】
【００５２】
１…検索システム、１０…端末、２０…サーバ、２００…処理部、２０１…頭部領域抽出
部、２０２…向き推定部、２０３…マスク画像生成部、２０４…髪型識別部、２０５…操作受付部、２０６…撮影画像抽出部、２１０…記憶部、２２０…通信部
【要約】
【課題】ユーザによって指定された髪型の撮影画像を精度良く検索することが可能な検索システム等を提供すること。
【解決手段】検索システムは、撮影画像から人物の頭部領域を抽出する頭部領域抽出部と、頭部領域から人物の顔の向きを推定する向き推定部と、頭部領域における髪領域とその他の領域とを区別するマスク画像を生成するマスク画像生成部と、マスク画像から、顔の向きの推定結果を用いて人物の髪型を識別する髪型識別部と、髪型を指定するユーザの操作を受け付ける操作受付部と、操作で指定された髪型と、識別された髪型とに基づいて、撮影画像を抽出する撮影画像抽出部とを含む。
【選択図】図８【図１】
0006922023.tif 000002
【図２】
0006922023.tif 000003
【図３】
0006922023.tif 000004
【図４】
0006922023.tif 000005
【図５】
0006922023.tif 000006
【図６】
0006922023.tif 000007
【図７】
0006922023.tif 000008
【図８】
0006922023.tif 000009
【図９】
0006922023.tif 000010
【図１０】
0006922023.tif 000011