JPH1183530A - Optical flow detector for image and self-position recognizing system for mobile body - Google Patents

Optical flow detector for image and self-position recognizing system for mobile body

Info

Publication number
JPH1183530A
JPH1183530A JP9247320A JP24732097A JPH1183530A JP H1183530 A JPH1183530 A JP H1183530A JP 9247320 A JP9247320 A JP 9247320A JP 24732097 A JP24732097 A JP 24732097A JP H1183530 A JPH1183530 A JP H1183530A
Authority
JP
Japan
Prior art keywords
image
block
data
distance
optical flow
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
JP9247320A
Other languages
Japanese (ja)
Other versions
JP3880702B2 (en
Inventor
Katsuyuki Kise
勝之 喜瀬
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.)
Subaru Corp
Original Assignee
Fuji Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Heavy Industries Ltd filed Critical Fuji Heavy Industries Ltd
Priority to JP24732097A priority Critical patent/JP3880702B2/en
Publication of JPH1183530A publication Critical patent/JPH1183530A/en
Application granted granted Critical
Publication of JP3880702B2 publication Critical patent/JP3880702B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To recognize a self-position by detecting, at high speed, an optical flow real time from an imaged picture with a small device which can be mounted on a mobile body. SOLUTION: A distance image is generated at a stereo-process part 30 of a hardware circuit for a picture imaged with a camera assembly 10, and then from the distance image, a histogram for evaluating a No.1 block which can be used for an optical flow is generated. Then, at an optical flow process part 60 of a hardware circuit, a city block distance is calculated to fast explore No.2 block corresponding to the No.1 block. Then, at a navigation process part 90, a speed component of a mobile body is calculated from the optical flow of a lower part image, the speed component is subtracted by a rotational speed component calculated from the optical flow of the lower part image to obtain net translational speed component, and the net translational speed component is accumulated to calculate a navigation locus.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、画像のオプティカ
ルフローをハードウエア回路で高速に検出する画像のオ
プティカルフロー検出装置、及び、撮像画像をリアルタ
イムで処理して画像のオプティカルフローを高速に検出
し、移動体の自己位置を認識する移動体の自己位置認識
システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image optical flow detecting device for detecting an optical flow of an image at high speed by a hardware circuit, and an optical flow of an image by processing a captured image in real time. And a system for recognizing a self-position of a moving body.

【0002】[0002]

【従来の技術】従来より、無人ロボット、自律走行作業
車、無人ヘリコプター等、自律的に移動する移動体に関
し、移動制御、経路検出、航路検出、ロケーション検出
等の各種技術が開発されており、これらの中でも、自己
位置認識は重要な技術の一つである。
2. Description of the Related Art Conventionally, various technologies such as movement control, route detection, route detection, and location detection have been developed for mobile objects that move autonomously, such as unmanned robots, autonomous mobile work vehicles, and unmanned helicopters. Among these, self-location recognition is one of the important technologies.

【0003】この自己位置認識の技術として、例えば、
自律走行作業車等の地上を自律的に走行する移動体で
は、振動ジャイロや光ジャイロによって2次元の角速度
を検出するとともに、対地速度を測定するセンサによっ
て並進速度を検出し、基準位置からの移動量を演算して
自己位置を測定する技術があり、また、無人ヘリコプタ
ー等の飛行移動体では、慣性航法装置により、重力加速
度を検出して飛行体の加速度を検出し、この加速度を積
分することで移動量を知る技術がある。
[0003] As this self-position recognition technology, for example,
For mobile objects that travel autonomously on the ground, such as autonomous vehicles, two-dimensional angular velocities are detected by vibrating gyros or optical gyros, and translational speeds are detected by sensors that measure ground speed, and movement from a reference position is performed. There is a technology to calculate the self-position by calculating the amount, and in the case of a flying vehicle such as an unmanned helicopter, the inertial navigation device detects the gravitational acceleration to detect the acceleration of the flying object and integrates this acceleration There is a technology that knows the amount of movement.

【0004】さらに、近年では、画像処理の技術を適用
して移動体の自己位置を認識する技術が開発されてお
り、特に、移動体にカメラを撮像して周囲環境を撮像
し、撮像タイミングの異なる2枚の画像間のオプティカ
ルフローを求めて移動体の運動を検出することで自己位
置を認識する技術では、膨大な情報量を有する画像なら
ではの周囲環境の分析が可能となり、複雑な地形を判別
して正確な自律航法を実現することができる。
Furthermore, in recent years, a technique for recognizing the self-position of a moving object by applying image processing technology has been developed. In particular, a camera is imaged on the moving object to image the surrounding environment, and the timing of the imaging timing is adjusted. The technology that recognizes the self-position by detecting the movement of a moving object by finding the optical flow between two different images enables analysis of the surrounding environment that is unique to an image with a huge amount of information, and makes it possible to analyze complex terrain. By discriminating, accurate autonomous navigation can be realized.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、画像の
オプティカルフローによって移動体の運動を検出する場
合、従来、撮像画像を取り込んでリアルタイムに自己位
置を認識するにはワークステーション並の処理能力が必
要であり、装置の大型化や重量増を招く。
However, in the case of detecting the movement of a moving body by optical flow of an image, conventionally, a processing capability equivalent to that of a workstation is required to capture a captured image and recognize its own position in real time. This leads to an increase in the size and weight of the device.

【0006】このため、自律移動体に搭載可能な従来の
装置では、撮像画像を取り込んだ後にオフラインで処理
する等して対処しなければならず、無人ヘリコプター等
のように実時間で自己位置を認識する必要のある移動体
への適用は困難で、適用範囲が極めて限定されていた。
For this reason, in a conventional device that can be mounted on an autonomous mobile body, it is necessary to take measures such as processing offline after capturing a captured image, and to determine its own position in real time like an unmanned helicopter. It is difficult to apply to moving objects that need to be recognized, and the application range is extremely limited.

【0007】本発明は上記事情に鑑みてなされたもの
で、リアルタイムでオプティカルフローを高速に検出可
能とする画像のオプティカルフロー検出装置、及び、大
型化することなく移動体に搭載可能で、撮像画像をリア
ルタイムで処理して画像のオプティカルフローから移動
体の自己位置を認識することのできる移動体の自己位置
認識システムを提供することを目的としている。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and has an optical flow detecting device for images capable of detecting an optical flow at high speed in real time, and a photographed image which can be mounted on a moving object without being enlarged. The object of the present invention is to provide a moving object self-position recognition system that can process the object in real time and recognize the self-position of the moving object from an optical flow of an image.

【0008】[0008]

【課題を解決するための手段】請求項1記載の発明は、
異なるタイミングで撮像した2枚の画像の一方を基準画
像として他方を比較画像とし、互いの対応位置を探索し
て画像間のオプティカルフローを求める画像のオプティ
カルフロー検出装置であって、上記基準画像の所定領域
の画素毎の輝度データと上記比較画像の探索領域の画素
毎の輝度データとを、それぞれ所定バイト数のデータ系
列に並び変え、各データ系列をリング状に転送するデー
タ転送バッファと、上記転送バッファから転送された2
系統のデータ間の差分の絶対値を複数の演算器で並列に
演算した後、各演算器の出力を複数段の加算器で直列に
加算してシティブロック距離を計算し、このシティブロ
ック距離が最小値となるアドレスを、上記基準画像の所
定領域に対する上記比較画像の対応位置として出力する
演算処理回路とを備えたことを特徴とする。
According to the first aspect of the present invention,
An optical flow detection device for an image in which one of two images captured at different timings is set as a reference image and the other is set as a comparison image, and an optical flow between the images is searched by searching for a corresponding position between the two images. A data transfer buffer for rearranging the luminance data for each pixel in the predetermined area and the luminance data for each pixel in the search area of the comparison image into a data series of a predetermined number of bytes, and transferring each data series in a ring shape; 2 transferred from transfer buffer
After calculating the absolute value of the difference between the data of the systems in parallel by a plurality of arithmetic units, the outputs of each arithmetic unit are added in series by a plurality of adders to calculate the city block distance. An arithmetic processing circuit for outputting an address having a minimum value as a corresponding position of the comparison image with respect to a predetermined area of the reference image.

【0009】請求項2記載の発明は、移動体に搭載され
て遠方風景を撮像する2台1組のステレオカメラ及び下
方風景を撮像する2台1組のステレオカメラを有する撮
像部と、上記ステレオカメラで撮像した2枚の画像にお
ける対応位置を探索して対象物までの距離に応じて生じ
る画素ズレ量を求め、この画素ズレ量から得られる対象
物までの遠近情報を数値化した距離画像を生成する距離
画像生成部と、上記距離画像の階調データ及び度数を、
それぞれラッチに保持し、新たに入力された階調データ
と保持した階調データとを比較する比較器からの一致出
力により、保持した階調データの度数を積算してヒスト
グラムデータを生成するヒストグラム生成部と、上記距
離画像から上記ヒストグラム生成部で生成したヒストグ
ラムデータを参照し、撮像画像の中から航法演算に適し
た特徴的な絵柄の領域を第1ブロックとして複数箇所抽
出するとともに、この第1ブロックを抽出した画像とは
撮像タイミングが異なる画像の中から上記第1ブロック
に対応する領域を第2ブロックとして探索するための探
索範囲を設定する画像処理部と、上記第1ブロックの画
素毎の輝度データと上記第2のブロックの探索範囲の画
素毎の輝度データとを、それぞれ所定バイト数のデータ
系列に並び変え、各データ系列をリング状に転送するデ
ータ転送バッファと、この転送バッファから転送された
2系統のデータ間の差分の絶対値を複数の演算器で並列
に演算した後、各演算器の出力を複数段の加算器で直列
に加算してシティブロック距離を計算し、このシティブ
ロック距離が最小値となるアドレスを出力する演算処理
回路とを有するオプティカルフロー処理部と、遠方風景
の撮像画像に対する上記オプティカルフロー処理部から
の出力と上記距離画像とに基づいて上記第1ブロックか
ら上記第2ブロックへのオプティカルフローを求めて移
動体のフレーム間の回転速度成分を算出した後、下方風
景の撮像画像に対する上記オプティカルフロー処理部か
らの出力と上記距離画像とに基づいて上記第1ブロック
から上記第2ブロックへのオプティカルフローを求めて
移動体のフレーム間の速度成分を算出し、この速度成分
から上記回転速度成分を除去したフレーム間の並進速度
成分を測距開始地点から見た並進速度成分に変換し、こ
の変換した並進速度成分を累積して3次元空間における
航法軌跡を求めることにより、移動体の自己位置を認識
する航法処理部とを備えたことを特徴とする。
According to a second aspect of the present invention, there is provided an imaging section having a pair of stereo cameras mounted on a moving body for capturing a distant landscape and a pair of stereo cameras for capturing a downward landscape, and the stereo unit. A corresponding image in the two images captured by the camera is searched to find a pixel shift amount corresponding to a distance to the object, and a distance image obtained by quantifying the perspective information to the object obtained from the pixel shift amount is obtained. A distance image generating unit to generate, and the gradation data and frequency of the distance image,
Histogram generation that accumulates the frequency of the held gradation data and generates histogram data by a coincidence output from a comparator that holds the data in the latch and compares the newly input gradation data with the held gradation data. And a plurality of characteristic image regions suitable for navigation calculation are extracted as a first block from the captured image by referring to the histogram data generated by the histogram generation unit from the distance image and the first image. An image processing unit for setting a search range for searching for an area corresponding to the first block as a second block from an image at a different imaging timing from the image from which the block has been extracted; and an image processing unit for each pixel of the first block. Rearranging the luminance data and the luminance data for each pixel in the search range of the second block into a data sequence of a predetermined number of bytes, A data transfer buffer for transferring a data sequence in a ring shape, and an absolute value of a difference between two systems of data transferred from the transfer buffer is calculated in parallel by a plurality of arithmetic units. An optical flow processing unit having an arithmetic processing circuit for calculating the city block distance by adding in series by the adder and outputting an address at which the city block distance is the minimum value, and the optical flow for a captured image of a distant scenery After calculating an optical flow from the first block to the second block based on the output from the processing unit and the distance image to calculate a rotation speed component between frames of the moving body, the above-described method is performed on the captured image of the lower landscape. An optical signal from the first block to the second block is generated based on an output from an optical flow processing unit and the distance image. The flow component between the frames of the moving body is calculated by calculating the flow rate, and the translation speed component between the frames obtained by removing the rotation speed component from the speed component is converted into a translation speed component viewed from the distance measurement start point, and this conversion is performed. A navigation processing unit for recognizing the self-position of the moving body by calculating the navigation trajectory in the three-dimensional space by accumulating the obtained translation speed components.

【0010】すなわち、請求項1記載の発明による画像
のオプティカルフロー検出装置では、異なるタイミング
で撮像した2枚の画像で、基準画像の所定領域の画素毎
の輝度データ、比較画像の探索領域の画素毎の輝度デー
タを、それぞれデータ転送バッファに入力すると、この
データ転送バッファで、それぞれ所定バイト数のデータ
系列に並び変えて各データ系列をリング状に演算処理回
路に転送し、演算処理回路で、2系統のデータ間の差分
の絶対値を複数の演算器で並列に演算した後、各演算器
の出力を複数段の加算器で直列に加算してシティブロッ
ク距離を計算し、このシティブロック距離が最小値とな
るアドレスを基準画像の所定領域に対する比較画像の対
応位置として出力する。従って、この2枚の画像間の対
応位置の探索結果により、オプティカルフローを求める
ことができる。
That is, in the optical flow detecting apparatus for an image according to the first aspect of the present invention, the luminance data of each pixel of the predetermined area of the reference image and the pixel of the search area of the comparative image are obtained from two images taken at different timings. When each of the luminance data is input to the data transfer buffer, the data transfer buffer rearranges the data sequence into a data sequence of a predetermined number of bytes, and transfers each data sequence to the arithmetic processing circuit in a ring shape. After calculating the absolute value of the difference between the two systems of data in parallel by a plurality of arithmetic units, the outputs of each arithmetic unit are added in series by a plurality of adders to calculate a city block distance. Is output as the corresponding position of the comparison image with respect to the predetermined area of the reference image. Therefore, the optical flow can be obtained from the search result of the corresponding position between the two images.

【0011】また、請求項2記載の発明による移動体の
自己位置認識システムでは、遠方風景及び下方風景をそ
れぞれのステレオカメラで撮像し、距離画像生成部で、
ステレオカメラによる2枚の画像における対応位置を探
索して対象物までの距離に応じて生じる画素ズレ量を求
め、この画素ズレ量から得られる対象物までの遠近情報
を数値化した距離画像を生成するとともに、ヒストグラ
ム生成部で、この距離画像の階調データ及び度数を、そ
れぞれラッチに保持し、新たに入力された階調データと
保持した階調データとを比較する比較器からの一致出力
により、保持した階調データの度数を積算してヒストグ
ラムデータを生成する。
Further, in the self-position recognition system for a moving object according to the second aspect of the present invention, a distant landscape and a lower landscape are imaged by respective stereo cameras, and the distance image generation unit performs:
The corresponding position in the two images by the stereo camera is searched to determine the amount of pixel shift generated according to the distance to the object, and a distance image is generated by digitizing the perspective information to the object obtained from the pixel shift amount. At the same time, the histogram generation unit holds the gradation data and frequency of the distance image in a latch, respectively, and uses the coincidence output from a comparator that compares the newly input gradation data with the held gradation data. The histogram data is generated by integrating the frequencies of the held gradation data.

【0012】そして、画像処理部で、距離画像のヒスト
グラムデータを参照して撮像画像の中から航法演算に適
した特徴的な絵柄の領域を第1ブロックとして複数箇所
抽出するとともに、この第1ブロックを抽出した画像と
は撮像タイミングが異なる画像の中から第1ブロックに
対応する領域を第2ブロックとして探索するための探索
範囲を設定する。
The image processing unit extracts a plurality of characteristic picture regions suitable for navigation calculation from the captured image as a first block by referring to histogram data of the distance image, and extracts the first block. A search range is set for searching for an area corresponding to the first block as a second block from among the images having different imaging timings from the image from which is extracted.

【0013】次いで、オプティカルフロー処理部におい
て、遠方風景の撮像画像、下方風景の撮像画像に対し、
第1ブロックの画素毎の輝度データと第2のブロックの
探索範囲の画素毎の輝度データとを、データ転送バッフ
ァによってそれぞれ所定バイト数のデータ系列に並び変
え、各データ系列をリング状に演算処理回路に転送する
と、演算処理回路では、2系統の輝度データ間の差分の
絶対値を複数の演算器で並列に演算した後、各演算器の
出力を複数段の加算器で直列に加算してシティブロック
距離を計算し、このシティブロック距離が最小値となる
アドレスを出力する。
Next, in the optical flow processing unit, a captured image of a distant landscape and a captured image of a downward landscape are
The luminance data of each pixel in the first block and the luminance data of each pixel in the search range of the second block are rearranged into a data sequence of a predetermined number of bytes by a data transfer buffer, and each data sequence is processed in a ring shape. When transferred to the circuit, the arithmetic processing circuit calculates the absolute value of the difference between the two sets of luminance data in parallel with a plurality of arithmetic units, and then adds the output of each arithmetic unit in series with a multi-stage adder. The city block distance is calculated, and the address at which the city block distance becomes the minimum value is output.

