JP2021193499A - 位置検出システム、位置検出装置、プロジェクター及び位置検出方法 - Google Patents

位置検出システム、位置検出装置、プロジェクター及び位置検出方法 Download PDF

Info

Publication number
JP2021193499A
JP2021193499A JP2020099360A JP2020099360A JP2021193499A JP 2021193499 A JP2021193499 A JP 2021193499A JP 2020099360 A JP2020099360 A JP 2020099360A JP 2020099360 A JP2020099360 A JP 2020099360A JP 2021193499 A JP2021193499 A JP 2021193499A
Authority
JP
Japan
Prior art keywords
image
unit
position detection
indicator
captured
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.)
Pending
Application number
JP2020099360A
Other languages
English (en)
Inventor
幸行 北澤
Sachiyuki Kitazawa
佑磨 岩原
Yuma Iwahara
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2020099360A priority Critical patent/JP2021193499A/ja
Priority to US17/341,439 priority patent/US11681397B2/en
Publication of JP2021193499A publication Critical patent/JP2021193499A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0421Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】ステレオカメラを用いて、指示体による操作の検出精度を向上させる。【解決手段】操作面15を撮影する撮影部151と、学習済みモデル160を用いて、指示体40により指示された操作面15の指示位置を、撮影部151が撮影した撮影画像から検出する指示体検出部157と、撮影画像をサーバー装置200に送信する第1制御部170とを備える位置検出装置100と、位置検出装置100から受信した撮影画像のうち、指示体40の画像が含まれない撮影画像を検出する画像検出部253と、画像検出部253が検出した撮影画像を含む学習データを生成し、生成した学習データを用いて学習済みモデル160を再学習する学習部255と、学習部255が再学習した学習済みモデル160を位置検出装置100に送信する第2通信制御部251と、を備えるサーバー装置200とを備える。【選択図】図1

Description

