JP2012178048A - Program and image processor - Google Patents

Program and image processor Download PDF

Info

Publication number
JP2012178048A
JP2012178048A JP2011040712A JP2011040712A JP2012178048A JP 2012178048 A JP2012178048 A JP 2012178048A JP 2011040712 A JP2011040712 A JP 2011040712A JP 2011040712 A JP2011040712 A JP 2011040712A JP 2012178048 A JP2012178048 A JP 2012178048A
Authority
JP
Japan
Prior art keywords
feature vector
input
feature
image
landmark
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
JP2011040712A
Other languages
Japanese (ja)
Other versions
JP5626011B2 (en
Inventor
Akira Chin
彬 陳
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011040712A priority Critical patent/JP5626011B2/en
Publication of JP2012178048A publication Critical patent/JP2012178048A/en
Application granted granted Critical
Publication of JP5626011B2 publication Critical patent/JP5626011B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To perform accurate image collation regardless of the difference of photography conditions of an input image to be collated from photography conditions of a registered image in a program and an image processor.SOLUTION: This image processor includes: a pre-processing part for extracting a feature point with respect to each frame of input image data, and calculating an input feature vector on the basis of the extracted feature point; a storage part for registering a tree structure connected by sub-trees respectively having the feature vectors of the feature points of a detection object image as nodes and having a representative feature vector representing each category and the samples of the feature vectors as members, and clustered into classes of each detection object; a recognition part for performing matching of the input feature vectors with the class in the storage part in a first stage, and performing matching of the input feature vectors with each member in the class whose matching has been performed in a second stage, and outputting detection object data whose matching has been recognized.

Description

本発明は、プログラム及び画像処理装置に関する。   The present invention relates to a program and an image processing apparatus.

或る環境中に存在するランドマークの画像は、例えばこの環境中で移動するロボット等の装置の自己位置推定、環境認識等に利用することができる。このような場合、ランドマークのデータベースを事前に作成しておき、自己位置推定を行う際に装置のカメラが新たに撮影した画像中にデータベースに登録されているランドマークが存在するか否かを判定する。データベースを作成するには、例えば或る環境下での多数の画像を撮影し、各画像から角(又は、コーナ)、色等といった特徴点を検出する。そして、検出された特徴点がデータベースに登録されていない新たな特徴点であれば新たに登録する。一方、検出された特徴点がデータベースに既に登録されていれば、例えば検出された特徴点が属するカテゴリの代表的な特徴ベクトル(以下、代表特徴ベクトルと言う)を更新する。撮影された多数の画像から得た特徴ベクトルをクラスタリングすることで複数のクラスを生成し、各クラスに属するサンプル画像の特徴ベクトルを平均した特徴ベクトルを当該クラスの代表特徴ベクトルとすることができる。   An image of a landmark that exists in a certain environment can be used for self-position estimation, environment recognition, and the like of a device such as a robot that moves in the environment. In such a case, a landmark database is created in advance, and whether or not there is a landmark registered in the database in an image newly captured by the camera of the device when performing self-position estimation. judge. In order to create a database, for example, a large number of images under a certain environment are photographed, and feature points such as corners (or corners) and colors are detected from each image. If the detected feature point is a new feature point not registered in the database, it is newly registered. On the other hand, if the detected feature point is already registered in the database, for example, a representative feature vector of a category to which the detected feature point belongs (hereinafter referred to as a representative feature vector) is updated. A plurality of classes can be generated by clustering feature vectors obtained from a large number of captured images, and a feature vector obtained by averaging feature vectors of sample images belonging to each class can be used as a representative feature vector of the class.

撮影した画像を多数のサンプル画像の全てと照合するのには膨大な時間がかかる。これに対し、撮影した画像の特徴ベクトルをデータベースに登録された各代表特徴ベクトルと照合する場合、照合に要する時間を短縮できる。   It takes an enormous amount of time to collate a photographed image with all of many sample images. On the other hand, when the feature vector of the photographed image is collated with each representative feature vector registered in the database, the time required for collation can be shortened.

しかし、特徴ベクトルは、画像撮影の際のカメラの位置姿勢、照明等の変化にできるだけロバストであるように作成しても、これらの変化に完全に対応することはできない。例えば、データベースの作成時に用いた画像サンプルとは異なる時間帯で撮影した画像、或いは、データベースの作成時に用いた画像サンプルとは異なる視点から撮影した画像等からランドマークを検出しようとすると、ランドマークの誤検出が発生してしまう。つまり、データベースの作成時に用いた画像サンプルに対して、照明変化、視点の違い等により撮影された画像とデータベースに登録された画像サンプルとの照合結果に誤りが生じ、登録されているランドマークではない画像をランドマークであると誤って検出したり、登録されているランドマークの画像をランドマークであると正しく検出できない場合が発生してしまう。これは、同一物体を撮影した場合でも、照明変化、視点の違い、影の違い等の影響により、撮影された画像は若干異なり、同一物体に対する特徴ベクトルが異なることによる。   However, even if the feature vector is created so as to be as robust as possible to changes in the position and orientation of the camera at the time of image capturing, illumination, etc., it is not possible to completely cope with these changes. For example, if a landmark is detected from an image taken at a different time zone from the image sample used when creating the database, or an image taken from a different viewpoint than the image sample used when creating the database, False detection will occur. In other words, with respect to the image sample used at the time of creating the database, an error occurs in the collation result between the image sampled by the illumination change, the difference in viewpoint, etc. and the image sample registered in the database. In some cases, an unacceptable image is erroneously detected as a landmark, or a registered landmark image cannot be detected correctly as a landmark. This is because even when the same object is photographed, the photographed images are slightly different and the feature vectors for the same object are different due to the effects of illumination changes, viewpoint differences, shadow differences, and the like.

同一物体を撮影した画像から検出した特徴ベクトルが照明変化、視点の違い、影の違い等の影響により異なると、代表特徴ベクトルがぼけてしまう。このため、画像サンプルの数が多くなると、代表特徴ベクトルが本来同じカテゴリに属する特徴ベクトルを代表できなる可能性がある。   If the feature vector detected from an image of the same object is different due to the influence of illumination change, difference in viewpoint, difference in shadow, etc., the representative feature vector will be blurred. For this reason, when the number of image samples increases, there is a possibility that the representative feature vector can represent the feature vector originally belonging to the same category.

尚、照明変化、視点の違い、影の違い等により画像の照合時に発生する画像の誤検出の問題は、ランドマークの検出時に限らず、入力画像を登録済みの画像と照合する各種画像処理装置においても同様に発生する。   Note that the problem of image misdetection that occurs during image collation due to changes in illumination, differences in viewpoints, shadows, etc. is not limited to the detection of landmarks, but various image processing devices that collate input images with registered images. It occurs in the same way.

特開2000−285141号公報JP 2000-285141 A 特開2009−53842号公報JP 2009-53842 A 特開平9−294277号公報JP-A-9-294277 特開2009−245304号公報JP 2009-245304 A

従来の画像処理装置では、登録されている画像の撮影条件と照合する入力画像の撮影条件が異なると、画像の誤検出が発生してしまい、正確な画像照合を行うことは難しいという問題があった。   In the conventional image processing apparatus, if the shooting condition of the input image to be checked is different from the shooting condition of the registered image, an erroneous image detection occurs, and it is difficult to perform accurate image matching. It was.

そこで、本発明は、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことができるプログラム及び画像処理装置を提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a program and an image processing apparatus that can perform accurate image collation regardless of the difference in the photographing conditions of an input image to be collated with a registered image photographing condition.

本発明の一観点によれば、コンピュータに、画像データから検出対象を検出させるプログラムであって、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順を前記コンピュータに実行させることを特徴とするプログラムが提供される。   According to one aspect of the present invention, a program for causing a computer to detect a detection target from image data, wherein feature points are extracted for each frame of input image data, and features based on the extracted feature points A preprocessing procedure for calculating a vector and a feature vector of a feature point of a detection target image as a node, a representative feature vector representing the category for each category and a sample of the feature vector are connected by a subtree as a member and the detection target Access to the storage unit in which the tree structure clustered in each class is registered. In the first stage, the feature vector calculated in the pre-processing procedure is matched with the class in the storage unit. In the second stage, the matching is performed. Recognition that outputs data of detection target recognized as matching by matching with each member in the selected class A program characterized by executing the order the computer is provided.

本発明の一観点によれば、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする画像処理装置が提供される。   According to one aspect of the present invention, a feature point is extracted for each frame of input image data, a preprocessing unit that calculates an input feature vector based on the extracted feature point, and a feature point of a detection target image A memory in which a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member and a tree structure clustered in a class for each detection target is registered for each category. In the first stage, the input feature vector is matched with the class in the storage section, and in the second stage, each member in the matched class is matched and the detection target data recognized as matching is obtained. There is provided an image processing apparatus including a recognition unit for outputting.

開示のプログラム及び画像処理装置によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことができる。   According to the disclosed program and the image processing apparatus, accurate image matching can be performed regardless of the difference in the shooting conditions of the input image to be checked against the registered shooting conditions of the image.

本発明の一実施例における自律走行型のロボットの構成の一例を示す図である。It is a figure which shows an example of a structure of the autonomous running type robot in one Example of this invention. ロボットの遠隔操作を説明する図である。It is a figure explaining the remote control of a robot. データベースの作成方法を説明する機能ブロック図である。It is a functional block diagram explaining the creation method of a database. ランドマークDBの作成方法を説明するフローチャートである。It is a flowchart explaining the creation method of landmark DB. 特徴点の検出を説明する図である。It is a figure explaining the detection of a feature point. 特徴ベクトルと検出した特徴点との対応付けを説明する図である。It is a figure explaining matching with the feature vector and the detected feature point. 対応点リストの作成を説明する図である。It is a figure explaining preparation of a corresponding point list. ランドマークDB25に格納される木構造の一例を説明する図である。It is a figure explaining an example of the tree structure stored in landmark DB25. ランドマーク検出方法を説明する機能ブロック図である。It is a functional block diagram explaining a landmark detection method. 比較例における特徴ベクトルのサンプルの収集を説明する図である。It is a figure explaining collection of the sample of the feature vector in a comparative example. 比較例における収集した特徴ベクトルのクラスタリングを説明する図である。It is a figure explaining clustering of the collected feature vector in a comparative example. 比較例における平均ベクトルの計算を説明する図である。It is a figure explaining calculation of the average vector in a comparative example. 比較例におけるKD木の生成を説明する図である。It is a figure explaining the production | generation of KD tree in a comparative example. 比較例における照明の変化と撮影地点による検出性能への影響を説明する図である。It is a figure explaining the influence on the detection performance by the change of the illumination in a comparative example, and a shooting location. 実施例における照明の変化と撮影地点による検出性能への影響を説明する図である。It is a figure explaining the influence on the detection performance by the change of the illumination in an Example, and a shooting location. 比較例における各フレームでのランドマークの検出数を説明する図である。It is a figure explaining the detection number of the landmark in each frame in a comparative example. 実施例における各フレームでのランドマークの検出数を説明する図である。It is a figure explaining the detection number of the landmark in each flame | frame in an Example. 図16の比較例のランドマーク検出結果を示すヒストグラムである。It is a histogram which shows the landmark detection result of the comparative example of FIG. 図17の実施例のランドマーク検出結果を示すヒストグラムである。It is a histogram which shows the landmark detection result of the Example of FIG. 図18及び図19のヒストグラムを表形式で示す図である。It is a figure which shows the histogram of FIG.18 and FIG.19 in a table format.

開示のプログラム及び画像処理装置では、前処理で、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する。記憶部には、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録されている。認識処理の第1段階では入力特徴ベクトルと記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する。   In the disclosed program and the image processing apparatus, feature points are extracted for each frame of the input image data in the preprocessing, and an input feature vector is calculated based on the extracted feature points. In the storage unit, the feature vector of the feature point of the detection target image is a node, and for each category, a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member, and the class for each detection target is set. A clustered tree structure is registered. In the first stage of the recognition process, matching is performed between the input feature vector and the class in the storage unit, and in the second stage, matching is performed with each member in the matched class, and the detection target data recognized as matching is output. .

第1の段階及び第2の段階の2段階で検出対象を検出することで、検出対象の検出時の誤りと見逃しを軽減することができる。   By detecting the detection target in the first stage and the second stage, it is possible to reduce errors and oversights when detecting the detection target.

以下に、開示のプログラム及び画像処理装置の各実施例を図面と共に説明する。   Hereinafter, embodiments of the disclosed program and the image processing apparatus will be described with reference to the drawings.

(ロボットシステムの構成)
図1は、本発明の一実施例における自律走行型のロボットの構成の一例を示す図である。ロボット1は、ナビゲーションCPU(Central Processing Unit)11、走行制御CPU12、台車13、センサ部14、入出力部15、及び記憶部16を有する。入出力部15は、利用者がロボット1に情報やコマンドを入力する入力部(図示せず)と、ロボット1から利用者へ情報を出力する出力部(図示せず)を含む。入力部は、例えばキーボード等の操作部、マイクロホン等を含む。一方、出力部は、表示部、スピーカ等を含む。CPU11,12は、単一の計算機(又は、コンピュータ)を形成しても、別々の計算機(又は、コンピュータ)を形成しても良い。尚、ロボット1には、周知の構成を有し周知の動作を行うロボットアーム(図示せず)や、外部のサーバ(図示せず)等と通信するためのアンテナや送受信部を含む通信部(図示せず)を更に有しても良い。
(Robot system configuration)
FIG. 1 is a diagram showing an example of the configuration of an autonomously traveling robot in one embodiment of the present invention. The robot 1 includes a navigation CPU (Central Processing Unit) 11, a travel control CPU 12, a carriage 13, a sensor unit 14, an input / output unit 15, and a storage unit 16. The input / output unit 15 includes an input unit (not shown) for inputting information and commands to the robot 1 by the user and an output unit (not shown) for outputting information from the robot 1 to the user. The input unit includes, for example, an operation unit such as a keyboard, a microphone, and the like. On the other hand, the output unit includes a display unit, a speaker, and the like. The CPUs 11 and 12 may form a single computer (or computer) or separate computers (or computers). The robot 1 has a known configuration and a robot arm (not shown) that performs a known operation, a communication unit including an antenna and a transmission / reception unit for communicating with an external server (not shown), and the like. (Not shown).

記憶部16は、CPU11,12が実行するプログラムを含む各種プログラム、及びCPU11,12が実行する演算の中間データ、静的地図及び非静的地図のデータ等を含む各種データを格納する。記憶部16は、コンピュータ読み取り可能な記憶媒体により形成可能である。コンピュータ読み取り可能な記憶媒体は、一例として、磁気記録媒体、光記録媒体、光磁気記録媒体、ディスクを記録媒体として用いるディスク装置、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む半導体記憶装置等を含む。ディスクを記録媒体として用いるディスク装置には、例えばHDD(Hard Disk Drive)が使用可能である。又、記憶部16は、複数の記憶装置で形成されていても良く、この場合、アクセス速度の異なる記憶装置を含んでも良い。   The storage unit 16 stores various programs including programs executed by the CPUs 11 and 12, and various data including intermediate data of operations executed by the CPUs 11 and 12, static map and non-static map data, and the like. The storage unit 16 can be formed by a computer-readable storage medium. Examples of the computer-readable storage medium include a magnetic recording medium, an optical recording medium, a magneto-optical recording medium, a disk device using a disk as a recording medium, a RAM (Random Access Memory), a ROM (Read Only Memory), and other semiconductors. Including storage devices. For example, an HDD (Hard Disk Drive) can be used for a disk device that uses a disk as a recording medium. The storage unit 16 may be formed of a plurality of storage devices, and in this case, may include storage devices having different access speeds.

台車13は、ジャイロセンサ131、センサ・エンコーダ132、モータ133、及び車輪134を有する。ジャイロセンサ131は、車輪134の回転量を計測して走行制御CPU12に出力し、センサ・エンコーダ132は、車輪134の回転数を検出して走行制御CPU12に出力する。ジャイロセンサ131及びセンサ・エンコーダ132は、内的センサを形成する。モータ133は、走行制御CPU12からのコマンドに基づいて車輪134を直接、或いは、ギア機構(図示せず)を介して回転する。モータ133は、複数設けられていても良く、台車13の移動方向を決めるステアリング部(図示せず)を駆動しても良い。モータ133、ギア機構、及びステアリング部等は、ロボット1の走行を制御する走行制御系を形成する。   The carriage 13 includes a gyro sensor 131, a sensor / encoder 132, a motor 133, and wheels 134. The gyro sensor 131 measures the rotation amount of the wheel 134 and outputs it to the travel control CPU 12, and the sensor / encoder 132 detects the rotation speed of the wheel 134 and outputs it to the travel control CPU 12. The gyro sensor 131 and the sensor encoder 132 form an internal sensor. The motor 133 rotates the wheels 134 directly or via a gear mechanism (not shown) based on a command from the travel control CPU 12. A plurality of motors 133 may be provided, and a steering unit (not shown) that determines the moving direction of the carriage 13 may be driven. The motor 133, the gear mechanism, the steering unit, and the like form a travel control system that controls the travel of the robot 1.

走行制御CPU12は、台車13の移動を制御して例えばナビゲーションCPU11により指示された目標経路を追従させたり、台車13内のジャイロセンサ131の出力情報及びセンサ・エンコーダ132の出力情報に基づいて台車13、即ち、ロボット1の姿勢と現在位置を推定する。   The traveling control CPU 12 controls the movement of the carriage 13 to follow, for example, the target route instructed by the navigation CPU 11, or based on the output information of the gyro sensor 131 and the output information of the sensor / encoder 132 in the carriage 13. That is, the posture and current position of the robot 1 are estimated.

センサ部14は、カメラ141及び距離センサ142を有する。カメラ141は、例えば撮影画像から周知の方法で視覚的ランドマークを抽出してロボット1の3次元位置を計測するステレオカメラで形成可能である。距離センサ142は、周囲環境への距離を周知の方法で計測する例えばLRF等の計測装置で形成可能である。カメラ141及び距離センサ142は、外的センサを形成する。   The sensor unit 14 includes a camera 141 and a distance sensor 142. The camera 141 can be formed by, for example, a stereo camera that extracts a visual landmark from a captured image and measures the three-dimensional position of the robot 1. The distance sensor 142 can be formed by a measuring device such as an LRF that measures the distance to the surrounding environment by a known method. The camera 141 and the distance sensor 142 form an external sensor.

ナビゲーションCPU11は、内的センサ(ジャイロセンサ131、センサ・エンコーダ132)及び外的センサ(カメラ141及び距離センサ142)の出力情報に基づいて、ロボット1の現在位置を推定する。又、ナビゲーションCPU11は、推定したロボット1の現在位置に基づいて、ロボット1の移動を計画する。   The navigation CPU 11 estimates the current position of the robot 1 based on output information from the internal sensors (the gyro sensor 131 and the sensor / encoder 132) and the external sensors (the camera 141 and the distance sensor 142). Further, the navigation CPU 11 plans the movement of the robot 1 based on the estimated current position of the robot 1.

位置推定装置は、図1に示す如きハードウェア構成を有するロボット1のナビゲーションCPU11、即ち、ナビゲーション部の一部として搭載されていても良く、ロボット1が自律移動を行う際に自己位置推定を行う。   The position estimation device may be mounted as a part of the navigation CPU 11 of the robot 1 having the hardware configuration shown in FIG. 1, that is, the navigation unit, and performs self-position estimation when the robot 1 performs autonomous movement. .

図2は、ロボットの遠隔操作を説明する図である。ロボット1は、図2に示すように、サーバ(又はセンタ)901と通信可能な構成を有し、サーバ901からサービスの提供タイミング等を遠隔操作により制御されるものであっても良い。サーバ901は、メモリ902、通信部903、及びCPU904を有する。サーバ901は、オペレータがサーバ901に情報やコマンドを入力する入力部(図示せず)と、サーバ901からオペレータへ情報を出力する出力部(図示せず)を含んでも良い。この場合、入力部は、例えばキーボード等の操作部で形成可能であり、出力部は、表示部等で形成可能である。図2では、説明の便宜上、ロボット1内の通信部801以外の部分の図示は省略するが、通信部801は例えば図1に示すナビゲーションCPU11及び走行制御CPU12の少なくとも一方に接続されている。   FIG. 2 is a diagram for explaining remote operation of the robot. As shown in FIG. 2, the robot 1 may have a configuration capable of communicating with a server (or center) 901, and the service provision timing and the like may be controlled from the server 901 by remote operation. The server 901 includes a memory 902, a communication unit 903, and a CPU 904. The server 901 may include an input unit (not shown) through which an operator inputs information and commands to the server 901 and an output unit (not shown) through which information is output from the server 901 to the operator. In this case, the input unit can be formed by an operation unit such as a keyboard, and the output unit can be formed by a display unit or the like. In FIG. 2, for convenience of explanation, illustration of portions other than the communication unit 801 in the robot 1 is omitted, but the communication unit 801 is connected to, for example, at least one of the navigation CPU 11 and the travel control CPU 12 illustrated in FIG. 1.

上記の例では、ロボット1が自己位置推定に用いる各種データがロボット1内の記憶部16に格納されているものとしたが、少なくともデータの一部をロボット1の制御及び管理を司るサーバ901内の記憶部902に格納しても良い。この場合、ロボット1の通信部801は、例えば無線ネットワーク911を介してサーバ901の通信部903と通信することで、自己位置推定に用いる各種データを取得すれば良い。サーバ901内の記憶部902に格納可能なデータには、ランドマークのデータベース(以下、ランドマークDB(Data-Base)に登録されるデータの他、ロボット1の記憶部16に格納されるデータを含んでも良い。又、図1に示すナビゲーションCPU11の機能の少なくとも一部、或いは、走行制御CPU12の機能の少なくとも一部をサーバ901側で実現するようにしても良い。自己位置推定に用いる各種データの少なくとも一部をサーバ901側に格納することで、ロボット1内で必要となる記憶容量を減らし、ロボット1内で必要となるデータ管理の負荷を低減可能となる。   In the above example, various data used by the robot 1 for self-position estimation are stored in the storage unit 16 in the robot 1, but at least a part of the data is stored in the server 901 that controls and manages the robot 1. May be stored in the storage unit 902. In this case, the communication unit 801 of the robot 1 may acquire various data used for self-position estimation by communicating with the communication unit 903 of the server 901 via the wireless network 911, for example. Data that can be stored in the storage unit 902 in the server 901 includes data stored in the storage unit 16 of the robot 1 in addition to data registered in a landmark database (hereinafter referred to as a landmark DB (Data-Base)). In addition, at least a part of the function of the navigation CPU 11 shown in Fig. 1 or at least a part of the function of the travel control CPU 12 may be realized on the server 901. Various data used for self-position estimation By storing at least a part of the data on the server 901 side, the storage capacity required in the robot 1 can be reduced, and the data management load required in the robot 1 can be reduced.

サーバ901は、画像処理装置の一例である。しかし、ロボット1内で上記サーバ901の処理を実行する場合には、ロボット1が画像処理装置を形成する。この場合、ロボット1は自律走行型に限定されず、固定型であっても良い。これは、ロボットが固定型であっても、例えば屋外に設置されていれば撮影条件が時間と共に変化するからである。   The server 901 is an example of an image processing apparatus. However, when the processing of the server 901 is executed in the robot 1, the robot 1 forms an image processing apparatus. In this case, the robot 1 is not limited to the autonomous traveling type, and may be a fixed type. This is because even if the robot is a fixed type, for example, if it is installed outdoors, the shooting conditions change with time.

(データベースの作成)
先ず、本発明の一実施例における画像処理装置で用いるデータベースの作成方法について、図3と共に説明する。図3は、データベースの作成方法、即ち、データベースへのデータ登録時の動作を説明する機能ブロック図である。図3に示す機能ブロックの処理は、CPU等のプロセッサと記憶部を含む汎用のコンピュータにより実行可能である。この例では、説明の便宜上、図3に示す機能ブロックの処理は、図2に示すサーバ901のCPU904により実行されるものとする。
(Create database)
First, a method for creating a database used in the image processing apparatus according to an embodiment of the present invention will be described with reference to FIG. FIG. 3 is a functional block diagram for explaining a database creation method, that is, an operation when registering data in the database. The processing of the functional blocks shown in FIG. 3 can be executed by a general-purpose computer including a processor such as a CPU and a storage unit. In this example, for convenience of explanation, it is assumed that the processing of the functional blocks shown in FIG. 3 is executed by the CPU 904 of the server 901 shown in FIG.

図3において、入力部21は、例えばロボット1のカメラ141で撮影された画像データ(又は、画像系列)を通信部903を介して入力する。画像データは、例えば動画像データである。前処理部22は、画像データの各フレームに対して、特徴点を周知の手法で抽出する特徴点抽出部221と、抽出した特徴点に基づいて周知の手法で特徴ベクトルを算出する算出部222を有する。   In FIG. 3, for example, the input unit 21 inputs image data (or an image series) captured by the camera 141 of the robot 1 via the communication unit 903. The image data is, for example, moving image data. The pre-processing unit 22 extracts a feature point for each frame of the image data by a known method, and a calculation unit 222 calculates a feature vector by a known method based on the extracted feature point. Have

SIFT(Scale-Invariant Feature Transform)は、検出した特徴点に対して、画像の回転、スケール変化、照明変化等に対してロバストな特徴量を記述する、特徴点の検出と特徴量の記述を行う周知のアルゴリズムである。以下の説明では、説明の便宜上、検出される特徴点はSIFTに従って検出されたSIFT特徴点であるものとするが、特徴点はSIFT特徴点に限定されないことは言うまでもない。特徴ベクトルにSIFTを使用した場合、特徴ベクトルの長さは例えば128次元に設定しても良い。この場合、特徴ベクトルの各値を0〜255の区間に正規化すると、例えば特徴ベクトルV1は [0,12,53,2,3,12,54,…]、特徴ベクトルV2は[76,4,2,6,22,12,67,34,123,…]の如き表現が可能となる。   SIFT (Scale-Invariant Feature Transform) describes feature points that are robust to image feature rotations, scale changes, illumination changes, etc., and detects feature points. This is a well-known algorithm. In the following description, for convenience of explanation, it is assumed that the detected feature point is a SIFT feature point detected according to SIFT, but it goes without saying that the feature point is not limited to the SIFT feature point. When SIFT is used for the feature vector, the length of the feature vector may be set to 128 dimensions, for example. In this case, when each value of the feature vector is normalized to a range of 0 to 255, for example, the feature vector V1 is [0,12,53,2,3,12,54, ...], and the feature vector V2 is [76,4 , 2,6,22,12,67,34,123, ...] is possible.

特徴ベクトル処理部23は、特徴ベクトルバッファ部231、フレーム間特徴点のマッチング(又は、照合)部232、及びID取得部233を有する。特徴ベクトルバッファ部231は、前処理部22で算出された特徴ベクトルをバッファリングし、例えば時刻t−2,t−1,tにおけるフレームの特徴ベクトルがバッファリングされて例えば記憶部902に格納される。尚、バッファリングされる特徴ベクトルは、少なくとも時刻t−1,tにおけるフレームの特徴ベクトルであれば良い。マッチング部232は、時刻tにおける最新(即ち、現在の)フレームの特徴点が時刻t−1における直前フレームの特徴点とマッチ(即ち、一致)するか否かを判定し、マッチした特徴点とマッチしなかった特徴点に分類する。ID取得部233は、マッチした特徴点については時刻t−1における直前フレームの特徴点のID番号(即ち、ランドマークを識別するIDの値)を継承させ、マッチしなかった特徴点についてはランドマークDB25に登録されている特徴点とマッチする特徴点とランドマークDB25に登録されている特徴点とマッチしなかった特徴点に更に分類する。ランドマークDB25は、例えばサーバ901の記憶部902に格納しても良い。   The feature vector processing unit 23 includes a feature vector buffer unit 231, an inter-frame feature point matching (or matching) unit 232, and an ID acquisition unit 233. The feature vector buffer unit 231 buffers the feature vector calculated by the preprocessing unit 22, and for example, the feature vector of the frame at time t-2, t-1, t is buffered and stored in the storage unit 902, for example. The The feature vector to be buffered may be a feature vector of a frame at least at times t-1 and t. The matching unit 232 determines whether or not the feature point of the latest (ie, current) frame at time t matches (ie, matches) the feature point of the immediately preceding frame at time t−1. Classify the feature points that did not match. The ID acquisition unit 233 inherits the ID number of the feature point of the immediately preceding frame at the time t−1 (that is, the ID value for identifying the landmark) for the matched feature point, and the land for the feature point that did not match. Further classification is made into feature points that match feature points registered in the mark DB 25 and feature points that do not match feature points registered in the landmark DB 25. The landmark DB 25 may be stored in the storage unit 902 of the server 901, for example.

DB処理部(又は、DB更新部)24は、時刻t−1における直前フレームの特徴点とマッチした特徴点、或いは、ランドマークDB25に登録されている特徴点とマッチした特徴点の特徴ベクトルをサンプルとしてランドマークの木構造(以下、ランドマークツリーとも言う)のサブツリーに登録する。ランドマークツリーは、複数のクラスを階層的に管理するものであり、サブツリーは、クラス内のメンバー(即ち、クラスを形成するメンバー)を階層的に管理するものである。木構造は、メンバーの検索又はメンバーに対する処理を効率良く行って処理時間を短縮するのに好適である。一方、DB処理部24は、ランドマークDB25に登録されている特徴点とマッチしなかった特徴点の特徴ベクトルを新しいクラスの代表としてクラスを生成すると共に、これと同時に特徴ベクトルをサンプルとしてランドマークツリーのサブツリーを作成する。更に、DB処理部24では、サンプルが登録されたサブツリー、或いは、作成されたサブツリーに基づいて、ランドマークツリーの木構造の更新又は最適化を行い、更新又は最適化された木構造のランドマークツリーはランドマークDB25に格納される。   The DB processing unit (or DB updating unit) 24 obtains the feature point that matches the feature point of the immediately preceding frame at time t−1 or the feature vector of the feature point that matches the feature point registered in the landmark DB 25. A sample is registered in a subtree of a landmark tree structure (hereinafter also referred to as a landmark tree). The landmark tree is used to hierarchically manage a plurality of classes, and the subtree is used to hierarchically manage members in the class (that is, members forming the class). The tree structure is suitable for reducing the processing time by efficiently searching for members or processing members. On the other hand, the DB processing unit 24 generates a class with the feature vector of the feature point that does not match the feature point registered in the landmark DB 25 as a representative of the new class, and at the same time uses the feature vector as a sample as a landmark. Create a subtree of the tree. Further, the DB processing unit 24 updates or optimizes the tree structure of the landmark tree based on the subtree in which the sample is registered or the created subtree, and the updated or optimized tree structure landmark. The tree is stored in the landmark DB 25.

図4は、ランドマークDBの作成方法を説明するフローチャートである。図4において、ステップS1では、ステレオカメラ141からの画像系列の全ての画像の処理が完了したか否かを判定し、判定結果がNOであると処理はステップS2へ進み、判定結果がYESであると処理はステップS6へ進む。ステップS2では、ステレオカメラ141からの画像系列を入力部21に入力する。ステップS3では、前処理部22の特徴点抽出部221が入力部21を介して入力されるステレオカメラ141からの画像系列のうち、例えば右カメラ画像(又は、左カメラ画像)に対して特徴点抽出を行い、特徴ベクトル算出部222が抽出した特徴点の周囲領域の輝度分布特徴から特徴ベクトルを計算する。ステップS4では、特徴ベクトル処理部23の特徴ベクトルバッファ部231が特徴ベクトル算出部222から供給される特徴ベクトルをバッファリングし、マッチング部232がバッファリングされた特徴ベクトルに基づいてフレーム間の特徴点を追跡、即ち、マッチングを行う。ステップS5では、マッチング部232が未処理の特徴点数を、処理中のフレームの特徴点数に設定する。ステップS7では、マッチング232が未処理特徴点数が0であるか否かを判定し、判定結果がYESであると処理は後述するステップS16へ進み、判定結果がNOであると処理はステップS8へ進む。   FIG. 4 is a flowchart for explaining a landmark DB creation method. In FIG. 4, in step S <b> 1, it is determined whether or not all the images in the image series from the stereo camera 141 have been processed. If the determination result is NO, the process proceeds to step S <b> 2 and the determination result is YES. If so, the process proceeds to step S6. In step S <b> 2, the image series from the stereo camera 141 is input to the input unit 21. In step S <b> 3, a feature point for a right camera image (or a left camera image), for example, among image sequences from the stereo camera 141 input by the feature point extraction unit 221 of the preprocessing unit 22 through the input unit 21. Extraction is performed, and a feature vector is calculated from the luminance distribution features of the surrounding area of the feature points extracted by the feature vector calculation unit 222. In step S4, the feature vector buffer unit 231 of the feature vector processing unit 23 buffers the feature vector supplied from the feature vector calculation unit 222, and the matching unit 232 performs feature points between frames based on the buffered feature vector. Are tracked, that is, matched. In step S5, the matching unit 232 sets the number of unprocessed feature points to the number of feature points of the frame being processed. In step S7, the matching 232 determines whether or not the number of unprocessed feature points is 0. If the determination result is YES, the process proceeds to step S16 described later, and if the determination result is NO, the process proceeds to step S8. move on.

ステップS8では、マッチング部232が未処理の特徴点を選択する。ステップS9では、特徴ベクトル処理部23のID取得部233が追跡長さ(又は、距離)が一定の閾値以上であるか否かを判定し、判定結果がYESであると処理はステップS10へ進み、判定結果がNOであると処理は後述するステップS16へ進む。ステップS10では、ID取得部233が直前フレームでの対応特徴点がID番号を有するか否かを判定し、判定結果がYESであると処理はステップS13へ進み、判定結果がNOであると処理はステップS11へ進む。ステップS11では、ID取得部233がステップS10において直前フレームでの対応特徴点が有すると判定されたID番号と一致するID番号をランドマークDB25内で検索する。ステップS12では、ID取得部233が一致するID番号が検索されたか否かを判定する。一致するID番号が検索されてステップS12の判定結果がYESであると処理はステップS14へ進み、一致するID番号が検索されず(NULL)ステップS12の判定結果がNOであると処理はステップS13へ進む。   In step S8, the matching unit 232 selects unprocessed feature points. In step S9, the ID acquisition unit 233 of the feature vector processing unit 23 determines whether the tracking length (or distance) is greater than or equal to a certain threshold value. If the determination result is YES, the process proceeds to step S10. If the determination result is NO, the process proceeds to step S16 described later. In step S10, the ID acquisition unit 233 determines whether the corresponding feature point in the immediately preceding frame has an ID number. If the determination result is YES, the process proceeds to step S13, and if the determination result is NO, the process Advances to step S11. In step S11, the ID acquisition unit 233 searches the landmark DB 25 for an ID number that matches the ID number determined to have the corresponding feature point in the immediately preceding frame in step S10. In step S12, the ID acquisition unit 233 determines whether a matching ID number has been searched. If a matching ID number is retrieved and the determination result in step S12 is YES, the process proceeds to step S14. If a matching ID number is not retrieved (NULL), the process proceeds to step S13 if the determination result in step S12 is NO. Proceed to

ステップS13では、DB処理部24が一致するID番号がランドマークDB25に登録されていない特徴点の特徴ベクトルをランドマークDB25内の該当するクラスのランドマークツリー中の該当するカテゴリのサブツリーに追加し、処理はステップS15へ進む。例えば、クラスは検出対象となるランドマークに対応し、各カテゴリは当該カテゴリが属するクラス、即ち、ランドマークを形成する特徴部分に相当する。ランドマークを形成する特徴部分には、例えば右角、左角、色等の情報が含まれる。ステップS14では、DB処理部24が一致するID番号を有する特徴点の特徴ベクトルをランドマークDB25内の該当するクラスのランドマークツリー中の該当するカテゴリのサブツリーに追加登録する。ステップS15では、特徴ベクトル処理部23のマッチング部232が未処理の特徴点数を1だけデクリメントし、処理はステップS7へ戻る。   In step S13, the feature vector of the feature point whose matching ID number is not registered in the landmark DB 25 is added to the sub-tree of the corresponding category in the landmark tree of the corresponding class in the landmark DB 25. The process proceeds to step S15. For example, a class corresponds to a landmark to be detected, and each category corresponds to a class to which the category belongs, that is, a characteristic part that forms a landmark. The characteristic part forming the landmark includes information such as a right corner, a left corner, and a color. In step S14, the feature processing vector of the feature point having the matching ID number is additionally registered in the subtree of the corresponding category in the landmark tree of the corresponding class in the landmark DB 25 by the DB processing unit 24. In step S15, the matching unit 232 of the feature vector processing unit 23 decrements the number of unprocessed feature points by 1, and the process returns to step S7.

ステップS16では、DB処理部24がサンプルが登録されたサブツリー、或いは、作成されたサブツリーに基づいて、ランドマークツリーの木構造の更新又は最適化を行い、処理はステップS1へ戻る。ステップS7の判定結果がYESになると、ステップS6では、DB処理部24が更新又は最適化された木構造のランドマークツリーを保存するためにランドマークDB25に格納し、処理は終了する。   In step S16, the DB processing unit 24 updates or optimizes the tree structure of the landmark tree based on the subtree in which the sample is registered or the created subtree, and the process returns to step S1. If the determination result in step S7 is YES, in step S6, the DB processing unit 24 stores the updated or optimized tree-structured landmark tree in the landmark DB 25, and the process ends.

本実施例におけるランドマークDB25への登録手順をより詳細に説明すると、次のようになる。ステップS31では、図5に示すようにフレーム0のフレーム画像Iにおいて特徴点pを検出し、特徴ベクトルを作成する。ステップS32では、図6に示すようにフレームm(m>0)において特徴pを検出して特徴ベクトルを作成し、フレームm−1で検出した特徴点pm−1との対応付けを行って図7に示す如き対応点リストを作成すると共に、対応点リストの長さcを記憶する。ステップS33では、フレームM(M>m>0)まで、ステップS32の処理を続ける。ステップS34では、フレームMの全ての特徴点pをスキャンする。 The registration procedure to the landmark DB 25 in this embodiment will be described in detail as follows. In step S31, as shown in FIG. 5, the feature point p is detected in the frame image I0 of frame 0 , and a feature vector is created. In step S32, performing the association, wherein p m detects create a feature vector, the feature point p m-1 detected in frame m-1 in frame m (m> 0) as shown in FIG. 6 Then, a corresponding point list as shown in FIG. 7 is created and the length c of the corresponding point list is stored. In step S33, the process of step S32 is continued until frame M (M>m> 0). In step S34, all feature points pM of the frame M are scanned.

ステップS35では、フレームMの全ての特徴点pのスキャンが完了した後、ランドマークDB25を最適化する。ステップS36では、フレームn(n=M+j,j>0)において、ステップS32と同様の処理を、mをnに変更して行う。ステップS37では、フレームnの全ての特徴点リストをスキャンして、以下に説明する処理P1と処理P2を行う。 At step S35, after all the feature points p M scan frame M is completed, optimizing the landmark DB 25. In step S36, in frame n (n = M + j, j> 0), the same processing as in step S32 is performed by changing m to n. In step S37, all feature point lists of frame n are scanned, and processing P1 and processing P2 described below are performed.

ステップS38では、フレームnの全ての特徴点pのスキャンが完了した後、ランドマークDB25を最適化する。ステップS39では、最終フレームNまでステップS36,S37,S38を行う。ステップS40では、ランドマークDB25の内容を記憶部902に保存して、処理は終了する。 At step S38, the after all of the feature point p n scanning frame n has been completed, to optimize the landmark DB 25. In step S39, steps S36, S37, and S38 are performed up to the final frame N. In step S40, the contents of the landmark DB 25 are stored in the storage unit 902, and the process ends.

ステップS38におけるランドマークDB25の最適化は、例えば次のように行うことができる。先ず、ランドマークDB25に格納されているランドマークツリーの各ノードiに対して、ステップS38−1〜S38−4を実行する。ステップS38−1は、ノードiの特徴ベクトルwを次式から計算する。ここで、Kはサブツリー(SD)のノード数を表す。 The optimization of the landmark DB 25 in step S38 can be performed as follows, for example. First, Steps S38-1 to S38-4 are executed for each node i of the landmark tree stored in the landmark DB 25. In step S38-1, the feature vector w i of the node i is calculated from the following equation. Here, K i represents the number of nodes of the subtree (SD) i .

ステップS38−2は、サブツリー(SD)中で特徴ベクトルwとの距離Lが所定値以上のメンバーを削除する。ステップS38−3は、ステップS38−1を再度実行し、ステップS38−4は、サブツリー(SD)の構造を最適化、即ち、サブツリー(SD)の木構造の再構成を行う。次に、ランドマークDB25に格納されているランドマークツリーの木構造を最適化、即ち、ランドマークツリーの木構造の再構成を行う。 Step S38-2, the distance L 2 between the feature vector w i in the subtree (SD) i to remove a member of more than a predetermined value. In step S38-3, step S38-1 is executed again, and in step S38-4, the structure of the subtree (SD) i is optimized, that is, the tree structure of the subtree (SD) i is reconfigured. Next, the tree structure of the landmark tree stored in the landmark DB 25 is optimized, that is, the tree structure of the landmark tree is reconfigured.

尚、ステップS12におけるID番号の検索(search)は、例えば次のように行うことができる。   The search for the ID number in step S12 can be performed as follows, for example.

図8は、ランドマークDB25に格納されるランドマークツリーの木構造の一例を説明する図である。図8において、右側にランドマークDB25全体のランドマークツリーの木構造を示し、左側にこの木構造の一部分を拡大して示す。図8の左側に示す木構造の部分は、ランドマークの1番目のカテゴリC1に関するサブツリーLMC1、ランドマークの2番目のカテゴリC2に関するサブツリーLMC2、ランドマークの3番目のカテゴリC3に関するサブツリーLMC3を有する。STは、サブツリーLMC1を形成する特徴ベクトルのサンプルを示し、FRは、サブツリーLMC1中の代表特徴ベクトルを太線で囲んで示す。サブツリーLMC2,LMC3中の代表特徴ベクトルも同様に、太線で囲んで示す。   FIG. 8 is a diagram for explaining an example of the tree structure of the landmark tree stored in the landmark DB 25. In FIG. 8, the tree structure of the entire landmark DB 25 is shown on the right side, and a part of this tree structure is enlarged on the left side. 8 includes a subtree LMC1 related to the first category C1 of the landmark, a subtree LMC2 related to the second category C2 of the landmark, and a subtree LMC3 related to the third category C3 of the landmark. ST indicates a sample of feature vectors forming the subtree LMC1, and FR indicates a representative feature vector in the subtree LMC1 surrounded by a bold line. Similarly, the representative feature vectors in the subtrees LMC2 and LMC3 are also shown surrounded by thick lines.

(ランドマークの検出)
次に、本発明の一実施例における画像処理装置で行うランドマーク検出方法について、図9と共に説明する。図9は、ランドマーク検出方法を説明する機能ブロック図である。図9中、図3と同一部分には同一符号を付し、その説明は省略する。図9に示す機能ブロックの処理は、サーバ901又はロボット1により実行可能である。この例では、説明の便宜上、図9に示す入力部21、前処理部22、ランドマークID認識部27、及び空間3次元位置測定部28の処理は、図2に示すサーバ901のCPU904により実行されるものとする。
(Landmark detection)
Next, a landmark detection method performed by the image processing apparatus according to an embodiment of the present invention will be described with reference to FIG. FIG. 9 is a functional block diagram illustrating a landmark detection method. 9, parts that are the same as those shown in FIG. 3 are given the same reference numerals, and explanation thereof is omitted. The processing of the functional blocks shown in FIG. 9 can be executed by the server 901 or the robot 1. In this example, for the convenience of explanation, the processing of the input unit 21, the preprocessing unit 22, the landmark ID recognition unit 27, and the spatial three-dimensional position measurement unit 28 shown in FIG. 9 is executed by the CPU 904 of the server 901 shown in FIG. Shall be.

図9に示すように、前処理部22Aは、特徴点抽出部221及び特徴ベクトル算出部222に加え、特徴点座標記憶部223を有する。ランドマークID認識部27は、特徴ベクトルバッファ部231、フレーム間特徴点のマッチング部232、ID取得部233、及びIDリスト出力部234を有する。この例では、ランドマークDB25がランドマークID認識部27内に設けられているが、ランドマークDB25の配置は図3からもわかるように特に限定されず、サーバ901のCPU904からアクセス可能に設けられていれば良い。   As illustrated in FIG. 9, the preprocessing unit 22A includes a feature point coordinate storage unit 223 in addition to the feature point extraction unit 221 and the feature vector calculation unit 222. The landmark ID recognition unit 27 includes a feature vector buffer unit 231, an inter-frame feature point matching unit 232, an ID acquisition unit 233, and an ID list output unit 234. In this example, the landmark DB 25 is provided in the landmark ID recognition unit 27, but the arrangement of the landmark DB 25 is not particularly limited as can be seen from FIG. 3 and is provided so as to be accessible from the CPU 904 of the server 901. It should be.

特徴点座標記憶部223は、カメラ141からの画像上の特徴点の座標を記憶部902に記憶し、空間3次元位置測定部28に供給する。空間3次元位置測定部28は、カメラ141の座標系における特徴点の空間3次元位置を測定する。   The feature point coordinate storage unit 223 stores the coordinates of the feature points on the image from the camera 141 in the storage unit 902 and supplies them to the spatial three-dimensional position measurement unit 28. The spatial three-dimensional position measurement unit 28 measures the spatial three-dimensional position of the feature point in the coordinate system of the camera 141.

一方、ロボット1のナビゲーションCPU11は、空間位置検索部111、計測値予測部112、仮説評価部113、仮説群生成部114、選択部115、ロボット位置姿勢推定部116、及び移動経路計画部117を有する。記憶部16には、ランドマークの空間位置のデータベース、即ち、ランドマーク地図が格納されている。   On the other hand, the navigation CPU 11 of the robot 1 includes a spatial position search unit 111, a measurement value prediction unit 112, a hypothesis evaluation unit 113, a hypothesis group generation unit 114, a selection unit 115, a robot position / posture estimation unit 116, and a movement path planning unit 117. Have. The storage unit 16 stores a database of landmark spatial positions, that is, a landmark map.

空間位置検索部111は、ID番号でランドマークのワールド座標系(Word Coordinate System)又はグローバル座標系(Global Coordinate System)における空間位置を検索する。計測値予測部112は、空間位置をカメラ141の座標系、即ち、ローカル座標系(Local Coordinate System)或いはボディ座標系(Body Coordinate System)へ変換してID番号のランドマークをカメラ141で計測した場合の計測値を予測する。仮説評価部113は、各仮説の長さを評価し、ランドマークに対する実測値と予測値との差から尤度を計算する。仮説群生成部114は、ロボット位置(又は、カメラ位置姿勢)の仮説群を生成する。選択部115は、評価するべき任意の仮説(例えば、カメラ位置姿勢)を選択する。ロボット位置姿勢推定部116は、最良仮説、即ち、推定したロボット1の真の位置姿勢を求める。移動経路計画部117は、ロボット1が移動するべき移動経路を計画する。   The spatial position search unit 111 searches for the spatial position of the landmark in the world coordinate system or the global coordinate system using the ID number. The measured value prediction unit 112 converts the spatial position into the coordinate system of the camera 141, that is, the local coordinate system or the body coordinate system, and measures the landmark of the ID number with the camera 141. Predict the measured value of the case. The hypothesis evaluation unit 113 evaluates the length of each hypothesis and calculates the likelihood from the difference between the actually measured value and the predicted value for the landmark. The hypothesis group generation unit 114 generates a hypothesis group of the robot position (or camera position and orientation). The selection unit 115 selects an arbitrary hypothesis (for example, camera position and orientation) to be evaluated. The robot position and orientation estimation unit 116 obtains the best hypothesis, that is, the estimated true position and orientation of the robot 1. The movement route planning unit 117 plans a movement route on which the robot 1 should move.

ランドマークの検出処理は、例えば次のようなステップS901〜S921により実行可能である。先ず、ステップS901では、ステレオカメラ141からの画像系列を入力部21に入力する。ステップS902では、特徴点抽出部221が入力部21を介して入力されるステレオカメラ141からの画像系列のうち、例えば右カメラ画像(又は、左カメラ画像)に対して特徴点抽出を行う。右カメラ画像を使用するか、或いは、左カメラ画像を使用するかは、ランドマークDB25に登録されているランドマークを撮影したカメラが右カメラであるか、或いは、左カメラであるかに応じて選択しても良い。ステップS903では、特徴ベクトル算出部222が抽出した特徴点の周囲領域の輝度分布特徴から特徴ベクトルを計算する。ステップS904では、特徴点座標記憶部223が特徴点のカメラ画像上の位置を示す座標を記憶部902に記憶する。   The landmark detection process can be executed by the following steps S901 to S921, for example. First, in step S <b> 901, an image series from the stereo camera 141 is input to the input unit 21. In step S902, the feature point extraction unit 221 performs feature point extraction on, for example, the right camera image (or the left camera image) in the image series from the stereo camera 141 input via the input unit 21. Whether to use the right camera image or the left camera image depends on whether the camera that captured the landmark registered in the landmark DB 25 is the right camera or the left camera. You may choose. In step S903, a feature vector is calculated from the luminance distribution features in the surrounding area of the feature point extracted by the feature vector calculation unit 222. In step S904, the feature point coordinate storage unit 223 stores the coordinates indicating the position of the feature point on the camera image in the storage unit 902.

ステップS905では、特徴ベクトルバッファ部231が特徴ベクトル算出部222から供給される特徴ベクトルを記憶部902にバッファリングする。ステップS906では、特徴ベクトルバッファ部231が記憶部902にバッファリングされた特徴ベクトルに基づいて、例えば時刻tの最新フレームでの特徴点リストと時刻t−1の直前フレームでの特徴点リストを抽出してマッチング部232に供給する。ステップS907では、マッチング部232が時刻t,t−1の連続する2フレームの特徴点リスト同士を総当りでマッチングする。ステップS908では、マッチングの得点が閾値以上であるとID取得部233が連続マッチング長さをインクリメントし、これと同時に、直前フレームでの対応する特徴点がID番号を持っていればそのID番号を継承させる。直前フレームでの対応する特徴点がID番号を持っていない場合、ステップS909では、ID取得部233が連続マッチング長さが一定以上であればランドマークDB25と照合する。ステップS910では、ID取得部233がランドマークDB25とのマッチングに外れた特徴点を廃棄する。ステップS911では、IDリスト出力部234がマッチングすると認識されたランドマークとそのID番号、即ち、マッチングすると認識されたランドマークのデータを出力する。   In step S905, the feature vector buffer unit 231 buffers the feature vector supplied from the feature vector calculation unit 222 in the storage unit 902. In step S906, the feature vector buffer unit 231 extracts, for example, the feature point list at the latest frame at time t and the feature point list at the immediately previous frame at time t-1 based on the feature vectors buffered in the storage unit 902. And supplied to the matching unit 232. In step S907, the matching unit 232 matches the feature point lists of two consecutive frames at times t and t-1 with brute force. In step S908, if the matching score is greater than or equal to the threshold, the ID acquisition unit 233 increments the continuous matching length. At the same time, if the corresponding feature point in the immediately preceding frame has an ID number, the ID number is set. Inherit. If the corresponding feature point in the immediately preceding frame does not have an ID number, in step S909, the ID acquisition unit 233 collates with the landmark DB 25 if the continuous matching length is greater than or equal to a certain value. In step S910, the ID acquisition unit 233 discards the feature points that are out of matching with the landmark DB 25. In step S911, the landmark recognized by the ID list output unit 234 and its ID number, that is, the data of the landmark recognized to be matched are output.

この例では、ランドマークの空間位置データベース(DB)が事前に取得されて記憶部16に格納されているものとする。ステップS912では、空間位置検索部111がID番号でワールド座標系におけるランドマークの空間位置を検索して出力する。ステップS912では、全てのIDに対して同様な検索を行う。   In this example, it is assumed that a landmark spatial position database (DB) is acquired in advance and stored in the storage unit 16. In step S912, the spatial position search unit 111 searches for and outputs the spatial position of the landmark in the world coordinate system using the ID number. In step S912, a similar search is performed for all IDs.

ステップS913では、ロボット1の位置姿勢を推定するために、仮説群生成部114がロボット1の位置姿勢に関する仮説群を後述する評価部113から供給される尤度に基づいて生成する。ステップS914では、選択部115が仮説群から任意の仮説を選択し、選択された任意の仮説に対して評価を行う。この例では、評価は前の仮説に対する繰り返し処理である。ステップS915では、計測値予測部113が空間位置をカメラ141のローカル座標系へ変換してID番号のランドマークをカメラ141で計測した場合の計測値を予測する。これにより、空間位置検索部111で検索されたランドマークのワールド座標がカメラ141のローカル座標系へ変換される。   In step S913, in order to estimate the position and orientation of the robot 1, the hypothesis group generation unit 114 generates a hypothesis group related to the position and orientation of the robot 1 based on the likelihood supplied from the evaluation unit 113 described later. In step S914, the selection unit 115 selects an arbitrary hypothesis from the hypothesis group, and evaluates the selected arbitrary hypothesis. In this example, evaluation is an iterative process for the previous hypothesis. In step S <b> 915, the measurement value prediction unit 113 converts the spatial position to the local coordinate system of the camera 141 and predicts the measurement value when the landmark of the ID number is measured by the camera 141. Thereby, the world coordinates of the landmark searched by the spatial position search unit 111 are converted into the local coordinate system of the camera 141.

ステップS916では、空間3次元位置測定部28がカメラ141でランドマークを計測した際の実測値を評価部113に供給する。ステップS917では、評価部113が空間3次元位置測定部28から供給される実測値と計測値予測部112で変換されたローカル座標とを比較し、比較された2つの値の一致度を表す点数を付ける。この例では、各仮説の良さを評価し、ランドマークに対する実測値と予測値の差から尤度を計算する。ステップS918では、評価部113で計算された尤度(即ち、点数)をロボット位置の仮説群生成部114へフィードバックする。ステップS919では、位置姿勢推定部116が最良評価の仮説を推定したロボット1の真の位置姿勢に決定する。ステップS920では、位置姿勢推定部116が推定したロボット1の真の位置姿勢を移動計画部117に供給する。ステップS921では、移動計画部117が計画した移動指示に従ってロボット1を移動させるように走行制御CPU12を制御する。これにより、図1に示すモータ133は、走行制御CPU12からのコマンドに基づいて車輪134を直接、或いは、ギア機構を介して回転し、ロボット1が計画に従って移動する。   In step S <b> 916, the spatial three-dimensional position measurement unit 28 supplies an actual measurement value when the landmark is measured by the camera 141 to the evaluation unit 113. In step S <b> 917, the evaluation unit 113 compares the actual value supplied from the spatial three-dimensional position measurement unit 28 with the local coordinates converted by the measurement value prediction unit 112, and a score representing the degree of coincidence between the two values compared. Add. In this example, the goodness of each hypothesis is evaluated, and the likelihood is calculated from the difference between the actually measured value and the predicted value for the landmark. In step S918, the likelihood (that is, the score) calculated by the evaluation unit 113 is fed back to the hypothesis group generation unit 114 of the robot position. In step S919, the position / orientation estimation unit 116 determines the true position / orientation of the robot 1 that has estimated the best evaluation hypothesis. In step S920, the true position and orientation of the robot 1 estimated by the position and orientation estimation unit 116 is supplied to the movement planning unit 117. In step S921, the travel control CPU 12 is controlled to move the robot 1 according to the movement instruction planned by the movement planning unit 117. Thereby, the motor 133 shown in FIG. 1 rotates the wheel 134 directly or via the gear mechanism based on the command from the traveling control CPU 12, and the robot 1 moves according to the plan.

尚、図3に示す如きDB処理部24をランドマークID認識部27に接続して、ランドマークDB25を更新又は最適化可能な構成としても良いことは、言うまでもない。   It goes without saying that the DB processing unit 24 as shown in FIG. 3 may be connected to the landmark ID recognition unit 27 so that the landmark DB 25 can be updated or optimized.

(比較例と実施例の比較)
次に、従来のデータ処理装置の一例である比較例におけるランドマークDBへの登録手順を説明する。ステップS501では、図10に示すように各フレーム画像I〜Iにおいて特徴点wを検出し、特徴ベクトルのサンプルを収集する。ステップS502では、収集した特徴ベクトルを図11に示すようにクラスタリングする。この場合、例えばカテゴリ数が既知であり「3」であるものとする。従って、ステップS502では収集した特徴ベクトルが3つのカテゴリC1,C2,C3にクラスタリングされる。ステップS503では、図12に太線で囲んで示すように各カテゴリC1,C2,C3の平均ベクトルw,w,wを計算する。ステップS504では、図13に示すように各カテゴリC1,C2,C3の平均ベクトルw,w,w、即ち、太線で囲んで示す代表特徴ベクトルをノードとしてKD木(K-Dimensional Tree)を生成し、ランドマークDBが作成される。
(Comparison between comparative example and example)
Next, a registration procedure to the landmark DB in a comparative example which is an example of a conventional data processing apparatus will be described. In step S501, as shown in FIG. 10, feature points w are detected in the frame images I 0 to I 3 and feature vector samples are collected. In step S502, the collected feature vectors are clustered as shown in FIG. In this case, for example, it is assumed that the number of categories is known and is “3”. Accordingly, in step S502, the collected feature vectors are clustered into three categories C1, C2, and C3. In step S503, average vectors w 1 , w 2 , and w 3 of the categories C1, C2, and C3 are calculated as shown by bold lines in FIG. In step S504, as shown in FIG. 13, the average vectors w 1 , w 2 , and w 3 of the categories C1, C2, and C3, that is, the KD tree (K-Dimensional Tree) with the representative feature vector surrounded by the thick line as a node. And a landmark DB is created.

しかし、同一物体を撮影した画像から検出した特徴ベクトルが照明変化、視点の違い、影の違い等の影響により異なると、代表特徴ベクトルがぼけてしまう。このため、画像サンプルの数が多くなると、代表特徴ベクトルが本来同じカテゴリに属する特徴ベクトルを代表できなる可能性がある。   However, if the feature vector detected from the image obtained by photographing the same object differs due to the influence of illumination change, viewpoint difference, shadow difference, etc., the representative feature vector is blurred. For this reason, when the number of image samples increases, there is a possibility that the representative feature vector can represent the feature vector originally belonging to the same category.

一方、上記実施例では、第1及び第2の2段階でランドマークを検出することで、ランドマーク検出時の誤りと見逃しを軽減することができる。   On the other hand, in the above embodiment, by detecting the landmarks in the first and second stages, errors and oversights at the time of landmark detection can be reduced.

第1段階では、クラスとのマッチングを行うことで大まかな(又は、粗い)マッチングを行う。先ず、入力特徴ベクトルとランドマークDB内のランドマークツリーのノードとのマッチングを行い、入力特徴ベクトルとノード間の距離Lを算出する。次に、算出した距離Lでランドマークツリーのノードを絞込み、入力特徴ベクトルとランドマークツリーのノードとの相関値から類似度を算出する。これにより、動画像追跡を用いて、一定時間以上に連続に追跡されている比較的安定な特徴点のみが生き残り、生き残った特徴点が各クラスの代表的ベクトルと比較的甘くマッチングされる。従って、閾値を過敏に設定したことによるランドマークの検出見逃しを減らすことができる。 In the first stage, rough (or coarse) matching is performed by matching with a class. First, it matches with nodes landmark tree of the input feature vector and the landmark in the DB, and calculates the distance L 2 between the input feature vector and the node. Then, the node of the calculated distance L 2 landmark tree refinement, the similarity is calculated from the correlation value between the input feature vector and the landmark tree node. Thus, using moving image tracking, only relatively stable feature points that have been continuously tracked for a certain time or longer survive, and the surviving feature points are relatively sweetly matched with the representative vectors of each class. Therefore, it is possible to reduce the missed detection of the landmark due to the sensitive setting of the threshold value.

第2段階では、第1段階でマッチングされたクラス内の各メンバーとのマッチングを行うことで精密なマッチングを行う。先ず、第1段階で絞り込んだランドマークツリーのノードから該当するカテゴリのサブツリーを抽出する。次に、入力特徴ベクトルと抽出したサブツリーの各ノードとの距離Lを算出して最大距離と最小距離のノードのID番号を抽出し、入力特徴ベクトルとこれらの抽出されたノードとの相関値から総合的に類似度を算出する。これにより、各クラスの代表特徴ベクトルとのマッチングで生き残った特徴点に対して、サブツリーで管理しているサンプルの特徴点とのマッチングを行う。これらのサンプルは、異なる地点や照明等の異なる環境下で取得したデータであり、多様性を保っているので、マッチングの得点を比較的高くすることができる。この段階で最大得点と最少得点の両方に対して比較的高い閾値を設定することで、ランドマークの検出時の誤りを減らすことができる。 In the second stage, precise matching is performed by matching each member in the class matched in the first stage. First, the subtree of the corresponding category is extracted from the landmark tree nodes narrowed down in the first stage. Next, the distance L 2 between the input feature vector and each node of the extracted subtree is calculated, the ID numbers of the nodes with the maximum distance and the minimum distance are extracted, and the correlation value between the input feature vector and these extracted nodes From the above, the similarity is calculated comprehensively. As a result, the feature points that survive the matching with the representative feature vectors of each class are matched with the feature points of the samples managed in the subtree. These samples are data acquired under different environments such as different points and lighting, and since diversity is maintained, the score of matching can be made relatively high. By setting a relatively high threshold value for both the maximum score and the minimum score at this stage, errors at the time of landmark detection can be reduced.

次に、比較例と実施例についての実験データを図14乃至図20と共に説明する。実験例では、或る建物のエントランスで、所定位置に設置されたカメラを例えば垂直軸を中心に所定角度範囲で3周回させて、毎秒5フレームで画像列を取得し、ランドマークDBを作成した。更に、ランドマークDBを作成した数時間後に同じエントランスで、前記所定位置に設置されたカメラを同様に2周回させて、画像列(3000枚超)を取得し、ランドマークDB25を用いて画像列からランドマーク検知を行った。   Next, experimental data on the comparative example and the example will be described with reference to FIGS. In the experimental example, a camera installed at a predetermined position at an entrance of a building was rotated around the vertical axis three times within a predetermined angle range, for example, and an image sequence was acquired at 5 frames per second to create a landmark DB. . Further, several hours after the landmark DB is created, the camera installed at the predetermined position is rotated twice in the same entrance to obtain an image sequence (more than 3000 images), and the landmark sequence DB 25 is used to obtain the image sequence. The landmark was detected.

図14は、比較例における照明の変化と撮影地点による検出性能への影響を説明する図であり、図15は、実施例における照明の変化と撮影地点による検出性能への影響を説明する図である。図14及び図15において、(a)はランドマークDB作成後に取得した例えば4フレーム目の画像を示し、(b)はランドマークDB作成後に取得した例えば21フレーム目の画像を示す。4フレーム目の画像と21フレーム目の画像とでは、撮影時間の違いから照明が変化している。又、図14及び図15において、○印はランドマークDBに登録されたランドマークとのマッチングが取れた箇所を示す。図14と図15の比較からもわかるように、本実施例によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず、比較例に比べてより多くのランドマークを検出可能であることが確認された。   FIG. 14 is a diagram for explaining the influence on the detection performance due to the change in the illumination and the photographing point in the comparative example, and FIG. 15 is a diagram for explaining the influence on the detection performance due to the change in the illumination and the photographing point in the embodiment. is there. 14 and 15, (a) shows, for example, an image of the fourth frame acquired after creation of the landmark DB, and (b) shows an image of, for example, the 21st frame acquired after creation of the landmark DB. The illumination changes between the image of the fourth frame and the image of the 21st frame due to the difference in shooting time. In FIG. 14 and FIG. 15, the ◯ marks indicate locations where matching with landmarks registered in the landmark DB is achieved. As can be seen from the comparison between FIG. 14 and FIG. 15, according to the present embodiment, a larger number than the comparative example, regardless of the difference in the shooting condition of the input image to be compared with the shooting condition of the registered image. It was confirmed that the landmark could be detected.

図16は、比較例における各フレームでのランドマークの検出数を説明する図であり、図17は、実施例における各フレームでのランドマークの検出数を説明する図である。図16及び図17において、縦軸はランドマーク検出数(個)を示し、横軸は画像フレーム番号(時間軸相当)を示す。   FIG. 16 is a diagram for explaining the detected number of landmarks in each frame in the comparative example, and FIG. 17 is a diagram for explaining the detected number of landmarks in each frame in the embodiment. 16 and 17, the vertical axis indicates the number of landmark detections (pieces), and the horizontal axis indicates the image frame number (corresponding to the time axis).

図18は、図16の比較例のランドマーク検出結果を示すヒストグラムであり、図19は、図17の実施例のランドマーク検出結果を示すヒストグラムである。図18及び図19において、最も細かいハッチングがランドマーク検出回数が0回の場合、2番目に細かいハッチングがランドマーク検出階数が1回の場合、3番目に細かいハッチングがランドマーク検出階数が2回の場合、4番目に細かいハッチングがランドマーク検出階数が3回の場合、5番目に細かい(即ち、最も粗い)ハッチングがランドマーク検出階数が4回以上の場合を示す。更に、図20は、図18及び図19のヒストグラムを表形式で示す図である。   FIG. 18 is a histogram showing the landmark detection result of the comparative example of FIG. 16, and FIG. 19 is a histogram showing the landmark detection result of the embodiment of FIG. In FIG. 18 and FIG. 19, when the number of landmark detections is 0 for the finest hatching, when the landmark detection floor is 1 for the second finest hatching, the landmark detection floor is 2 for the third finest hatching. In this case, the fourth finest hatching indicates that the landmark detection rank is three, and the fifth finest hatching (that is, the coarsest) indicates that the landmark detection rank is four or more. Further, FIG. 20 is a diagram showing the histograms of FIGS. 18 and 19 in a table format.

図14、図16及び図18と、図15、図17及び図19との比較、又、図20からもわかるように、本実施例によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことが可能であるため、比較例に比べてより多くのランドマークを検出可能であることが確認された。   14, 16 and 18 are compared with FIGS. 15, 17 and 19, and as can be seen from FIG. 20, according to the present embodiment, the image capturing conditions of registered images are collated. It was confirmed that more landmarks can be detected than in the comparative example because accurate image matching can be performed regardless of the difference in shooting conditions of the input image.

尚、上記実施例では、検出対象がランドマークであるが、検出対象はランドマークに限定されるものではなく、例えば人物、人物の顔等であっても良い。検出対象が例えば特定人物の顔であれば、クラスは検出対象となる特定人物の顔に対応し、各カテゴリは当該カテゴリが属するクラス、即ち、顔を形成する特徴部分に相当する。顔を形成する特徴部分には、例えば右目、左目、鼻、口等の情報が含まれる。   In the above embodiment, the detection target is a landmark, but the detection target is not limited to the landmark, and may be, for example, a person, a human face, or the like. For example, if the detection target is a face of a specific person, the class corresponds to the face of the specific person to be detected, and each category corresponds to a class to which the category belongs, that is, a characteristic part forming the face. The characteristic part forming the face includes, for example, information such as the right eye, left eye, nose and mouth.

開示の画像処理装置及びプログラムの適用は、上記実施例の如き自律移動型のロボットに限定されるものではなく、各種自律移動型の装置、各種固定型の装置、携帯型の電子装置、例えば携帯電話、携帯端末、携帯型パーソナルコンピュータ等にも適用可能であることは言うまでもない。   The application of the disclosed image processing apparatus and program is not limited to the autonomous mobile robot as in the above embodiment, but various autonomous mobile apparatuses, various fixed apparatuses, portable electronic apparatuses, for example, portable Needless to say, the present invention can also be applied to telephones, portable terminals, portable personal computers, and the like.

以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータに、画像データから検出対象を検出させるプログラムであって、
入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、
検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順
を前記コンピュータに実行させることを特徴とする、プログラム。
(付記2)
前記認識手順は、
前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、
前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、付記1記載のプログラム。
(付記3)
前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新手順
を前記コンピュータに更に実行させ、
前記更新手順は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、付記1又は2記載のプログラム。
(付記4)
前記前処理手順は、前記画像データをカメラの出力から入力し、
前記認識手順により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定手順
を前記コンピュータに更に実行させることを特徴とする、付記1乃至3のいずれか1項記載のプログラム。
(付記5)
付記1乃至4のいずれか1項記載のプログラムが格納されたことを特徴とする、コンピュータ読み取り可能な記憶媒体。
(付記6)
入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、
検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、
第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする、画像処理装置。
(付記7)
前記認識部は、
前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、
前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、付記6記載の画像処理装置。
(付記8)
前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新部を更に備え、
前記更新部は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、付記6又は7記載の画像処理装置。
(付記9)
前記画像データを出力するカメラと、
前記認識部により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定部を更に備えたことを特徴とする、付記6乃至8のいずれか1項記載の画像処理装置。
The following additional notes are further disclosed with respect to the embodiment including the above examples.
(Appendix 1)
A program for causing a computer to detect a detection target from image data,
A preprocessing procedure for extracting feature points for each frame of input image data and calculating a feature vector based on the extracted feature points;
A tree in which a feature vector of a feature point of a detection target image is a node, a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member and clustered in a class for each detection target The storage unit in which the structure is registered is accessed, and the feature vector calculated in the preprocessing procedure is matched with the class in the storage unit in the first stage, and each member in the matched class is compared in the second stage. A program for causing a computer to execute a recognition procedure for performing matching and outputting detection target data recognized as matching.
(Appendix 2)
The recognition procedure is:
In the first step, a distance between the input feature vector and the tree structure node is calculated, the tree structure node is narrowed down by the distance, and a correlation value between the input feature vector and the tree structure node is calculated. Calculate the similarity,
In the second stage, a sub-tree of a corresponding category is extracted from the nodes of the tree structure narrowed down in the first stage, and a distance between the input feature vector and each node of the extracted sub-tree is calculated to calculate a maximum distance and a minimum distance. The program according to claim 1, wherein the similarity is calculated comprehensively from the correlation value between the input feature vector and the extracted node.
(Appendix 3)
The computer further executes an update procedure for updating a tree structure based on a subtree in which the sample is registered or a newly created subtree and storing the updated tree structure in the storage unit,
In the update procedure, the feature point of the latest frame that matches the feature point of the previous frame or the input feature vector of the feature point that matches the feature point registered in the storage unit is used as a sample of the tree structure of the detection target. A class is registered with the input feature vector of the feature point not registered with the feature point registered in the storage unit as a representative of a new class, and at the same time, the input feature vector is used as a sample and the tree-structured subtree The program according to appendix 1 or 2, characterized in that:
(Appendix 4)
In the preprocessing procedure, the image data is input from an output of a camera,
The program according to any one of appendices 1 to 3, further causing the computer to execute an estimation procedure for estimating the position of the camera based on the detection target data recognized by the recognition procedure.
(Appendix 5)
A computer-readable storage medium in which the program according to any one of appendices 1 to 4 is stored.
(Appendix 6)
Extracting a feature point for each frame of input image data and calculating an input feature vector based on the extracted feature point;
A tree in which a feature vector of a feature point of a detection target image is a node, a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member and clustered in a class for each detection target A storage unit with a registered structure;
In the first stage, the input feature vector is matched with the class in the storage unit, and in the second stage, matching is performed with each member in the matched class, and recognition target data recognized as matching is output. An image processing apparatus comprising a unit.
(Appendix 7)
The recognition unit
In the first step, a distance between the input feature vector and the tree structure node is calculated, the tree structure node is narrowed down by the distance, and a correlation value between the input feature vector and the tree structure node is calculated. Calculate the similarity,
In the second stage, a sub-tree of a corresponding category is extracted from the nodes of the tree structure narrowed down in the first stage, and a distance between the input feature vector and each node of the extracted sub-tree is calculated to calculate a maximum distance and a minimum distance. The image processing apparatus according to appendix 6, wherein the similarity is calculated comprehensively from the correlation value between the input feature vector and the extracted node.
(Appendix 8)
An update unit that updates a tree structure based on a subtree in which the sample is registered or a newly created subtree and stores the tree structure in the storage unit;
The update unit uses the feature point of the latest frame that matches the feature point of the previous frame or the input feature vector of the feature point that matches the feature point registered in the storage unit as a sample of the tree structure of the detection target A class is registered with the input feature vector of the feature point not registered with the feature point registered in the storage unit as a representative of a new class, and at the same time, the input feature vector is used as a sample and the tree-structured subtree The image processing apparatus according to appendix 6 or 7, characterized in that:
(Appendix 9)
A camera that outputs the image data;
The image processing apparatus according to any one of appendices 6 to 8, further comprising an estimation unit configured to estimate the position of the camera based on detection target data recognized by the recognition unit.

以上、開示のプログラム及び画像処理装置を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。   As described above, the disclosed program and the image processing apparatus have been described using the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications and improvements can be made within the scope of the present invention. .

1 ロボット
11 ナビゲーションCPU
12 走行制御CPU
13 台車
14 センサ部
15 入出力部
16,902 記憶部
141 カメラ
801,903 通信部
901 サーバ
904 CPU
1 Robot 11 Navigation CPU
12 Travel control CPU
13 trolley 14 sensor unit 15 input / output unit 16,902 storage unit 141 camera 801,903 communication unit 901 server 904 CPU

Claims (5)

コンピュータに、画像データから検出対象を検出させるプログラムであって、
入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、
検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順
を前記コンピュータに実行させることを特徴とする、プログラム。
A program for causing a computer to detect a detection target from image data,
A preprocessing procedure for extracting feature points for each frame of input image data and calculating a feature vector based on the extracted feature points;
A tree in which a feature vector of a feature point of a detection target image is a node, a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member and clustered in a class for each detection target The storage unit in which the structure is registered is accessed, and the feature vector calculated in the preprocessing procedure is matched with the class in the storage unit in the first stage, and each member in the matched class is compared in the second stage. A program for causing a computer to execute a recognition procedure for performing matching and outputting detection target data recognized as matching.
前記認識手順は、
前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、
前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、請求項1記載のプログラム。
The recognition procedure is:
In the first step, a distance between the input feature vector and the tree structure node is calculated, the tree structure node is narrowed down by the distance, and a correlation value between the input feature vector and the tree structure node is calculated. Calculate the similarity,
In the second stage, a sub-tree of a corresponding category is extracted from the nodes of the tree structure narrowed down in the first stage, and a distance between the input feature vector and each node of the extracted sub-tree is calculated to calculate a maximum distance and a minimum distance. 2. The program according to claim 1, wherein the nodes are extracted, and the similarity is comprehensively calculated from the correlation value between the input feature vector and the extracted nodes.
前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新手順
を前記コンピュータに更に実行させ、
前記更新手順は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、請求項1又は2記載のプログラム。
The computer further executes an update procedure for updating a tree structure based on a subtree in which the sample is registered or a newly created subtree and storing the updated tree structure in the storage unit,
In the update procedure, the feature point of the latest frame that matches the feature point of the previous frame or the input feature vector of the feature point that matches the feature point registered in the storage unit is used as a sample of the tree structure of the detection target. A class is registered with the input feature vector of the feature point not registered with the feature point registered in the storage unit as a representative of a new class, and at the same time, the input feature vector is used as a sample and the tree-structured subtree The program according to claim 1 or 2, wherein the program is created.
前記前処理手順は、前記画像データをカメラの出力から入力し、
前記認識手順により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定手順
を前記コンピュータに更に実行させることを特徴とする、請求項1乃至3のいずれか1項記載のプログラム。
In the preprocessing procedure, the image data is input from an output of a camera,
4. The program according to claim 1, further causing the computer to execute an estimation procedure for estimating the position of the camera based on the detection target data recognized by the recognition procedure. 5.
入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、
検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、
第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする、画像処理装置。
Extracting a feature point for each frame of input image data and calculating an input feature vector based on the extracted feature point;
A tree in which a feature vector of a feature point of a detection target image is a node, a representative feature vector representing the category and a sample of the feature vector are connected by a subtree as a member and clustered in a class for each detection target A storage unit with a registered structure;
In the first stage, the input feature vector is matched with the class in the storage unit, and in the second stage, matching is performed with each member in the matched class, and recognition target data recognized as matching is output. An image processing apparatus comprising a unit.
JP2011040712A 2011-02-25 2011-02-25 Program and image processing apparatus Active JP5626011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011040712A JP5626011B2 (en) 2011-02-25 2011-02-25 Program and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011040712A JP5626011B2 (en) 2011-02-25 2011-02-25 Program and image processing apparatus

Publications (2)

Publication Number Publication Date
JP2012178048A true JP2012178048A (en) 2012-09-13
JP5626011B2 JP5626011B2 (en) 2014-11-19

Family

ID=46979848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011040712A Active JP5626011B2 (en) 2011-02-25 2011-02-25 Program and image processing apparatus

Country Status (1)

Country Link
JP (1) JP5626011B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164483A (en) * 2013-02-25 2014-09-08 Kddi Corp Database generation device, camera attitude estimation device, database generation method, camera attitude estimation method and program
WO2020246085A1 (en) * 2019-06-03 2020-12-10 株式会社イクシス Inspection assistance system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134594A (en) * 1999-11-08 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for retrieving similar feature variable and that retrieving program recording medium thereof
JP2001134593A (en) * 1999-11-05 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for neighborhood data retrieval and storage medium stored with neighborhood data retrieving program
JP2006217045A (en) * 2005-02-01 2006-08-17 Olympus Corp Index image generator and generation program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134593A (en) * 1999-11-05 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for neighborhood data retrieval and storage medium stored with neighborhood data retrieving program
JP2001134594A (en) * 1999-11-08 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for retrieving similar feature variable and that retrieving program recording medium thereof
JP2006217045A (en) * 2005-02-01 2006-08-17 Olympus Corp Index image generator and generation program

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG199901058002; 谷口 展郎、外1名: '画像類似検索における複数特徴量間の重みを考慮したアクセス方法' 情報処理学会研究報告 第98巻,第57号, 19980708, p.9-15, 社団法人情報処理学会 *
CSNG200800469007; 中村 太一、外2名: '木構造クラスタリングを用いた動画像からの高次特徴抽出' 電子情報通信学会技術研究報告 第107巻,第491号, 20080214, p.37-42, 社団法人電子情報通信学会 *
CSNG201000628013; 山崎 俊太郎、外2名: '一人称ビジョンシステムのための自己位置推定法' 電子情報通信学会技術研究報告 第110巻,第27号, 20100506, p.73-78, 社団法人電子情報通信学会 *
JPN6014014711; 山崎 俊太郎、外2名: '一人称ビジョンシステムのための自己位置推定法' 電子情報通信学会技術研究報告 第110巻,第27号, 20100506, p.73-78, 社団法人電子情報通信学会 *
JPN6014014712; 谷口 展郎、外1名: '画像類似検索における複数特徴量間の重みを考慮したアクセス方法' 情報処理学会研究報告 第98巻,第57号, 19980708, p.9-15, 社団法人情報処理学会 *
JPN6014014715; 中村 太一、外2名: '木構造クラスタリングを用いた動画像からの高次特徴抽出' 電子情報通信学会技術研究報告 第107巻,第491号, 20080214, p.37-42, 社団法人電子情報通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164483A (en) * 2013-02-25 2014-09-08 Kddi Corp Database generation device, camera attitude estimation device, database generation method, camera attitude estimation method and program
WO2020246085A1 (en) * 2019-06-03 2020-12-10 株式会社イクシス Inspection assistance system
JP2020197454A (en) * 2019-06-03 2020-12-10 株式会社イクシス Inspection support system
US11869177B2 (en) 2019-06-03 2024-01-09 Ixs Co., Ltd. Inspection support system

Also Published As

Publication number Publication date
JP5626011B2 (en) 2014-11-19

Similar Documents

Publication Publication Date Title
US11629965B2 (en) Methods, apparatus, and systems for localization and mapping
CN107990899B (en) Positioning method and system based on SLAM
EP2915138B1 (en) Systems and methods of merging multiple maps for computer vision based tracking
JP6430064B2 (en) Method and system for aligning data
Fioraio et al. Joint detection, tracking and mapping by semantic bundle adjustment
CN109584302B (en) Camera pose optimization method, camera pose optimization device, electronic equipment and computer readable medium
CN106780631B (en) Robot closed-loop detection method based on deep learning
CN108038139B (en) Map construction method and device, robot positioning method and device, computer equipment and storage medium
KR101380628B1 (en) Method and apparatus for object tracking using multiple cameras
KR20150120408A (en) Camera aided motion direction and speed estimation
Yin et al. Dynam-SLAM: An accurate, robust stereo visual-inertial SLAM method in dynamic environments
JP2010033447A (en) Image processor and image processing method
US11501462B2 (en) Multi-view three-dimensional positioning
KR101460313B1 (en) Apparatus and method for robot localization using visual feature and geometric constraints
Piciarelli Visual indoor localization in known environments
Peng et al. Globally-optimal event camera motion estimation
Ishihara et al. Beacon-guided structure from motion for smartphone-based navigation
Arsic et al. Applying multi layer homography for multi camera person tracking
CN113822996B (en) Pose estimation method and device for robot, electronic device and storage medium
Jiang et al. Indoor localization with a signal tree
Lee et al. Local to global: Efficient visual localization for a monocular camera
Urdiales et al. An improved deep learning architecture for multi-object tracking systems
JP5626011B2 (en) Program and image processing apparatus
Lin et al. Robust data association against detection deficiency for semantic SLAM
Liu et al. Modeling of structure landmark for indoor pedestrian localization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

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: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140915

R150 Certificate of patent or registration of utility model

Ref document number: 5626011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150