【0014】そして、航法処理部で、遠方風景の撮像画
像に対するオプティカルフロー処理部からの出力と距離
画像とに基づいてオプティカルフローを求め、移動体の
フレーム間の回転速度成分を算出するとともに、下方風
景の撮像画像に対するオプティカルフロー処理部からの
出力と距離画像とに基づいてオプティカルフローを求め
て移動体のフレーム間の速度成分を算出し、この速度成
分から回転速度成分を除去したフレーム間の並進速度成
分を測距開始地点から見た並進速度成分に変換すると、
この変換した並進速度成分を累積して3次元空間におけ
る航法軌跡を求め、移動体の自己位置を認識する。
The navigation processing unit obtains an optical flow based on the output from the optical flow processing unit for the captured image of the distant landscape and the distance image, calculates the rotational speed component between frames of the moving object, and An optical flow is calculated based on the output from the optical flow processing unit for the captured image of the landscape and the distance image to calculate a speed component between frames of the moving object, and translation between frames obtained by removing a rotational speed component from the speed component Converting the speed component to the translation speed component seen from the distance measurement start point,
By accumulating the converted translation speed components, a navigation trajectory in a three-dimensional space is obtained, and the self-position of the moving body is recognized.

【0015】[0015]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図面は本発明の実施の一形態に係
わり、図1は自己位置認識システムの全体構成図、図2
はカメラアセンブリの構成図、図3はステレオ処理部の
ブロック図、図4はオプティカルフロー処理部のブロッ
ク図、図5はヒストグラム処理回路の構成図、図6は自
己加算型階調・度数モジュールの回路構成図、図7はデ
ータ転送バッファの構成図、図8は演算処理回路の構成
図、図9はステレオ処理の説明図、図10はヒストグラ
ム処理の説明図、図11は自己加算型階調・度数モジュ
ールのタイムチャート、図12はオプティカルフロー処
理の説明図、図13はNo1ブロック群取得処理ルーチ
ンのフローチャート、図14は回転演算処理ルーチンの
フローチャート、図15は並進演算処理ルーチンのフロ
ーチャート、図16は航法演算処理ルーチンのフローチ
ャートである。
Embodiments of the present invention will be described below with reference to the drawings. The drawings relate to an embodiment of the present invention, and FIG. 1 is an overall configuration diagram of a self-position recognition system.
FIG. 3 is a block diagram of a stereo processing unit, FIG. 4 is a block diagram of an optical flow processing unit, FIG. 5 is a configuration diagram of a histogram processing circuit, and FIG. 6 is a diagram of a self-addition type gradation / frequency module. 7 is a configuration diagram of a data transfer buffer, FIG. 8 is a configuration diagram of an arithmetic processing circuit, FIG. 9 is an explanatory diagram of stereo processing, FIG. 10 is an explanatory diagram of histogram processing, and FIG. 12 is a time chart of a frequency module, FIG. 12 is an explanatory diagram of an optical flow process, FIG. 13 is a flowchart of a No1 block group acquisition process routine, FIG. 14 is a flowchart of a rotation calculation process routine, and FIG. 15 is a flowchart of a translation calculation process routine. 16 is a flowchart of a navigation calculation processing routine.

【0016】図1は、3次元空間計測用の2組のステレ
オカメラからなるカメラアセンブリ10と、このカメラ
アセンブリ10によって周囲環境を一定時間毎に撮像し
た画像間のオプティカルフロー(フレーム間の撮像座標
面での動きを表した移動ベクトルの分布)に基づいて自
己位置を認識する自己位置認識装置20とからなる移動
体の自己位置認識システムである。この自己位置認識シ
ステムは、本形態においては、例えば農薬散布等に使用
される無人ヘリコプターに搭載され、上記カメラアセン
ブリ10で撮像した画像をリアルタイムで処理して航法
軌跡データを図示しない飛行制御用コンピュータに送信
し、予め設定された絶対座標の航路、あるいは地上の目
標物に対して設定された航路に沿ってのヘリコプターの
対地高度や飛行方向の精密制御を可能としている。
FIG. 1 shows a camera assembly 10 composed of two sets of stereo cameras for three-dimensional space measurement, and an optical flow (imaging coordinates between frames) between images taken by the camera assembly 10 of the surrounding environment at regular time intervals. This is a self-position recognition system for a moving object, comprising a self-position recognition device 20 for recognizing the self-position based on a movement vector distribution representing movement on a plane. In the present embodiment, the self-position recognition system is mounted on an unmanned helicopter used for spraying pesticides, for example, and processes an image captured by the camera assembly 10 in real time to generate navigation trajectory data for a flight control computer (not shown). To control the altitude of the helicopter with respect to the ground and the flight direction along a route set in absolute coordinates or a route set for a target on the ground.

【0017】上記自己位置認識装置20には、上記カメ
ラアセンブリ10で撮像した画像をステレオ処理するス
テレオ処理部30、時系列的な撮像画像間のオプティカ
ルフローを求めるオプティカルフロー処理部60、この
オプティカルフロー処理部60で求めたオプティカルフ
ローに基づいてフレーム間移動量、移動体(ヘリコプタ
ー)の回転・並進成分を演算し、航法軌跡を計算する航
法処理部90が備えられており、上記ステレオ処理部3
0及び上記オプティカルフロー処理部60をハードウエ
ア回路で構成するとともに、上記航法処理部90を複数
個のRISCプロセッサを並列動作させるマルチプロセ
ッサ構成とし、高速処理によるオンラインでの航法デー
タ取得が可能となっている。
The self-position recognizing device 20 includes a stereo processing unit 30 for performing stereo processing on an image captured by the camera assembly 10, an optical flow processing unit 60 for obtaining an optical flow between time-sequential captured images, The stereo processing unit 3 is provided with a navigation processing unit 90 that calculates the amount of movement between frames and the rotation and translation components of a moving object (helicopter) based on the optical flow obtained by the processing unit 60 and calculates a navigation trajectory.
0 and the optical flow processing unit 60 are configured as hardware circuits, and the navigation processing unit 90 is configured as a multiprocessor configured to operate a plurality of RISC processors in parallel, so that it is possible to acquire navigation data online by high-speed processing. ing.

【0018】上記カメラアセンブリ10は、移動体に搭
載されて周囲環境を一定時間毎に撮像し、周囲環境の変
化を1画面単位で捕らえるとともに、水平ズレに応じた
距離情報を取得するための測距センサ的役割を果たすも
のであり、図2に示すように、架台11に、移動体の回
転速度成分を演算するために必要な遠方風景を撮像する
ための1組の遠方用ステレオカメラ12と、移動体の並
進速度成分を演算するのに必要な下方風景(地表面)を
撮像するための1組の下方用ステレオカメラ13とが設
置されている。
The camera assembly 10 is mounted on a moving body to capture an image of the surrounding environment at regular time intervals, to capture changes in the surrounding environment on a screen-by-screen basis, and to obtain distance information corresponding to a horizontal shift. As shown in FIG. 2, the gantry 11 has a set of a distant stereo camera 12 for capturing a distant scenery necessary for calculating a rotational speed component of the moving body. And a set of lower stereo cameras 13 for capturing an image of a lower landscape (ground surface) necessary for calculating a translation speed component of the moving body.

【0019】上記遠方用ステレオカメラ12は、互いに
同期が取れ、且つ、シャッタースピード可変のメインカ
メラ(基準カメラ)12a及びサブカメラ12bからな
り、メインカメラ(基準カメラ)12aとサブカメラ1
2bとが基線長LSの関係で、且つ、互いの撮像面垂直
軸が平行となるよう配置されている。
The distant stereo camera 12 comprises a main camera (reference camera) 12a and a sub camera 12b which are synchronized with each other and have a variable shutter speed. The main camera (reference camera) 12a and the sub camera 1a
2b are arranged in a relation of the base line length LS, and the vertical axes of the imaging planes are parallel to each other.

【0020】同様に、上記下方用ステレオカメラ13
も、互いに同期が取れ、且つ、シャッタースピード可変
のメインカメラ(基準カメラ)13a及びサブカメラ1
3bからなり、メインカメラ(基準カメラ)13aと、
このメインカメラ13aと同じ仕様のサブカメラ13b
とが基線長SSの関係で、且つ、互いの撮像面垂直軸が
平行となるように配置されている。尚、遠方用ステレオ
カメラ12、下方用ステレオカメラ13間も互いに同期
が取れている。
Similarly, the lower stereo camera 13
The main camera (reference camera) 13a and the sub camera 1 which are synchronized with each other and have a variable shutter speed
3b, a main camera (reference camera) 13a,
Sub camera 13b with the same specifications as main camera 13a
Are in relation to the base line length SS, and are arranged such that the vertical axes of the imaging planes are parallel to each other. The distance stereo camera 12 and the lower stereo camera 13 are also synchronized with each other.

【0021】本形態の自己位置認識システムでは、遠方
風景の撮像画像及び下方風景の撮像画像のそれぞれにつ
いて、オプティカルフローすなわち撮像時間(タイミン
グ)の異なる画像間の動きから移動体の運動を検出する
ようにしており、遠方画像の動き、下方画像の動きを、
それぞれの距離画像に基づいて実空間での移動量に換算
し、下方画像の動きによる速度成分から遠方画像の動き
による回転速度成分を除去して純並進速度成分を求めた
後、測距開始地点(スタート地点)から見た並進速度成
分に変換して累積することにより、3次元空間における
航法軌跡を求めて移動体の自己位置を認識する。
In the self-position recognition system according to the present embodiment, the movement of the moving body is detected from the movement of the optical flow, that is, the movement between the images having different imaging times (timings), for each of the captured image of the distant landscape and the captured image of the lower landscape. The movement of the distant image, the movement of the lower image,
Based on each distance image, it is converted to the amount of movement in the real space, the rotational speed component due to the movement of the distant image is removed from the speed component due to the movement of the lower image, the net translation speed component is obtained, and the distance measurement start point By converting and accumulating the translational velocity component viewed from the (start point), a navigation trajectory in a three-dimensional space is obtained, and the self-position of the moving object is recognized.

【0022】この場合、遠方用ステレオカメラ12によ
って移動体の回転速度を検出し、下方用ステレオカメラ
13によって移動体の回転・並進速度を検出するために
は、遠方用ステレオカメラ12の撮像面垂直軸と下方用
ステレオカメラ13の撮像面垂直軸とが互いに直交し、
且つ、遠方のメインカメラ軸と下方のメインカメラ軸と
が同一平面で互いの基準点が一致していることが理想的
である。
In this case, in order to detect the rotation speed of the moving object by the distant stereo camera 12 and to detect the rotation / translation speed of the moving object by the downward stereo camera 13, the imaging plane of the distant stereo camera 12 must be perpendicular. Axis and the vertical axis of the imaging plane of the stereo camera 13 for the lower side are orthogonal to each other,
Ideally, the distant main camera axis and the lower main camera axis are on the same plane and their reference points coincide with each other.

【0023】しかしながら、2つのメインカメラ12
a,13aの基準点を同じにすることは現実的には困難
であるため、遠方用ステレオカメラ12の撮像面垂直軸
と上記下方用ステレオカメラ13の撮像面垂直軸とが互
いに直交するよう配置するとともに、遠方用のメインカ
メラ12aと下方用のメインカメラ13aとを寄せた配
置とし、一方のカメラの3軸が他方のカメラの3軸のい
ずれかと平行関係になるよう配置することで、2組のス
テレオカメラ12,13から得られる遠方画像及び下方
画像の動きに対し、1つの実空間座標系での取り扱いを
可能とする。
However, the two main cameras 12
Since it is practically difficult to make the reference points a and 13a the same, the vertical axis of the imaging plane of the distant stereo camera 12 and the vertical axis of the imaging plane of the lower stereo camera 13 are arranged so as to be orthogonal to each other. At the same time, the main camera 12a for the distant place and the main camera 13a for the lower side are arranged close to each other, and the three axes of one camera are arranged so as to be parallel to any one of the three axes of the other camera. The movement of the distant image and the lower image obtained from the pair of stereo cameras 12 and 13 can be handled in one real space coordinate system.

【0024】この場合、下方用ステレオカメラ13に3
軸中心を置くが、遠方用ステレオカメラ12が下方用ス
テレオカメラ13の周囲を回転し、両者のオフセット量
が生じても、後述するように、遠方画像の性質から、遠
方画像の動きには影響せず、下方のカメラ軸と遠方のカ
メラ軸とが直交関係にあることから、並進と回転を含む
速度成分から回転速度成分を除く処理や原点(測距開始
地点で空間に固定したXYZ座標系原点)から見た航法
計算処理を簡素化し、画像の動きを的確に把握すること
を可能としている。
In this case, the lower stereo camera 13
Although the center of the axis is set, even if the distance stereo camera 12 rotates around the lower stereo camera 13 and an offset amount between them occurs, the movement of the distance image is affected by the nature of the distance image as described later. However, since the lower camera axis and the far camera axis are in an orthogonal relationship, the process of removing the rotation speed component from the speed component including translation and rotation and the origin (XYZ coordinate system fixed in space at the distance measurement start point) It simplifies the navigation calculation process from the viewpoint of the origin and enables accurate grasp of the image movement.

【0025】尚、上記カメラアセンブリ10に使用する
カメラは、EIA準拠の白黒カメラの他、カラーCCD
カメラ(3−CCD方式をも含む)、赤外線カメラ、暗
視カメラ等のエリア・スキャンを行う方式のカメラや、
撮像素子からの情報をデジタルで出力する方式のカメラ
等が使用可能である。
The camera used for the camera assembly 10 is a monochrome CCD camera conforming to EIA, a color CCD camera, and the like.
Cameras (including 3-CCD system), infrared cameras, night-vision cameras, etc. that perform area scanning,
A camera or the like that digitally outputs information from an image sensor can be used.

【0026】上記ステレオ処理部30は、上記カメラア
センブリ10で撮像したアナログ画像をデジタル化し、
メインカメラ12a(13a)で撮像した画像(メイン
画像)とサブカメラ12b(13b)で撮像した画像
(サブ画像)とのステレオマッチングにより、メインカ
メラ12a(13a)の撮像対象領域と同じパターンを
持つ領域箇所をサブカメラ12b(13b)の撮像座標
から探して撮像素子から対象物までの距離に応じて生じ
る画素のズレ(=視差)を求め、このズレ量から得られ
る対象物までの遠近情報を数値化した3次元画像情報
(距離画像)を取得する。
The stereo processing unit 30 digitizes an analog image captured by the camera assembly 10,
By stereo matching between the image (main image) captured by the main camera 12a (13a) and the image (sub-image) captured by the sub camera 12b (13b), it has the same pattern as the imaging target area of the main camera 12a (13a). An area location is searched from the imaging coordinates of the sub-camera 12b (13b) to determine a pixel shift (= parallax) generated according to the distance from the image sensor to the object, and to obtain perspective information on the object obtained from the shift amount. Acquires three-dimensional image information (distance image) that has been digitized.

【0027】図3は、上記ステレオ処理部30の詳細構
成を示し、ゲインコントロールアンプ(GCA)31a
を有し、カメラアセンブリ10からの画像信号を処理す
るアナログI/F(インターフェース)31、このアナ
ログI/F31からの出力をA/D変換するA/Dコン
バータ32、画素毎の輝度の歪みを補正するためのシェ
ーディング補正データをストアするROM及びRAMか
らなるシェーディング補正用メモリ33、上記GCA3
1a及び上記A/Dコンバータ32への制御電圧を発生
するためのD/Aコンバータ34、画像の補正・変換や
カメラ制御等のデジタル処理のための各種機能をゲート
によって構成するFPGA(Field Programmable Gate
Array)35、補正・変換後の遠方・下方のメイン画像
及びサブ画像をストアする画像メモリ36、カメラシャ
ッター制御用に画像データをストアするシャッター制御
用元画像メモリ37、オプティカルフロー用に画像デー
タをストアするオプティカルフロー用メモリ38、メイ
ン画像とサブ画像とのステレオマッチングを行って距離
画像を生成するステレオマッチング回路39、距離画像
をストアする距離画像メモリ40、後述するヒストグラ
ム処理を行うための距離データをストアするヒストグラ
ム用距離データメモリ41等から構成されている。
FIG. 3 shows a detailed configuration of the stereo processing unit 30 and a gain control amplifier (GCA) 31a.
, An analog I / F (interface) 31 for processing an image signal from the camera assembly 10, an A / D converter 32 for A / D converting an output from the analog I / F 31, and a luminance distortion for each pixel. A shading correction memory 33 including a ROM and a RAM for storing shading correction data for correction,
1a and a D / A converter 34 for generating a control voltage to the A / D converter 32, and an FPGA (Field Programmable Gate) having various gates for digital processing such as image correction / conversion and camera control.
Array) 35, an image memory 36 for storing distant and lower main images and sub-images after correction and conversion, a shutter control original image memory 37 for storing image data for camera shutter control, and an image data for optical flow. An optical flow memory 38 for storing, a stereo matching circuit 39 for generating a distance image by performing stereo matching between a main image and a sub image, a distance image memory 40 for storing a distance image, distance data for performing a histogram process described later. Is stored in a histogram distance data memory 41 for storing the data.

【0028】上記FPGA35内部に構成されるデジタ
ル信号処理のための各種機能としては、上記D/Aコン
バータ34を制御するD/Aコントローラ45、各カメ
ラのイメージセンサの出力特性の相違等に起因する相互
の画像信号のバラツキを補正するために画像信号のゲイ
ンやオフセット量を変更するためのルックアップテーブ
ル(LUT;ROMで構成される)46、このLUT4
6で補正された画像データと上記シェーディング補正用
メモリ33からのシェーディング補正データとを乗算す
る乗算器47、画像の明暗部を対数変換して感度調整を
行うためのログ(Log)変換テーブル(ROMで構成
される)48、アドレスコントローラ49、上記シェー
ディング補正用メモリ33から上記乗算器47へのシェ
ーディング補正データの転送を制御するシェーディング
コントローラ50、各カメラ12a,12b,13a,
13bのシャッタースピード制御等を行うカメラコント
ローラ51、FPGA35内部の各種パラメータを外部
から書き換えあるいは読み出すための外部I/F52等
がある。
Various functions for digital signal processing included in the FPGA 35 are caused by a D / A controller 45 for controlling the D / A converter 34, a difference in output characteristics of an image sensor of each camera, and the like. Look-up table (LUT; composed of ROM) 46 for changing the gain and offset amount of the image signal in order to correct the variation of the mutual image signal, and this LUT 4
6, a multiplier 47 for multiplying the image data corrected in Step 6 by the shading correction data from the shading correction memory 33, and a log (Log) conversion table (ROM) for logarithmically converting the light and dark portions of the image to adjust the sensitivity. 48), an address controller 49, a shading controller 50 for controlling the transfer of shading correction data from the shading correction memory 33 to the multiplier 47, the cameras 12a, 12b, 13a,
There are a camera controller 51 for controlling the shutter speed of 13b and the like, an external I / F 52 for externally rewriting or reading various parameters inside the FPGA 35, and the like.