本発明は、位置検出システム、位置検出装置、プロジェクター及び位置検出方法に関する。
従来、指示体により指示された操作面の位置を、操作面を撮影した撮影画像から検出する装置が知られている。例えば、特許文献1に開示の装置は、撮影したビデオ画像から前景画像を抽出し、抽出した前景画像に対して2値化処理を行って2値化前景画像を抽出し、抽出した2値化前記画像の最小凸包の画素頂点集合を取得する。そして、特許文献1に開示の装置は、取得した最小凸包の各画素頂点を中心点に、指示体である操作者の手が含まれる候補領域として関心領域を構築し、構築した関心領域から手画像特徴を抽出し、パターン認識法により、候補領域における手が含まれる関心領域を決定する。
特開2015−222591号公報
しかしながら、手が含まれる候補領域である関心領域を誤検出してしまった場合、不要な処理や誤った処理が実行されるおそれがある。操作者が操作を行っていないのに処理が実行された場合、操作者に不快感を与えてしまう。引用文献1に開示の装置も、関心領域を誤検出した場合の対策についての開示はない。
上記課題を解決する一態様は、位置検出装置とサーバー装置とを備える位置検出システムであって、前記位置検出装置は、操作面を含む範囲を撮影する撮影部と、学習済みモデルを用いて、指示体により指示された前記操作面の指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、前記撮影画像を前記サーバー装置に送信する第1送信部と、を備え、前記サーバー装置は、前記位置検出装置から受信した前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、を備える位置検出システムである。
上記課題を解決する別の一態様は、指示体により指示される操作面の位置を検出する位置検出装置であって、前記操作面を含む範囲を撮影する撮影部と、学習済みモデルを用いて、指示体により指示された前記操作面の指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、を備える位置検出装置である。
上記課題を解決する別の一態様は、指示体により指示される操作面の指示位置を検出するプロジェクターであって、前記操作面を含む範囲を撮影する撮影部と、学習済みモデルを用いて、前記指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、前記指示位置の検出結果に基づいて、投射画像を調整する描画処理部と、を備えるプロジェクターである。
上記課題を解決する別の一態様は、指示体により指示される操作面の指示位置を検出する位置検出方法であって、前記操作面を含む範囲を撮影する撮影ステップと、学習済みモデルを用いて、前記指示位置を、前記撮影ステップにより撮影した撮影画像に基づいて検出する指示体検出ステップと、前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出ステップと、前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する再学習ステップと、を有する位置検出方法である。
位置検出システムの構成図。 第1実施形態の位置検出装置の構成を示すブロック図。 サーバー装置の構成を示すブロック図。 撮影画像に基づいて生成したヒストグラムを示す図。 撮影画像に基づいて生成したヒストグラムを示す図。 位置検出装置の動作を示すフローチャート。 サーバー装置の動作を示すフローチャート。 第2実施形態の位置検出装置の構成を示すブロック図。
以下、添付図面を参照して本発明の実施形態について説明する。
[第1実施形態]
図1は、位置検出システム1の構成図である。位置検出システム1は、位置検出装置100と、サーバー装置200とを備え、これらの装置がネットワーク50を介して相互にデータ通信可能に接続された構成である。位置検出装置100は、ユーザーが指示する指示位置を検出する。図1の位置検出装置100は、プロジェクターを含み、プロジェクターが画像を投射した投射面10において指示体40による指示位置を検出する。
位置検出装置100は、外部装置から供給される画像信号に基づいて生成した画像光30を光学ユニット125により投射面10に投射する。これにより投射面10には、画像光30に基づく投射画像が表示される。
また、図1には、投射面10が平面で構成されるスクリーンである場合を示すが、投射面10は壁面等の平面を利用してもよい。また、投射面10は、吊り上げ式や立ち上げ式等の幕状のスクリーンであってもよい。
位置検出装置100は、インタラクティブ機能を備える。インタラクティブ機能とは、指示体40により指示された操作面15の指示位置を検出し、検出した指示位置に対応した処理を実行する機能をいう。位置検出装置100が実行する処理には、例えば、投射面10に表示させたアイコンを選択したり、投射面10に文字や記号、図形等の画像を描画したりする機能が含まれる。アイコンには、線の太さや色を選択するアイコンや、文字や記号、図形を消去する消しゴムアイコン等が含まれる。位置検出装置100は、指示体40の操作により選択されたアイコンに対応づけられた処理を実行する。投射面10は、画像光30が投射される面であり、指示体40による操作を検出する対象となる面である操作面15としても利用される。
位置検出システム1では、1つ又は複数の非発光の指示体40を利用可能である。指示体40には、指やペンなどの非発光の物体を使用可能である。非発光の指示体40は、赤外光を反射するものであれば特に制限されない。本実施形態では、指示体40が使用者の手指である場合について説明する。
位置検出装置100は、撮影部151及び検出光照射部152を備える。撮影部151は、左カメラ151A及び右カメラ151Bを備える。左カメラ151A及び右カメラ151Bは、図1に示すように位置検出装置100の異なる位置に配置され、投射面10の少なくとも一部を含む範囲を撮影する。左カメラ151A及び右カメラ151Bは、異なる撮影視点から投射面10の少なくとも一部を含む範囲を撮影することによりステレオカメラとして機能する。本実施形態では、左カメラ151Aは、投射面10に対応して位置検出装置100の投射装置120の左側に配置され、右カメラ151Bは、投射面10に対応して位置検出装置100の投射装置120の右側に配置される。なお、カメラの台数は3以上でもよい。位置検出装置100は、撮影部151が撮影する撮像画像に基づいて、指示体40の指示位置の検出を行う。
検出光照射部152は、操作面15の少なくとも一部を含む範囲に検出光20を照射する。より具体的には、検出光照射部152は、操作面15から所定距離以内に近づいた指示体40で反射される反射光を左カメラ151A及び右カメラ151Bで撮影可能な範囲に、検出光20を照射する。検出光20は、指示体40の検出に用いられる光であり、本実施形態では赤外光が用いられる。検出光として赤外光を用いることにより、可視光を主とする画像光30の影響を受けずに指示体40を検出でき、また、画像光30による表示にも影響を与えない。
サーバー装置200は、指示体40の指示位置の検出に用いられる学習済みモデル160を生成する。学習済みモデル160は、左カメラ151Aや右カメラ151Bの撮影画像から指示体40の指示位置を検出する学習を済ませたモデルであり、ソフトウェア、又はソフトウェア及びハードウェアにより構成される。例えば、学習済みモデル160は、学習済みのニューラルネットワークを規定するモデルであり、例えば、ニューラルネットワークを構成するノードであるニューロン同士の間の結合の重みの情報の集合として表現される。
また、サーバー装置200は、生成した学習済みモデル160の再学習を行う。位置検出システム1は、指示体40の指示位置の誤検出を低減するため、学習済みモデル160の再学習をサーバー装置200において実行する。位置検出装置100は、例えば、操作者がリモコンの予め設定されたボタンを押下した場合や、予め設定された設定期間ごとに、撮影部151により投射面10を含む範囲を撮影して撮影画像を生成する。位置検出装置100は、生成した撮影画像の数が所定数に達すると、生成した撮影画像をサーバー装置200にアップロードする。サーバー装置200は、位置検出装置100からアップロードされた撮影画像や、過去に位置検出装置100からアップロードされた撮影画像に基づいて、学習済みモデル160の再学習を行う。サーバー装置200は、再学習が完了すると、再学習した学習済みモデル160を位置検出装置100にダウンロードする。再学習された学習済みモデル160は、再学習済みモデルの一例である。
図2は、位置検出装置100の構成を示すブロック図である。
位置検出装置100は、入力インターフェイス101、第1通信部103、操作部105、処理部110、フレームメモリー115、投射装置120、駆動回路130、左カメラ151A、右カメラ151B、検出光照射部152、左フレームメモリー153、右フレームメモリー154、画像前処理部156、指示体検出部157、データキャプチャー部161、キャプチャーデータ記憶部163及び第1制御部170を備える。以下では、入力インターフェイス101を、入力I/F101と略記する。
入力I/F101は、外部装置との接続インターフェイスである。入力I/F101は、ケーブルを接続するコネクター、及び、信号処理を行うインターフェイス回路を備える。入力I/F101には、ケーブルを介して接続された外部装置から画像信号が入力される。画像信号には、同期信号や画像データ含まれる。入力I/F101は、入力された画像信号を信号処理して同期信号や、画像データを取り出す。入力I/F101は、取り出した画像データや同期信号を処理部110に出力する。
第1通信部103は、不図示のルータ装置等を介してインターネット等のネットワーク50に接続される。第1通信部103は、ネットワーク50上のサーバー装置200にアクセスし、サーバー装置200とのデータの送受信を行う。本実施形態では、位置検出装置100が第1通信部103を備え、ネットワーク50に有線で接続される場合について説明するが、位置検出装置100がWi−Fi等の所定の無線通信規格に従って無線通信を行う無線通信部を備える構成であってもよい。Wi−Fiは、登録商標である。
操作部105は、不図示のリモコンにより送信される赤外線信号を受光する。操作部105は、リモコンから受光した赤外線信号に対応した操作信号を第1制御部170に出力する。操作信号は、操作されたリモコンのスイッチに対応した信号である。
処理部110は、画像処理部111及び描画処理部113を備え、入力I/F101から画像データが入力される。画像処理部111は、入力された画像データをフレームメモリー115に展開する。フレームメモリー115は、1フレーム分の画像データを書き込み可能な記憶容量を有するバンクを複数備える。フレームメモリー115は、例えば、SDRAMや、DDRにより構成される。SDRAMは、Synchronous Dynamic Random Access Memoryを省略した表記である。DDRは、Double−Data−Rate Synchronous Dynamic Random Access Memoryを省略した表記である。
画像処理部111は、フレームメモリー115に展開した画像データに対して画像処理を行う。画像処理部111が行う画像処理には、例えば、解像度変換処理又はリサイズ処理、歪曲収差の補正、形状補正処理、デジタルズーム処理、画像の色合いや輝度の調整等が含まれる。また、画像処理部111は、上記のうち複数の画像処理を組み合わせて実行することも勿論可能である。
描画処理部113には、後述する指示体検出部157から指示体40の検出結果が入力される。具体的には、描画処理部113には、指示体検出部157から指示体40の先端が操作面15に接触したか否かを示す接触情報と、指示体40の先端の操作面15での位置を示す座標情報とが入力される。座標情報は、操作面15に予め設定された座標系における座標値を示す。
また、この操作面15に予め設定された座標系の座標は、フレームメモリー115に設定された座標系の座標に対応づけられている。描画処理部113は、接触情報が接触を示す操作面15の座標値を、フレームメモリー115における座標値に変換する。描画処理部113は、変換した座標値に対応するフレームメモリー115の位置に描画データを重畳する。処理部110は、フレームメモリー115に展開されたデータを駆動回路130に出力する。
処理部110及びフレームメモリー115は、例えば、集積回路により構成される。また、集積回路の構成の一部にアナログ回路が含まれていてもよい。
投射装置120は、画像光30を投射面10に投射する装置であり、光源121、光変調装置123及び光学ユニット125を備える。
光源121には、ハロゲンランプ、キセノンランプ、超高圧水銀ランプ等のランプ光源が使用される。また、光源121として、LEDやレーザー光源等の固体光源を用いてもよい。LEDは、Light Emitting Diodeを省略した表記である。
光変調装置123は、光源121が発する光を変調して画像光30を生成する光変調素子を備える。光変調素子には、例えば、透過型の液晶ライトバルブや、反射型の液晶ライトバルブ、デジタルミラーデバイス等を用いることができる。
光学ユニット125は、レンズやミラー等の光学素子を備え、光変調装置123により生成された画像光30を拡大して投射面10に投射する。
駆動回路130は、投射装置120を駆動する回路である。駆動回路130は、光源121、光変調装置123及び光学ユニット125を駆動する回路をそれぞれ別々に備えるが、簡略化のため、光源121、光変調装置123及び光学ユニット125を駆動する回路を1つの駆動回路130として示す。駆動回路130は、第1制御部170の制御に従い、光源121を点灯又は消灯させる。また、駆動回路130には、処理部110からデータが入力される。駆動回路130は、入力されたデータに対応した信号電圧を生成し、生成した信号電圧を、光変調装置123が備える光変調素子に印加する。これにより光変調素子を透過する光の透過量が制御され、光源121の光が画像光30に変調される。また、駆動回路130は、第1制御部170の制御に従って不図示のモーターを駆動し、光学ユニット125が備える投射レンズのレンズ位置や、ズームを調整する。
左カメラ151A及び右カメラ151Bは、投射面10の全体を撮影可能に設定され、投射面10を背景とした指示体40の画像を撮影する。すなわち、左カメラ151Aと右カメラ151Bは、検出光照射部152から照射された検出光20のうち、投射面10と指示体40で反射された光を受光することによって指示体40を含む画像を作成する。左カメラ151A及び右カメラ151Bで撮影された2つの画像を用いると、三角測量等によって指示体40の3次元位置を求めることが可能である。
左カメラ151A及び右カメラ151Bは、レンズ等の光学系にて集光された光を電気信号に変換する撮影素子であるCCDやCMOS等を備える。CCDは、Charge Coupled Deviceを省略した表記である。CMOSは、Complementary Metal Oxide Semiconductorを省略した表記である。左カメラ151A及び右カメラ151Bは、検出光20が指示体40で反射した反射光を撮影可能に配置される。また、左カメラ151A及び右カメラ151Bには、検出光20の反射光を受光するための赤外線フィルターが取り付けられる。
検出光照射部152は、赤外光を発する光源として、LD又はLEDを有する。LDは、Laser Diodeを省略した表記である。また、検出光照射部152は、光源が発する赤外光を投射面10に向けて拡散させる光学部品を備えてもよい。検出光20を出射する1つの出射口を検出光照射部152に設けて、この出射口を左カメラ151Aと右カメラ151Bの間の位置に設置してもよい。また、検出光照射部152は、2つ以上の出射口を設けて、左カメラ151Aと右カメラ151Bのそれぞれに対応した位置に設置してもよい。例えば、左カメラ151Aと右カメラ151Bのそれぞれに隣接して出射口を設け、発光と撮影のタイミングを調整することにより、撮影画像におけるコントラストを向上できる。
左カメラ151A及び右カメラ151Bは、所定のフレームレートで操作面15を含む範囲を撮影する。使用者が指示体40を投射面10に近づけると、撮影部151の撮影画像には、検出光照射部152が照射する検出光20が指示体40で反射した反射光が撮影される。左カメラ151Aの撮影画像は、左フレームメモリー153に記憶され、右カメラ151Bの撮影画像は、右フレームメモリー154に記憶される。左カメラ151Aの撮影画像を左撮影画像といい、右カメラ151Bの撮影画像を右撮影画像という。左フレームメモリー153及び右フレームメモリー154は、1フレーム分の撮影画像を書き込み可能な記憶容量を有するバンクを複数備える。左フレームメモリー153及び右フレームメモリー154は、例えば、SDRAMや、DDRにより構成される。
キャリブレーションデータ記憶部155は、第1範囲情報、第2範囲情報、キャリブレーションデータを記憶する。第1範囲情報は、左カメラ151Aの左撮影画像における投射領域の範囲を示す情報である。第2範囲情報は、右カメラ151Bの右撮影画像における投射領域の範囲を示す情報である。投射領域とは、位置検出装置100により画像光30が投射される投射面10の領域である。第1範囲情報及び第2範囲情報は、例えば、位置検出装置100により、予め設定されたパターンを有するパターン画像を投射面10に投射させ、左カメラ151A及び右カメラ151Bにより投射面10を撮影する。左カメラ151Aの左撮影画像からパターン画像が撮影された範囲を検出することで、第1範囲情報が生成され、右カメラ151Bの右撮影画像からパターン画像が撮影された範囲を検出することで、第2範囲情報が生成される。
キャリブレーションデータは、位置検出装置100の設置時又は起動時に生成されるデータであり、第1画像変形係数及び第2画像変形係数が含まれる。第1画像変形係数は、第1範囲情報に従って左撮影画像から切り出された画像の形状を矩形に変形する係数である。第2画像変形係数は、第2範囲情報に従って右撮影画像から切り出された画像の形状を矩形に変形する係数である。
画像前処理部156は、左フレームメモリー153から左撮影画像を読み出し、右フレームメモリー154から右撮影画像を読み出す。また、画像前処理部156は、キャリブレーションデータ記憶部155から第1範囲情報、第2範囲情報及びキャリブレーションデータを読み出す。
画像前処理部156は、第1範囲情報を用いて、投射領域が撮影された左撮影画像の範囲の画像を切り出す。画像前処理部156は、切り出した画像を、第1画像変形係数を用いて矩形に変形する。矩形に変形された画像を左矩形画像という。また、画像前処理部156は、第2範囲情報を用いて、投射領域が撮影された右撮影画像の範囲の画像を切り出す。画像前処理部156は、切り出した画像を、第2画像変形係数を用いて矩形に変形する。矩形に変形された画像を右矩形画像という。
次に、画像前処理部156は、左矩形画像と右矩形画像とに基づいて、差分画像を生成する。本実施形態では、画像前処理部156は、左矩形画像から右矩形画像を減算して差分画像を生成するが、右矩形画像から左矩形画像を減算して差分画像を生成してもよい。
画像前処理部156は、変形した左矩形画像及び右矩形画像と、生成した差分画像とを指示体検出部157に出力する。
指示体検出部157には、左矩形画像、右矩形画像及び差分画像が入力される。指示体検出部157には、左矩形画像及び右矩形画像、または、差分画像が入力されてもよい。
指示体検出部157は、学習済みモデル160を記憶する記憶部を備える。学習済みモデル160は、所定のモデル構造と最適化された処理パラメーターとの組み合わせにより構成される。指示体検出部157は、学習済みモデル160を構成するソフトウェアと、このソフトウェアを実行するハードウェアにより構成される。本実施形態の指示体検出部157は、学習済みモデル160として、畳み込みニューラルネットワークを備える場合について説明するが、学習済みモデル160は、畳み込みニューラルネットワーク以外のニューラルネットワークであってもよい。
指示体検出部157は、入力された左矩形画像及び右矩形画像、または差分画像を学習済みモデル160に入力して、指示体40の先端が操作面15に接触したか否かを示す接触情報と、指示体40の先端の操作面15での位置を示す座標情報とを出力する。指示体40の指示に対応して、投射面10に画像の描画を行う場合、指示体検出部157が出力した接触情報及び座標情報は、処理部110の描画処理部113に入力される。
データキャプチャー部161は、画像前処理部156に入力された画像をキャプチャーデータ記憶部163に記憶させる。データキャプチャー部161がキャプチャーデータ記憶部163に記憶させる画像は、左フレームメモリー153から読み出した左撮影画像、及び、右フレームメモリー154から読み出した右撮影画像であってもよい。また、データキャプチャー部161がキャプチャーデータ記憶部163に記憶させる撮影画像は、画像前処理部156が矩形に変形した左矩形画像及び右矩形画像であってもよい。また、データキャプチャー部161は、左矩形画像及び右矩形画像に加え、差分画像をキャプチャーデータ記憶部163に記憶させてもよい。本実施形態では、データキャプチャー部161が左撮影画像及び右撮影画像をキャプチャーデータ記憶部163に記憶させる場合について説明する。
第1制御部170は、第1記憶部175及び第1プロセッサー180を備えるコンピューター装置である。第1記憶部175は、RAM等の揮発性の記憶装置と、ROMやフラッシュメモリー等の不揮発性の記憶装置とを備える。第1記憶部175は、第1プロセッサー180が実行する制御プログラムや、位置検出装置100の識別情報を記憶する。識別情報は、位置検出装置100をサーバー装置200に登録するときに、位置検出装置100の使用者が設定してもよいし、サーバー装置200により設定されてもよい。制御プログラムには、例えば、ファームウェアが含まれる。RAMは、Random access memoryを省略した表記であり、ROMは、Read Only Memoryを省略した表記である。
第1プロセッサー180は、CPUやMPUにより構成される演算処理装置である第1プロセッサー180は、第1制御プログラムを実行して位置検出装置100の各部を制御する。第1プロセッサー180は、単一のプロセッサーにより構成してもよいし、複数のプロセッサーにより構成することも可能である。また、第1プロセッサー180は、第1記憶部175の一部又は全部や、その他の回路と統合されたSoCにより構成してもよい。また、第1プロセッサー180は、プログラムを実行するCPUと、所定の演算処理を実行するDSPとの組合せにより構成してもよい。さらに、第1プロセッサー180の機能の全てをハードウェアに実装した構成としてもよく、プログラマブルデバイスを用いて構成してもよい。CPUは、Central Processing Unitを省略した表記であり、MPUは、Micro Processing Unitを省略した表記である。
第1制御部170は、撮影制御部181、第1データ処理部183及び第1通信制御部185をソフトウェアモジュールとして備える。
撮影制御部181は、検出光照射部152に検出光を照射させ、左カメラ151A及び右カメラ151Bに撮影を実行させる。左カメラ151A及び右カメラ151Bは、予め設定されたフレームレートで投射面10を含む範囲を撮影して左撮影画像及び右撮影画像を生成する。
第1データ処理部183は、キャプチャーデータ記憶部163に記憶された左撮影画像及び右撮影画像を読み出す。第1データ処理部183は、読み出した左撮影画像及び右撮影画像を圧縮し、圧縮した左撮影画像及び右撮影画像を予め設定された暗号化方式により暗号化する。第1データ処理部183は、画像圧縮部の一例である。
また、第1データ処理部183は、第1記憶部175に記憶されたデータを読み出し、読み出したデータを復号し、復号したデータを解凍する。第1データ処理部183が第1記憶部175から読み出すデータは、第1通信制御部185の制御によりサーバー装置200から受信したデータであり、具体的には、学習済みモデル160である。
第1通信制御部185は、サーバー装置200とのデータ通信を制御する。第1通信制御部185は、第1データ処理部183により暗号化された左撮影像及び右撮影画像に、位置検出装置100の識別情報を付加してサーバー装置200に送信する。また、第1通信制御部185は、第1通信部103を制御してサーバー装置200から送信される学習済みモデル160のデータを受信し、受信したデータを第1記憶部175に記憶させる。第1通信制御部185及び第1通信部103は、第1送信部の一例である。
図2には、撮影部151や、画像前処理部156、指示体検出部157と、第1制御部170とを接続する信号線の図示は省略するが、第1制御部170は、撮影部151や、画像前処理部156、指示体検出部157に制御線で接続され、これらのブロックの動作を制御する。
次に、図3を参照しながらサーバー装置200の構成について説明する。
サーバー装置200は、第2通信部210、第2記憶部220及び第2制御部230を備える。
第2通信部210は、ネットワーク50に接続され、ネットワーク50に接続された機器とのデータ通信を行う。
第2記憶部220は、補助記憶装置であり、例えば、磁気ハードディスク装置や半導体記憶装置等の記憶装置により構成される。第2記憶部220は、学習データ221及び学習済みモデル160を、位置検出装置100の識別情報に対応づけて記憶する。学習データ221は、位置検出装置100から受信した左撮影画像及び右撮影画像である。
第2制御部230は、メモリー240及び第2プロセッサー250を備える。
メモリー240は、ROMやRAMを備える。メモリー240は、ROMやRAMに加えてフラッシュメモリー等の不揮発性メモリーを備える構成であってもよい。
メモリー240は、第2プロセッサー250が実行する第2制御プログラム241や、学習プログラム243、第2プロセッサー250により処理される各種データを不揮発的に記憶する。学習プログラム243は、第2プロセッサー250に、ディープラーニング等の学習アルゴリズムを実行させるためのプログラムである。
第2プロセッサー250は、CPUやMPUにより構成される演算処理装置である。第2プロセッサー250は、第2制御プログラム241を実行してサーバー装置200の各部を制御する。第2プロセッサー250は、単一のプロセッサーにより構成してもよいし、複数のプロセッサーにより構成することも可能である。また、第2プロセッサー250は、第2制御プログラム241を実行するCPUと、所定の演算処理を実行するDSPとの組合せにより構成してもよいし、FPGAにより構成してよい。
第2制御部230は、第2通信制御部251、画像検出部253、学習部255、小型化処理部257及び第2データ処理部259をソフトウェアモジュールとして備える。
第2通信制御部251は、第2通信部210を制御して、ネットワーク50に接続された位置検出装置100とデータ通信を実行する。第2通信制御部251は、位置検出装置100から受信したデータを第2記憶部220に記憶させる。また、第2通信制御部251は、第2データ処理部259により圧縮、暗号化等の加工処理されたデータを位置検出装置100に送信する。第2通信制御部251及び第2通信部210は、第2送信部の一例である。
画像検出部253は、第2記憶部220に記憶されたデータを読み出す。読み出されたデータは、サーバー装置200が位置検出装置100から受信したデータであり、位置検出装置100の識別情報と、圧縮及び暗号化されたデータとが含まれる。画像検出部253は、読み出したデータを復号し、解凍する。復号し、解凍したデータには、左撮影画像、右撮影画像が含まれる。
次に、画像検出部253は、復号し、解凍した左撮影画像及び右撮影画像の所定範囲を切り出す。左撮影画像及び右撮影画像から切り出される範囲は、予め設定された範囲であってもよいし、位置検出装置100から通知された第1範囲情報及び第2範囲情報に基づいて設定してもよい。第1範囲情報は、左カメラ151Aの左撮影画像における投射領域の範囲を示す情報であり、第2範囲情報は、右カメラ151Bの右撮影画像における投射領域の範囲を示す情報である。位置検出装置100は、第1範囲情報及び第2範囲情報を、事前にサーバー装置200に送信する。サーバー装置200は、位置検出装置100から受信した第1範囲情報及び第2範囲情報を、当該位置検出装置100の識別情報に対応づけて第2記憶部220に記憶させる。画像検出部253が左撮影画像から切り出した画像を左切出画像といい、右撮影画像から切り出した画像を右切出画像という。位置検出装置100が、左切出画像、及び右切出画像を生成し、左撮影画像、及び右撮影画像として、サーバー装置200に送信してもよい。
画像検出部253は、左撮影画像から左切出画像を切り出し、右撮影画像から右切出画像を切り出すと、切り出した左切出画像及び右切出画像に基づいて濃度階調のヒストグラムを作成する。画像検出部253により作成されるヒストグラムの例を図4及び図5に示す。図4及び図5に示すヒストグラムの横軸は濃度階調を示し、縦軸は画素数を示す。図4は、左切出画像及び右切出画像に、指示体40である使用者の指が撮影されていない場合のヒストグラムを示し、図5は、左切出画像及び右切出画像に、指示体40である使用者の指が撮影されていた場合のヒストグラムを示す。
画像検出部253は、ヒストグラムを作成すると、作成したヒストグラムに基づき、左切出画像及び右切出画像にラベル付けを行う。
まず、画像検出部253は、作成したヒストグラムに含まれるピークの数をカウントする。ピークの数とは、ヒストグラムの縦軸の画素数が極大値を示す数である。画像検出部253は、ヒストグラムに含まれるピークの数が2個以下である場合、このヒストグラムの元になった左切出画像又は右切出画像は、背景である投射面10だけが撮影された画像であると判定する。画像検出部253は、投射面10だけが撮影された画像と判定した左切出画像又は右切出画像に、第1画像とのラベルを付ける。第1画像とは、投射面10だけが撮影された背景画像を意味する。
また、画像検出部253は、ヒストグラムに含まれるピークの数が3個よりも多い場合、このヒストグラムの元になった左切出画像又は右切出画像は、背景である投射面10以外も撮影された画像であると判定する。投射面10以外のものには、例えば、指示体40や、使用者、投射面10に表示された文字や記号、図形、画像等が挙げられる。画像検出部253は、投射面10以外も撮影された画像と判定した左切出画像又は右切出画像に、第2画像とのラベルを付ける。第2画像とは、投射面10以外も撮影された画像を意味する。画像検出部253は、第1画像又は第2画像のラベルを付けた左切出画像又は右切出画像を、位置検出装置100の識別情報に対応づけて第2記憶部220に記憶させる。
学習部255は、学習済みモデル160の再学習を行う。
学習部255は、まず、画像検出部253により第1画像のラベルが付された左切出画像又は右切出画像の数が、予め設定された設定値以上あるか否かを判定する。学習部255は、第1画像のラベルが付された左切出画像又は右切出画像の数が、設定値よりも少ない場合、位置検出装置100にデータの再送を要求する。また、学習部255は、第1画像のラベルが付された左切出画像又は右切出画像の数が、設定値よりも多い場合、位置検出装置100から受信した識別情報と同一の識別情報に対応づけられた学習済みモデル160及び学習データ221を第2記憶部220から読み出す。学習データ221は、位置検出装置100から過去に受信した左撮影画像及び右撮影画像に対応する。
学習部255は、第2記憶部220から読み出した学習データ221と、第1画像がラベル付けされた左切出画像及び右切出画像を学習データセットとして、学習済みモデル160の再学習を行う。例えば、学習部255は、学習プログラム243に従ってディープラーニングアルゴリズムを実行し、畳み込みニューラルネットワークの再学習を行う。学習部255は、再学習した学習済みモデル160を、位置検出装置100の識別情報に対応づけて第2記憶部220に記憶させる。
小型化処理部257は、学習部255により再学習された学習済みモデル160をプルーニングや量子化により小型化する。畳み込みニューラルネットワークを含むニューラルネットワークでは、上位階層から下位階層にノード値が伝達されるが、この伝達の際に、ノード間の接続毎に設定された重みパラメーターを用いた重み付けが行われる。小型化処理部257は、重みパラメーターの値が、予め設定された設定値よりも小さいノードを削除することで、ニューラルネットワークを小型化する。小型された、再学習された学習済みモデル160は、小型化モデルの一例である。
また、小型化処理部257は、ノードの重みパラメーターの値を、16ビット浮動小数点や、1バイト整数形式のINT8等で表現することで、畳み込みニューラルネットワークを小型化する。また、ノードの重みパラメーターの値を4ビットや、2ビット、1ビットで表現してもよい。
第2データ処理部259は、小型化処理部257により小型化された学習済みモデル160を圧縮し、圧縮後の学習済みモデル160を暗号化する。第2データ処理部259は、圧縮、暗号化した学習済みモデル160を、位置検出装置100の識別情報に対応づけて第2記憶部220に記憶させる。第2データ処理部259により圧縮、暗号化された学習済みモデル160は、第2通信制御部251の制御により、位置検出装置100に送信される。第2データ処理部259は、モデル圧縮部の一例であり、圧縮、暗号化された学習済みモデル160は、圧縮モデルの一例である。
図6は、位置検出装置100の動作を示すフローチャートである。図6に示すフローチャートを参照しながら位置検出装置100の動作について説明する。
まず、第1制御部170は、操作部105により所定の操作を受け付けたか否かを判定する(ステップS1)。操作者は、例えば、位置検出装置100の設置場所を変更した場合や、指示体40の検出精度を向上させたい場合に、リモコンに設けられた所定のボタンを操作する。
第1制御部170は、操作部105が操作を受け付けていない場合(ステップS1/NO)、操作を受け付けるまで待機する。また、第1制御部170は、リモコンに設けられた所定のボタンの操作に対応した操作信号が操作部105から入力されると、予め設定された案内表示を投射面10に表示させる。この案内表示には、撮影部151により投射面10を撮影するとの案内表示と、撮影部151の画角内に入らないように注意を促す案内表示とが含まれる。
第1制御部170は、案内表示を表示させてから所定時間を経過すると、案内表示を非表示に変更し、撮影部151に撮影の実行を指示する(ステップS2)。ステップS2は、撮影ステップの一例である。左カメラ151Aの撮影した左撮影像は、左フレームメモリー153に記憶され、右カメラ151Bの撮影した右撮影画像は、右フレームメモリー154に記憶される。画像前処理部156は、左カメラ151Aの左撮影画像を左フレームメモリー153から読み出し、右カメラ151Bの右撮影画像を右フレームメモリー154から読み出す。データキャプチャー部161は、画像前処理部156により読み出された左カメラ151A及び右カメラ151Bの撮影画像をキャプチャーデータ記憶部163に記憶させる。
データキャプチャー部161は、キャプチャーデータ記憶部163に記憶させた左撮影画像及び右撮影画像の数が、予め設定された設定数以上になったか否かを判定する(ステップS3)。データキャプチャー部161は、キャプチャーデータ記憶部163に記憶させた左撮影画像及び右撮影画像の数が設定数未満である場合(ステップS3/NO)、キャプチャーデータ記憶部163に記憶させた左撮影画像及び右撮影画像の数が、設定数以上になるまで待機する。
データキャプチャー部161は、キャプチャーデータ記憶部163に記憶させた左撮影画像及び右撮影画像の数が設定数以上であると判定すると(ステップS3/YES)、第1制御部170に通知信号を出力する。第1制御部170は、データキャプチャー部161から通知信号が入力されると、キャプチャーデータ記憶部163に記憶された左撮影画像及び右撮影画像を読み出す。第1制御部170は、読み出した左撮影画像及び右撮影画像を圧縮し、圧縮後の左撮影画像及び右撮影画像を暗号化する(ステップS4)。第1制御部170は、圧縮し暗号化した左撮影画像及び右撮影画像を、第1通信部103を制御して、サーバー装置200に送信する(ステップS5)。
次に、第1制御部170は、サーバー装置200からデータを受信したか否かを判定する(ステップS6)。第1制御部170は、サーバー装置200からデータを受信していない場合(ステップS6/NO)、他の処理を行い、サーバー装置200からのデータ受信を待機する。また、第1制御部170は、サーバー装置200からデータを受信した場合(ステップS6/YES)、受信したデータを復号し、復号したデータを解凍して学習済みモデル160を取得する(ステップS7)。
次に、第1制御部170は、取得した学習済みモデル160を第1記憶部175に記憶させる(ステップS8)。第1制御部170は、学習済みモデル160を第1記憶部175に記憶させると、記憶させた学習済みモデル160を読み出し、読み出した学習済みモデル160を指示体検出部157にロードする(ステップS9)。指示体検出部157は、ロードされた学習済みモデル160を記憶部に展開する。その後、指示体検出部157は、画像前処理部156から左矩形画像及び右矩形画像、又は差分画像が入力されると、これらの画像を学習済みモデルに入力して、接触情報と、座標情報とを出力する(ステップS10)。ステップS10は、本発明の指示体検出ステップに相当する。
次に、図7に示すフローチャートを参照しながらサーバー装置200の動作について説明する。
第2制御部230は、位置検出装置100からデータを受信したか否かを判定する(ステップS1)。第2制御部230は、データを受信していない場合(ステップS1/NO)、データを受信するまで処理の開始を待機する。また、第2制御部230は、位置検出装置100からデータを受信した場合(ステップT1/YES)、受信したデータを復号し、復号したデータを解凍して左撮影画像及び右撮影画像を取得する(ステップT2)。
第2制御部230は、取得した左撮影画像及び右撮影画像を第2記憶部220に記憶させる(ステップT3)。次に、第2制御部230は、第2記憶部220から左撮影画像及び右撮影画像を読み出し、読み出した左撮影画像及び右撮影画像をメモリー240に展開する。第2制御部230は、展開した左撮影画像及び右撮影画像を、予め設定されたサイズで切り出す(ステップT4)。第2制御部230は、例えば、左撮影画像の予め設定された範囲を切り出して左切出画像を生成し、右撮影画像の予め設定された範囲を切り出して右切出画像を生成する。また、第2制御部230は、位置検出装置100から通知された第1範囲情報及び第2範囲情報に基づいて左撮影画像から左切出画像を生成し、右撮影画像から右切出画像を生成してもよい。
次に、第2制御部230は、左切出画像及び右切出画像を生成すると、生成した左切出画像及び右切出画像に基づいて輝度値のヒストグラムを生成する(ステップT5)。第2制御部230は、作成したヒストグラムに含まれるピークの数をカウントし、カウントしたピークの数が、設定条件を満たすか否かを判定する(ステップT6)。第2制御部230は、ヒストグラムに含まれるピークの数が、1又は2である場合、設定条件を満たすと判定し(ステップT6/YES)、この左切出画像又は右切出画像に第1画像をラベル付けする(ステップT7)。また、第2制御部230は、ヒストグラムに含まれるピークの数が、2よりも多い場合、設定条件を満たさないと判定し(ステップT6/NO)、この左切出画像又は右切出画像に第2画像をラベル付けする(ステップT8)。ステップT6、T7及びT8は、本発明の画像検出ステップに相当する。
次に、第2制御部230は、第2記憶部220に記憶させたすべての左撮影画像及び右撮影画像を対象として選択したか否かを判定する(ステップT9)。第2制御部230は、すべての左撮影画像及び右撮影画像を対象として選択していない場合(ステップT9/NO)、第2記憶部220から左撮影画像又は右撮影画像を読み出し、読み出した左撮影画像又は右撮影画像してステップT4以降の処理を行う。
また、第2制御部230は、すべての左撮影画像及び右撮影画像を対象として選択した場合(ステップT9/YES)、学習データセットを生成する(ステップT10)。この学習データセットには、ステップT7で、第1画像のラベルを付した左切出画像及び右切出画像と、過去に、学習済みモデル160の生成の際に使用した左撮影画像及び右撮影画像に対応した画像とが含まれる。
次に、第2制御部230は、第2記憶部220に記憶させた学習済みモデル160を読み出す(ステップT11)。ここで読み出される学習済みモデル160は、プルーニングや、低ビット等の小型化処理がなされていない学習済みモデル160である。第2制御部230は、学習済みモデル160を読み出すと、ステップT10で生成した学習データセットを用いて、読み出した学習済みモデル160を再学習する(ステップT12)。ステップT12は、本発明の再学習ステップに相当する。
次に、第2制御部230は、ステップT12で再学習した学習済みモデル160を、プルーニング及び低ビット化により小型化する(ステップT13)。第2制御部230は、プルーニング及び低ビット化により学習済みモデル160を小型化すると、小型化前の学習済みモデル160と、小型化後の学習済みモデル160とを、該当する位置検出装置100の識別情報に対応づけて第2記憶部220に記憶させる(ステップT14)。
次に、第2制御部230は、小型化した学習済みモデル160を圧縮し、暗号化する(ステップT15)。第2制御部230は、圧縮し、暗号化した学習済みモデル160を、該当の位置検出装置100に送信する(ステップT16)。
以上説明したように第1実施形態の位置検出システム1は、位置検出装置と、サーバー装置200とを備える。
位置検出装置100は、撮影部151、指示体検出部157及び第1通信制御部185を備える。
撮影部151は、左カメラ151A及び右カメラ151Bを備え、操作面15の少なくとも一部を含む範囲を撮影して撮影画像を生成する。
指示体検出部157は、学習済みモデル160を用いて、指示体40により指示された操作面15の指示位置を撮影画像から検出する。
第1通信制御部185は、撮影画像をサーバー装置200に送信する。
サーバー装置200は、画像検出部253、学習部255及び第2通信制御部251を備える。
画像検出部253は、位置検出装置100から受信した撮影画像のうち、指示体40の画像が含まれない撮影画像を検出する。
学習部255は、画像検出部253が検出した撮影画像を含む学習データを生成し、生成した学習データを用いて学習済みモデル160を再学習する。
第2通信制御部251は、学習部255が再学習した学習済みモデル160を位置検出装置100に送信する。
指示体検出部157は、再学習された学習済みモデル160を用いて、撮影画像から操作面15の指示位置を検出する。
従って、指示体40の画像が含まれない撮影画像を含む学習データにより、学習済みモデル160を再学習するので、操作が行われていないときの操作の誤検出を低減し、誤った処理が実行されるのを抑制することができる。
画像検出部253は、撮影画像のヒストグラムを生成し、生成したヒストグラムに含まれる極大値の数に基づいて、指示体40の画像が含まれない撮影画像を検出する。
従って、指示体40の画像が含まれない撮影画像の検出精度を高めることができる。
学習部255は、画像検出部253により検出された指示体40の画像が含まれない撮影画像と、学習により学習済みモデルを生成したときに用いた学習データとを新たな学習データとして、学習済みモデルを再学習する。
従って、操作が行われていないときの操作の誤検出を低減し、誤った処理が実行されるのを抑制することができる。
サーバー装置200は、再学習した学習済みモデル160を、プルーニングと、量子化との少なくとも一方により小型化する小型化処理部257を備える。
従って、指示体検出部157により指示体40の指示位置を検出する場合に、計算量を削減し、処理時間を短縮することができる。
サーバー装置200は、小型化処理部257により小型化された学習済みモデル160を圧縮する第2データ処理部259を備える。第2通信制御部251は、第2データ処理部259により圧縮された学習済みモデル160を位置検出装置100に送信する。
従って、サーバー装置200から位置検出装置100に送信するデータのデータ量を削減することができる。
位置検出装置100は、撮影画像を圧縮する第1データ処理部183を備える。
第1制御部170は、第1データ処理部183により圧縮された撮影画像をサーバー装置200に送信する。
従って、位置検出装置100からサーバー装置200に送信するデータのデータ量を削減することができる。
[第2実施形態]
次に、添付図面を参照して本発明の第2実施形態について説明する。
第1実施形態では、位置検出装置100とサーバー装置200とを備える位置検出システム1について説明した。第2実施形態では、位置検出装置100の第1制御部170において、学習済みモデル160の生成、及び、生成した学習済みモデル160の再学習を行う。
図8は、第2実施形態の位置検出装置100の構成を示すブロック図である。位置検出装置100の第1制御部170は、撮影制御部181に加えて、画像検出部187及び学習部189をソフトウェアモジュールとして備える。
第2実施形態の第1記憶部175は、第1範囲情報、第2範囲情報、学習済みモデル160及び学習データ221を記憶する。
画像検出部187は、キャプチャーデータ記憶部163に記憶された左撮影画像及び右撮影画像を読み出す。画像検出部187は、左撮影画像の予め設定された範囲を切り出して左切出画像を生成し、右撮影画像の予め設定された範囲を切り出して右切出画像を生成する。また、画像検出部187は、第1範囲情報に従い、投射領域が撮影された左撮影画像の範囲の画像である左切出画像を切り出し、第2範囲情報に従い、投射領域が撮影された右撮影画像の範囲の画像である右切出画像を切り出してもよい。画像検出部187は、切り出した左切出画像及び右切出画像のヒストグラムを作成し、作成したヒストグラムに基づき、左切出画像及び右切出画像に第1画像又は第2画像のラベル付けを行う。
学習部189は、第1記憶部175に記憶された学習データ221を読み出す。また、学習部189は、読み出した学習データ221と、第1画像がラベル付けされた左切出画像及び右切出画像とを学習データセットとして、学習済みモデル160の再学を行う。学習部189は、ディープラーニングアルゴリズムを実行し、畳み込みニューラルネットワークの再学習を行う。学習部255は、再学習した学習済みモデル160を第1記憶部175に記憶させると共に、指示体検出部157に出力する。指示体検出部157は、学習部189により再学習された学習済みモデル160を用いて、指示体40により指示された投射面10の指示位置を検出する。
以上説明したように第2実施形態の位置検出装置100も、指示体40の画像が含まれない撮影画像を含む学習データにより、学習済みモデル160を再学習する。このため、操作が行われていないときの操作の誤検出を低減し、誤った処理が実行されるのを抑制することができる。
上述した実施形態は本発明の好適な実施の形態である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形が可能である。
例えば、上述した実施形態では、位置検出装置100が撮影部151を備える構成を説明したが、位置検出装置100とは別体で撮影部151を設けてもよい。また、上述した実施形態では、位置検出装置100が検出光照射部152を備える構成を説明したが、位置検出装置100とは別体で検出光照射部152を設けてもよい。例えば、撮影部151を単独で動作する撮影装置として構成し、撮影装置と位置検出装置100とを有線又は無線で接続してもよい。また、検出光照射部152を単独で動作する検出光照射装置として構成し、検出光照射装置と位置検出装置100とを有線又は無線で接続してもよい。また、上述した実施形態では、位置検出装置100がプロジェクターを含む構成を説明したが、投射装置120等のプロジェクターの機能部を位置検出装置100と別体としてもよい。
また、図2に示す位置検出装置100の各機能部、及び図3に示すサーバー装置200の各機能部は、機能的構成を示すものであって、具体的な実装形態は特に制限されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上記実施形態においてソフトウェアで実現される機能の一部をハードウェアで実現してもよく、また、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、位置検出装置の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
また、図6に示すフローチャートの処理単位は、位置検出装置100の処理を理解容易にするために、主な処理内容に応じて分割したものであり、また、図7に示すフローチャートの処理単位も、主な処理内容に応じて分割したものである。図6及び図7のフローチャートに示す処理単位の分割の仕方や名称によって本発明が制限されることはない。また、位置検出装置100やサーバー装置200の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできるし、1つの処理単位がさらに多くの処理を含むように分割することもできる。また、上記のフローチャートの処理順序も、図示した例に限られるものではない。
また、位置検出方法を、位置検出装置100が備えるコンピューターを用いて実現する場合、このコンピューターに実行させるプログラムを記録媒体、又はこのプログラムを伝送する伝送媒体の態様で構成することも可能である。記録媒体には、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、HDD、CD−ROM、DVD、Blu−ray Disc、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、サーバー装置が備える内部記憶装置であるRAM、ROM、HDD等の不揮発性記憶装置であってもよい。Blu−rayは、登録商標である。
1…位置検出システム、10…投射面、15…操作面、20…検出光、30…画像光、40…指示体、50…ネットワーク、100…位置検出装置、101…入力I/F、103…第1通信部、105…操作部、110…処理部、111…画像処理部、113…描画処理部、115…フレームメモリー、120…投射装置、121…光源、123…光変調装置、125…光学ユニット、130…駆動回路、15…撮影部、151A…左カメラ、151B…右カメラ、152…検出光照射部、153…左フレームメモリー、154…右フレームメモリー、155…キャリブレーションデータ記憶部、156…画像前処理部、157…指示体検出部、160…学習済みモデル、161…データキャプチャー部、163…キャプチャーデータ記憶部、170…第1制御部、175…第1記憶部、180…第1プロセッサー、181…撮影制御部、83…第1データ処理部、185…第1通信制御部、187…画像検出部、189…学習部、200…サーバー装置、210…第2通信部、220…第2記憶部、221…学習データ、230…第2制御部、240…メモリー、241…第2制御プログラム、243…学習プログラム、250…第2プロセッサー、251…第2通信制御部、253…画像検出部、255…学習部、257…小型化処理部、259…第2データ処理部。

