JP2018092502A - プログラム及びシステム - Google Patents

プログラム及びシステム Download PDF

Info

Publication number
JP2018092502A
JP2018092502A JP2016237259A JP2016237259A JP2018092502A JP 2018092502 A JP2018092502 A JP 2018092502A JP 2016237259 A JP2016237259 A JP 2016237259A JP 2016237259 A JP2016237259 A JP 2016237259A JP 2018092502 A JP2018092502 A JP 2018092502A
Authority
JP
Japan
Prior art keywords
data
image data
input
image
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016237259A
Other languages
English (en)
Other versions
JP6880687B2 (ja
Inventor
弘和 佐藤
Hirokazu Sato
弘和 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016237259A priority Critical patent/JP6880687B2/ja
Publication of JP2018092502A publication Critical patent/JP2018092502A/ja
Application granted granted Critical
Publication of JP6880687B2 publication Critical patent/JP6880687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】カメラが撮影した撮影画像に含まれる特徴点を検出するプログラムを提供する。【解決手段】当該プログラムは、前記カメラで撮影された画像を示す入力画像データと、入力画像データで示される画像内でカメラのユーザが指定した特徴点の指定位置を示す教師データとを取得する取得処理(S51)と、メモリに記憶されたDNNデータで示されるディープニューラルネットワークに入力画像データを入力することによって、当該入力画像データで示される画像に含まれる特徴点の推定位置を示す出力データを生成する生成処理(S52)と、出力データで示される推定位置が教師データで示される指定位置に近づくように、DNNデータを更新する更新処理(S53)とをコンピュータに繰り返し実行させる。【選択図】図5

Description

本発明は、カメラに生成させた画像に含まれる特徴点を検出するプログラムに関する。
特許文献1には、カメラに生成させた撮影画像を台形補正する携帯端末のプログラムが記載されている。より詳細には、特許文献1に記載のプログラムは、カメラで被写体を撮影した撮影画像をディスプレイに表示させ、撮影画像内で被写体を囲む略四角形領域の頂点の位置をユーザに指定させ、指定された略四角形領域の画像をトリミングし、トリミングした画像を台形補正する。
特開2013−218547号公報
しかしながら、特にディスプレイサイズが小さい携帯端末において、略四角形領域の頂点の位置を正確に指定するのは、ユーザにとって難しい場合がある。また、このような課題は、略四角形領域の頂点の位置を指定する場合に限定されず、複数の人物が写っている写真の中から特定の人物を指定する等、撮影画像に含まれる特徴点の位置を指定する場合にも、同様に発生し得る。
本発明は、上記の事情に鑑みてなされたものであり、その目的は、カメラが撮影した撮影画像に含まれる特徴点を検出するプログラムを提供することにある。
本明細書では様々な開示を行う。開示例の1つであるプログラムは、メモリと、カメラとに接続されたコンピュータによって読み取り可能である。該プログラムは、入力画像データ及び教師データを取得する取得処理を前記コンピュータに実行させる。前記入力画像データは、前記カメラで撮影された画像を示す。前記教師データは、前記入力画像データで示される画像内で前記カメラのユーザが指定した特徴点の指定位置を示す。該プログラムは、前記メモリに記憶されたDNNデータで示されるディープニューラルネットワークに前記入力画像データを入力することによって、当該入力画像データで示される画像に含まれる前記特徴点の推定位置を示す出力データを生成する生成処理と、前記出力データで示される前記推定位置が前記教師データで示される前記指定位置に近づくように、前記DNNデータを更新する更新処理とを前記コンピュータに繰り返し実行させる。
上記構成によれば、カメラで実際に撮影された画像を示す入力画像データと、カメラのユーザが確認した特徴点の指定位置を示す教師データとを用いて、特徴点の位置を検出する処理をディープニューラルネットワークに学習させることができる。その結果、学習のために生成されたデータで学習させる場合と比較して、ディープニューラルネットワークを効率的に成長させることができる。
図1は、実施形態に係るシステム100の概略図である。 図2(A)は携帯端末50のブロック図を、図2(B)はサーバ80のブロック図を示す図である。 図3は、台形補正処理のフローチャートである。 図4(A)は学習データ出力処理のフローチャートを、図4(B)はガイド位置決定処理のフローチャートである。 図5(A)は学習処理のフローチャートを、図5(B)はS52で生成された出力画像データ145を示す図である。 図6(A)は撮影画像データ141及び位置画像データ142の例を、図6(B)は対応する入力画像データ143及び教師画像データ144の例を示す図である。 図7は、ディスプレイ53の表示例であって、(A)はカメラ画面を、(B)は台形指定画面を示す。 図8は、ディスプレイ53の表示例であって、(A)はガイド画像122〜125が原稿の頂点の位置に移動された台形指定画面を、(B)はプレビュー画面を示す。 図9は、ディープニューラルネットワークの構造の例を示す図である。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、プリンタ10と、携帯端末50A、50B(以下、これらを総称して、「携帯端末50」と表記することがある。)と、サーバ80とで構成されている。プリンタ10、携帯端末50、及びサーバ80は、通信ネットワーク101を通じて相互に通信可能に構成されている。通信ネットワーク101の具体例は特に限定されないが、例えば、インターネット、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。
プリンタ10は、画像データで示される画像をシートに記録するプリント動作を実行する。より詳細には、プリンタ10は、通信ネットワーク101を通じて携帯端末50から受信した画像データを対象とするプリント動作を実行する。プリンタ10の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。プリンタ10の構成は周知なので、詳細な説明は省略する。
携帯端末50は、図2(A)に示されるように、カメラ52と、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。携帯端末50を構成する各構成要素は、通信バス63を通じて相互に接続されている。携帯端末50A、50Bの構成は、同様であってもよい。携帯端末50Aは第1携帯端末の一例であり、携帯端末50Bは第2携帯端末の一例である。
携帯端末50は、例えば、携帯電話、スマートフォン、タブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチパネルであるのが望ましい。
カメラ52は、被写体を撮影して画像データ(以下、「撮影画像データ」と表記することがある。)を生成する。カメラ52の動作は、例えば、メモリ62に記憶された不図示のカメラプログラムによって制御される。すなわち、カメラプログラムは、例えば図7(A)に示されるように、カメラ52が生成した撮影画像データで示される撮影画像111と、[撮影]アイコン112とをディスプレイ53に表示させる。また、ディスプレイ53に表示される撮影画像111は、カメラ52の向きが変更されるのに追従して変更される。そして、カメラプログラムは、[撮影]アイコン112を指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、カメラ52が生成した撮影画像データをメモリ62に記憶させる。
カメラ52は、例えば、第1方向の画素数がA画素で且つ第1方向に直交する第2方向の画素数がB画素(以下、「A×B」と表記する。)の長方形の画像を示す撮影画像データを生成する。携帯端末50の長手方向を鉛直方向に向けた状態で撮影した場合、第1方向が縦方向となり、第2方向が横方向となる。一方、携帯端末50の短手方向を鉛直方向に向けた状態で撮影した場合、第1方向が横方向となり、第2方向が縦方向となる。すなわち、撮影画像データで示される画像の縦横比は、撮影時の携帯端末50の姿勢によって異なる。また、撮影画像データで示される画像の画素数、縦横比、解像度、各画素の色調等は、携帯端末50A、50Bのカメラ52で異なっていてもよい。
ディスプレイ53は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示画面を備える。
入力I/F54は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F54はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU61へ出力する。さらに、入力I/F54は、ディスプレイ53の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ53の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ53に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
タッチセンサとして実現される入力I/F54は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ53に表示されたオブジェクトの位置のタップするユーザ操作は、当該オブジェクトを指定する指定操作の一例である。
通信I/F55は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、携帯端末50は、通信I/F55を通じて外部装置に各種情報を送信し、通信I/F55を通じて外部装置から各種情報を受信する。通信I/F55の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(登録商標)を採用することができる。通信I/F55は、第1通信インタフェースの一例である。
CPU61は、携帯端末50の全体動作を制御するものである。CPU61は、入力I/F54から出力される各種情報、通信I/F55を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ62から取得して実行する。CPU61はコンピュータの一例であり、CPU61及びメモリ62は第1コントローラの一例である。
メモリ62は、OS64と、端末プログラム65とを記憶している。端末プログラム65は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ62は、端末プログラム65の実行に必要なデータ或いは情報等を記憶する。メモリ62は、例えば、RAM、ROM、EEPROM、HDD、携帯端末50に着脱されるUSBメモリ等の可搬記憶媒体、CPU61が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ62は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するサーバ80のメモリ92についても同様である。
サーバ80は、図2(B)に示されるように、ディスプレイ83と、入力I/F84と、通信I/F85と、CPU91と、メモリ92と、通信バス93とを主に備える。サーバ80に含まれるディスプレイ83、入力I/F84、通信I/F85、CPU91、メモリ92、及び通信バス93は、携帯端末50に含まれるディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62、及び通信バス63と同様の構成であるので、説明は省略する。サーバ80はコンピュータの一例であり、CPU91及びメモリ92は第2コントローラの一例であり、通信I/F85は第2通信インタフェースの一例である。
メモリ92は、OS94と、サーバプログラム95と、DNNデータとを記憶している。DNNデータは、ディープニューラルネットワークを示すデータである。DNNデータで示されるディープニューラルネットワークは、例えば図9に示されるように、入力層を構成する複数のノードI、I、I、・・・と、中間層を構成する複数のノードH、H、・・・と、出力層を構成する複数のノードO、O、O、・・・とからなる。なお、本実施形態では、入力層のノード数及び出力層のノード数をN個で一致させているが、入力層及び出力層のノード数は異なっていてもよい。また、ディープニューラルネットワークは、複数の中間層を有していてもよい。
DNNデータは、ディープニューラルネットワークの構造を示す構造データを含む。構造データは、例えば、各層を構成するノードの数と、隣接する層のノード同士の接続関係を示す。ディープニューラルネットワークの構造は、サーバ80の管理者或いはサーバプログラム95の開発者などによって事前に設計されている。図9は、各層を構成する複数のノードが隣接する層の全てのノードに接続された全結合型のディープニューラルネットワークを示しているが、ディープニューラルネットワークの構造はこれに限定されない。
また、DNNデータは、接続されたノードの間の重みパラメータ(W11、W12、W21、W22、W31、W32、X11、X12、X13、X21、X22、X23)を含む。重みパラメータには、サーバ80の管理者或いはサーバプログラム95の開発者などによって事前に初期値が設定されている。また、重みパラメータの値は、後述する学習処理で更新される。本実施形態に係る重みパラメータは、各ノードに入力される値に乗じられる定数である。但し、重みパラメータは、各ノードに入力される値が入力変数として入力されることによって、出力変数の値が出力される関数であってもよい。
ディープニューラルネットワークは、入力層の各ノードI、I、I、・・・に入力された値(以下、「入力値I」と表記する。)に対応する重みパラメータW11、W12、W21、W22、W31、W32を乗じて、中間層の各ノードH、H、・・・に出力する。そして、中間層の各ノードH、H、・・・には、例えば下記式1、2に示されるように、入力層の各ノードI、I、I、・・・から出力された値の和を活性化関数Fに入力した結果(以下、「中間値H」と表記する。)が入力される。
中間値H=F{(I×W11)+(I×W21)+(I×W31)+・・・}(式1)
中間値H=F{(I×W12)+(I×W22)+(I×W32)+・・・}(式2)
さらに、ディープニューラルネットワークは、中間値H、Hに対応する重みパラメータX11、X12、X13、X21、X22、X23を乗じて、出力層の各ノードO、O、O、・・・に出力する。そして、出力層の各ノードO、O、O、・・・には、例えば下記式3〜5に示されるように、中間層の各ノードH、H、・・・から出力された値の和を活性化関数Gに入力した結果(以下、「出力値O」と表記する。)が入力される。活性化関数F、Gは、例えば、シグモイド関数、或いはReLU(Rectified Linear Unitの略)等である。また、活性化関数F、Gは、同一の関数でもよいし、異なる関数でもよい。
出力値O=G{(H×X11)+(H×X21)+・・・} (式3)
出力値O=G{(H×X12)+(H×X22)+・・・} (式4)
出力値O=G{(H×X13)+(H×X23)+・・・} (式5)
すなわち、サーバプログラム95は、ディープニューラルネットワークの入力層に入力値I、I、I、・・・を入力することによって、出力層から出力値O、O、O、・・・を得ることができる。入力値I、I、I、・・・及び出力値O、O、O、・・・の詳細については、後述する。以下、入力層に入力値Iを入力して出力層から出力値Oを得る向きの計算を、「順方向の計算」と表記することがある。
[システム100の動作]
図3〜図5を参照して、本実施形態に係るシステム100の動作を説明する。
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU61、91の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU61、91の処理を表している。CPU61、91による処理は、OS64、94を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
携帯端末50の端末プログラム65は、ユーザからの指示を受け付けたことに応じて、図3に示される台形補正処理を実行する。まず、端末プログラム65は、例えば、OS64が提供する起動APIを実行することによって、不図示のカメラプログラムを起動させる(S11)。端末プログラム65によって起動されたカメラプログラムは、図7(A)に示されるカメラ画面をディスプレイ53に表示させる。また、カメラプログラムは、所定時間毎にカメラ52が撮影した複数の撮影画像111を、カメラ画面上で撮影順に切り替えて表示させる。
次に、カメラプログラムは、[撮影]アイコン112を指定するユーザ操作を入力I/F54を通じて受け付けたことに応じて、撮影画像データをメモリ62に記憶させ、記憶させた撮影画像データを端末プログラム65に提供する。より詳細には、カメラプログラムは、メモリ62に記憶させた撮影画像データのパスを起動APIの戻り値に含めればよい。そして、端末プログラム65は、戻り値に含まれるパスで示される撮影画像データを、メモリ62から読み出す(S12:Yes)。S11、S12の処理は、取得処理の一例である。
本実施形態において、携帯端末50のユーザは、机上に載置された長方形の原稿をカメラ52によって斜めから撮影したものとする。その結果、端末プログラム65は、例えばS12において、図7(A)に示される撮影画像111を示す撮影画像データを取得したものとする。原稿は、対象物の一例である。但し、対象物の具体例は原稿に限定されず、ホワイトボード、黒板、ポスター、ディスプレイ等の概ね長方形或いは正方形の物であればよく、表面に文字或いは図柄等が描かれているのが望ましい。
次に、端末プログラム65は、DNNデータがメモリ62に記憶されているか否かを判断する(S13)。端末プログラム65が携帯端末50にインストールされて時点において、メモリ62にはDNNデータが記憶されていない。そして、端末プログラム65は、DNNデータが記憶されていないと判断したことに応じて(S13:No)、後述するガイド画像122、123、124、125の位置を、デフォルト位置に決定する(S15)。デフォルト位置は、撮影画像111上の予め定められた位置である。DNNデータがメモリ62に記憶されている場合の処理(S13:Yes→S14)は、後述する。
次に、端末プログラム65は、図7(B)に示される台形指定画面をディスプレイ53に表示させる(S16)。台形指定画面は、撮影画像111と、ガイド画像122、123、124、125と、[補正]アイコン126とを含む。ガイド画像122〜125は、S15で決定された撮影画像111上のデフォルト位置において、撮影画像111に重ねて表示される。[補正]アイコン126は、台形画像を台形補正する指示に対応する。そして、端末プログラム65は、台形指定画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S17)。S16の処理は表示処理の一例であり、S17の処理は受付処理の一例である。
次に、端末プログラム65は、例えば、ガイド画像122の位置に対するドラッグ操作を入力I/F54を通じて受け付けたことに応じて(S17:ガイド画像)、台形指定画面上でガイド画像122の位置を変更する(S18&S16)。より詳細には、端末プログラム65は、ガイド画像122の位置にタッチされた入力媒体が表示面上で移動されたことに応じて、当該入力媒体に追従してガイド画像122の位置を変更する。そして、端末プログラム65は、入力媒体が離間された位置、すなわちドラッグ操作の終了位置を、ガイド画像122の新たな位置に決定する。ガイド画像123、124、125の位置に対するドラッグ操作についても同様である。
本実施形態において、携帯端末50のユーザは、例えば図8(A)に示されるように、撮影画像111に含まれる原稿の4つの頂点それぞれに重なる位置に、ガイド画像122〜125を移動させる。一方、携帯端末50のユーザは、ガイド画像が最初から原稿の頂点に重なっている場合、当該ガイド画像を移動させる必要がない。原稿の4つの頂点は、特徴点の一例である。
次に、端末プログラム65は、[補正]アイコン126の指定を入力I/F54を通じて受け付けたことに応じて(S17:補正)、ガイド画像122〜125の位置を頂点とする台形画像を、撮影画像111から抽出する。そして、端末プログラム65は、抽出した台形画像を台形補正して、長方形の補正画像を示す補正画像データを生成する(S19)。台形補正は、例えば、周知の射影変換行列を用いて実現することができる。S19の処理は、補正処理の一例である。
次に、端末プログラム65は、学習データ出力処理を実行する(S20)。学習データ出力処理は、入力画像データ及び教師画像データを含む学習データを生成し、生成した学習データをサーバ80に送信する処理である。教師画像データは、画像形式の教師データの一例である。学習データは、入力画像データ及び教師データのセットの一例である。図4(A)を参照して、学習データ出力処理の詳細を説明する。
まず、端末プログラム65は、[補正]アイコン126が指定された時のガイド画像122〜125の位置(以下、「指定位置」と表記する。)を特定する(S31)。端末プログラム65は、例えば、ガイド画像122〜125が重ねられた撮影画像111の位置を、撮影画像111の左上隅を原点として、(第1方向の画素数x、第2方向の画素数y)で特定してもよい。すなわち、端末プログラム65は、原稿の各頂点に重ねられたガイド画像122、123、124、125の位置(x、y)、(x、y)、(x、y)、(x、y)を特定する。
次に、端末プログラム65は、図6(A)に示される位置画像データ142を生成する(S32)。位置画像データ142は、画素数及び縦横比が撮影画像データ141と同一の画像データである。また、位置画像データ142は、S31で特定したガイド画像122〜125の位置に画素値“255”が設定され、それ以外の位置に画素値“0”が設定された画像データである。画素値“255”は、第1画素値の一例である。なお、本明細書では、画素値を1バイトの整数で表現するが、浮動小数点などを用いてもよい。
端末プログラム65は、例えば、要素数がA×Bの二次元配列“位置画像”を、メモリ62内に確保する。そして、端末プログラム65は、二次元配列“位置画像”のうち、S31で特定した指定位置に対応する位置画像[x][y]、位置画像[x][y]、位置画像[x][y]、位置画像[x][y]の要素に画素値“255”を設定し、その他の要素に画素値“0”を設定する。
この二次元配列“位置画像”は、例えば図6(A)に示されるように、画素数及び縦横比が撮影画像111と同一であって、指定位置が白色、その他の位置が黒色の画像を示す。本明細書において、画像データ(例えば、撮影画像データ、位置画像データ、入力画像データ、教師画像データ、出力画像データ)は、前述のように、メモリ62に確保された二次元配列に展開されるものとする。すなわち、「画像データの画素の位置」とは、二次元配列のインデックスの組み合わせで特定される。また、「画像データの画素値」とは、二次元配列の要素を指す。
次に、端末プログラム65は、図6(A)に示される撮影画像データ141及び位置画像データ142から、図6(B)に示される入力画像データ143及び教師画像データ144を生成する(S33)。入力画像データ143は、当該画像データで示される画像が撮影画像データ141と実質的に同一であり、画素数及び各画素の色調が撮影画像データ141と異なる。教師画像データ144は、当該画像データで示される画像が位置画像データ142と実質的に同一であり、画素数が位置画像データ142と異なる。入力画像データ143及び教師画像データ144で示される画像は、正方形である。
端末プログラム65は、撮影画像データ141及び位置画像データ142を、画素数A×Bから画素数N×Nにリサイズする。なお、典型的には、N<A、N<Bである。端末プログラム65は、例えば、撮影画像データ141及び位置画像データ142を構成する画素の一部を、予め定められたアルゴリズムによって間引けばよい。入力画像データ143及び教師画像データ144の画素数N×Nは、DNNデータで示されるディープニューラルネットワークの入力層及び出力層のノード数Nと一致する。
また、端末プログラム65は、撮影画像データ141をグレースケール化する。すなわち、端末プログラム65は、撮影画像データ141を構成する各画素の色調を、0〜255の範囲に減縮する。グレースケールは、特定階調の一例である。一方、最初からグレースケールとして生成された位置画像データ142は、色調を減縮する必要がない。
次に、端末プログラム65は、S33で生成した入力画像データ及び教師画像データを含む学習データを、通信I/F55を通じてサーバ80に送信する(S34)。S34の処理は、送信処理の一例である。一方、サーバ80のサーバプログラム95は、通信I/F85を通じて携帯端末50から学習データを受信し、受信した学習データをメモリ92に記憶させる。この処理は、取得処理及び受信処理の一例である。
次に図3に戻って、端末プログラム65は、図8(B)に示されるプレビュー画面をディスプレイ53に表示させる(S21)。プレビュー画面は、S19で生成した補正画像131と、[プリント]アイコン132と、[保存]アイコン133とを含む。[プリント]アイコン132は、補正画像データに対するプリント動作をプリンタ10に実行させる指示に対応する。[保存]アイコン133は、補正画像データをメモリ62に記憶させる指示に対応する。そして、端末プログラム65は、プレビュー画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S22)。
端末プログラム65は、[プリント]アイコン132の指定を入力I/F54を通じて受け付けたことに応じて(S22:プリント)、通信I/F55を通じてプリンタ10にプリント指示情報を送信する(S23)。また、プリンタ10は、携帯端末50からプリント指示情報を受信したことに応じて、補正画像データを対象とするプリント動作を実行する。一方、端末プログラム65は、[保存]アイコン133の指定を入力I/F54を通じて受け付けたことに応じて(S22:保存)、補正画像データをメモリ62に記憶させる(S24)。S23、S24の処理は、出力指示処理の一例である。
また、サーバ80のサーバプログラム95は、サーバ80の管理者からの指示を受け付けたことに応じて、図5(A)に示される学習処理を実行する。なお、学習処理を実行する時点において、サーバ80のメモリ92には、携帯端末50A、50Bから受信した1以上の学習データが記憶されているものとする。
まず、サーバプログラム95は、学習データの1つをメモリ92から読み出す(S51)。次に、サーバプログラム95は、読み出した学習データの入力画像データに含まれる各画素の画素値を、0から最大255までの値から、0から最大1までの浮動小数点数に変換する。そして、サーバプログラム95は、浮動小数点数に変換した画素値を一列に並び替えて、DNNデータで示されるディープニューラルネットワークの入力層の各ノードI、I、I、・・・に入力する。すなわち、入力画像データに含まれる各画素の画素値に基づく値は、入力値I、I、I、・・・となる。
そして、サーバプログラム95は、ディープニューラルネットワークを順方向に計算することによって、図5(B)に示される出力画像データ145を生成する(S52)。すなわち、サーバプログラム95は、出力層から出力された一次元の出力値O、O、O、・・・を、0から最大1までの浮動小数点数から、0から最大255までの値に変換する。そして、サーバプログラム95は、変換した出力値O、O、O、・・・をN×Nに並べ替えて、要素数がN×Nの二次元配列“出力画像”の各要素に設定する。S52の処理は、生成処理の一例である。出力画像データ145は、画素数及び縦横比が入力画像データ143と一致するN×Nの正方形の画像を示す。また、出力画像データ145の各画素には、例えば、0〜255の画素値が設定される。出力画像データは、画像形式の出力データの一例である。
出力画像データ145の各画素の画素値は、例えば、入力画像データ143の対応する位置の画素が原稿の頂点を示す可能性の高さを表す。すなわち、相対的に高い画素値が設定された画素は、入力画像データ143の対応する位置の画素が原稿の頂点を示す可能性が高い。出力画像データ145のうちの最も高い4つの画素値は、第2画素値の一例である。4つの第2画素値は、同一の値(例えば、255)でもよいし、異なる値(例えば、255、238、224、201)でもよい。出力画像データ145のうちの第2画素値が設定された画素の位置は、推定位置の一例である。
次に、サーバプログラム95は、S52で生成した出力画像データで示される推定位置が、S51で読み出した学習データの教師画像データで示される指定位置に近づくように、DNNデータを更新する(S53)。より詳細には、サーバプログラム95は、出力画像データの第2画素値の位置が教師データの第1画素値の位置に近づくように、DNNデータの重みパラメータを更新する。S53の処理は、例えば、周知の誤差逆伝搬法を用いて実現されてもよい。S53の処理は、更新処理の一例である。
そして、サーバプログラム95は、S51〜S54の処理を繰り返し実行する(S54:No)。繰り返し実行するS51〜S54において、同一の学習データが複数回用いられてもよいし、全て異なる学習データが用いられてもよい。また、サーバプログラム95は、繰り返し実行するS52それぞれにおいて、中間層を構成する複数のノードH、H、・・・のうちの異なる一部を省略してもよい。すなわち、Dropoutの技術を用いて、ディープニューラルネットワークを学習させてもよい。
次に、サーバプログラム95は、S51〜S53の処理を所定の回数実行したことに応じて(S54:Yes)、繰り返し実行したS53で重みパラメータが更新されたDNNデータを、通信I/F85を通じて携帯端末50に送信する(S55)。S55の処理は、送信処理の一例である。また、携帯端末50の端末プログラム65は、通信I/F55を通じてサーバ80からDNNデータを受信し、受信したDNNデータをメモリ62に記憶させる。この処理は、受信処理の一例である。
また、端末プログラム65は、DNNデータがメモリ62に記憶されている状態で実行する台形補正処理において(S13:Yes)、S15に代えて、ガイド位置決定処理を実行する(S14)。ガイド位置決定処理は、台形指定画面に表示させるガイド画像122〜125の初期位置を、ディープニューラルネットワークを用いて決定する処理である。図4(B)を参照して、ガイド位置決定処理の詳細を説明する。
まず、端末プログラム65は、S12で取得した撮影画像データをリサイズ及びグレースケール化して、N×Nの入力画像データを生成する(S41)。S41の処理は、S33と同様であってもよい。次に、端末プログラム65は、メモリ62に記憶されたDNNデータで示されるディープニューラルネットワークに、S42で生成した入力画像データの画素値を入力して順方向に計算することによって、出力画像データを生成する(S42)。S42の処理は生成処理の一例であって、S52と同様であってもよい。
次に、端末プログラム65は、S42で生成したN×Nの出力画像データのうち、画素値が最も高い4つの画素の位置を特定する(S43)。そして、端末プログラム65は、A×Bの撮影画像データ内において、S43で特定した位置に対応する画素の位置を、ガイド画像122〜124の初期位置に決定する(S44)。そして、端末プログラム65は、S44で決定した初期位置にガイド画像122〜124を配置した台形指定画面を、ディスプレイ53に表示させる(S16)。
端末プログラム65は、例えばS44において、S41で撮影画像データをリサイズするアルゴリズムを、出力画像データに対して逆向きに適用することによって、出力画像データをN×NからA×Bにリサイズする。これにより、出力画像データ内において、S43で特定した画素の位置が移動する。そして、端末プログラム65は、S43で特定し且つリサイズによって移動された画素の位置を、撮影画像111に含まれる原稿の頂点の推定位置として、ガイド画像122〜124の初期位置に決定すればよい。
[本実施形態の作用効果]
上記の実施形態によれば、カメラ52で実際に撮影された画像を示す入力画像データと、携帯端末50のユーザが台形指定画面上で指定した特徴点の指定位置を示す教師データとを用いて、特徴点の位置を検出する処理をディープニューラルネットワークに学習させることができる。その結果、学習のために生成されたデータで学習させる場合と比較して、ディープニューラルネットワークを効率的に成長させることができる。
また、上記の実施形態によれば、携帯端末50から受信した学習データを用いて成長させたディープニューラルネットワークを、当該携帯端末50に利用させる。これにより、S14で決定したガイド画像122〜125の初期位置は、S15のデフォルト位置より原稿の頂点の位置に近くなる場合が多い。その結果、携帯端末50のディスプレイ53上で撮影画像111の特徴点を指定するユーザ操作を簡略化できる。
また、上記の実施形態によれば、S52でDropoutを用いて学習させることによって、ディープニューラルネットワークの過学習が抑制されるので、未知の入力画像データに含まれる特徴点の検出精度の低下を抑制することができる。
なお、上記の実施形態では、撮影画像111上で台形に表された原稿の頂点を、特徴点とする例を説明した。しかしながら、特徴点の具体例はこれに限定されない。特徴点の他の例として、複数の人物が写っている撮影画像111上において、所定の特徴(例えば、特定の人物、男性、女性など)を有する人物の顔の位置を特徴点としてもよい。
また、DNNデータの学習に用いる学習データの送信元の携帯端末50と、DNNデータの送信先の携帯端末50との関係は、特に限定されない。一例として、サーバプログラム95は、携帯端末50A、50Bそれぞれから受信した学習データを用いて、同一のDNNデータに対してS52、S53の処理を実行してもよい。そして、サーバプログラム95は、S55において、携帯端末50A、50Bに同一のDNNデータを送信してもよい。これにより、短期間に多数の学習データが得られるので、ディープニューラルネットワークをさらに効率的に成長させることができる。
他の例として、メモリ92は、携帯端末50Aに対応する第1DNNデータと、携帯端末50Bに対応する第2DNNデータとを独立して記憶していてもよい。そして、サーバプログラム95は、S52、S53において、携帯端末50Aから受信した学習データを用いて第1DNNデータを学習させ、携帯端末50Bから受信した学習データを用いて第2DNNデータを学習させてもよい。さらに、サーバプログラム95は、S55において、携帯端末50Aに第1DNNデータを送信し、携帯端末50Bに第2DNNデータを送信してもよい。
これにより、携帯端末50A、50Bのユーザ毎にカスタマイズされたディープニューラルネットワークを得ることができる。換言すれば、携帯端末50A、50Bのカメラ52の性能及び特徴点を指定するユーザの癖などを反映したディープニューラルネットワークを得ることができる。
また、上記の実施形態によれば、入力層のノード数に画素数を一致させた入力画像データを用いて、学習処理を実行する。これにより、複数の携帯端末50A、50Bから受信した学習データを用いて、サーバプログラム95に学習処理を実行させる場合において、性能の異なる複数のカメラ52で撮影された画像が同一画素数の入力画像データとしてディープニューラルネットワークに入力される。その結果、複数のカメラ52から取得した学習データで学習させることができるので、ディープニューラルネットワークをさらに効率的に成長させることができる。
但し、学習処理は、サーバプログラム95が実行することに限定されず、端末プログラム65が実行してもよい。この場合において、カメラ52で撮影した画像を入力層のノード数にリサイズしてからディープニューラルネットワークに入力するので、性能の異なるカメラ52が搭載された複数の携帯端末50A、50Bに対して、同一のDNNデータを配布することができる。
また、上記の実施形態によれば、撮影画像データをグレースケール化して、入力画像データを生成する。これにより、入力画像データのデータ量が削減されるので、特にS42、S52の処理負荷を削減することができる。また、性能の異なるカメラ52を搭載した複数の携帯端末50A、50Bから取得した学習データで同一のディープニューラルネットワークを学習させる場合において、カメラ52の性能差によるバラツキを吸収することができる。
撮影画像111の縦横比は、例えば、携帯端末50A、50Bに搭載されたカメラ52によって、或いは撮影時の携帯端末50A、50Bの向き(例えば、縦向き或いは横向き)によって異なる。そこで上記の実施形態のように、長方形の撮影画像111を正方形にリサイズすることによって、撮影時に生じる撮影画像111のバラツキを吸収することができる。その結果、複数の携帯端末50A、50Bから受信した学習データで学習させることができるので、ディープニューラルネットワークをさらに効率的に成長させることができる。また、ディープニューラルネットワークに入力する複数の入力画像データを、統一した形式に整形することによって、過学習がさらに抑制される。
なお、上記の実施形態において、教師データ及び出力データのデータ形式は、画像形式に限定されない。例えば、端末プログラム65は、S31で特定したガイド画像122〜125の位置を示す座標形式のデータを教師データとしてもよい。出力データについても同様である。
また、上記の実施形態の携帯端末50及びサーバ80において、メモリ62、92に記憶された各種プログラムがCPU61、91によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、携帯端末50及びサーバ80として実現できるだけでなく、携帯端末50及びサーバ80に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じて携帯端末50及びサーバ80に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。
10・・・プリンタ
50・・・携帯端末
52・・・カメラ
53・・・ディスプレイ
54・・・入力I/F
55,85・・・通信I/F
61,91・・・CPU
62,92・・・メモリ
65・・・端末プログラム
80・・・サーバ
95・・・サーバプログラム