【0029】一方、上記オプティカルフロー処理部60
には、図4に示すように、航法演算処理に適正な画像領
域の絵柄箇所(以下、No1ブロックと称する)を評価
するためのヒストグラムを作成するヒストグラム処理回
路70、及び、撮像時間の異なる画像においてNo1ブ
ロックの絵柄と同じ箇所(以下、No2ブロックと称す
る)を探索するオプティカルフロー処理回路80をゲー
トによって構成したFPGA61、ヒストグラムデータ
をストアするヒストグラムメモリ62、No1ブロック
のアドレスやNo2ブロックのスキャン開始アドレスを
ストアするオプティカルフローアドレスメモリ63が備
えられている。
On the other hand, the optical flow processing unit 60
As shown in FIG. 4, a histogram processing circuit 70 for creating a histogram for evaluating a picture portion (hereinafter, referred to as a No. 1 block) in an image area appropriate for the navigation calculation processing, and images having different imaging times. , An FPGA 61 in which an optical flow processing circuit 80 for searching for the same location as the pattern of the No. 1 block (hereinafter, referred to as a No. 2 block) by a gate, a histogram memory 62 for storing histogram data, an address of the No. 1 block and a scan start of the No. 2 block An optical flow address memory 63 for storing addresses is provided.

【0030】上記No1ブロックは、上記航法処理部9
0において決定され、適度に小さい領域で画像が多少回
転しても平行移動のみで個々のNo1ブロックに対して
No2ブロックを確実にマッチングすることができ、ま
た、膨大な情報量の中から測距点までの距離を確実に絞
れるものとされる。本形態では、No1ブロックの大き
さは、12×6ピクセルの小領域である。
The No. 1 block corresponds to the navigation processing unit 9
0, the No. 2 block can be reliably matched to each No. 1 block only by translation even if the image is slightly rotated in a moderately small area. It is said that the distance to the point can be reliably reduced. In the present embodiment, the size of the No1 block is a small area of 12 × 6 pixels.

【0031】上記ヒストグラム処理回路70は、No1
ブロックの候補である12×6ピクセルの領域に対し、
対応する距離画像の領域に出現する距離画像値のヒスト
グラムを作成する。このヒストグラムは、上記航法処理
部90でのNo1ブロックの決定に際して参照され、撮
像画像の信頼性が評価される。すなわち、距離画像は、
左右のカメラが捕らえた画像パターンが同じならば、走
査線方向のズレ量に応じた距離画像値が得られるため、
この特徴を利用し、同じ距離画像値が周辺に所定の数が
あれば、対象画像は実在する確かな画像であると判断す
る。
The histogram processing circuit 70 determines that
For a 12 × 6 pixel area that is a block candidate,
A histogram of distance image values appearing in the corresponding range image region is created. The histogram is referred to when the navigation processing unit 90 determines the No. 1 block, and the reliability of the captured image is evaluated. That is, the distance image is
If the image patterns captured by the left and right cameras are the same, a distance image value corresponding to the amount of displacement in the scanning line direction can be obtained.
Utilizing this feature, if the same distance image value has a predetermined number in the periphery, it is determined that the target image is a real image that exists.

【0032】上記ヒストグラム処理回路70の構成は図
5に示され、並列接続された#1〜#nのn個の自己加
算型階調・度数モジュール71、各階調・度数モジュー
ル71の動作を制御する制御回路72、有効データの度
数を予め算出する前処理回路73から構成される。尚、
上記階調・度数モジュール71は、入力画像におけるサ
ンプル数と階調数とのうちの大きい方の数に見合うだけ
の数が使用される。
The configuration of the histogram processing circuit 70 is shown in FIG. 5, and controls the operation of the n self-addition type gradation / frequency modules 71 connected in parallel, # 1 to #n. And a preprocessing circuit 73 for calculating the frequency of valid data in advance. still,
As the gradation / frequency module 71, a number corresponding to the larger one of the number of samples and the number of gradations in the input image is used.

【0033】それぞれの階調・度数モジュール71は、
図6に示すように、階調ラッチ74、比較器による一致
検出回路75、OR回路76、度数ラッチ77、加算器
78によって構成されている。上記階調ラッチ74のD
入力端子、CK端子、E端子、SET端子には、それぞ
れ、上記ヒストグラム用距離データメモリ41からの距
離データ(階調データ)、同期クロック、上記制御回路
72からのロード信号(ラッチイネーブル信号)、初期
化を行うクリア信号が入力され、上記一致検出回路75
の各入力端子に、上記ヒストグラム用距離データメモリ
41からの階調データと上記階調ラッチ74のQ端子か
らのラッチデータとが入力される。
Each of the tone / frequency modules 71
As shown in FIG. 6, the circuit includes a gradation latch 74, a coincidence detection circuit 75 using a comparator, an OR circuit 76, a frequency latch 77, and an adder 78. D of the gradation latch 74
The input terminal, the CK terminal, the E terminal, and the SET terminal respectively have a distance data (gradation data) from the histogram distance data memory 41, a synchronization clock, a load signal (latch enable signal) from the control circuit 72, A clear signal for initialization is input, and the match detection circuit 75
The grayscale data from the histogram distance data memory 41 and the latch data from the Q terminal of the grayscale latch 74 are input to the respective input terminals of.

【0034】また、上記度数ラッチ77のD入力端子に
は、上記前処理回路73からの度数データと上記度数ラ
ッチ77のQ端子からのラッチデータとを上記加算器7
8によって加算した値が入力され、上記度数ラッチ77
のCK端子、E端子、CL端子には、それぞれ、同期ク
ロック、上記OR回路76の出力、上記制御回路72か
らのクリア信号が入力される。上記OR回路76には、
上記一致検出回路75からの一致判定信号が入力される
とともに、上記制御回路72からのロード信号が入力さ
れる。そして、上記一致検出回路75の一致判定信号が
上記制御回路72に入力され、上記階調ラッチ74のQ
端子から階調データが出力されるとともに上記度数ラッ
チ77のQ端子から度数データが出力され、上記ヒスト
グラムメモリ62にストアされる。
The D input terminal of the frequency latch 77 receives the frequency data from the pre-processing circuit 73 and the latch data from the Q terminal of the frequency latch 77 in the adder 7.
8 is input, and the frequency latch 77
The CK terminal, the E terminal, and the CL terminal are supplied with a synchronous clock, the output of the OR circuit 76, and the clear signal from the control circuit 72, respectively. In the OR circuit 76,
A match determination signal from the match detection circuit 75 is input, and a load signal from the control circuit 72 is input. Then, the coincidence determination signal of the coincidence detection circuit 75 is input to the control circuit 72, and the Q
The gradation data is output from the terminal and the frequency data is output from the Q terminal of the frequency latch 77 and stored in the histogram memory 62.

【0035】また、上記FPGA61内部に構成される
オプティカルフロー処理回路80は、メイン画像のNo
1ブロックと次フレームのメイン画像のNo2ブロック
の探索エリアから、それぞれ1画素毎の輝度データを読
み込み、所定のバイト数のデータ系列に並び替えて次段
に転送するデータ転送バッファ81、このデータ転送バ
ッファ81から転送された2系統のデータ系列に対して
シティブロック距離を計算し、このシティブロック距離
が最小値となる位置をNo2ブロックの探索結果として
出力する演算処理回路85等から構成される。
The optical flow processing circuit 80 formed inside the FPGA 61 is provided with a main image No.
A data transfer buffer 81 that reads luminance data for each pixel from the search area of the No. 2 block of the main image of one block and the next frame, rearranges the data into a data sequence of a predetermined number of bytes, and transfers the data to the next stage. It comprises an arithmetic processing circuit 85 which calculates the city block distance for the two data sequences transferred from the buffer 81, and outputs the position where the city block distance becomes the minimum value as the search result of the No. 2 block.

【0036】上記データ転送バッファ81は、図7に示
すように、シティブロック距離を計算する際の基準画像
であるメイン画像と比較画像であるサブ画像とに対応す
る基準側バッファ81aと比較側バッファ81bとから
なり、1バイトずつデータを読み込んで6バイトのデー
タ系列に並び替え、次段の演算処理回路85に転送す
る。
As shown in FIG. 7, the data transfer buffer 81 includes a reference buffer 81a and a comparison buffer corresponding to a main image as a reference image and a sub image as a comparison image when calculating a city block distance. 81b, the data is read one byte at a time, rearranged into a 6-byte data sequence, and transferred to the arithmetic processing circuit 85 at the next stage.

【0037】上記基準側バッファ81aは、図7(a)
に示すように、1バイトバッファに6バイトバッファが
接続された入力段82と、12セットの6バイトバッフ
ァをリング状に接続したリングバッファ83とから構成
され、このリングバッファ83先頭の出力バッファ83
aからデータを上記演算処理回路85にリング状に転送
する。また、上記比較側バッファ81bは、図7(b)
に示すように、同様に1バイトバッファに6バイトバッ
ファが接続された入力段82と、11セットの6バイト
バッファをリング状に接続したリングバッファ84とか
ら構成され、リングが一周したら最初のデータは破棄
し、次のデータ系列を読み込んで、同様に、先頭の出力
バッファ84aからデータを上記演算処理回路85にリ
ング状に転送する。
FIG. 7A shows the reference buffer 81a.
As shown in the figure, an input stage 82 in which a 6-byte buffer is connected to a 1-byte buffer, and a ring buffer 83 in which 12 sets of 6-byte buffers are connected in a ring shape,
The data from a is transferred to the arithmetic processing circuit 85 in a ring shape. Also, the comparison side buffer 81b is configured as shown in FIG.
As shown in the figure, the input stage 82 also includes an input stage 82 in which a 6-byte buffer is connected to a 1-byte buffer, and a ring buffer 84 in which 11 sets of 6-byte buffers are connected in a ring shape. Is discarded, the next data series is read, and similarly, data is transferred from the head output buffer 84a to the arithmetic processing circuit 85 in a ring shape.

【0038】すなわち、バッファセットをリング状に構
成することにより、バッファセットから演算処理回路8
5に転送するリソースを1/12にすることが可能とな
り、6×12のデータセレクタを不要とすることができ
る。
That is, by configuring the buffer set in a ring shape, the arithmetic processing circuit 8
5 can be reduced to 1/12, and a 6 × 12 data selector can be dispensed with.

【0039】上記演算処理回路85は、12画素×6画
素=72画素のシティブロック距離を計算する必要があ
るため、図8に示すように、6個の絶対値演算器86と
6個の加算器87とをピラミッド状に接続したパイプラ
イン構造のシティブロック距離計算回路85aに、上記
絶対値演算器86と同様の演算器にラッチを組み合わせ
た最小値検出回路85bを接続した構成となっている。
Since the arithmetic processing circuit 85 needs to calculate a city block distance of 12 pixels × 6 pixels = 72 pixels, as shown in FIG. 8, six absolute value calculators 86 and six adders are used. A minimum value detection circuit 85b in which a latch is combined with an arithmetic unit similar to the absolute value arithmetic unit 86 is connected to a city block distance calculation circuit 85a having a pipeline structure in which the units 87 are connected in a pyramid shape. .

【0040】シティブロック距離計算回路85aでは、
パイプライン構造の1段目が6個の絶対値演算器86か
らなる絶対値計算ブロック、2段〜4段目が、それぞ
れ、3個の加算器87からなる第1加算ブロック、1個
の加算器87からなる第2加算ブロック、1個の加算器
87からなる第3加算ブロック、5段目(最終段)が1
個の加算器87からなる総和加算器となっており、6画
素分を同時に入力して並列計算を行った後に連続計算を
行うパラレル・シリアル型計算回路により処理速度と回
路規模の両立を図っている。
In the city block distance calculation circuit 85a,
The first stage of the pipeline structure has an absolute value calculation block composed of six absolute value calculators 86, and the second to fourth stages each have a first addition block composed of three adders 87 and one addition. Adder block consisting of the adder 87, a third adder block consisting of one adder 87, the fifth stage (final stage)
This is a sum adder composed of a plurality of adders 87. A parallel / serial type calculation circuit that inputs six pixels simultaneously to perform parallel calculation and then performs continuous calculation achieves both processing speed and circuit scale. I have.

【0041】次に、上記航法処理部90は、ヒストグラ
ム処理結果によるNo1ブロックの決定やオプティカル
フローエリアの選定(No2ブロックのスキャン開始位
置の設定)等を行う画像処理プロセッサ系SYS1と、
オプティカルフロー処理結果に基づくフレーム間移動
量、機体の回転・並進成分の演算、航法軌跡の算出等を
行う航法処理プロセッサ系SYS2とに大別される。
Next, the navigation processing unit 90 includes an image processor system SYS1 for determining the No. 1 block based on the result of the histogram processing, selecting an optical flow area (setting the scan start position of the No. 2 block), and the like.
It is broadly classified into a navigation processor system SYS2 that calculates the amount of movement between frames based on the result of the optical flow processing, rotation / translation components of the airframe, calculation of a navigation trajectory, and the like.

【0042】上記画像処理プロセッサ系SYS1には、
上記データ転送バッファ81への基準側画像データとし
てNo1ブロックのメイン画像データをストアするNo
1ブロックメイン画像データメモリ91が備えられ、航
法処理プロセッサ系SYS2には、上記演算処理回路8
5の演算結果をストアするオプティカルフローデータメ
モリ92が備えられている。
The image processor system SYS1 includes:
No to store the main image data of the No. 1 block as the reference side image data in the data transfer buffer 81
A one-block main image data memory 91 is provided, and the navigation processor SYS2 includes the arithmetic processing circuit 8
5 is provided with an optical flow data memory 92 for storing the result of the calculation.

【0043】以上の構成による自己位置認識システムで
は、電源投入によるシステム起動時、ハードウエア各部
が初期化されるとともに、ステレオカメラの仕様定数
値、航法処理変数値等の変数値が初期化される。同時
に、シェーディングコントローラ50によってシェーデ
ィング補正用メモリ33のシェーディング補正データが
ROMからRAMに転送される。
In the self-position recognition system having the above configuration, when the system is started by turning on the power, the hardware components are initialized, and the variable values such as the specification constant value of the stereo camera and the navigation processing variable value are initialized. . At the same time, the shading controller 50 transfers the shading correction data in the shading correction memory 33 from the ROM to the RAM.

【0044】次に、システムクロックに基づく水平同期
信号及び垂直同期信号が各カメラ12a,12b,13
a,13bに外部同期信号として供給され、上記航法処
理部90によって書き込まれているシャッタースピード
値でFPGA35のカメラコントローラ51からカメラ
アセンブリ10の各カメラに別々にシャッタートリガ信
号が出力される。
Next, the horizontal synchronizing signal and the vertical synchronizing signal based on the system clock are transmitted to each of the cameras 12a, 12b and 13 respectively.
a and 13b are supplied as external synchronization signals, and a shutter trigger signal is separately output from the camera controller 51 of the FPGA 35 to each camera of the camera assembly 10 with the shutter speed value written by the navigation processing unit 90.

【0045】そして、ステレオ処理部30において、ス
テレオカメラ12a,12bで撮像された遠方画像、ス
テレオカメラ13a,13bで撮像された下方画像に対
し、それぞれ、2台のカメラのバラツキの補正や感度バ
ラツキの補正がなされた後、画像メモリ36にストアさ
れるとともに、ステレオマッチングにより距離画像が生
成され、この距離画像からオプティカルフローに使用可
能な小領域(No1ブロック)を評価するためのヒスト
グラムがオプティカルフロー処理部60のヒストグラム
処理回路70で作成される。
Then, the stereo processing unit 30 corrects the variance of the two cameras and the variance of the sensitivity of the two cameras with respect to the distant image captured by the stereo cameras 12a and 12b and the lower image captured by the stereo cameras 13a and 13b, respectively. Are stored in the image memory 36, a distance image is generated by stereo matching, and a histogram for evaluating a small area (No. 1 block) usable for the optical flow is obtained from the distance image. It is created by the histogram processing circuit 70 of the processing unit 60.

【0046】遠方画像、下方画像にそれぞれについてヒ
ストグラムが作成されると、航法処理部90では、作成
されたヒストグラムを参照して遠方メイン画像、下方メ
イン画像のそれぞれについてNo1ブロックを決定し、
また、No2ブロックの探索開始アドレスを決定する。
このNo1ブロックの先頭アドレス、No2ブロックの
探索開始アドレスは、オプティカルフロー処理部60の
オプティカルフローアドレスメモリ63に書き込まれ
る。
When histograms are created for each of the far image and the lower image, the navigation processing unit 90 determines No. 1 blocks for each of the far main image and the lower main image with reference to the created histograms.
Further, the search start address of the No2 block is determined.
The head address of the No. 1 block and the search start address of the No. 2 block are written to the optical flow address memory 63 of the optical flow processing unit 60.

【0047】オプティカルフロー処理部60では、オプ
ティカルフロー処理回路80によって、No2ブロック
の探索開始アドレスからスタートして、順次、対応する
領域のNo1ブロックとのシティブロック距離を計算
し、シティブロック距離が最小値を取る領域をNo2ブ
ロックとして、その領域のアドレスを出力する。
In the optical flow processing unit 60, the optical flow processing circuit 80 calculates the city block distance from the No. 1 block in the corresponding area, starting from the search start address of the No. 2 block, and sequentially calculates the city block distance. The area for taking the value is set as a No2 block, and the address of the area is output.