Claims (10)

  1. 位置検出装置とサーバー装置とを備える位置検出システムであって、
    前記位置検出装置は、
    操作面を含む範囲を撮影する撮影部と、
    学習済みモデルを用いて、指示体により指示された前記操作面の指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、
    前記撮影画像を前記サーバー装置に送信する第1送信部と、を備え、
    前記サーバー装置は、
    前記位置検出装置から受信した前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、
    前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、を備える位置検出システム。
  2. 前記サーバー装置は、
    前記学習済みモデルが再学習された再学習済みモデルを前記位置検出装置に送信する第2送信部を備え、
    前記位置検出装置は、
    前記サーバー装置より送信された前記再学習済みモデルを用いて、前記操作面の指示位置を検出する、請求項1記載の位置検出システム。
  3. 前記画像検出部は、前記撮影画像において輝度値のヒストグラムを生成し、生成した前記ヒストグラムに含まれる極大値の数に基づいて、前記撮影画像を前記第1画像と判定する、請求項1記載の位置検出システム。
  4. 前記学習部は、前記第1画像と、学習により前記学習済みモデルを生成したときに用いた学習データとを新たな学習データとして、前記学習済みモデルを再学習する、請求項1記載の位置検出システム。
  5. 前記サーバー装置は、
    前記再学習済みモデルを、プルーニングと、量子化との少なくとも一方により小型化した小型化モデルを生成する小型化処理部を含む、請求項2記載の位置検出システム。
  6. 前記サーバー装置は、
    前記小型化モデルを圧縮した圧縮モデルを生成するモデル圧縮部と、
    前記圧縮モデルを前記位置検出装置に送信する第2送信部と、を備える、請求項5記載の位置検出システム。
  7. 前記位置検出装置は、
    撮影画像を圧縮する画像圧縮部を、含み、
    前記第1送信部は、前記画像圧縮部により圧縮された撮影画像を前記サーバー装置に送信する、請求項1から6のいずれか一項に記載の位置検出システム。
  8. 指示体により指示される操作面の位置を検出する位置検出装置であって、
    前記操作面を含む範囲を撮影する撮影部と、
    学習済みモデルを用いて、指示体により指示された前記操作面の指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、
    前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、
    前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、を備える位置検出装置。
  9. 指示体により指示される操作面の指示位置を検出するプロジェクターであって、
    前記操作面を含む範囲を撮影する撮影部と、
    学習済みモデルを用いて、前記指示位置を、前記撮影部が撮影した撮影画像に基づいて検出する指示体検出部と、
    前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出部と、
    前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する学習部と、
    前記指示位置の検出結果に基づいて、投射画像を調整する描画処理部と、を備えるプロジェクター。
  10. 指示体により指示される操作面の指示位置を検出する位置検出方法であって、
    前記操作面を含む範囲を撮影する撮影ステップと、
    学習済みモデルを用いて、前記指示位置を、前記撮影ステップにより撮影した撮影画像に基づいて検出する指示体検出ステップと、
    前記撮影画像のうち、前記指示体の画像が含まれない第1画像を検出する画像検出ステップと、
    前記第1画像を含む学習データを生成し、生成した前記学習データを用いて前記学習済みモデルを再学習する再学習ステップと、を有する位置検出方法。
