(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】携帯端末、及び、翻訳処理方法
(51)【国際特許分類】
G06F 40/58 20200101AFI20240702BHJP
G06V 30/14 20220101ALI20240702BHJP
【FI】
G06F40/58
G06V30/14 340A
(21)【出願番号】P 2019222184
(22)【出願日】2019-12-09
【審査請求日】2022-12-08
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度、総務省、グローバルコミュニケーション計画の推進 -多言語音声翻訳技術の研究開発及び社会実証- 1.多言語音声翻訳技術の研究開発の委託事業、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000005821
【氏名又は名称】パナソニックホールディングス株式会社
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】杉田 亮一
(72)【発明者】
【氏名】島崎 繁
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2019-109624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
プロセッサ、メモリ及び撮像部を備える携帯端末であって、
前記プロセッサは、前記メモリと協調して、
前記撮像部によって撮像された
撮像画像を、
前記撮像画像内に
おける光の反射領域
を検出するサーバ装置へ送信し、
前記サーバ装置から前記
撮像画像内に光の反射領域が
検出された結果を受信した場合、
前記撮像画像に検出された前記光の反射領域を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、
表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、
前記重畳画像における前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する、
携帯端末。
【請求項2】
携帯端末が、
前記携帯端末に備えられた撮像部によって撮像された
撮像画像を、
前記撮像画像内に
おける光の反射領域
を検出するサーバ装置へ送信し、
前記サーバ装置から前記
撮像画像内に光の反射領域が
検出された結果を受信した場合、
前記撮像画像に検出された前記光の反射領域を示す画像を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、
表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、
前記重畳画像における、前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する、
翻訳処理方法。
【請求項3】
プロセッサ、メモリ及び撮像部を備える携帯端末であって、
前記プロセッサは、前記メモリと協調して、
前記撮像部によって撮像された
撮像画像内に
おける光の反射領域
を検出し、
前記
撮像画像内に光の反射領域が
検出された場合、
前記撮像画像に検出された前記光の反射領域を示す画像を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、
表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、
前記重畳画像における前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する、
携帯端末。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、携帯端末、及び、翻訳処理方法に関する。
【背景技術】
【0002】
特許文献1には、文字の読取等の処理に利用可能な画素を特定するために、撮像画像に含まれる各画素の輝度値を示す輝度画像を取得し、各画素の輝度値の度数分布を基に輝度閾値を決定し、高い輝度値の画素を強調する処理を前述した輝度画像に対して行って高輝度部分強調画像を生成する画像評価装置が開示されている。この画像評価装置は、高輝度部分強調装置に含まれる画素のそれぞれについて輝度値が輝度閾値を超えるか否かの判定結果に基づいて、輝度閾値を超える輝度を有する画素を高輝度画素と特定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、ユーザ(例えば外国人等の旅行者)に親切な文字認識及び翻訳を行い、ユーザの利便性を向上させる携帯端末及び翻訳処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る携帯端末は、プロセッサ、メモリ及び撮像部を備える携帯端末であって、前記プロセッサは、前記メモリと協調して、前記撮像部によって撮像された撮像画像を、前記撮像画像内における光の反射領域を検出するサーバ装置へ送信し、前記サーバ装置から前記撮像画像内に光の反射領域が検出された結果を受信した場合、前記撮像画像に検出された前記光の反射領域を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、前記重畳画像における前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する。
【0007】
本開示の一態様に係る翻訳処理方法は、携帯端末が、前記携帯端末に備えられた撮像部によって撮像された撮像画像を、前記撮像画像内における光の反射領域を検出するサーバ装置へ送信し、前記サーバ装置から前記撮像画像内に光の反射領域が検出された結果を受信した場合、前記撮像画像に検出された前記光の反射領域を示す画像を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、前記重畳画像における、前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する。
【0008】
本開示の一態様に係る携帯端末は、プロセッサ、メモリ及び撮像部を備える携帯端末であって、前記プロセッサは、前記メモリと協調して、前記撮像部によって撮像された撮像画像内における光の反射領域を検出し、前記撮像画像内に光の反射領域が検出された場合、前記撮像画像に検出された前記光の反射領域を示す画像を重畳した重畳画像と、前記重畳画像における文字認識が可能な範囲とを表示し、表示された前記文字認識が可能な範囲内において、ユーザによって前記文字認識が可能な範囲が変更された場合、前記重畳画像における前記変更された文字認識が可能な範囲の文字を翻訳し、翻訳結果を出力する。
【0009】
なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又は記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示によれば、ユーザ(例えば外国人等の旅行者)に親切な文字認識及び翻訳を行い、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る反射検知システムのハードウェア構成を示すブロック図
【
図2】元画像Aの準備及び前処理の動作手順の一例を説明するフローチャート
【
図3】学習画像B1を生成する動作手順の一例を説明するフローチャート
【
図4】学習画像B2を生成する動作手順の一例を説明するフローチャート
【
図5】学習画像B3を生成する動作手順の一例を説明するフローチャート
【
図6】元画像A、前処理後の画像B0、学習画像B1,B2,B3を示す図
【
図7】AIサーバの学習の動作手順の一例を説明するフローチャート
【
図8】AIサーバの反射箇所の検出の動作手順の一例を説明するフローチャート
【
図9】スマートフォンの翻訳動作手順の一例を説明するフローチャート
【
図10】撮像画像が表示されたスマートフォンの撮影画面例を示す図
【
図11】重畳画像が表示されたスマートフォンの確認画面例を示す図
【
図12A】スマートフォンに表示された翻訳結果画面例を示す図
【
図12B】スマートフォンに表示された他の翻訳結果画面例を示す図
【
図13】他の撮像画像が表示されたスマートフォンの撮影画面例を示す図
【
図14A】一部文字認識可能な範囲を含む重畳画像が表示されたスマートフォンの確認画面例を示す図
【
図14B】一部文字認識可能な範囲が変更された確認画面例を示す図
【
図15A】スマートフォンに表示された翻訳結果画面例を示す図
【
図15B】スマートフォンに表示された他の翻訳結果画面例を示す図
【
図16】実施の形態2に係るスマートフォンにおける動画を構成する複数の画像から翻訳に用いる画像を抽出する処理を説明するための図
【
図17】実施の形態2に係るスマートフォンにおける翻訳処理の第1例を説明するフローチャート
【
図18】実施の形態2に係るスマートフォンにおける翻訳処理の第2例を説明するフローチャート
【
図20】実施の形態2に係るAIサーバにおける反射領域の検出処理の一例を説明するフローチャート
【発明を実施するための形態】
【0012】
(実施の形態1の内容に至る経緯)
例えば、外国人等の旅行者が旅行先で自己が所持するスマートフォン等の携帯端末を用いて、その旅行者が内容確認したい文字部分が含まれる被写体を撮像することがある。携帯端末は、外国人等の操作により、その撮像画像中に含まれる文字部分を文字認識し、その文字認識結果を予めインストールされた翻訳アプリケーションで自己の母国語に変換する。これにより、外国人等の旅行者は、携帯端末により撮像された任意の撮像画像に含まれる文字部分の内容確認を行える。
【0013】
ところが、前述したように、撮像画像中に光反射画像領域が存在すると、その文字部分は文字認識不可となる。従って、携帯端末に表示される任意の撮像画像に対応する文字部分の翻訳結果に文字認識不可領域(つまり、光反射画像領域)が検知された場合には、その領域が撮像画像中に明示されれば、外国人等の旅行者にとっては親切な翻訳等の各種アプリケーションの提供が実現可能となると考えられる。
【0014】
そこで、以下の実施の形態1では、任意の撮像画像が入力された場合でも、その撮像画像中の光の反射箇所を示す反射画像領域を検知可能な高精度な反射検知モデルを生成でき、任意の撮像画像において検知される反射画像領域の信頼性を的確に担保する学習処理方法、サーバ装置及び反射検知システムの例を説明する。
【0015】
以下、適宜図面を参照しながら、本開示に係る学習処理方法、サーバ装置及び反射検知システムを具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【0016】
図1は、実施の形態1に係る反射検知システム5のハードウェア構成を示すブロック図である。反射検知システム5は、AI(artificial intelligence)サーバ10と、スマートフォン30と、翻訳サーバ50とを含む構成である。AI(artificial intelligence)サーバ10と、スマートフォン30と、翻訳サーバ50とは、ネットワーク70を介して互いに通信可能に接続される。
【0017】
サーバ装置の一例としてのAIサーバ10は、プロセッサ11と、AI処理部13と、メモリ15と、ストレージ17と、通信部18とを含む構成である。
【0018】
プロセッサ11は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)もしくはFPGA(Field Programmable Gate Array)を用いて構成される。プロセッサ11は、AIサーバ10の動作を司るコントローラとして機能し、AIサーバ10の各部の動作を全体的に統括するための制御処理、AIサーバ10の各部との間のデータの入出力処理、データの演算(計算)処理及びデータの記憶処理を行う。プロセッサ11は、メモリ15に記憶されたプログラム及びデータに従って動作する。プロセッサ11は、動作時にメモリ15を使用し、プロセッサ11が生成又は取得したデータ又は情報をメモリ15に一時的に保存してよい。
【0019】
AI処理部13は、例えばスマートフォン30から送信された任意の撮像画像に対するリアルタイムな画像処理(例えば後述する撮像画像中における光の反射箇所の検出並びに学習済みモデルを用いた出力画像の生成)に適したGPU(Graphics Processing Unit)を用いて構成されるプロセッサである。AI処理部13は、後述する元画像と学習画像とを用いて、CycleGAN技術を用いた機械学習を実行して学習済みモデルを生成し、ストレージ17に学習済みモデルのデータ(つまり、学習済みモデルデータ)を記憶する。AI処理部13は、メモリ13zを有し、例えばスマートフォン30から送信された任意の撮像画像における光の反射箇所の検知処理の実行時に、ストレージ17に記憶された学習済みモデルデータを読み出し、学習済みモデルをメモリ13zに一時的に展開して記憶する。AI処理部13は、スマートフォン30で撮像された任意の撮像画像を入力し、学習済みモデルの一部の機能(例えば、元画像からその元画像に類似する偽画像を生成する偽画像生成器の機能、生成した偽画像の真偽を評価する偽画像判別器の機能、詳細は後述参照)を用いて、検出された光の反射箇所の画像領域を含む可視化画像を出力する。
【0020】
メモリ15は、例えばRAM(Random Access Memory)とROM(Read Only Memory)とを用いて構成され、AIサーバ10の動作の実行に必要なプログラムやデータ、更には、動作中に生成されたデータ又は情報を一時的に保持する。RAMは、例えばAIサーバ10の動作時に使用されるワークメモリである。ROMは、例えばAIサーバ10を制御するためのプログラム及びデータを予め記憶して保持する。
【0021】
ストレージ17は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)を用いて構成された記録装置である。ストレージ17は、例えばプロセッサ11もしくはAI処理部13が生成又は取得したデータ又は情報を記憶する。ストレージ17は、AI処理部13により生成された学習済みモデルデータを記憶する(
図1参照)。
【0022】
通信部18は、例えば有線LAN(Local Area Network)や無線LAN等を用いてネットワーク70に接続される。通信部18は、ネットワーク70に接続された翻訳サーバ50との間で通信可能であるとともに、外国人等の旅行者(ユーザの一例)が携帯して所持するスマートフォン30との間で通信可能である。通信部18は、スマートフォン30から送信された任意の撮像画像(つまり、前述した旅行者が内容確認したい文字部分を有する任意の被写体の撮像画像)を受信する。通信部18は、光の反射箇所の検知処理の結果として生成される出力画像(後述参照)をスマートフォン30翻訳サーバ50に送信する。
【0023】
スマートフォン30は、プロセッサ31と、撮像部32と、表示部33と、入力部34と、通信部35と、メモリ36とを含む構成である。スマートフォン30は、例えば外国人等の旅行者により携帯され、使用時に把持される。スマートフォン30は、例えば文字認識処理を実行可能なアプリケーション(文字認識アプリケーション)と、翻訳処理を実行可能なアプリケーション(翻訳アプリケーション)とを少なくとも実行可能に予めインストールされている。
【0024】
プロセッサ31は、例えばCPU、MPU、DSPもしくはFPGAを用いて構成される。プロセッサ31は、スマートフォン30の動作を司るコントローラとして機能し、スマートフォン30の各部の動作を全体的に統括するための制御処理、スマートフォン30の各部との間のデータの入出力処理、データの演算(計算)処理及びデータの記憶処理を行う。プロセッサ31は、メモリ36に記憶されたプログラム及びデータに従って動作する。プロセッサ31は、動作時にメモリ36を使用し、プロセッサ31が生成又は取得したデータ又は情報をメモリ36に一時的に保存してよい。
【0025】
撮像部32は、集光用のレンズと、CCD(Charge Coupled Device)型イメージセンサもしくはCMOS(Complementary Metal Oxide Semiconductor)型イメージセンサ等の固体撮像素子とを有する構成である。撮像部32は、スマートフォン30の電源がオンである間、固体撮像素子による撮像に基づいて得られた被写体の撮像映像のデータを常時プロセッサ31に出力する。被写体は、例えば、外国人等の旅行者が内容確認したい文字部分を含む看板もしくは広告等の情報伝達媒体であるが、この情報伝達媒体に限定されないことは言うまでもない。
【0026】
表示部33は、例えばLCD(Liquid Crystal Display)もしくは有機EL(Electroluminescence)を用いて構成され、スマートフォン30の現在の状態を報知する以外に、各種の画面(例えば、撮像部32による撮像時の撮影画面(いわゆる、プレビュー画面)、後述する確認画面、翻訳結果を示す画面等)を表示する。
【0027】
入力部34は、ユーザ(例えば前述した外国人等の旅行者)による各種の入力操作を受け付けて、その入力操作に応じた信号をプロセッサ31に出力する。表示部33及び入力部34は、公知のタッチパネルTPで構成されてよい。
【0028】
通信部35は、ネットワーク70に接続されたAIサーバ10及び翻訳サーバ50との間で無線通信可能な通信回路を用いて構成される。通信部35は、図示しないモバイル通信網(例えば4G(第4世代移動通信システム)、5G(第5世代移動通信システム))を介してネットワーク70に接続される。通信部35は、ネットワーク70に接続されたAIサーバ10及び翻訳サーバ50との間で通信可能である。通信部35は、撮像部32により撮像された任意の撮像画像のデータをAIサーバ10に送信する。
【0029】
メモリ36は、例えばRAMとROMとを用いて構成され、スマートフォン30の動作の実行に必要なプログラムやデータ、更には、動作中に生成されたデータ又は情報を一時的に保持する。RAMは、例えばスマートフォン30の動作時に使用されるワークメモリである。ROMは、例えばスマートフォン30を制御するためのプログラム及びデータを予め記憶して保持する。
【0030】
なお、スマートフォン30は、撮像機能及び通信機能を有する機器の一例であり、スマートフォンに限らず、ネットワーク70に接続可能なカメラ、タブレット端末、ノートPC、監視カメラ等であってもよい。
【0031】
翻訳サーバ50は、プロセッサ51と、メモリ52と、ストレージ53と、通信部54とを含む構成である。翻訳サーバ50は、例えばネットワーク70に接続されたクラウドサーバであってよいし、例えばAIサーバ10が配置される運営業者の事業所(図示略)に設置されるオンプレミスサーバとして構成されてもよい。翻訳サーバ50は、スマートフォン30もしくはAIサーバ10から送信された撮像画像もしくは出力画像中の文字部分に相当する文字情報を所定の言語(例えば、スマートフォン30のユーザにより予め設定された言語)に翻訳処理し、その翻訳処理結果に相当する文字情報をスマートフォン30に返信する。
【0032】
プロセッサ51は、例えばCPU、MPU、DSPもしくはFPGAを用いて構成される。プロセッサ51は、翻訳サーバ50の動作を司るコントローラとして機能し、翻訳サーバ50の各部の動作を全体的に統括するための制御処理、翻訳サーバ50の各部との間のデータの入出力処理、データの演算(計算)処理及びデータの記憶処理を行う。プロセッサ51は、メモリ52に記憶されたプログラム及びデータに従って動作する。プロセッサ51は、動作時にメモリ52を使用し、プロセッサ51が生成又は取得したデータ又は情報をメモリ52に一時的に保存してよい。
【0033】
メモリ52は、例えばRAMとROMとを用いて構成され、翻訳サーバ50の動作の実行に必要なプログラムやデータ、更には、動作中に生成されたデータ又は情報を一時的に保持する。RAMは、例えば翻訳サーバ50の動作時に使用されるワークメモリである。ROMは、例えば翻訳サーバ50を制御するためのプログラム及びデータを予め記憶して保持する。
【0034】
ストレージ53は、例えばHDD又はSSDを用いて構成された記録装置である。ストレージ53は、例えばプロセッサ51が生成又は取得したデータ又は情報を記憶する。また、ストレージ53は、翻訳処理の際に参照される、国毎の公用語である言語に対応する辞書データが予め登録された辞書DB53zを含む。なお、翻訳サーバ50は、ネットワーク70もしくは他のネットワーク(図示略)との間で接続された専用の辞書データ管理サーバ(図示略)との間で定期的に通信することで、辞書DB53zの内容を定期的に更新してよい。
【0035】
通信部54は、有線LANや無線LAN等を用いてネットワーク70に接続される。通信部54は、ネットワーク70に接続されたAIサーバ10及びスマートフォン30と通信可能である。通信部54は、スマートフォン30から文字認識処理結果の文字情報を受信すると、その受信された文字情報をスマートフォン30のユーザの公用語に対応するように予め設定された又はその都度設定された所定の言語に翻訳処理し、その翻訳結果の文字情報をスマートフォン30に返信する。
【0036】
なお、実施の形態1では、文字認識結果の文字情報を、翻訳サーバ50が翻訳する場合を示したが、スマートフォン30が、インストール済みの翻訳アプリケーションを起動し、文字認識結果の文字情報を所定の言語に翻訳してもよい。
【0037】
次に、上述した実施の形態1に係る反射検知システム5の動作について、図面を参照して説明する。
【0038】
実施の形態1に係る反射検知システム5は、文字部分が掲載された広告等をスマートフォン30により撮像された撮像画像に含まれる文字情報を文字認識処理し、その文字認識処理された文字情報を所定の言語に翻訳する。反射検知システム5は、スマートフォン30により撮像された撮像画像中に照明光や外光等の光の反射がある場合に、この光の反射がある個所を含む領域(以下、「反射領域」と称する場合がある)を検出し、反射領域以外の領域より一層識別可能な反射領域を含む可視光画像(以下、「出力画像」と称する場合がある)を出力する。実施の形態1では、AIサーバ10は、AIモデルとして近年注目されているCycleGAN(サイクルガン)を用いて機械学習を行い、スマートフォン30により撮像される任意の被写体の撮像画像に含まれる反射領域(上述参照)を検出するためのAIモデル(つまり、学習済みモデル)を生成する。CycleGANによる機械学習では、元画像である撮像画像とその元画像に基づいて生成される学習画像との両方が用いられる。
【0039】
(学習画像の生成)
先ず始めに、AIサーバ10による学習画像の生成について説明する。
図2は、元画像Aの準備及び前処理の動作手順の一例を説明するフローチャートである。ユーザ(例えば、外国人等の旅行者。以下同様とする。)は、スマートフォン30を用いて広告等の印刷物(被写体の一例)を撮像し、撮像画像である元画像(
図6の元画像A)を準備する(S1)。実施の形態1の説明のために、元画像Aには、外光や照明光等による光の反射領域が含まれるとしている。
【0040】
ユーザは、元画像Aに対し所定の前処理を行い、前処理後の画像B0を取得する(S2)。元画像Aに対する所定の前処理は、例えばスマートフォン30もしくはPC(図示略)にインストールされた画像編集系のアプリケーション(後述参照)において、ユーザの操作により、撮像画像の一部に映る光の反射領域を所定の色で塗り潰す処理である。例えば、スマートフォン30の画面に表示された撮像画像に対し、ユーザは、画像編集系のアプリケーション(例えば、描画ツール又は画像処理ソフト)を用いて、反射領域を赤色で塗り潰す。前処理後の画像(つまり、
図6の前処理後の画像B0)には、赤色で塗り潰されたマーカ領域mkが描画される。スマートフォン30は、前処理後の画像B0のデータをAIサーバ10に送信する。AIサーバ10は、スマートフォン30から受信した前処理後の画像B0のデータをストレージ17に記憶する。
【0041】
AIサーバ10は、前処理後の画像B0を用いて、複数の学習画像を生成する。ここでは、AIサーバ10が3枚の学習画像B1,B2,B3を生成する例を説明するが、任意の枚数の学習画像を生成してもよい。多くの学習画像を用意することで、AIサーバ10における学習済みモデルを生成する処理(言い換えると、学習済みモデルに用いられる学習パラメータの更新)の精度(つまり、学習精度)が向上する。
【0042】
図3は、学習画像B1を生成する動作手順の一例を説明するフローチャートである。
図3に示す処理は、例えばAIサーバ10のAI処理部13により実行される。AIサーバ10のAI処理部13は、ストレージ17に記憶された前処理後の画像B0から1画素の画素値を取得する(S11)。AI処理部13は、1画素の画素値の取得の際に、例えば元画像Aと同一サイズを有する前処理後の画像B0に対して2次元座標(つまり、XY座標)を設定し、X方向及びY方向に画素単位に取得対象の画素を移動しながら該当する画素の画素値を取得する。
【0043】
AI処理部13は、取得された1画素の画素値に基づいて、その画素が塗り潰された画素であるか否かを判別する(S12)。塗り潰された画素である場合(S12、YES)、AI処理部13は、この画素の画素値を所定の色に設定(例えば赤色で塗り潰すように設定)し、反射領域の出力画素(つまり、
図3により生成される学習画像B1内の対応する画素)と設定する(S13)。
【0044】
一方、取得された1画素が塗り潰された画素でない場合(S12、NO)、AI処理部13は、この画素を白色に設定(例えば白色で塗り潰すように設定)し、非反射領域の出力画素(前述参照)とする(S14)。
【0045】
ステップS13又はステップS14の処理後、AI処理部13は、ステップS11において取得された1画素が終端の画素であるか(つまり、前処理後の画像B0の終端の画素に到達したか)否かを判別する(S15)。終端の画素でない場合(S15、NO)、AI処理部13は、前処理後の画像B0に対し、取得対象の画素の位置をX方向又はY方向に1画素分移動する(S16)。AI処理部13の処理はステップS11に戻り、ステップS16において移動された次の1画素を対象として取得して同様の処理を繰り返す。
【0046】
一方、終端の画素である場合(S15、YES)、AI処理部13は、ステップS11,S12,S13,S14,S16,S15の一連の処理により得られた画像を学習画像B1(
図6参照)として生成してメモリ13zに保存する(S17)。この後、AI処理部13は、学習画像B1の生成処理を終了する。
【0047】
図4は、学習画像B2を生成する動作手順の一例を説明するフローチャートである。
図4に示す処理は、例えばAIサーバ10のAI処理部13により実行される。AIサーバ10のAI処理部13は、元画像Aから1画素の画素値を取得する(S21)。AI処理部13は、前処理後の画像B0から、元画像Aの1画素に対応する(つまり、XY座標が同じである)1画素の画素値を取得する(S22)。AI処理部13は、その取得された1画素の画素値に基づいて、ステップS22において取得された前処理後の画像B0の1画素が、塗り潰された画素であるか(つまり、光の反射領域にある画素であるか)否かを判別する(S23)。
【0048】
塗り潰された画素である場合(S23、YES)、AI処理部13は、元画像Aの1画素値から輝度値を計算する(S24)。例えば、AI処理部13は、赤色成分をr、緑色成分をg、青色成分をb、輝度値yとすると、「y=0.299r+0.587g+0.114b」の式により輝度値yを算出可能であり、以下同様である。AI処理部13は、元画像Aの1画素に対応する出力画素(つまり、
図4に示す動作により生成される学習画像B2内の対応する画素)のR画素に、ステップS24で計算された輝度値を設定する(S25)。AI処理部13は、出力画素のG,B画素にそれぞれ輝度値0を設定する(S26)。
【0049】
一方、ステップS22において取得された前処理後の画像B0の1画素が塗り潰された画素でない場合(S23、NO)、AI処理部13は、元画像Aの1画素の画素値を出力画素(前述参照)の画素値に設定する(S27)。
【0050】
ステップS26又はステップS27の処理後、AI処理部13は、ステップS21において取得された画素が終端の画素であるか(つまり、元画像A0の終端の画素に到達したか)否かを判別する(S28)。終端の画素でない場合(S28、NO)、AI処理部13は、元画像Aに対し、取得対象の画素の位置をX方向又はY方向に1画素分移動する(S29)。AI処理部13の処理はステップS21に戻り、ステップS29において移動された次の1画素を対象として取得して同様の処理を繰り返す。
【0051】
一方、終端の画素である場合(S28、YES)、AI処理部13は、ステップS21,S22,S23,S24,S25,S26,S27,S28の一連の処理により得られた画像を学習画像B2(
図6参照)として生成してメモリ13zに保存する(S30)。この後、AI処理部13は学習画像B2の生成処理を終了する。
【0052】
図5は、学習画像B3を生成する動作手順の一例を説明するフローチャートである。
図5に示す処理は、例えばAIサーバ10のAI処理部13により実行される。AIサーバ10のAI処理部13は、元画像Aから1画素の画素値を取得する(S31)。AI処理部13は、前処理後の画像B0から、元画像Aの1画素に対応する(つまり、XY座標が同じである)1画素の画素値を取得する(S32)。AI処理部13は、ステップS31において取得された元画像Aの1画素の画素値から、例えば上述した算出式を用いて輝度値を計算する(S33)。
【0053】
AI処理部13は、その取得された1画素の画素値に基づいて、ステップS32において取得された前処理後の画像B0の1画素が、塗り潰された画素であるか(つまり、光の反射領域にある画素であるか)否かを判別する(S34)。塗り潰された画素である場合(S34、YES)、AI処理部13は、元画像Aの1画素に対応する出力画素(つまり、
図5に示す動作により生成される学習画像B3内の対応する画素)のR画素の輝度値を、ステップS33において計算された輝度値に設定する(S35)。AI処理部13は、出力画素(前述参照)のG,B画素に、それぞれ輝度値0を設定する(S36)。
【0054】
一方、ステップS32において取得された前処理後の画像B0の1画素が塗り潰された画素でない場合(S34、NO)、AI処理部13は、出力画素(前述参照)のR,G,B画素のそれぞれに、ステップS33において計算された輝度値を設定する(S37)。
【0055】
ステップS36又はステップS37の処理後、AI処理部13は、ステップS31において取得された画素が終端の画素であるか(つまり、元画像Aの終端の画素に到達したか)否かを判別する(S38)。終端の画素でない場合(S38、NO)、AI処理部13は、元画像Aに対し、取得対象の画素の位置をX方向又はY方向に1画素分移動する(S39)。AI処理部13の処理はステップS31に戻り、ステップS39において移動された次の1画素を対象として取得して同様の処理を繰り返す。
【0056】
一方、終端の画素である場合(S38、YES)、AI処理部13は、ステップS31,S32,S33,S34,S35,S36,S37,S38の一連の処理後の画像を学習画像B3(
図6参照)として生成してメモリ13zに保存する(S40)。この後、AI処理部13は学習画像B3の生成処理を終了する。
【0057】
図6は、元画像A、前処理後の画像B0、学習画像B1,B2,B3を示す図である。元画像Aは、広告や飲食店のメニュー等を被写体としてユーザの操作に基づいてスマートフォン30により撮像された撮像画像である。元画像Aには、照明光や外光等の光による反射領域g1が存在し、反射領域g1の近傍では、文字認識が不可である(言い換えると、文字情報が判読できない)。
【0058】
前処理後の画像B0は、元画像Aに対して前処理(
図2参照)を行った画像である。前処理後の画像B0は、ユーザが描画ツールや画像処理ソフトを使用して反射領域を赤色で塗り潰したマーカ領域mkが含まれる。
【0059】
学習画像B1は、前処理後の画像B0に対し、マーカ領域mkを所定の色(ここでは、赤色)に設定し、その他の領域を背景色(白色)に設定した画像である。なお、マーカ領域mkに設定される所定の色は、赤色でなく、青色等の任意の色でもよい。また、背景色は、白色に限らず、緑色や青色等、撮像画像にあまり含まれない色でもよい。
【0060】
学習画像B2は、元画像Aから輝度値を算出し、マーカ領域mkでR,G,B成分のうち、R成分を算出した輝度値に置換し、G,B成分を輝度値0に設定し、その他の領域を元画像Aの画素値にした画像である。
【0061】
学習画像B3は、元画像Aから輝度値を算出した後、マーカ領域mkでR成分を輝度値に置換し、その他の領域でR,G,B成分を輝度値に置換した画像である。
【0062】
(学習済モデルを生成するための機械学習)
図7は、AIサーバ10の学習の動作手順の一例を説明するフローチャートである。
図7に示す処理は、例えばAIサーバ10のAI処理部13により実行される。AIサーバ10のAI処理部13は、AIモデル(例えば前述したCycleGAN)において使用されるパラメータ(以下、「学習パラメータ」という)を設定する(S51)。
【0063】
学習パラメータは、例えばAIモデルを形成するニューラルネットワークを学習する際のLearning Rate(つまり、学習率)である。実施の形態1の機械学習では、例えばCycleGANを用いたAIモデルの学習パラメータを最適化する。CycleGANを用いたAIモデルは、例えば、B´生成器、偽B評価器、B-B´類似度評価器、A´生成器、偽A評価器、及びA-A´類似度評価器を含む。また、CycleGANを用いたAIモデルでは、元画像A、元画像Aの偽画像A´、学習画像B、学習画像Bの偽画像B´が用いられる。このAIモデルでは、B´生成器の学習パラメータが最適化される。B´生成器は、元画像Aあるいは偽画像A´から偽画像B´を生成する。また、この学習モデルでは、A´生成器の学習パラメータが最適化される。A´生成器は、学習画像Bあるいは偽画像B´から偽画像A´を生成する。学習画像Bには、
図6に示した学習画像B1,B2,B3が用いられる。
【0064】
AI処理部13は、元画像Aから偽画像B´を生成する(S52)。つまり、AI処理部13は、AIモデルのB´生成器(偽画像生成器)に元画像Aを入力して偽画像B´を生成する。そして、AI処理部13は、偽画像B´の生成精度を評価する(S53)。この評価の結果に基づいて、B´生成器の精度指標となる生成精度指標KB1が更新される。AI処理部13は、偽B評価器(偽画像判別器)により、B´生成器で生成した偽画像B´の真偽を評価する(S54)。つまり、偽B評価器が、B´生成器で生成された偽画像B´の真偽を判定する。この判定の結果、偽B評価器の精度指標となる判別精度指標KB2が更新される。
【0065】
AI処理部13は、偽画像B´から偽画像A´を生成する(S55)。つまり、AI処理部13は、AIモデルのA´生成器に偽画像B´を入力して偽画像A´を生成する。AI処理部13は、生成した偽画像A´の類似度を評価する(S56)。つまり、A-A´類似度評価器は、偽画像A´と元画像Aの類似度を計算する。類似度の計算結果、元画像Aと再構築された偽画像A´の再構築精度指標KA3が更新される。
【0066】
また、AI処理部13は、学習画像Bから偽画像A´を生成する(S57)。つまり、
AI処理部13は、A´生成器(偽画像生成器)に学習画像Bを入力して偽画像A´を生成する。そして、AI処理部13は、偽画像A´の生成精度を評価する(S58)。この評価の結果に基づいて、A´生成器の精度指標となる生成精度指標KA1が更新される。AI処理部13は、偽A評価器(偽画像判別器)によりA´生成器で生成した偽画像A´の真偽を評価する(S59)。つまり、偽A評価器は、A´生成器で生成された偽画像A´の真偽を判定する。この判定の結果、偽B評価器の精度指標となる判別精度指標KA2が更新される。
【0067】
AI処理部13は、偽画像A´から偽画像B´を生成する(S60)。つまり、AI処理部13は、B´生成器に偽画像A´を入力して偽画像B´を生成する。AI処理部13は、生成した偽画像B´の類似度を評価する(S61)。つまり、B-B´類似度評価器は、偽画像B´と学習画像Bの類似度を計算する。類似度の計算結果、元画像Bと再構築された偽画像B´の再構築精度指標KB3が更新される。
【0068】
AI処理部13は、上述した生成精度指標KA1、判別精度指標KA2、再構築精度指標KA3、生成精度指標KB1、判別精度指標KB2、及び再構築精度指標KB3を基に、AIモデルの学習パラメータ(例えば、B´生成器の学習パラメータとA´生成器の学習パラメータ)を更新する(S62)。
【0069】
AI処理部13は、全ての元画像Aと学習画像B(例えば、学習画像B1,B2,B3)を用いて、上記ステップS52~S62の学習処理を行ったか否かを判別する(S63)。つまり、AI処理部13は、全ての元画像Aと学習画像Bのデータが学習済となったか否かを判別する。なお、
図6に示した元画像Aと学習画像B(B1,B2,B3)は、一例であり、多くの元画像Aと学習画像Bを用いることが学習精度の向上のためには望ましい。
【0070】
学習済でないデータがある場合(S63、NO)、AI処理部13は、次のデータを取得する(S64)。AI処理部13の処理はステップS52に戻り、同様の処理(つまり、ステップS52,S53,S54,S55,S56,S57,S58,S59,S60、S61,S62,S63,S64の一連の処理)を繰り返す。
【0071】
一方、全てのデータが学習済となった場合(S63、YES)、AI処理部13は、学習済みモデル(つまり、学習済みのCycleGANを用いたAIモデル)を生成し、生成した学習済みモデルのデータをストレージ17に保存する(S65)。この後、AI処理部13は、
図7に示す学習処理を終了する。
【0072】
図8は、AIサーバ10の反射箇所の検出の動作手順の一例を説明するフローチャートである。
図8に示す処理は、例えばAIサーバ10のAI処理部13により実行される。AIサーバ10のAI処理部13は、スマートフォン30により撮像された撮像画像を検出対象画像として取得し、メモリ13zに記憶する(S71)。AI処理部13は、ストレージ17に保存された学習済みモデルデータを読み出し、AIネットワークとしてメモリ13zに展開して取り込む(S72)。
【0073】
AI処理部13は、学習済みモデルの一部であるB´生成器に対し、検出対象画像(撮像画像)を入力し、反射領域が可視化された画像を出力する(S73)。反射領域が可視化された画像は、例えばAI処理部13における学習済みモデル(AIモデル)を用いた処理実行時に反射領域が赤く描画され、その他の領域がグレーで描画された画像である。
【0074】
AI処理部13は、画像の色成分の強度比を基に、非反射領域か反射領域かを判断し、反射領域情報を取得する(S74)。非反射領域の画像は、後述するように、文字認識処理及び翻訳処理のそれぞれの対象とされる。反射領域の画像は、文字認識処理及び翻訳処理の対象外とされる。この後、AI処理部13は、
図8に示すAI反射検出処理を終了する。
【0075】
(スマートフォンの翻訳動作)
図9は、スマートフォン30の翻訳動作手順の一例を説明するフローチャートである。
図9に示す処理は、例えばスマートフォン30のプロセッサ31により主に実行される。スマートフォン30のプロセッサ31は、ユーザの操作を受け付けると、文字認識・翻訳アプリを起動する(S81)。ユーザが広告等の被写体に対し、シャッタ操作(つまり、撮像開始操作)を行うと、撮像部32は、被写体を撮像する。プロセッサ31は、撮像部32で撮像された撮像画像GZ1(
図10参照)を取得し、メモリ36に記憶する(S82)。通信部35は、メモリ36に記憶された撮像画像GZ1を、ネットワーク70を介して、AIサーバ10に送信する(S83)。
【0076】
図10は、撮像画像GZ1が表示されたスマートフォン30の撮影画面GM1の一例を示す図である。撮像画像GZ1内には、例えば2箇所に照明光による反射領域g1が現れたとする。また、撮影画面GM1には、撮像画像GZ1に矩形窓wk1が重畳して表示される。撮影画面GM1には、矩形窓wk1に隠れて表示されないが、撮像画像GZ1には、コーヒー、紅茶の文字情報が含まれる(
図12B参照)。また、撮影画面GM1には、カメラのシャッタボタン(つまり、撮像開始ボタン)を示すシャッタアイコンstが表示される。
【0077】
AIサーバ10の通信部18は、スマートフォン30から撮像画像を受信する。AI処理部13は、受信した撮像画像に対し、
図8に示したAI反射検出処理を行って反射領域情報を取得する。通信部18は、AI処理部13で得られた反射領域情報をスマートフォン30に送信する。
【0078】
スマートフォン30の通信部35は、ネットワーク70を介して、AIサーバ10から反射領域情報を受信する(S84)。プロセッサ31は、受信された反射領域情報を基に、メモリ36に記憶された撮像画像に対し、特定の色(例えば赤色)で表された反射位置mcを重畳させ、反射位置mcが重畳した重畳画像GZ2を生成し、表示部33に表示する(S85)。
【0079】
図11は、重畳画像GZ2が表示されたスマートフォン30の確認画面GM2の一例を示す図である。プロセッサ31は、反射位置が重畳した重畳画像GZ2に対し、文字認識を行う(S86)。プロセッサ31は、文字認識処理の結果をメモリ36に記憶する。認識された文字には、文字認識できたことを表すマーキングとして文字掛けhmが施される。文字掛けhmが施されると、表示部33の画面に表示される文字の表示形態が変化する。例えば、文字の色が文字認識前の黒色から文字を囲むグレーに変化する。
【0080】
また、プロセッサ31は、確認画面GM2の下方に矩形窓wk2を表示し、矩形窓wk2に翻訳の有無を確認するメッセージを表示する。ここでは、タッチパネルTPの画面の下方に設定された表示領域には、「Translate the display. Is it OK?」のメッセージが表示される。また、タッチパネルTPの画面の下方には、入力部34としてYESボタン34z及びNOボタン34yが配置される。ユーザは、文字認識の結果、翻訳を行う場合、YESボタン34zを押下する。また、ユーザは、翻訳を行わない場合、NOボタン34yを押下する。
【0081】
プロセッサ31は、ユーザの操作を受け付け、翻訳を開始するか否かを判別する(S87)。翻訳を開始する場合、通信部35は、プロセッサの指示に従い、メモリ36に文字認識の結果得られた文字情報を、ネットワーク70に接続された翻訳サーバ50に送信する。翻訳サーバ50の通信部54は、スマートフォン30から送信された文字情報を、受信する。翻訳サーバ50のプロセッサ51は、ストレージ53の辞書DB53zを参照し、文字情報を予め指定された国の言語(例えば、外国人自身の母国語)で翻訳処理する。通信部54は、翻訳処理の結果をスマートフォン30に送信する。
【0082】
スマートフォン30の通信部35は、翻訳サーバ50から翻訳結果を受信する。プロセッサ31は、翻訳結果を表示部33の画面に表示する(S88)。なお、ここでは、翻訳サーバが翻訳を行ったが、スマートフォン30がインストール済みの翻訳アプリを起動し、自装置で翻訳を行ってもよい。
【0083】
図12Aは、スマートフォン30に表示された翻訳結果画面GM3の一例を示す図である。翻訳結果画面GM3の下方に配置された、矩形窓wk3で囲まれた領域には、翻訳結果が表示される。ここでは、文字情報である「カレー」、「烏龍茶」に対し、それぞれ翻訳結果である「Curry」、「Oolong」が表示される。また、反射位置mcが重畳され、文字認識されなかった「たこ焼き」、「焼きそば」の画像に対しては、翻訳が行われないので、何も標示されない。なお、ここでは、日本語から英語へと翻訳されたが、翻訳前の言語及び翻訳後の言語は、日本語、英語、中国後、ドイツ語、フランス語等、任意の組み合わせが可能である。翻訳アプリは、スマートフォン30に設定された所有者の国籍を判別し、該当する国の言語で翻訳を行う。
【0084】
ユーザは、タッチパネルTPに対し、所定の操作を行うことで、翻訳結果を保存可能である。所定の操作として、例えば、翻訳結果画面GM3に表示された矩形窓wk3で囲まれた領域をダブルタップ操作することが挙げられる。
【0085】
プロセッサ31は、ユーザの操作を受け付け、翻訳結果を保存するか否かを判別する(S89)。翻訳結果を保存する場合、プロセッサ31は、メモリ36に翻訳結果を保存する(S90)。プロセッサ31は、アプリ終了操作が行われたか否かを判別する(S91)。アプリ終了操作が行われない場合、ステップS82の処理に戻る。一方、アプリ終了操作が行われた場合、あるいはステップS89で翻訳結果を保存しない場合、プロセッサ31は、そのまま本処理を終了する。
【0086】
(他の翻訳結果画面)
図12Bは、スマートフォン30に表示された他の翻訳結果画面GM4の一例を示す図である。この翻訳結果画面GM4には、矩形窓が表示されず、文字認識結果画像GZ4と、翻訳結果画像GZ5とが対比して表示される。文字認識結果画像GZ4には、文字認識された文字情報である、「カレー」、「烏龍茶」、「コーヒー」、「紅茶」が含まれる。翻訳結果画像GZ5には、翻訳された文字情報である、「Curry」、「Oolong」、「Coffee」、「Black tea」が含まれる。
【0087】
(スマートフォンの他の画面表示例)
別の利用例として、ユーザが、スマートフォン30で食事メニューを撮像する場合を示す。
図13は、他の撮像画像GZ6が表示されたスマートフォン30の撮影画面GM6の一例を示す図である。
図10に示した撮影画面GM1と同様、撮影画面GM6には、撮像画像GZ6、矩形窓wk6、及びシャッタアイコンstが表示される。撮像画像GZ6は、お食事メニュー、チキンカレー、ポークカレー、ビーフカレー、ドリングメニュー等の文字情報を含む。チキンカレー近傍の画像には、光による反射領域g2がチキンカレーの「レー」部分と重畳して存在する。
【0088】
図14Aは、一部文字認識可能な範囲を含む重畳画像GZ7が表示されたスマートフォン30の確認画面GM7の一例を示す図である。撮像画像GZ6に対し文字認識を行った結果、確認画面GM7では、お食事メニュー、ポークカレー、ビーフカレー、ドリングメニューが文字認識された。認識された文字には、文字認識できたことを表すマーキングとして文字掛けhmが施される。前述したように、文字掛けhmが施されると、表示部33の画面に表示される文字の表示形態が変化する。
【0089】
一方、チキンカレーを含む領域には、反射位置mcが重畳表示される。この領域では、反射位置mcが近傍に重畳表示されている。また、チキンカレー全体ではないが、その一部が文字認識可能である、一部文字認識可能な範囲が、マーカmrで識別可能に表示される。ここでは、一部文字認識可能な範囲は、チキンカレーのうちの「チキンカ」の部分である。「チキンカ」の範囲は、マーカmrとして、例えばオレンジ色の網掛け(図中、ハッチ表示)が施される。また、「チキンカ」の部分を挟むように、左右のカーソルksがタッチパネルTPに表示される。ユーザが、例えば指でカーソルksをドラッグ操作することで、一部文字認識可能な範囲が変更される。
【0090】
図14Bは、一部文字認識可能な範囲が変更された確認画面GM8の一例を示す図である。ユーザは、「チキンカ」を翻訳しても、誤訳すると判断し、指でカーソルksを図中左に1文字移動させる。一部文字認識可能な範囲は、「チキン」の部分に変化する。これにより、チキンを翻訳した場合、チキンカレーが連想される。
【0091】
図14A及び
図14Bには、
図11と同様、確認画面GM7,GM8の下方に矩形窓wk7,wk8がそれぞれ表示され、翻訳の有無を確認するメッセージが表示される。ユーザが、タッチパネルTPの下方に表示されたYESボタン34zを押下すると、確認画面GM8に対し、翻訳が行われる。
【0092】
図15Aは、スマートフォン30に表示された翻訳結果画面GM9の一例を示す図である。翻訳結果画面GM9の下方には、矩形窓wk9で囲まれた領域には、翻訳結果が表示される。ここでは、文字情報である、お食事メニュー、チキン、ポークカレー、ビーフカレー、ドリングメニューに対し、それぞれ翻訳結果である「food menu」、「chiken」、「pork curry」、「beef curry」、「drink menu」が表示される。
【0093】
(他の翻訳結果画面)
図15Bは、スマートフォン30に表示された他の翻訳結果画面GM10の一例を示す図である。翻訳結果画面GM10の下方に表示された矩形窓wk10で囲まれた領域は、空白である。翻訳結果画面GM10には、文字情報である、お食事メニュー、チキンカレー、ポークカレー、ビーフカレー、ドリングメニューを上書きして、翻訳結果である「food menu」、「chiken」、「pork curry」、「beef curry」、「drink menu」が表示される。ただし、反射位置mcの近傍の領域は、翻訳されず、そのまま表示される。
【0094】
このように、スマートフォン30で撮像された撮像画像に反射位置が含まれていても、ユーザが判読可能なように、翻訳結果が表示される。
【0095】
以上により、実施の形態1に係るAIサーバ10における学習処理方法は、光の反射位置(反射箇所の一例)を示す反射領域g1(反射画像領域の一例)を含む元画像A(学習処理対象の撮像画像の一例)に基づいて、元画像Aの偽画像B´(第1類似画像の一例)を生成するステップを有する。また、学習処理方法は、元画像A(撮像画像の一例)中の反射領域g1が他の画像領域と識別可能に生成された学習画像B1,B2,B3と偽画像B´との比較に応じて、偽画像B´の真偽性を評価するステップを有する。また、学習処理方法は、偽画像B´に基づいて、元画像Aの偽画像A´(第2類似画像の一例)を生成するステップを有する。また、学習処理方法は、偽画像A´と元画像Aとの比較に応じて、偽画像A´の真偽性を評価するステップを有する。また、学習処理方法は、偽画像B´及び偽画像A´のそれぞれの真偽性の評価結果に基づいて、任意の撮像画像における反射領域g1の検知に用いる学習済みモデル(反射検知モデルの一例)を生成するステップを有する。
【0096】
これにより、AIサーバ10は、スマートフォン30から任意の撮像画像が入力された場合でも、その撮像画像中の光の反射箇所を示す反射画像領域を検知可能な高精度な反射検知モデルを生成でき、任意の撮像画像において検知される反射画像領域の信頼性を的確に担保できる。
【0097】
また、学習処理方法において、学習済みモデルを生成するステップは、偽画像B´及び偽画像A´のそれぞれの真偽性の評価結果に基づいて、学習済みモデルが使用する学習パラメータ(パラメータの一例)を更新するステップと、更新された学習パラメータを用いて学習済みモデルを生成するステップとを含む。これにより、AIサーバ10は、偽画像と元画像との真偽性の評価結果に基づいて学習パラメータの更新された高精度な学習済みモデルを生成でき、学習済みモデルの学習効果を向上できる。
【0098】
また、学習処理方法において、偽画像B´を生成するステップは、元画像A(学習処理対象の撮像画像の一例)が複数存在する場合に、それぞれの元画像A毎に対応する偽画像B´を生成するステップを含む。これにより、AIサーバ10は、複数の異なる元画像Aに対応して複数の偽画像を生成でき、元画像A毎にそれぞれ学習パラメータを更新できるので、学習済みモデルの信頼性の精度を一層向上できる。
【0099】
また、学習処理方法は、元画像A(撮像画像の一例)中の反射領域g1に赤色(第1の色の一例)を付与し、元画像A中の反射領域g1以外の他の画像領域に白色(第2の色の一例)を付与して学習画像B1を生成するステップを更に有する。これにより、AIサーバ10は、スマートフォン30から入力された撮像画像内に光の反射領域とそれ以外の領域とが明確に識別された学習画像を容易に生成できる。
【0100】
また、学習処理方法は、元画像A(撮像画像の一例)中の反射領域g1を構成するそれぞれのR画素(画素のいずれか1色の一例)の画素値に、元画像A中の対応する画素の輝度値を設定し、元画像A中の反射領域g1以外の他の画像領域を構成するそれぞれの画素の画素値に、元画像A中の対応する画素の画素値を設定して学習画像B2を生成するステップを更に有する。これにより、AIサーバ10は、スマートフォン30から入力された撮像画像内に光の反射領域とそれ以外の領域とが明確に識別された学習画像を容易に生成できる。
【0101】
また、学習処理方法は、元画像A(撮像画像の一例)中の反射領域g1を構成するそれぞれのR画素(画素のいずれか1色の一例)の画素値に、元画像A中の対応する画素の輝度値を設定し、元画像A中の反射領域g1以外の他の画像領域を構成するそれぞれのRGB画素の(全ての色の一例)の画素値に、元画像A中の対応する画素の画素値を設定して学習画像B3を生成するステップを更に有する。これにより、AIサーバ10は、スマートフォン30から入力された撮像画像内に光の反射領域とそれ以外の領域とが明確に識別された学習画像を容易に生成できる。
【0102】
また、実施の形態1に係る反射検知システム5は、前述したAIサーバ10(サーバ装置の一例)と、撮像部32及び表示部33を有するスマートフォン30(携帯端末の一例)とが互いに通信可能に接続される。AIサーバ10は、撮像部32により撮像された任意の撮像画像を取得すると、学習済みモデル(反射検知モデルの一例)を用いて、撮像画像中の光の反射領域(反射画像領域の一例)を検知するとともに、撮像画像中の光の反射領域を他の画像領域と識別可能に加工した出力画像を生成してスマートフォン30に送信する。スマートフォン30は、AIサーバ10から送信された出力画像を用いて、出力画像のうち光の反射領域以外の他の画像領域を文字認識した結果を表示部33に表示する。
【0103】
これにより、スマートフォン30を使用するユーザ(例えば、外国人等の旅行者)は、自ら内容確認したい広告等を被写体とする撮像画像をAIサーバ10に送信しかつその撮像画像に対するAIサーバ10の処理結果をスマートフォン30において文字認識及び翻訳させることで、文字部分として認識された文字情報の翻訳結果を把握できる。言い換えると、反射検知システム5は、外国人等の旅行者をユーザに親切な文字認識及び翻訳のアプリケーションを提供でき、ユーザの利便性を的確に向上できる。
【0104】
(実施の形態2)
実施の形態2では、被写体を動画で撮影し、動画を構成する複数の画像のうちの反射領域を含まない画像を抽出し、当該抽出した画像に含まれる文字を認識及び翻訳するスマートフォンの例について説明する。なお、実施の形態2では、実施の形態1で説明済みの構成要素については、同一の参照符号を付し、説明を省略する場合がある。
【0105】
図16は、実施の形態2に係るスマートフォン30における、動画を構成する複数の画像から翻訳に用いる画像を抽出する処理を説明するための図である。なお、以下の説明において、スマートフォン30が主体の動作は、スマートフォン30のプロセッサ31が主体の動作に読み替えられてよい。
【0106】
スマートフォン30は、文字を含む被写体を動画で撮影する。動画は、
図16に示すように、複数の画像が時系列に並べられた構成である。以下、動画を構成する各画像を、画像フレームという。動画のフォーマットは、例えば、MPEG4、H.264、H.265である。
【0107】
スマートフォン30は、動画を構成する複数の画像フレームの中から、所定のタイミング(例えば所定の周期)で、画像フレームを抽出する。抽出された画像フレームには、スマートフォン30の向き又は傾きによって、
図16の画像フレーム101Aに示すように反射領域g3が含まれたり、画像フレーム101Bに示すように反射領域が含まれなかったりする。そこで、スマートフォン30は、抽出した画像フレームの中から、反射領域を含まない画像フレームを検出し、その検出した画像フレームに含まれる文字を翻訳する。これにより、実施の形態1で説明したような、反射領域によって文字が隠れてしまい、スマートフォン30が文字を翻訳できないことを回避できる。
【0108】
なお、スマートフォン30は、反射領域を含まない画像フレームを検出したタイミングで、自動的に被写体を静止画で撮影し、その静止画に含まれる文字を翻訳してもよい。典型的には、動画の画像フレームよりも静止画の方が被写体のぼやけが小さい。よって、静止画に含まれる文字の認識精度が向上し、延いては、翻訳精度が向上する。
【0109】
あるいは、スマートフォン30は、文字を含む被写体を動画で撮影する代わりに、文字を含む被写体を静止画で連続的に撮影してもよい。この場合、スマートフォン30は、連続的に撮影した複数の静止画の中から、反射領域を含まない静止画を検出し、その検出した静止画に含まれる文字を翻訳してもよい。
【0110】
画像フレーム又は静止画に反射領域が含まれるか否かの判定(以下「反射領域有無判定」という)は、実施の形態1で説明したAIサーバ10によって行われてよい。あるいは、実施の形態1で説明したAIサーバ10の機能をスマートフォン30に内蔵し、反射領域有無判定は、スマートフォン30の中で行われてもよい。
【0111】
翻訳は、実施の形態1で説明した翻訳サーバ50によって行われてよい。あるいは、実施の形態1で説明した翻訳サーバ50の機能をスマートフォン30に内蔵し、翻訳は、スマートフォン30の中で行われてもよい。
【0112】
図17は、実施の形態2に係るスマートフォン30における、翻訳処理の第1例を説明するフローチャートである。
【0113】
スマートフォン30のプロセッサ31は、ユーザの操作に応じて、翻訳アプリケーションを起動する(S101)。以下の処理は、翻訳アプリケーションを構成するコンピュータプログラムがプロセッサ31に実行されることによって、実現されてよい。
【0114】
ユーザがスマートフォン30を被写体に向けて動画撮影の開始の操作を行うと、プロセッサ31は、撮像部32を制御して、動画撮影を開始する(S102)。動画撮影の期間中、撮像部32は、随時、動画のデータを形成し、メモリ36に格納する。ユーザは、動画撮影の期間中、スマートフォン30を被写体に向けて、少し動かしたり、傾けたりしてよい。これにより、動画の中に、反射領域を含まない画像フレームが存在する可能性が高まる。
【0115】
プロセッサ31は、メモリ36に格納された動画の中から、所定のタイミング(例えば所定の周期)で、1つの画像フレームを抽出する(S103)。以下、S103で抽出された画像フレームを、抽出画像フレームという。
【0116】
プロセッサ31は、通信部35を介して、抽出画像フレームをAIサーバ10へ送信する(S104)。
【0117】
プロセッサ31は、通信部35を介して、AIサーバ10から、S104で送信した抽出画像フレームに対する反射領域有無判定の結果を受信する(S105)。AIサーバ10による反射領域有無判定の処理の詳細については後述する(
図20参照)。
【0118】
プロセッサ31は、S105で受信した反射領域有無判定の結果が「反射領域有り」又は「反射領域無し」の何れであるかを判定する(S106)。
【0119】
プロセッサ31は、S105で受信した反射領域有無判定の結果が「反射領域有り」を示す場合(S106:YES)、上記S103の処理を実行する。このS103の処理において、プロセッサ31は、動画から、先ほど抽出した画像フレームとは異なるタイミングの画像フレームを抽出する。なお、S105で受信した反射領域有無判定の結果が「反射領域有り」を示す場合、プロセッサ31は、スマートフォン30を少し動かす又は傾けるようなメッセージを表示部33に表示してもよい。これにより、2回目以降のS103の処理において、反射領域を含まない画像フレームが抽出される可能性が高まる。
【0120】
プロセッサ31は、S105で受信した反射領域有無判定の結果が「反射領域無し」を示す場合(S106:NO)、
図9のS86と同様に、抽出画像フレームに対して文字認識処理を実行する(S107)。
【0121】
プロセッサ31は、S107によって認識した文字に対する翻訳を開始するか否かを、ユーザに問い合わせる(S108)。
【0122】
S108の問い合わせに対してユーザが翻訳を開始しないことを選択した場合(S108:NO)、プロセッサ31は、上記S103の処理を実行する。
【0123】
S108の問い合わせに対してユーザが翻訳を開始することを選択した場合(S108:YES)、プロセッサ31は、次の処理を実行する。すなわち、プロセッサ31は、通信部35を介して、認識した文字を翻訳サーバ50へ送信し、翻訳サーバ50から翻訳結果を受信し、その受信した翻訳結果を表示部33に表示する(S109)。そして、プロセッサ31は、後述の
図19に示す処理を実行する。
【0124】
なお、S108の処理は実行されなくてもよい。例えば、プロセッサ31は、S107の文字認識処理を実行後、S108のユーザへ問い合わせを実行せずに、直ちに、S109の翻訳結果を表示部33に表示する処理を実行してもよい。これにより、ユーザの操作手順を少なくできる。
【0125】
以上の処理によれば、反射領域を含まない画像フレームに対して文字認識及び翻訳を実行できるので、実施の形態1で説明したような、反射領域が文字を隠してしまい、スマートフォン30が文字を翻訳できないことを回避できる。
【0126】
図18は、実施の形態2に係るスマートフォン30における、翻訳処理の第2例を説明するフローチャートである。なお、
図18では、
図17と同様の処理については、説明を省略する場合がある。
【0127】
スマートフォン30のプロセッサ31は、
図17に示すS101~S106と同様の処理を実行する(S201~S206)
【0128】
プロセッサ31は、S205で受信した反射領域有無判定の結果が「反射領域無し」を示す場合(S206:NO)、撮像部32を制御して、静止画の撮影を実行する(S207)。そして、プロセッサ31は、
図9のS86と同様に、静止画に対して文字認識処理を実行する(S208)。以降、プロセッサ31は、
図17に示すS108~S109と同様の処理を実行する(S209~S210)。そして、プロセッサ31は、後述の
図19に示す処理を実行する。
【0129】
なお、S209の処理は実行されなくてもよい。例えば、プロセッサ31は、S208の文字認識処理を実行後、S209のユーザへ問い合わせを実行せずに、直ちに、S210の翻訳結果を表示部33に表示する処理を実行してもよい。これにより、ユーザの操作手順を少なくできる。
【0130】
以上の処理によれば、被写体のぼやけの小さい静止画に対して文字認識及び翻訳を実行できるので、翻訳の精度が向上する。
【0131】
【0132】
スマートフォン30のプロセッサ31は、S109又はS210で表示した翻訳結果を保存するか否かを、ユーザに問い合わせる(S301)。
【0133】
S301の問い合わせに対してユーザが翻訳結果を保存しないことを選択した場合(S301:NO)、プロセッサ31は、後述するS303の処理を実行する。
【0134】
S301の問い合わせに対してユーザが翻訳結果を保存することを選択した場合(S301:YES)、プロセッサ31は、翻訳結果をメモリ36に保存する(S302)。
【0135】
プロセッサ31は、ユーザによって翻訳アプリケーションを終了する操作が行われたか否かを判定する(S303)。
【0136】
翻訳アプリケーションを終了する操作が行われていない場合(S303:NO)、プロセッサ31は、
図17に示すS103又は
図18に示すS203の処理を実行する。
【0137】
翻訳アプリケーションを終了する操作が行われた場合(S303:YES)、プロセッサ21は、翻訳アプリケーションを終了する。
【0138】
図20は、実施の形態2に係るAIサーバ10における反射領域の検出処理の例を説明するフローチャートである。なお、以下の説明において、AIサーバ10が主体の動作は、AIサーバ10のプロセッサ11が主体の動作に読み替えられてよい。
【0139】
AIサーバ10は、
図17のS104又は
図18のS204にてスマートフォン30から送信された抽出画像フレームを取得する(S401)。
【0140】
AIサーバ10は、
図8のS72と同様、学習済みモデルを取り込む(S402)。
【0141】
AIサーバ10は、
図8のS73と同様、B´生成器に抽出画像フレームを入力し、反射領域が可視化された画像を出力する(S403)。
【0142】
AIサーバ10は、S403で出力された反射領域が可視化された画像内に反射領域が含まれているか否かを判定する(S404)。すなわち、AIサーバ10は、反射領域有無判定を実行する。例えば、AIサーバ10は、
図8のS74と同様に、色成分の強度比を基に、画像内における非反射領域及び反射領域を判断し、画像内に反射領域が存在する場合、反射領域有りと判定し、画像内に反射領域が存在しない場合、反射領域無しと判定する。そして、AIサーバ10は、S404の反射領域有無判定の結果をスマートフォン30に送信し、処理を終了する。
【0143】
(実施の形態2のまとめ)
実施の形態2の一態様に係る携帯端末(30)は、プロセッサ(31)、メモリ(36)及び撮像部(32)を備える。プロセッサは、メモリと協調して、撮像部によって撮像された動画を構成する複数の画像フレームの中から1つの画像フレームを抽出し、抽出した画像フレームを、画像内に光の反射領域が含まれるか否かを判定するサーバ装置(10)へ送信し、サーバ装置から画像フレーム内に光の反射領域が含まれないことを示す判定結果を受信した場合、画像フレーム内の文字を翻訳し、翻訳結果を出力する。
【0144】
この構成によれば、翻訳対象の画像フレームには光の反射領域が含まれないので、光の反射によって文字が隠れてしまい、文字を翻訳できないという状況を回避できる。
【0145】
実施の形態2の一態様に係る携帯端末(30)は、プロセッサ(31)、メモリ(36)及び撮像部(32)を備える。プロセッサは、メモリと協調して、撮像部によって撮像された動画を構成する複数の画像フレームの中から1つの画像フレームを抽出し、抽出した画像フレームを、画像内に光の反射領域が含まれるか否かを判定するサーバ装置(10)へ送信し、サーバ装置から画像フレーム内に光の反射領域が含まれないことを示す判定結果を受信した場合、撮像部によって静止画を撮像し、静止画内の文字を翻訳し、翻訳結果を出力する。
【0146】
この構成によれば、翻訳対象の静止画には光の反射領域が含まれないので、光の反射によって文字が隠れてしまい、文字を翻訳できないという状況を回避できる。
【0147】
携帯端末(30)は、サーバ装置(10)から画像フレーム内に光の反射領域が含まれることを示す判定結果を受信した場合、動画を構成する複数の画像フレームの中から、先に抽出した画像フレームとは異なる画像フレームを抽出し、抽出した異なる画像フレームを、サーバ装置へ送信してよい。
【0148】
この構成によれば、動画を構成する複数の画像フレームの中から、光の反射領域が含まれない画像フレームを特定できるので、光の反射によって文字が隠れてしまい、文字を翻訳できないという状況を回避できる。
【0149】
携帯端末(30)は、プロセッサ(31)、メモリ(36)及び撮像部(32)を備える。プロセッサは、メモリと協調して、撮像部によって撮像された複数の画像の中から光の反射領域を含まない画像を特定し、当該特定した画像内の文字を翻訳し、翻訳結果を出力する。
【0150】
この構成によれば、翻訳対象の画像には光の反射領域が含まれないので、光の反射によって文字が隠れてしまい、文字を翻訳できないという状況を回避できる。
【0151】
以上、添付図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても本開示の技術的範囲に属すると了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。
【産業上の利用可能性】
【0152】
本開示は、撮像画像内の文字を翻訳する装置に利用可能である。
【符号の説明】
【0153】
5 反射検知システム
10 AIサーバ
13 AI処理部
30 スマートフォン
31 プロセッサ
32 撮像部
33 表示部
34 入力部
35 通信部
36 メモリ