Claims (14)

  1. メモリと、カメラとに接続されたコンピュータによって読み取り可能なプログラムであって、
    該プログラムは、入力画像データ及び教師データを取得する取得処理を前記コンピュータに実行させ、前記入力画像データは、前記カメラで撮影された画像を示し、前記教師データは、前記入力画像データで示される画像内で前記カメラのユーザが指定した特徴点の指定位置を示し、
    該プログラムは、
    前記メモリに記憶されたDNNデータで示されるディープニューラルネットワークに前記入力画像データを入力することによって、当該入力画像データで示される画像に含まれる前記特徴点の推定位置を示す出力データを生成する生成処理と、
    前記出力データで示される前記推定位置が前記教師データで示される前記指定位置に近づくように、前記DNNデータを更新する更新処理とを前記コンピュータに繰り返し実行させるプログラム。
  2. 前記教師データは、第1方向及び前記第1方向に直交する第2方向の画素数が前記入力画像データで示される画像と同一であり、且つ前記指定位置の画素に第1画素値が設定された画像を示し、
    前記出力データは、前記第1方向及び前記第2方向の画素数が前記入力画像データで示される画像と同一であり、且つ前記推定位置の画素に第2画素値が設定された画像を示し、
    該プログラムは、前記更新処理において、前記出力データの前記第2画素値の位置が前記教師データの前記第1画素値の位置に近づくように、前記DNNデータを更新する請求項1に記載のプログラム。
  3. 前記DNNデータは、各々が複数のノードで構成された入力層、中間層、及び出力層を含み、前記入力画像データの各画素の画素値が前記入力層の各ノードに入力されることによって、前記出力データの各画素の画素値が前記出力層の各ノードから出力される前記ディープニューラルネットワークを示し、
    該プログラムは、前記生成処理において、前記カメラで撮影された画像が前記入力層のノード数に一致する画素数にリサイズされた前記入力画像データを用いて、前記出力データを生成する請求項2に記載のプログラム。
  4. 該プログラムは、前記生成処理において、前記カメラで撮影された画像の色調が特定階調に減じられた前記入力画像データを用いて、前記出力データを生成する請求項2又は3に記載のプログラム。
  5. 該プログラムは、前記生成処理において、前記カメラによって撮影された長方形の画像が正方形に変換された前記入力画像データを用いて、前記出力データを生成する請求項2から4のいずれかに記載のプログラム。
  6. 前記DNNデータは、各々が複数のノードで構成された入力層、中間層、及び出力層を含み、且つ各層を構成する複数の前記ノードが隣接する層の全ての前記ノードに接続された全結合型の前記ディープニューラルネットワークを示し、
    該プログラムは、繰り返し実行する前記生成処理それぞれにおいて、前記中間層を構成する複数の前記ノードのうちの異なる一部を省略する請求項1から5のいずれかに記載のプログラム。
  7. 該プログラムは、前記更新処理において、誤差逆伝搬法を用いて前記DNNデータを更新する請求項1から6のいずれかに記載のプログラム。
  8. 前記コンピュータは、通信インタフェースを備えており、
    前記カメラは、前記通信インタフェースを通じて通信可能な携帯端末に搭載されており、
    該プログラムは、
    前記取得処理において、前記通信インタフェースを通じて前記携帯端末から前記入力画像データ及び前記教師データを受信し、
    繰り返し実行させた前記更新処理で更新した前記DNNデータを、前記通信インタフェースを通じて前記携帯端末に送信する送信処理を前記コンピュータに実行させる請求項1から7のいずれかに記載のプログラム。
  9. 該プログラムは、
    前記取得処理において、前記入力画像データ及び前記教師データのセットを複数の前記携帯端末それぞれから受信し、
    前記入力画像データ及び前記教師データの複数のセットそれぞれを用いて、同一の前記DNNデータに対する前記生成処理及び前記更新処理を前記コンピュータに実行させ、
    前記送信処理において、複数の前記携帯端末それぞれに同一の前記DNNデータを送信する請求項8に記載のプログラム。
  10. 該プログラムは、
    前記取得処理において、第1携帯端末及び第2携帯端末それぞれから前記入力画像データ及び前記教師データを受信し、
    前記第1携帯端末から受信した前記入力画像データ及び前記教師データを用いて、第1DNNデータに対する前記生成処理及び前記更新処理を前記コンピュータに実行させ、
    前記第2携帯端末から受信した前記入力画像データ及び前記教師データを用いて、第2DNNデータに対する前記生成処理及び前記更新処理を前記コンピュータに実行させ、
    前記送信処理において、前記第1携帯端末に前記第1DNNデータを送信し、前記第2携帯端末に前記第2DNNデータを送信する請求項8に記載のプログラム。
  11. カメラと、ディスプレイと、入力インタフェースと、通信インタフェースとを備える携帯端末によって読み取り可能なプログラムであって、
    該プログラムは、
    対象物を撮影した前記カメラが生成した撮影画像データを取得する取得処理と、
    前記撮影画像データで示される撮影画像及び前記撮影画像に重ねられたガイド画像を、前記ディスプレイに表示させる表示処理と、
    前記表示処理で表示させた前記撮影画像に含まれる特徴点に重なる位置に前記ガイド画像を移動させるユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、
    前記通信インタフェースを通じてサーバに入力画像データ及び教師データを送信する送信処理とを前記携帯端末に実行させ、前記入力画像データは、前記撮影画像データに対応するデータであり、前記教師データは、前記入力画像データで示される画像内において、前記受付処理で前記ガイド画像が重ねられた指定位置を示すプログラム。
  12. 該プログラムは、
    前記通信インタフェースを通じてDNNデータを受信する受信処理と、
    前記DNNデータで示されるディープニューラルネットワークに前記入力画像データを入力することによって、当該入力画像データで示される画像に含まれる前記特徴点の推定位置を示す出力データを生成する生成処理とを前記携帯端末に実行させ、前記DNNデータは、前記送信処理で送信した前記入力画像データ及び前記教師データを用いてディープラーニングされたデータであり、
    該プログラムは、前記表示処理において、前記出力データで示される前記推定位置に対応する前記撮影画像上の位置に、前記ガイド画像を表示させる請求項11に記載のプログラム。
  13. 前記撮影画像は、長方形の前記対象物が斜めから撮影されたことによって台形に表された前記対象物を示す画像であり、
    前記特徴点は、前記撮影画像上における前記対象物の4つの頂点の位置であり、
    該プログラムは、
    前記受付処理で指定された4つの頂点で囲まれた領域の画像を台形補正することによって、長方形の補正画像を示す補正画像データを生成する補正処理と、
    前記補正画像データを出力する出力指示処理とを前記携帯端末に実行させる請求項11又は12に記載のプログラム。
  14. カメラ、ディスプレイ、入力インタフェース、第1通信インタフェース、及び第1コントローラを備える携帯端末と、メモリ、第2通信インタフェース、及び第2コントローラを備えるサーバとで構成されるシステムであって、
    前記第1コントローラは、
    対象物を撮影した前記カメラが生成した撮影画像データを取得する取得処理と、
    前記撮影画像データで示される撮影画像及び前記撮影画像に重ねられたガイド画像を、前記ディスプレイに表示させる表示処理と、
    前記表示処理で表示させた前記撮影画像に含まれる特徴点に重なる位置に、前記ガイド画像を移動させるユーザ操作を前記入力インタフェースを通じて受け付ける受付処理と、
    前記第1通信インタフェースを通じて前記サーバに入力画像データ及び教師データを送信する送信処理とを実行し、前記入力画像データは、前記撮影画像データに対応するデータであり、前記教師データは、前記入力画像データで示される画像内において、前記受付処理で前記ガイド画像が重ねられた指定位置を示し、
    前記第2コントローラは、
    前記第2通信インタフェースを通じて前記携帯端末から前記入力画像データ及び前記教師データを受信する受信処理と、
    前記メモリに記憶されたDNNデータで示されるディープニューラルネットワークに前記入力画像データを入力することによって、当該入力画像データで示される画像に含まれる前記特徴点の推定位置を示す出力データを生成する生成処理と、
    前記出力データで示される前記推定位置が前記教師データで示される前記指定位置に近づくように、前記DNNデータを更新する更新処理とを繰り返し実行するシステム。