JP2020099360A 2020-06-08 2020-06-08 位置検出システム、位置検出装置、プロジェクター及び位置検出方法 Pending JP2021193499A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020099360A JP2021193499A (ja) 2020-06-08 2020-06-08 位置検出システム、位置検出装置、プロジェクター及び位置検出方法
US17/341,439 US11681397B2 (en) 2020-06-08 2021-06-08 Position detection system, position detection apparatus, and position detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020099360A JP2021193499A (ja) 2020-06-08 2020-06-08 位置検出システム、位置検出装置、プロジェクター及び位置検出方法

Publications (1)

Publication Number Publication Date
JP2021193499A true JP2021193499A (ja) 2021-12-23

Family

ID=78817362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020099360A Pending JP2021193499A (ja) 2020-06-08 2020-06-08 位置検出システム、位置検出装置、プロジェクター及び位置検出方法

Country Status (2)

Country Link
US (1) US11681397B2 (ja)
JP (1) JP2021193499A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023030406A (ja) * 2021-08-23 2023-03-08 富士フイルムビジネスイノベーション株式会社 画像読取装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224078B2 (en) * 2000-11-06 2012-07-17 Nant Holdings Ip, Llc Image capture and identification system and process
CN102402680B (zh) 2010-09-13 2014-07-30 株式会社理光 人机交互系统中手部、指示点定位方法和手势确定方法
US9134814B2 (en) * 2012-04-05 2015-09-15 Seiko Epson Corporation Input device, display system and input method
JP6060581B2 (ja) * 2012-09-18 2017-01-18 セイコーエプソン株式会社 インタラクティブシステム、インタラクティブシステムの制御方法、およびプロジェクター
US9274608B2 (en) * 2012-12-13 2016-03-01 Eyesight Mobile Technologies Ltd. Systems and methods for triggering actions based on touch-free gesture detection
JP6037900B2 (ja) * 2013-03-11 2016-12-07 日立マクセル株式会社 操作検出装置及び操作検出方法
JP6201379B2 (ja) * 2013-04-02 2017-09-27 富士通株式会社 位置算出システム、位置算出プログラム、および、位置算出方法
JP6252409B2 (ja) 2014-09-02 2017-12-27 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
CN107003716B (zh) * 2014-12-08 2019-08-23 麦克赛尔株式会社 投射型影像显示装置以及影像显示方法
US10534436B2 (en) 2015-01-30 2020-01-14 Sony Depthsensing Solutions Sa/Nv Multi-modal gesture based interactive system and method using one single sensing system
JP6729297B2 (ja) * 2016-10-27 2020-07-22 セイコーエプソン株式会社 プロジェクター、プロジェクションシステム及び検出光照射装置
JP6900918B2 (ja) 2017-03-14 2021-07-07 オムロン株式会社 学習装置及び学習方法
JP6911439B2 (ja) * 2017-03-24 2021-07-28 セイコーエプソン株式会社 プロジェクター
US10691217B2 (en) 2017-04-20 2020-06-23 Fuji Xerox Co., Ltd. Methods and systems for providing a camera-based graphical user interface
US11410443B2 (en) * 2020-03-13 2022-08-09 Nec Corporation Labelling training method and system for implementing the same

