図2は、一実施形態に係る情報処理装置の機能ブロック図である。情報処理装置10は、撮像部1、抽出部2、補正部3、認識部4及び記憶部5を備え、記憶部5はさらに形状情報記憶部51及び特徴情報記憶部52を備える。
以下、当該各部の処理内容を説明するが、撮像部1において麻雀における一単位分の鳴いた麻雀牌(副露した麻雀牌)の撮像を行い、認識部4において当該一単位分の鳴き牌のそれぞれが何の牌であるかを認識する場合を具体例として当該説明を行う。ただし、当該説明より明らかとなるように、本発明の情報処理装置10は鳴き牌のそれぞれの認識に限らず、同様の性質を有するその他の任意の撮像対象の認識にも適用可能である。
撮像部1は、撮像対象を撮像し、得られた撮像画像を抽出部2及び補正部3へと出力する。撮像部1を実現するハードウェアとしては近年の携帯端末等には標準装備されていることが多いデジタルカメラを用いることができる。
図3は撮像対象及び撮像画像の模式例な例を示す図である。[1]には撮像対象OBの一例として、右(下家)から鳴いたポンの牌の並びの一例(3つの三索からなる刻子)を正面から見たものが模式的に示されており、[2]には当該撮像対象OBを斜めから撮像して得られる撮像画像Pにおいて並びが正面から見た場合とは歪んで見えることが、グレー状の領域として模式的に示されている。なお、[2]では[1]に示す牌の模様やその他の背景等は省略して、斜めから撮像されたことのみを模式的に示している。(次に説明する[2-1],[2-2]においても同様である。)
また、[2]では撮像対象OBの正面の部分が撮像画像Pにおいて歪んで見えていることのみが示されているが、実際の撮像画像Pは[2-1]あるいは[2-2]に示すように、正面以外の部分も含まれて撮像されている。[2-1]では直方体状の牌の側面も含めて撮像されている場合の例が、[2-2]では当該鳴き牌を麻雀卓の角の段差形成部分に打ち付けることで当該側面は隠れて見えなくなるが、代わりに麻雀卓の角の部分が撮像されている場合の例が示されている。
なお、図3の模式的な例に示すように、本発明においては必ずしも撮像画像Pを撮像対象OBの真正面から撮像する必要なく、撮像対象OBの認識が可能になるという効果があるため、撮像を行うユーザ等はカメラ(撮像部1)を撮像対象OBの正面に合わせる手間に煩わされることなく、楽に撮像を行うことができる。当該効果を奏することが可能な旨は以降の説明において明らかとなる。
記憶部5では、形状情報記憶部51においてリファレンスとなる認識対象として各撮像対象i(i=1,2,…,n;以下、当該iを、撮像対象を区別するインデクスとして用いる)が所定配置で並ぶことによって取りうる形状情報FM(j)(j=1,2, …, m;以下、当該jを、形状情報を区別するインデクスとして用いる)を記憶し、特徴情報記憶部52において各撮像対象iの特徴情報CH(i)を記憶し、それぞれ補正部3、認識部4へと適宜出力することで、補正部3及び認識部4が後述するような各処理を行うことが可能となる。
ここで、形状情報FM(j)は、複数の撮像対象i(i=1,2,..., n)が取り得る並び方の構成情報CF(j)と、当該並び方において特定される所定の特徴点座標情報CHP(j)と、当該並び方において特定される所定のコスト関数情報CT(j)と、で構成される情報として、管理者等が予め与えておき、形状情報記憶部51に記憶しておくことができる。ここで、当該各情報は以下のようなものとして構成しておくことができる。
構成情報CF(j)とは、撮像対象iを1つ以上用いてどのように所定配置したかを特定する情報であり、例えば当該所定配置する際の数や配置、大きさ、回転角など、所定配置内にある複数の撮像対象iから個々の撮像対象iの占める領域を抽出できる情報を表す。(なお、具体的な抽出処理は後述する補正部3及び認識部4によって可能となる。)
上記の構成情報CF(j)と関連して、特徴情報CH(i)に関しては、具体的に麻雀牌において構成情報CF(j)によってポン、チー、カン、カカンの鳴き牌(後述の図4で列挙するもの)の並びを認識する用途の場合であれば、撮像対象iの各々は麻雀牌のいずれか(ポンの鳴き牌の場合、萬子、筒子、索子の3種類につきそれぞれ1〜9がある数牌及び7種類の字牌からなる撮像対象iの種類総数n=3×9+7=34種類)として、特徴情報記憶部52に当該34種類の特徴情報CH(i)を記憶させておくことができる。(なお、チーの場合、刻子ではなく順子を作るので、撮像対象iの各々は数牌の27種類に限定されるが、後述する図4の[1]に示すようにチーと同じ外形形状のポンも存在するため、当該ポンに該当する場合も含めることで34種類として記憶しておくことができる。)そして、構成情報CF(j)は図4等を参照して後述するように、鳴き方による牌の配置の種類数として10種類のものを形状情報記憶部51に記憶させておくことができる。
さらに、特徴点座標情報CHP(j)は、外形形状(例えば鳴き牌の並びの外形形状)を構成する点群の座標など、後述する補正係数を算出できる情報を表すものとして用意し記憶させておくことができる。コスト関数情報CT(j)は、当該並べ方に補正した場合にコストが最小化されるような関数を個別に設定しておき、記憶させておくことができる。なお、当該各情報の詳細は、次に説明する図4の具体例の他、補正部3及び認識部4の説明の際にさらに説明する。
図4は、上記具体例として説明した鳴き方による牌の配置の種類数として10種類のものを用意しておく形状情報FM(j)(j=1,2, ..., 10)の例を各欄[1],[2], …, [10]に分けてそれぞれ説明するための図である。
例えば欄[1]に示す形状情報FM(1)は、左からのポン(又は左からチー)により、横に倒した牌P11、縦の牌P12及び縦の牌P13をこの順番及び縦横の向き設定で左から順に並べた旨を特定する構成情報CF(1)を与えるものであり、特徴点座標情報CHP(j)として図示する通りの4点pt11〜pt14を各特徴点としてその座標を特定するものとして与えられるものである。すなわち図示される通り、具体的に特徴点pt11は牌P11の左下頂点であり、特徴点pt12は牌P13の右下頂点であり、特徴点pt13は牌P13の右上頂点であり、特徴点pt14は牌P11の左上頂点であるものとして、特徴点座標情報CHP(1)が与えられる。
なお、[1]の形状情報FM(1)は、左からのポン(又は左からチー)の鳴き牌を正面から見た際の平面状の模様として定義しておくものであり、現実の牌の角は拡大すれば丸みを帯びているものであることが通常であるが、特徴点座標情報CHP(1)においては以上の「頂点」を、当該丸みを帯びている角の部分として定義しておくものである。すなわち、牌を正面から見た際の形を直方体とみなして、その頂点を取ることで特徴点座標情報CHP(1)における各「頂点」を定義しておく。また、麻雀ルールにおいて周知のように、鳴きの向きの「左」、「正面」、「右」は当該麻雀プレイヤー(自家)を基準としたものであり、それぞれ「上家」、「対面」、「下家」に相当する。鳴き牌の並びも当該鳴いた(副露した)プレイヤー(自家)自身を基準としたものである。その他の[2]〜[10]の形状情報FM(2)〜FM(10)においても同様である。
上記説明した[1]の形状情報FM(1)より、図4を参照することでその他の[2]〜[10]の形状情報FM(2)〜FM(10)の内容も明らかであるが、図5及び図6に表形式で図4の形状情報FM(1)〜FM(10)の内容を列挙して示す。図5には、形状情報FM(1)〜FM(5)が示されており、図6には形状情報FM(6)〜FM(10)が示されている。なお、図5及び図6には、形状情報FM(j)を構成する情報として、次にその具体例を説明するコスト関数情報CT(j)も列挙して示されている。
コスト関数情報CT(j)は、いずれの形状情報FM(j)であるか(例えば図4に示したようにいずれの鳴き牌配置[1]〜[9]であるか)を撮像画像から区別できるようにするための情報として、予め設定しておき、形状情報FM(j)を構成する情報として形状情報記憶部51に記憶しておくことができる。
図7は、本発明におけるコスト関数情報CT(j)の設定の「考え方」(の一つ)を、図4等と共通の麻雀における鳴き牌配置を区別する場合を例として、部分[A]〜[D]に分けて模式的に説明するための図である。
図7の部分[A]に示すように、例えば左からのポンの形状情報FM(1)の配置と正面からのポンの形状情報FM(2)の配置とを区別することを考える。ここで、注意すべき点とし、同じ形状情報FM(j)(鳴き牌の配置)であっても実際の撮像画像Pに撮像されている具体的な撮像対象i(鳴き牌の並びを構成している個別の麻雀牌)の組み合わせには様々なパターンがあり得るという点が挙げられる。例えば図7の部分[B]に例示するように、左からのポンの形状情報FM(1)であっても、実際の麻雀牌は一索の刻子1SK、二索の2SK、三索の刻子3SK等といったように、様々なパターン(ポンで刻子を作る場合であれば、前述の通り牌の種類の総数n=3×9+7=34種類のパターン)があり得る。
本発明においては、このような個別の撮像対象iの不定性(鳴き牌のそれぞれが具体的に何であるかの不定性)を許容しつつ、撮像画像Pにおいてまず、撮像されている対象がいずれの形状情報FM(j)に該当するか(どの配置の鳴き牌であるか)を特定した後に、個別の撮像対象iが具体的に何であるか(鳴き牌のそれぞれが何の牌であったか)を特定するというアプローチを取る。(なお、当該具体的な特定処理の内容は後述する抽出部2、補正部3及び認識部4の説明において明らかとなる。当該アプローチを取ることにより、図1を参照して説明したような課題を解決することが可能となる。)
図7の説明に戻り、本発明においては上記アプローチを可能とするため、図7の部分[C]に示すように、形状情報FM(j)の占める領域とその背景の領域とで顕著な輝度差が存在するという点に着目する。当該着目点の模式例として、部分[C]では撮像画像Pにおいて、左からのポンの牌P11,P12,P13の領域や正面からのポンの牌P21,P22,P23は概ね白色であり高輝度となる領域として形成されているが、グレー地で図示するその背景BGは例えば麻雀卓であって、一定色(例えば緑色など)の低輝度(牌領域との対比で低輝度)となる領域として形成されていることが示されている。
上記においては特に、牌の領域は牌の種類によって何らかの文字及び/又は絵柄等が描かれている(白牌や暗槓の場合(なお、暗槓の場合は図4,8の例には含まれていない)における裏返した牌(牌の裏面)を除く)が、領域平均でみれば背景領域と比べて概ね白色・高輝度と判断できる点に着目する。
従って、図7の部分[D]に示すように、例えば鳴き牌の並びの上部側に形成される矩形状領域の輝度の高低の分布に注目することで、鳴き牌を構成する個別の牌(すなわち個別の撮像対象i)が何であるかに依らず、鳴き牌の並びの種類(すなわち形状情報FM(j))を区別することが可能である。
例えば[D]では、形状情報FM(1)において牌P11の上端の外側に形成される矩形A1は背景BGに属するので低輝度であり、牌P12内の上端側領域に形成される矩形B1は牌P12内にあるので高輝度であり、牌P13内の上端側領域に形成される矩形C1は牌P13内にあるので高輝度である。同様に、形状情報FM(2)において牌P22の上端の外側に形成される矩形A2は背景BGに属するので低輝度であり、牌P21内の上端側領域に形成される矩形B2は牌P21内にあるので高輝度であり、牌P23内の上端側領域に形成される矩形C2は牌P23内にあるので高輝度である。
そして、当該高輝度/低輝度の区別が可能な領域が以下に掲げるように互いに区別可能な異なる順番で左から並んでいることに基づいて、形状情報FM(1)と形状情報FM(2)を区別することが可能となる。
形状情報FM(1)…低輝度領域A1、高輝度領域B1、高輝度領域C1
形状情報FM(2)…高輝度領域B2、低輝度領域A2、高輝度領域C2
図8は、上記のように並びが異なることから各形状情報FM(j)を互いに区別することを可能とする低輝度領域Aj、高輝度領域Bj、高輝度領域Cj(j=1〜7)及び高輝度領域Aj、低輝度領域Bj、低輝度領域Cj(j=8〜10)の設定例を、図4の例に重ね書きして描いた図である。形状情報FM(1)及びFM(2)における各領域Aj,Bj,Cjは上記の図7の例で説明したのと同一である。その他の形状情報FM(3)〜FM(10)における各領域Aj,Bj,Cjの設定も図8に示される通りであって、具体的な内容は形状情報FM(1)及びFM(2)において説明したものから明らかであるが、前述の図5及び図6の表にその個別内容が列挙されている。
以上、図8に列挙したように、各形状情報FM(j)において各領域Aj,Bj,Cjの配置関係及びその高輝度/低輝度の区別を定義したものとして、コスト関数情報CT(j)を設定することができる。なお、当該領域及びその高輝度/低輝度の区別によって定義されるコスト関数情報CT(j)を具体的に評価するに際しては、顔認識等において用いられており与えられた領域ごとの濃淡の区別を評価するHarr-Like特徴量などを利用することができる。
以上、本発明における「考え方」の説明を含めて、記憶部5を説明した。以下、図2の各部(抽出部2、補正部3及び認識部4)の説明に戻り、当該「考え方」に即して撮像部1で得た撮像画像から認識が実現される詳細の説明を行う。図9は[1]〜[3]と分けて抽出部2及び補正部3の処理を説明するための模式的な例を示す図であり、図10は補正部3の処理を説明するための模式的な例を示す図であり、以下の説明において適宜参照する。
抽出部2では、撮像部1で撮像された撮像画像を入力し、撮像対象の輪郭形状を抽出したうえでさらに当該輪郭形状から頂点に該当する点群を抽出し、当該輪郭形状を表現したものとしての点群の座標情報を補正部3へと出力する。選択された形状を表現する点群の座標は座標情報として補正部3へ出力する。
ここで、輪郭形状の抽出処理及び当該形状からの点群の抽出処理には、種々の既存技術を用いてよい。例えば、鳴き牌の並びとして形成される輪郭形状を抽出する場合であれば、図7の部分[C]で説明したように牌領域と背景領域とで顕著な色の違いがあるので、色情報を用いた領域分割を適用してよい。あるいは、エッジ検出により境界線分を抽出し包含される領域を選択してもよい。(なお、図3の[2-1]で説明したような牌の側面が見えているような場合も側面は陰となることから当該色の違いが現れ、当該領域分割やエッジ検出等で牌の前面のみからなる輪郭形状を抽出し、当該輪郭形状に基づき前景抽出が可能である。)若しくは、深度情報による前景抽出を用いてもよい。ここで、深度情報は、通常のカメラ画像で取得した時刻が近接する2枚の画像間において微細な動きを検出したうえでの運動視差から奥行を推定する既存手法で求めることができる。あるいは、通常のカメラ画像に対応づける形で別途に投光した赤外線パターンから深度情報を取得する専用デバイス(kinect(登録商標)など)を用いてもよい。以上のように、色情報やエッジ情報、深度情報という特徴を利用し、領域分割やGraph cut、Deep learningなどのアルゴリズムによって、前景の輪郭を抽出できる。さらに、点群抽出は、当該抽出された輪郭形状に多角形をあてはめて頂点を抽出するようにしてもよいし、既に境界線分を抽出している場合であれば線分同士の交点を抽出するようにしてもよい。
図9では、図3の[2](あるいは[2-1],[2-2])と同様の撮像画像Pから抽出部2において輪郭形状及び点群を抽出した模式的な例が、[1]に示されている。すなわち図9の[1]では、撮像画像Pより輪郭形状BDが抽出され、多角形あてはめ等によりその6つの頂点V1〜V6が抽出されている。
補正部3では、以下の各処理([処理1]〜[処理3])を行う。
[処理1…選択処理]
抽出部2より輪郭形状を表現するものして得られた点群座標の中から、特徴情報記憶部52において形状情報FM(j)を構成する情報として記憶されている特徴点座標情報CHP(j)に対応する(と想定される)ものを選択する。当該選択された座標を選択座標SPとする。なお、特徴点座標情報CHP(j)は複数の形状情報FM(j)(j=1,2,…n)に対応して複数あるが、当該選択される選択座標SPはいずれの形状情報FM(j)(j=1,2,…n)であるかに依存せず、1種類のみの選択を行うようにしてよい。
当該選択処理の第一実施形態では、輪郭形状の点群座標の外接多角形を形成した際に、互いの距離が閾値以下になるように,より少ない所定個数の点で近似した結果の多角形における各頂点を選択結果として用いることができる。当該近似は例えば、点群座標の外接M角形の近似候補としての一連のN角形(N<M)の中から、M角形の各頂点からN角形の辺上(あるいは頂点)へと至る最小距離の和(又は最小距離の二乗和)等を最小とするものとして、近似N角形を求めることができる。この場合、事前に形状情報FM(j)内の特徴点座標情報CHP(j)として設定して形状情報記憶部51に記憶させておく具体的な座標(及び当該座標点の個数)は、当該近似処理で選択される点の座標に(概ね)合致するようなものとして設定しておけばよい。
当該選択処理の第二実施形態では、輪郭形状の点群座標を包含する最小外接矩形(4角形)を算出し、それぞれの頂点からL1ノルムが最小となる合計4点を当初の輪郭形状の点群座標の中から選択するようにしてもよい。当該L1ノルムを求める際には、所定の重み付けを行うようにしてもよい。例えば、高さ方向成分に横方向成分よりも大きな重み付けを施し、高さ方向成分が小さくなる方が優先的に選択されるようにしてもよい。
なお、第二実施形態は図4の例のように、形状情報FM(j)内の特徴点座標情報CHP(j)の特徴点を4個として設定しており、各形状情報FM(j)が概ね矩形とみなしてよいような場合に好適である。第一実施形態は当該設定される特徴点の個数を4個に制限せずとも適用可能である。
図9の[2],[3]では、[1]の例の続きの処理の例として、上記第二実施形態を適用した場合の例が示されている。すなわち、[1]で得られた点群V1〜V6で表現される輪郭形状BDを包含する最小外接矩形が[2]に示す矩形RCであり、4頂点V10,V20,V30,V40を有している。ここで頂点V10,V20はそれぞれ[1]に示す点V1,V2に一致している。さらに、[3]には当該[2]に示す最小矩形RCの各頂点V10,V20,V30,V40からの距離が最小となるものを当初の輪郭形状BDの点群V1〜V6の中からそれぞれ選ぶことで、当初の点V1,V2,V3,V6が選択されることが示されている。
[処理2…補正処理]
処理1にて得られた選択座標SPを各形状情報FM(j)の特徴点座標CHP(j)へと変換する補正係数PJ(j)を求め、当該補正係数PJ(j)を撮像部1で得た撮像画像Pに適用することにより、撮像対象を正面で見た(ものと想定される)状態に補正した補正画像COR(j)を得る。当該説明及び表記より明らかなように補正画像COR(j)は形状情報FM(j)ごとにそれぞれ得られる。
当該補正係数PJ(j)は具体的には、一連の選択座標SPを一連の特徴点座標CHP(j)へと変換する平面射影変換行列として求めることができ、補正係数PJ(j)の適用によって得られる補正画像COR(j)は、一般に必ずしもカメラで正面からは撮像されていない撮像対象の写った撮像画像Pを正面で見た状態(特徴点座標CHP(j)の座標系に変換した状態)へと補正した画像とすることができる。なお、平面射影変換行列の算出及び当該行列による補正で正面へ見た状態へと補正することは、前掲の非特許文献1の他、拡張現実分野等において周知である。
上記より明らかなように、また、図4や図8の具体例よりも明らかなように、形状情報記憶部51においては形状情報FM(j)を、当該構成される複数の撮像対象を正面で見た状態において設定し、記憶しておけばよい。一般に平面射影変換行列の算出には4点以上の点対応が必要であるため、特徴点座標CHP(j)は4点以上の特徴点について設定しておけばよい。
また、平面射影変換行列の算出には選択座標SPのどの点が特徴点座標CHP(j)のうちのどの点に対応するかを特定する対応付けの情報が必要である。当該対応付けの情報は、麻雀において自家の鳴き牌を撮像する用途の場合は、正面で撮像されることが想定され、撮像画像においては牌の並びが概ね横並び(図3,4,8等の例のように画像水平方向の並び)になることが想定されるので、当該概ね正面から見た撮像画像P上において牌が横並びである旨を事前知識として活用することで、自動で対応付けを行うことができる。すなわち、図4の例えば[1]に示す特徴点p11〜p14は反時計回りで左下、右下、右上、左上の位置にあるが、実際の撮像画像Pの選択座標SPにおいても当該同様の並びで、特徴点p11〜p14に対応する点が配置されているものとして判断してよい。
図10は、補正部3における当該補正処理の模式的な例を、図4,8等で説明した形状情報FM(1)〜FM(10)が形状情報記憶部51に記憶されている場合に関して示す図である。図10では、撮像画像Pに写っている撮像対象が図3で例示したような右からのポン(図4,8における[3]に示す形状情報FM(3)に該当するもの)であったとした場合に、形状情報FM(1)〜FM(10)における特徴点座標CHP(1)〜CHP(10)へと撮像画像Pをそれぞれ変換して得られる補正画像COR(1)〜COR(10)が列挙されている。
なお、図10に示す補正画像COR(1)〜COR(10)の例においては、黒色に近い濃色の領域ほど低輝度な領域であり、白色に近い淡色の領域ほど高輝度な領域であるものとして表示されている。図7の部分[C]で説明したように、低輝度領域は麻雀卓などの麻雀牌以外の領域であり、高輝度領域は麻雀牌の領域(暗槓の場合の背面の領域の場合も含む)であることが想定される。
図10の例では、撮像画像Pに実際に撮像されていた[3]の右からのポンの特徴点座標CHP(3)の座標系へと変換した補正画像COR(3)が、当該右からのポンの並びを正しく再現していることが見て取れる。一方、補正画像COR(3)以外の補正画像COR(j)(j≠3)では図4等に列挙した本来の並び(前述の構成情報CF(j)として当該並びが記録されている)とはかけ離れた歪んだ形状であることが見て取れる。次に説明する処理によって、撮像画像Pに写っているのは当該[3]の右からのポンである旨を自動決定することができる。
なお、補正画像COR(j) においては、当初の撮像画像Pの座標系から特徴点座標CHP(j)に変換することで当該座標系において各画素位置が特定されるものとなっているので、対応する構成情報CF(j)(及びコスト関数CT(j)の算出領域)が占める領域を当該座標系において抽出することで、図10に列挙したようなもの(特定領域のみを切り出したもの)としての補正画像COR(j)を得ることができる。補正画像COR(j)は当該特定領域を切り出したものとして求めるようにしてもよい。すなわち、撮像画像Pを特徴点座標CHP(j)の座標系に変換したうえで、構成情報CF(j)によって特定される領域及びコスト関数CT(j)の算出領域を抽出すると共に、当該各領域の区別も与えたものを、補正画像COR(j)として求めてもよい。
[処理3…最適な形状情報FM(j)の決定処理]
当該処理は、図10の具体例であれば、[3]に示す「右からのポン」(形状情報FM(3))が撮像画像Pに撮像されていた「正解」であるものとして、候補としての形状情報FM(1)〜FM(10)の中から決定する処理である。
具体的に、最適な形状情報FM(j_opt)は、処理2で得られた各補正画像COR(j)において、対応するコスト関数CT(j)の領域の濃淡(輝度の高低)が、予め特徴情報記憶部52に記憶されているコスト関数CT(j)の領域の濃淡に最も似ているものとして決定することができる。
図11に、図10の各補正画像COR(j)にコスト関数CT(j)の領域を追加して描いたものを示す。各コスト関数CT(j)の領域は図8で説明したのと同様の高輝度領域又は低輝度領域に該当する領域Aj,Bj,Cjを図8(及び図6,7の表)で説明したのと同様の並びで有したものとして構成されている。図11にて当該各領域Aj,Bj,Cjの区別は既に説明した通りであるため、符号付与は省略している。
図11の例では、補正画像COR(j)のうちコスト関数CT(j)の領域Aj,Bj,Cjのほぼ全域がそれぞれ低輝度領域、高輝度領域、高輝度領域として適切に構成されているのは補正画像COR(3)である。一方、補正画像COR(3)以外においては、間違った形状情報FM(j)に即して座標変換したものであることによって形が歪むことに伴い、領域Aj,Bj,Cjが補正画像COR(3)のように適切に高/低輝度領域として区別されたものとはなっていない。従って、最適な形状情報FM(j_opt)を、j_opt=3であるものとして、当初の撮像画像Pに撮像されていたのは形状情報FM(3)(「右からのポン」の配置)であるものとして決定することができる。
上記図10、11の例のような最適な形状情報FM(j_opt)の決定は、例えばHaar-like特徴量等を用いてコスト関数CT(j)の値を各補正画像COR(j)において評価することで、以下に掲げる式のように、当該コスト関数の値を最小化するものとして決定することができる。
具体的なコスト関数CT(j)の設定に関しては、図8で列挙されているパターン(当該設定された領域Aj,Bj,Cjの位置における高輝度/低輝度の区別のパターン)に一致するほど値が小さくなるような関数として設定すればよい。例えば、領域Aj,Bj,Cjの輝度値の平均をそれぞれaj,bj,cjとすると、以下のように設定することができる。
CT(j)=aj-bj-cj (j=1〜7の場合)
CT(j)=(255-aj)-(255-bj)-(255j)
=-aj+bj+cj-255 (j=8〜10の場合)
なお、上記においてj=8〜10の場合は、8ビットを用いて輝度値を0(黒色・最低輝度)から255(白色・最高輝度)までの範囲の値で与えるものとして、j=1〜7のパターンと比べて白黒反転しているパターンを(j=1〜10の全体において同じ尺度で)評価するものとなっている。次の設定例でも(上記のように白黒反転の途中過程の式は示していないが、)同様である。
あるいはさらに、領域BjとCjとの一致性も考慮するようにして以下のように設定してもよい。ここで、||は絶対値演算であり、wは所定の重み係数である。
CT(j)=aj-bj-cj+w|bj-cj| (j=1〜7の場合)
CT(j)=-aj+bj+cj-255+w|bj-cj| (j=8〜10の場合)
以上ではaj,bj,cjを各領域の輝度値の平均としたが、その他の統計的代表値を用いてもよい。この際、輝度値分布においてノイズ影響等が想定される極端な外れ値などを除去したうえで、統計的代表値を求めるようにしてもよい。
なお、以上の具体例の説明よりも明らかであるが、コスト関数CT(j)を計算するための領域Aj,Bj,Cjは、撮像対象(麻雀牌)と背景(麻雀卓)の色情報の違いが際立つことに基づいて区別を可能とするHaar-like特徴量の領域として設定されるものである。
また、明らかなように、図8、図11等の具体例では3つの領域Aj,Bj,Cjをそれぞれ当該示される通りに高輝度又は低輝度の領域として設定したが、識別対象となる具体的な形状情報FM(j)の構成に応じて、適切な個数及び高/低輝度の区別を有したHaar-like特徴量の領域を設定しておくことができる。
以上のように、補正部3では処理1〜処理3をこの順番で行い、処理3で決定された最適な形状情報FM(j_opt)及びその補正画像COR(j_opt)を認識部4へと出力する。
認識部4では、上記出力された形状情報FM(j_opt)(並びを特定する構成情報CF(j)が含まれている)及びその補正画像COR(j_opt)により、補正画像COR(j_opt)において、どの領域がどのような向きで、部分領域P_COR(j_opt, k)(k=1,2,..,, K;総数Kは構成情報CF(j_opt)において定められている)として個別の撮像対象iが配置されている領域となっているかを識別する。
例えば図3の[2]に示したような右からのポンの撮像画像Pにおいて補正部3で形状情報FM(3)が最適と決定されると、同図[1]に示すようなものとして補正画像COR(3)が得られる。従って、部分領域P_COR(3,1)が左側の縦向きの牌領域(図4のP31)であり、部分領域P_COR(3,2)が真ん中の縦向きの牌領域(図4のP32)であり、部分領域P_COR(3,3)が右側の横倒しの牌領域(図4のP33)である、ということを認識部4は識別する。
認識部4はさらに、当該向き及び領域を識別された部分領域P_COR(j_opt, k)(k=1,2,..,, K)についてそれぞれ、当該向きを考慮することで、撮像対象iのいずれに該当するかを認識し、当該認識結果を情報処理装置10からの最終的な出力となす。
当該認識処理には既存技術を利用することができる。例えば、テンプレートマッチングや各種ニューラルネットワーク等の識別器を用いることができる。特徴情報記憶部52では前述の通り、当該認識するためのリファレンス情報として各撮像対象iの特徴情報CH(i)を記憶しておき、認識部4へと提供する。
当該認識の際の向きの考慮に関しては、部分領域P_COR(j_opt, k)の向きが特徴情報CH(i)において定義されている向きと異なっている場合に、特徴情報CH(i)の向きと同じ向きに直したうえで、認識を実行することができる。
例えば図3の[1]の例で部分領域P_COR(3,3)が右側の横倒しの牌領域(図4のP33)となっているが、特徴情報CH(i)においては各牌の模様をテンプレートマッチングのテンプレートとして有しており、通常の縦の状態で当該テンプレートを有しているのであれば、当該横倒しの部分領域P_COR(3,3)を縦に直したうえで、テンプレートマッチングを実施することができる。
ここで特に、テンプレートマッチングによれば麻雀牌の白牌(模様がないため局所特徴を抽出することはできない)も識別可能である。また、図1で課題として示したように、構成模様の単位では同一のものがあり局所特徴では誤認識が生じてしまう二索〜九索などの区別も、テンプレートマッチングによって可能となる。
以上、本発明によれば次のような効果を奏することができる。すなわち、複数の撮像対象iを撮像部1で撮像することで、撮像対象iをそれぞれ認識することができる。特に、複数の同一形状及び/又は同一要素模様等で構成された撮像対象iが取り得る一連の候補としての並び方(形状情報FM(j))に応じた射影変換を適用したうえで、各候補において妥当性を評価することで最適な形状情報FM(j_opt)を決定し、まとめて正面化画像COR(opt_j)に補正したうえで、撮像対象iを認識することができる。
本発明ではこのように、形状情報FM(j)において与えられる配置構成(構成情報CF(j))を基準に補正し妥当性を評価することから、従来扱えなかった特徴点が少ない対象や同一模様、反復模様、部分集合となる対象にも適用することができる。
以下、本発明における補足的事項を説明する。
(1)図2の情報処理装置10は種々の用途に利用可能である。例えば図12に示すような解析装置20のモジュールとして情報処理装置10を組み込んで、撮像画像Pにおいて自家のアガリ牌の画像を撮像し、何の役であるか、点数はどれだけであるかといったことを自動判定可能である。図示するように、解析装置20においては図2と同様の情報処理装置10の認識部4の認識結果を解析部6において受け取り、上記のような役の判定や点数計算を実施することができる。
この場合例えば、図13のようなツモによる和了牌の並びを撮像画像P100として取得し、抽出部2において領域R101及び領域R102にそれぞれ輪郭形状(不図示であるが、輪郭形状BD101及びBD102とする)を抽出することができる。補正部3においては、輪郭形状BD102に関して、図4で説明した[3]右からのポンの形状情報FM(3)に該当する旨を判定すると共に、輪郭形状BD101に関しては得られたコスト関数CT(j)の最小値に対する閾値判定等により、鳴き牌の形状情報FM(1)〜FM(10)には該当せずと判定することができる。
認識部4においては、輪郭形状BD102の形状情報FM(3)に基づく補正画像として、当初の撮像画像P100の全体を正面に直したもの(領域R101も含む)を得たうえで、領域102が九索9Sの刻子である旨を認識することができる。(図13は正面から撮像された例となっているが、必ずしも正面から撮像されていなくとも本発明は適用可能である。)認識部4ではさらに、当該認識結果に基づいて残りの牌が11牌の縦の並びである旨の情報を事前知識(麻雀ルールに基づく事前知識)として取得したうえで、正面の向きに補正された撮像画像Pの当該11牌の領域を個別に認識する手法(鳴き牌の並びに関して構成情報CF(j)を用いたのと同様の手法)により、11牌のそれぞれが図13に示すようなものであることを認識できる。
解析部6では、以上の認識部4による各牌の認識結果を受け取り、麻雀ルールに基づく所定の役のマップ情報等と照らし合わせることで、役が清一色である旨を自動判定し、解析結果として出力することができる。また、その他、自家が親/子のいずれであるか、ドラ牌は何であるか等の解析用付随情報を事前知識として与えておくことにより、麻雀ルールに基づく所定の点数計算マップ情報等と照らし合わせることで、その点数を計算し、解析結果として出力することができる。
以上の解析装置20の動作は一例に過ぎず、種々の変形等が可能である。情報処理装置10には、事前知識として種々の認識用付随情報を与えておき、認識の補助としてもよい。例えば、2回分の鳴き牌と残りの手元牌とが撮像されている場合、その旨の情報を与えて、抽出部2による抽出処理をより確実に実施できるようにしてもよい。ロンあがりの場合、ロン牌は撮像画像から取得するのではなく、メニューから選択して付随情報としてユーザが与えるようにしてもよい。認識させる牌の総数を決定する情報として、例えば手元牌にアンカンがある場合、その旨を事前知識としてユーザが入力してもよい。
(2)以上の説明では麻雀牌の主に鳴き牌を認識する例を説明したが、当該性質を有する任意の対象に本発明は適用可能である。すなわち、複数の撮像対象(麻雀牌)のいずれかの組み合わせが複数の配置構成のいずれか(鳴き牌の配置構成)を形成している撮像画像において、個別の撮像対象を特定することなく配置構成のみをまず特定し、当該特定した際の正面への補正画像によってさらに、個別の撮像対象をそれぞれ特定することに、本発明は適用可能である。
例えば、図14に模式的な例を示すように、無線LANルータにラベルあるいはカード等で記載されているSSID及びパスワード等の自動認識(及び当該自動認識結果に基づく無線LANルータへの通信装置の自動接続)にも本発明は適用可能である。
ここで、形状情報としては[A]に示すように機種XのルータのラベルLBXにおいては高輝度の矩形欄P101にSSIDが記載され、黒色などの背景領域BG内にある矩形領域R102を経由してさらにその下の高輝度の矩形領域P103にパスワードが記載されている旨と、[B]に示すようにそのコスト関数CT(X)として領域R102,P101,P103がそれぞれ低輝度領域AX,高輝度領域BX,高輝度領域CXである旨を、予め設定しておけばよい。同様に、機種YのルータのラベルLBYにおいては高輝度の矩形欄P201にSSIDが記載され、黒色などの背景領域BG内にある矩形領域R202を経由してさらにその下の高輝度の矩形領域P203にパスワードが記載されている旨と、[B]に示すようにそのコスト関数CT(Y)として領域R202,P201,P203がそれぞれ低輝度領域AY,高輝度領域BY,高輝度領域CYである旨を、予め設定しておけばよい。
当該設定により、機種Xか機種Yかが未知の状態であっても無線LANルータのラベル等を撮像したうえで、以上説明した情報処理装置10の動作によっていずれの機種のラベルであるかを判定したうえで、正面に補正した補正画像を得ることができる。さらに、当該補正画像においてSSIDの記載領域とパスワード等の記載領域とを識別したうえで、既存のOCR等を適用することでSSID及びパスワード等を自動認識することができる。
(3)ハードウェア構成について
図15は、図2に示す情報処理装置10及び図12に示す解析装置20をそれぞれ実現可能な機器のハードウェア構成の一例を示す図である。機器30は、CPU(中央演算装置)31、当該CPU31にワークエリアを提供する主記憶装置32、ハードディスクやSSDその他で構成可能な補助記憶装置33、キーボード、マウス、タッチパネルその他といったユーザからの入力を受け取る入力インタフェース34、ネットワークに接続して通信を行うための通信インタフェース35、表示を行うディスプレイ36、カメラ37及びこれらを接続するバスBを備える。
図2に示す情報処理装置10及び図12に示す解析装置20の各部の処理はそれぞれ、当該処理を実行させるプログラムを読み込んで実行するCPU31によって実現することができるが、任意の一部の処理を図15には不図示の専用回路において実現するようにしてもよい。撮像部1は、当該ハードウェアとしてのカメラ37によって実現できる。
(4)構成の変形例について
図2に示す情報処理装置10及び図12に示す解析装置20の各部のうち任意の一部分は、外部機器において実現される機能として実現するようにしてもよい。例えば、解析装置20の構成において、撮像部1のみをユーザ端末に実装し、その他の機能部をサーバに実装し、ユーザ端末から撮像画像をサーバへと送信し、サーバの解析部6で得られた解析結果(点数計算結果など)をユーザ端末へと返信してもよい。その他、任意の構成が可能である。