JP2016237259A 2016-12-07 2016-12-07 プログラム及びシステム Active JP6880687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016237259A JP6880687B2 (ja) 2016-12-07 2016-12-07 プログラム及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016237259A JP6880687B2 (ja) 2016-12-07 2016-12-07 プログラム及びシステム

Publications (2)

Publication Number Publication Date
JP2018092502A true JP2018092502A (ja) 2018-06-14
JP6880687B2 JP6880687B2 (ja) 2021-06-02

Family

ID=62564729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016237259A Active JP6880687B2 (ja) 2016-12-07 2016-12-07 プログラム及びシステム

Country Status (1)

Country Link
JP (1) JP6880687B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020190950A (ja) * 2019-05-22 2020-11-26 東芝テック株式会社 情報処理装置、物品識別装置、及び物品識別システム
CN113227711A (zh) * 2018-12-04 2021-08-06 三菱电机株式会社 导航装置、导航参数计算方法及程序
WO2022044114A1 (ja) * 2020-08-24 2022-03-03 卓也 生駒 システム及び記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113227711A (zh) * 2018-12-04 2021-08-06 三菱电机株式会社 导航装置、导航参数计算方法及程序
JP2020190950A (ja) * 2019-05-22 2020-11-26 東芝テック株式会社 情報処理装置、物品識別装置、及び物品識別システム
WO2022044114A1 (ja) * 2020-08-24 2022-03-03 卓也 生駒 システム及び記録媒体
JP2022036858A (ja) * 2020-08-24 2022-03-08 卓也 生駒 システム及びプログラム
JP7076509B2 (ja) 2020-08-24 2022-05-27 卓也 生駒 システム及びプログラム