Also Published As

Publication number Publication date
US20210382575A1 (en) 2021-12-09
US11681397B2 (en) 2023-06-20

Similar Documents

Publication Publication Date Title
KR102423175B1 (ko) 심도 맵을 이용하여 이미지를 편집하기 위한 장치 및 그에 관한 방법
US11671701B2 (en) Electronic device for recommending composition and operating method thereof
US11941368B2 (en) Method for providing text translation managing data related to application, and electronic device thereof
KR102397924B1 (ko) 이미지 보정 방식 및 이미지의 특징 정보에 기반하여 이미지를 보정하는 전자 장치 및 방법
KR102383134B1 (ko) 우선 순위에 기반하여 이미지를 처리하는 전자 장치 및 그 동작 방법
KR102661185B1 (ko) 전자 장치 및 그의 이미지 촬영 방법
US11144197B2 (en) Electronic device performing function according to gesture input and operation method thereof
JP2017059927A (ja) ユーザ端末、色彩補正システム及び色彩補正方法
JP2021193499A (ja) 位置検出システム、位置検出装置、プロジェクター及び位置検出方法
KR102339223B1 (ko) 전자 장치 및 전자 장치에서 카메라 기능과 연관된 콘텐트 제공 방법
TWI485505B (zh) 數位相機及數位相機之影像擷取方法
US11425300B2 (en) Electronic device and method for processing image by electronic device
US20220385814A1 (en) Method for generating plurality of content items and electronic device therefor
KR102482860B1 (ko) 상황 정보 기반 이미지 처리 방법 및 이를 사용하는 전자 장치
US11509797B2 (en) Image processing apparatus, image processing method, and storage medium
KR20190110308A (ko) Isp 업데이트를 알리는 전자 장치 및 그 동작 방법
US20230156349A1 (en) Method for generating image and electronic device therefor
JP2021193500A (ja) 位置検出方法、位置検出装置及びプロジェクター
KR20210101999A (ko) 화질 조정을 지원하는 전자 장치 및 그 방법
KR20240068029A (ko) 기계 학습 모델을 이용하여 영상을 획득하는 전자 장치 및 그 동작 방법
KR20220127967A (ko) 사용자 인터페이스를 제공하기 위한 방법, 장치 및 저장 매체
JP5168906B2 (ja) 投影システム、投影装置、光ポイント装置、投影制御方法、ポイント光制御方法及びプログラム
KR20190111506A (ko) 외부 전자 장치와 이미지를 처리하는 전자 장치 및 그 동작 방법