IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7466303画像処理装置およびその制御方法、プログラムならびに画像処理システム
<>
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図1
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図2
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図3
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図4
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図5
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図6
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図7
  • 特許-画像処理装置およびその制御方法、プログラムならびに画像処理システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】画像処理装置およびその制御方法、プログラムならびに画像処理システム
(51)【国際特許分類】
   G06V 30/12 20220101AFI20240405BHJP
【FI】
G06V30/12 C
【請求項の数】 8
(21)【出願番号】P 2019239276
(22)【出願日】2019-12-27
(65)【公開番号】P2021108022
(43)【公開日】2021-07-29
【審査請求日】2022-12-23
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】三宅 悠也
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開昭57-196291(JP,A)
【文献】特開2018-109802(JP,A)
【文献】特開2019-091202(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
1つの文字が複数のセグメントで構成され且つ時系列で変化する文字を時系列順に撮影した3つの撮影画像を取得して、前記3つの撮影画像のそれぞれについて、撮影された前記文字を認識する認識手段と、
前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定する決定手段と、を有し、
前記決定手段は、前記3つの撮影画像のそれぞれから認識した文字の時系列順の変化が第1の態様、第2の態様及び第3の態様のいずれであるかに応じて、前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定し、
前記第1の態様に対応する場合である、前記3つの撮影画像のそれぞれから認識した文字が3種類の文字である場合、前記3つの撮影画像のそれぞれから認識した文字のうち最初または最後に撮影された画像から認識された文字を、出力する文字として決定する、ことを特徴とする画像処理装置。
【請求項2】
前記決定手段は、前記第2の態様に対応する場合である、前記3つの撮影画像のそれぞれから認識した文字が2種類の文字である場合、前記3つの撮影画像のそれぞれから認識した文字のうち最も多くの画像から認識された文字を、出力する文字として決定する、ことを特徴とする請求項に記載の画像処理装置。
【請求項3】
前記決定手段は、前記第3の態様に対応する場合である、前記3つの撮影画像のそれぞれから認識した文字が同一の文字である場合、当該認識された文字を、出力する文字として決定する、ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記1つの文字は、7つ、14個、又は16個のいずれかのセグメントで構成されて表示器に表示されている、ことを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項5】
前記認識手段は、前記複数のセグメントの点灯状態及び消灯状態のパターンに応じて前記1つの文字を認識する、ことを特徴とする請求項1からのいずれか1項に記載の画像処理装置。
【請求項6】
1つの文字が複数のセグメントで構成される文字を時系列順に撮影した複数の撮影画像を生成する撮像手段と、
請求項1からのいずれか1項に記載の画像処理装置と、を有することを特徴とする画像処理システム。
【請求項7】
1つの文字が複数のセグメントで構成され且つ時系列で変化する文字を時系列順に撮影した3つの撮影画像を取得して、前記3つの撮影画像のそれぞれについて、撮影された前記文字を認識する認識工程と、
前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定する決定工程と、を有し、
前記決定工程では、前記3つの撮影画像のそれぞれから認識した文字の時系列順の変化が第1の態様、第2の態様及び第3の態様のいずれであるかに応じて、前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定し、
前記第1の態様に対応する場合である、前記3つの撮影画像のそれぞれから認識した文字が3種類の文字である場合、前記3つの撮影画像のそれぞれから認識した文字のうち最初または最後に撮影された画像から認識された文字を、出力する文字として決定する、ことを特徴とする画像処理装置の制御方法。
【請求項8】
コンピュータを、請求項1からのいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置およびその制御方法、プログラムならびに画像処理システムに関する。
【背景技術】
【0002】
従来、温度をはじめ、圧力や回転数、距離などの物理量を所定のセンサで測定し、当該センサによって測定された測定結果を7セグメント表示器などの表示器に表示させる技術が知られている。
【0003】
また、そのような表示器は、測定結果を表示する機能に特化している場合があり、当該表示器を用いる場合には、測定結果の記録や保存を、別途備えられた撮像装置を用いて行う場合がある。すなわち、撮像装置により表示器の表示を撮影したうえで、撮影画像に対して文字認識処理を行って測定結果を出力したり記録したりする技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-197851号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、複数のセグメントで表示する文字を撮像装置で撮影する場合、露光中に表示器の表示が変化すると表示前後の表示同士が重なり合って撮影される場合がある。例えば、露光中に数字の表示が「4」から「5」に切り替わり、これらの表示同士が重なり合う場合、存在しない数字であればまだしも、別の数字(例えば「9」)の表示のように撮影される場合がある。
【0006】
特許文献1で提案される技術では、撮像装置の露光中に、表示器の表示が更新されて重なり合った画像が撮影される場合、撮影された画像から誤った文字を測定結果として出力する場合がある。
【0007】
本発明は、上記課題に鑑みてなされ、その目的は、表示器の表示の変化により誤った文字を認識する場合があっても、最終的に正確な認識結果を出力することが可能な技術を実現することである。
【課題を解決するための手段】
【0008】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、1つの文字が複数のセグメントで構成され且つ時系列で変化する文字を時系列順に撮影した3つの撮影画像を取得して、前記3つの撮影画像のそれぞれについて、撮影された前記文字を認識する認識手段と、前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定する決定手段と、を有し、前記決定手段は、前記3つの撮影画像のそれぞれから認識した文字の時系列順の変化が第1の態様、第2の態様及び第3の態様のいずれであるかに応じて、前記3つの撮影画像のそれぞれから認識した文字のうちのいずれの文字を出力するかを決定し、前記第1の態様に対応する場合である、前記3つの撮影画像のそれぞれから認識した文字が3種類の文字である場合、前記3つの撮影画像のそれぞれから認識した文字のうち最初または最後に撮影された画像から認識された文字を、出力する文字として決定する、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、表示器の表示の変化により誤った文字を認識する場合があっても、最終的に正確な認識結果を出力することが可能になる。
【図面の簡単な説明】
【0010】
図1】実施形態1に係る画像処理システムの全体構成及び画像処理装置の機能構成例の一例を示すブロック図
図2】実施形態1に係るセグメント表示器の表示を説明するための図
図3】実施形態1に係るセグメント表示器の一桁を表示する構成を示す図
図4】実施形態1に係るセグメント表示器の点灯、消灯パターンにおける数字認識のためのテーブルを説明する図
図5】実施形態1に係るセグメント表示器の変化と、撮像装置によって撮像される撮影画像との関係について説明するための図
図6】実施形態1に係る画像処理装置における出力決定処理の一連の動作を示すフローチャート
図7】実施形態1に係るセグメント表示器の数字の変化に対する撮影結果を示す図
図8】実施形態2に係る画像処理装置における出力決定処理の一連の動作を示すフローチャート
【発明を実施するための形態】
【0011】
(実施形態1)
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
以下の説明では、複数のセグメントを用いて表示された数字を認識する処理を例に説明するが、複数のセグメントを用いて表示される他の文字を認識する文字認識処理にも適用可能である。また、以下の説明では、画像処理装置の一例として、数字認識処理(文字認識処理)の可能なコンピュータとしての情報処理サーバを用いる例を説明する。しかし、本実施形態は、コンピュータとしての情報処理サーバに限らず、数字認識処理(文字認識処理)を行うことが可能な他の機器にも適用可能である。これらの機器には、例えばパーソナルコンピュータ、デジタルカメラ、スマートフォンを含む携帯電話機、ゲーム機、タブレット端末、監視カメラシステムなどが含まれてよい。
【0013】
図1は、本実施形態に係る画像処理装置100を含む画像処理システムの構成例を示している。図1に示す画像処理システムは、大まかに、画像処理装置100と、撮像装置112、PLC115及びデータベース116、ネットワーク111とを含む。この画像処理システムでは、撮像装置112が表示器114の表示を撮影した画像を生成し、画像処理装置100が撮影された画像に対して、後述する数字認識処理や出力決定処理等の処理を施す。
【0014】
画像処理装置100は、制御部101、表示装置104、記録装置105、入力装置106などの以下に説明する各構成を含む。制御部101は、例えばCPUなどの1つ以上のプロセッサ、不揮発性メモリであるROM及び揮発性メモリであるRAMを含む。制御部101は、ROMに記憶されたプログラムをRAMに展開、実行することにより、画像処理装置100全体を制御する。プログラムは、制御部101の動作処理手順(例えばコンピュータの立ち上げ処理や基本入出力処理等のプログラム)、後述する数字認識処理や出力決定処理のためのプログラムを含んでよい。RAMは、プロセッサのメインメモリとして機能し、CPUが各種処理を実行する際のワークエリアを提供する。
【0015】
表示装置104は、例えば液晶又は有機ELのパネルを含み、制御部101の制御下で実行されているアプリケーションの表示、すなわちアプリケーションの実行状況やデジタルカメラからの画像などを表示する。記録装置105は、例えばハードディスクドライブ(以下HDD)やソリッドステートドライブ(以下SSD)等を含み、アプリケーションプログラムやデータ、ライブラリ等を保存する。入力装置106は、例えばポインティングデバイスやキーボード等を含み、画像処理装置100のユーザからの操作指示を受け付ける。
【0016】
メディアドライブ107は、例えば記憶媒体装着ユニット(メディアドライブ)を含み、着脱可能な記憶媒体(不揮発性メモリデバイス)が装着されると、外部の撮像装置112で撮影された画像のデータの読み出しが可能となる。
【0017】
ネットワークインタフェース108(単にI/F108ともいう)は、通信回線103及びネットワーク111を介して、撮像装置112など通信可能な機器との間でデータを送受信する。例えば、制御部101は、ネットワークインタフェース108を通じて、撮像装置112へ撮影指示の情報を送信し、また、撮像装置112から撮影画像を受信する。
【0018】
システムバス102は、上述した画像処理装置100の各ユニット間を接続するアドレスバス、データバスおよび制御バスから構成される。
【0019】
撮像装置112は、例えばデジタルカメラを含み、通信路113を介してネットワーク111と接続される。撮像装置112は、後述する表示器114を定期的に撮影して、例えばグレースケールの画像データを生成する。そして、当該画像データを、ネットワーク111を介して画像処理装置100へ送信する。画像処理装置100によって受信された画像データは、処理対象の画像データとして、記録装置105に保存される。
【0020】
表示器114は、計測対象としてのセグメント表示器を含み、複数のセグメントの点灯を制御することにより所定の文字を表示させる。例えば、本実施形態では、不図示の計測装置によって計測された温度、圧力、回転数又は距離などの物理量を、7つのセグメントの点灯消灯を切り替えて数字として表示するセグメント表示器を例に説明する。
【0021】
PLC(Programmable Logic Controller)115は、画像処理装置100以外の外部装置と画像処理装置100の動作を連動させるために用いられる制御装置である。外部装置と連動して画像処理装置100のアプリケーションを実行させる場合、PLC115は、実行指示の情報を画像処理装置100へ送信する。また、PLC115は、画像処理装置100のアプリケーション実行結果をPLC115のレジスタ内に格納し、他の外部装置との連動に用いることができる。
【0022】
一方、画像処理装置100の制御部101は、画像処理装置100のアプリケーションの実行結果をPLC115やデータベース116に保存させることができる。この場合、制御部101は、当該実行結果を、ネットワークインタフェース108からネットワーク111経由でPLC115やデータベース116に送信する。
【0023】
データベース116は、ネットワークを介してデータの検索や登録が可能であり、例えば、画像処理装置100のアプリケーション実行結果を受信してデータベースに保存することができる。
【0024】
なお、本実施形態では、表示器114の表示(例えば数字)の切り替わりに要する時間は、撮像装置112の露光時間より十分短い。このため、当該表示が切り替わる時間が2枚分の撮影の露光時間に跨ってしまったとしても撮影画像への影響は極めて低く、数字認識処理に影響しない。また、本実施形態における計測装置のサンプリング周期は、撮像装置112のフレームレートより十分長く、本実施形態における3枚の撮像中に計測装置の計測は2回以上行われないものとして説明する。
【0025】
(表示器における表示態様)
次に、図2を参照して、表示器114(セグメント表示器)の表示態様について説明する。表示器114に表示される文字(ここでは数字)は、撮影画像を用いて画像処理装置100によって認識される。
【0026】
表示部200は、LED若しくは液晶で構成されたセグメントを含み、上述した温度や圧力などの物理量を計測する計測装置の計測値を数字として表示する。表示部200では、例えば、7か所のLED若しくは液晶のセグメントを一組としてこれらの1組のセグメントが点灯、消灯するパターンによって1つの文字(ここでは数字)が形成される。図2に示す例では、セグメント201は消灯部であり、セグメント202は点灯部である。図2に示す表示部200の例では、4組のセグメントを用いて計測値「123.4」を表示する例を示している。
【0027】
なお、表示器114の表示は、この例に限らず、例えば、表示部200が液晶パネル等の表示パネルで構成されてもよい。この場合、表示部200の表示パネルに、1組のセグメントで表示する文字(ここでは数字)を表現した画像を表示してもよい。
【0028】
表示部200の各セグメントがLEDで構成される場合、1組のセグメントのうちの点灯部(点灯するセグメント)は、背景や消灯部(すなわち点灯しないセグメント)より明るく表示される。また、表示部200の各セグメントが液晶で構成される場合、1組のセグメントのうちの点灯部は、背景や消灯部より暗く表示される。
【0029】
表示部200には、小数点を表す小数点表示部203を含んでよい。小数点を表示可能な表示器の場合、数値を表示する表示部の右下に小数点表示部を配置する。図2に例示する小数点表示部203は、小数点表示部が消灯している例を示しており、小数点表示部204は小数点表示部が点灯している例を示している。このように、表示する計測値が小数点を有する場合には、表示部200では、適切な位置の小数点表示部の点灯と消灯とを切り替えることにより小数点を有する計測値を表現する。
【0030】
(数字認識処理)
次に、図3及び図4を参照して、画像処理装置100において実行される、表示器114に表示される文字を認識する処理(単に、数字認識処理ともいう)について説明する。
【0031】
本数字認識処理では、画像処理装置100は、まず、表示器114を撮影した撮影画像の中から表示部200が表示される領域を抽出する。そして、抽出した表示部200の領域からさらに、一桁ずつの領域(1文字分の領域という)に分割し、分割された1文字分の領域において数字認識処理を実行する。図3は、撮影画像のうちの1文字分の領域の画像データの一例を示している。
【0032】
図3において、301~307は、1文字分の領域に含まれる7つのセグメントである。以降、301~307のセグメントを、それぞれsegNo.1~segNo.7とも呼ぶ。
【0033】
点308は、1文字分の領域の画像データを構成する上辺を二等分に分割する点である。また、点309と点310は、1文字分の領域の画像データを構成する右辺を三等分に分割する点である。例えば、上側の点を点309、下側の点を点310とする。点311は、1文字分の領域の画像データを構成する下辺を二等分に分割する点である。更に、点312と点313は、1文字分の領域の画像データを構成する左辺を三等分に分割する点である。上側の点を点313、下側の点を点312とする。
【0034】
交点314は、点308と点311とを結ぶ直線と、点313と点309とを結ぶ直線との交点である。また、交点315は、点308と点311とを結ぶ直線と、点312と点310とを結ぶ直線との交点である。
【0035】
segNo.1(セグメント301)が点灯しているか消灯しているかを判別する場合、制御部101は点309から交点314へと画素の値を順次読み込み、一定値以上の輝度値の画素があるかどうかを判別する。制御部101は、一定値以上の輝度値の画素があると判別した場合には、segNo.1が点灯しているものとして、当該セグメントの点灯状態に係る判別結果をsegNo.1と関連付けてRAMに記憶する。一方、制御部101は、一定値以上の輝度値の画素がないと判別した場合には、segNo.1が消灯しているものとして、判別結果をsegNo.1と関連付けてRAMに記憶する。
【0036】
なお、上述の点灯判別方法は、表示器114が例えばLEDのように、消灯している状態より点灯している状態の方が輝度値が高いセグメントである場合に適用可能な判別方法である。一方、表示器114が例えば液晶で構成される場合には、セグメントが点灯しているか消灯しているかを判別する方法は、異なる方法を用いてよい。例えば、制御部101は、点309から交点314へと画素の値を順次読み込み、一定値以下の輝度値の画素があるかどうかを判別する。そして、一定値以下の輝度値の画素があると判別した場合には、制御部101は、segNo.1(セグメント301)が点灯しているものとして、判別結果をsegNo.1と関連付けてRAMに記憶する。
【0037】
同様に、segNo.2(セグメント302)については、制御部101は、交点314から交点315へ画素の値を順次読み込み、上述の方法で、点灯しているか否かを判別する。そして、判別結果をsegNo.と関連付けてRAMに記憶する。同様に、制御部101は、segNo.3については点310から交点315へ、segNo.4については点311から交点315へ、画素の値を順次読込んで同様の処理を行う。更に、制御部101は、segNo.5については点312から交点315へ、segNo.6については点313から交点314へ、segNo.7については点308から交点314へ、画素の値を順次読込んで同様の処理を行う。
【0038】
図4は、各セグメントの点灯状態に係る判別結果と、表示している数字の関係を表している。
【0039】
管理番号列401は、テーブルのデータを一意に特定するための管理番号が記載される列である。点灯パターン402は、点灯状態のパターンを示す列である。列403から列409は、それぞれ対応するsegNo.1~segNo.7の点灯条件を示す列である。列410は、判別されるべき出力値を表す列である。
【0040】
また、具体的な管理番号に対応する行411から行426は、それぞれの出力値(数値)と対応するセグメントの点灯条件とが関連付けらている。例えば、segNo.1からsegNo.7まですべてONである場合、この点灯状態は、行422に示すパターンと一致する。このため、当該点灯状態では、出力されるべき出力値は8となる。また、例えば、segNo.2のみがONであり、他のセグメントが全てOFFの場合、この点灯状態は行424と一致する。このため、当該点灯状態では、出力されるべき出力値は、-(マイナス)となる。
【0041】
このように、制御部101は、図3に示した判別方法を用いて各セグメントの点灯状態の判別結果をRAMに保持する。そして、制御部101は、点灯状態の判別結果と一致する点灯状態を示す行を図4のテーブルを用いて探索する。このとき、点灯状態の判別結果と一致する行があった場合には、当該一致する行の列410の値(出力値)を数字認識結果としてRAMに保持する。一方、制御部101は、当該判別結果と一致する見つからなかった場合には、認識失敗として、RAMに保持する。制御部101は、同様の処理を表示器114に表示されている数字のそれぞれに対して行って、認識した数字をRAMに保持する。
【0042】
(表示器の表示の変化と撮影タイミングの関係)
次に、図5を参照して、表示器114の表示の変化と、撮像装置112による撮影タイミングの関係を説明する。
【0043】
上述したように、表示器114に表示される計測値は、計測器がサンプリング周期ごとに計測を行った計測結果である。図5に示す例では、表示器114に表示される計測値が「2」から「5」に変化するタイミングに係る時間変化を示している。
【0044】
時間軸500は、時間変化を表しており、t1~t6はそれぞれ撮像装置112が露光を開始するタイミングを示している。表示501は、表示器114に表示されている計測値を表している。図5に示す例では、t1~t4の時刻では表示されている計測値が「2」(表示501a)であることを示している。また、t5~t6の時刻では、表示されている計測値が「5」(501b)であることを示している。このとき、表示される計測値は、t4とt5の間に「2」(表示501a)から「5」(501b)に変化している。
【0045】
撮影画像502は、t1~t6のそれぞれのタイミングにおいて、撮像装置112が露光を開始して表示器114を撮影した画像を示す。本実施形態では、撮影される画像はグレースケールの画像であり、その画像は大まかに以下の3種類の領域に分類される。1つ目は、表示器114のセグメントの状態が消灯状態の領域(領域503)である。2つ目は、点灯状態である領域(領域504)である。そして、3つ目は、露光中にセグメントの状態が変化し、点灯状態と消灯状態の中間的な状態の輝度値を有する領域(領域505)である。
【0046】
t1~t3のタイミングに露光を開始した場合、計測値「2」を表示器114が表示している撮影画像502aが得られる。t5~t6のタイミングに露光を開始した場合、計測値「5」を表示器114が表示している撮影画像502bが得られる。一方、t4のタイミングに露光を開始した場合、撮像装置112が露光しているときに計測値が「2」から「5」に変化している。このため、撮影画像502cは、変化したセグメントが、輝度値が点灯状態の領域と消灯状態の中間的な状態の輝度値を含む画像となる。
【0047】
撮影画像が502aまたは502bであった場合、制御部101は、図3に示した点灯状態の判別方法に従って、図4に示したテーブルと照合した場合、502aの画像では計測値「2」を検出することができる。一方、502bの画像では計測値「5」得ることができる。これに対し、撮影画像がt4のタイミングで撮像された撮影画像が502cである場合、点灯状態を正確に得られることができない。この場合、図4に示した行426のようなテーブルに当てはまらない数字認識結果を出力したり、表示器114に表示されている計測値とは異なる「8」という数字認識結果を出力する可能性がある。以下の説明では、撮影画像502cのような撮影画像を含む場合であっても、適切な数字(文字)を出力値として出力することが可能な処理(出力決定処理)について述べる。
【0048】
(時系列の画像を用いた出力決定処理に係る一連の動作)
次に、図6を参照して、本実施形態に係る、時系列の画像を用いた出力決定処理の一連の動作について説明する。出力決定処理は、時系列の撮影画像のそれぞれにおける認識結果(この例では数字)を用いて、複数の認識結果のうちどの認識結果(数字)を出力するかを決定する処理である。出力決定処理に係る一連の動作は、制御部101がROMに格納された数字認識用のアプリケーションをRAMに展開、実行することにより、実現される。また、画像処理装置100は、起動後に初期設定が完了し、本処理の実行待機状態であり、入力装置106から又はネットワークを介して開始用の操作を受け付けることで開始される。初期設定は、表示器114を視野内に収めるように撮像装置112のPTZ(パン・チルト・ズーム)が設定されることを含む。また、初期設定は、数字認識用のアプリケーションの数字認識処理パラメータ、例えば図3で説明したセグメントの点灯状態を判別するための輝度値閾値などが適切に設定されることを含む。
【0049】
ステップS601では、制御部101は、カメラ撮像のループカウンタ用の変数iの値を0に初期化する。
【0050】
ステップS602では、制御部101は、数字認識用のアプリケーションを実行することにより、ネットワークインタフェース108を介して、撮像装置112へ撮像開始指令を送信する。これにより、撮像装置112は表示器114の撮像を開始し、得られた撮影画像をネットワーク111を介して画像処理装置100に送信する。
【0051】
画像処理装置100の数字認識用アプリケーションは、ネットワークインタフェース108で受信した撮影画像をループカウンタiの値と紐づけてRAMに格納する。
【0052】
ステップS603では、制御部101は、S602で格納された撮影画像から表示器114に表示されている数字を認識するために、数値認識処理を実行する。具体的には、制御部101は、図3を参照して説明した方法を用いる。
制御部101は、数字認識処理によって得られた表示器114の数字情報を、ループカウンタiの値と紐づけてRAMに格納する。
【0053】
ステップS604では、制御部101は、RAMに格納されているループカウンタiのループ数を判定する。ここで、Nは最大ループ数の定数であり、ループ数は本実施形態では例えば、3とする。ループカウンタiが定数N未満である場合、制御部101は処理をS602に戻して、数字認識処理を繰り返す。ループカウンタiが定数N以上であった場合、ループを抜けて認識した数字の決定処理ステップへ移行する。
【0054】
ステップS605では、制御部101は、RAMに格納されているループカウンタiの値をインクリメントする。ループカウンタiの値を変更することでステップS602で取得した撮影画像やステップS603で認識した数字の重複を回避する。
【0055】
決定処理のステップS606~S610は、S602で撮影した3枚の画像を用いて表示器114の表示として出力する数字を決定する(すなわち、3枚の認識結果のうちどの数字を出力するかを決定する)処理である。ここで、図7には、表示器114の数字の変化に対する撮影結果の画像を示している。すなわち、ステップS604におけるNが3であるため、ステップS602で撮影される撮影画像は3枚である。
【0056】
図7(A)は、図5に示したt1~t3のタイミングで撮影された3枚の撮影画像を示している。t1~t3の時間では、表示器114に表示される計測値の数字は変化しない。このためすべて同じ数字の画像が撮影される。
【0057】
図7(B)は、図5に示したt2~t4のタイミングで撮影された3枚の撮影画像を示している。t4のタイミングに露光した画像では、露光中に表示器114に表示される計測値の数字が変化する。このため、3枚の画像のうち2枚は表示器114に表示されている計測値の数字が撮影されているが、最後の1枚は、露光中に表示器114が変化し、正確な計測値が撮影されていない画像となる。
【0058】
図7(C)は、図5のt3~t5のタイミングで撮影された3枚の撮影画像を示している。t4のタイミングに露光した画像では露光中に表示器114に表示される計測値の数字が変化する。このため、3枚の画像のうち1枚目は表示器114に表示されている計測値の数字が変化する前の数字を撮影した撮影画像である。2枚目は、露光中に表示器114が変化し、正確な計測値が撮像されていない撮影画像となり、3枚目は、表示器114に表示されている計測値の数字が変化した後の数字を撮影した撮影画像となる。
【0059】
図7(D)は、図5のt4~t6のタイミングで撮影された3枚の画像を示している。t4のタイミングに露光した画像は、露光中に表示器114に表示される計測値の数字が変化したため、1枚目は、正確な計測値が撮影されていない撮影画像である。その後の2枚(2枚目と3枚目)は、表示器114に表示されている計測値の数字が撮影された撮影画像である。ここで、図1の説明で上述したように、本実施形態における表示器114の数字切り替わりの時間は撮像装置112の露光時間より十分短い。このため、撮像装置112が撮像した3枚の画像は図7の(A)~(D)の4パターンのいずれかに当てはまる。
そこで、S606~S610の決定処理では、制御部101は、時系列順に撮影した3枚の画像が、パターン(A)~(D)のいずれに当てはまるのかを判別することで、表示器114の表示として出力する計測値を決定する。
【0060】
ステップS606では、制御部101は、ステップS603で認識した数字の結果がすべて同じであるかを判定する。制御部101は、認識した数字がすべて同じ数字である場合、ステップS607へ遷移する。この場合は、図7(A)に示したパターンに相当し、3枚の画像の数字認識結果がすべて同じである。このため、ステップS607では、制御部101は、撮像装置112の露光中に表示器114は変化していないと判定し、3枚の画像のうち任意の認識結果(或いは固定的に最後の認識結果)をRAMに保持する。一方、制御部101は、ステップS606において認識結果がすべて同じ数字でないと判定した場合、ステップS608へ遷移する。
【0061】
ステップS608では、制御部101は、S603で認識した数字が2種類であるかを判定する。制御部101は、認識した数字が2種類である場合、ステップS609へ遷移する。この場合、図7(B)或いは図7(D)に示したパターンに相当する。すなわち、数字認識結果は2種類であるため、1枚の数字認識結果は、表示器114の変化中に露光した際の数字認識結果であると判定することができる。一方、同一の数字認識結果である2枚の画像が変化中でない数字認識結果と判定できる。そこで、ステップS609では、制御部101は、最も多くの画像(この場合2枚)から認識された数字をRAMに保持する。
【0062】
一方、制御部101は、ステップS608においてS603で数字の認識結果が2種類でない(すなわち3種類である)と判定した場合、ステップS610に遷移する。この場合は、図7(C)に相当する。数字認識結果は3種類であるため、制御部101は、2枚目の数字認識結果が表示器114の変化中に露光した際の数字認識結果であると判定することができる。また、1枚目は、表示器114が変化する前の数字認識結果であり、3枚目は、変化後の数字認識結果と判定することができる。ステップS610では、制御部101は、最後に認識した数字を保持する。なお、ステップS610では、制御部101は、最初に認識した数字を保持するのでも構わない。
【0063】
ステップS611では、制御部101は、直前のステップ(すなわちS607、S609、S610)でRAMに保持した数字認識結果を、画像処理装置100の決定した出力として外部システムに出力する。制御部101は、決定した出力を数字データのバイナリ、もしくはテキストデータとして画像処理装置100内の記録装置105などに保存してもよい。また、制御部101は、、メディアドライブ107内の記録媒体に保存したり、ネットワーク111に接続されている外部の記録媒体(データベースなど)に記録したりしてもよい。制御部101は、その後、出力決定処理に係る一連の動作を終了する。
【0064】
以上説明したように本実施形態では、1つの文字(数字)を時系列順に撮影した3つの撮影画像から認識した数字の、時系列の変化態様に基づいて、出力する文字(数字)を決定するようにした。このとき、撮影画像に表示器114の変化中に露光した撮影画像が含まれることを想定して、数字認識結果が3つ存在する場合には1つの誤った数字が認識されていることを考慮するようにしている。数字認識結果として2種類の数字が認識されている場合、1枚の画像から認識された数字を除いた、複数の画像から認識された同一の数字を採用する。一方、数字認識結果として数字が3つ認識されている場合には、変化途中の誤った数字が真ん中の画像に現れることを利用して、最後(又は最初)に撮影された画像の数値を採用するようにした。このようにすることで、表示器の表示の変化により誤った文字を認識する場合があっても、最終的に正確な認識結果を出力することが可能になる。
【0065】
なお、上述の本実施形態では、セグメント数が7つである、7セグメント表示器を例に説明した。しかし、セグメント数が14個である、14セグメント表示器や、セグメント数が16個である、16セグメント表示器の場合にも適用可能である。その場合、各セグメントの点灯状態の判別処理やテーブルデータはそれぞれのセグメント数に合わせて変更すればよい。
【0066】
また、上述の本実施形態では、表示器114に表示されている文字が数字である場合を例に説明した。しかし、上述した処理は、アルファベットや、記号などの文字に適用することができる。
【0067】
更に、上述の本実施形態では、ステップS604におけるN(すなわち時系列に撮影される画像の枚数)が3である場合を例に説明した。しかし、Nを4以上(撮像される画像の枚数を4以上)として図6に示した出力決定処理を行ってもよい。但し、本実施形態におけるN枚の撮像中に計測装置の計測を2回以上行わないものとする。
【0068】
更に、上述の実施形態では、表示器114の数字を一桁ずつ分け、それぞれで数字認識処理を実行する場合を例に説明した。しかし、数字認識処理を桁ごとに行うのではなく、画像内の表示器に表示されている数字を一度に認識する数字認識処理方法でも構わない。
【0069】
また、上述の実施形態では、セグメントの点灯状態及び消灯状態を図4に記載のパターンに当てはめる、いわゆるルールベースのアルゴリズムに基づいて数字を認識する方法を例に説明した。しかし、数字認識処理は、必ずしもルールベースのアルゴリズムによって認識されなくてもよい。例えば、表示器114の画像を事前に機械学習を用いて学習しておき、撮影した表示器114の画像から表示されている数字(文字)を認識する方法を用いてもよい。機械学習を用いる方法として、例えば、畳み込み層を有するディープニューラルネットワーク(例えば、Convolutional Neural Network)を用いて数字(文字)を認識する方法を用いてもよい。このようにすれば、特徴量やアルゴリズムを手作業で事前に与えることなく、セグメントの点灯状態及び消灯状態のパターンに基づいて数字(文字)を認識することができる。
【0070】
上述の例では、3つの撮影画像から最大3つの数字を認識する場合を例に説明した。しかし、数字を認識不可能である結果を得た場合も同様の処理を適用することができる。すなわち、数字を認識不可能との認識結果が出たときは、当該結果を1種類の文字を認識したものと同等に扱えばよい。
【0071】
(実施形態2)
次に実施形態2について説明する。実施形態2では、実施形態1と数字決定処理の動作の一部が異なるが、他の構成或いは処理は実施形態1と同様である。すなわち、画像処理システムの構成や、表示器114の表示に対する数字認識処理は、実施形態1と同様である。このため、同一又は実質的に同一の構成については同一の参照符号を付して説明を省略し、異なる構成について重点的に説明する。
【0072】
(時系列の画像を用いた出力決定処理に係る一連の動作)
図8を参照して、本実施形態に係る、時系列の画像を用いた出力決定処理に係る一連の動作について説明する。
【0073】
ステップS801では、制御部101は、上述したステップS602と同様に、撮像装置112へ撮像開始指令を送信する。これに対し、撮像装置112は、表示器114の表示を撮像して、その得られた画像データをネットワーク111を介して画像処理装置100に送信する。制御部101は、撮像装置112から受信した画像データをRAMに格納する。
【0074】
ステップS802では、制御部101は、S801で格納された画像データから表示器114に表示されている数字を認識するための数字認識処理を実行する。このとき、制御部101は、実施形態1で上述した数字認識処理を実行する。そして、ステップS803では、制御部101は、S802で認識した数字をRAMに確保されている変数R1に保持する。
【0075】
次に、ステップS804では、制御部101は、S801と同様に撮像装置112で撮像した画像データを格納し、更に、ステップS805では、制御部101は、S802と同様に格納されている画像データに対して数字認識処理を実行する。そして、ステップS806では、制御部101は、S805で認識した数字をRAMに確保されている変数R2に保持する。
【0076】
すなわち、ステップS801~S806では、連続する時系列の画像のうちの前の画像に数字認識処理を行った結果と、後の画像に数字認識処理を行った結果とを、それぞれ変数R1及びR2に保持する処理を行っている。
【0077】
ステップS807では、制御部101は、S803及びS806で保持した数字認識結果であるR1とR2を照合する判定処理を実行する。制御部101は、R1とR2が一致しないと判定した場合、表示器114の表示が数字認識処理実行中に変化したと判定して、処理をステップS808へ遷移させる。ステップS808では、制御部101は、後に認識した結果であるR2をR1の変数へ代入する。制御部101は、ステップS808の処理の完了後はS804へ遷移して、S807の判定において認識結果が一致するまで処理を繰り返し実行する。このようにすることで、時系列順の複数の撮影画像の数を動的に変化させながら、同一の認識結果が連続したところで正しい数字を出力して決定することができる。
【0078】
一方、制御部101は、ステップS807においてR1とR2が一致すると判定した場合、ステップS809に処理を遷移させる。ステップS809では、制御部101は、認識結果R1が表示器114に表示されている数字であると決定して認識結果R1を外部システムに出力する。勿論、出力する結果はR2に保持されている結果でも構わない。
【0079】
なお、制御部101が判定結果を数字データのバイナリ、もしくはテキストデータとして画像処理装置100内の記録装置105などに保存してもよい。また、メディアドライブ107内の記録媒体に保存してもよいし、ネットワーク111に接続されている外部の記録媒体(データベースなど)に記録してもよい。
【0080】
以上説明したように本実施形態によっても、1つの文字(数字)を時系列順に撮影した連続する撮影画像に基づいて、表示された文字(数字)を判定するようにした。このとき、撮影画像に表示器114の変化中に露光した撮影画像が含まれることを想定して、連続する数字認識結果が一致しない場合には誤った数字が認識されていることを考慮するようにしている。反対に、連続する数字認識結果が一致する場合には、誤認識された数字を含まない正しい数字認識結果を含むと判定して、当該数字認識結果を出力として採用する。このようにすることで、表示器の表示の変化により誤った文字を認識する場合があっても、最終的に正確な認識結果を出力することが可能になる。
【0081】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0082】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0083】
100…画像処理装置、101…制御部、112…撮像装置、114…表示器
図1
図2
図3
図4
図5
図6
図7
図8