【0048】これにより、航法処理部90では、下方画
像のNo1ブロックとNo2ブロックとの間の移動量か
ら移動体(ヘリコプター)の速度成分(回転と並進とを
含む速度成分)を演算し、この速度成分から下方画像の
No1ブロックとNo2ブロックとの間の移動量から算
出される回転速度成分を差し引いて純並進速度成分を求
める。そして、この純並進速度成分を累積して航法軌跡
を計算する。
Thus, the navigation processing unit 90 calculates the speed component (speed component including rotation and translation) of the moving object (helicopter) from the amount of movement between the No. 1 block and No. 2 block in the lower image. A net translation speed component is obtained by subtracting the rotation speed component calculated from the movement amount between the No. 1 block and the No. 2 block of the lower image from the speed component. Then, the navigation trajectory is calculated by accumulating the net translation speed components.

【0049】以上の処理のタイミングは、自己位置認識
システムの内部カウンタであるラインNoで全て管理さ
れており、このラインNoは、画像サンプルの終了時に
リセットされる。本形態では、システムクロックにより
駆動されて00Hからカウントアップされ、82Hから
9CHまでの区間で次フレームの画像がサンプルされ、
その終了時(9CH)にリセットされる。
The timings of the above processing are all managed by a line number which is an internal counter of the self-position recognition system, and this line number is reset at the end of the image sample. In the present embodiment, the image is counted up from 00H by the system clock, and the image of the next frame is sampled in the section from 82H to 9CH.
It is reset at the end (9CH).

【0050】次に、撮像画像をサンプルした後の各部の
動作を詳細に説明する。まず、アナログI/F31で
は、D/Aコンバータ34からのコントロール電圧に応
じてGCA31aで画像信号のゲインを調整し、各ステ
レオカメラ12,13毎の2台のカメラのゲインのバラ
ツキを調整してA/Dコンバータ32に出力する。A/
Dコンバータ32では、D/Aコントローラ45からの
リファレンス電圧によって各ステレオカメラ12,13
毎に2台のカメラの画像信号のオフセット差を調整し、
アナログ画像を所定の輝度階調(例えば256階調のグ
レースケール)のデジタル画像に変換する。尚、上記G
CA31aのゲインコントロール電圧、A/Dコンバー
タ32のリファレンス電圧は、航法処理部90によって
FPGA35内部に書き込まれている電圧値がD/Aコ
ントローラ45に転送される。
Next, the operation of each unit after sampling the captured image will be described in detail. First, in the analog I / F 31, the gain of the image signal is adjusted by the GCA 31a according to the control voltage from the D / A converter 34, and the variation in the gain of the two cameras for each of the stereo cameras 12 and 13 is adjusted. Output to the A / D converter 32. A /
In the D converter 32, each of the stereo cameras 12, 13 is controlled by a reference voltage from the D / A controller 45.
Adjust the offset difference between the image signals of the two cameras every time,
The analog image is converted into a digital image having a predetermined luminance gradation (for example, 256 gray scales). The above G
As for the gain control voltage of the CA 31a and the reference voltage of the A / D converter 32, the voltage value written in the FPGA 35 by the navigation processing unit 90 is transferred to the D / A controller 45.

【0051】上記アナログI/F31からA/Dコンバ
ータ32を経て各ステレオカメラ12,13毎にゲイン
・オフセットの整合が取られたデジタル画像データは、
FPGA35内部のLUT46へアドレスデータとして
与えられ、LUT46からのデータとシェーディングコ
ントローラ50からの指示で転送されるシェーディング
補正用メモリ33からのシェーディング補正データとが
乗算器47で乗算される。これにより、各ステレオカメ
ラ12,13毎に更に厳密にゲイン及びオフセットが整
合されるとともに、各ステレオカメラ12,13の光学
系に発生するシェーディング現象による輝度低下が補正
される。
The digital image data from the analog I / F 31 via the A / D converter 32 and the gain / offset of each of the stereo cameras 12 and 13 are matched.
The data is supplied to the LUT 46 in the FPGA 35 as address data, and the data from the LUT 46 and the shading correction data from the shading correction memory 33 transferred according to an instruction from the shading controller 50 are multiplied by the multiplier 47. As a result, the gain and the offset are more strictly matched for each of the stereo cameras 12 and 13, and a reduction in luminance due to a shading phenomenon occurring in the optical system of each of the stereo cameras 12 and 13 is corrected.

【0052】次に、乗算器47から出力される画像デー
タがログ変換テーブル48によって対数変換されて明る
さに比例するノイズ成分の影響が除去され、画像メモリ
36に遠方メイン画像、遠方サブ画像、下方メイン画
像、下方サブ画像のデータが、次段のステレオマッチン
グ回路39での処理に適応した形態でストアされる。こ
の画像メモリ36にストアされる画像データは、水平ラ
インの4ライン毎のデータであり、同時に、水平4ライ
ンに1ライン分の画像データがシャッター制御用元画像
メモリ37にストアされるとともに、オプティカルフロ
ー用メモリ38に遠方・下方のメイン画像データが全ラ
インストアされる。
Next, the image data output from the multiplier 47 is logarithmically converted by the log conversion table 48 to remove the effects of noise components proportional to the brightness, and the distant main image, distant sub-image, The data of the lower main image and the lower sub image are stored in a form suitable for the processing in the stereo matching circuit 39 at the next stage. The image data stored in the image memory 36 is data for every four horizontal lines. At the same time, one horizontal line of image data is stored in the original image memory 37 for shutter control, and The main image data at the far end and the lower end are all stored in the flow memory 38.

【0053】その後、画像メモリ36の元画像データが
ステレオマッチング回路39に4バイトずつ転送され、
4×4画素の領域についてメイン画像とサブ画像とのス
テレオマッチングが100画素ずれまで行われ、図9に
示すような距離画像が生成されて距離画像メモリ40及
びヒストグラム用距離データメモリ41に書き込まれ
る。尚、ステレオカメラの撮像画像から距離画像を生成
する処理については、本出願人による特開平5−114
099号公報に詳述されている。
After that, the original image data in the image memory 36 is transferred to the stereo matching circuit 39 in 4-byte units.
Stereo matching between the main image and the sub image is performed up to a 100 pixel shift in the area of 4 × 4 pixels, and a distance image as shown in FIG. 9 is generated and written in the distance image memory 40 and the histogram distance data memory 41. . The processing of generating a distance image from a captured image of a stereo camera is described in Japanese Patent Application Laid-Open No. 5-114 by the present applicant.
No. 099.

【0054】以上のステレオ処理により距離画像を取得
すると、オプティカルフロー処理部60では、図10に
示すように、No1ブロックを元画像から抽出するため
の12×6画素の領域の距離データのヒストグラムをヒ
ストグラム処理回路70で作成する。このヒストグラム
作成処理は、400×200画素の距離画像に対して縦
4画素・横4画素ずつずらして行われ、水平1ラインに
ついて98個、全体で横98×縦49個の領域について
行われる。
When the distance image is obtained by the above-described stereo processing, the optical flow processing unit 60 generates a histogram of the distance data of the area of 12 × 6 pixels for extracting the No. 1 block from the original image as shown in FIG. It is created by the histogram processing circuit 70. This histogram creation processing is performed by shifting the distance image of 400 × 200 pixels by 4 pixels in the vertical direction and 4 pixels in the horizontal direction, and is performed for 98 horizontal lines and a total of 98 horizontal × 49 vertical regions.

【0055】詳細には、ヒストグラム処理回路70で
は、まず、クリア信号により、データをラッチする階調
・度数モジュール71の番号を指定するための制御回路
72内のモジュール番号カウンタが0に初期化され、ま
た、全ての階調・度数モジュール71内の度数ラッチ7
7が0にされるとともに、階調ラッチ74が設定値(入
力階調データの最大値が64Hの場合、FFH)に初期
化される。また、最初の4×4画素の領域のデータの度
数が前処理回路73でカウントされる。
More specifically, in the histogram processing circuit 70, first, a module number counter in the control circuit 72 for designating the number of the gradation / frequency module 71 for latching data is initialized to 0 by the clear signal. The frequency latches 7 in all the gradation / frequency modules 71
7 is set to 0, and the gradation latch 74 is initialized to a set value (FFH when the maximum value of the input gradation data is 64H). Further, the frequency of the data in the area of the first 4 × 4 pixels is counted by the preprocessing circuit 73.

【0056】そして、初期化後、最初の4×4画素の小
領域の代表階調データ(距離データ)が入力されると、
制御回路72内部のモジュール番号カウンタが1とさ
れ、#1の階調・度数モジュール71#1(以下、モジュ
ール番号を添え字#1〜#nによって示す)内の階調ラッチ
74#1にロード信号が出力されるとともにOR回路76
#1を介して度数ラッチ77#1にロード信号が出力され
る。これにより、階調ラッチ74#1がイネーブルとなっ
て同期クロックにより最初の階調データが書き込まれて
ラッチされ、また、度数ラッチ77#1がイネーブルとな
って同期クロックにより前処理後の度数データが度数ラ
ッチ77に書き込まれる。
After the initialization, when representative gradation data (distance data) of the first small area of 4 × 4 pixels is input,
The module number counter inside the control circuit 72 is set to 1 and loaded into the gradation latch 74 # 1 in the gradation / frequency module 71 # 1 of # 1 (hereinafter, the module numbers are indicated by subscripts # 1 to #n). The signal is output and the OR circuit 76 is output.
A load signal is output to frequency latch 77 # 1 via # 1. As a result, the grayscale latch 74 # 1 is enabled and the first grayscale data is written and latched by the synchronous clock, and the frequency latch 77 # 1 is enabled and the frequency data after preprocessing is performed by the synchronous clock. Is written to the frequency latch 77.

【0057】次に、2番目の小領域の階調データが階調
・度数モジュール71#1に入力されると、階調・度数モ
ジュール71#1では、内部の階調ラッチ74#1でラッチ
した最初の小領域の階調データと2番目の小領域の階調
データとを一致検出回路75#1で比較し、一致判定信号
をOR回路76#1及び制御回路72に出力する。
Next, when the gradation data of the second small area is input to the gradation / frequency module 71 # 1, the gradation / frequency module 71 # 1 latches the data by the internal gradation latch 74 # 1. The match detection circuit 75 # 1 compares the gradation data of the first small region and the gradation data of the second small region, and outputs a match determination signal to the OR circuit 76 # 1 and the control circuit 72.

【0058】この一致判定信号は、データが一致してい
るときに1、不一致のときに0の信号であり、一致検出
回路75#1の出力が1のとき、すなわち、最初の小領域
の階調データと2番目の小領域の階調データとが一致す
るとき、OR回路76#1を介して度数ラッチ77#1がイ
ネーブルとなり、この度数ラッチ77#1でラッチしてい
る度数データと今回入力された度数データとが加算器7
8で加算されて度数ラッチ77#1に書き込まれる。
This match determination signal is a signal of 1 when the data matches, and a signal of 0 when the data does not match. When the output of the match detection circuit 75 # 1 is 1, ie, the floor of the first small area. When the tone data matches the tone data of the second small area, the frequency latch 77 # 1 is enabled via the OR circuit 76 # 1, and the frequency data latched by the frequency latch 77 # 1 and the current The input frequency data and the adder 7
The result is added at 8 and written to the frequency latch 77 # 1.

【0059】一方、一致検出回路75#1の出力が0のと
き、すなわち、ラッチしている最初の小領域の階調デー
タと今回入力された2番目の小領域の階調データとが一
致しないときには、OR回路76#1を介して度数ラッチ
77#1がディスエイブルの状態のままラッチデータが保
持される一方、制御回路72では内部のモジュール番号
カウンタを2とし、#2の階調・度数モジュール71#2
にロード信号を出力する。これにより、#2の階調・度
数モジュール71#2内部の階調ラッチ74#2及び度数ラ
ッチ77#2がイネーブルとなり、階調ラッチ74#2に2
番目の小領域の階調データが書き込まれるとともに、度
数ラッチ77#1に2番目の小領域の度数データが書き込
まれる。
On the other hand, when the output of the coincidence detection circuit 75 # 1 is 0, that is, the gradation data of the latched first small area does not match the gradation data of the second small area inputted this time. Occasionally, the latch data is held via the OR circuit 76 # 1 while the frequency latch 77 # 1 is in a disabled state, while the control circuit 72 sets the internal module number counter to 2 and sets the # 2 gradation / frequency Module 71 # 2
Output the load signal. As a result, the grayscale latch 74 # 2 and the frequency latch 77 # 2 inside the # 2 grayscale / frequency module 71 # 2 are enabled, and 2 is input to the grayscale latch 74 # 2.
While the gradation data of the second small area is written, the frequency data of the second small area is written to the frequency latch 77 # 1.

【0060】以上の動作を繰り返し、1つの12×6の
領域に対する処理が終了すると、#1の階調・度数モジ
ュール71#1から順に階調及び度数データを読み出して
ヒストグラムメモリ62にストアしてゆき、度数が0の
モジュールで動作を停止してクリア信号による再初期化
を行い、次の12×6の領域の処理に移る。
The above operation is repeated, and when the processing for one 12 × 6 area is completed, the gradation and frequency data are read out from the # 1 gradation / frequency module 71 # 1 in order and stored in the histogram memory 62. After that, the operation is stopped in the module having the frequency of 0, the re-initialization is performed by the clear signal, and the process proceeds to the next 12 × 6 area.

【0061】すなわち、図11のタイムチャートに示す
ように、階調データと前処理で計算した度数データとを
各モジュールの入力データとして各モジュールでラッチ
しておき、入力された階調データが過去にラッチした階
調データと一致する場合、そのモジュールでラッチして
いる度数データに新たな度数データを加算して再ラッチ
することで度数データを蓄積する。
That is, as shown in the time chart of FIG. 11, the gradation data and the frequency data calculated in the preprocessing are latched in each module as input data of each module, and the inputted gradation data is stored in the past. If the data coincides with the gradation data latched in the module, the frequency data is accumulated by adding new frequency data to the frequency data latched by the module and re-latching.

【0062】一方、過去に階調データがラッチされたど
のモジュールでもデータが一致しない場合には、制御回
路72内部のモジュール番号カウンタがカウントアップ
されて新しいモジュールにロード信号が出力され、新し
い階調データ及び度数データが新しいモジュールにラッ
チされる過程を繰り返し、入力画像の全ての種類の階調
データ及び前処理後の度数データが次々とラッチされ、
度数データが蓄積されてゆく。
On the other hand, if the data does not match in any module in which the grayscale data has been latched in the past, the module number counter in the control circuit 72 is counted up and a load signal is output to the new module, and the new grayscale data is output. Repeat the process of latching the data and frequency data in the new module, all types of gradation data of the input image and frequency data after pre-processing are latched one after another,
Frequency data is accumulated.

【0063】以上のヒストグラム処理回路70で作成さ
れたヒストグラムは、航法処理部90の画像処理プロセ
ッサ系SYS1で参照され、遠方メイン画像、下方メイ
ン画像のそれぞれについてNo1ブロックが決定され
る。このNo1ブロックの決定は、図13に示すNo1
ブロック群取得処理ルーチンに従って行われる。
The histogram created by the histogram processing circuit 70 is referred to by the image processor SYS1 of the navigation processing unit 90, and the No. 1 block is determined for each of the far main image and the lower main image. The determination of the No1 block is performed by using the No1 block shown in FIG.
This is performed according to a block group acquisition processing routine.

【0064】このルーチンでは、まず、ステップS30
で、取り込んだ撮像画像に対し、遠方処理をすべきか下
方処理をすべきかを選択する。この処理の選択は、撮像
画像の処理タイミングが遠方画像が先で下方画像が次で
あることから、先に取り込んだ画像は遠方画像であると
してステップS31以降の遠方処理へ進み、次に取り込む
画像に対してはステップS33以降の下方処理へ進む。
In this routine, first, at step S30
Then, it is selected whether the captured image is to be processed far or downward. The selection of this processing is as follows. Since the processing timing of the captured image is that the distant image is first and the lower image is next, it is assumed that the previously captured image is the distant image, and the process proceeds to the distant processing after step S31. , The process proceeds to the downward process after step S33.

【0065】ステップS31以降の遠方処理では、ステッ
プS31で、遠方画像に対してNo1ブロックを探す走査
範囲をイニシャル処理として設定する。この走査範囲
は、例えば、撮像面の水平走査方向をW、垂直走査方向
をTとする全領域W×Tの内、水平走査方向の画面両端
の検索しろi2と、垂直走査方向の画面両端の検索しろ
j2とを除いた領域WA×TSL(WA=W−2・i2、
TSL=T−2・j2)とし、水平走査方向の幅WAを均
等に10分割して10個の探索エリアWS×TSLを設
定する。すなわち、各探索エリアWS×TSL毎に最大
1個のNo1ブロックを抽出するようにし、同じ探索エ
リアから2個以上のNo1ブロックを抽出することな
く、撮像画面の特定の領域に抽出箇所が集中しないよう
にする。
In the distant processing after step S31, in step S31, a scanning range in which a distant image is searched for the No. 1 block is set as initial processing. This scanning range includes, for example, a search margin i2 at both ends of the screen in the horizontal scanning direction and a search margin i2 at both ends of the screen in the vertical scanning direction in a whole area W × T where W is the horizontal scanning direction of the imaging surface and T is the vertical scanning direction. Area WA × TSL excluding search margin j2 (WA = W−2 · i2,
TSL = T−2 · j2), the width WA in the horizontal scanning direction is equally divided into ten, and ten search areas WS × TSL are set. That is, a maximum of one No1 block is extracted for each search area WS × TSL, and the extraction locations are not concentrated on a specific area of the imaging screen without extracting two or more No1 blocks from the same search area. To do.

