(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-04-14
(45)【発行日】2022-04-22
(54)【発明の名称】乗車判定システム、設定プログラム、携帯端末、及び、管理サーバ
(51)【国際特許分類】
G06F 16/53 20190101AFI20220415BHJP
G01C 21/26 20060101ALI20220415BHJP
【FI】
G06F16/53
G01C21/26 P
(21)【出願番号】P 2020205099
(22)【出願日】2020-12-10
【審査請求日】2020-12-23
(73)【特許権者】
【識別番号】515332975
【氏名又は名称】近畿日本鉄道株式会社
(74)【代理人】
【識別番号】100100376
【氏名又は名称】野中 誠一
(74)【代理人】
【識別番号】100142077
【氏名又は名称】板谷 真之
(74)【代理人】
【識別番号】100143199
【氏名又は名称】磯邉 毅
(72)【発明者】
【氏名】伊東 剛志
(72)【発明者】
【氏名】古川 真則
(72)【発明者】
【氏名】溝口 雄斗
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2006-018181(JP,A)
【文献】特開2018-106465(JP,A)
【文献】国際公開第2018/198809(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G01C 21/00-21/36
(57)【特許請求の範囲】
【請求項1】
交通機関の交通情報を提供する情報提供サーバと、前記情報提供サーバから必要な交通情報を取得可能に構成された携帯端末と、前記携帯端末から、交通情報に関する撮影画像と、これに対応する文字情報を取得可能に構成された管理サーバと、を有して構成され、
前記管理サーバは、所定のシャッター速度、前記携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件で撮影された撮影画像を受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている乗車判定システム。
【請求項2】
交通機関の交通情報を提供する情報提供サーバと、前記情報提供サーバから必要な交通情報を取得可能に構成された携帯端末と、前記携帯端末から、交通情報に関する撮影画像と、これに対応する文字情報を取得可能に構成された管理サーバと、を有して構成され、
前記管理サーバは、連写撮影された複数枚の撮影画像か、動画撮影された動画フレームの撮影画像を受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている乗車判定システム。
【請求項3】
前記文字情報を特定可能なID情報に対応して、一又は複数個の特徴量を記憶する特徴パラメータテーブルを備えて構成され、
前記特徴量は、前記携帯端末から受信する可能性のある撮影画像ごとに予め注出されて、前記特徴パラメータテーブルに記憶されている請求項1又は2に記載の乗車判定システム。
【請求項4】
前記管理サーバが取得した撮影画像が、前記文字情報との関係で適切か否かの判定は、
前記撮影画像から注出される特徴量と、前記特徴パラメータテーブルに記憶されている特徴量と、を比較して実行される請求項3に記載の乗車判定システム。
【請求項5】
前記特徴量は、撮影画像に含まれている、交通機関の行先及び/又は種別に関して注出される請求項3又は4に記載の乗車判定システム。
【請求項6】
交通機関の行先と、当該交通機関の種別とに関する複数の組合せに対応して、組合せ毎に前記ID情報が付されている請求項5に記載の乗車判定システム。
【請求項7】
前記携帯端末には、所定のシャッター速度、当該携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件を設定する設定プログラムがインストールされている請求項1に記載の乗車判定システム。
【請求項8】
所定のシャッター速度、携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件を
請求項1に記載の携帯端末に設定する
ための設定プログラム。
【請求項9】
請求項8に記載の設定プログラムがインストールされた携帯端末。
【請求項10】
所定のシャッター速度、携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件で撮影された撮影画像を、これに対応する文字情報と共に、前記携帯端末から受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている管理サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、乗車しようとしている乗り物が、正しいか否かを、簡易、且つ確実に判定できる乗車判定システムに関し、特に、旅行客に対して好適に機能する。
【背景技術】
【0002】
現地の地理に明るくない観光客にとって、乗車すべき列車やバスを正確に把握することは容易でなく、特に、外国人観光客にとっては、その困難が顕著である。そこで、鉄道駅員などの係員は、観光客から頻繁に質問を受けることになるが、労働力の不足が問題視される中で、このまま、人による対応を続けた場合、サービスレベルを維持するのが難しくなるおそれがある。
【0003】
そこで、かかる点を考慮して、携帯端末のカメラで撮影した車両や案内表示板の画像を判定して、携帯端末に適切な情報を返信するシステムも提案されている(特許文献1~特許文献2)。
【0004】
例えば、特許文献1には、「(端末装置から受けた経路探索条件を満たす、出発地から目的地までの案内経路を探索して)案内経路(データ)を取得する第1手段と、撮影部を制御して交通機関の乗車案内表示物の撮影画像を取得する第2手段と、上記撮影画像中の表示内容を抽出する第3手段と、上記案内経路と、上記表示内容から特定された路線、駅名および進行方向のうち少なくとも1つと、に基づいて、上記路線が適切であるか否かなどを含む案内情報を生成する第4手段と、上記案内情報を出力する第5手段と、を備えた情報処理システム」が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6017636号公報
【文献】特許第5775076号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
この特許文献1に記載の構成では、案内経路を取得することが必須要件となっているが、第1手段や第4手段を実現することが、現実的には容易でない。この点を、具体的に確認すると、先ず、利用者は、端末装置を操作して出発地と目的地とを含む経路探索条件を、ナビゲーションサーバへ送信する煩雑な処理が必要となる。
【0007】
しかも、ナビゲーションサーバでは、経路探索条件を満たす出発地から目的地までの案内経路を、交通網データベースから探索して、案内経路データを生成する必要があり、この処理も、ナビゲーションサーバにとって大きな処理負担となる。
【0008】
かかる点を考慮すると、利用者の処理負担が少なく、且つ、サーバ側の処理負担も軽いシステムの完成が望まれるところである。特に、携帯端末の内蔵カメラを最適に動作させることができるシステムの完成が望まれる。
【0009】
本発明は、上記の課題に鑑みてなされたものであって、携帯端末の内蔵カメラを最適に動作させることで、利用者が乗車選択した乗り物の選択の正否を、簡易且つ高精度に判定できる乗車判定システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記の目的を達成するため、請求項1に係る乗車判定システムは、交通機関の交通情報を提供する情報提供サーバと、前記情報提供サーバから必要な交通情報を取得可能に構成された携帯端末と、前記携帯端末から、交通情報に関する撮影画像と、これに対応する文字情報を取得可能に構成された管理サーバと、を有して構成され、前記管理サーバは、所定のシャッター速度、前記携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件で撮影された撮影画像を受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている。
【0011】
また、請求項2に係る乗車判定システムは、交通機関の交通情報を提供する情報提供サーバと、前記情報提供サーバから必要な交通情報を取得可能に構成された携帯端末と、前記携帯端末から、交通情報に関する撮影画像と、これに対応する文字情報を取得可能に構成された管理サーバと、を有して構成され、前記管理サーバは、連写撮影された複数枚の撮影画像か、動画撮影された動画フレームの撮影画像を受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている。
【0012】
上記した何れの発明でも、交通情報に関する撮影画像が、これに対応する文字情報と共に、携帯端末から送信されるので、管理サーバは、撮影画像と文字情報の整合性を判定するだけでよく、制御負担が大幅に軽減される。すなわち、管理サーバは、与えられた条件(経路探索条件)を満たす出発地から目的地までの案内経路を探索する必要は全くない。
【0013】
また、管理サーバは、撮影画像と共に、これに対応する文字情報を携帯端末から受けるので、文字認識処理を経ることなく、撮影画像と文字情報だけで、利用者が乗車選択した乗り物の選択の正否情報を返信することができる。
【0014】
一方、本発明は、所定のシャッター速度、携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件を請求項1に記載の携帯端末に設定するための設定プログラム、又は、前記設定プログラムがインストールされた携帯端末でもある。
【0015】
また、本発明は、所定のシャッター速度、携帯端末で規定されている絞り値、及び、前記シャッター速度と前記絞り値に対応して規定される所定のISO感度の撮影条件で撮影された撮影画像を、これに対応する文字情報と共に、前記携帯端末から受けて、その撮影画像が、前記文字情報との関係で適切か否かの判定結果を、前記携帯端末に返信するよう構成されている管理サーバでもある。
【0016】
上記の発明を利用することで、携帯端末を最適条件で動作させることができ、管理サーバの判定精度を上げることができる。
【0017】
交通機関には、少なくとも、列車、バス、飛行機、船、及びタクシーが含まれる。情報提供サーバは、管理サーバと同一ドメインでも良いし、異なるドメインでもよい。
【0018】
画像撮影データは、静止画であっても、動画であっても良い。画像撮影データは、典型的には、列車などの交通機関の側面プレート(行先表示器)を撮影したデータである。但し、駅ホーム(Platform)などに配置された列車案内表示板を撮影したものでもよい。
【発明の効果】
【0019】
本発明によれば、携帯端末の内蔵カメラを最適に動作させることで、利用者が乗車選択した乗り物の選択の正否を、簡易且つ高精度に判定することができる。
【図面の簡単な説明】
【0020】
【
図1】列車側面の行先表示器を撮影する場合の最適なシャッター速度を検討した検討結果である。
【
図2】第1駅~第3駅の列車案内表示板や行先表示器について、最適なISO感度を検討した検討結果である。
【
図3】第4駅~第6駅の列車案内表示板や行先表示器について、最適なISO感度を検討した検討結果である。
【
図4】実施例に係る乗車判定システムの全体構成を示す構成図である。
【
図5】携帯端末に配信されるWebページを例示した図面である。
【
図6】画像修復処理と反射除去処理の処理結果を示す図面である。
【
図7】明度(Value )を示すV値の出現ヒストグラムから、V値の閾値TH2を特定する手法を説明する図面である。
【
図8】別の実施例に係る乗車判定システムの全体構成を示す構成図である。
【発明を実施するための形態】
【0021】
以下、実施例に基づいて、本発明を詳細に説明する。先ず、携帯端末の内蔵カメラを最適に動作させる撮影条件を特定するべく実施した撮影調査と、この調査結果から得られた最適撮影条件について説明する。
<最適撮影条件の特定>
【0022】
本発明者は、駅ホームに設置された列車案内表示板と、列車側面の行先表示器をカメラで正確に撮影できる撮影条件を検討した。なお、列車側面の行先表示器には、文字がシートに印刷されている「字幕タイプ」のものと、LED表示器を使用する「LEDタイプ」のものとが存在する。また、列車案内表示板としては、液晶表示器を使用する「液晶タイプ」のものが一般的である。
【0023】
また、スマートフォンなどの携帯端末の内蔵カメラを使用して、列車案内表示板や行先表示器を正確に撮影できるか否かは、カメラのレンズを通過してくる光の総量や、画像そのものの明るさに関連し、これらは、レンズの絞り値と、露光時間と、フィルム感度(実際には撮像素子の感度)と、の組み合わせによって決まる。
[調査検討1(シャッター速度について)]
【0024】
そこで、先ず、最適なシャッター速度について検討した。ここで、シャッター速度とは、カメラによる写真撮影の際に、シャッターが開放され、フィルムまたは撮像素子が、レンズを通した光に晒される時間(露光時間)を意味し、露光時間が短いほどシャッター速度が速く、露光時間が長いほどシャッター速度が遅い関係にある。
【0025】
このシャッター速度の調査では、携帯端末の内蔵カメラについて、(1) 手ぶれ補正機能=OFF設定、(2) 絞り値=自動設定、(3) ISO感度=自動設定にして、各駅において、シャッター速度を、1/4000秒、1/1000秒、1/400秒、1/125秒、1/5秒、その他に多様に変更しつつ、多数の画像を撮影し、撮影画像が適切か否かを目視判定した。
【0026】
撮影画像の適切性は、撮影画像の明るい/暗いは問題にせず、コンピュータによる画像認識が可能か否かの観点で判定し、文字が途切れないことを最優先の条件とした。これは、LEDタイプの行先表示器は、いわゆるダイナミック点灯方式を採っている場合が多く、シャッター速度が速すぎると、途切れた文字しか撮影できないためである。また、「液晶タイプ」の列車案内表示板も、全ての画素が同時に点灯される訳ではなく、文字の途切れが懸念されるためである。
【0027】
先ず、
図1(a)に示す通り、「字幕タイプ」の行先表示器の調査結果では、シャッター速度1/5秒の場合に、手振れが生じたものの、シャッター速度に関係なく撮影可能と結論された。
【0028】
次に、
図1(b)に示す通り、「液晶タイプ」の列車案内表示板については、1/5秒と1/20秒における手ぶれ以外は撮影に成功した。したがって、「液晶タイプ」の列車案内表示板についても、シャッター速度に関係なく撮影が可能と結論される。
【0029】
「LEDタイプ」の行先表示器は、ダイナミック点灯の動作態様が必ずしも一定しない。そのため、シャッター速度1/160秒でも文字が途切れる場合があるが、シャッター速度1/1000秒より速いと殆ど正確に撮影できなかった(
図1(c)参照)。一方、シャッター速度が遅すぎると手ぶれの心配があるので、一枚も失敗が無かった1/40~1/125秒が最適と結論される。
【0030】
以上の通り、(1) 字幕タイプの場合は、シャッター速度が1/5秒より速ければ問題が無いこと、(2) 液晶タイプの場合は、1/40秒よりシャッター速度が速ければ問題が無いこと、(3) LEDタイプの場合は、シャッター速度1/40~1/125秒であれば問題が無いこと、が明らかとなった。そこで、本発明者は、シャッター速度1/40~1/125秒が好適な数値範囲であると結論した。
[調査検討2(明るさ調査)]
【0031】
続いて、正しい明るさで撮影できる設定値を導くべく、明るさについて調査検討した。なお、明るさには、シャッター速度と、ISO感度と、絞り値の全てが関係する。
【0032】
先ず、ISO感度は、写真フィルム(携帯端末では撮像素子)のISO規格(International Organization for Standardization)であって、ある撮像素子が、どの程度弱い光まで対応できるかを示している。例えば、ISO感度200の撮像素子は、受光能力が、ISO感度100の2倍あるため、ISO感度100の半分の強さの光まで対応できることになる。
【0033】
このISO感度は、対数表記I’又は算術表記Iされるが、対数表記I’と、算術表記Iとの間には、I=10(I’-1)/10・・・(式1)や、I’=10Log10I+1・・・(式2)の近似式が成立する。(式1)では、算術表記Iが、最も近い値の標準的感度に丸められ、(式2)では、対数表記I’が四捨五入によって整数化される。
【0034】
したがって、例えば、ISO感度20(算術表記I=20)は、対数表記では、I’=10Log1020+1≒14となる。つまり、ISO感度(算術表記)20は、対数表記では14であって、20≒101.3の関係が成立する。
【0035】
また、絞り値Fは、レンズの焦点距離と、有効口径(直径)とに基づいて、絞り値F=焦点距離/有効口径(直径)・・・(式3)と特定される。したがって、同じレンズでは、絞り値が小さいほど撮影画像が明るくなり、例えば、絞り値2.0は、絞り値4.0より4倍明るいことになる。
【0036】
以上を踏まえて、調査2では、(1) シャッター速度=1/125秒、(2) 絞り値=2.2、(3) 手ぶれ補正=OFF設定の条件で、ISO感度を、100,200,400,800,1600,3200,4000,8000に変化させて、設置環境が異なる複数の駅で、列車案内表示板や行先表示器を撮影した画像について、その明るさの適否を判定した。
【0037】
図2(a)は、照度440~920ルクスの地下駅1について、ISO感度を変えて列車案内表示板や、行先表示器を撮影した多数の撮影サンプルを評価して、適正割合の%表記を示したものである。
【0038】
ISO感度1600を超えると明る過ぎて半分以上が失敗と評価され、一方、ISO感度を100まで下げると暗すぎて3割ほど失敗することが判明した。したがって、この地下駅1では、ISO感度200~400が適切と考えられる。
【0039】
図2(b)は、照度590~1130ルクスの地上駅2についての調査結果である。ISO感度が800を超えると半分以上が失敗と評価され、ISO感度が低ければ低いほど、撮影成功率が高いことが判明した。なお、ISO感度200、400の失敗は、回送電車を撮影したためであり無視することができる。したがって、地上駅2では、ISO感度100~400が適切と考えられる。
【0040】
図2(c)は、照度140~1900ルクスの地上駅3についての調査結果である。この地上駅3では、ISO感度200~400が適切であると評価される。
【0041】
図3(a)は、照度600~1060ルクスの地上駅4についての調査結果である。この調査結果によれば、地上駅4では、ISO感度100~200での撮影が適切であると評価される。
【0042】
図3(b)は、照度280~5500ルクスの地上駅5についての調査結果である。地上駅5では、ISO感度が低ければ低い程、撮影成功率が高いことが確認される。そして、ISO感度800を超えると半分以上失敗するので、ISO感度100~200での撮影が適切であると評価される。
【0043】
図3(c)は、照度5万~20万ルクスの地上駅6についての調査結果である。地上駅6は、直射日光を受けて、目を開けているのも辛い明るさであり、ISO感度80まで下げても高い確率で失敗する。絞り値を4以上に設定すれば、直射日光下でも撮影は可能であるが、好適なシャッター速度(1/40~1/125秒)を考慮すると、シャッター速度を1/125秒より速くできないという条件下では、携帯端末でここまで暗く設定することはできない。
【0044】
以上の通り、絞り値=2.2、シャッター速度=1/125秒の条件において、(1) 地下駅1では、ISO感度200~400が適切であること、(2) 地上駅2では、ISO感度100~400が適切であること、(3) 地上駅3では、ISO感度200~400が適切であること、(4) 地上駅4では、ISO感度100~200が適切であること、(5) 地上駅5では、ISO感度100~200が適切であること、(6) 地上駅6では、携帯端末での撮影は難しいこと、が明らかなとなった。そこで、本発明者は、撮影時には直射日光を避けるという条件付きで、ISO感度200が望ましいと結論した。
【0045】
但し、上記の結論は、あくまで絞り値が2.2の場合であり、携帯端末によって絞り値が異なる。しかも、この絞り値は、一般に、自由に変更することはできない。そこで、この制限を踏まえて、どんな携帯端末でも、適切な条件で動作する構成を特定する必要がある。
【0046】
そこで、更に検討した結果、本発明者は、三つのパラメータである(1) シャッター速度、(2) ISO感度、及び、(3) 絞り値は、互いに影響し合い、一つ正しい設定値を見つければ、どの数値を変えても他の数値で補完することができることに思い至った。すなわち、(1) シャッター速度は、シャッターが開放され撮像素子が、レンズを通した光に晒される時間(露光時間)であるので、シャッター速度Sが遅くなればなるほど、撮影画像が明るくなり、例えば、シャッター速度S=1/500秒は、S=1/1000秒よりも2倍明るいと言える。
【0047】
(2) ISO感度は、撮像素子がどの程度弱い光まで対応できるかのパラメータであり、ISO感度が大きいほど、撮影画像が明るくなり、例えば、ISO感度1000は、ISO感度500よりも2倍明るいと言える。
【0048】
(3) また、絞り値F=焦点距離/有効口径(直径)・・・(式3)より、絞り値は、その数値(有効口径)が小さいほど、撮影画像が明るくなり、例えば、絞り値2.0は絞り値4.0より4倍明るいと言える。
【0049】
これら、(1) シャッター速度Sと、(2) ISO感度Iと、(3) 絞り値Fによれば、下記の(式4)が成立するように、シャッター速度Sと、ISO感度Iと、絞り値Fの各値を調整することで、一定の明るさを保つことができると考えられる。
S×I/F2=一定・・・(式4)
そして、先の調査結果の最適値(S=1/125,I=200,F=2.2)より、(式4)の一定値は、最適条件において、ほぼ0.33(≒1/125×200/2.22)であると特定される。
【0050】
すなわち、(式4)の算出値が0.33となるよう、(1) シャッター速度Sと、(2) ISO感度Iと、(3) 絞り値Fについて、各値を設定すれば、どの携帯端末でも正しい明るさで行先表示器や列車案内表示板を撮影することができることになる。
【0051】
一般に、携帯端末は、カメラレンズの絞り値Fが固定値である。また、調査の結果、ある程度暗めの撮影が求められることから、シャッター速度は最適範囲(1/40~1/125秒)のうち最速の1/125秒に固定し、携帯端末の絞り値Fに応じて、ISO感度Iを、(式4)に基づいて算出し、そのISO感度に調整するのが望ましいと結論した。
【0052】
すなわち、以下に説明する実施例では、使用する携帯端末のカメラレンズの絞り値Fに基づき、ISO感度Iを、I=0.33×F2×125・・・(式5)に設定して行先表示器や列車案内表示板を撮影することにする。
【0053】
但し、(式5)を、そのまま使用すると、F=2.0の場合に、I=165となり、F=2.2の場合に、I=199.65となるなど、採用可能なISO感度に完全には一致しない。そこで、予め、決定テーブルCNVを用意しておき、例えば、F=2.0の場合に160を採用し、F=2.2の場合にISO感度200を採用するよう構成している。
【0054】
【0055】
<乗車判定システム>
図4は、携帯端末の内蔵カメラを、上記した最適撮影条件で動作させる乗車判定システムを示すブロック図である。なお、ここでは、一例として、地理に不案内な旅行者(システム利用者)が、目的駅に行くために乗車選択した列車の選択が、正しいか否かを判定する場合について説明する。
【0056】
一般に、駅ホームに設置された列車案内表示板は、その駅ホームからの発車時刻と、発車予定の列車の種別と、行先駅(終着駅又は乗換駅)とを表示している。また、列車側面の行先表示器には、列車の種別と、行先駅(終着駅又は乗換駅)とが一般に表示されている。
【0057】
ここで、種別とは、全ての列車を、普通/準急/急行/快速急行/特急などに区分する情報であり、行先駅への到着時刻の優劣関係や、途中停車駅の違いなどを特定している。
【0058】
図4に示す通り、実施例の乗車判定システムは、カメラ付きの携帯端末1と、目的駅に到着するために必要な列車情報を提供する列車情報提供サーバ2と、所定の文字情報と画像情報を携帯端末1から受ける共に、画像認識サーバ4から受ける情報に基づいて、利用者による列車選択の適否を携帯端末1に返信する管理サーバ3と、管理サーバ3から転送される画像情報を、登録済みの画像情報を比較して、必要な判定情報を返信する画像認識サーバ4と、を有して構成されている。
【0059】
列車情報提供サーバ2と、管理サーバ3と、画像認識サーバ4は、各々、インターネット回線NETに接続されたHTTPサーバである。また、携帯端末1は、内蔵カメラを有すると共に、移動体通信回線MOBを経由して、インターネット回線NET上のWEBページを取得するブラウザが搭載されている。
【0060】
また、携帯端末1には、内蔵ブラウザと協働して、以下に説明する処理を実行する乗車判定アプリ(アプリ名はJUDG)が、決定テーブルCNV(表1)と共に、予めインストールされている。
【0061】
この乗車判定アプリJUDGは、Webページに記載された所定ボタンを、利用者がタップすると起動するよう構成されている。但し、何ら、この構成に限定されず、乗車判定アプリ自体がブラウザ機能を発揮して、アプリ内でWebページを表示して、利用者の操作を待つ構成を採っても良い。
【0062】
何れの構成を採る場合でも、乗車判定アプリJUDGの起動時に実行される初期設定処理によって、内蔵カメラのシャッター速度Sが、1/125秒に設定されると共に、当該携帯端末1の絞り値Fに対応するISO感度Iが、表1に示す決定テーブルCNVに基づく最適値に設定される。
【0063】
また、列車情報提供サーバ2は、携帯端末1(WEBクライアント)からの指示に基づき、任意の出発駅と目的駅に関して、発車時刻などの列車情報などを掲載したWEBページ(
図5参照)を配信するよう構成されている。
【0064】
図5に示すように、このWebページには、出発駅(〇〇)から到着駅(××)に移動する列車種別(図示例は特急)と、出発時間及び到着時刻が、運賃などと共に掲載されている。また、このWebページには、「行先判定ボタン」が配置されており、このボタンを利用者がタップすると、インストール済みの乗車判定アプリJUDGが起動するよう構成されている。
【0065】
このWebページは、具体的には、例えば、URLスキームが活用され、anchorタグのスキーム名の部分に、通信プロトコルを特定するhttpに代えて、アプリ名(JUDG)を指定することで、インストール済みのアプリJUDGが実行可能となっている。すなわち、このWebページには、例えば、<a href = "JUDG://">行先判定</a>のようなanchorタグが記載されている。
【0066】
そして、利用者のタップ操作に対応して、乗車判定アプリJUDGが起動すると、内蔵カメラが起動すると共に、シャッター速度Sが1/125秒に設定され、当該携帯端末1の絞り値Fに対応する最適なISO感度Iが設定される。
【0067】
次に、「乗車しようとする列車について、その列車側面の行先表示器か、列車案内表示板を撮影して下さい。」との案内画面が立ち上がる。そのため、利用者は、内蔵カメラを、列車側面の行先表示器か、駅ホームの列車案内表示板に向けた後、シャッターを切ることになる。
【0068】
また、このWebページには、hidden属性のinput タグに、行先駅と、列車種別(普通/準急/急行/快速急行/特急)と、出発駅と、発車時刻と、が隠しデータとして記載されている。更に、このWebページには、シャッター操作などに基づき機能するJavaScriptプログラムが記載されており、行先駅と列車種別と出発駅と発車時刻とは、内蔵カメラが撮影した撮影データと共に、例えばPOSTデータとして、管理サーバ3に送信されるようになっている。
【0069】
具体的な手法は、適宜であるが、HTML5(Hyper Text Markup Language version5 )では、携帯端末1の内蔵カメラの機能をJavaScriptから直接利用できるので、シャッターを切った瞬間の画像を、Webページの適当なタグ(例えばcanvasタグ)に貼り付け、他の情報と共に、管理サーバ3に向けてPOST送信すれば良い。
【0070】
以上、携帯端末1の内蔵ブラウザが、列車情報提供サーバ2をアクセスする構成について説明した。このような構成を採る場合には、大部分の処理がJavaScriptによって実行可能であるので、乗車判定アプリJUDGは、内蔵カメラの撮影条件を最適設定し、その後の操作を案内する処理だけを実行すれば足りることになる。
【0071】
但し、列車情報提供サーバ2は、上記したJavaScriptプログラムを記載したWebページであって、且つ、アプリ名JUDGを記載したanchorタグで構成された「行先判定ボタン」を用意する必要がある。そこで、この煩雑さを解消するには、乗車判定アプリ自体にブラウザ機能を持たせ、乗車判定アプリJUDGが、列車情報提供サーバ2を直接アクセスする構成を採るのが好ましい。
【0072】
このような後者の構成を採る場合には、列車情報提供サーバ2が、特別なWebページを用意する必要がなくなり、スキーム名をhttpとする通常のanchorタグを埋め込んだ「行先判定ボタン」を配置し、行先駅と列車種別と出発駅と発車時刻とを、例えばhidden属性で記載したWebページを配信することになる。この場合、乗車判定アプリJUDGは、初期設定処理だけでなく、利用者による「行先判定ボタン」のタップ操作に対応して、上記した一連の処理を全て実行することになる。
【0073】
続いて、管理サーバ3について説明する。管理サーバ3は、原則として、乗車判定アプリJUDGが搭載された携帯端末1との交信を予定しており、携帯端末1から受けた情報(行先駅/列車種別/出発駅/発車時刻/撮影データ)を、適宜な作業領域WORKに一時記憶すると共に、撮影データについては、これを画像認識サーバ4に転送するよう構成されている。
【0074】
この管理サーバ3の構成に対応して、画像認識サーバ4は、撮影データの受信に対応して画像認識プログラムRECOG が起動するよう構成されている。この画像認識プログラムRECOG は、転送されてきた撮影データから複数の特徴量を注出する注出アルゴリズムを有して構成されている。
【0075】
また、画像認識サーバ4は、本システムで転送されてくる可能性がある全ての行先表示器と、全ての案内表示板についての模範的な撮影データ(模範撮影データ)を予め受けている。そして、画像認識プログラムRECOG は、全ての模範撮影データから、特徴量の注出処理を完了しており、注出された特徴量は、一意の画像IDと共に、特徴パラメータテーブルTBL2に記憶されている。
【0076】
すなわち、列車側面に配置された行先表示器には、必ず、列車種別と行先駅が表示されており、画像認識サーバ4の画像認識プログラムRECOG は、列車種別と行先駅の全ての組み合わせについて、予め取得した模範撮影データから、必要な特徴量の注出を終えている。
【0077】
この点は、駅ホームに設置されている案内表示板についても同様であり、画像認識サーバ4(画像認識プログラムRECOG )は、案内表示板に表示される可能性のある列車種別と行先駅の全ての組み合わせについて、予め取得した模範撮影データから、必要な特徴量の注出を終えている。
【0078】
なお、カメラで撮影した画像には、通常、列車種別や行先駅だけでなく、行先表示器の輪郭画像や他の文字情報も映り込んでいる。しかし、画像認識サーバ4の画像認識プログラムRECOG は、転送されてきた判定対象の撮影データから注出した複数の特徴量と、特徴パラメータTBL2に登録されている特徴量とを、画像IDごとに順番に対比して、一致する特徴量が最大個数となる画像IDと、この画像IDを選択したことの正解率(スコア値)を特定して管理サーバ3に返信している。したがって、ターゲット情報(列車種別/行先駅)以外の情報は、事実上、無視されることになる。なお、正解率は、特徴量の一致個数などに基づいて算出される。
【0079】
一方、管理サーバ3には、画像認識サーバ4の特徴パラメータテーブルTBL2に対応して、参照テーブルTBL1が、出発駅ごとに設けられている。この参照テーブルTBL1には、全ての行先表示器と、全ての案内表示板について、行先駅と、列車種別の文字情報が、特徴パラメータテーブルTBL1と同一の画像IDで特定されて記憶されている。また。この参照テーブルTBL1には、画像ID毎に、当該列車の発車時刻が一又は複数個記憶されている。
<乗車判定システム各部の動作>
【0080】
以上、
図4に基づいて、乗車判定システムの構成を説明したので、システム利用者が乗車選択した列車の選択が正しいか否かを判定する一連の動作を説明する。
【0081】
なお、以下の説明では、(1)列車情報提供サーバ2は、スキーム名をhttpとする通常のanchorタグを埋め込んだ「行先判定ボタン」を配置し、行先駅/列車種別/出発駅/発車時刻をhidden属性で記載したWebページを配信し、(2)乗車判定アプリJUDGは、自らの内部処理としてブラウザ機能を発揮して、Webページを表示し操作する場合について説明する。また、以下の説明では、システム利用者は、駅ホームにおいて、自分が乗車しようとする列車を選択したタイミングであるとする。
[
図4の第1ステップ~第3ステップ(携帯端末1の動作)]
【0082】
利用者が、乗車判定アプリJUDGを起動させると、起動した乗車判定アプリJUDGは、内蔵カメラを最適撮影条件に設定した後、ブラウザ機能を発揮する。すなわち、初期設定処理後は、任意のHTTPサーバがアクセス可能となるので、システム利用者は、列車情報提供サーバ2をアクセスして、自分が今いる出発駅と、自分が行きたい行先駅に関するWebページを取得して、
図5のような列車案内画面をアプリ内に表示させる。
【0083】
そして、出発時間などを確認した上で、システム利用者が「行先判定ボタン」をタップすると、内蔵カメラが起動して、「列車側面の行先表示器か、又は、駅ホームの列車案内表示板を撮影して下さい。」との案内画面が表示される。この場合、内蔵カメラの表示画面には、行先表示器や列車案内表示板に対応する縦横比を有する、横長のフレーム枠が表示されるようになっている。
【0084】
そこで、利用者は、内蔵カメラを行先表示器か列車案内表示板に向け、横長のフレーム枠に、車種と行先駅を捉えたタイミングで、撮影シャッターを押すことになる。
【0085】
すると、このシャッター操作に対応して、乗車判定アプリJUDGは、内蔵カメラが撮影した撮影データを、Webページにhidden属性で記載されている行先駅/列車種別/出発駅/発車時刻と共に、管理サーバ3にPOST送信する。
[
図4の第4ステップ(管理サーバ3の動作)]
【0086】
先に説明した通り、携帯端末1からPOSTデータを受けた管理サーバ3は、行先駅/列車種別/出発駅/発車時刻を、作業領域WORKに一時記憶する。また、管理サーバ3は、撮影データを、画像認識サーバ4に転送して、画像認識サーバ4からの返信を待つ。なお、携帯端末1から受けた出発駅に基づいて、出発駅に対応する参照テーブルTBL1が特定される。
[
図4の第5ステップ(画像認識サーバ4の動作)]
【0087】
画像認識サーバ4は、管理サーバ3から受信した撮影データについて特徴量を注出すると共に、注出した特徴量を、特徴パラメータテーブルTBL2に記載の特徴量と順次対比して、一致する特徴量が最大個数となる画像IDと、この画像IDを選択したことの正解率(スコア値)を特定して管理サーバ3に返送する。
【0088】
ここで、正解率は、画像認識サーバ4に転送された撮影データと、画像IDで特定される模範撮影データとの類似度合いを示している。したがって、撮影画像が不鮮明で、特徴量を注出できない場合や、転送された撮影データと類似する模範撮影データが検出されない場合は、正解率が0となる。
【0089】
なお、管理サーバ3に返信される画像IDと正解率は、必ずしも一組である必要はなく、正解率が所定レベル以上であれば、複数組の画像ID及び正解率が、管理サーバ3に返送される。
[
図4の第6ステップ(管理サーバ3の動作)]
【0090】
待機状態の管理サーバ3が、画像認識サーバ4から画像ID及び正解率を受けると、管理サーバ3は、出発駅に対応する参照テーブルTBL1を参照して、画像IDに基づいて、行先駅と列車種別を特定する。
【0091】
そして、参照テーブルTBL1から注出される行先駅と、列車種別が、作業領域WORKに一時記憶されている行先駅と列車車種に一致するか否かを判定する。この判定結果には、G判定(a) :正解率の高い画像IDを受け、それが一時記憶中の行先及び種別と一致する場合と、G判定(b) :正解率の高い画像IDを受けたにも拘わらず、一時記憶中の行先や種別と一致しない場合と、NG判定(c) :正解率=0の判定結果を受けた場合や、正解率の低い画像IDしか受信できない場合と、に区分される。
【0092】
ここで、G判定(a) やG判定(b) の場合には、管理サーバ3は、発車時刻の正当性を確認した上で、携帯端末1に認識結果を返信する。返信内容は、例えば「はい、その電車は、特急××駅行きです。・・・」、又は、「その電車ではありません。他の電車を探してください。」と表示したWebページとなる。なお、このWebページには、ユーザが撮影した撮影データと、管理サーバ3から受けた画像IDに基づいて特定される模範撮影データとが対比して携帯端末1に表示される。
【0093】
但し、NG判定(c) の場合には、以下に説明する画像修復処理と反射除去処理を、この順番で実行した上で、再度、第4ステップの処理に戻り、画像認識サーバ4に補正撮影データを送信する。
【0094】
そして、画像認識サーバ4から返信された画像IDが、管理サーバ3に一時記憶されている情報に一致するか否かを判定し(第5ステップ)、G判定(a) か、G判定(b) であれば、対応する回答を携帯端末1に返信することになる(第6ステップ)。
【0095】
一方、補正撮影データについても、再度、NG判定(c) の場合には、「画像が不鮮明で判定できません。」との回答を携帯端末1に返信することになる(第6ステップ)。
<画像修復処理(A)と反射除去処理(B)>
【0096】
続いて、管理サーバ3が、画像認識サーバ4から、一回目のNG判定(c) を受けた後の動作について説明する。NG判定(c) を受けた管理サーバ3は、以下に説明する画像修復処理(A)と、反射除去処理(B)を、この順番に実行して、補正撮影データを生成する。
【0097】
先ず、画像修復処理(A)は、蛍光灯などの反射光により、本来の文字情報が潜在化した場合に、この欠損部分の文字画像情報を、その周りの画像情報に基づいて補完する処理を意味する。
[画像修復(A)第1処理]
【0098】
画像修復処理(A)では、管理サーバ3は、作業領域WORKに一時保存されている撮影画像データから色情報を削除するため、撮影画像データをグレースケール化する。
【0099】
グレースケール化の具体的な手法は、適宜に選択されるが、本実施例では、コンピュータビジョン向けライブラリOpen CV (Open Source Computer Vision Library )のDecolor 関数を、プログラミング言語Pythonの動作環境において使用した。なお、以下の説明は、全て、プログラミング言語Pythonの動作環境における説明である。
【0100】
Decolor 関数を使用する場合、Pythonでは、Grayscale.color_boost = cv.deColor(src) の書式となる。ここで、撮影画像がN個のピクセルで構成されている場合、cv.deColor関数の第1引数src は、要素数3*Nの配列Photo(R,G,B)を意味し、この配列には、RGBデータが、各1バイト長で記憶されている。
【0101】
一方、戻り値は、要素数Nの配列GS(i) であり、各ピクセルの濃淡情報(Gray Scale値)が1バイト長で格納される。なお、値が大きいほど明るく、小さいほど暗く、0は真っ黒、255は真っ白を意味する。
[画像修復(A)第2処理]
【0102】
次に、画像修復第1処理で求めたGray Scale値(以下、GS値と略す)について、所定の閾値TH1 より明るいピクセルを抽出する。具体的には、Open CV のinRange 関数を使用するが、Pythonでは、dst = cv.inRange(src, lowerb, upperb) の書式となる。
【0103】
ここで、inRange 関数の第1引数src は、画像修復第1処理で算出した、要素数Nの結果配列GS(i) であって、ピクセル毎に、そのGS値が1バイト長で記憶されている。また、第2引数lowerbと第3引数upperbは、各々、スカラー値であって、ここでは、lowerb = 0、upperb = TH1としている。
【0104】
一方、戻り値dst は、要素数Nの結果配列を示しており、この結果配列DST(i)には、255又は0が記憶される。具体的には、明るいピクセル(GS値>TH1)は0となり、そうでない、0≦GS値≦TH1のピクセルは、255となる。この結果配列DST(i)は、反射光による有効情報の欠損領域を0で示すことになる。通常、この欠損領域は、蛍光灯の発光である場合が多く、そのような場合は、欠損領域は、所定の幅を有した直線帯として形成される。
[画像修復(A)第3処理]
【0105】
続いて、欠損部分の画像情報を、その回りの画像情報から補完する。具体的には、Open CV のinpaint 関数を使用して欠損領域のピクセル情報(RGB各8ビット)を、周囲のピクセル情報から補完する。Pythonでは、例えば、st = cv.inpaint(src, Mask, Radius, flags) の書式となる。
【0106】
ここで、第1引数src は、撮影したピクセル数Nの撮影画像データを記憶する要素数3*Nの配列Photo(R,G,B)であり、RGBデータが、各1バイト長で記憶されている。第2引数Maskは、この実施例では、画像修復第2処理で算出したマスク配列DST(i)であって、要素数がNの配列である。先に説明した通り、マスク配列DST(i)の要素において、0は、修復されるべき箇所(欠損領域)を示している。
【0107】
一方、第3引数Radiusは、修復されるべき箇所を含んだ近傍の円形領域の半径であり、欠損領域の幅に基づいて適宜に決定される。また、第4引数flags は、補完アルゴリズムを特定するフラグ値で、Navier-Stokes に基づく手法か、Alexandru Telea による手法かが特定可能となっている。なお、この実施例では、Alexandru Telea による手法を指定した。
【0108】
また、結果配列dst は、入力配列src と同一サイズ、同一タイプの配列Repair(R, G, B) であり、画像修復後のRGBデータが保存される。以上の処理の結果、蛍光灯などの反射光の部分の文字情報が、ある程度復元される。
図6(a)は、欠損部分を補完したカラー画像を示しており、左上部に表示されている反射光の傾斜ラインと、右下部に表示される白色領域について、各々の発光が有意に緩和されている。
[反射除去(B)第1処理]
【0109】
続く、反射除去処理では、画像修復処理(A)を終えた画像データ(以下、修復画像データという)の各ピクセルについて、先ず、RGB各8ビットデータからHSV色空間のH,S,Vを算出する。ここで、HSV色空間とは、あるピクセルの色彩を、「色相(Hue )」「彩度(Saturation)」「明度(Value )」の3つの組み合わせで表現する手法である。H,S,V値の算出手法は、特に限定されないが、ここでは、Open CV のcvtColor関数を使用し、例えば、Pythonでは、dst = cv.cvtColor(src, code)の書式となる。
【0110】
修復画像データがN個のピクセルで構成されている場合、上記のPython書式において、cv.cvtColor 関数の第1引数src で指定する入力配列SRC は、画像修復処理(A)の結果配列Repair(R, G, B) である。
【0111】
この結果配列Repair(R, G, B) には、ピクセル毎のRGBデータが、B→G→Rの順番で記憶されている。なお、第2引数codeによって、実行すべき処理が、HSV色空間への変換であることを指示する。そして、戻り値dst は、要素数3*Nの結果配列であり、cvtColor関数の処理によって、結果配列DST(i)には、H値とS値とV値がピクセル毎に記憶されることになる。
【0112】
そこで、本実施例では、次に、反射除去第1処理の結果配列DST(i)に基づいて、N個のピクセルのV値を記憶した要素数NのV値配列Value(i)を生成する。
[反射除去(B)第2処理]
【0113】
次に、反射除去第1処理で生成したN個の明度値についてのV値配列Value(i)について、全ピクセルに対する出現頻度のヒストグラムを作成し、明度(Value )を示すV値について、適宜な閾値TH2を特定する。
【0114】
図7は、撮影画像と、V値の出現頻度ヒストグラムを図示したものである。なお、ここでは、撮影画像の全体を表示しているが、実際の運用では、横長のフレーム枠の外側は、全て黒色に処理される。
【0115】
何れにしても、反射除去処理に供される画像の場合には、図示のように、V値=0の出現頻度が圧倒的であり、その他のV値の出現頻度は極めて低いが、0を超えるV値(>0)において、何れかのV値で出現頻度がピークとなる。そこで、本実施例では、ピーク値を示すV値より上側のV値であって、例えば、ピーク値の70%位置のV値を閾値TH2として選択することにする。
[反射除去(B)第3処理]
【0116】
次に、反射除去第3処理では、反射除去第2処理で特定した閾値TH2より高い明度のピクセルを抽出する。例えば、Open CV のinRange 関数を使用するが、Pythonでは、dst = cv.inRange(src, lowerb, upperb) の書式となる。
【0117】
ここで、第1引数src は、反射除去第2処理で得られたV値についてのV値配列Value(i)である。また、第2引数lowerbと第3引数upperbは、各々、HSVに関するスカラー値であって、ここでは、lowerb = TH2、upperb = 255としている。
【0118】
一方、戻り値dst は、要素数Nの結果配列Mask(i) を示しており、この結果配列Mask(i) には、255又は0が記憶される。具体的には、高明度(TH2≦V値≦255)のピクセルは、白(255)となり、そうでない、V値<TH2の通常ピクセルは、黒(0)となる。この処理は、N個のピクセルについて、各ピクセルを採用するか否かを、結果配列Mask(i) に特定する処理に他ならない。
[反射除去(B)第4処理]
【0119】
続いて、反射除去第3処理で高明度ピクセルと判定されたピクセルについて、画像修復処理(A)の結果配列Repair(R, G, B) から、RGB画像データを抽出する。ここでは、例えば、Open CV のbitwise_and 関数を使用するが、Pythonでは、dst = cv.bitwise_and(src1, src2, dst, mask) の書式となる。
【0120】
ここで、第1引数src1と第2引数src2は、反射除去第1処理で使用した配列、つまり、画像修復(A)による修復画像RGBデータを保存した修復画像配列Repair(R, G, B) となる。また、第3引数dst は、出力配列を意味し、要素数3*N個の配列Take(R, G, B) を示している。
【0121】
一方、第4引数maskは、マスク配列を意味する。具体的には、反射除去第3処理で算出された要素数Nの結果配列MASK(i) を使用する。このbitwise_and 関数では、MASK(i) ≠0の場合にだけ、dst(i) = src1(i)Λsrc2(i) の論理演算が実行される。なお、Λは、AND演算を意味する。
【0122】
先に説明した通り、本実施例では、マスク配列MASK(i) の各要素は、高明度(TH2≦V値≦255)のピクセルについて255となり、そうでないピクセルについて0となっている。したがって、マスク配列MASK(i) の要素が255である高明度のピクセルに対してだけ、以下の処理が実行され、修復画像RGBデータを保存した修復画像配列Repair (R, G, B)が、出力配列Take(R, G, B) にコピーされることなる。具体的な処理内容を示すと、Reject(R, G, B) = Repair(R, G, B) Λ Repair(R, G, B)となる。
【0123】
一方、マスク配列MASK(i) の要素が(0)となる通常明度のピクセルに対しては、上記のAND 演算が実行されない。すなわち、結果配列Take(R, G, B) の要素は、初期状態(0, 0, 0 )のままとなるので、結局、結果配列Take(R, G, B) には、高明度の重要部分だけが保存されることになる。
【0124】
鉄道用の列車案内表示板において、「発車時刻」、「電車の車種」、「目的駅名」は、その重要性に基づき、他の部分より明るく表示されている。そして、反射除去処理で、高明度の部分だけを切り出すことで、映り込みが緩和され、必要部分のみが抽出される。すなわち、反射光の映り込みによって何を表す画像が分からなかった画像が、しっかりと、行先駅や種別を表示した画像に変換されることになる。
図6(b)は、反射除去処理の処理結果を示しており、重要部分の文字情報がより鮮明化されていることが確認される。
【0125】
なお、
図6(b)は、反射除去処理の効果を対比的に示すため、列車案内表示板が、敢えて、3行にわたって撮影されているが(行先が三カ所)、実際の運用では、カメラに横長のフレーム枠を表示することで、単一の行先駅しか取得されない。
【0126】
以上の通り、画像修復処理(A)と反射除去処理(B)を実行することで、反射除去処理第3処理の結果配列Take(R, G, B) には、文字情報が修復され、且つ、反射光が緩和された補正撮影データが保存されることになる。そこで、管理サーバ3は、補正撮影データを、画像認識サーバ4に送信して、判定結果を待つことになる(
図4の第4ステップ)。
【0127】
そして、管理サーバ3は、画像認識サーバ4から返信された画像IDが、管理サーバ3に一時記憶されている情報に一致するか否かを判定し、G判定(a) か、G判定(b) であれば、対応する回答を携帯端末1に返信することになる。
【0128】
一方、補正撮影データについても、NG判定(c) の場合には、「画像が不鮮明で判定できません。」との回答を携帯端末1に返信することになる。
【0129】
以上、
図4に示す乗車判定システムについて詳細に説明したが、ここまでの説明は、携帯端末1に乗車判定アプリJUDGがインストールされていることを前提にしている。しかし、乗車判定アプリJUDGがインストールされていない携帯端末1では、JavaScriptプログラムによって、内蔵カメラを最適に設定することは、HTML5ではできない。
【0130】
そこで、そのような場合に備えて、乗車判定アプリJUDGがインストールされていない携帯端末に対しては、内蔵カメラを連写モードで動作させるか、動画モードで動作させるのが好ましい。
【0131】
具体的な手法は、適宜であるが、例えば、「行先判定ボタン」のタップ操作に対応して、列車情報提供サーバ2が配信するWebページに、注意書きとして、「乗車判定アプリを使用されない場合は、連写モードか動画モードで行先表示器/列車案内表示板を撮影して下さい。」と表示することが考えられる。
【0132】
次に、この注意書きに対応してシステム利用者がカメラを操作した場合を説明する。管理サーバ3が、撮影画像データを連続的に受信する場合や、動画フレームデータを受信する場合には、それらを全て作業領域WORKに一時保存すると共に、連写画像の適当枚、又は、動画フレーム画像の複数枚を重ね合わせて、撮影画像データとして、画像認識サーバ4に転送する(第4ステップの処理)。
【0133】
なお、この第4ステップの処理は、携帯端末1から動画や連写画像が送信される第3ステップの処理に連続して実行しても良いし、画像認識サーバ4から、NG判定(c) を受けた後、つまり、第5ステップに続いて実行しても良い。
【0134】
連写画像の1枚や、動画から切り出した1枚のフレーム画像によって、画像認識サーバ4から、G判定(a) か、G判定(b) を受ける可能性は、低くないので、好適には、後者の手順とすべきである。すなわち、画像認識サーバ4から、NG判定(c) を受けた後に限り、複数枚の画像データを重ね合わせて、撮影画像データとして、画像認識サーバ4に再送すべきである。
【0135】
以上、本発明の実施例について、詳細に説明したが、具体的な記載内容は、何ら本発明を限定せず、適宜に変更可能である。特に、プログラミング言語Pythonの動作環境を前提にする必要は全くない。但し、Open CV の関数を使用することは、プログラムを簡素化する上で効果的である。
【0136】
また、上記の実施例では、乗車判定アプリJUDGがインストールされていない携帯端末について、連写モードや動画モードで動作させる構成を説明したが、乗車判定アプリJUDGがインストールされている携帯端末についても、同様の動作モードを設けても良い。
【0137】
また、上記の説明では、鉄道車両について説明したが、バス、飛行機、船、乗合タクシーなどへの搭乗時の判定処理にも、ほぼ同じ構成を採用することができる。また、シャッター速度Sその他のカメラ設定値について、具体的に記載したが、一例を記載したに過ぎず、特に本発明を限定するものではない。
【0138】
ところで、上記の実施例では、システム利用者が、駅ホームにおいて列車情報提供サーバ2をアクセスする場合を説明したが、何ら限定されない。例えば、列車情報提供サーバ2をアクセスして、必要情報(行先駅/列車種別/出発駅/発車時刻)を管理サーバ3に送信する第1処理と、駅ホームにおいて、列車側面の行先表示器か、又は、駅ホームの列車案内表示板を撮影して、管理サーバ3に撮影画像データを送信する第2処理に、有意な時間差を設けても良い。
【0139】
図8は、このような実施例を説明する図面である。
図8には、列車情報提供サーバ2をアクセスして、必要情報(行先駅/列車種別/出発駅/発車時刻)を管理サーバ3に送信する第1処理が、第1ステップ~第3ステップとして示されている。この処理は、例えば、乗車予定の前日などに、ホテルその他において実行される。
【0140】
一方、管理サーバ3は、第1処理で送信された必要情報(行先駅/列車種別/出発駅/発車時刻)を、一意のユーザIDと共に、適宜な作業領域WORKに保存する。なお、作業領域WORKを適正に管理するため、受付日時も合わせて保存する。
【0141】
そして、管理サーバ3は、前記したユーザIDを、「必要情報を受け取った旨」を表示するWebページと共に、携帯端末1に返送する(
図8の第4ステップ)。そして、このユーザIDは、例えば、クッキーDATAとして、携帯端末1に保存される。
【0142】
次に、所定時間経過後、駅ホームにおいて、システム利用者が、携帯端末の乗車判定アプリJUDGを起動すると、起動した乗車判定アプリJUDGは、内蔵カメラを最適撮影条件に設定した後、ブラウザ機能と内蔵カメラを起動させて、横長のフレーム枠と共に、「列車側面の行先表示器か、又は、駅ホームの列車案内表示板を撮影して下さい。」との案内画面を表示する。
【0143】
そこで、利用者は、内蔵カメラを行先表示器か列車案内表示板に向け、横長のフレーム枠に、車種と行先駅を捉えたタイミングで、撮影シャッターを押すことになる。
【0144】
すると、このシャッター操作に対応して、乗車判定アプリJUDGは、内蔵カメラが撮影した撮影データを、ユーザIDと共に管理サーバ3に送信する(
図8の第5ステップ)。
【0145】
その後の処理は、
図4の構成の場合と同じであり、管理サーバ3は、撮影データを、画像認識サーバ4に転送して、画像認識サーバ4からの返信を待つ(
図8の第6ステップ)。なお、参照テーブルTBL1は、作業領域WORKに記憶されている出発駅に基づいて特定される。
【0146】
一方、画像認識サーバ4は、管理サーバ3から受信した撮影データについて特徴量を注出すると共に、注出した特徴量を、特徴パラメータテーブルTBL2に記載の特徴量と順次対比して、一致する特徴量が最大個数となる画像IDと、この画像IDを選択したことの正解率(スコア値)を特定して管理サーバ3に返送する(
図8の第7ステップ)。
【0147】
すると、待機状態の管理サーバ3は、画像認識サーバ4から受けた画像ID及び正解率に基づいて、携帯端末1に判定結果を返送するか(
図8の第8ステップ)、或いは、撮影データを補正して画像認識サーバに再送信する(
図8の第6ステップ)。なお、作業領域WORKの保存データは、その必要が無くなったタイミングか、受付日からの保存期間が過ぎたタイミングで消去される。
【0148】
この構成を採る場合には、システム利用者は、前日の夜など、時間に余裕のある状態で列車を選択でき、当日は、駅ホームで写真撮影するだけで足りるメリットがある。なお、乗車判定アプリJUDGがインストールされていない携帯端末1では、内蔵カメラを、連写モードか動画モードで機能させるのは
図4の場合と同じである。
【0149】
以上、二つの実施例について説明したが、本発明の範囲に含まれる限り、適宜な変更が可能である。特に、上記の各実施例では、発車時刻を問題にしているが、簡素化の観点からは、管理サーバ3が、発車時刻を問題にすることなく、認識結果を携帯端末1に返信する構成を採るのも好適である。
【符号の説明】
【0150】
1 携帯端末
2 情報提供サーバ
3 管理サーバ
【要約】
【課題】利用者が乗車選択した乗り物の選択の正否を、簡易且つ高精度に判定できる乗車判定システムを提供する。
【解決手段】 列車情報を提供する情報提供サーバ2から必要な列車情報を取得する携帯端末1と、携帯端末1から撮影画像を文字情報と共に取得する管理サーバ3と、を有し、管理サーバ3は、所定のシャッター速度、携帯端末1で規定されている絞り値、及び、シャッター速度と絞り値に対応して規定されるISO感度の撮影条件で撮影された撮影画像を受けて、その撮影画像が、文字情報との関係で適切か否かの判定結果を返信する。
【選択図】
図4