Also Published As

Publication number Publication date
JP6880687B2 (ja) 2021-06-02

Similar Documents

Publication Publication Date Title
KR102114377B1 (ko) 전자 장치에 의해 촬영된 이미지들을 프리뷰하는 방법 및 이를 위한 전자 장치
US20140368868A1 (en) Method of printing web page by using mobile terminal and mobile terminal for performing the method
JP6880687B2 (ja) プログラム及びシステム
JP6121564B2 (ja) 情報処理装置、画像形成装置、及び情報処理方法
US10645246B2 (en) Non-transitory computer-readable medium and portable device
JP5284994B2 (ja) 画像処理装置
JP2018088204A (ja) 画像処理装置及びプログラム
JP6149684B2 (ja) 携帯端末、画像処理装置、及びプログラム
JP2016091253A (ja) 表示制御プログラム、表示制御方法および情報処理装置
JP5472019B2 (ja) 画像合成装置及び画像合成プログラム並びに画像合成方法
JP6201599B2 (ja) 情報処理装置、印刷システム及びプログラム
US20170279983A1 (en) Medium storing programs executable by terminal apparatus and terminal apparatus
WO2014024281A1 (ja) 電子機器、表示制御方法及びプログラム
JP5061656B2 (ja) 画像情報送信装置および画像情報転送システム
JP2014199525A (ja) コンピュータ装置及びプログラム
JP2018170653A (ja) 画像形成装置及びプログラム
JP2018207186A5 (ja)
JP6973524B2 (ja) プログラム
JP6274186B2 (ja) 画像形成装置、画像形成システム、及びプログラム
JP6665575B2 (ja) プログラム
JP5968926B2 (ja) 情報処理装置及び情報処理プログラム
JP2009237660A (ja) 画像処理装置、プリンタ、画像処理方法、画像処理のためのプログラム
KR101396114B1 (ko) 스마트폰 기반의 모션 드로잉 구현 방법 및 모션 드로잉 구현 기능을 구비한 스마트폰
JP6798243B2 (ja) プログラム及び情報処理端末
JP7002826B2 (ja) データ処理装置、情報処理装置、画像形成装置、データ処理方法、及びプリンタドライバ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150