【0066】次に、ステップS32で、探索エリアWS×
TSLの中から12×6ピクセルの絵柄箇所を切り出
し、切り出し箇所の画像品質を評価し、No1ブロック
を決定する。12×6ピクセルの絵柄箇所の画像品質
は、対応する距離画像の12×6ピクセルの領域のヒス
トグラムによって良否を判定する。
Next, in step S32, the search area WS ×
A picture portion of 12 × 6 pixels is cut out from the TSL, the image quality of the cut portion is evaluated, and the No. 1 block is determined. The quality of the image quality of the 12 × 6 pixel picture portion is determined based on the histogram of the 12 × 6 pixel area of the corresponding distance image.

【0067】すなわち、12×6ピクセルの距離画像領
域の距離情報にバラツキがあると、これから定めようと
するNo1ブロックは、ある1箇所(1点)を見ている
のではなく、同じ窓(小領域)の中に遠近が異なる複数
箇所の対象物を見ていることになり、ヒストグラム中に
遠近が異なる複数の対象物がノイズとして出現すること
になる。従って、ヒストグラム中から最も出現頻度が多
い距離画像値maxzと、その最大ヒストグラム値ma
xnumを求め、この最大ヒストグラム値maxnum
近辺の他の距離画像値の出現頻度を調べることにより、
使用する領域の対象物の候補を定めることができる。
That is, if there is variation in the distance information of the 12 × 6 pixel range image area, the No. 1 block to be determined from now on does not look at a certain point (one point), but in the same window (small window). This means that a plurality of objects having different perspectives are viewed in the region, and a plurality of objects having different perspectives appear as noise in the histogram. Therefore, the distance image value maxz having the highest appearance frequency in the histogram and its maximum histogram value ma
xnum, and the maximum histogram value maxnum
By examining the frequency of appearance of other range image values in the vicinity,
Candidates for objects in the area to be used can be determined.

【0068】本形態では、maxz±2の範囲に絞って
12×6ピクセルの距離画像領域に含まれる距離画像値
と、それぞれのヒストグラム値を調査するようにしてお
り、maxz±2の範囲の出現頻度の総度数dsumを
以下の(1)式で算出し、所定の閾値に定める許容範囲内
にある「OK情報」の度数が所定の数を満足し、且つ、
maxz±2の範囲の総度数dsumが「OK情報」の
度数の内の大部分を占める(例えば、80%以上)と
き、切り出した12×6ピクセルの絵柄箇所は信頼性の
ある画像と判断し、No1ブロックとして決定する。 dsum=m2+m1+maxnum+p1+p2 …(1) 但し、m2:maxz−2における出現頻度 m1:maxz−1における出現頻度 p1:maxz+1における出現頻度 p2:maxz+2における出現頻度
In this embodiment, the range image values included in the range image region of 12 × 6 pixels and the respective histogram values are examined by narrowing down to the range of maxz ± 2, and the appearance of the range of maxz ± 2 The total frequency dsum of the frequency is calculated by the following equation (1), and the frequency of “OK information” within an allowable range defined by a predetermined threshold satisfies a predetermined number, and
When the total frequency dsum in the range of maxz ± 2 occupies most of the frequency of “OK information” (for example, 80% or more), the extracted 12 × 6 pixel picture portion is determined to be a reliable image. , No. 1 block. dsum = m2 + m1 + maxnum + p1 + p2 (1) where m2: frequency of occurrence in maxz-2 m1: frequency of appearance in maxz-1 p1: frequency of appearance in maxz + 1 p2: frequency of appearance in maxz + 2

【0069】次に、No1ブロックの絵柄抽出が決定す
ると、航法計算に必要な対象物までの距離値を正確に知
るため、12×6ピクセルの距離画像領域の平均距離画
像値fz1を以下の(2)式によって求める。 fz1=zsum/dsum …(2) 但し、zsum=(maxz−2)・m2+(maxz−
1)・m1+maxz・maxnum+(maxz+1)・p
1+(maxz+2)・p2
Next, when the pattern extraction of the No. 1 block is determined, the average distance image value fz1 of the distance image area of 12 × 6 pixels is calculated as follows in order to accurately know the distance value to the object required for the navigation calculation. 2) Calculate by equation. fz1 = zsum / dsum (2) where zsum = (maxz−2) · m2 + (maxz−
1) · m1 + maxz · maxnum + (maxz + 1) · p
1+ (maxz + 2) · p2

【0070】以上の遠方画像に対するNo1ブロック取
得処理を、各探索エリアWS×TSL毎に行い、画像全
体で最大10個のNo1ブロックを取得すると、ステッ
プS33以降の下方処理に移行する。尚、探索エリアWS
×TSLで適正なNo1ブロックが見つからないときに
は、該当する探索エリアでの抽出を中止する。
The above-described No. 1 block acquisition processing for the distant image is performed for each search area WS × TSL. When a maximum of 10 No. 1 blocks are acquired for the entire image, the processing shifts to the downward processing from step S33. In addition, the search area WS
If an appropriate No1 block is not found in × TSL, the extraction in the corresponding search area is stopped.

【0071】下方処理では、ステップS33において、下
方画像に対するイニシャル処理として、No1ブロック
を探す走査範囲を設定する。この下方画像の走査範囲
は、遠方画像の10個の探索エリアWS×TSLに対
し、垂直走査方向をTAとした領域WS×TAで、画面
の中央ラインThから進行方向側に所定量オフセットさ
せたラインTtを探索開始ラインとする領域であり、画
面全体に分散した特徴的な絵柄を抽出できるよう、垂直
走査方向の幅TAを3分割して30個の探索エリアWS
×TSGを設定する。
In the lower process, in step S33, a scan range for searching for the No. 1 block is set as an initial process for the lower image. The scanning range of this lower image is a region WS × TA in which the vertical scanning direction is TA with respect to the ten search areas WS × TSL of the distant image, and is offset by a predetermined amount from the center line Th of the screen toward the traveling direction. This is an area where the line Tt is a search start line, and the width TA in the vertical scanning direction is divided into three parts so that 30 search areas WS can be extracted so as to extract a characteristic picture dispersed throughout the screen.
X Set TSG.

【0072】この場合、上記オフセットラインTtは、
前回処理で求めた並進速度によって可変するようにして
おり、下方画像の動きを考慮し、前・後進速度に応じて
撮像面を有効に利用するようにしている。
In this case, the offset line Tt is
It is made to vary according to the translation speed obtained in the previous processing, and taking into account the movement of the lower image, the imaging surface is used effectively according to the forward / reverse speed.

【0073】次に、ステップS34では、探索エリアWS
×TSGの中から12×6ピクセルの絵柄箇所を切り出
し、切り出し箇所の画像品質を評価してNo1ブロック
を決定する。この下方画像におけるNo1ブロックの決
定は、前述した遠方画像におけるNo1ブロックの決定
と同様であるが、「OK情報」を選別するための閾値が
異なる。すなわち、下方画像の動きから並進速度成分を
計算するため、距離画像データが多く存在する領域で、
且つ、バラツキが小さい平面的な領域をNo1ブロック
の候補として閾値を定める。
Next, in step S34, the search area WS
A picture portion of 12 × 6 pixels is cut out from the × TSG, and the image quality of the cut portion is evaluated to determine the No. 1 block. The determination of the No. 1 block in the lower image is the same as the determination of the No. 1 block in the distant image described above, except that the threshold for selecting the “OK information” is different. That is, in order to calculate the translation speed component from the motion of the lower image, in a region where there are many distance image data,
In addition, a threshold value is determined for a planar area having a small variation as a candidate for the No. 1 block.

【0074】そして、上記ステップS34において、水平
走査方向に最大10個のNo1ブロックを取得すると、
ステップS35へ進んで下方画像における全ての探索エリ
アの処理が済んだか否かを調べ、全ての処理が終了して
いない場合には、ステップS34へ戻って、一段下の探索
エリアに対する処理を続行する。そして、このステップ
S34→ステップS35→ステップS34のループを3回繰り返
して30個の探索エリアについての処理を行う。この場
合においても、探索エリアWS×TSGで適正なNo1
ブロックが見つからないときには、該当する探索エリア
での抽出を中止する。
Then, in step S34, when a maximum of 10 No. 1 blocks are obtained in the horizontal scanning direction,
Proceeding to step S35, it is checked whether or not all the search areas in the lower image have been processed. If not all processing has been completed, the flow returns to step S34 to continue the processing for the next lower search area. . And this step
The loop of S34 → Step S35 → Step S34 is repeated three times to perform processing for 30 search areas. Also in this case, in the search area WS × TSG, an appropriate No. 1
If no block is found, the extraction in the corresponding search area is stopped.

【0075】以上により、遠方画像・下方画像のそれぞ
れについてNo1ブロック群を取得すると、画像処理プ
ロセッサ系SYS1では、さらに、No1ブロックと同
じ絵柄を持つNo2ブロックを探すための探索開始エリ
アを、所定時間経過後のNo1ブロックの所在を予測し
て設定する。
As described above, when the No. 1 block group is acquired for each of the far image and the lower image, the image processor SYS1 further sets a search start area for searching for a No. 2 block having the same pattern as the No. 1 block for a predetermined time. The location of the No1 block after the elapse is predicted and set.

【0076】すなわち、No1ブロックが決定すると、
No1ブロックの撮像面での代表座標が決まるため、ま
ず、No1ブロックの代表座標を中心として、上下左右
に所定のオフセット量(xf,yf)を与えた4点a,
b,c,dを決定する。そして、この4点a,b,c,
dを結んだ4角形の枠内すなわち(2・xf)×(2・y
f)の領域を、画面に動きが無いときの撮像情報でNo
1ブロックと同じ絵柄が存在すると予測した探索エリア
とし、この探索エリアを、遠方・下方画像のそれぞれの
特徴を考慮して配置する。
That is, when the No1 block is determined,
Since the representative coordinates of the No. 1 block on the imaging surface are determined, first, four points a, given a predetermined offset amount (xf, yf) in the vertical and horizontal directions around the representative coordinates of the No. 1 block.
b, c, d are determined. And these four points a, b, c,
d in a rectangular frame, that is, (2 · xf) × (2 · y
In the area of f), the imaging information when there is no motion on the screen is No.
A search area in which the same pattern as one block is predicted is set as a search area, and the search area is arranged in consideration of the features of the distant and lower images.

【0077】遠方画像の場合には、測定点から十分遠く
(例えば、30m以上)離れた箇所を測距するため、短
時間での上下・左右の並進移動による画像の変化を受け
難く、遠方画像で得たNo1ブロックの動きは、回転成
分による動きとして捉えられる。従って、遠方画像で
は、撮像面座標の原点Oの回りの回転角αによって探索
エリアの4点a,b,c,dの座標値を変換し、4点
a,b,c,dを結んだ4角形の探索エリアを設定す
る。
In the case of a distant image, a distance sufficiently far (for example, 30 m or more) from the measurement point is measured, so that it is hard to receive an image change due to vertical and horizontal translational movement in a short time. The motion of the No. 1 block obtained in is captured as a motion due to the rotation component. Therefore, in the distant image, the coordinate values of the four points a, b, c, and d in the search area are converted by the rotation angle α around the origin O of the imaging plane coordinates, and the four points a, b, c, and d are connected. Set a rectangular search area.

【0078】一方、下方画像の場合には、撮像面上の移
動量は、並進成分、回転成分のどちらの動きで生じたも
のか判断し難い。このため、一定時間経過後のNo1ブ
ロックの所在を予測し、その移動先に、次フレーム以降
のNo2ブロックの検索エリアを設定する。すなわち、
ヘリコプターの動きに対して処理速度が十分に速いとき
や、実撮像範囲が広いときには、画面毎の画像の動きは
大きくないため、探索エリアは単位時間当たりの最大変
化量を探索範囲と置けば良いが、ヘリコプターが大きく
動く場合には、処理速度や撮像範囲が十分でないと仮定
して動きを予測し、過去の速度成分を参考にして探索エ
リアを設定する。
On the other hand, in the case of the lower image, it is difficult to determine whether the movement amount on the imaging surface is caused by a translation component or a rotation component. For this reason, the location of the No. 1 block after a lapse of a predetermined time is predicted, and a search area for the No. 2 block after the next frame is set as the destination. That is,
When the processing speed is sufficiently fast with respect to the movement of the helicopter, or when the actual imaging range is wide, the movement of the image for each screen is not large, so the search area may be set to the maximum change amount per unit time as the search range. However, when the helicopter moves greatly, the movement is predicted on the assumption that the processing speed and the imaging range are not sufficient, and the search area is set with reference to the past speed components.

【0079】一定時間経過後のNo1ブロックの所在を
予測するには、前回の角速度計算で得られたロール・ピ
ッチ・ヨー成分と前回の並進速度計算で得られた純並進
量とから、所定時間後のNo1ブロックの移動先を撮像
面座標の動き(仮想的なオプティカルフロー)に変換す
る。そして、No1ブロックを決定したフレームとNo
2ブロックを探し出す対象フレームとの間の仮想的なオ
プティカルフローに基づいて、No2ブロックの探索エ
リアを設定する。
In order to predict the location of the No. 1 block after the lapse of a certain time, a predetermined time is calculated from the roll, pitch, and yaw components obtained by the previous angular velocity calculation and the net translation amount obtained by the previous translation speed calculation. The movement destination of the subsequent No. 1 block is converted into the movement of the imaging plane coordinates (virtual optical flow). Then, the frame in which the No1 block is determined and the No.
A search area for the No. 2 block is set based on a virtual optical flow between the target frame for searching for the two blocks.

【0080】以上により決定されたNo1ブロックの画
像データは、画像処理プロセッサ系SYS1のNo1ブ
ロックメイン画像データメモリ91にストアされ、No
1ブロックのアドレスとNo2ブロックの探索開始アド
レスとがオプティカルフロー処理部60のオプティカル
フローアドレスメモリ63にストアされる。
The image data of the No. 1 block determined as described above is stored in the No. 1 block main image data memory 91 of the image processing system SYS1.
The address of one block and the search start address of the No. 2 block are stored in the optical flow address memory 63 of the optical flow processing unit 60.

【0081】オプティカルフロー処理部60では、No
1ブロックメイン画像データメモリ91からのデータと
次のフレームでサンプルされてオプティカルフローメモ
リ38にストアされているデータとをオプティカルフロ
ー処理回路80のデータ転送バッファ81に読み込み、
演算処理回路85でシティブロック距離を計算してNo
2ブロックを探索する。
In the optical flow processing unit 60,
The data from the one-block main image data memory 91 and the data sampled in the next frame and stored in the optical flow memory 38 are read into the data transfer buffer 81 of the optical flow processing circuit 80,
The arithmetic processing circuit 85 calculates the city block distance and returns No.
Search for two blocks.

【0082】すなわち、図12に示すように、時刻t=
t1における画像で決定したNo1ブロックの12×6
画素のデータをai,j(i=0〜11,j=0〜5)、
時刻t=t1+Δtにおける画像のNo2ブロックの検
索エリアの12×6画素のデータをbi,j(i=0〜1
1,j=0〜5)として、以下の(3)式に示すシティブ
ロック距離Hが最小値を取る位置がNo2ブロックの位
置すなわちNo1ブロックの移動後の位置となる。尚、
(3)式中、最初のΣはj=0〜5の総和、次のΣはi=
0〜11の総和を示す。 H=ΣΣ│ai,j−bi,j│ …(3)
That is, as shown in FIG.
12 × 6 of the No1 block determined in the image at t1
Pixel data is ai, j (i = 0 to 11, j = 0 to 5),
The data of 12 × 6 pixels in the search area of the No. 2 block of the image at time t = t1 + Δt is represented by bi, j (i = 0 to 1).
(1, j = 0 to 5), the position where the city block distance H shown in the following equation (3) takes the minimum value is the position of the No. 2 block, that is, the position after the movement of the No. 1 block. still,
In the equation (3), the first Σ is the sum of j = 0 to 5, and the next Σ is i =
Shows the sum of 0-11. H = ΣΣ│ai, j-bi, j│… (3)

【0083】このシティブロック距離を演算するため、
データ転送バッファ81では、基準側バッファ81aに
No1ブロックメイン画像データメモリ91から1バイ
トずつ画像データを読み込むとともに、比較側バッファ
81bにオプティカルフローメモリ38から1バイトず
つ画像データを読み込み、6バイトのバッファセットが
揃ったとき、それぞれ、リングバッファ83,84に転
送する。
To calculate this city block distance,
In the data transfer buffer 81, the image data is read one byte at a time from the No. 1 block main image data memory 91 into the reference buffer 81a, and the image data is read one byte at a time from the optical flow memory 38 into the comparison buffer 81b. When the sets are completed, they are transferred to the ring buffers 83 and 84, respectively.

【0084】各リングバッファ83,84では、1番目
のバッファセットが演算処理回路85に転送され、同時
に、次段のバッファにも転送される。この動作を12回
繰り返して演算処理回路85にデータを転送すると、1
つのシティブロック距離が演算される。
In each of the ring buffers 83 and 84, the first buffer set is transferred to the arithmetic processing circuit 85 and, at the same time, to the next buffer. By repeating this operation 12 times and transferring data to the arithmetic processing circuit 85, 1
Two city block distances are calculated.

