(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-12
(45)【発行日】2025-02-20
(54)【発明の名称】作業記録抽出装置、作業記録抽出システム
(51)【国際特許分類】
G06F 3/04842 20220101AFI20250213BHJP
G06Q 50/04 20120101ALI20250213BHJP
【FI】
G06F3/04842
G06Q50/04
(21)【出願番号】P 2022032018
(22)【出願日】2022-03-02
【審査請求日】2024-02-28
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】上野 高明
(72)【発明者】
【氏名】山本 将史
(72)【発明者】
【氏名】林 真悟
(72)【発明者】
【氏名】新岡 正彦
【審査官】亀澤 智博
(56)【参考文献】
【文献】特開2019-028776(JP,A)
【文献】特開平07-219701(JP,A)
【文献】特開2007-188159(JP,A)
【文献】特開2015-060464(JP,A)
【文献】特開2004-094666(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/03 - 3/04895
(57)【特許請求の範囲】
【請求項1】
作業者が作業端末上において図面データ上の図面要素を手入力によって辿った経路を記述した手書きデータを取得するデータ取得部、
前記手書きデータと前記図面データを照合することにより前記手書きデータが通過した前記図面要素を特定するデータ照合部、
を備え、
前記データ照合部は、前記図面要素の周囲に前記図面要素のうち少なくとも一部を包含する境界領域を設定し、
前記データ照合部は、前記手書きデータが前記境界領域のうち少なくとも一部を通過しているか否かを判定し、通過している場合は前記手書きデータが前記図面要素を通過したと判定し、
前記データ照合部は、前記判定の結果を出力
し、
前記データ照合部は、前記図面要素が延伸する方向または前記図面要素が他の前記図面要素に対して接続する方向を表す方向データを取得し、
前記データ照合部は、前記方向データが指定する第1方向に沿って、前記境界領域を単位幅ごとに分割し、
前記データ照合部は、前記分割した単位幅ごとに、前記手書きデータが前記単位幅に分割した領域を通過しているか否かを判定し、
前記データ照合部は、前記境界領域が有する前記単位幅のうち前記手書きデータが通過しているものの個数が、前記境界領域が有する前記単位幅の総数に対して閾値を満たしている場合は、前記手書きデータが前記図面要素を通過していると判定する
ことを特徴とする作業記録抽出装置。
【請求項2】
前記データ照合部は、前記図面要素が直線である場合は、前記直線が延伸する方向を前記第1方向として取得し、
前記データ照合部は、前記図面要素が文字列である場合は、前記文字列が並んでいる方向を前記第1方向として取得する
ことを特徴とする請求項
1記載の作業記録抽出装置。
【請求項3】
前記単位幅のサイズは、前記図面データ内に含まれるすべての前記図面要素の幅のうち最小のものの半値である
ことを特徴とする請求項
1記載の作業記録抽出装置。
【請求項4】
前記境界領域は、前記第1方向に対して直交する第2方向において、許容幅を有し、
前記許容幅は、前記第2方向における前記図面要素のサイズに対して、前記作業者が前記作業端末上において前記手書きデータを入力するために用いる入力デバイスのスポットサイズを加えたサイズを有し、
前記データ照合部は、前記手書きデータが通過した経路が前記許容幅内に含まれている場合は、前記手書きデータが前記境界領域を通過していると判定する
ことを特徴とする請求項
1記載の作業記録抽出装置。
【請求項5】
前記図面要素が前記図面データ内において前記第1方向に対する斜め方向に延伸している場合、
前記データ照合部は、前記単位幅と前記許容幅を有する1つ以上の矩形を前記図面要素に沿って連続して配置することにより、前記図面要素の周囲に前記境界領域を設定する
ことを特徴とする請求項
4記載の作業記録抽出装置。
【請求項6】
前記図面要素が前記図面データ内において前記第1方向に対する斜め方向に延伸している場合、前記データ照合部は、
前記図面要素の延伸方向と、前記図面データ内の座標軸上における45°方向との間の角度が大きくなるほど、前記許容幅は大きくなり、
前記許容幅の最小値は、前記第2方向における前記図面要素のサイズであり、
前記許容幅の最大値は、前記第2方向における前記図面要素のサイズに対して前記スポットサイズを加えたサイズである
ように前記許容幅をセットする
ことを特徴とする請求項
4記載の作業記録抽出装置。
【請求項7】
前記図面要素が、前記図面データ内の水平方向と垂直方向の両方において、他の前記図面要素に対して接続している場合、
前記データ照合部は、前記水平方向または前記垂直方向のうちいずれか一方を前記第1方向としてセットして前記判定を実施したとき前記閾値を充足しない場合は、さらに、前記水平方向または前記垂直方向のうち他方を前記第1方向としてセットして前記判定を実施する
ことを特徴とする請求項
1記載の作業記録抽出装置。
【請求項8】
前記データ照合部は、前記手書きデータの外接矩形を計算し、
前記データ照合部は、前記図面要素のうち前記外接矩形内に少なくとも一部が含まれるものについてのみ、前記手書きデータが前記境界領域を通過しているか否かを判定する
ことを特徴とする請求項1記載の作業記録抽出装置。
【請求項9】
前記データ照合部は、前記手書きデータが通過した経路を、前記図面要素を通過する経路と注記を手書き入力した経路とに区分する注記識別処理を実施し、
前記データ照合部は、前記手書きデータ内のサンプル点のうち前記図面要素の周囲に設定した前記境界領域内に含まれているものの個数が、前記サンプル点の総数に対して閾値を満たしていない場合、前記手書きデータは前記注記として区分する
ことを特徴とする請求項1記載の作業記録抽出装置。
【請求項10】
複数の前記手書きデータが所定時間内に生成された場合、
前記データ照合部は、前記所定時間内に生成された各前記手書きデータのサンプル点のうち前記図面要素の周囲に設定した前記境界領域内に含まれているものの個数が、前記所定時間内に生成された各前記手書きデータのサンプル点の総数に対して閾値を満たしていない場合、前記手書きデータは前記注記として区分する
ことを特徴とする請求項
9記載の作業記録抽出装置。
【請求項11】
前記データ照合部は、前記手書きデータが前記作業端末上において描画する手書き画像の描画属性を取得し、
前記データ照合部は、前記描画属性が所定ルールに該当するか否かにしたがって、前記手書きデータが通過した経路を、前記図面要素を通過する経路と注記を手書き入力した経路とに区分する注記識別処理を実施し、
前記描画属性は、
前記手書きデータを入力するために用いる仮想ペンデバイスのペン種別、
前記手書き画像の線色、
前記手書き画像の線太さ、
前記手書き画像の透過率、
のうち少なくともいずれかである
ことを特徴とする請求項1記載の作業記録抽出装置。
【請求項12】
前記作業記録抽出装置はさらに、前記作業者が前記作業端末上で実施した作業の記録を生成する作業記録生成部を備え、
前記作業記録生成部は、前記データ照合部による前記判定の結果を時系列順に整列し、
前記作業記録生成部は、前記整列した時系列の時刻にしたがって、前記手書きデータが表す作業の所要時間を算出するとともに、その結果を記述した作業記録データを生成し、
前記作業記録生成部は、前記作業記録データを記憶装置に格納する
ことを特徴とする請求項1記載の作業記録抽出装置。
【請求項13】
前記作業記録抽出装置はさらに、前記作業記録データが記述している作業記録を画面表示するための表示データを生成する表示データ生成部を備え、
前記表示データ生成部は、前記作業記録データが記述している各作業の所要時間に応じた色、透過率、または線太さのうち少なくともいずれかを用いて、前記手書きデータが前記図面要素を通過したか否かを可視化することにより、前記表示データを生成し、
前記表示データ生成部は、前記生成した表示データを記憶装置に格納する
ことを特徴とする請求項1
2記載の作業記録抽出装置。
【請求項14】
請求項1記載の作業記録抽出装置、
前記作業端末、
を有し、
前記データ取得部は、前記作業端末から前記手書きデータを取得する
ことを特徴とする作業記録抽出システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業者が作業端末上で手書き入力により実施した作業記録を抽出する技術に関するものである。
【背景技術】
【0002】
人口減少や少子高齢化にともない、製造現場では高い現場スキルを持った熟練技術者が不足している。作業品質を維持するために、熟練技術者の持つ高度な技術を若年技術者へ伝承することが課題である。技能伝承を進める上では、熟練技術者の作業手順やノウハウをマニュアル化して技量に関わらず業務を推進できる仕組みづくりが必要である。特に、図面を用いた作業においては現場スキルの依存性が高く、熟練ノウハウのマニュアル化が急務である。
【0003】
図面作業の例を挙げると例えば、回路部品の配置や結線を記述した電気的な図面を用いて、回路の導通状態やシーケンス動作を確認して該当する図面要素を手書きで上塗りする作業がある。熟練技術者の作業手順やノウハウをマニュアル化するためには、図面上の作業記録をデジタル情報として抽出し解析する必要がある。電子ペーパやタブレット等のウェアラブル端末を用いて作業記録をデジタル化しようとした場合、図面にオーバーレイされた手書きデータとその背面にある図面要素との位置座標を照合する必要がある。ここでいう図面要素とは例えば、配線、図面記号、文字などである。
【0004】
特許文献1は、地図データ上にオーバーレイされた手書きデータと地図上の道路の位置座標を照合することにより、ユーザが手書きによって指定したルートを探索する技術を開示している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載されている手法は、手書きデータのサンプリング位置に最も近い道路を必ず1つ選択する。この手法を上述の図面作業に対して適用した場合、手書き経路が図面要素から大きく離れているが、当該図面要素が手書きに対して最も近い場合、作業者の意図に反して当該図面要素が選択されてしまう。加えて、作業中に手書き部分が局所的に大きく外れ他図面要素に近接した場合、作業者の意図しない他図面要素が選択される。したがって、手書きずれがある場合においても、作業者の意図通りに正しく作業記録を抽出できるシステムが望まれる。
【0007】
本発明は、上記課題に鑑みてなされたものであり、図面データに対して手入力により上書された手書きデータと図面データ上の図面要素との間で位置座標を照合する際に、手書きずれがあっても手書きに対応する図面要素を正しく選択することができる作業記録抽出装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る作業記録抽出装置は、図面要素の周囲に前記図面要素のうち少なくとも一部を包含する境界領域を設定し、手書きデータが前記境界領域のうち少なくとも一部を通過しているか否かを判定し、通過している場合は前記手書きデータが前記図面要素を通過したと判定する。
【発明の効果】
【0009】
本発明に係る作業記録抽出装置によれば、図面データに対して手入力により上書された手書きデータと図面データ上の図面要素との間で位置座標を照合する際に、手書きずれがあっても手書きに対応する図面要素を正しく選択することができる。上記以外の課題、構成、および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0010】
【
図1】図面データおよび図面データに対して手入力により上書した手書きデータの例を示す。
【
図2】実施形態1に係る作業記録抽出装置100の機能ブロック図である。
【
図3A】手書きデータ121の元となる手書き表示122の例を示す。
【
図4A】図面要素データ111のデータ例を示す図である。
【
図4B】図面要素データ111のデータ例を示す図である。
【
図4C】図面要素データ111のデータ例を示す図である。
【
図5】データ照合部130の動作を説明するフローチャートである。
【
図6A】境界領域を設けるために設定する許容幅を説明する図である。
【
図6B】境界領域を設けるために設定する許容幅を説明する図である。
【
図6C】境界領域を設けるために設定する許容幅を説明する図である。
【
図7A】境界領域を分割するために設定する単位幅を説明する図である。
【
図7B】境界領域を分割するために設定する単位幅を説明する図である。
【
図8A】単位幅による分割数を多くすることにより生まれるメリットを説明する図である。
【
図8B】単位幅による分割数を多くすることにより生まれるメリットを説明する図である。
【
図9A】斜めに傾いた配線における許容幅と単位幅の設定方法の例を示した図である。
【
図9B】斜めに傾いた配線における許容幅と単位幅の設定方法の例を示した図である。
【
図9C】斜めに傾いた配線における許容幅と単位幅の設定方法の例を示した図である。
【
図10A】図面記号に対して許容幅と単位幅を設定する例を示す。
【
図10B】図面記号に対して許容幅と単位幅を設定する例を示す。
【
図10C】図面記号に対して許容幅と単位幅を設定する例を示す。
【
図11】照合する図面要素を絞り込む方法を説明する図である。
【
図12】チェック判定データ131の構成とデータ例を示すデータテーブルを示す。
【
図13】作業記録生成部141の動作を説明する示すフローチャートである。
【
図16】実施形態2における作業記録抽出装置100の構成図である。
【
図17】実施形態2におけるデータ照合部130の動作を説明するフローチャートである。
【
図18A】S1501において注記を抽出するための判定方法を説明する図である。
【
図18B】S1501において注記を抽出するための判定方法を説明する図である。
【
図18C】S1501において注記を抽出するための判定方法を説明する図である。
【
図20】実施形態2における作業記録生成部141の動作を説明するフローチャートである。
【
図21】実施形態2における作業記録データ112の例を示す。
【
図22】実施形態3におけるデータ照合部130の動作を説明するフローチャートである。
【発明を実施するための形態】
【0011】
<実施の形態1>
図1は、図面データおよび図面データに対して手入力により上書した手書きデータの例を示す。この例において図面データは、回路部品の配置や結線を記述している。回路部品や配線は図面要素として記述されている。作業者は作業端末上で図面データを表示し、作業端末が備える入力デバイスなどを用いて、作業記録を入力する。例えば電気的に導通していることを確認した回路部品を手書きによって辿ることにより、導通経路を入力する。
図1においては、SIG1とSIG2からそれぞれ開始する2つの導通経路が手書き入力されている。作業者はその他に、図面データが記述している文字列(
図1においてはブレーカーAなど)を手書きで辿る場合がある。
【0012】
図1に示すように、手書き入力は局所的にずれる場合がある。例えばSIG2から開始する手書き導通経路は、文字列「CD」の右側において、1つ下の配線に対して局所的に接近するようにずれている。この場合、どちらの配線を辿ったのかデータ上で特定することが困難となる。本発明はこのような場合であっても、手書き経路(すなわちどの図面要素を辿ったか)を正しく識別することを図る。
【0013】
図2は、本発明の実施形態1に係る作業記録抽出装置100の機能ブロック図である。作業記録抽出装置100は、作業者が使用する第1端末10、管理者が使用する第2端末200、に対して接続されている。第1端末10の例としては、ウェアラブル端末(Wearable Device、以下WD)が挙げられる。WDは、タブレットや電子ペーパなどのように、電子ペンなどを用いて画面上に手書きをした際の、手書き時系列データを記録できるデバイスである。
【0014】
作業記録抽出装置100は以下を備えている:第1端末10および第2端末200とデータを送受信するデータ通信部101;第1端末10および第2端末200のうち少なくともいずれかに対してデータを出力するようにデータ通信部101を制御する表示制御部102;データ格納部110;作業者が第1端末10上に手書きした経路を記述したデータ(手書きデータ121)を取得する手書きデータ取得部120;手書きデータ121と作業図面に対応する図面要素データ111との間で位置座標を照合することにより、作業者が手書きによって当該図面要素データを選択またはチェックしたか否かを判定するデータ照合部130;データ照合部130による判定結果に基づき作業記録データ112を生成し、作業記録データ112を図面上に可視化した表示用データ113を生成する、データ生成部140。
【0015】
手書きデータ取得部120は、作業者が第1端末10上で手書き入力した結果を記述した手書きデータ121を、例えば第1端末10と通信することにより取得する。手書きデータ121は、手書きにより生成されるインクデータの生成時刻、属性、座標などを含むデータの集合である。インクデータとは、ユーザが電子ペンで第1端末10の画面上に触れて手書きし、画面上から離れた際に生成されるストロークの集合のことである。画面から離れてから所定時間内に再度画面に触れ手書きした場合、1つのインクデータが複数のストロークを持つ。ストロークの詳細は後述するが、画面に触れている間の一筆書きの経路のことを指す。
【0016】
データ照合部130は、チェック判定データ131を有する。チェック判定データ131は手書きデータ121と図面要素データ111との間の位置座標の照合結果を記述しており、照合により付される時刻情報や判定結果を含むデータの集合である。
【0017】
データ生成部140は以下を備える:データ照合部130の判定結果に基づき作業記録データ112を生成する作業記録生成部141;作業記録データ112に基づき表示用データ113を生成する表示用データ生成部142。
【0018】
データ格納部110は、図面要素データ111、作業記録データ112、および表示用データ113を格納する。図面要素データ111は、第1端末10上に表示する図面に含まれる各要素の座標や属性を含むデータの集合である。作業記録データ112は、チェック判定データ131に基づいて得られるチェック有無情報、作業順序、所要作業時間を含む作業記録のデータの集合である。表示用データ113は、作業記録が第3者から見て分かりやすくなるように、作業記録データ112を図面上へ可視化した、画像形式やPDF(Portable Document Format)形式などの表示用図面である。
【0019】
図面要素データ111、作業記録データ112、手書きデータ121、およびチェック判定データ131のファイル形式としては、例えば、テキストファイルやCSV(Comma Separated Value)ファイルなどが挙げられる。表示用データ113のファイル形式は例えば、PDFファイルやPNG(Portable Network Graphics)ファイルなどの画像ファイルが挙げられる。
【0020】
<実施の形態1:作業記録抽出装置100の概略動作>
手書きデータ取得部120は、第1端末10上において作業者が手書きした時系列の手書きデータ121を、データ通信部101を介してネットワーク経由で第1端末10から任意のタイミングで取得し、データ照合部130に対して出力する。手書きデータ121をデータ格納部110にあらかじめ格納しておき、データ格納部110から取得してもよい。
【0021】
データ照合部130は、入力された手書きデータ121と、データ格納部110から取得した図面要素データ111との間で位置座標を照合し、照合結果をチェック判定データ131として記録する。ここでいう照合は、該当する図面要素の領域上が手書きで塗られたか否かを判定することである。図面要素の領域上が塗られれば当該図面要素はチェック有りとみなし、塗られなければ当該図面要素はチェック無しとみなす。生成されたチェック判定データ131はデータ生成部140における作業記録生成部141へ送られる。
【0022】
作業記録生成部141は、入力されたチェック判定データ131に基づき、チェック判定結果を時系列順へ並び替える。さらに、各チェック作業に要した時間を算出する。作業記録生成部141は、これらの結果を作業記録データ112として記録し、データ格納部110へ出力する。
【0023】
表示用データ生成部142は、データ格納部110へ出力された作業記録データ112を取得する。表示用データ生成部142は、取得した作業記録データ112に基づき管理者が必要とする作業記録を抽出し、管理者が分かりやすく見られるように、当該抽出した作業記録を図面上に可視化することにより、表示用データ113を生成し、データ格納部110へ出力する。
【0024】
作業記録データ112および表示用データ113は、第1端末10および第2端末200からデータ表示要求がある場合において、表示制御部102とデータ通信部101を介して要求のあった端末に対して送信される。各端末はそのデータを表示する。このとき表示制御部102は、データ出力をする端末を選定し、選定された端末へデータを送信するように、データ通信部101に対して命令する。
【0025】
<実施の形態1:手書きデータ121>
図3Aは、手書きデータ121の元となる手書き表示122の例を示す。以下では第1端末10がWDであるものとして説明する。
図3Aに示すように、ストロークとは、作業者が電子ペンでWD画面上に触れてから離すまでの一筆書きした経路を示す。手書き表示122に示すようにWD上に触れるペン先の位置座標に基づき、経路を空間的にサンプリングした点の集まりにより、ストロークが構成される。例えば、インクNo.1に示す1つのストロークは(X1,Y1)~(X6,Y6)の6つのサンプル点で構成される。インクデータはストロークのデータ集合であり、ストロークはサンプル点(以下、点)のデータ集合である。
【0026】
WDのタッチパネルのサンプリング周波数が有限であるので、点群座標の密度は人の手書き速度に依存し、インクNo.2に示すように、遅い手書きほど密度が高く、早い手書きほど密度が低くなる。電子ペンがWD画面上から離れてから所定時間内に書かれた複数のストロークを同一インクデータとみなしてもよい。インクNo.3に示す例では3つのストロークを1つのインクデータとし、各ストロークに対してユニークに付したストロークナンバーにより各ストロークを区別可能としている。各ストロークに含まれる各点を区別可能とするために、各点にユニークな点ナンバーを付してもよい。
【0027】
図3Bは、手書きデータ121のデータ例を示す。手書きデータ121はデータテーブルとして構成することができる。
図3Aに示す手書き表示122は3つのインクデータを含んだ例であり、それぞれt=t1、t=t2、t=t3の時刻情報を持ち、時系列にNo.1~No.3の番号を付してある。手書きデータ121の各行は、No.1~No.3のそれぞれの手書きに対応したインクデータである。各行には、ユニークなインクナンバー、手書きした始点の手書き生成時刻、手書きしたユーザID、手書きされた端末ID、ペンの属性(色、幅、透過率、マーカー/ペン等のペン種を含む)、ストロークに含まれるサンプル点群座標(以下、点群座標)、およびWD解像度を含む。
【0028】
<実施の形態1:図面要素データ111>
図4A~
図4Cは、図面要素データ111のデータ例を示す図である。図面要素データ111は、図面内の配線、図面記号、および文字の各要素の名称、座標情報、グループ化情報を含むデータの集合を示す。配線は、図面内の回路に含まれる図面記号間を接続する導線を示す。図面記号は、回路に含まれる部品を表す記号(例えば、JIS規格で規定されている電気用図記号等)を示す。文字は、回路内の配線または図面記号の周辺に記載することにより、当該配線または図面記号の属性情報を示す。
【0029】
図4Aは、図面要素データ111のうち配線を記述したデータ例を示す。配線データ111-1は、配線を記述したデータテーブルのデータ例である。配線表示111-Aは、配線データ111-1の元となる図面要素を示す。配線データ111-1の各行は、配線表示111-A内にあるNo.1~No.4の配線に対応したデータである。各行は、ユニークな配線ナンバー、名称、座標(始点、終点のx、y座標)、および線情報を含む。線情報が複数の座標を含む場合(例えば、No.4の配線は3つの線から構成されている)は、各線の始点と終点のx、y座標が線情報に含まれ、座標欄には3つの線の端点の座標を始点、終点として記載する。
図4Aの例では-X方向を始点、+X方向を終点(No.2の配線のようにx座標が同一の場合は-Y方向を始点、+Y方向を終点)として記載しているが、図面の原点位置によって適宜始点と終点を変更してもよい。No.4のように接続された配線を1つのグループとして管理してもよく、それぞれ別々の配線として管理してもよい。
【0030】
図4Bは、図面要素データ111のうち図面記号を記述したデータ例を示す。図面記号データ111-2は、図面記号を記述したデータテーブルのデータ例である。図面記号表示111-Bは、図面記号データ111-2の元となる図面要素を示す。図面記号データ111-2の各行は、図面記号表示111-B内にあるNo.1~No.3のそれぞれの図面記号に対応したデータである。図面記号は複数の線により構成されるが、意味のある記号単位で扱うために、その領域を矩形領域の対角の座標で定義する。
図4Bでは座標を矩形領域の左下(始点)と右上(終点)として定義した例を示している。図面の原点位置に応じ始点と終点の位置を適宜変更してもよい。各行は、ユニークな図面記号ナンバー、名称、座標(矩形領域の始点と終点のx、y座標)、および配線との接続方向を含む。配線との接続方向は、No.1やNo.2のように1方向であれば、それぞれ「x方向」、「y方向」として記載する。No.3のようにx方向とy方向にどちらも接続関係がある場合には「x-y方向」として記載する。配線との接続方向の情報として、入力と出力の関係を含めてもよく、例えば「x-y方向」と記述する場合、xを入力、yを出力としてもよい。
【0031】
図4Cは、図面要素データ111のうち文字を記述したデータ例を示す。文字データ111-3は、文字を記述したデータテーブルのデータ例である。文字表示111-Cは、文字データ111-3の元となる文字を示す。文字データ111-3の各行は、文字表示111-C内にあるNo.1~No.3のそれぞれの文字に対して生成されるデータである。文字は意味のある文字情報の単位で扱うために、その領域を矩形領域の対角の座標で定義する。
図4Cでは座標を矩形領域の左下(始点)と右上(終点)のx、y座標で定義している。図面の原点位置に応じ始点と終点の位置を適宜変更してもよい。各行には、ユニークな文字ナンバー、名称、座標(矩形領域のx、y座標)、および文字列の方向を含む。文字列方向はNo.1とNo.2についてはx方向であり、No.3についてはy方向である。
【0032】
図面要素ごとに方向を記載することにより、後述する単位幅の方向を、図面要素の方向に基づいて設定することができる。例えば、図面記号であれば、作業者は図面記号のチェックの際、配線と図面記号との間の接続方向に沿って領域上を手書きで塗るので、単位幅の分割方向は接続方向に対して水平とすることができる。文字の場合、作業者は文字を読む方向に沿って領域上を手書きで塗るので、分割方向は文字列の方向に対して水平となるようにすることができる。
【0033】
後述するように配線が斜め方向に延伸する場合であっても、配線と図面記号(または配線と文字列)が接続するのは、xy方向いずれかである場合がほとんどである。特に回路図面においてはその傾向が顕著である。そこで本発明においては、接続方向はxy方向いずれかであることを前提とすることを付言しておく。
【0034】
<実施の形態1:データ照合部130の動作>
図5は、データ照合部130の動作を説明するフローチャートである。まず全体のフローを説明し、その後に各ステップの詳細を説明する。データ照合部130は、手書きデータ取得部120から手書きデータ121を取得し、データ格納部110から対応する図面要素データ111を取得する(S501)。データ照合部130は、手書きデータ121の座標空間(WDの解像度)と図面要素データ111の座標空間(図面ファイルの解像度)が一致していることを確認する(S502)。一致していなければ両方の解像度が一致するように、一方の座標空間をもう一方の座標空間に合うように変換する(S503)。データ照合部130は、手書きデータ121の各ストロークの点群座標と図面要素データ111の位置座標を照合することにより、当該図面要素がチェックされているか否かを判定する(S504)。データ照合部130は、判定後、判定結果としてチェック判定データ131を生成し(S505)、チェック判定データ131をデータ生成部140へ出力する(S506)。
【0035】
S503の座標変換の方法について説明する。WDの解像度と図面ファイルの解像度が一致していない場合は、両者の座標空間が互いに異なるので、S504において位置座標を正しく照合できない。この場合、データ照合部130は、両方の解像度が一致するように、一方の座標空間をもう一方の座標空間に合わせて変換する必要がある。変換方法を以下に具体的に説明する。
【0036】
手書きされたWDの解像度(例えばタブレットではピクセル数、電子ペーパではドット数)のX方向の画素数をXwd、Y方向の画素数をYwdとし、図面ファイルの解像度のX方向の画素数をXdd、Y方向の画素数をYddとする。例えば、手書きデータ121の座標空間を図面要素データ111の座標空間に合わせる場合、各々の原点が一致していると仮定し、手書きデータ121の座標変換前のXY座標をXhw、Yhw、座標変換後のX座標Xc、Y座標Ycとすると、Xc=(Xdd/Xwd)×Xhw、Yc=(Ydd/Ywd)×Yhwのように計算できる。原点が異なる場合、例えば手書きデータ121の座標空間が画面左上原点、図面要素データ111の座標空間が画面左下原点のときはY方向に反転するような座標変換が必要となり、この場合YcはYc=(Ydd/Ywd)×(Ywd-Yhw)のように計算できる。
【0037】
S504における、手書きデータ121の各ストロークの点群座標と図面要素データ111の要素座標との間の照合方法について説明する。手書きデータ121と図面要素データ111を位置座標に基づき照合することにより、該当する図面要素がチェックされたか否かの情報、および、手書きデータ121内の時刻情報に基づきチェックした時刻情報を抽出できる。以下、配線、図面記号、および文字の照合方法を説明する。
【0038】
本発明では、図面要素データ111の始点と終点の座標に基づき、手書きデータ121のストローク内に含まれる点群座標と照合するための境界領域を設ける。境界領域とは、各図面要素の周辺に設ける矩形の領域のことを指す。境界領域の水平垂直方向のいずれかにおいて境界領域が分割される。分割方向に設定する長さを単位幅、分割方向でない方向に設定する長さを許容幅と定義する。許容幅と単位幅の設定方法の詳細は後述する。図面要素の方向に対して垂直な方向は許容幅を設定し、図面要素の方向に対して水平な方向は単位幅を設定する。例えば、配線の場合、延伸方向に対して垂直な方向に許容幅を設定し、水平な方向に単位幅を設定する。図面記号の場合、配線との接続方向に対して垂直な方向に許容幅を設定し、水平な方向に単位幅を設定する。文字の場合、文字列の方向に対して垂直な方向に許容幅を設定し、水平な方向に単位幅を設定する。
【0039】
図6A~
図6Cは、境界領域を設けるために設定する許容幅を説明する図である。ここでは、図面要素として配線を例に説明する。
図6Aはストロークと配線の位置関係から配線のチェックをしていないとみなす例、
図6Bはストロークと配線の位置関係より配線のチェックをしたとみなす例、
図6Cは境界領域を設けるための許容幅の設定例を示す。
【0040】
作業者は図面内のチェック作業を実施した箇所に該当する図面要素の領域上において、手書きでストロークを塗ることにより、作業記録を残す。
図6Aのように、ストロークと配線が大きく離れている場合は、図面要素(この例では配線)の領域上にストロークが重なっていないので、データ照合部130は当該図面要素をチェックしていないとみなす。
図6Bのように、ストロークが図面要素の領域上に重なっている場合は、当該図面要素をチェックしたとみなす。
【0041】
許容幅は、当該図面要素の方向に対して実質的に発生する垂直方向の手書きずれがある場合において、当該図面要素のチェック有無を判定するために設定する。境界領域の矩形の大きさは、水平垂直方向のいずれか一方が許容幅の長さとなり、もう一方は図面要素の長さとなる。許容幅の設定方向は前述したように図面要素の方向に基づき設定する。例えば、
図6Cに示す水平方向の配線の場合、境界領域に対して垂直な方向の長さが許容幅となり、水平方向は配線長となる。すなわち始点と終点の座標をそれぞれ(xs,ys)、(xe,ye)とすると、境界領域の水平方向サイズは|xe-xs|である。許容幅の長さは、作業者に応じ端末で設定できるペン幅内で適切に設定する。図面要素(配線、図面記号、あるいは文字)ごとにそれぞれ異なる値を用いてもよい。
【0042】
ここでいうペン幅は、作業端末上で仮想的に生成された仮想ペンデバイスのスポットサイズのことである。例えば作業者が作業端末の画面にタッチすると、アプリケーション上で仮想ペンデバイスが生成され、そのペンデバイスの先端が作業者のタッチ位置に沿って移動する。この先端サイズは、手書きデータを入力するために用いる仮想ペンデバイスのペン幅(またはスポットサイズ)に相当する。
【0043】
データ照合部130は、境界領域内にストロークの点が含まれればチェック有りとみなし、含まなければチェック無しとみなす。許容幅の長さをペン幅とすることにより、図面要素に対してペン幅の下端あるいは上端までの垂直方向のずれを許容することができる。例えば
図6Cは、ペン幅をwに設定してストローク線幅の上端が図面要素に重なるように線が引かれている状態を示している。許容幅の長さδtoleをペン幅wと定めることにより、図面要素に対して設定した境界領域内にストロークの点が含まれることとなる。したがって、当該図面要素はチェック有りと判定できる。
【0044】
図面記号および文字の場合は、許容幅の大きさは上述したペン幅の成分に加えて、図面要素の長さ(x方向をLx、y方向をLyとする)を含んだ値となる。図面要素の長さは矩形領域の始点と終点の座標から計算することができる。例えば、ペン幅をw、始点と終点の座標をそれぞれ(xs,ys)、(xe,ye)とすると、y方向の許容幅の場合、δtole=w+Ly=w+|ye-ys|となる。x方向の許容幅の場合、δtole=w+Lx=w+|xe-xs|となる。
【0045】
以上のような許容幅を設けることにより、作業者の手書きから当該図面要素をチェックされたかどうかを判定する際、図面要素と手書きが大きく外れたものはチェックされていないとみなし、図面要素の方向に対して作業者の垂直方向の手書きずれを許容することができる。
【0046】
図面要素が配線(または直線)である場合、その延伸方向に対して垂直な方向(
図6A~
図6Cにおいては縦方向)に許容幅をセットし、延伸方向に沿って後述する単位幅をセットすればよい。図面要素が図面記号または文字列である場合については、配線との接続方向を用いて後述する。データ照合部130は、これらの方向を「方向データ」として取得することができる。
【0047】
次に単位幅について詳細に説明する。実際の人の手書きを観察してみると、図面要素の方向に対して垂直な方向の手書きずれだけではなく、人特有の局所的に大きく外れた手書きずれが存在する。局所的に大きく外れたストロークは、チェックする図面要素とは異なる他図面要素に設けた境界領域のなかに含まれる場合がある。そこで本発明においては、許容幅に加えて、図面要素の方向に対して水平な方向に単位幅を設定し、境界領域を当該単位幅に分割することにより、人特有の局所的に外れる手書きずれが発生した際にも正しく要素のチェック有無を判定する。
【0048】
図7A~
図7Bは、境界領域を分割するために設定する単位幅を説明する図である。
図7Aは局所的に大きく外れる手書きずれによりチェック判定を誤る例を示す。
図7Bは単位幅を設けて境界領域を分割することにより正しいチェック判定を実施する方法を示す。ここでは配線に対して単位幅を設定した例を示す。
【0049】
図7Aにおいては配線1と配線2が近接しており、作業者により配線1をチェックするために使用したストロークが、手書きずれによって局所的に大きく外れ、意図せず配線2の境界領域内に外側から一部分含まれている。この場合、配線1はチェック有りと判定し、配線2では手書きが配線の領域上を局所的にしか塗られていないのでチェック無しと判定することが正しい。しかし、配線2において許容幅のみの境界領域を用いると、境界領域内にストロークの点が含まれることになるので、誤ってチェック有りと判定されることになる。
【0050】
上記のような誤った判定を避けるために、本願では許容幅に加えて、単位幅を図面要素の方向に対して水平方向に設定し、境界領域を当該単位幅に分割する。単位幅ごとにストローク内の点が含まれるかを当該境界領域全体で判定することにより、手書きずれにともなって局所的に他の図面要素の境界領域に含まれたストロークがある場合においても、正しくチェック判定することが可能となる。具体的には、データ照合部130は、境界領域全体の単位幅の個数をNunit、ストローク内の点が分割した領域内に含まれている単位幅の個数をN、判定閾値をTh_checkとすると、判定閾値の判定式(N/Nunit≧Th_checkを満たす場合チェック有とみなす)からチェック有無を判定する。
【0051】
判定閾値により、手書きずれに対するチェック判定の厳しさを流動的に決定できる。すなわち、判定閾値を大きくするほど、図面要素に対するストロークとの重なりが大きくなければチェック有り判定とはならない。逆に、判定閾値を小さくするほど、図面要素に対してストロークとの重なりが小さくてもチェック判定とみなすことができるようになる。
【0052】
判定閾値は0から1の間で任意に設定できる。実使用環境において作業者が図面要素に対し半分以上の領域を手書きで塗った場合に、当該図面要素はチェックされた可能性が高い。そこで、Th_checkの最小値は0.5として、境界領域内に含まれる単位幅のうち半数以上にストローク内の点が含まれた場合にチェック有りと判定すると効果的である。
【0053】
図7Bは、単位幅を用いた判定手順の例を示す。配線1と配線2のそれぞれの境界領域が水平方向に6つの単位幅に分割された場合を示している。例えば、判定閾値Th_checkを0.5とする。配線1はN/Nunit=5/6≒0.83≧Th_check=0.5となり、判定式を満たすので、当該図面要素はチェック有りと判定できる。配線2はN/Nunit=1/6≒0.17<Th_check=0.5となり、判定式を満たさないので、当該図面要素はチェック無しと判定できる。
【0054】
判定式を満たす場合、ストロークが生成された時刻情報から、チェック時刻の情報を付することができる。例えば、
図7Bに示すように、配線1のチェックに使用されたストロークが時刻t=t1に生成されたものとすると、時刻t1において配線1をチェックしたとみなせるので、チェック時刻t=t1の情報を付することができる。
【0055】
チェック時刻に関し、複数のストローク(例えば、t=t2とt=t5に生成された2つの手書き)が1つの図面要素の領域上に塗られていた場合は、境界領域内に含まれる点数が多い方のストローク生成時刻をチェック時刻とするのがよい。境界領域内に含まれる点数が多いストロークの方が、当該図面要素に対するチェックのために手書きした可能性が高いからである。
【0056】
判定方法に関して、L字配線やコの字配線などの複数の水平線および垂直線で構成されるグループ情報を含む配線の場合は、構成される線のNおよびNunitのそれぞれの総和の比(N_total/Nunit_total)をとって、グループ情報を含む配線全体(すなわちL字配線やコの字配線のまま)でチェック判定を実施してもよい。
【0057】
図8A~
図8Bは、単位幅による分割数を多くすることにより生まれるメリットを説明する図である。単位幅による分割数は多いほど精度良く判定できる。
図8Aは、単位幅ごとに分割された境界領域に対して、手書きずれにより外側から局所的にノイズとしてストロークが含まれた場合において、分割数を増加することにより誤判定を防ぐ例を示す図である。
図8Bは、分割された境界領域に対して、局所的にストロークが大きく外れてしまった場合において、チェック判定に使用するN/Nunitがより正確に表現できるようになる例を示す図である。
【0058】
図8Aに示すように、境界領域の外部から意図せずストロークが含まれてしまった場合(例えば、電子ペン先を置いただけの1点のドットや、メモ書きにより一部分だけ図面要素と重なってしまった手書き)、判定閾値を0.5としたときに、
図8A上側の分割数が少ない場合は判定式を満たすことになるので、チェック有りとみなされる。これに対し、
図8A下側に示すように分割数を多くした場合、分割数に対しノイズが含まれる分割境界領域の割合が小さくなるので、チェック無しと正しく判定される。このように分割数を多くすることにより、ノイズに対してロバストなチェック判定が可能になる。
【0059】
図8Bに示すように、境界領域の内側から一部分だけストロークが大きくずれた場合、
図8B上側の分割数が少ない場合は3つに分割された単位幅に手書きの点群が含まれることになり、N/Nunit=3/3=100%となる。しかし、N/Nunit=100%は手書きが局所的に大きく外れているという状態を表現しておらず、実際の手書きとの照合結果を正確に表せているとは言えない。一方、
図8B下側の分割数を多くした場合は、N/Nunit=5/6=83%となり、一部分大きく外れているという状態を表現することが可能となる。
【0060】
このように分割数を多くし、チェックに使用したストロークの状態を正確に表すことにより、手書きをする人の特徴を抽出できるようになり、作業者ごとに判定閾値を最適化できる。作業者ごとに最適化することにより、各作業者における図面要素のチェックの意図をより正確に最終的な作業記録に反映することが可能となる。
【0061】
続いて、単位幅の長さの決め方について説明する。前述したように、単位幅を設ける理由は、図面要素に設けた境界領域を単位幅ごとに分割することにより、ストロークが局所的に大きくずれた場合にチェック有りとなるように許容し、一方で、図面要素の領域上に重なるように手書きでストロークが塗れていない場合や意図しないノイズがある場合ではチェック無しと判定できるようにすることである。そのため、単位幅は境界領域を2つ以上に分割できる長さに設定することが有効である。
【0062】
図面要素を2つ以上に分割する単位幅の決め方として、図面内に含まれる全ての図面要素が持つ長さのうち最小値の半値とすればよい。単位幅を図面内に含まれる全図面要素の最小幅の半値とすれば、全図面要素を少なくとも2つの領域に分割できるからである。最小幅は、図面要素データ111に含まれる図面要素データの座標から検出する。x方向とy方向で最小幅は異なってもよく、配線、図面記号、あるいは文字ごとに別々に検出し、それぞれの単位幅として用いてもよい。
【0063】
単位幅を最小幅に設定した際、区切られた各領域にストロークの点群が少なくとも1点含まれるためには、作業者のストローク速度とWDのサンプリング周波数に基づいて計算される条件式に従う必要がある。作業者の最大のストローク速度をVmax、WDのサンプリング周波数をfsとすると、条件式は単位幅δunit≧Vmax/fsとなる。数値例として、作業図面のJIS規格(JIS Z 8313-5)によれば最小文字サイズは1.8mm(高さ方向)と規定されている。この値によれば、図面要素を少なくとも2つ以上に分割するために必要な単位幅δunitは0.9 mmと計算できる。δunit=0.9 mmを満たすWDのサンプリング周波数は、実測したVmaxの0.31mm/msecを用いて、fs≧344.1となる。すなわち約344Hz以上のサンプリング性能を持つWDが必要と算出できる。
【0064】
図7では例として水平方向(x方向)に平行な配線に対する境界領域の許容幅と単位幅の設定例を示したが、次に、斜めに傾いた配線に対する許容幅と単位幅の設定方法を説明する。
【0065】
図9A~
図9Cは、斜めに傾いた配線における許容幅と単位幅の設定方法の例を示した図である。
図9Aは、斜めに傾いた配線をx軸に対して水平となるように回転後、許容幅と単位幅を設定する例を示す。
図9Bは、計算量を少なくするために配線を回転させずに許容幅と単位幅を設定する例を示す。
図9Cは、許容幅に含まれるペン幅成分が傾きに応じて変化する例を示す。
【0066】
図9Aのように配線が水平または垂直ではなく、斜めに傾いている場合、直交座標において斜め方向に許容幅と単位幅を設けるのは処理が複雑になる。そこで、x軸と水平になるように座標を回転した後、先述した水平な配線と同様な方法で単位幅と許容幅を設定する。斜め配線とx軸がなす角φは、始点と終点のx、y座標を用いて、φ=tan
-1((ye-ys)/(xe-xs))として算出できる。
図9A内に示す回転行列により、斜め配線をx軸と水平になるように回転させる。手書きデータ121に含まれるストローク内の点群座標も同様の回転行列によって同じ角度分だけ座標を回転させて、ストロークと配線との間で位置座標を照合する。
【0067】
図9Aでは回転させることにより先述した許容幅、単位幅と同様の判定が可能である一方、各図面要素を照合する度に座標系の回転計算が必要となり、計算量が多くなる場合がある。そこで
図9Bに示すように、座標系を回転させずに各座標間で許容幅と単位幅を適切に設定する方式を用いると計算量が少なくて済むメリットがある。
【0068】
図9Bは、座標系を回転させずに各座標間で許容幅と単位幅を適切に設定し、境界領域を階段状に設ける方式を示した図である。x方向に長い斜め配線の場合は、y方向に許容幅、x方向に単位幅を設定し、y方向に長い斜め配線の場合は、x方向に許容幅、y方向に単位幅を設定する。
【0069】
図9Bは、x方向に長い斜め配線に対し、単位幅により境界領域を3つに分割し、階段状に境界領域を設けた例を示す。始点と終点のx、y座標はそれぞれ(xs,ys)、(xe,ye)、始点と終点の間に含まれる境界領域を分割する位置のx、y座標をそれぞれ(xe1,ye1)、(xe2,ye2)とする。各領域の許容幅は、ペン幅wと各領域の始点と終点のy座標を用いて、例えば、x方向に長い斜め配線の場合は、δtole=w+|ye1-ys|となる。y方向に長い斜め配線の場合は、δtole=w+|xe1-xs|となる。
【0070】
斜め配線の場合、作業者は延伸方向に沿って斜めに線を引くので、x軸と配線のなす角が45°に近づくほど、許容幅のペン幅成分を小さくした方がより正しい許容幅となる。そこで
図9Cに示すように、許容幅に含まれるペン幅成分としてwの代わりに、傾きに応じて大きさが変化するw_tiltを用いてもよい。w_tiltは、w_tilt=w×(45°-tan
-1(|ye-ys|/|xe-xs|))/45°のように算出できる。w_tiltは、配線とx軸のなす角が45°に近づくほど小さくなり、離れるほど大きくなる。
【0071】
図9C右上に示すように、配線とx軸のなす角度が45°に近い場合、境界領域のサイズのうち座標間の差分によって形成される部分(|xe-xs|または|ye-ys|)は、比較的大きい。したがって、さらにペン幅成分w_tiltを大きく確保する必要はないので、w_tiltは小さくてよい。
図9C右上の太点線矩形と細点線矩形がほぼ同サイズであることは、これを表している。
図9C右下に示すように、配線とx軸のなす角度が45°から離れると、境界領域のサイズのうち座標間の差分によって形成される部分(|xe-xs|または|ye-ys|)は、比較的小さくなる。したがって
図9C右上と同程度の判定精度を確保するためには、ペン幅成分w_tiltを大きく確保する必要がある。
図9C右下の太点線矩形サイズと細点線矩形サイズが大きく異なることは、これを表している。
【0072】
図10A~
図10Cは、図面記号に対して許容幅と単位幅を設定する例を示す。
図10Aは、配線との接続方向がx方向の場合の例を示す。
図10Bは、配線との接続方向がy方向の場合の例を示す。
図10Cは、配線との接続方向がx方向とy方向どちらにも存在する例を示す。
【0073】
WD上で、図面記号の領域上を手書きでチェックする場合は、図面記号と配線が接続されている方向に沿って該当部分の領域上に線を引く場合が多いので、図面記号データ111-2内の配線との接続方向の情報を活用し許容幅と単位幅を設定する。図面記号データ111-2が記述している接続方向は、図面記号の「方向データ」に相当する。後述する文字列方向についても同様である。
【0074】
図10Aは、遮断機を表す図面記号の設定方法を示している。この場合はx方向に配線が接続され、作業者はx方向に沿って遮断機の領域上に線を引く傾向にある。したがって、y方向に許容幅、x方向に単位幅を設定する。許容幅は、手書きに使用したペン幅wと図面要素のy方向の長さLyを用いて、δtole=w+Lyとする。
【0075】
図10Bは、ひねりスイッチを表す図面記号の設定方法を示しており、この場合はy方向に配線が接続され、作業者はy方向と平行にひねりスイッチの領域上に線を引く傾向にある。したがって、x方向に許容幅、y方向に単位幅を設定する。許容幅は、手書きに使用したペン幅wと図面要素のx方向の長さLxを用いて、δtole=w+Lxとする。
【0076】
図10Cは、図面記号と配線がx方向とy方向に接続されている例を示す。図面記号の種類によっては、
図10Cに示すようにx方向とy方向のどちらにも接続される場合がある。この場合は、まず、y方向に許容幅、x方向に単位幅を設定して判定式を用い、判定式を満たさない場合には、x方向に許容幅、y方向に単位幅を設定して判定式を用いる方法が適している。
【0077】
本発明に係るチェック判定方法は、許容幅と単位幅に分割した境界領域を用いるので、図面記号の領域上に線を引くだけではない他チェック方法にも対応可能である。例えば、図面記号の矩形領域を四角で囲む、矩形領域内を塗りつぶす、矩形領域内にチェックマークを書く、などのチェック方法を用いる場合においても、作業者が図面記号をチェックしたか否かを判定することができる。
【0078】
次に、文字に対する許容幅と単位幅の設定方法について説明する。実際の作業では、チェックした配線と図面記号の近傍にある文字の領域上をストロークで塗る場合がある。この場合は、文字列方向に沿って該当部分の領域上に線を引く場合が多い。そこで、文字データ111-3内の文字列方向を活用することにより、図面記号と同様の方法で許容幅と単位幅を設定する。
【0079】
照合方法について、あらかじめ照合する図面要素をストロークの位置座標に基づいて絞り込んでから照合をすることにより照合の高速化を図ることができる。全ストロークに含まれる全点群と、図面要素データ111に含まれる全図面要素とを総当たりで照合する場合は、ストロークと図面要素の数が多い場合には時間を要する場合がある。そこで、手書きデータ121と図面要素データ111の位置座標を照合する際に、前処理として、照合する図面要素を絞り込んでもよい。
【0080】
図11は、照合する図面要素を絞り込む方法を説明する図である。
図11内のストロークに対して、照合する図面要素を示している。
図11に示すように、ストロークの位置座標から1点鎖線で示す外接矩形の領域を検出し、当該外接矩形に対し、少なくとも一部の領域を含む図面要素を照合図面要素として絞り込む。これにより、チェック判定する図面要素を絞り込み、照合処理を高速化することができる。
【0081】
<実施の形態1:チェック判定データ131>
次に、手書きデータ121と図面要素データ111を照合するステップ(S504)後の、チェック判定データ生成(S505)におけるチェック判定データ131について説明する。
【0082】
図12は、チェック判定データ131の構成とデータ例を示すデータテーブルを示す。チェック判定データ131は、WD上の手書きデータと図面要素の位置座標を照合することによるチェック判定結果を記述している。
【0083】
チェック判定データ131の各行には、照合した図面要素の種類、名称、座標(始点と終点のx、y座標)、ストローク内の点が含まれる単位幅の個数N、境界領域全体の単位幅の個数Nunit、割合(N/Nunit)、判定式に基づく判定結果(
図12の例では判定閾値Th_check=0.5に設定し、チェック有りの場合「チェック」、チェック無しの場合「パス」と記載)、チェック時刻、インクナンバー、ストロークナンバー、およびストローク内の図面要素のチェックに使用された最初の点ナンバーを含む。チェック判定データ131の項目は必要に応じ変更してもよく、図示した全ての項目を含まなくてもよい。また図示していない他の項目、例えばチェックした図面名称、ページ番号などを含んでもよい。
【0084】
1つのストロークが複数の図面要素を通過する場合がある。例えば1つのストロークが配線、スイッチ、ICの順に通過したと仮定する。この場合、ストロークを構成するサンプル点のうち配線を最初に通過したのはストローク内の比較的前方のサンプル点であり、ICを最初に通過したのは比較的後方のサンプル点である。このように図面要素を最初に通過するサンプル点は、図面要素ごとに異なる。点ナンバーはこの最初のサンプル点の番号を表す。点ナンバーを用いてチェック判定データ131の各レコードを整列することにより作業順序を特定することができる。
【0085】
チェック判定データ131は、照合した図面要素ごとに、手書きナンバー、ストロークナンバー、点ナンバーを管理する。これにより、作業記録生成部141は、チェック判定データ131から時系列順の作業記録データ112を生成する際に、1つのストロークで複数の図面要素をチェックする場合に対してもユニークな順序を付して時系列順へ並べ替えることができる。
【0086】
境界領域にストローク内の点が1点も含まれなかった場合は、ストローク生成時刻からチェック時刻情報を付すことはないので、チェック時刻、インクナンバー、ストロークナンバー、および点ナンバーは空欄あるいは「-」を記載する。
【0087】
<実施の形態1:作業記録生成部141の動作>
図13は、作業記録生成部141の動作を説明する示すフローチャートである。まず全体のフローを説明し、その後に各ステップを説明する。データ照合部130によりチェック判定データ131が入力されると、作業記録生成部141はチェック判定データ131を時系列順への並び替え(S1301)、チェック時刻情報から各作業に要した時間を算出し(S1302)、作業記録データ112を生成する(S1303)。作業記録生成部141は、生成した作業記録データ112をデータ格納部110に出力する(S1304)。
【0088】
S1301におけるチェック判定データ131に基づいた判定結果の時系列順への並び替え方法を説明する。チェック判定データ131は、照合した図面要素ごとに、当該図面要素上に重なった手書きの情報に基づいて、インクナンバー、ストロークナンバー、および点ナンバーを管理する。チェック判定データ131の各図面要素の行を、インクナンバーの昇順にソートし、さらにインクナンバーの中のストロークナンバー、ストロークナンバーの中の点ナンバーを昇順に並べ替えることにより、チェック作業の判定結果を時系列データに変換することができる。作業の時系列データは作業順序を意味するので、各図面要素のチェック順序情報を作業記録データ112に付することができる。
【0089】
S1302における図面要素のチェック作業に要した時間の算出方法について説明する。チェック作業に要した時間は、時系列順に並び替えたチェック判定データ131内の、前後2つのチェックデータに含まれるチェック時刻の差から算出できる。例えば、図面要素1のチェック時刻がt1、図面要素2のチェック時刻がt2である場合、図面要素2をチェックするまでに要した時間はt2-t1である。必ずしも連続する2つのチェックデータのチェック時刻を算出する必要はなく、作業記録を見る人の用途に応じ図面要素を絞って(例えば、配線と図面記号のみなど)算出してもよい。
【0090】
図14A~
図14Bは、作業記録データ112の例を示す。
図14Aに示すように作業記録データ112はデータテーブルとして構成することができる。
図14Bは作業者の情報が管理された作業者情報データ112-1の例を示す。作業者情報データ112-1は作業記録抽出装置100とは別のシステムが管理してもよく、あるいはデータ格納部110に格納しておいてもよい。
【0091】
作業記録データ112は、作業記録として、チェック判定データ131に基づいて必要な情報を抽出した結果を格納する。作業記録データ112は、図面要素のチェック有無、時系列順の並び替えに得られるチェック順序、およびチェック作業に要した時間の算出にて得られる作業時間を作業エビデンスとして一元管理する。
【0092】
作業記録データ112の各行は、チェック順序、作業日時、図面要素の種類、名称、作業時間、座標(始点と終点の各x、y座標)、作業図面名、図面要素のチェック有無、作業者IDを含む。作業記録データ112の項目は必要に応じ変更してもよく、図示した全ての項目を含まなくてもよい。また図示していない他の項目として、図面のページナンバー、あるいはチェック判定データ131に含まれる項目を入れてもよい。例えば、チェック判定に使用する割合N/Nunitを入れると、図面要素がどの程度手書きで塗られているかを確認することができる。
【0093】
作業記録データ112内の#3から#5に示すように、1つのストロークにより複数の図面要素がまとめてチェックされた場合は、作業日時が同一となる。この場合、作業時間は同等とみなせるので、1つ目の作業(#3)に作業時間を付し、そのあとの作業(#4、#5)の作業時間は括弧等を付して1つのストロークによりまとめてチェックされたことを示すと一目で判別がしやすい。
【0094】
作業記録データ112内の作業者IDの項目は、別で管理されている作業者情報データ112-1内のレコードを作業者IDによって紐づける場合に使用する。作業者情報データ112-1の各行は、作業者ID、作業者の氏名、経験年数、機器ID、および作業をしているサイトを含む。作業記録データ112と作業者情報データ112-1を紐づけることにより、「いつ」「どこで」「だれが」「なにを」「どのように」作業をしたかを作業記録として管理することができる。
【0095】
<実施の形態1:表示用データ生成部142の動作>
図15A~
図15Bは、表示用データ113の例を示す。表示用データ生成部142は、データ格納部110から作業記録生成部141により生成された作業記録データ112を取得し、作業記録データ112に基づき表示用データ113を生成する。表示用データ113は必ずしも作業記録データ112の全てのデータを可視化する必要はなく、可視化したい情報を必要に応じて抽出し可視化する。
【0096】
図15Aは、作業者がチェックを行った図面要素を可視化した表示用図面の例を示す。
図15Bは、チェックに要した時間の長さを色の濃淡で可視化した表示用図面の例を示す。
図15Aに示すように、作業記録データ112内の判定結果の項目を参照することにより、作業者がチェックした図面要素を可視化できる。可視化する際の強調表示に使用する座標は、作業記録データ112内の始点と終点の各座標を参照することにより取得できる。強調表示の例として、配線は太い直線を上から重ねる、図面記号は四角で囲う(中は塗りつぶしても、塗りつぶさなくてもよい)、文字はハイライトする、などがある。強調表示に使用する色は、図面要素の種類ごとに分けることにより、各図面要素のチェック有無を分かりやすくできる。
【0097】
このように、作業者がチェックをした図面要素を色、線幅、および透過率を適切な設定に変更することによって可視化することにより、チェック完了部分が明確になり、作業の進捗管理に役立てることができる。
【0098】
作業記録データ112内の他項目(例えば、図面要素の種類、名称、作業時間等)は、例えば、表示用データ113がPDF形式の場合は注釈内に記載して確認できるようにするのがよい。
【0099】
未完了部を明確にしたい場合は、チェック無しの図面記号を強調表示してもよい。この場合、情報過多となるのを防ぐために、チェック有りの場合とは別の色、線幅、および透過率を用いて可視化するのがよい。
【0100】
図15Bに示すように、作業記録データ112内の作業記録の項目を参照し、色のグラデーションによって作業時間を可視化すると、チェックに時間を要した図面要素が一目で分かるようになり、時間がかかる作業や重要な作業を抽出できるため、作業改善やノウハウ抽出に活用することができる。
【0101】
図15A~
図15Bにおいては、図面要素のチェックに使用したストロークは、表示用図面内の情報が過多とならないよう可視化していないが、必要に応じてストロークも併せて、手書きデータ121内の点群座標通りに可視化してもよい。この場合は、ストロークの線の太さや色、透過率を適切な設定にして可視化することにより、情報過多にならないようにするとよい。
【0102】
<実施の形態2>
本発明の実施形態2では、注記を作業記録データ112へ出力し、注記を含む表示用データ113を生成する構成例を説明する。注記とは図面要素のチェックとは異なる用途の手書き(インクデータ)のことを指す。注記の例として以下が挙げられる:導通確認や回路動作の確認後、測定した電圧値や抵抗値を図面内に書き込む場合の手書き;図面に間違いがあった際に訂正箇所を示すための手書き。実際の作業結果を作業記録としてより忠実にデータ化するためには、注記をデータとして抽出し作業記録として管理する必要がある。
【0103】
図16は、本実施形態2における作業記録抽出装置100の構成図である。実施形態1と比較すると、データ照合部130は、チェック判定データ131に加えて注記判定データ132を有し、データ照合部130と作業記録生成部141の動作が異なる。実施形態1と処理が共通しているブロックの説明は省略し、データ照合部130および作業記録生成部141の内部処理のみ説明する。
【0104】
注記判定データ132とは、注記であるか否かを判定した結果を手書きデータ121に項目として追加し格納しておくための、注記が生成された時刻情報や注記判定結果を含むデータの集合のことを指す。
【0105】
図17は、実施形態2におけるデータ照合部130の動作を説明するフローチャートである。実施形態1と異なる点は、手書き-図面要素照合ステップ(S504)後に、注記抽出ステップ(S1501)が追加され、チェック判定データ生成ステップ(S505)がチェック判定データおよび注記判定データ生成ステップ(S1502)に置き換わり、チェック判定データ出力(S506)がチェック判定データおよび注記判定データ出力(S1503)に置き換わっていることである。実施形態1と共通の箇所には同一の符号を付して説明を省略し、動作が異なる部分のみ以下説明する。
【0106】
注記抽出ステップ(S1501)は、手書きデータと図面要素の位置座標照合(S504)の後、実行される。詳細は後述するが、注記抽出(S1501)においては、ストローク内に含まれる点群数と図面要素のチェックに使用されていない点群数の比から、注記であるか否かを判定する。図面要素のチェック有無判定結果としてチェック判定データ131が生成されると同時に、注記判定結果として注記判定データ132を生成し(S1502)、データ生成部140の作業記録生成部141に、チェック判定データと注記判定データを出力する(S1503)。
【0107】
図18A~
図18Cは、S1501において注記を抽出するための判定方法を説明する図である。
図18Aは注記判定方法の例を示す。
図18Bは注記判定の具体例を示す。
図18Cはインクデータごとに注記判定することのメリットを示す。
【0108】
図18Aにおいて、図面要素に設けた境界領域に対して、当該領域に含まれるストローク内の点を白丸、含まれないストローク内の点を黒丸で表している。注記は、図面要素のチェックには使用されないストロークであるので、ストローク内に含まれる点数のうち、黒丸(当該領域外の点)の点数の割合により、当該ストロークが注記であるか否かを判定する。注記判定式は、1つのストローク内の点数をn_stroke、複数の分割された領域外の点数をn_out、判定閾値をTh_noteとすると、n_out/n_stroke≧Th_noteで表される。判定式を充足すればそのストロークは注記であると判定し、充足しなければ注記ではないと判定する。
【0109】
判定閾値Th_noteが大きいほどストロークが注記として判定されにくくなり、小さいほど注記として判定されやすくなる。判定閾値Th_noteは0から1の間で任意に設定できるが、実使用環境において、ストローク内に含まれる点群数のうち境界領域外の点数が半数以上含まれれば、当該ストロークは注記として残した可能性が高いので、Th_noteの最小値は0.5とすると効果的である。
【0110】
図18Bは、2本の配線の間に図面記号の遮断機が接続されており、遮断機の上に文字「CBE2」が記載されている作業図面の例である。破線で囲まれた領域は各図面要素に対応する境界領域を表している。この例においては、図面内に斜め線のストロークと水平線のストロークの2つが含まれる。
図18B内の斜め線のストロークの場合、例として、判定閾値Th_noteを0.5とすると、ストローク内に含まれる点数n_strokeが9に対し、境界領域外にある点数n_outは6である。したがって、判定式n_out/n_stroke=6/9≒0.67≧Th_note=0.5を満たし、注記であると判定できる。
図18B内の水平のストロークの場合は、ストローク内に含まれる点数n_strokeが10に対し、境界領域外にある点数n_outは0である。したがって、判定式n_out/n_stroke=0/10=0.0<Th_note=0.5となり、注記ではなく、図面要素をチェックした手書きであると判定される。
【0111】
複数のストロークが1つのインクデータとして管理されている場合は、インクデータに含まれる全ストロークに対してn_outおよびn_strokeの総和の比(n_out_total/n_stroke_total)を取って注記判定するとよい。これによりストロークが図面要素に近接していても注記と判定しやすくなる。
【0112】
図18Cに示すように、作業者が注記として6つのストロークを手書きし、それらが1つのインクとして管理されているとする。個別のストロークに対して注記判定をすると、
図18C下側の円のストロークは図面要素と近接しているので、判定式はn_out/n_stroke=2/12≒0.17となり注記ではないという判定になる。これに対し、1つのインクデータとしてまとめて判定した場合は、n_out_total/n_stroke_total=29/42≒0.69となり、図面要素と近接したストロークも注記と判定することができる。
【0113】
図19は、注記判定データ132の例を示す。注記判定データ132は、注記判定結果を記述したデータテーブルとして構成することができる。注記判定データ132は手書きデータ121に含まれる各項目に加え、境界領域外の点数n_out、ストロークに含まれる点数n_stroke、割合(n_out/n_stroke)、および判定結果(
図17の例では判定閾値Th_note=0.5に設定し、注記判定を満たせば「注記」、注記判定を満たさなければ「チェック用」と記載)を含む。
【0114】
注記判定データ132のNo.3に示すように複数のストロークが1つのインクデータとして管理されている場合、n_out、n_stroke、および割合の項目はそれぞれのストロークに対する数値を格納してもよいし、インクデータの総和の値を格納してもよい。
図19ではインクデータごとの総和の場合は括弧を付して記載している。
【0115】
図20は、実施形態2における作業記録生成部141の動作を説明するフローチャートである。実施形態1と異なる点は、時系列順への並び替えステップ(S1301)の前に、データ合成ステップ(S2001)が追加されていることである。実施形態1と共通のステップは同一の符号を付して説明は省略し、動作が異なる部分のみ以下に説明する。
【0116】
データ合成ステップ(S2001)において、時系列順の並び替えステップ(S1301)に移行する前に、チェック判定データ131と注記判定データ132を合成する。時系列順の並び替えステップ(S1301)では、チェック判定データ131と注記判定データ132の合成後データに基づいて、時系列順にレコードを並び替える。チェック判定データ131と注記判定データ132を合成することにより、図面要素のチェック結果と注記を1つの時系列の作業記録データ112として管理できるようになる。
【0117】
合成方法の例として、チェック判定データ131の項目に合うように、注記判定データ132から必要な情報を抽出して合成する。注記判定データ132の項目を、チェック判定データ131に含まれる項目に対応させる例として、図面要素の欄には「注記」、名称の欄には「ユニークな注記名称(例えば注記1、注記2のよう区別できる名称とする)」、座標欄には「インクデータに含まれる点群座標」、N欄には「n_outの値」、Nunit欄には「n_totalの値」、割合欄には「n_out/n_totalの割合」、判定結果欄には「注記判定結果」、チェック時刻欄には「生成時刻」を格納する。対応しないその他項目(例えば、インクNo.、ストロークNo.、点No.)には空欄あるいは「-」を格納する。
【0118】
図21は、実施形態2における作業記録データ112の例を示す。実施形態1と異なる点は、注記の情報が新しく追加されている点である。
図21では#6と#9が注記データに対応する。
図21の作業記録データ112によれば、作業記録として、図面要素のチェックに加えて注記が生成されたタイミングを把握することができる。加えて、表示用データ生成部142において表示用データ113を生成する際、図面要素に加え作業記録データ112に記載されている注記を可視化し、図面要素上のストロークを可視化しないことにより、ユーザにとって必要な情報のみに絞ることができ、表示用データ113を視認性の高い表示とすることができる。
【0119】
実施形態2によれば、データ照合部130に注記抽出ステップ(S1501)を追加することにより、作業者が記入した注記の情報を作業記録としてデータ化することができる。例えば、作業者が測定した電圧値や抵抗値、図面に誤りがある場合の訂正内容などを記入したタイミングとその内容を把握でき、実際の作業を詳細に反映した見える化を実現できる。
【0120】
<実施の形態3>
本発明の実施形態3では、実施形態2における注記抽出の判定精度を向上させて、より高精度に注記をデータ化する構成を説明する。本実施形態3においては、手書きデータ121内のペン属性(色、幅、透過率、ペン種)を活用し、あらかじめ作業のルールとして注記を記載する際のペン属性を決めておくことにより、注記の分離が容易となる。ここでいうペン属性は、作業端末上において手書きデータを入力するために用いる、アプリケーション上の仮想的な入力デバイスのことである。例えば作業者が作業端末の画面にタッチすると、画面上でアプリケーション上のペンがタッチ位置に沿って移動する。このペンはアプリケーション上においてペンと同様に用いることができるので、ここでは仮想ペンデバイスなどと呼称する。
【0121】
実施形態3は実施形態2と比較し、データ照合部130の動作が異なる。実施形態2と処理が共通しているブロックの説明は省略し、データ照合部130の内部処理のみ説明する。
【0122】
図22は、実施形態3におけるデータ照合部130の動作を説明するフローチャートである。実施形態2と異なる点は、ペン属性抽出ステップ(S2201)と、ペン属性の注記判定ルールに基づく分岐(S2202)が追加されていることである。実施形態2と共通のステップには同一の符号を付して説明は省略し、動作が異なる部分のみ以下に説明する。
【0123】
データ照合部130は、データ収集(S501)ステップで取得した手書きデータ121において、当該データ内のペン属性を抽出する(S2201)。データ照合部130は、あらかじめ定められた注記ルールに当てはまらないストロークについては、手書き-図面要素照合(S504)のステップへ移行する。注記判定ルールに該当するストロークについては、注記とみなすことができるので、S1502に移行し、当該ストロークに対する注記判定データ132が生成される。
【0124】
注記ルールは、注記を入力するとき用いるペン属性を指定するものであるので、これに該当する場合はS502~S1501を実施することなく注記であるとみなす。注記ルールに該当しない手書きは図面を辿るために用いられた可能性があるので、S502~S1501を実施することにより実施形態1~2と同様に判定する。
【0125】
注記ルールの例として、手書きした際のペンの色が黒、太さが2pt、透過率が0%、ペン種類が通常ペン、あるいはそれらの組み合わせなどのように、ペンが描画する画像の描画属性を用いることができる。また、手書き-図面照合(S504)用に対応するペン属性のルールを決めてもよい。この場合のルールとして、例えば手書きをしたペンの色が赤、太さが6pt、透過率が60%、ペン種類がマーカー、あるいはそれらの組み合わせなどを用いることができる。
【0126】
実施形態3によれば、データ照合部130にペン属性抽出(S2201)を追加し、あらかじめ定められたペン属性の判定ルールに従って注記を分離することにより、図面要素に近接している手書きであっても簡便に注記として分離することができる。加えて、ストローク内の点数に基づいて判定する注記抽出(S1501)と併せた構成とすることにより、作業者によって注記ルールに当てはまらないペン属性で注記が書かれたとしても注記判定ができるようになるため、より確度の高い注記抽出が可能となる。
【0127】
<本発明の変形例について>
本発明は、前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0128】
図2において、第1端末10は1台のみ記載しているが、数百台の第1端末10と一つのデータ通信部101でデータを送受信する形態でもよい。
図2において、データ格納部110は作業記録抽出装置100内に含まれて図示されているが、データ格納部110が空間的に異なる場所にあり、ネットワーク経由で作業記録抽出装置100とデータ通信するような形態でもよい。
【0129】
手書きデータ121が含む情報は、必要に応じ変更してもよく、
図3Bに示した全ての項目を含まなくてもよい。また図示していない他の項目、例えば手書き終了時刻、手書きした図面名称、ページ番号、各インクデータに含まれるストロークナンバー、あるいは各ストロークに含まれる点ナンバーなどを含んでもよい。
図3Bは手書きデータ121がデータテーブルとして構成されている例を示したが、形式はテーブルでなくてもよく、上述した情報が含まれていれば、テキストデータ等のデータ形式でもよい。その他のデータテーブルについても同様である。
【0130】
手書きデータ121が格納されるファイルの名称に手書きした図面の名称とページ番号を記載し、図面とページ番号ごとに手書きデータを区別できるようにしてもよい。手書きデータ121は図面に含まれるページごとに管理してもよく、図面の名称毎に複数ページをまとめて管理する形態でもよい。
【0131】
図4A~
図4Cで説明した配線データ111-1、図面記号データ111-2、文字データ111-3が含む情報は、必要に応じ変更してもよく、図示した全ての項目を含まなくてもよい。また図示していない他の項目、例えば各要素を含む図面名称、およびページ番号などを含んでもよい。
【符号の説明】
【0132】
10:第1端末
100:作業記録抽出装置
101:データ通信部
102:表示制御部
110:データ格納部
111:図面要素データ
111-1:配線データ
111-2:図面記号データ
111-3:文字データ
111-A:配線表示
111-B:図面記号表示
111-C:文字表示
112:作業記録データ
112-1:作業者情報データ
113:表示用データ
120:手書きデータ取得部
121:手書きデータ
122:手書き表示
130:データ照合部
131:チェック判定データ
132:注記判定データ
140:データ生成部
141:作業記録生成部
142:表示用データ生成部
200:第2端末