(57)【要約】  演算負荷をかけずに、衣服の画像から当該衣服のファブリックを特定する技術を提供する。画像処理装置であって、衣服の画像を含む処理対象画像であって、色相、彩度、明度の各成分で構成される画像を取得する取得手段と、前記処理対象画像と、該処理対象画像を、所定方向に少なくとも１画素以上、１画素単位にシフトさせて得られる複数のシフト画像との差分を算出して、シフトさせた画素数に対応する複数の差分画像を生成する差分算出手段と、前記差分画像の前記色相、彩度、明度の各成分について差分画素値のヒストグラムを生成するヒストグラム生成手段と、前記ヒストグラムの特徴に基づき、前記衣服のファブリックを判定する判定手段とを備える。
2018100694.tif 000002
【特許請求の範囲】
【請求項１】
衣服の画像を含む処理対象画像であって、色相、彩度、明度の各成分で構成される画像を取得する取得手段と、
前記処理対象画像と、該処理対象画像を、所定方向に少なくとも１画素以上、１画素単位にシフトさせて得られる複数のシフト画像との差分を算出して、シフトさせた画素数に対応する複数の差分画像を生成する差分算出手段と、
前記差分画像の前記色相、彩度、明度の各成分について差分画素値のヒストグラムを生成するヒストグラム生成手段と、
前記ヒストグラムの特徴に基づき、前記衣服のファブリックを判定する判定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記所定方向は、前記処理対象画像における横方向及び縦方向であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、所定のファブリックと、該所定のファブリックの画像から得られるヒストグラムの特徴とを関連づけたテーブルを参照し、前記ヒストグラム生成手段が生成した前記ヒストグラムと関連づけられるファブリックを特定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記処理対象画像から、前記差分画像を生成する対象となる領域の画像を抽出する抽出手段を更に備え、
前記差分算出手段は、抽出された前記領域の画像について前記複数の差分画像を生成することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記差分算出手段は、前記所定方向に１画素から５画素まで１画素単位にシフトさせて、前記複数の差分画像を生成することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記取得手段は、ＲＧＢ色空間画像を、ＨＳＶ色空間画像に変換する変換手段を含むことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記取得手段は、前記衣服を撮影し、前記処理対象画像を生成する撮影手段を含むことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記取得手段は、外部装置から前記処理対象画像を受信する通信手段を含むことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項９】
前記通信手段は、前記判定手段が判定した前記衣服のファブリックの判定結果を前記外部装置に送信することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
オンラインストアにおける商品情報を管理するサーバであって、
前記オンラインストアに商品登録を行なうクライアントから衣服の商品登録要求を受付けた場合に、前記衣服の画像を含む処理対象画像であって、色相、彩度、明度の各成分で構成される画像を前記クライアントから受信する受信手段と、
前記処理対象画像と、該処理対象画像を、所定方向に少なくとも１画素以上、１画素単位にシフトさせて得られる複数のシフト画像との差分を算出して、シフトさせた画素数に対応する複数の差分画像を生成する差分算出手段と、
前記差分画像の前記色相、彩度、明度の各成分について差分画素値のヒストグラムを生成するヒストグラム生成手段と、
前記ヒストグラムの特徴に基づき、前記衣服のファブリックを判定する判定手段と、
前記判定の結果を前記クライアントに通知する通知手段と
を備えることを特徴とするサーバ。
【請求項１１】
前記受信手段は、前記差分画像を生成する対象となる領域の指定を更に取得し、
前記差分算出手段は、前記処理対象画像のうち前記指定された領域の画像について前記複数の差分画像を生成することを特徴とする請求項１０に記載のサーバ。
【請求項１２】
前記受信手段が、前記クライアントから、前記通知された判定結果に基づく前記処理対象画像の登録要求を受信した場合に、前記処理対象画像と前記判定結果とを関連づけてデータベースに登録する登録手段を更に備えることを特徴とする請求項１０または１１に記載のサーバ。
【請求項１３】
衣服の画像を含む処理対象画像であって、色相、彩度、明度の各成分で構成される画像を取得する取得工程と、
前記処理対象画像と、該処理対象画像を、所定方向に少なくとも１画素以上、１画素単位にシフトさせて得られる複数のシフト画像との差分を算出して、シフトさせた画素数に対応する複数の差分画像を生成する差分算出工程と、
前記差分画像の前記色相、彩度、明度の各成分について差分画素値のヒストグラムを生成するヒストグラム生成工程と、
前記ヒストグラムの特徴に基づき、前記衣服のファブリックを判定する判定工程と
を含むことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１から９のいずれか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、画像処理装置、画像処理方法、サーバ、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
画像に対し、生成日時、場所、カメラパラメータ等の属性情報を付加することが一般的に行なわれている。その際、被写体情報を画像処理により抽出し付加することも行なわれている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１７１４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、画像中に含まれる衣服のファブリックを特定し、画像と関連づける技術はこれまで提供されていなかった。【０００５】
この点につき、商品として衣服を扱うオンラインショッピングサイトでは、商品画像と共に商品情報が不可欠であるが、扱われる商品数は膨大であり、全ての商品に対し正確な情報が入力されているとは限らない。特に、衣服のファブリックは画像からでは判断がつき難く、商品毎に正確な入力が求められる。【０００６】
そこで、衣服の画像から、当該衣服のファブリックを特定するための技術が求められている。また、その際にファブリックの特定のための演算負荷はできるだけ軽くすることが求められる。
【課題を解決するための手段】
【０００７】
上記課題を解決するための発明の実施形態の一つに対応する画像処理装置は、
衣服の画像を含む処理対象画像であって、色相、彩度、明度の各成分で構成される画像を取得する取得手段と、
前記処理対象画像と、該処理対象画像を、所定方向に少なくとも１画素以上、１画素単位にシフトさせて得られる複数のシフト画像との差分を算出して、シフトさせた画素数に対応する複数の差分画像を生成する差分算出手段と、
前記差分画像の前記色相、彩度、明度の各成分について差分画素値のヒストグラムを生成するヒストグラム生成手段と、
前記ヒストグラムの特徴に基づき、前記衣服のファブリックを判定する判定手段とを備える。
【発明の効果】
【０００８】
本発明によれば、演算負荷をかけずに、衣服の画像から当該衣服のファブリックを特定する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】発明の実施形態に対応する、画像処理装置の構成例を示す図。
【図２】発明の実施形態に対応する、ファブリック判定処理の流れの一例を示すフローチャート。
【図３Ａ】発明の実施形態に対応する、ファブリック判定処理を説明するための概念図。
【図３Ｂ】発明の実施形態に対応する、ファブリック判定処理を説明するための概念図。
【図４Ａ】発明の実施形態に対応する、ヒストグラムの概念を説明するための図。
【図４Ｂ】発明の実施形態に対応する、ヒストグラムの概念を説明するための図。
【図５】発明の実施形態に対応する、ファブリック判定処理における判定テーブルを説明するための概念図。
【図６Ａ】発明の実施形態に対応する、クライアント・サーバ・システム全体の構成例を示す図。
【図６Ｂ】発明の実施形態に対応する、クライアント５０１のハードウェア構成の一例を示すブロック図。
【図７】発明の実施形態に対応する、ファブリック判定処理の流れの他の一例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を用いて、本願発明に係る実施形態について説明する。なお、以下に示す実施形態は一例であり、これに限定するものではない。そのため、本願発明の特徴的構成を適用できれば他の構成であってもよい。
【００１１】
［実施形態１］
以下に、添付する図面を参照して本発明の第１の実施形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１２】
＜画像処理装置の構成＞
実施形態１に対応する画像処理装置の概略について説明する。実施形態１では、単体装置において本実施形態に対応する画像処理を実行する場合を説明する。
【００１３】
実施形態１に対応する画像処理装置は、例えばパーソナルコンピュータとして構成することができる。パーソナルコンピュータとして構成される場合、入力された画像を分析して画像に含まれる衣服のファブリックを判定する処理を実行する。また、画像処理装置は撮像機能を備える装置として構成されても良く、その場合には、例えばデジタルカメラ、デジタルビデオカメラ、スマートフォン、タブレット端末として構成することができる。また、カメラ付ノートパソコンとして構成されても良い。
【００１４】
以下では、図１を参照して本実施形態に対応する画像処理装置１０を説明するが、図１は、画像処理装置１０をパーソナルコンピュータとして構成する例を示している。図１では省略しているが、画像処理装置１０がデジタルカメラ等として構成される場合には、画像を入力するための撮像機能、例えば撮像センサ部を含む構成とすることができる。
【００１５】
図１において、ＣＰＵ１００は、ハードディスク装置（以下、ＨＤと呼ぶ）１０５に格納されているアプリケーションプログラム（本実施形態に対応する画像処理を実行するためのアプリケーションプログラムを含む）、オペレーティングシステム（ＯＳ）や制御プログラム等を実行し、ＲＡＭ１０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。インターフェイス１０８を介した外部装置とのデータ送受信を制御するとともに、外部装置から受信したデータの分析・処理を実行し、また外部装置へ送信するデータ（処理要求やデータ要求を含む）の生成を行う。
【００１６】
ＲＯＭ１０１は、内部に基本Ｉ／Ｏプログラム、本実施形態に対応する画像処理を実行するためのアプリケーションプログラム等の各種データを記憶する。ＲＡＭ１０２は各種データを一時記憶し、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。
【００１７】
外部記憶ドライブ１０３は、記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア（記録媒体）１０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア１０４は、例えば、フロッピー（登録商標）ディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、ＩＣメモリカード、ＭＯ、メモリスティック等を利用することができる。
【００１８】
外部記憶装置１０５は、本実施形態では大容量メモリとして機能するＨＤ（ハードディスク）を用いている。ＨＤ１０５には、アプリケーションプログラム、ＯＳ、制御プログラム、関連プログラム等が格納される。なお、ハードディスクの代わりに、フラッシュ（登録商標）メモリ等の不揮発性記憶装置を用いても良い。
【００１９】
指示入力装置１０６は、キーボードやポインティングデバイス（マウス等）、タッチパネル等がこれに相当する。出力装置１０７は、指示入力装置１０６から入力したコマンドや、それに対する画像処理装置１０の応答出力等を出力する。出力装置１０７にはディスプレイ、スピーカ、ヘッドフォン端子等が含まれる。システムバス１０９は、画像処理装置内のデータの流れを司る。
【００２０】
インターフェイス（以下、Ｉ／Ｆという）１０８は、外部装置とのデータのやり取りを仲介する送信装置、受信装置、或いは、通信装置としての役割を果たす。具体的に、Ｉ／Ｆ１０８は、無線通信モジュールを含むことができ、当該モジュールはアンテナシステム、ＲＦ送受信器、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュールカード、メモリなどを含む、周知の回路機構を含むことができる。また、有線接続のための有線通信モジュールを含むことができる。有線通信モジュールは１つ以上の外部ポートを介して他のデバイスとの通信を可能とする。また、データを処理する様々なソフトウェアコンポーネントを含むことができる。外部ポートは、イーサーネット、ＵＳＢやＩＥＥＥ１３９４等を介して、直接的に、又はネットワークを介して間接的に他のデバイスと結合する。尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
【００２１】
データベース１１０はシステムバス１０９に接続され、ＣＰＵ１００の制御下において所定のデータを保存、管理する。所定のデータには、ファブリックの判定結果と関連づけられた処理済みの画像が含まれる。
【００２２】
本実施形態に対応する処理を実行するために対応するプログラムを動作させる度に、既にプログラムがインストールされているＨＤ１０５からＲＡＭ１０２にロードするようにしてもよい。また、本実施形態に係るプログラムをＲＯＭ１０１に記録しておき、これをメモリマップの一部をなすように構成し、直接ＣＰＵ１００で実行することも可能である。さらに、メディア１０４から対応プログラム及び関連データを直接ＲＡＭ１０２にロードして実行させることもできる。
【００２３】
＜ファブリック判定処理＞
次に、実施形態に対応する画像処理装置１０が実行する画像処理方法について説明する。本実施形態に対応する画像処理方法では、処理対象の画像から、画像に写っている衣服のファブリック（生地、織物、布ともいう）を判定する処理を行なう。ファブリックとは素材と織りとの組み合わせに基づき特定される。より具体的に、ファブリックとは木綿（コットン）、毛（ウール）、絹（シルク）、ポリエステル、ナイロン、その他の化繊、といった素材を織る（例えば、平織（ひらおり）、綾織（あやおり）、朱子織（しゅすおり）等）ことによって生成されている。それぞれの織り方について使用する素材によって異なるファブリックが生成される。
【００２４】
平織は、経糸（たていと）と横糸（よこいと）を1本ずつ交互に上下に浮き沈みさせながら交錯させて織る織り方である。折り目の模様は左右対称となる。例えば、シャツに使われるオックスフォードやブロードはこの平織でできている。次に、綾織は、デニム生地を織る織り方として広く用いられているが、その他に、ギャバジン、ネル、サージ、ダンガリー、ツイード等もある。綾織には三つ綾と呼ばれる方法と、四つ綾と呼ばれる方法とがある。いずれの織り方でも経糸が浮いた点が織物の表面に斜線となって現れる点に特徴がある。朱子織は、経糸と横糸を５本以上使って織る織り方で、平織や綾織は経糸と横糸の交錯が生地の表に出て見えるが、朱子織は経糸が横糸のどちらか一方のみが表面に出るように織るため美しい光沢があるが、摩擦には弱い。このように織りは、特定のパターンを繰り返すことにより構成されているため、織りに応じたパターンが生地の表面に規則的に登場する。そして、織りの種類や、使用する素材（素材の太さ）、即ちファブリックによってパターンに変化が生ずる。
【００２５】
次に、このようなファブリックを有する衣服を撮影し、画像を生成する場合について考える。一般に、被写体を撮影して画像を生成する場合、被写体である衣服に照射された光（自然光、人工的な照明のいずれでもよい）が、衣服の表面で反射して、当該反射光が撮影装置のレンズに入射してＣＭＯＳセンサ等の撮像素子の撮像面上で結像し、被写体像の画像が生成される。
【００２６】
よって、衣服で使用されているファブリックが変わると言うことは、入射光が反射する被写体表面の状態が変わることに相当し、ファブリックが異なることは光の反射条件が異なることと等価である。また、上記のカメラにおける画像の生成原理によれば、反射条件の違いは生成される画像に反映されることになる。そこで本実施形態ではファブリックによる反射条件の違いに着目し、ファブリック毎の画像的特徴に基づくファブリックの判定手法を確立した。当該手法を適用することで、画像に含まれる衣服のファブリックを特定することが可能となる。
【００２７】
図２は、本実施形態に対応する処理のフローチャートである。該フローチャートに対応する処理は、例えば、ＣＰＵ１００が対応するプログラム（ＲＯＭ１０１やＨＤ１０５等に格納）を実行し、各機能ブロックの動作を制御することにより実現できる。
【００２８】
まず、Ｓ２０１では、ＣＰＵ１００が処理対象の画像を取得する。当該画像は、メディア１０４やＨＤ１０５に格納されている画像であっても良いし、画像処理装置１０が撮像センサ部を有する場合には、撮像センサ部で撮影され生成された画像が入力されても良い。また、画像はＲＧＢの色空間の画素値で構成されたＲＧＢ画像とする。
【００２９】
Ｓ２０１において取得する画像の解像度については特に限定しない。また、画像の撮影条件についても、衣服の生地を接写して織り目がはっきりと分かるような方法で撮影された画像である必要はない。例えば、モデルが衣服を着用している状態で、全身、上半身、又は、下半身が画角に収まるように撮影した画像でよい。
【００３０】
続くＳ２０２では、ＣＰＵ１００は取得した処理対象画像のうち、ファブリックを判定すべき対象の領域を抽出する。当該判定対象領域の抽出は、例えば衣服の形状に基づき行なっても良いし、所定の背景との差分情報に基づき衣服領域を特定することにより行なっても良いし、或いは、画像処理装置１０のユーザが判定対象領域を指定することにより行なっても良い。その場合、衣服全体の輪郭を指定しても良いし、或いは、衣服の一部の領域を指定しても良い。当該判定対象領域の抽出処理自体は、セグメンテーション技術等の公知の技術を用いることができるので、より詳細な説明は省略する。
【００３１】
また、処理対象の領域は、衣服を構成する布全体である必要はなく、その一部であってもよい。一般的に衣服は所定の生地が連続的に使用されているため、特定の織パターンが規則的に繰り返されるものであるから、全部ではなく一部だけを処理対象とすることもできる。
【００３２】
次に、Ｓ２０３では、ＣＰＵ１００はＳ２０２で抽出した判定対象領域を構成する画素値を、ＲＧＢ色空間からＨＳＶ色空間の画素値に変換する。ＨＳＶは、色相（Hue）、彩度（Saturation）、明度（Value）で表される。ＲＧＢからＨＳＶへの変換は、公知の変換手法により実行することができる。
【００３３】
図４Ａは、ＨＳＶ空間の模式図である。ここに示されるようにＨ（色相）は、色味の違いを表す。また、Ｓ（彩度）は同一色相における色の鮮やかさ（純色の量）を表し、Ｖ（明度）は色の明るさ（白黒の量）をいう。これらは同じ色相における、色の鮮やかさや明暗を表すため、織りに応じた光の反射パターンが一定周期で連続的に繰り返される場合にはその反射パターンの検出に有利に用いることができる。
【００３４】
次に、Ｓ２０４では、ＣＰＵ１００は、Ｓ２０３でＨＳＶ色空間に変換したＨＳＶ画像を、所定方向に所定画素数だけずらした（シフトさせた）場合の画像間の画素値の差分をＨ、Ｓ、Ｖの値それぞれについて算出して差分画像を生成し、当該差分画像の画素値（差分画素値、或いは、差分値）のヒストグラム（１画像内の各差分値の度数を表すグラフ）を生成する。本実施形態では、一例として、所定方向としてＸ軸方向（横方向）、Ｙ軸方向（縦方向）の２方向に、１画素、２画素、３画素、４画素、５画素ずつずらした場合について説明するが、ずらす方向や画素数はこの組み合わせに限定されない。例えば、斜め方向にずらしても良い。また、上記では、１画素単位にずれ量を調整しているが、単位ずれ量は１画素より大きい画素数でもよい。
【００３５】
ヒストグラムの生成方法について図３Ａ及び図３Ｂを参照して説明する。図３Ａは、画像のＸ軸方向（横方向）について画素をずらした様子を示している。ここでは説明のために１画素分ずらした場合と、５画素分ずらした場合とを示している。なお、画像の大きさに対して１画素分の大きさが占める割合が大きくなっているが、これは説明のためであって、１画素分の幅が画像全体に占める割合は図で示すものよりも小さくてよい。また、２画素、３画素、４画素だけずらした場合は省略しているが、これらの場合も同様にしてＸ軸方向に該当する画素数分だけずらせばよい。
【００３６】
図３Ｂは、画像のＹ軸方向（縦方向）について画素をずらした様子を示している。ここでも説明のために１画素分ずらした場合と、５画素分ずらした場合とを示している。画像の大きさに対して１画素分の大きさが占める割合が大きくなっているが、同様に説明のためであって、１画素分の幅が画像全体に占める割合は図で示すものよりも小さくてよい。また、２画素、３画素、４画素だけずらした場合は省略しているが、これらの場合も同様にしてＹ軸方向に該当する画素数分だけずらせばよい。
【００３７】
Ｓ２０４においてヒストグラムを算出する場合、元画像と、当該元画像を所定画素数分だけずらした後のシフト画像とで同一画素アドレスに位置する画素の差分を、Ｈ、Ｓ、Ｖの各成分について計算する。
【００３８】
例えば、Ｈｎ,ｍが、Ｘ軸のｎ番目、Ｙ軸のｍ番目のＨ成分の画素値を表し、同様にしてＳｎ,ｍ、Ｖｎ,ｍが、それぞれ各位置のＳ成分、Ｖ成分の画素値を表すものとする。このとき、ｎ、ｍの初期値はそれぞれ１であり、原点位置は画像の左上とする。
【００３９】
ヒストグラムの計算において、例えばＸ軸方向に１画素から５画素までずらした場合のＳ（彩度）成分画素の差分は、以下のように求めることができる。このときＳＤ−Ｘｐ(ｎ，ｍ）は、Ｘ軸方向にｐ画素だけずらしたときの画素アドレス位置（ｎ、ｍ）におけるＳ成分の差分画素値を表す。ｐは、１から５のいずれかの値を取り、ｎ、ｍは初期値が１で、最大値は画素の各行、列における最大画素数に対応する。各差分画素値は、ｎ、ｍの取り得る値の全てについて計算される。
【００４０】
ＳＤ-Ｘ１(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ＋１,ｍ）
ＳＤ-Ｘ２(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ＋２,ｍ）
ＳＤ-Ｘ３(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ＋３,ｍ）
ＳＤ-Ｘ４(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ＋４,ｍ）
ＳＤ-Ｘ５(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ＋５,ｍ）
【００４１】
同様に、例えばＹ軸方向に１画素から５画素までずらした場合のＳ成分画素の差分画素値は、以下のように求めることができる。このときＳＤ−Ｙｐ(ｎ，ｍ）は、Ｙ軸方向にｐ画素だけずらしたときの画素アドレス位置（ｎ、ｍ）におけるＳ成分の差分画素値を表す。ｐは、１から５のいずれかの値を取り、ｎ、ｍは初期値が１で、最大値は画素の各行、列における最大画素数に対応する。各差分画素値は、ｎ、ｍの取り得る値の全てについて計算される。
【００４２】
ＳＤ-Ｙ１(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ,ｍ＋１）
ＳＤ-Ｙ２(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ,ｍ＋２）
ＳＤ-Ｙ３(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ,ｍ＋３）
ＳＤ-Ｙ４(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ,ｍ＋４）
ＳＤ-Ｙ５(ｎ，ｍ）＝（Ｓｎ,ｍ−Ｓｎ,ｍ＋５）
【００４３】
本実施形態において各画素値を８ビット（０から２５５）で表現する場合、差分画素値ＳＤ−Ｘｐ(ｎ，ｍ）及びＳＤ−Ｙｐ(ｎ，ｍ）は０から２５５までのいずれかの値を取り得る。ヒストグラムでは、０から２５５までの差分画素値の出現数（度数）を求める。同様にして、Ｈ、Ｖの各色成分の画素値についても、ずらした画素数毎の差分画素値に基づきヒストグラムを生成することができる。このとき得られるヒストグラムの一例は図４Ｂに示すとおりである。図４Ｂでは、Ｘ軸方向に１画素ずらした場合に得られたヒストグラムを示しているが、同様のヒストグラムが軸方向毎の画素のずれ量に応じて得られる。
【００４４】
以上により、１つの色成分について１０個のヒストグラムが生成され、Ｈ、Ｓ、Ｖを併せて全部で３０個のヒストグラムが生成される。横軸は差分画素値を示し、上記のように０から２５５までをとる。原点に近い側が０となる。縦軸は、各差分画素値の度数を示す。本実施形態では１画素から５画素といった小さい画素数でしか画像をずらさないため、差分画素値は０側に偏ることになるが、それでもずらす画素数を異ならせることによって、ヒストグラムに違いが出てくる。また、ファブリックによって糸の太さが違ったり、織り方が違ったりするため、ずれ量に応じたヒストグラムの変化の仕方にもファブリックの特性に対応した変化の仕方がある。本実施形態では、それらを統計的手法（例えば、ロジスティック回帰分析）により分析し判定用テーブルを生成しておく。
【００４５】
当該判定用テーブルの概念図を図５に示す。図５では、スカートをファブリック判定対象とした場合の分類結果を示している。各画像は上記のようにＨＳＶの各色成分についてヒストグラムが生成され、ヒストグラムの特徴が類似する画像がグループ化される。例えば、ウールの場合は、ウール（粗）、ウール（細）の二つの分類ができる。また、コットン（プレーン）や、デニムのように幾つかのサブグループが形成される場合、サブグループを独立の分類に割り当てても良いが、まとめて一つの分類とすることもできる。例えば、デニムではプレーンなタイプのものと、色合いに違いがある柄物とにサブグループ化されるが、これらはデニムとして１分類にまとめられている。
【００４６】
このように、本実施形態では、ヒストグラムに基づく特徴量が類似或いは共通する画像をまとめてグループとして分類し、各グループに対応するファブリックを関連づけている。ここで、ファブリックと関連づけられるヒストグラムに基づく特徴量は、例えば、当該ファブリックについてＨＳＶの各成分の取り得る範囲や、ずれ量を異ならせた場合のＨＳＶの各成分の度数の比率、その他、ヒストグラムについて所定の範囲を規定するための任意の方法で得られた値を含むことができる。そして、判定対象の画像から新たなヒストグラムが得られた場合には、当該ヒストグラムから得られる特徴量に基づき当該ヒストグラムがどの分類に属するかを判定することで、判定対象画像に含まれる衣服のファブリックを特定することが可能となる。
【００４７】
このようにしてヒストグラムを算出すると、続くＳ２０５においてＣＰＵ１００は、データベース１１０に格納されている判定用テーブルにおいて各ファブリックに割り当てられたヒストグラムの特徴量と比較する。そして、算出したヒストグラムがどのファブリックに該当する特徴量を有するのかに基づいて、処理対象画像に含まれていた衣服のファブリックを判定する。
【００４８】
続くＳ２０６では、Ｓ２０５で得られた判定結果について、処理対象画像に含まれていた衣服のファブリックが予め分かっていた場合には、当該判定結果と実際のファブリックとを照らし合わせることにより、判定結果の妥当性を検証することができる。当該実際のファブリックは、予め入力されていて処理対象の画像と関連づけられていても良いし、或いは、Ｓ２０６の判定のタイミングにおいて入力を新規に受付けても良い。当該入力は、判定結果に対応する表示を出力装置１０７のディスプレイに表示して、表示結果に対して訂正することにより実施できる。また、判定結果が正当な場合には、ディスプレイの表示内容に対して承認を行なうこともできる。
【００４９】
Ｓ２０６において判定結果の妥当性が検証されたのち、続くＳ２０７では、ＣＰＵ１００は妥当性の検証結果に基づいてデータベース１１０の判定用テーブルの内容を更新する。例えば、Ｓ２０５ではウールと判定されていたが、実際にはコットンであった場合に、Ｓ２０４で得られたヒストグラムのセットをコットンに分類されるよう、判定用テーブルの内容を修正することができる。
【００５０】
なお、Ｓ２０６とＳ２０７の処理は実施形態によっては省略してもよい。例えば、ユーザがスマートフォンを使用して撮影した衣服のファブリックを判定する場合などでは、これらのステップを省略しても良い。
【００５１】
以上のように本実施形態では、処理対象画像から得られたＨ、Ｓ、Ｖのそれぞれの色成分の画像間差分のヒストグラムに基づき、画像に含まれている衣服のファブリックを特定する画像処理方法を提供することができる。この処理方法では、所定の画素単位に所定方向に画像をずらして画像間差分を計算し、差分画素値の出現頻度に基づいて判定を行なうだけなので、画像を拡大した上でのパターンマッチング処理といった負荷の高い演算は不要となる。
【００５２】
また、判定用の特別な画像を生成することなく、人物が衣服を身につけている状態を撮影した画像を用いることにより判定が可能な点で、処理のための煩雑な準備などが不要であり、また、専用の装置を用意する必要もなくなるため利便性に優れる。よって、例えばカメラ機能付の携帯型端末（スマートフォン）やデジタルカメラにより衣服を撮影して得られた画像について、当該装置で本実施形態に対応する画像処理方法を実行することで、衣服のファブリックを特定することができる。
【００５３】
また、本実施形態に対応する処理に必要な判定テーブルの情報は、ファブリックを特定するための所定のヒストグラム範囲に関する情報であるため膨大なデータ量は必要とされない。従って、記憶容量に制限のあるユーザ端末で本発明を実施する場合であっても、判定テーブルを保持による記憶容量に対する負担を小さくすることができる。
【００５４】
［実施形態２］
上記の実施形態１では、単体装置において、処理対象画像に含まれる衣服のファブリックを特定する画像処理方法を実施する場合を説明した。これに対して本実施形態では、クライアント・サーバ・システムにおけるクライアントが生成した画像について、サーバが当該画像に含まれる衣服のファブリックを特定し、結果をクライアントに通知する場合を説明する。特に、オンラインショッピングサイトを管理するサーバを含むシステムについて説明する。
【００５５】
ファブリックに関する情報は、オンラインショッピングサイトへの商品登録時に併せて登録されるのが一般的であるが、入力が省略されることもある。また、同一の型で異なる複数のファブリックの商品が提供される場合、各ファブリックに対応する画像は提供されても、ファブリック自体の関連づけが成されない場合などもある。さらに、同一の素材、例えば、ウールであっても織り方によって風合いも異なってくるが、織り方の違いに関係なく単にウールと入力されるだけの場合もある。さらに、登録者によってファブリック分類する判断基準が異なる場合、オンラインショッピングサイト内での分類のバラツキが生じるおそれもある。そのような場合、ユーザがファブリックに基づき商品検索しても希望する商品にスムーズに辿りつくことができず、ユーザが商品を見付けるまでに複数のページにアクセスしたり、検索を複数回行ったりすることになり、結果的にトラヒックが増大し、またオンラインショッピングサイトのサーバへの負荷が高くなってしまうことにもなりかねない。
【００５６】
そこで本実施形態では、オンラインショッピングサイトに商品を登録する際に、本実施形態のファブリック判定処理を実行することにより、商品登録時にファブリックを統一の画像処理方法により判定して、画像と関連づけてサーバに登録可能とする。これにより、商品毎にファブリックの情報の有無に違いが出たり、登録者毎の判断基準違いによる分類のバラツキが出たりするのを排除し、ファブリックの統一的分類を付すことができる。これにより、ユーザが商品を検索する際のファブリック表示のバラツキに共なる混乱を防止することができる。
【００５７】
＜システム構成＞
以下、本実施形態に対応するクライアント・サーバ・システムの構成について説明する。図６Ａは、オンラインショッピングサイトとしてシステムを構築した場合の、本実施形態に対応するシステム全体構成の一例を示すブロック図である。当該システムは、ユーザ端末、サーバがネットワークに接続されて構成されている。サーバは、オンラインショッピングサイトを管理し、サイトで販売される商品の画像情報の他に、店舗及び顧客の各ユーザ情報を管理する。
【００５８】
クライアント５０１ａ、５０１ｂ、５０１ｃ（以下、これらを総称して「クライアント５０１」という。）は、ユーザが操作し、サーバによりユーザ認証を受けた後、サーバからサービスの提供を受けることができるユーザ端末である。本実施形態では、当該サービスは、大きくはオンラインショッピングサイトでの店舗の出店とし、より詳細には、店舗で販売する商品の登録時における衣服画像に関するファブリックの特定サービスを含むものとする。
【００５９】
サーバ５０３は、クライアント５０１のユーザを認証し、認証されたユーザが使用するクライアント５０１に対して上記サービスを提供する装置である。クライアント５０１及びサーバ５０３はそれぞれネットワーク５０２に接続され、相互通信が可能となっている。ネットワーク５０２は例えばインターネット、ローカル・エリア・ネットワーク（ＬＡＮ）、或いは、ワイド・エリア・ネットワーク（ＷＡＮ）として構築することができる。インターネットは世界中のネットワークが互いに接続されたネットワークであるが、ネットワーク５０２は、これ以外にもイントラネットのように特定の組織内においてのみ接続可能なネットワークであってもよい。サーバ５０３には、ユーザ情報データベース５０４とコンテンツデータベース５０５とが接続されている。
【００６０】
クライアント５０１は、ユーザが操作することで、サーバ５０３が提供するサービスを利用することができる。当該サービスには、上述のように、撮影画像に含まれる衣服のファブリックを特定する画像処理の提供が含まれる。クライアント５０１は、ユーザ端末、情報処理装置、或いは、通信装置であって、例えば、ノートパソコン、デスクトップパソコン、携帯情報端末、携帯電話、スマートフォン、タブレット端末等を含む。クライアント５０１は、被写体を撮影して画像を生成するためのカメラを搭載しているものとする。クライアント５０１は、無線ＬＡＮ、ＬＴＥ等の無線データ通信手段によってネットワーク５０２に接続されている。尚、イーサネット（登録商標）等のネットワークケーブルを含むＬＡＮにより、ネットワーク５０２へアクセス可能に更に構成されていてもよい。
【００６１】
サーバ５０３は、ユーザ情報データベース５０４を管理し、クライアント５０１の各ユーザの登録情報を保持しておき、各ユーザがサービスの提供を受けようとする場合に、当該ユーザが当該サービス提供を受ける権限を有しているか否かを判定することができる。サーバ５０３は、また、コンテンツデータベース５０５に格納されているデータを管理し、クライアント５０１からの送信情報に基づいてデータを更新しても良い。サーバ５０３は、例えば、ＬＡＮによってユーザ情報データベース５０４やコンテンツデータベース５０５と接続される。ユーザ情報データベース５０４及びコンテンツデータベース５０５は、それぞれ所定のデータベース・ソフトウェアがインストールされた情報処理装置であり、各種データの管理を行う。
【００６２】
ユーザ情報データベース５０４は、ユーザごとの登録情報を管理する。具体的に、ユーザを一意に識別するためのユーザ識別子（ユーザＩＤ）、登録ユーザであるか否かを判定するためのユーザ登録情報（例えば、ユーザ名とパスワードのセット等）等を関連づけて格納する。
【００６３】
コンテンツデータベース５０５は、サーバ５０３からクライアント５０１に提供されるコンテンツデータを格納し管理する。また、クライアント５０１がアップロードしたコンテンツを格納し、管理する。コンテンツデータには、テキスト、画像、動画、音声等のデータが含まれる。ここで、画像には本実施形態に対応するファブリック判定処理によりファブリックが判定された画像も含まれる。当該画像には、ファブリックの情報が関連づけられて格納される。これらのコンテンツデータには、当該コンテンツデータを一意に識別するためのコンテンツＩＤが割当てられている。
【００６４】
尚、本明細書では、便宜上、サーバ５０３、ユーザ情報データベース５０４、及びコンテンツデータベース５０５は、それぞれ物理的に独立した情報処理装置によって実現されるものとして説明するが、本発明の実施形態はこれに限られるものではない。例えば、これらが単一の情報処理装置によって実現されてもよい。その一方で、サーバ５０３等の各装置が複数台の情報処理装置により冗長構成、或いは分散構成されても良い。また、ユーザ情報データベース５０４は、サーバ５０３とＬＡＮ等によって接続されているものとして説明するが、例えば、ネットワーク５０２や非図示のイントラネット経由でサーバ５０３と通信可能な形態をとってもよい。サーバ５０３とコンテンツデータベース５０５との関係についても同様である。また、ユーザ情報データベース５０４が管理するユーザ情報と、とコンテンツデータベース５０５が管理するコンテンツ関連のデータとは一体的に管理されていてもよい。
【００６５】
図６Ｂは、クライアント５０１のハードウェア構成の一例を示すブロック図である。上述した情報処理装置としてのユーザ情報データベース５０４及びコンテンツデータベース５０５も、同様或いは同等のハードウェア構成として構成しても良い。ＣＰＵ６００、ＲＯＭ６０１、ＲＡＭ６０２、外部記憶ドライブ６０３、メディア６０４、ＨＤ６０５、指示入力装置６０６、出力装置６０７、Ｉ／Ｆ６０８、システムバス６０９の機能及び用途、更には、これらの関係は、図１を用いて同一名称の要素について説明したものと同様或いは同等である。
【００６６】
但し、本実施形態において、クライアント５０１は図１の構成に追加してカメラ６１０を更に備えることができる。カメラ６１０は、撮影光学系、撮像素子（ＣＭＯＳセンサ等）、Ａ／Ｄ変換部などを含むことができる。カメラ６１０から出力された画像信号は、ＲＡＭ６０２に格納され、ＣＰＵ６００による圧縮・符号化処理により例えばＪＰＥＧ画像に変換され、メディア６０４やＨＤ６０５に格納されてもよい。
【００６７】
サーバ５０３のハードウェア構成は、図１に示したものと同様であるため、ここでは説明を省略する。なお、データベース１１０は、ユーザ情報データベース５０４、及び、コンテンツデータベース５０５に相当するものである。
【００６８】
＜システムにおけるファブリック判定処理＞
以下、図６Ａに示すクライアント・サーバ・システムにおいて、ファブリック判定処理を実行する場合の各装置の動作について具体的に説明する。
【００６９】
本実施形態に対応する大まかな処理の流れとして、クライアント５０１は、店舗に出品する商品の登録をサーバ５０３に要求すると、サーバ５０３から商品画像登録用のウェブページが送信される。クライアント５０１は受信したウェブページを出力装置５０７のディスプレイに表示する。クライアント５０１のユーザは、表示されたウェブページの指示に従い、商品登録しようとする衣服の写真を撮影しサーバ５０３に送信して、サーバ５０３側で実行された判定処理の結果としてファブリック情報を取得する。撮影した衣服の画像とファブリック情報とを関連づけてサーバ５０３にアップロードすることができる。
【００７０】
図７は、クライアント５０１とサーバ５０３との間で実行される当該処理のフローチャートの一例を示す。当該フローチャートに対応する処理は、例えば、クライアント５０１及びサーバ５０３の各ＣＰＵが対応するプログラムを実行し、各機能ブロックの動作を制御することにより実現できる。
【００７１】
まず、Ｓ７０１では、クライアント５０１のＣＰＵ６００が、指示入力装置６０６を介したユーザからの操作に応じた商品登録要求を、インターフェイス６０８を介してサーバ５０３に送信する。Ｓ７０２において、サーバ５０３のＣＰＵ１００は、クライアント５０１から送信された商品登録要求を受信したことを検知する。続くＳ７０３において、サーバ５０３側のＣＰＵ１００がインターフェイス１０８を制御して、クライアント５０１に画像登録用のウェブページの情報を送信する。当該ウェブページには、撮影した写真をサーバにアップロードするための情報が含まれる。
【００７２】
Ｓ７０４において、クライアント５０１はインターフェイス６０８を介して画像登録用のウェブページを受信すると、ＣＰＵ６００は出力装置６０７のディスプレイに当該ウェブページを表示する。続くＳ７０５において、クライアント５０１では、指示入力装置６０６を介したユーザからの操作に応じて、カメラ６１０で被写体（例えば、モデルが着用している衣服）を撮影し、画像を生成する。
【００７３】
Ｓ７０６では、ＣＰＵ６００はＳ７０５で撮影された画像をディスプレイ上に表示し、ファブリックの判定対象領域の指定を指示入力装置６０６を介してユーザから受け付け、指定された領域を撮影画像から抽出する。例えば、ユーザがファブリックの判定を希望する対象の衣服がスカートである場合に、スカートの輪郭やスカートの一部を指定する入力を受付けることができる。続くＳ７０７では、ＣＰＵ６００が、Ｓ７０６で抽出された領域の画像を、インターフェイス６０８を介してサーバ５０３へ送信する。なお、Ｓ７０６における画像送信では領域の画像ではなくＳ７０３で生成された画像全体をサーバ５０３へ送信してもよい。その場合、領域を指定する情報を送信画像に添付して送信することができる。
【００７４】
Ｓ７０８において、サーバ５０３のＣＰＵ１００は、Ｓ７０７においてクライアント５０１が送信した画像をインターフェイス１０８を介して受信する。続くＳ７０９では、ＣＰＵ１００が受信した画像についてファブリック判定処理を実行する。Ｓ７０９では、ＣＰＵ１００が図２のＳ２０３からＳ２０５に対応する処理を実行する。受信画像に含まれる衣服のファブリックが特定できると、Ｓ７１０においてＣＰＵ１００はインターフェイス１０８を介してファブリック判定結果をクライアント５０１に送信する。
【００７５】
Ｓ７１１において、クライアント５０１のＣＰＵ６００は、Ｓ７１０においてサーバ５０３が送信したファブリック判定結果をインターフェイス６０８を介して受信する。続くＳ７１２では、ＣＰＵ６００は、インターフェイス６０８を制御してＳ７１１で受信したファブリック判定結果をＳ７０５で撮影した画像と関連づけてサーバ５０３へアップロードする。Ｓ７１３において、サーバ５０３のＣＰＵ１００は、Ｓ７１２においてクライアント５０１からアップロードされた画像をインターフェイス１０８を介して受信し、コンテンツデータベース５０５に登録する。
【００７６】
なお、Ｓ７０６において既に画像全体を送信している場合には、Ｓ７１２の処理は画像の送信ではなく、送信されたファブリックの判定結果に基づく画像登録要求の送信とすることができる。この場合、登録対象の画像とファブリックの判定結果とが共にサーバ５０３側にあるので、クライアント５０１側では関連づけて登録を行なう要求を送信するだけでよい。
【００７７】
以上によれば、クライアント５０１で撮影した画像をサーバ５０３に登録する場合に、ファブリックの情報を予め特定した上で関連づけて、登録することができる。これにより、オンラインショッピングサイトに商品画像を登録する際に、ファブリックを特定した上で登録を行なうことができる。このとき、商品自体を確認せずとも画像だけでファブリックを特定することが可能となるので、大量の衣服をサイトに登録する際に画像のみで処理が完了でき、ユーザの負担を軽減することができる。また、本実施形態に対応するファブリック判定処理は演算負荷が低いので、サーバ５０３側で判定を行わせる場合であってもサーバ側の処理負荷が大きくならない利点がある。
【００７８】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。また本発明に係る情報処理装置は、１以上のコンピュータを該情報処理装置として機能させるコンピュータプログラムによっても実現可能である。該コンピュータプログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【図１】
2018100694.tif 000003
【図２】
2018100694.tif 000004
【図３Ａ】
2018100694.tif 000005
【図３Ｂ】
2018100694.tif 000006
【図４Ａ】
2018100694.tif 000007
【図４Ｂ】
2018100694.tif 000008
【図５】
2018100694.tif 000009
【図６Ａ】
2018100694.tif 000010
【図６Ｂ】
2018100694.tif 000011
【図７】
2018100694.tif 000012
【国際調査報告】
2018100694.tif 000013
2018100694.tif 000014