【0085】リングが1周して次のシティブロック距離
演算に入ると、基準側バッファ81aでは、12セット
のリングバッファ83の先頭バッファである出力バッフ
ァ83aに1番目のデータが格納され、比較側バッファ
81bでは、11セットのリングバッファ84の先頭バ
ッファである出力バッファに2番目のデータが格納され
る(1番目のデータは破棄されている)。今度は、リン
グを回転させるだけで、比較側の2番目から12番目の
データが演算処理回路85に送られ、最後にリングを回
している間に読み込んだ13番目のデータを演算処理回
路85に転送することができる。
When the next round of the city block is calculated after the ring has completed one round, the reference side buffer 81a stores the first data in the output buffer 83a which is the head buffer of the twelve sets of ring buffers 83, and In the buffer 81b, the second data is stored in the output buffer which is the head buffer of the 11 sets of ring buffers 84 (the first data is discarded). This time, only by rotating the ring, the second to twelfth data on the comparison side are sent to the arithmetic processing circuit 85, and the thirteenth data read during the last rotation of the ring is sent to the arithmetic processing circuit 85. Can be transferred.

【0086】演算処理回路85では、12×6=72画
素のシティブロック距離を演算するため、シティブロッ
ク距離計算回路85aの1段目の6個の絶対値演算器8
6に6画素分のデータを入力し、輝度差の絶対値を計算
する。すなわち、基準画像側の画素の輝度から比較画像
側の画素の輝度を引き算し、結果が負になった場合、2
の補数から絶対値の計算を行なう。
The arithmetic processing circuit 85 calculates the city block distance of 12 × 6 = 72 pixels. Therefore, the six absolute value calculators 8 in the first stage of the city block distance calculation circuit 85a are used.
Data of 6 pixels is input to 6 and the absolute value of the luminance difference is calculated. That is, the luminance of the pixel on the comparison image side is subtracted from the luminance of the pixel on the reference image side, and when the result is negative, 2
Calculate the absolute value from the complement of.

【0087】次に、初段を通過すると、2段目では、3
個の加算器87の各々で、1段目の絶対値演算器86か
らの2つの同時入力データを加算する。このとき、同時
に1段目の6個の絶対値演算器86では、次の6画素分
の絶対値計算を行う。同様に、3段目、4段目で前段の
出力を加算し、5段目では、4段目の出力値と自身の出
力値とを加算して総和を取る。そして、5段目で12加
算が終了すると、6×12=72画素分のシティブロッ
ク距離の演算値が出力される。
Next, after passing through the first stage, the second stage
Each of the adders 87 adds two simultaneous input data from the absolute value calculator 86 at the first stage. At this time, the six absolute value calculators 86 in the first stage simultaneously calculate the absolute values of the next six pixels. Similarly, the outputs of the previous stage are added in the third and fourth stages, and the output value of the fourth stage and its own output value are added in the fifth stage to obtain the sum. When the 12 addition is completed at the fifth stage, the calculated value of the city block distance for 6 × 12 = 72 pixels is output.

【0088】以上の動作をNo2ブロックの探索開始ア
ドレスを1つずつインクリメントしてシティブロック距
離を演算し、シティブロック距離の演算値と、このシテ
ィブロック距離の演算値が最小値を取ったときのアドレ
スを航法処理プロセッサ系SYS2のオプティカルフロ
ーデータメモリ92に出力する。そして、1つの領域に
ついての処理を終了すると、オプティカルフローアドレ
スメモリ63から次回のNo1ブロックのアドレスを参
照し、オプティカルフローメモリ38からNo1ブロッ
クメイン画像データメモリ91に次回のNo1ブロック
の画像データを転送する。
The above operation is performed by calculating the city block distance by incrementing the search start address of the No. 2 block by one, and calculating the calculated value of the city block distance and the calculated value of the city block distance. The address is output to the optical flow data memory 92 of the navigation processor SYS2. When the processing for one area is completed, the address of the next No. 1 block is referred from the optical flow address memory 63, and the image data of the next No. 1 block is transferred from the optical flow memory 38 to the No. 1 block main image data memory 91. I do.

【0089】次に、航法処理プロセッサ系SYS2にお
いて、オプティカルフロー処理結果を用いて回転・並進
速度が演算され、この演算結果に基づく航法軌跡から自
己位置が認識される。すなわち、航法処理プロセッサ系
SYS2では、遠方メイン画像のオプティカルフローに
基づいて実距離成分の差を求め、この実距離成分の差か
ら回転速度成分(ロール・ピッチ・ヨーの角速度)を算
出するとともに、下方メイン画像のオプティカルフロー
に基づいて実距離成分の差を求め、この実距離成分の差
による速度成分から回転速度成分を除いて3次元方向
(X,Y,Z方向)の純並進速度を求める。そして、こ
の並進速度を原点から見た3次元方向の速度に変換し、
イニシャル地点から速度成分を累積して原点からの移動
量や現在位置を割り出す。
Next, in the navigation processor SYS2, the rotation / translation speed is calculated using the optical flow processing result, and the own position is recognized from the navigation trajectory based on the calculation result. In other words, the navigation processor SYS2 calculates the difference between the real distance components based on the optical flow of the distant main image, calculates the rotational speed component (the angular speed of roll, pitch, and yaw) from the difference between the real distance components. A difference between real distance components is obtained based on the optical flow of the lower main image, and a net translation speed in a three-dimensional direction (X, Y, Z directions) is obtained by removing a rotational speed component from a speed component due to the difference between the real distance components. . Then, the translation speed is converted into a three-dimensional speed as viewed from the origin,
The velocity component is accumulated from the initial point to determine the movement amount from the origin and the current position.

【0090】遠方画像の動きから回転速度成分を演算す
る処理は、図14の回転演算処理ルーチンによって行わ
れる。このルーチンでは、まず、ステップS51で、No
1ブロック群の配列パターンとオプティカルフロー処理
部60によって探索されたNo2ブロック群の配列パタ
ーンとを比較し、オプティカルフローの信頼性を評価す
る。
The process of calculating the rotation speed component from the movement of the distant image is performed by the rotation calculation processing routine of FIG. In this routine, first, in step S51, No
The array pattern of one block group is compared with the array pattern of the No. 2 block group searched by the optical flow processing unit 60 to evaluate the reliability of the optical flow.

【0091】すなわち、遠方画像の性質から、回転速度
成分によるNo1ブロック→No2ブロックの理想的な
画像の動きでは、各ブロックの相対位置関係(配列パタ
ーン)は殆ど変わらない。従って、No1ブロック群の
配列パターンとNo2ブロック群の配列パターンとを比
較し、各ブロックの配置が明らかに異なる場合には、該
当するブロックをNo1・No2ブロック群について共
に排除する。
That is, due to the nature of the distant image, the relative positional relationship (array pattern) of each block hardly changes in the ideal image motion of No. 1 block to No. 2 block due to the rotational speed component. Therefore, the arrangement pattern of the No. 1 block group is compared with the arrangement pattern of the No. 2 block group, and when the arrangement of each block is clearly different, the corresponding block is excluded from both the No. 1 and No. 2 block groups.

【0092】この配列パターンの評価は、No1ブロッ
ク群における各ブロック間の距離及び各ブロックで構成
する三角形の面積を、No2ブロック群における値と比
較することで行う。例えば、一つのブロックAについて
着目すると、ブロックAがNo2ブロック群において正
しい位置に選択されたか否かを評価するには、まず、N
o1ブロック群におけるブロックAと他のブロックBと
の距離(A1−B1)を、No2ブロック群におけるブ
ロックAとブロックBとの距離(A2−B2)と比較
し、同様に、ブロックA−ブロックC、ブロックA−ブ
ロックDについても距離を比較する。
The arrangement pattern is evaluated by comparing the distance between each block in the No. 1 block group and the area of the triangle formed by each block with the value in the No. 2 block group. For example, focusing on one block A, in order to evaluate whether block A is selected at a correct position in the No2 block group, first, N
The distance (A1-B1) between the block A and the other block B in the o1 block group is compared with the distance (A2-B2) between the block A and the block B in the No2 block group. , And blocks A to D, the distances are also compared.

【0093】そして、3つともNo1ブロック群とNo
2ブロック群とにおける距離が等しければ距離のチェッ
クはOKとし、そうでなければ、次のブロックE,G,
…と順次比較するブロックを変えてゆき、先に3個OK
になれば距離のチェックはOK、先に3個NGになれば
距離のチェックはNGとする。
Then, for all three, the No. 1 block group and the No.
If the distances between the two blocks are equal, the distance check is OK. Otherwise, the next blocks E, G,
Change the blocks to be sequentially compared with… and three OK first
, The distance check is OK, and if three NGs are found first, the distance check is NG.

【0094】このように、ブロックAの3点(B,C,
D)に対する距離のチェックがOKになった場合、次
に、ブロックA、B,Cの各代表座標で構成される三角
形の面積ABCをNo1ブロック群とNo2ブロック群
とについて求め、大きさを比較する。この比較を三角形
ACDについても行い、どちらもNo1ブロック群とN
o2ブロック群とで同じ面積であれば、最終的に、ブロ
ックAの位置はNo2ブロック群において正しく選択さ
れたと判定する。
Thus, the three points (B, C,
If the check of the distance to D) is OK, then the area ABC of the triangle composed of the representative coordinates of the blocks A, B, and C is obtained for the No. 1 block group and the No. 2 block group, and the sizes are compared. I do. This comparison is also performed for the triangle ACD.
If the area is the same as that of the o2 block group, it is finally determined that the position of the block A is correctly selected in the No2 block group.

【0095】この際、距離のチェックは、ピタゴラスの
定理による二乗値のまま比較し、また、三角形の面積の
チェックは、ベクトルの外積を計算して三角形の面積の
2倍の値(平行四辺形の面積)で比較することにより、
計算効率を高める。
At this time, the check of the distance is made by comparing the square values according to the Pythagorean theorem, and the check of the area of the triangle is performed by calculating the cross product of the vectors and calculating a value twice as large as the area of the triangle (parallelogram). Area),
Increase calculation efficiency.

【0096】以上の配列パターンの評価により適正でな
いブロックを排除した後、ステップS52へ進み、適正で
ないブロックを排除した後のNo2ブロック数が所定の
数か否かを調べる。そして、計算精度を維持するのに必
要な所定の数に達していないときには、上記ステップS5
2からステップS55へ分岐して前回の角速度成分の計算結
果を今回処理の値としてメモリを更新した後、ステップ
S56へ進み、所定の数のNo2ブロックを確保できたと
きには、上記ステップS52からステップS53へ進む。
After the improper blocks are eliminated by the above evaluation of the array pattern, the process proceeds to step S52, and it is checked whether or not the number of No. 2 blocks after eliminating the improper blocks is a predetermined number. If the predetermined number required to maintain the calculation accuracy has not been reached, the above-described step S5
After branching from step 2 to step S55 and updating the memory with the previous calculation result of the angular velocity component as the value of the current process, step
Proceeding to S56, when a predetermined number of No2 blocks can be secured, the process proceeds from step S52 to step S53.

【0097】ステップS53では、No2ブロックの撮像
面座標を、カメラ固定のX,Y,Z直交座標である実空
間座標に直す。レンズの焦点距離f、メインカメラ軸Z
mとサブカメラ軸Zsとの基線長LS(Ss)、ステレ
オ画像のズレ量Xrとすると、測距対象点Mまでの距離
Zは、三角測量によって以下の(4)式で与えられるた
め、この関係に基づいて撮像面座標を実空間座標に変換
する。
In step S53, the coordinates of the imaging surface of the No. 2 block are converted into real space coordinates, which are X, Y, and Z orthogonal coordinates fixed to the camera. Lens focal length f, main camera axis Z
If the base length LS (Ss) between m and the sub-camera axis Zs and the displacement Xr of the stereo image are given, the distance Z to the distance measurement target point M is given by the following equation (4) by triangulation. The imaging plane coordinates are converted into real space coordinates based on the relationship.

【0098】Z=LS(SS)・f/Xr …(4) 続くステップS54では、非線形型最小二乗法によってN
o1ブロック群とNo2ブロック群との間の位置の差分
に相当する角速度(ロール・ピッチ・ヨー)を求める。
すなわち、前回の回転・並進の速度成分を初期値として
撮像素子上の動きに換算してNo1ブロックとNo2ブ
ロックとの位置の差を求め、さらに、線形近似を行って
3軸(X,Y,Z軸)の回転成分毎に偏微分し、適当な
偏角を与えてロール・ピッチ・ヨー毎に撮像素子上のN
o1ブロックとの位置の差の変化量(dx,dy)を求
める。ロール・ピッチ・ヨーの各成分は、この変化量
(dx,dy)の極限として与えられる。
Z = LS (SS) · f / Xr (4) In the following step S54, N is calculated by the nonlinear least square method.
An angular velocity (roll, pitch, yaw) corresponding to the difference between the positions of the o1 block group and the No2 block group is obtained.
That is, the difference between the position of the No. 1 block and the position of the No. 2 block is obtained by converting the speed component of the previous rotation / translation into the initial value and calculating the difference between the positions of the No. 1 block and the No. 2 block. Partial differentiation is performed for each rotation component (Z axis), an appropriate declination is given, and N on the image sensor for each roll, pitch, and yaw
The change amount (dx, dy) of the difference between the position and the o1 block is obtained. Each component of roll, pitch, and yaw is given as the limit of this variation (dx, dy).

【0099】従って、上記変化量(dx,dy)を求め
る処理をNo1・No2ブロック全てについて行い、最
小二乗法で回転成分を求める。この最小二乗法では、3
元1次方程式を解くことになるが、係数行列についての
転置行列が等しく、対角要素が他の要素に比べて十分に
大きい値であるため(正定値対称)、コレスキー法によ
る数値計算を適用することができ、No1ブロックに対
してのロール・ピッチ・ヨーの各々の値を求めることが
できる。
Therefore, the processing for obtaining the above-mentioned variation (dx, dy) is performed for all No. 1 and No. 2 blocks, and the rotation component is obtained by the least square method. In this least squares method, 3
The original linear equation is to be solved. However, since the transpose of the coefficient matrix is equal and the diagonal elements are sufficiently larger than the other elements (positive definite symmetry), the numerical calculation by the Cholesky method must be performed. This can be applied, and the respective values of roll, pitch, and yaw for the No1 block can be obtained.

【0100】実際には、上記手法による解は、非線形の
ため真値にはならない。従って、得られた値を初期値に
して再び最小二乗法を繰り返す非線形型最小二乗法によ
って真値に近づけるわけであるが、真値を求める際に
は、上記変化量(dx,dy)の収束具合(理想的には
0)を監視して決定すべき処置が必要である。すなわ
ち、限定した範囲の角速度成分を適度な精度で得る場合
には、繰り返し計算回数を所定の回数(例えば、5回)
で打ち切り、処理に要する時間を短縮することができ
る。
Actually, the solution obtained by the above method does not become a true value because it is nonlinear. Accordingly, the true value is brought close to the true value by the non-linear least square method in which the obtained value is set as the initial value and the least square method is repeated again. When the true value is obtained, the convergence of the variation (dx, dy) is obtained. There is a need to monitor and determine the condition (ideally 0). That is, when obtaining a limited range of angular velocity components with appropriate accuracy, the number of repetition calculations is set to a predetermined number (for example, 5 times).
And the time required for processing can be reduced.

【0101】上記ステップS54の処理によってカメラ固
定のXYZ直交座標系における角速度成分を求めると、
次に、ステップ56へ進み、ロール成分rl、ピッチ成分
pt、及び、ヨー成分ywを、回転行列Rotの要素に
展開してルーチンを抜ける。この回転行列Rotは、ロ
ール、ピッチ、ヨーの各軸毎の回転行列の積であり、例
えば、以下の(5)〜(13)式で示すように、3×3の正方
行列の要素として展開できる。 Rot[0][0]=(cy・cr)−(sy・ans) …(5) Rot[1][0]=−(cp・sr) …(6) Rot[2][0]=(sy・cr)+(cy・ans) …(7) Rot[0][1]=(cy・cr)+(sy・ans') …(8) Rot[1][1]=(cp・cr) …(9) Rot[2][1]=(sy・sr)−(cy・ans') …(10) Rot[0][2]=−(sy・cp) …(11) Rot[1][2]=sp …(12) Rot[2][2]=(cy・cp) …(13) 但し、cy=cos(yw) cr=cos(rl) cp=cos(pt) sy=sin(yw) sr=sin(rl) sp=sin(pt) ans=sp・sr ans'=sp・cr
When the angular velocity component in the XYZ rectangular coordinate system fixed to the camera is obtained by the processing in step S54,
Next, the routine proceeds to step 56, where the roll component rl, pitch component pt, and yaw component yw are developed into elements of the rotation matrix Rot, and the routine exits. The rotation matrix Rot is a product of the rotation matrices for each of the roll, pitch, and yaw axes. For example, as shown by the following equations (5) to (13), the rotation matrix Rot is expanded as a 3 × 3 square matrix element. it can. Rot [0] [0] = (cy · cr) − (sy · ans) (5) Rot [1] [0] = − (cp · sr) (6) Rot [2] [0] = ( (sy · cr) + (cy · ans) (7) Rot [0] [1] = (cy · cr) + (sy · ans') (8) Rot [1] [1] = (cp · cr) ) ... (9) Rot [2] [1] = (sy.sr)-(cy.ans') ... (10) Rot [0] [2] =-(sy.cp) ... (11) Rot [1] ] [2] = sp (12) Rot [2] [2] = (cy · cp) (13) where cy = cos (yw) cr = cos (rl) cp = cos (pt) sy = sin (yw) sr = sin (rl) sp = sin (pt) ans = sp.s rans' = sp.cr

【0102】次に、回転速度成分と並進速度成分とを含
む下方画像の動きから純並進速度成分を求める処理につ
いて説明する。この処理は、図15の並進演算処理ルー
チンによって行われ、まず、ステップS60で、計算精度
を維持するに必要な所定のサンプル数だけNo2ブロッ
ク群を取得できたか否かを調べ、所定のサンプル数を取
得できたときには、ステップS60からステップS61へ進
み、所定のサンプル数を取得できないとき、ステップS6
0からステップS71へ進んで前回の並進速度成分の計算結
果を今回処理の値としてメモリを更新し、ルーチンを抜
ける。
Next, a process for obtaining a pure translation speed component from the motion of the lower image including the rotation speed component and the translation speed component will be described. This processing is performed by the translation calculation processing routine of FIG. 15. First, in step S60, it is determined whether or not a predetermined number of samples required to maintain the calculation accuracy has been acquired in the No. 2 block group. Is obtained, the process proceeds from step S60 to step S61.If the predetermined number of samples cannot be obtained, step S6
From 0, the process proceeds to step S71 to update the memory with the previous calculation result of the translation speed component as the value of the current process, and exits the routine.

【0103】ステップS61では、No2ブロックの平均
距離画像値を評価する。この評価は、No1ブロックと
No2ブロックとで距離画像値が閾値以上に異なってい
るブロックを排除するためのものであり、該当するブロ
ックがあるときには、そのブロックを除いてNo2ブロ
ック群全てを評価したか否かを調べるステップS67へジ
ャンプし、このステップS67からステップS61へ戻るルー
プによってNo1ブロック群及びNo2ブロック群全体
から距離画像値が閾値以上に異なっているブロックを排
除する。
In step S61, the average distance image value of the No. 2 block is evaluated. This evaluation is for eliminating blocks in which the distance image value differs between the No. 1 block and the No. 2 block by a threshold value or more, and when there is a corresponding block, all the No. 2 block groups except the block were evaluated. The process jumps to step S67 to check whether or not the block whose distance image value differs by more than the threshold is excluded from the entire No. 1 block group and No. 2 block group by a loop returning from step S67 to step S61.

【0104】その後、上記ステップS61によるNo2ブ
ロックの平均距離画像値の評価を経てステップS62へ進
み、No1・No2ブロック群の個々のサンプルを、レ
ンズ歪み分を補正した撮像面座標値に修正し、測距精度
のバラツキが少ない新たなNo1・No2ブロック群に
更新する。尚、ステップS61→ステップS67→ステップS6
1のループで排除したブロック数が多く、計算精度を維
持するに必要なサンプル数を確保できないときには、前
回の並進速度成分の計算結果を今回処理の値として並進
演算処理を終了する。
After that, the process goes to step S62 after the evaluation of the average distance image value of the No. 2 block in step S61, and the individual samples of the No. 1 and No. 2 block groups are corrected to the image pickup plane coordinate values corrected for the lens distortion. Update to a new No1 and No2 block group with little variation in ranging accuracy. Step S61 → Step S67 → Step S6
When the number of blocks excluded in the loop 1 is large and the number of samples necessary to maintain the calculation accuracy cannot be secured, the translation calculation processing is terminated with the previous calculation result of the translation speed component as the value of the current processing.

【0105】続くステップS63では、No1・No2ブ
ロックの撮像面座標値と、それぞれの距離画像値とから
実空間の座標(カメラ固定のXYZ直交座標)値を求
め、ステップS64で、No2ブロックから求めた実空間
座標値を、最新の回転行列で回転成分を差し引いた純並
進成分の実空間座標値に変換し、ステップS65へ進ん
で、画像の動き(移動ベクトル)を実空間座標値の差分
で求める。
In the following step S63, the coordinates of the real space (XYZ orthogonal coordinates fixed to the camera) are obtained from the imaging surface coordinate values of the No. 1 and No. 2 blocks and the respective distance image values, and in step S64, the values are obtained from the No. 2 block. The real space coordinate value is converted to the real space coordinate value of the pure translation component obtained by subtracting the rotation component from the latest rotation matrix, and the process proceeds to step S65, where the motion (movement vector) of the image is calculated by the difference between the real space coordinate value. Ask.

【0106】すなわち、遠方画像の撮像面と下方画像の
撮像面とは互いに直交関係にあることから、回転移動と
並進移動とを含んだNo1・No2ブロック間の移動ベ
クトル量に、先に求めた回転行列Rot(No2→No
1ブロックへの回転行列)を掛け合わせることにより
(相対的に回転させることにより)、回転成分の動きを
実距離のクラスで除去することができる。
That is, since the imaging plane of the distant image and the imaging plane of the lower image are orthogonal to each other, the amount of the movement vector between the No. 1 and No. 2 blocks including the rotational movement and the translational movement was previously determined. Rotation matrix Rot (No2 → No)
By multiplying (by rotating relatively) one block, the motion of the rotation component can be removed in the class of the real distance.

【0107】次いで、ステップS66へ進み、実空間移動
量を新たに記録して測距したブロック数を勘定すると、
ステップS67で、No2ブロック群の全てを評価したか
否かを調べる。そして、全部の評価が終わっていないと
きには、ステップS61へ戻り、全部の評価が終わったと
き、ステップS68へ進み、区間推定等の統計処理によっ
てオプティカルフロー全体に対して方向や大きさが異常
である移動ベクトル(特異ベクトル)を排除するフィル
タ処理を行い、特異ベクトルを排除した後の平均移動量
を算出する。
Then, the process proceeds to a step S66, wherein the real space movement amount is newly recorded and the number of blocks measured is counted.
In step S67, it is checked whether or not all of the No. 2 block group has been evaluated. When all evaluations have not been completed, the process returns to step S61. When all evaluations have been completed, the process proceeds to step S68, where the direction and size of the entire optical flow are abnormal due to statistical processing such as section estimation. Filter processing is performed to eliminate the movement vector (singular vector), and the average movement amount after removing the singular vector is calculated.

【0108】その後、ステップS69で、特異ベクトルの
除去結果を調べ、特異ベクトルの数が多く、航法計算の
精度を維持するのに必要なデータ数が確保できなくなっ
たときには、前述のステップS71で前回の並進速度成分
の計算結果を今回処理の値としてメモリを更新してルー
チンを抜ける。一方、特異ベクトルが殆ど無いか、ある
いは航法計算の精度を損なわない程度の数であるときに
は、上記ステップS69からステップS70へ進んで、成分
(Xl,Yl,Zl)の3次元並進速度|S|を求め、こ
の新しい並進速度でメモリ値を更新してルーチンを抜け
る。
Then, in step S69, the singular vector removal result is checked. If the number of singular vectors is large and the number of data required to maintain the accuracy of the navigation calculation cannot be secured, the previous step S71 is executed. The memory is updated with the result of the translation speed component calculation as the value of the current process, and the routine exits. On the other hand, if there is almost no singular vector or the number is such that the accuracy of the navigation calculation is not impaired, the process proceeds from step S69 to step S70, where the three-dimensional translation speed | S | of the component (X1, Y1, Z1) Is obtained, the memory value is updated at the new translation speed, and the routine exits.

【0109】以上の並進演算処理に続いて航法軌跡を求
める図16の航法演算処理が実行される。この航法演算
処理では、まず、ステップS80で原点(測距開始地点)
から見た移動体の姿勢状態を求める。原点から見た移動
体の姿勢状態は、測距開始地点で空間に固定したXYZ
直交座標系から見た回転行列Rotsによって示され
る。このため、まず、測距開始地点で回転行列を単位行
列化して初期化することで撮像面に直交する平面を実空
間を表す基準面とし、この初期化時点の行列にフレーム
間の回転行列(カメラ固定のXYZ直交座標系から見た
回転行列)Rotを右から掛け込んだ行列を原点から見
た移動体の姿勢を表す回転行列Rotsとする。
Subsequent to the above-described translation calculation processing, the navigation calculation processing of FIG. 16 for obtaining the navigation trajectory is executed. In this navigation calculation process, first, in step S80, the origin (distance measurement start point)
Obtain the posture state of the moving body as viewed from. The posture state of the moving object viewed from the origin is the XYZ fixed in space at the distance measurement start point.
It is represented by a rotation matrix Rots viewed from a rectangular coordinate system. For this reason, first, a rotation matrix is unitized at the distance measurement start point and initialized, so that a plane orthogonal to the imaging plane is used as a reference plane representing the real space. A matrix obtained by multiplying the rotation matrix (Rot matrix viewed from the XYZ orthogonal coordinate system fixed by the camera) Rot from the right is defined as a rotation matrix Rots representing the attitude of the moving body viewed from the origin.

【0110】すなわち、原点から見た姿勢を表す回転行
列Rotsは、カメラ固定の座標系から見たフレーム毎
の回転行列Rotを時系列的に積算した正方行列であ
り、以下の(14)式に示すように、前回までの原点から見
た姿勢状態を表す回転行列Rotsに今回の回転演算処
理で求めたフレーム間の回転行列Rotを右から積算し
た正方行列で今回処理における原点から見た姿勢を表す
回転行列Rotsとして更新することにより、原点から
見た移動体の最新の姿勢を表すことができる。 Rots=Rots・Rot …(14)
That is, the rotation matrix Rots representing the attitude viewed from the origin is a square matrix obtained by integrating the rotation matrix Rot for each frame viewed from the camera-fixed coordinate system in a time series. As shown, the orientation viewed from the origin in the current process is a square matrix obtained by integrating the rotation matrix Rot between frames obtained in the current rotation calculation process from the right into the rotation matrix Rots representing the orientation state viewed from the origin up to the previous time. By updating the rotation matrix Rots to represent, the latest posture of the moving body viewed from the origin can be represented. Rots = Rots · Rot (14)

【0111】尚、上記回転行列Rotsを用いることに
より、以下の(15)〜(17)式によって原点から見た角速度
成分Roll(ロール),Picth(ピッチ),Yo
w(ヨー)を求めることができる。 Roll =atan(Rots[0][1]/Rots[0][0]) …(15) Pitch=atan(Rots[1][2]/Rots[2][2]) …(16) Yow =atan(Rots[2][0]/Rots[2][2]) …(17)
By using the rotation matrix Rots, the angular velocity components Roll (Roll), Picth (pitch), Yo as viewed from the origin can be calculated by the following equations (15) to (17).
w (yaw) can be obtained. Roll = atan (Rots [0] [1] / Rots [0] [0]) ... (15) Pitch = atan (Rots [1] [2] / Rots [2] [2]) ... (16) Youw = atan (Rots [2] [0] / Rots [2] [2])… (17)

【0112】次に、ステップS81へ進み、フレーム間の
並進速度成分を原点から見た並進速度成分に変換する
と、ステップS82で、原点から見た速度成分をフレーム
毎に累積し、イニシャル地点からの移動体の実空間座標
を求める。
Next, proceeding to step S81, the translation speed component between the frames is converted into a translation speed component viewed from the origin. In step S82, the speed component viewed from the origin is accumulated for each frame, and the speed component from the initial point is calculated. Find the real space coordinates of the moving object.

【0113】原点から見た並進速度Soは、原点から見
た姿勢を表す回転行列Rotsとフレーム間の3次元並
進速度Sとの積を、以下の(18)式に示すように、前回ま
での原点から見た並進速度Soに累積することで求める
ことができ、累積したベクトル量に所定の距離換算値を
掛け合わせることで、航法軌跡を得ることができ、原点
からの移動体の移動量を知ることができる。 So=So+(Rots)・S …(18)
The translation speed So viewed from the origin is calculated by multiplying the product of the rotation matrix Rots representing the posture viewed from the origin and the three-dimensional translation speed S between frames by the previous equation as shown in the following equation (18). It can be obtained by accumulating the translation speed So seen from the origin, and by multiplying the accumulated vector amount by a predetermined distance conversion value, a navigation trajectory can be obtained, and the moving amount of the moving body from the origin can be calculated. You can know. So = So + (Rots) · S (18)

【0114】この場合、地上の適当な地点にランドマー
クを設置しておき、このランドマークをパターン認識等
によって識別し、測距開始地点として原点をイニシャル
することで、上記航法軌跡から自己の相対位置を認識す
ることができる。さらには、GPS等の衛星測位システ
ムからの測位情報や既知の地図情報によって地上の適当
な地点を原点としてイニシャルすることで、航法軌跡か
ら自己の絶対位置を認識することができる。
In this case, a landmark is set at an appropriate point on the ground, this landmark is identified by pattern recognition or the like, and the origin is initially set as a distance measurement start point. The position can be recognized. Furthermore, by initializing a proper point on the ground as an origin based on positioning information from a satellite positioning system such as a GPS or known map information, it is possible to recognize the absolute position of the vehicle from the navigation trajectory.

【0115】[0115]

【発明の効果】以上説明したように本発明によれば、高
速なハードウエア回路によってリアルタイムでオプティ
カルフローを検出することができ、移動体に搭載可能な
小型の装置で撮像画像からオンラインでオプティカルフ
ローを検出して移動体の自己位置を認識することができ
る等優れた効果が得られる。
As described above, according to the present invention, an optical flow can be detected in real time by a high-speed hardware circuit, and an optical flow can be detected online from a captured image using a small device that can be mounted on a moving body. , The self-position of the moving body can be recognized, and excellent effects can be obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】自己位置認識システムの全体構成図FIG. 1 is an overall configuration diagram of a self-position recognition system.

【図2】カメラアセンブリの構成図FIG. 2 is a configuration diagram of a camera assembly.

【図3】ステレオ処理部のブロック図FIG. 3 is a block diagram of a stereo processing unit.

【図4】オプティカルフロー処理部のブロック図FIG. 4 is a block diagram of an optical flow processing unit.

【図5】ヒストグラム処理回路の構成図FIG. 5 is a configuration diagram of a histogram processing circuit.

【図6】自己加算型階調・度数モジュールの回路構成図FIG. 6 is a circuit configuration diagram of a self-addition type gradation / frequency module.

【図7】データ転送バッファの構成図FIG. 7 is a configuration diagram of a data transfer buffer.

【図8】演算処理回路の構成図FIG. 8 is a configuration diagram of an arithmetic processing circuit;

【図9】ステレオ処理の説明図FIG. 9 is an explanatory diagram of stereo processing.

【図10】ヒストグラム処理の説明図FIG. 10 is an explanatory diagram of a histogram process.

【図11】自己加算型階調・度数モジュールのタイムチ
ャート
FIG. 11 is a time chart of a self-addition type gradation / frequency module.

【図12】オプティカルフロー処理の説明図FIG. 12 is an explanatory diagram of an optical flow process.

【図13】No1ブロック群取得処理ルーチンのフロー
チャート
FIG. 13 is a flowchart of a No1 block group acquisition processing routine.

【図14】回転演算処理ルーチンのフローチャートFIG. 14 is a flowchart of a rotation calculation processing routine.

【図15】並進演算処理ルーチンのフローチャートFIG. 15 is a flowchart of a translation calculation processing routine.

【図16】航法演算処理ルーチンのフローチャートFIG. 16 is a flowchart of a navigation calculation processing routine.

【符号の説明】[Explanation of symbols]

10…カメラアセンブリ 20…自己位置認識装置 30…ステレオ処理部 39…ステレオマッチング回路 60…オプティカルフロー処理部 70…ヒストグラム処理回路 81…データ転送バッファ 85…演算処理回路 90…航法処理部 SYS1…画像処理プロセッサ系 SYS2…航法処理プロセッサ系 Reference Signs List 10 camera assembly 20 self-position recognition device 30 stereo processing unit 39 stereo matching circuit 60 optical flow processing unit 70 histogram processing circuit 81 data transfer buffer 85 arithmetic processing circuit 90 navigation processing unit SYS1 image processing Processor system SYS2: Navigation processor system

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 異なるタイミングで撮像した2枚の画像
の一方を基準画像として他方を比較画像とし、互いの対
応位置を探索して画像間のオプティカルフローを求める
画像のオプティカルフロー検出装置であって、 上記基準画像の所定領域の画素毎の輝度データと上記比
較画像の探索領域の画素毎の輝度データとを、それぞれ
所定バイト数のデータ系列に並び変え、各データ系列を
リング状に転送するデータ転送バッファと、 上記転送バッファから転送された2系統のデータ間の差
分の絶対値を複数の演算器で並列に演算した後、各演算
器の出力を複数段の加算器で直列に加算してシティブロ
ック距離を計算し、このシティブロック距離が最小値と
なるアドレスを、上記基準画像の所定領域に対する上記
比較画像の対応位置として出力する演算処理回路とを備
えたことを特徴とする画像のオプティカルフロー検出装
置。
1. An optical flow detection apparatus for an image, wherein one of two images taken at different timings is used as a reference image and the other is used as a comparison image, and a corresponding position is searched for an optical flow between the images. The data in which the luminance data of each pixel in the predetermined area of the reference image and the luminance data of each pixel in the search area of the comparison image are rearranged into a data sequence of a predetermined number of bytes, and each data sequence is transferred in a ring shape. The transfer buffer and the absolute value of the difference between the two systems of data transferred from the transfer buffer are calculated in parallel by a plurality of arithmetic units, and the outputs of the arithmetic units are added in series by a plurality of adders. A function of calculating a city block distance and outputting an address at which the city block distance becomes a minimum value as a corresponding position of the comparison image with respect to a predetermined area of the reference image. Optical flow detecting device for an image, characterized in that it comprises a processing circuit.
【請求項2】 移動体に搭載されて遠方風景を撮像する
2台1組のステレオカメラ及び下方風景を撮像する2台
1組のステレオカメラを有する撮像部と、 上記ステレオカメラで撮像した2枚の画像における対応
位置を探索して対象物までの距離に応じて生じる画素ズ
レ量を求め、この画素ズレ量から得られる対象物までの
遠近情報を数値化した距離画像を生成する距離画像生成
部と、 上記距離画像の階調データ及び度数を、それぞれラッチ
に保持し、新たに入力された階調データと保持した階調
データとを比較する比較器からの一致出力により、保持
した階調データの度数を積算してヒストグラムデータを
生成するヒストグラム生成部と、 上記距離画像から上記ヒストグラム生成部で生成したヒ
ストグラムデータを参照し、撮像画像の中から航法演算
に適した特徴的な絵柄の領域を第1ブロックとして複数
箇所抽出するとともに、この第1ブロックを抽出した画
像とは撮像タイミングが異なる画像の中から上記第1ブ
ロックに対応する領域を第2ブロックとして探索するた
めの探索範囲を設定する画像処理部と、 上記第1ブロックの画素毎の輝度データと上記第2のブ
ロックの探索範囲の画素毎の輝度データとを、それぞれ
所定バイト数のデータ系列に並び変え、各データ系列を
リング状に転送するデータ転送バッファと、この転送バ
ッファから転送された2系統のデータ間の差分の絶対値
を複数の演算器で並列に演算した後、各演算器の出力を
複数段の加算器で直列に加算してシティブロック距離を
計算し、このシティブロック距離が最小値となるアドレ
スを出力する演算処理回路とを有するオプティカルフロ
ー処理部と、 遠方風景の撮像画像に対する上記オプティカルフロー処
理部からの出力と上記距離画像とに基づいて上記第1ブ
ロックから上記第2ブロックへのオプティカルフローを
求めて移動体のフレーム間の回転速度成分を算出すると
ともに、下方風景の撮像画像に対する上記オプティカル
フロー処理部からの出力と上記距離画像とに基づいて上
記第1ブロックから上記第2ブロックへのオプティカル
フローを求めて移動体のフレーム間の速度成分を算出
し、この速度成分から上記回転速度成分を除去したフレ
ーム間の並進速度成分を測距開始地点から見た並進速度
成分に変換し、この変換した並進速度成分を累積して3
次元空間における航法軌跡を求めることにより、移動体
の自己位置を認識する航法処理部とを備えたことを特徴
とする移動体の自己位置認識システム。
2. An imaging unit having a pair of stereo cameras mounted on a moving body to capture a distant landscape and a pair of stereo cameras capturing a lower landscape, and two images captured by the stereo camera. A distance image generation unit that searches for a corresponding position in the image of FIG. 1 and obtains a pixel shift amount that occurs according to the distance to the object, and generates a distance image in which the perspective information to the object obtained from the pixel shift amount is quantified. And holding the gradation data and the frequency of the distance image in a latch, and comparing the newly inputted gradation data with the held gradation data by a coincidence output from a comparator. A histogram generation unit that generates histogram data by integrating the frequencies of the histograms, and refers to the histogram data generated by the histogram generation unit from the distance image, A plurality of regions of a characteristic pattern suitable for navigation calculation are extracted as a first block, and a region corresponding to the first block is extracted from an image whose imaging timing is different from an image from which the first block is extracted. An image processing unit that sets a search range for searching as two blocks; and a predetermined number of bytes each of the luminance data of each pixel of the first block and the luminance data of each pixel of the search range of the second block. A data transfer buffer that rearranges the data series and transfers each data series in a ring shape, and the absolute value of the difference between the two systems of data transferred from the transfer buffer is calculated in parallel by a plurality of arithmetic units. An arithmetic processing circuit that calculates the city block distance by adding the outputs of the arithmetic units in series by a plurality of adders, and outputs an address at which the city block distance is the minimum value. An optical flow processing unit having a road; and an optical flow from the first block to the second block based on an output from the optical flow processing unit for a captured image of a distant landscape and the distance image. And calculating the optical flow from the first block to the second block based on the output from the optical flow processing unit for the captured image of the lower scenery and the distance image. A velocity component between frames of the moving body is calculated, and a translation velocity component between frames obtained by removing the rotation velocity component from the velocity component is converted into a translation velocity component viewed from a distance measurement start point, and the converted translation velocity component is converted. Accumulate 3
A self-position recognition system for a moving object, comprising: a navigation processing unit for recognizing the self-position of the moving object by obtaining a navigation trajectory in a three-dimensional space.
JP24732097A 1997-09-11 1997-09-11 Optical flow detection apparatus for image and self-position recognition system for moving object Expired - Lifetime JP3880702B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24732097A JP3880702B2 (en) 1997-09-11 1997-09-11 Optical flow detection apparatus for image and self-position recognition system for moving object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24732097A JP3880702B2 (en) 1997-09-11 1997-09-11 Optical flow detection apparatus for image and self-position recognition system for moving object

Publications (2)

Publication Number Publication Date
JPH1183530A true JPH1183530A (en) 1999-03-26
JP3880702B2 JP3880702B2 (en) 2007-02-14

Family

ID=17161651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24732097A Expired - Lifetime JP3880702B2 (en) 1997-09-11 1997-09-11 Optical flow detection apparatus for image and self-position recognition system for moving object

Country Status (1)

Country Link
JP (1) JP3880702B2 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001259883A (en) * 2000-03-10 2001-09-25 Minolta Co Ltd Observing device, monitoring device, welding equipment, and method of welding work
JP2006098119A (en) * 2004-09-28 2006-04-13 Ntt Data Corp Object detector, object detection method, and object detection program
JP2006177937A (en) * 2004-11-26 2006-07-06 Denso It Laboratory Inc Distance measuring device and distance measurement method
JP2006527443A (en) * 2003-06-12 2006-11-30 本田技研工業株式会社 Target orientation estimation using depth detection
JP2007006346A (en) * 2005-06-27 2007-01-11 Casio Comput Co Ltd Image processing apparatus and program
JP2008503757A (en) * 2004-06-22 2008-02-07 サーノフ コーポレーション Method and apparatus for visual odometry
CN100377168C (en) * 2004-06-29 2008-03-26 索尼株式会社 Method, apparatus for situation recognition using optical information
JP2008243111A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Image processing device and image processing method
US7567688B2 (en) 2004-11-30 2009-07-28 Honda Motor Co., Ltd. Apparatus for and method of extracting image
US7590263B2 (en) 2004-11-30 2009-09-15 Honda Motor Co., Ltd. Vehicle vicinity monitoring apparatus
US7599521B2 (en) 2004-11-30 2009-10-06 Honda Motor Co., Ltd. Vehicle vicinity monitoring apparatus
US7616806B2 (en) 2004-11-30 2009-11-10 Honda Motor Co., Ltd. Position detecting apparatus and method of correcting data therein
US7620237B2 (en) 2004-11-30 2009-11-17 Honda Motor Co., Ltd. Position detecting apparatus and method of correcting data therein
JPWO2008053649A1 (en) * 2006-11-02 2010-02-25 コニカミノルタホールディングス株式会社 Wide-angle image acquisition method and wide-angle stereo camera device
CN102156480A (en) * 2010-12-30 2011-08-17 清华大学 Unmanned helicopter independent landing method based on natural landmark and vision navigation
JP2011203224A (en) * 2010-03-26 2011-10-13 Shimizu Corp System and method for detection of moving body position
JP2012238163A (en) * 2011-05-11 2012-12-06 Toyota Motor Corp Optical flow generation device, generation method, program
JP2016103269A (en) * 2014-11-12 2016-06-02 村田機械株式会社 Movement amount estimation device, autonomous mobile body, and method of estimating movement amount
WO2017056267A1 (en) * 2015-09-30 2017-04-06 株式会社小松製作所 Imaging device
WO2017056266A1 (en) * 2015-09-30 2017-04-06 株式会社小松製作所 Imaging device
JP2017173966A (en) * 2016-03-22 2017-09-28 日本電気株式会社 Pilotless flight device control system, pilotless flight device controlling method, and pilotless flight device
JP2017529616A (en) * 2015-03-31 2017-10-05 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Mobile platform control method and system
JP2017536554A (en) * 2012-10-05 2017-12-07 ファロ テクノロジーズ インコーポレーテッド How to use a 2D scanner to speed up the alignment of 3D scan data
JP2018504652A (en) * 2015-10-09 2018-02-15 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Prominent feature based mobile positioning
WO2018036010A1 (en) * 2016-08-23 2018-03-01 北京小米移动软件有限公司 Method and apparatus for controlling balancing vehicle
CN109635241A (en) * 2018-12-17 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) Solve symmetrical or Hermit symmetric positive definite matrix inversion matrix method
CN109690615A (en) * 2016-09-15 2019-04-26 三菱电机株式会社 Article detection device and object detecting method
US11035955B2 (en) 2012-10-05 2021-06-15 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
CN115239205A (en) * 2022-09-19 2022-10-25 武汉纺友技术有限公司 Intelligent production method and device based on big data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016223079B4 (en) * 2016-11-23 2024-03-28 Robert Bosch Gmbh Method and device for determining an association between a matrix element of a matrix and a comparison matrix element of a comparison matrix using a correspondence table

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6359682A (en) * 1986-08-29 1988-03-15 Juki Corp High speed pattern matching device
JPS63254578A (en) * 1987-04-10 1988-10-21 Mitsubishi Electric Corp Pattern recognition device
JPH0535869A (en) * 1991-07-25 1993-02-12 Matsushita Electric Ind Co Ltd Pattern ecognizing device
JPH05114099A (en) * 1991-10-22 1993-05-07 Fuji Heavy Ind Ltd Distance detector for vehicle
JPH05265547A (en) * 1992-03-23 1993-10-15 Fuji Heavy Ind Ltd On-vehicle outside monitoring device
JPH07262375A (en) * 1994-03-25 1995-10-13 Toshiba Corp Mobile object detector

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6359682A (en) * 1986-08-29 1988-03-15 Juki Corp High speed pattern matching device
JPS63254578A (en) * 1987-04-10 1988-10-21 Mitsubishi Electric Corp Pattern recognition device
JPH0535869A (en) * 1991-07-25 1993-02-12 Matsushita Electric Ind Co Ltd Pattern ecognizing device
JPH05114099A (en) * 1991-10-22 1993-05-07 Fuji Heavy Ind Ltd Distance detector for vehicle
JPH05265547A (en) * 1992-03-23 1993-10-15 Fuji Heavy Ind Ltd On-vehicle outside monitoring device
JPH07262375A (en) * 1994-03-25 1995-10-13 Toshiba Corp Mobile object detector

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001259883A (en) * 2000-03-10 2001-09-25 Minolta Co Ltd Observing device, monitoring device, welding equipment, and method of welding work
JP2006527443A (en) * 2003-06-12 2006-11-30 本田技研工業株式会社 Target orientation estimation using depth detection
JP2008503757A (en) * 2004-06-22 2008-02-07 サーノフ コーポレーション Method and apparatus for visual odometry
CN100377168C (en) * 2004-06-29 2008-03-26 索尼株式会社 Method, apparatus for situation recognition using optical information
JP2006098119A (en) * 2004-09-28 2006-04-13 Ntt Data Corp Object detector, object detection method, and object detection program
JP2006177937A (en) * 2004-11-26 2006-07-06 Denso It Laboratory Inc Distance measuring device and distance measurement method
US7620237B2 (en) 2004-11-30 2009-11-17 Honda Motor Co., Ltd. Position detecting apparatus and method of correcting data therein
US7567688B2 (en) 2004-11-30 2009-07-28 Honda Motor Co., Ltd. Apparatus for and method of extracting image
US7590263B2 (en) 2004-11-30 2009-09-15 Honda Motor Co., Ltd. Vehicle vicinity monitoring apparatus
US7599521B2 (en) 2004-11-30 2009-10-06 Honda Motor Co., Ltd. Vehicle vicinity monitoring apparatus
US7616806B2 (en) 2004-11-30 2009-11-10 Honda Motor Co., Ltd. Position detecting apparatus and method of correcting data therein
JP2007006346A (en) * 2005-06-27 2007-01-11 Casio Comput Co Ltd Image processing apparatus and program
JP4613710B2 (en) * 2005-06-27 2011-01-19 カシオ計算機株式会社 Image processing apparatus and program
JPWO2008053649A1 (en) * 2006-11-02 2010-02-25 コニカミノルタホールディングス株式会社 Wide-angle image acquisition method and wide-angle stereo camera device
US8269820B2 (en) 2006-11-02 2012-09-18 Konica Minolta Holdings, Inc. Wide-angle image acquiring method and wide-angle stereo camera device
JP2008243111A (en) * 2007-03-29 2008-10-09 Hitachi Ltd Image processing device and image processing method
JP2011203224A (en) * 2010-03-26 2011-10-13 Shimizu Corp System and method for detection of moving body position
CN102156480A (en) * 2010-12-30 2011-08-17 清华大学 Unmanned helicopter independent landing method based on natural landmark and vision navigation
JP2012238163A (en) * 2011-05-11 2012-12-06 Toyota Motor Corp Optical flow generation device, generation method, program
US10203413B2 (en) 2012-10-05 2019-02-12 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
JP2017536554A (en) * 2012-10-05 2017-12-07 ファロ テクノロジーズ インコーポレーテッド How to use a 2D scanner to speed up the alignment of 3D scan data
US11815600B2 (en) 2012-10-05 2023-11-14 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US11112501B2 (en) 2012-10-05 2021-09-07 Faro Technologies, Inc. Using a two-dimensional scanner to speed registration of three-dimensional scan data
US11035955B2 (en) 2012-10-05 2021-06-15 Faro Technologies, Inc. Registration calculation of three-dimensional scanner data performed between scans based on measurements by two-dimensional scanner
US10739458B2 (en) 2012-10-05 2020-08-11 Faro Technologies, Inc. Using two-dimensional camera images to speed registration of three-dimensional scans
JP2016103269A (en) * 2014-11-12 2016-06-02 村田機械株式会社 Movement amount estimation device, autonomous mobile body, and method of estimating movement amount
US10048687B2 (en) 2015-03-31 2018-08-14 SZ DJI Technology Co., Ltd. System and method for mobile platform operation
JP2017529616A (en) * 2015-03-31 2017-10-05 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Mobile platform control method and system
WO2017056266A1 (en) * 2015-09-30 2017-04-06 株式会社小松製作所 Imaging device
US20180058044A1 (en) * 2015-09-30 2018-03-01 Komatsu Ltd. Image pick-up apparatus
JPWO2017056266A1 (en) * 2015-09-30 2018-03-15 株式会社小松製作所 Imaging device
JPWO2017056267A1 (en) * 2015-09-30 2018-03-22 株式会社小松製作所 Imaging device
WO2017056267A1 (en) * 2015-09-30 2017-04-06 株式会社小松製作所 Imaging device
KR20170105627A (en) * 2015-09-30 2017-09-19 가부시키가이샤 고마쓰 세이사쿠쇼 The image pickup device
KR20170107068A (en) * 2015-09-30 2017-09-22 가부시키가이샤 고마쓰 세이사쿠쇼 The image pickup device
US10533305B2 (en) 2015-09-30 2020-01-14 Komatsu Ltd. Image pick-up apparatus
US11008735B2 (en) 2015-09-30 2021-05-18 Komatsu Ltd. Image pick-up apparatus
JP2018504652A (en) * 2015-10-09 2018-02-15 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Prominent feature based mobile positioning
US10599149B2 (en) 2015-10-09 2020-03-24 SZ DJI Technology Co., Ltd. Salient feature based vehicle positioning
JP2017173966A (en) * 2016-03-22 2017-09-28 日本電気株式会社 Pilotless flight device control system, pilotless flight device controlling method, and pilotless flight device
US10671078B2 (en) 2016-08-23 2020-06-02 Beijing Xiomi Mobile Software Co., Ltd. Method, apparatus and medium for controlling self balancing scooter
WO2018036010A1 (en) * 2016-08-23 2018-03-01 北京小米移动软件有限公司 Method and apparatus for controlling balancing vehicle
CN109690615A (en) * 2016-09-15 2019-04-26 三菱电机株式会社 Article detection device and object detecting method
CN109635241A (en) * 2018-12-17 2019-04-16 西南电子技术研究所(中国电子科技集团公司第十研究所) Solve symmetrical or Hermit symmetric positive definite matrix inversion matrix method
CN109635241B (en) * 2018-12-17 2023-09-01 西南电子技术研究所(中国电子科技集团公司第十研究所) Method for solving symmetric or hermitian symmetric positive definite matrix inverse matrix
CN115239205A (en) * 2022-09-19 2022-10-25 武汉纺友技术有限公司 Intelligent production method and device based on big data

Also Published As

Publication number Publication date
JP3880702B2 (en) 2007-02-14

Similar Documents

Publication Publication Date Title
JP3880702B2 (en) Optical flow detection apparatus for image and self-position recognition system for moving object
JP3833786B2 (en) 3D self-position recognition device for moving objects
EP2959315B1 (en) Generation of 3d models of an environment
JP5992184B2 (en) Image data processing apparatus, image data processing method, and image data processing program
CN112598757B (en) Multi-sensor time-space calibration method and device
EP3678095B1 (en) Determination of position from images and associated camera positions
KR100855657B1 (en) System for estimating self-position of the mobile robot using monocular zoom-camara and method therefor
WO2018143263A1 (en) Photographing control device, photographing control method, and program
JP2000339468A (en) Method and device for positioning three-dimensional data
CN113160327A (en) Method and system for realizing point cloud completion
CN113551665A (en) High dynamic motion state sensing system and sensing method for motion carrier
CN111623773A (en) Target positioning method and device based on fisheye vision and inertial measurement
CN116052046A (en) Dynamic scene binocular vision SLAM method based on target tracking
CN111899345A (en) Three-dimensional reconstruction method based on 2D visual image
JP2559939B2 (en) Three-dimensional information input device
CN112580683B (en) Multi-sensor data time alignment system and method based on cross correlation
JP2018009918A (en) Self-position detection device, moving body device, and self-position detection method
CN111383282A (en) Pose information determination method and device
JP3221384B2 (en) 3D coordinate measuring device
EP4165597A1 (en) Method and system for generating a three-dimensional model based on spherical photogrammetry
JP2002188917A (en) Attitude angle detecting device for flight vehicle
JPH0979820A (en) Restoring device of object shape and camera visual point movement and restoring method of object shape and camera visual point movement
Efimov et al. Software and hardware implementation of geometric correction technology and fusion of images on a mobile platform
Reich et al. On-line compatible orientation of a micro-uav based on image triplets
CN115096288B (en) Method for testing resolving precision and capability of navigation track of mobile robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061108

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term