WO2000016259A1 - Dispositif visuel - Google Patents

Dispositif visuel Download PDF

Info

Publication number
WO2000016259A1
WO2000016259A1 PCT/JP1999/004975 JP9904975W WO0016259A1 WO 2000016259 A1 WO2000016259 A1 WO 2000016259A1 JP 9904975 W JP9904975 W JP 9904975W WO 0016259 A1 WO0016259 A1 WO 0016259A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
band pixel
pixel value
edge information
moving
Prior art date
Application number
PCT/JP1999/004975
Other languages
English (en)
French (fr)
Inventor
Yoshiaki Ajioka
Original Assignee
Ecchandes Inc.
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 Ecchandes Inc. filed Critical Ecchandes Inc.
Priority to EP99943301A priority Critical patent/EP1113388B1/en
Priority to AU56500/99A priority patent/AU763178B2/en
Priority to IL14158999A priority patent/IL141589A/xx
Priority to JP2000570722A priority patent/JP4324327B2/ja
Priority to DE69935437T priority patent/DE69935437T2/de
Priority to US09/786,820 priority patent/US6856696B1/en
Publication of WO2000016259A1 publication Critical patent/WO2000016259A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/69Microscopic objects, e.g. biological cells or cellular parts
    • G06V20/695Preprocessing, e.g. image segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30024Cell structures in vitro; Tissue sections in vitro

Definitions

  • the present invention relates to a visual device and a method for counting the number of objects in an image, and more particularly, to three primary color wavelengths, visible light wavelengths, infrared wavelengths, ultraviolet wavelengths, and all other electromagnetic waves captured by a video camera or a digital camera.
  • the present invention relates to an apparatus for counting the number of moving or stationary objects in an image composed of arbitrary bands. Background art
  • a typical example is a device for counting the number of cells taken through a microscope. Since the chromosomes of cells are stained purple, the number of cells can be counted by cutting out a purple region of a certain size or more from the image into one clump. However, when it is difficult or impossible to stain cells, it is not easy to count the number of cells. Because cells are generally transparent, color information is not very useful for making the whole cell into one clump. Of course, magnifying a cell image can capture nuclei and mitochondrial shadows, but this is the exception.
  • edge information is often generated from the contours of cells projected by refraction and reflection of light. If this edge information is used, the whole cell could theoretically be made into one lump. However, in most cases, the edge information is incomplete in most cases, so the edge information is obtained using information such as the shape and size of the cell. Is complementary. Moreover, in order to make the whole cell into one clump from the edge information, it is necessary to perform image processing with a large amount of calculation, such as filling, and it is natural that the edge information must not have a break. In addition, if only cells that are moving from cells are selected and cut out, calculations such as optical flow must be performed.In order to improve counting accuracy, expensive equipment is required, while inexpensive equipment is required. If you use a different device, the calculation time becomes enormous.
  • the visual device recognizes the change in color information as the movement of the object, the performance of the illumination and force measurer will not be a problem, but it will be difficult to accurately reproduce the shape of the object from the movement of the object, but it will be surrounded by force edge information.
  • the problem of having to determine the object area by filling in the shaded area has arisen, and visual devices utilizing changes in color information have not been sufficiently studied.
  • the visual device can capture the movement of the object from changes in color information and generate edge information and cut out the object from this edge information into one lump, And the number of objects can be counted without depending on the shooting environment. If the edge information can be generated from the color information by vibrating the object itself, vibrating the camera, or otherwise vibrating the captured image, the visual device can be used even if the object is stationary It is expected that the number of objects can be counted.
  • the visual device capable of counting the number of objects photographed by a camera. If the object photographed by the camera is stationary, the visual device can always count the number of stationary objects. However, if the object is moving, the visual device can only count the number of moving objects while the camera is shooting the moving object. There is no problem if the positions of stationary and moving objects are specified in advance, such as cells in a petri dish. Space is a camera image Fixing the camera limits the use of the vision device because the camera does not fit into the corner or humans and animals grow and shrink in the image depending on the distance from the camera. In addition, since the visual device must distinguish between the interior of the room and humans or animals, it requires a large amount of computation to recognize objects.
  • Mobility Mera searches for specific objects, such as humans and animals, from inside or outside the room, and photographs only those objects, so that these objects become the appropriate size in the image. If the visual device can adjust the magnification of the camera, the visual device can not only recognize these objects easily, but also detect moving objects such as humans and animals whose positions cannot be specified in advance. You will be able to count numbers. Of course, even if humans and animals are sleeping and hardly move, visual devices are expected to be able to count humans and animals by distinguishing humans and animals from other stationary objects.
  • the present invention described in the appended claims provides a method for counting the number of moving objects or all objects at high speed based on edge information generated by selectively selecting either moving objects or all objects in a moving image.
  • the purpose is.
  • Another object is to count the number of moving and stationary objects from a moving image to calculate the ratio of moving and stationary objects in the moving image at high speed.
  • it aims to count the number of moving and stationary objects at high speed by searching for moving and stationary objects that exist within the range that can be photographed by the moving camera.
  • a means for acquiring a frame image of the moving image for a moving object in the moving image a means for sequentially storing the frame image as a digital image, and a moving object from the digital image
  • Means for generating a rough edge information image means for generating a moving object formation edge information image from the moving object rough edge information image using the digital image; and movement separated by the moving object body formation edge information image.
  • the means for acquiring the frame image in a case where the moving image is an analog signal, the frame image is converted into a digital signal to be a digital image.
  • the means for generating the moving object rough edge information image from the digital image includes: The edge information of the moving object is generated in the moving object rough edge information image using the digital image.
  • the means for generating a body-forming edge information image uses the digital image to form the edge information of the moving object into more accurate and clear edge information.
  • the means for counting the number of moving object areas counts the number of the pixels representing the moving object area
  • the means for holding the number of moving object areas indicates the moving object area
  • the number of pixels to be output is output in a format required by the output destination, such as two's complement representation or floating point representation.
  • the means for generating the moving object rough edge information image, the means for generating the moving object formation edge information image, and the means for detecting the position and the size of the moving object area are each:
  • the visual device can be operated in parallel on a pixel-by-pixel basis, and all of these means are realized by local processing, so that the visual device does not depend on the shape or size of the moving object.
  • the edge information is less affected by lighting and the like, and the movement is transparent, as compared with the case where the moving object area is extracted by classification of color information or the like. Since the edge information is generated by using refraction and reflection without dyeing even the object, the application range of the visual device is wide. Therefore, the problems relating to the counting of the moving objects are suitably solved.
  • the invention according to claim 2 is a method for acquiring a frame image of a moving image for a moving object in the moving image, means for sequentially storing the frame image as a digital image, and moving from the digital image.
  • a visual device comprising: means for separating an object area; means for detecting the position and size of the moving object area; means for counting the number of moving object areas; and means for holding the number of moving object areas. .
  • the present invention is obtained by adding the means for separating the moving object region from the background using the moving object forming edge information image to the invention according to claim 1.
  • the edge information of the moving object is used as a boundary, and the pixels included in the background and the moving object region included in the moving object region are used. Pixels can be classified into different groups. Accordingly, in the means for detecting the position and the size of the moving object region, the center of gravity of the moving object region and the number of pixels included in the moving object region are represented by one pixel. .
  • the means may be operated in parallel, respectively; the means for generating the moving object rough edge information image; the means for generating the moving object forming edge information image; and the means for separating the moving object area from the background.
  • the means, and the means for detecting the position and the size of the moving object area can be operated in parallel inside each of the pixels. Moreover, all of these means are realized by local processing. Therefore, the visual device can quickly count the number of the moving object regions without depending on the shape and size of the moving object. Further, compared with a case where the moving object region is extracted by classification of color information or the like, the moving object region separated from the background by the edge information is hardly affected by lighting or the like, and furthermore, the moving object region is transparent to the moving object region. However, since the wedge information is generated by using refraction and reflection without staining, the applicable range of the visual device is wide. Therefore, the problems relating to the counting of the moving objects are suitably solved.
  • the visual device by providing a means for vibrating the digital image, the number of all object regions is calculated for all objects instead of the moving objects.
  • This is a visual device that is characterized by When the means for vibrating the digital image is added to the visual device according to claim 1, the following is obtained.
  • the means for acquiring the frame image when the moving image is an analog signal, the frame image is converted into a digital signal to be a digital image.
  • the moving image is the digital signal, if the image is compressed, the image is expanded. If the image is not compressed, the image is input as it is. Thereafter, the frame image is cut out from the moving image to be the digital image.
  • the means for sequentially storing the frame image as the digital image stores all the pixels of the frame image in a memory while maintaining a two-dimensional phase relationship.
  • the means for generating the all-object rough edge information image from the vibration image generates the vibration image by vibrating the digital image vertically or horizontally in image units or pixel units. Thus, the entire object in the vibration image looks as if it is moving.
  • the means for generating the all-object rough edge information image from the vibration image generates the edge information of the all object for each pixel of the vibration image. In the means for generating the all-object forming edge information image from the all-object rough edge information image using the digital image, the edge information of the all objects is more accurately and clearly displayed using the digital image. The edge information is formed.
  • the means for detecting the position and the size of the entire object region divided by the all object forming edge information image includes: the center of gravity position of the edge information at the boundary of the entire object region; The number of the edge information at the boundary of the object area is represented by one pixel.
  • the means for counting the number of all object regions counts the number of the pixels representing the entire object region.
  • the means for holding the number of all object areas, and the number of pixels representing the all object areas are output in a format required by an output destination such as a two's complement representation or a floating point representation.
  • the means can be operated in parallel with each other, and the means for generating the all-object rough edge information image, the means for generating the all-object forming edge information image, and the position and the position of the all-object area
  • the means for detecting the size can be operated in parallel on a pixel-by-pixel basis in each of the sections. Moreover, all of these means are realized by local processing. Therefore, the visual device can count the number of all object areas at high speed without depending on the shape and size of the all objects. Also, depending on the classification of color information, etc. Compared to the case of extracting the entire object region, the edge information is less affected by lighting and the like.- Even if the transparent object is not dyed, the edge information uses refraction or reflection. Therefore, the visual device has a wide application range. Therefore, the problems relating to the counting of all the objects are preferably solved.
  • the means for vibrating the digital image is added to the visual device according to claim 2, the following is obtained.
  • the edge information of the entire object is used as a boundary, and the pixel included in the background and the entire object region are included in the pixel.
  • the means can be operated in parallel, respectively; the means for generating the all-object rough edge information image; the means for generating the all-object forming edge information image; and the position and the position of the all-object area.
  • the means for detecting the size can be operated in parallel on a pixel-by-pixel basis in each of the sections. Moreover, all of these means are realized by local processing. Therefore, the visual device can quickly count the number of all object regions without depending on the shape and size of the entire object. Further, as compared with the case where the entire object region is extracted by color information classification, the entire object region separated from the background by the edge information is hardly affected by illumination or the like, and furthermore, the entire object region is transparent. Since the edge information is generated by using refraction and reflection without staining, the range of application of the visual device is wide. Therefore, the problems relating to the counting of all objects can be suitably solved.
  • the present invention relates to claim 1. 4.
  • the means for generating the moving object forming edge information image from the object rough edge information image, and the means for generating the all object forming edge information image from the all object rough edge information image using the digital image are shared.
  • the means for detecting the position and the size can be shared, and the means for counting the number of moving object areas, and the means for counting the total number of object areas can be shared.
  • the means for retaining the number of moving object areas and the means for retaining the total number of object areas can be shared. If there is a restriction on the amount of hardware, these means may be shared. Of course, if they do not share, the counting time can be shortened accordingly.
  • the edge information is hardly affected by illumination and the like, and is transparent to the moving object and the entire object. Since the edge information is generated by using refraction and reflection without staining, the application range of the visual device is wide. Therefore, the problems relating to the counting of the moving object and the total object are suitably solved.
  • the means for detecting the position and said size of the area can be shared, and the means for counting the number of moving object areas, and the means for counting the total number of object areas can be shared.
  • the means for holding the number of moving object areas and the means for holding the total number of object areas can be shared. If there is a restriction on the amount of hardware, these means may be shared. Of course, if not shared, the counting time can be shortened accordingly.
  • the moving object area and the entire object area separated from the background by the edge information are more affected by illumination and the like than in the case where the moving object area and the entire object area are extracted by classification of color information or the like. Since the edge information is generated by using refraction and reflection without being dyed even for the difficult and transparent moving object and the entire object, the application range of the visual device is wide. Therefore, various problems relating to counting of the moving object and the total object are suitably solved.
  • a function of retaining the number of stationary object areas obtained by subtracting the number of moving object areas from the number of all object areas, or the ratio of the moving objects, and the ratio of the moving objects It can have a function to keep the ratio and
  • the number of stationary object regions can be obtained by subtracting the number of moving object regions from the total number of object regions.
  • the means for holding the number of all object regions can output the number of stationary object regions instead of the number of all object regions as needed.
  • the ratio of the moving object can be obtained by dividing the number of moving object regions by the total number of object regions. Therefore, the means for holding the number of moving object regions can output the ratio of the moving object regions instead of the number of moving object regions as necessary.
  • the number of moving object regions is calculated from the number of all object regions. Since the number of the stationary object regions can be obtained by subtracting, the ratio of the stationary objects can be obtained by dividing the number of the stationary object regions by the number of the total objects divided by the number of regions. Therefore, the means for holding the total number of object regions can output the ratio of the stationary object region instead of the total number of object regions as necessary.
  • the moving image captured by the video camera is configured such that the moving object in the frame image is moving by connecting a plurality of the frame images. It is pretending to be. Accordingly, by continuing the still images created at different times or at different places by a digital camera, a scanner, or the like, it is possible to make the moving object in the still image appear to be moving. By using the digital force camera and the scanner in place of the video camera, it is possible to easily adjust the interval of the shooting time of the still image when counting the number of moving object regions of the moving object having a slow moving speed. Can be.
  • the digital camera having a low resolution can be used instead of the video camera.
  • An inexpensive and highly accurate visual device can be realized. Therefore, various problems relating to counting of the moving object and the total object are suitably solved.
  • the invention according to claim 4 is means for acquiring a frame image of the moving image for an arbitrary object in the moving image photographed by the moving power camera, and sequentially storing the frame image as a digital image.
  • Means a means for generating an arbitrary object rough edge information image from the digital image, a means for detecting the position and size of an arbitrary object area partitioned by the arbitrary object rough edge information image, Means for converting a magnification into a position in environmental coordinates; means for converting the position and the size of the arbitrary object area into the position in the environmental coordinates; and a means for converting the environmental coordinates with respect to a plurality of the arbitrary object areas.
  • a visual device comprising a means for controlling the position of the environmental coordinate to be moved, means for generating a camera command controlling the transfer power camera, a.
  • the moving force The visual device adjusts the orientation and the magnification of the moving lens so that the arbitrary object photographed by the lens is photographed at an appropriate size.
  • a series of processes for generating edge information of the arbitrary object from the moving image and degenerating the edge information are all realized by local processing. This allows the visual device to quickly shoot the arbitrary object with an appropriate size without depending on the shape and size of the arbitrary object.
  • the edge information is less affected by illumination or the like, so that the visual device has a wide application range. Therefore, the problems relating to the photographing of the arbitrary object are suitably solved.
  • the invention according to claim 5 is the visual device according to claim 4, wherein the arbitrary object forming edge information image is generated from the arbitrary object rough edge information image using the digital image, and the arbitrary object forming edge is formed.
  • Means for separating the arbitrary object region from the background using an information image means for normalizing the arbitrary object region, means for holding an arbitrary object normalized image, and means for recognizing the arbitrary object normalized image
  • Means for holding a recognition result means for generating an environment map represented by the environment coordinates; means for holding the environment map; means for estimating the position of the arbitrary object on the environment map;
  • a visual device comprising: means for counting the number; means for holding the number of arbitrary objects; and means for geometrically analyzing the arbitrary object formation edge information image.
  • the features of the present invention are as follows.
  • First, a series of processes for generating the edge information of the arbitrary object from the moving image and normalizing the arbitrary object region separated from the background using the edge information are all realized by local processing. This allows the visual device to generate the arbitrary-object normalized image at high speed without depending on the shape and size of the arbitrary object, so that the application range of the visual device is wide. Therefore, the problems relating to the extraction and normalization of the arbitrary object are suitably solved.
  • Second, a series of processes for generating the edge information of the arbitrary object from the moving image and normalizing the arbitrary object region separated from the background using the edge information are all realized by local processing. You.
  • the visual device can quickly generate the arbitrary object normalized image without depending on the shape and size of the arbitrary object.
  • the arbitrary object normalized image does not include the background, the arbitrary object
  • the method of recognizing a normalized image is less affected by the position and the size of the background and the arbitrary object region than in the case of recognizing the arbitrary object region surrounded by the background.
  • the range of applications for visual devices is wide. Therefore, the various problems relating to the recognition of the arbitrary object are suitably solved.
  • environment data representing the type of the arbitrary object and the position in the environmental coordinates is created from the result of recognition of the arbitrary object normalized image and the orientation and the magnification of the moving camera.
  • the visual device can create the environmental map, which is a collection of the environmental data.
  • the environment map includes the environment data for a certain period, the distribution and the movement status of each type of the arbitrary object can be recorded, and the application range of the visual device is wide. Therefore, various problems concerning the recording of the arbitrary object can be suitably solved.
  • the position of the arbitrary object that has not yet been recognized in the environment coordinates can be obtained.
  • the application range of the visual device is wide. Therefore, the problems relating to the search for the arbitrary object are suitably solved.
  • the application range of the visual device is wide. Therefore, the various problems relating to the counting of the arbitrary objects are suitably solved.
  • the recognizing means can more quickly and accurately recognize the arbitrary object normalized image.
  • the means for recognizing the arbitrary object normalized image generates the environment map before generating the recognition result. Therefore, the application range of the visual device is wide. Therefore, the problems relating to the recognition, search, and counting of the arbitrary object are suitably solved.
  • a means for initializing the array operation unit and an input should be input.
  • Visual device That is, this is an implementation form of an algorithm for realizing the digital image vibration function provided by the array operation unit by digital technology.
  • the digital image is appropriately input in pixel units. Then, from the vibration of each band pixel value of the digital image to the output of each band pixel value of the vibration image is sequentially performed, and the process is repeated until the digital image is no longer input.
  • a general-purpose processor can be used, and the parameter can be easily corrected.
  • the array operation unit is initialized for each of the array operation units arranged in a lattice in a data processing device that implements a means for generating a coarse edge information image from a digital image.
  • Means means for terminating the process if there is no digital image to be input, means for inputting each band pixel value of the digital image, and smoothing by smoothing each band pixel value of the digital image Means for generating each band pixel value of the image; means for taking the logarithm of each band pixel value of the smoothed image to generate each band pixel value of the logarithmically converted image; and each of the bands of the logarithmically converted image.
  • this is an implementation form of an algorithm for realizing the generation function of the coarse edge information image provided by the array operation unit by digital technology.
  • the digital image is appropriately input in pixel units.
  • the smoothing of the digital image to the output of each band pixel value of the rough edge information image are sequentially performed, and the process is repeated until the digital image is not input.
  • a general-purpose processor can be used, and the parameter can be easily corrected. It is not always necessary for the array operation unit to strictly wait for reception of neighboring pixels of the various images transmitted from the adjacent array operation unit.
  • the array operation unit waiting for reception substitutes the band pixel value of its own. Because you can. At this time, there is a possibility that some noise may be added to the pixels of the various images generated by the array operation unit, but in the present invention, most of the noise is absorbed by each of the means.
  • the edge processing and the timeout processing can be simultaneously and easily realized.
  • the invention according to claim 8 is characterized in that, in the data processing device for realizing the means for generating the formed edge information image from the coarse edge information image, each of the array operation units arranged in a lattice pattern is arranged.
  • Means for initializing the column operation unit, means for terminating the process if there is no digital image to be input or the coarse edge information 3 ⁇ 4 image, and each band pixel value of the digital image and the coarse edge information image Means for inputting band pixel values; means for separating the band pixel values of the digital image from the band pixel values of the coarse edge information image; and smoothing the band pixel values of the digital image.
  • Means for generating a band pixel value of the maximum zero point image means for inverting the band pixel value of the maximum zero point image to generate a band pixel value of the basic edge information image; Means for shaping the band pixel value of the rough edge information image so as to approach the band pixel value of the above, and the band pixel value of the formed edge information image by interpolating the line width of the band pixel value of the rough edge information image. And a means for outputting the band pixel value of the formed edge information image. That is, this is an implementation form of an algorithm for realizing, by digital technology, the function of generating the formation edge information image provided by the array operation unit.
  • the digital image and the rough edge information image are displayed.
  • Input as appropriate in pixel units sequentially perform the steps from separation of the digital image and the coarse edge information image to output of each band pixel value of the formed edge information image, until the digital image and the coarse edge information image are no longer input. repeat.
  • a general-purpose processor can be used, and the parameter can be easily corrected. It is not necessary for the array operation unit to strictly wait for reception of neighboring pixels of the various images transmitted from the array operation unit in the vicinity.
  • the neighboring image of the various images is This is because, when the element cannot be received, the array operation unit waiting for reception can substitute its own band pixel value. At this time, there is a possibility that some noise may be added to the pixels of the various images generated by the array operation unit, but in the present invention, most of the noise is absorbed by each of the means.
  • the edge processing and the time-out processing are simultaneously and simply realized by means of substituting the band pixel value of its own.
  • the invention according to claim 9 is a means for initializing the array operation unit for each of the array operation units arranged in a lattice in the data processing device for realizing the means for detecting the position and size of the object area.
  • Means for terminating the process if there is no rough edge information image to be input; means for inputting the band pixel value of the rough edge information image; and the band of the rough edge information image Means for converting to a pixel value, means for converting the amount of movement calculated from the overlapping information image into a band pixel value of the moving amount image, and means for moving the overlapping information image at a moving position indicated by the band pixel value of the moving amount image.
  • the processes from the conversion to the overlapping information image to the output of each band pixel value of the overlapping information image are sequentially performed, and the process is repeated until the rough edge information image is no longer input.
  • a general-purpose processor can be used, and the parameter can be easily corrected.
  • the array operation unit does not necessarily have to strictly wait for reception of pixels in the vicinity of various images transmitted from the array operation unit in the vicinity. This is because when it is not possible to receive the neighboring pixels of various images from the neighboring array operation unit, This is because the array operation unit waiting for reception can substitute a pixel value corresponding to 0.
  • most of the noise is absorbed by each of the means. is there.
  • a formed edge information image can be input instead of the rough edge information image.
  • the array operation units are arranged in a grid pattern, and the array operation unit is placed in the vicinity of the array operation unit.
  • the formed edge information image is appropriately input in pixel units, and each band of the overlapping information image is converted from the conversion to the overlapping information image.
  • the process up to the output of the pixel value is sequentially performed, and the process is repeated until the formation edge information image is no longer input.
  • a general-purpose processor can be used, and the parameter can be easily corrected.
  • the array operation unit It is not always necessary for the array operation unit to strictly wait for reception of neighboring pixels of the various images transmitted from the nearby array operation unit. This is because, when it is not possible to receive the neighboring pixels of the various images from the neighboring array operation unit, the array operation unit waiting to receive receives the band pixel value corresponding to 0. This is because it can be substituted. At this time, there is a possibility that some noise may be added to the pixels of the various images generated by the array operation unit, but in the present invention, most of the noise is absorbed by each of the means. . By means of substituting the band pixel value corresponding to 0, the edge processing and the time-out processing are simultaneously and easily realized.
  • the object region image can be input instead of the rough edge information image.
  • the array operation units are arranged in a grid pattern, and the array operation units are arranged close to each other.
  • the object region image is appropriately input in pixel units, and the conversion from the overlapping information image to the The processing is sequentially performed until the output of each band pixel value of the overlapping information image, and is repeated until the object area image is no longer input.
  • a general-purpose processor can be used, and the parameter can be easily corrected.
  • the array operation unit It is not always necessary for the array operation unit to strictly wait for reception of neighboring pixels of the various images transmitted from the nearby array operation unit. This is because, when the neighboring pixels of various images cannot be received from the neighboring array computing unit, the array computing unit waiting for reception substitutes the band pixel value corresponding to 0. Because you can. At this time, although there is a possibility that some noise may be added to the pixels of the various images generated by the array operation unit, in the present invention, most of the noise is absorbed by each of the means. By means of substituting the band pixel value corresponding to 0, the edge processing and the timeout processing can be simultaneously and easily realized.
  • a tenth aspect of the present invention is a data processing device for realizing a means for normalizing an object region, a means for initializing the array operation unit for each of the array operation units arranged in a grid, Means for ending the processing if there is no object area image or digital image to be processed; means for inputting the band pixel value of the object area image and each band pixel value of the digital image; and the band pixel value of the object area image. Means for separating the respective band pixel values of the digital image to generate band pixel values of the updated object region image and respective band pixel values of the updated image; and calculating a moving amount calculated from the updated object region image as a moving amount image.
  • It is a visual device characterized by comprising: That is, this is an implementation form of the algorithm provided by the array operation unit for realizing the function of generating the normalized image by digital technology. After arranging the array operation unit in a lattice shape, coupling the array operation unit to each other near each other, and setting initial values of parameters of the array operation unit, the object region image and the digital image are converted into pixels.
  • the input is appropriately performed in units, and the processes from separation of the object region image and the digital image to output of each band pixel value of the normalized image are sequentially performed, and the process is repeated until the object region image and the digital image are not input.
  • a general-purpose processor can be used, and the parameter can be easily modified. It is not always necessary for the array operation unit to strictly wait for reception of neighboring pixels of various images transmitted from the adjacent array operation unit. This is because, when the neighboring pixels of the various images cannot be received from the neighboring array operation unit, the array operation unit waiting for reception substitutes a pixel value corresponding to 0. Because you can do it.
  • the array operation units are arranged in a grid pattern for each of the array operation units arranged in a grid pattern in the data processing device that realizes pattern matching among the means for recognizing the normalized image.
  • Terminating means means for inputting a band pixel value of the normalized image, means for calculating a matching result, means for updating a matching result image, means for outputting a band pixel value of the matching result image, It is a visual device characterized by having the following.
  • this is an implementation form of the algorithm for realizing the pattern matching provided by the array operation unit in the image recognition means by digital technology.
  • Arranging the array operation units in a grid pattern After setting the initial values of the parameters of the array operation unit, the template image and the normalized image are appropriately input in pixel units, and the matching result is calculated based on the calculation of the matching result. The output of each band pixel value is sequentially performed, and the process is repeated until the normalized image is no longer input.
  • a general-purpose processor can be used, and the above parameters can be easily corrected. It is not always necessary for the array operation unit to strictly wait for reception of neighboring pixels of the various images transmitted from the adjacent array operation unit.
  • the array computing unit waiting for reception substitutes its own band pixel value. Because you can. At this time, there is a possibility that some noise may be added to the pixels of the various images generated by the array operation unit, but in the present invention, most of the noise is absorbed by each of the means. By means of substituting the band pixel value of its own, the edge processing and the timeout processing can be realized simultaneously and simply.
  • the invention according to claim 12 is characterized in that, for each of the array operation units arranged in a lattice in the data processing device, which implements means for separating an object region using a formed edge information image, the array operation unit is arranged in a lattice. Means for connecting the non-linear oscillator in the array operation unit, the non-linear oscillator in the vicinity of the non-linear oscillator described above with a coupling value, and means for initializing the array operation unit.
  • the invention of claim 13 is means for inputting data, means for sequentially storing the data, means for transferring the data between the array operation units, and means for calculating using the data, Means for outputting the data; means for arranging the array operation units in a grid pattern with respect to the array operation unit having; and means for interconnecting neighbors from each other based on the positional relationship between the array operation units.
  • a visual communication device comprising: means for communicating the data between adjacent array operation units; and means for operating each of the array operation units independently.
  • each of the array operation units has the same operation step regardless of where it is arranged in a grid.
  • the same circuits that implement the array operation unit can be regularly arranged on a plane, and only those adjacent circuits need to be connected. Therefore, the wiring amount is small, and the number of circuits can be increased or decreased according to the size of the image to be handled. And each circuit can be operated in parallel.
  • the array operation unit is implemented by software, a visual device in which the array operation units are arranged in a lattice can be executed by a program with high parallelism.
  • the array operation unit comprises: a processor having means for processing the input data; a memory for storing a program for processing the data and a variable; A controller for communicating with an array operation unit, wherein the controller stores the input data in the memory, and transmits the variable in the memory to an adjacent array operation unit.
  • the array operation unit can use a general-purpose processor for processing the input data and a general-purpose memory for storing a program and variables for processing the data. When the array operation unit is interconnected with at most four neighbors, the controller only needs to transmit a variable to the adjacent array operation unit only.
  • the variables of the array operation unit that are not included in the neighborhood 4 are once transmitted to the adjacent array operation unit, so that the variables are received by having the variable transmitted to itself again. be able to.
  • the means for transmitting each of the variables in the memory to the adjacent array operation unit may transmit the own variable to the array operation unit which is not included in the vicinity of four. This allows the array operation unit to communicate appropriate data with the array operation unit having eight or more neighborhoods, even though the array operation unit is connected to only the adjacent array operation unit as hardware. Further, of the above problems, various problems relating to hardware implementation and real-time processing are suitably solved. BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 is a block diagram of a visual device for counting the number of moving objects from a frame image.
  • FIG. 2 is a block diagram of a visual device that counts the number of moving objects from a frame image using an object Z background separating means.
  • FIG. 3 is a block diagram of a visual device for counting the total number of objects from a frame image.
  • FIG. 4 is a block diagram of a visual device that counts the total number of objects from a frame image using an object background separation unit.
  • FIG. 5 is a block diagram of a visual device for calculating the ratio between a moving object and a stationary object.
  • FIG. 6 is a block diagram of a visual device for controlling a moving camera.
  • FIG. 7 is a block diagram of a visual device that generates a normalized image of an object.
  • FIG. 8 is a block diagram of a visual device that outputs an object recognition result.
  • FIG. 9 is a block diagram of a visual device for generating an environmental map.
  • FIG. 10 is a block diagram of a visual device that controls a mobile camera using an environment map.
  • FIG. 11 is a block diagram of a visual device for counting the number of arbitrary objects.
  • FIG. 12 is a block diagram of a visual device speeded up by geometric analysis.
  • FIG. 13 is a block diagram in which array operation units are arranged in a grid.
  • FIG. 14 is a flowchart showing the algorithm of the image storage means of the present embodiment.
  • FIG. 15 is a flowchart showing an algorithm of the image vibration means of the present embodiment.
  • FIG. 16 is a flowchart showing an algorithm of the edge information generating means of the present embodiment.
  • FIG. 17 is an explanatory diagram of a case where coarse edge information is formed into formed edge information using a digital image.
  • FIG. 18 is a flowchart showing an algorithm of the edge information forming means of the present embodiment.
  • FIG. 19 is an explanatory diagram of a case where low-resolution coarse edge information generated from a low-resolution digital image is formed as formed edge information.
  • FIG. 20 is an explanatory diagram of a case where an area of low-resolution coarse edge information generated from a low-resolution digital image is cut out and then formed as formed edge information.
  • FIG. 21 is an explanatory diagram for detecting the position and size of an object in an edge information image.
  • FIG. 21 is an explanatory diagram for detecting the position and size of an object in an edge information image.
  • FIG. 22 is a flowchart showing an algorithm of the position / size detecting means of the present embodiment.
  • FIG. 23 is an explanatory diagram for detecting the position and size of an object in an object area image.
  • FIG. 24 is an explanatory diagram in the case of normalizing the cut-out area of the digital image.
  • FIG. 25 is a flowchart showing an algorithm of the area normalizing means of the present embodiment.
  • Fig. 26 shows the normalized image of this embodiment. It is a flowchart which shows the algorithm of a holding means.
  • FIG. 27 is an explanatory diagram of a case where pattern matching is performed on a normalized image from among template images.
  • FIG. 28 is a flowchart showing an algorithm of pattern matching in the image recognition means of the present embodiment.
  • FIG. 29 is an explanatory diagram showing a state where edge information of a triangle is separated into an inner area and an outer area of the triangle.
  • FIG. 30 is a flowchart showing an algorithm of the object / background separation means of the present embodiment.
  • FIG. 31 is an explanatory diagram showing a state where edge information of a triangle in a broken line state is separated into an inner region and an outer region of the broken line triangle.
  • FIG. 32 is an explanatory diagram showing a state where edge information obtained by overlapping two triangles is separated into two triangle regions and a background region.
  • FIG. 33 is an explanatory diagram showing a state where edge information in a dashed state when two circular object regions are overlapped is separated into two circular regions and a background region.
  • FIG. 34 is a block diagram of the internal structure of the array operation unit.
  • FIG. 35 is a block diagram of the controller.
  • FIG. 36 is an explanatory diagram showing input / output signals of the flag decoder.
  • FIG. 37 is an explanatory diagram showing input / output signals of the flag encoder.
  • FIG. 38 is a flowchart showing an algorithm in which the processor transmits data to the adjacent array operation unit via the controller.
  • FIG. 39 is a flow chart showing an algorithm in which a controller receives data from an adjacent array operation unit.
  • FIG. 40 is a flowchart showing an algorithm in which the processor receives data from the upper input register.
  • FIGS. 1 to 12 include an image acquisition unit 11 (see FIG. 1) that receives an image signal (frame image 1) of a video camera and converts it into a digital image 11 1 having an appropriate format and size; Image storage means 1 2 (see FIG. 1) for storing 11 for a certain period of time; image vibration means 13 (see FIG. 3) for vibrating the digital image 11 1 using a digital circuit; Edge information generating means 14 (see FIGS. 1 and 3) for generating coarse edge information 1 12 of moving object 2 or stationary object 3 from image 11 1 1 and coarse edge information 1 12 more accurately. And clear formation Edge information forming means 15 (see FIG. 1) (see FIG. 1) that receives an image signal (frame image 1) of a video camera and converts it into a digital image 11 1 having an appropriate format and size; Image storage means 1 2 (see FIG. 1) for storing 11 for a certain period of time; image vibration means 13 (see FIG. 3) for vibrating the digital image 11 1 using a digital circuit; Edge information generating means 14 (see FIGS. 1 and 3)
  • edge information 1 14 1) formed on edge information 1 14; object Z background separating means 16 (see FIG. 2) separating an area divided by formed edge information 1 14; A position size detecting means 17 (see FIGS. 1 and 2) for detecting the position and size of each area divided or separated by the formed edge information 114, and an appropriate size.
  • Pixel counting means 18 for counting the number of areas from the position of a certain area (see Fig. 1) and pixel number holding means 19 for outputting the number of areas or a percentage of the number of areas (see Figs. 1 and 5) ) Etc., and will be described with reference to the drawings.
  • a moving object counting unit 101 inputs a frame image 1 of a moving image captured by a video camera to an image obtaining unit 11, and stores an image storage unit 12 and edge information generation.
  • the frame image 1 may be a still image continuously shot by a digital camera.
  • the image acquisition means 11 inputs a frame image 1 of a moving image from a video camera
  • the frame image 1 is converted into a digital signal by AZD conversion using a general capture board. Convert to digital image 1 1 1
  • a voltage of a CCD image sensor or the like can be directly input, it is only necessary to convert the digital signal into an appropriate number of bits by AZD conversion.
  • the moving image is a digital signal, decompress it if it is compressed, or input it as is if it is not.
  • an arbitrary frame image 1 can be cut out of the moving image, so that the frame image 1 is cut out to be a digital image 111.
  • the image acquisition means 11 converts the image data into a format in which the image data can be referenced in pixel units, and a moving object counting unit.
  • the required image size is cut out in 101 and output as digital image 111. If the image acquisition unit 1.1 can output all the pixels of the digital image 11 1 in parallel, the communication from the image acquisition unit 11 to the image storage unit 12 can be performed in parallel for each pixel. it can.
  • the moving object The digital image 111 is stored for a certain period of time in accordance with the time resolution of the counting unit 101 or the calculation capability of each means. In other words, even if the digital image 11 1 is input during this fixed time, the image storage means 12 does not change the stored image, so that each subsequent means inputs the same digital image 11 1 at a different timing. be able to. Moreover, since the image storage means 12 does not perform image processing on the digital image 111, all the pixels of the digital image 111 are stored while maintaining the two-dimensional phase relationship. If the image storage means 12 can output all the pixels of the digital image 11 in parallel, the communication from the image storage means 12 to the edge information generation means 14 can be performed in parallel for each pixel. it can.
  • the edge information generating means 14 When the edge information generating means 14 receives the digital image 1 11 from the image storing means 12, the edge information generating means 14 compares the digital image 1 1 1 with the previously input digital image 1 1 1 to obtain the coarse edge information image 1 1 3 Generate. Since the edge information generating means 14 can generate the coarse edge information image 113 only by the neighborhood processing for each pixel, it is suitable for parallelization. If the edge information generating means 14 can output all the pixels of the coarse edge information image 113 in parallel, the communication from the edge information generating means 14 to the edge information forming means 15 is performed for each pixel. Can be done in parallel.
  • the edge information forming means 15 receives the coarse edge information image 113 from the edge information generating means 14, the coarse edge information image is referred to by referring to the digital image 111 stored in the image storage means 122. 1 1 3 A more accurate and clear formed edge information image 1 15 of the moving object 2 is generated. Since the edge information forming means 15 can generate the formed edge information image 115 only by the neighborhood processing for each pixel, it is suitable for parallelization. If the edge information forming means 15 can output all the pixels of the formed edge information image 115 in parallel, the communication from the edge information forming means 15 to the position / size detecting means 17 is performed for each pixel. Can be done in parallel.
  • the position and size detecting means 17 When the position and size detecting means 17 inputs the formed edge information image 1 15 from the edge information forming means 15, the position and size of the area of the moving object 2 indicated by the formed edge information 114 are detected. I do. Since the position / size detection means 17 can generate a duplicate information image 13 2 representing the detection result of the position and size of the area of the moving object 2 by only neighborhood processing for each pixel, it is suitable for parallelization. ing. If the position / size detection means 17 is the same for all pixels of the Can be output in parallel, the communication from the position / size detecting means 17 to the pixel counting means 18 can be performed in parallel for each pixel.
  • the pixel counting unit 18 When the pixel counting unit 18 receives the overlapping information image 13 2 from the position Z size detecting unit 17, the pixel counting unit 18 counts the number of pixels representing the position of the area of the moving object 2 having an appropriate size. It is more convenient to perform this process sequentially instead of in parallel. Therefore, each pixel of the overlapping information image 132 is stored in the linear memory. The number of pixels representing the position of the area of the moving object 2 is output from the pixel counting means 18 to the pixel number holding means 19.
  • the moving object counting unit 101 can output the number of moving objects.
  • the moving object counting unit 101 can have real-time properties. Therefore, it is suitable for counting the number of fast moving objects or for processing a large amount of moving images in a short time. Also, if some means are implemented by software on a single processor, the computational speed can be reduced and the cost can be reduced. Therefore, it is suitable for applications where it may take more than a few minutes for the counting result to be obtained.
  • the position Z size detecting means 17 detects the position and size of the area of the moving object 2 using the formed edge information image 1 15 generated by the edge information forming means 15, Depending on the density, the number of pixels representing the position of the area of the moving object 2 may be different from the number of the moving objects 2.
  • the main causes are that the formed edge information 114 does not always accurately extract the edge of the moving object 2 and that the position / size detection means 17 uses the formed edge information 111 to detect the moving object 2 It is not to determine the shape. Therefore, when the density of the moving object 2 increases, formed edge information 114 generated from different moving objects 2 may be combined and confused with edge information of a non-existent object.
  • the shape of the moving object 2 should be determined from the formed edge information 1 1 4 .
  • the conventional geometric analysis method requires a large amount of calculation due to global processing, and the accuracy of the determination result is high. Increases the computation time exponentially. Therefore, as a means for solving this problem by neighborhood processing, the object Z background separation means 16 (see FIG. 2) can be used.
  • the object / background separating means 16 separates the pixels included in the object area 141 and the pixels included in the background into different groups. The separation results are output sequentially in groups. If the object regions 14 1 are clearly distinguished by the formed edge information 114 even though they are adjacent to each other, the object Z background separation means 16 can separate these object regions into different groups. . Therefore, the number of groups can be more than two.
  • the object / background separation means 16 is suitable for parallelization since the object area 141 and the background can be separated only by neighborhood processing for each pixel. If the object Z background separating means 16 can output all the pixels of the object area image 14 2 in parallel, the communication from the object background separating means 16 to the position / size detecting means 17 is performed for each pixel. Can be performed in parallel.
  • the object background separation means 16 by using the object background separation means 16, it is possible to separate the area of the moving object 2 from other background areas while supplementing the formed edge information 114 only by neighborhood processing. it can.
  • the position / size detecting means 17 extracts only the area of a certain size and extracts the position. Can be specified. Therefore, if it is known in advance that the moving object 2 resembles a circle, the pixel counting means 18 can use the object / background separation means 16 to determine the area of the moving object 2 having a specific size. The number of pixels representing the position can be counted. That is, the moving object counting unit 101 can output the moving object number with higher accuracy.
  • moving object counting section 101 operates when counting the number of moving objects 2 in two or more frame images 1 of a moving image.
  • the total number of moving objects 2 and still objects 3 in one frame image 1 of a moving image that is, the total number of objects is counted.
  • the basic operation is the same as the case of counting the number of moving objects 2 using the frame image 1 of the moving image described above. That is, the stationary object 3 in the frame image 1 may be apparently replaced with the moving object 2 in the frame image 1 by an appropriate method. Then the rough object 3 of the stationary object 3 Since the object information 112 is generated, the moving object counting unit 101 can also count the number of the stationary objects 3.
  • the simplest way to imitate the stationary object 3 as the moving object 2 is to finely vibrate the video camera (digital camera) or the stationary object 3 itself using a shaking table or the like.
  • video camera digital camera
  • stationary object 3 itself using a shaking table or the like.
  • image vibrating means 13 is a means that does not use a physical mechanism.
  • the image vibration unit 13 When the digital image 1 11 is input from the image acquisition unit 11, the image vibration unit 13 simultaneously transmits the digital image 1 1 1 in units of an image so that the stationary object 3 vibrates up and down and left and right within a range of about 3 pixels. , Or move individually in pixel units. If the image oscillating means 13 can output all the pixels of the digital image 11 1 in parallel, the communication from the image oscillating means 13 to the edge information generating means 14 can be performed in parallel for each pixel. it can.
  • the image vibrating means 13 vibrates the stationary object 3 in the digital image 11 generated by the image acquiring means 11 up, down, left and right within a range of about 3 pixels.
  • the edge information generating means 14 can regard the stationary object 3 as the moving object 2 and generate the coarse edge information 1 1 2 of the stationary object 3.
  • the object Z background separating means 16 separates the object area 14 1 and the background area only by the forming edge information 114. Therefore, if it is known in advance that the moving object 2 and the stationary object 3 are similar to a circle, as shown in FIG. 4, the formed edge information image 115 generated by the edge information forming means 15 is obtained.
  • the position / size detection means 17 can count the number of pixels representing the position of the area of the moving object 2 and the stationary object 3 of a specific size. That is, the total object counting unit 102 can output a more accurate total object number.
  • the visual device uses the whole object counting unit 102 provided with almost the same means as the moving object counting unit 101 that counts the number of moving objects 2 in a moving image, Moving image files The total number of moving objects 2 and stationary objects 3 in the frame image 1 can be counted. Therefore, consider a method of counting the number of moving objects 2 and the number of stationary objects 3 in parallel using one visual device. At this time, if the number of moving objects 2 and stationary objects 3 can be determined, it is very easy to calculate the ratio of moving objects 2 or the ratio of stationary objects 3 to all objects. Therefore, a visual device for calculating the ratio between the moving object 2 and the stationary object 3 will also be described.
  • the overall configuration of the visual device that calculates the number of moving objects 2 and all objects and calculates the ratio of moving objects 2 and stationary objects 3 is roughly divided into a moving object counting unit 101 and It consists of a total object counting unit 102.
  • the moving object counting unit 101 and the total object counting unit 102 each include the above-described means. Note that since the image acquisition means 11 and the image storage means 12 of the moving object counting section 101 and the total object counting section 102 operate exactly the same, FIG. 5 shows the image acquisition means 11 and the image storage means.
  • the number-of-pixels holding unit 19 of the moving object counting unit 101 inputs the total number of objects from the pixel counting unit 18 of the total object counting unit 102, and
  • the number-of-pixels holding means 19 inputs the number of moving objects from the pixel counting means 18 of the moving-object counting unit 101 to determine the ratio between the moving object 2 and the stationary object 3 by an external signal such as a ratio switching signal. That is, it can be switched to calculate and convert to floating point notation.
  • a ratio switching signal such as a ratio switching signal
  • the corresponding functions may be added to the pixel number holding means 19.
  • the visual device can freely make such a change depending on the application.
  • the visual device described in claims 1 to 3 is configured by the moving object counting unit 101 and the total object counting unit 102.
  • This is a device for counting the number of moving objects 2 and stationary objects 3 in a captured frame image 1. Therefore, if the moving object 2 and the stationary object 3 are included in the frame image 1, these visual devices can count the number of the moving object 2 and the stationary object 3. However, once the moving object 2 and the stationary object 3 deviate from the frame image 1, these visual devices And the number of stationary objects 3 cannot be counted. Therefore, in the following, a visual device according to claims 4 and 5, in which the number is counted while constantly searching for the moving object 2 and the stationary object 3 using the moving camera 10 (see FIG. 6), will be described.
  • the mobile camera 10 has a mechanism for moving in the horizontal direction and the vertical direction, and can perform pan and tilt, respectively, by inputting a command for controlling the movement angle from the outside. It is also assumed that the mobile camera 10 has a mechanism for changing the magnification of a captured image, and can perform zooming by inputting a command for controlling the magnification from outside. Therefore, the moving force camera 10 can finely vibrate the camera itself by an external command. As a result, the frame image 1 of the moving image captured by the moving camera 10 is blurred, and the object in the frame image 1 is captured as if it were vibrating.
  • the moving camera 10 when the moving camera 10 is used, the area of the whole object can be counted only by the moving object counting unit 101 without using the image vibration means 13 of the whole object counting unit 102.
  • This method has problems in processing speed and counting accuracy because it uses the physical mechanism of the moving camera 10.However, only the moving object counting unit 101 can cover both areas of the moving object 2 and all objects. Since it can be counted, it is suitable for use in counting moving objects 2 and stationary objects 3 in a wide place that cannot be accommodated by the frame image 1.
  • the mobile camera 10 can output the current position moved by a movement command such as pan, tilt, and zoom as necessary, and further, whether the mobile camera 10 is currently moving or stopped. It is assumed that the status can be output as needed.
  • the visual device can control the pan, tilt, and zoom of the moving camera 10
  • the moving device 10 always moves the moving object 2 and the stationary object 3 to an appropriate size. The direction and the magnification of the moving camera 10 can be changed so that a photograph can be taken.
  • FIG. 6 shows a visual device according to claim 4 in which the moving camera 10 is provided with basic means for constantly photographing the moving object 2 and the stationary object 3 with an appropriate size.
  • the visual device uses three coordinate systems, that is, a camera coordinate system, an image coordinate system, and an environment coordinate system, depending on the function.
  • the camera coordinate system is a three-dimensional spherical coordinate system inside the camera that the moving camera literally uses to control pan, tilt and zoom in each of the minimum control units.
  • the origin of the camera coordinate system is a position unique to the moving camera called a home position.
  • the camera coordinate system is the only coordinate system that can represent the physical positions of the moving object 2 and the stationary object 3.
  • the image coordinate system is a two-dimensional coordinate system in which the center is the center of the frame image 1 captured by the moving camera 10 and has a pixel unit. This is used to indicate at which pixel in the frame image 1 the moving object 2 and the stationary object 3 are located. Therefore, the image coordinate system is suitable for distinguishing the fine positions of multiple objects in the frame image 1, but the image coordinate system alone can represent the physical positions of the moving object 2 and the stationary object 3. Can not.
  • the environment coordinate system is a three-dimensional spherical coordinate system used by the visual device to logically unify the positions of the moving object 2 and the stationary object 3 inside.
  • the environment coordinate system uses angles in radians in the horizontal and vertical directions, and uses real numbers in units of 1.0 in the distance direction to represent the product of the size of the object and the distance to the object. In general, since the size of the object does not change extremely, the distance to the object and the magnification of the moving lens 10 may be regarded as proportional.
  • the origin of the environment coordinate system is arbitrary. In other words, the environment coordinate system is used to represent the relative coordinates of any two points on the environment coordinate system in principle.
  • the visual device can distinguish a plurality of objects by projecting objects in the environment that can be photographed by the moving camera 10 onto the environment coordinate system.
  • the camera coordinate system and the image coordinate system need to be mutually coordinate-transformed with the environment coordinate system.
  • Means that fulfill that role are camera / environmental coordinate conversion means 20, image environment coordinate conversion means 21, and motion control means 23. These means obtain the respective units of the camera coordinate system and the image coordinate system from the specifications of the moving force camera 10 and the image acquisition means 11 and calculate a matrix for conversion into the environment coordinate system. By calculating the inverse of the transformation matrix from the camera coordinate system to the environment coordinate system, the transformation matrix from the environment coordinate system to the camera coordinate system can also be obtained. However, since the origin of the camera coordinate system is the home position of the moving camera 10, the position of the environment coordinate system converted from the camera coordinate system is relative to the moving camera 10's home position on the environment coordinate system.
  • the position of the camera coordinate system converted from the environment coordinate system is It is a relative position from the current position of the moving camera 10 on the system.
  • the image coordinate system is a two-dimensional coordinate system, it cannot be converted to the environment coordinate system using only the image coordinate system. Therefore, the image environment coordinate conversion means 21 uses the orientation and magnification of the moving camera 10 expressed in the environment coordinate system and the size of the area of the moving object 2 and the stationary object 3 in the frame image 1 as needed to perform the conversion. By calculating the matrix, it is possible to convert from the image coordinate system to the environment coordinate system.
  • the position of the environment coordinate system converted from the image coordinate system is a relative position from the center of the image.
  • the remaining means of the visual device according to claim 4 can be used to move the moving object 2 and the stationary object 3 represented by these three coordinate systems in order to always photograph the moving object 2 and the stationary object 3 at an appropriate size. It can be considered as a means for generating and transforming the position of the object 3. Therefore, Fig. 6 is explained based on the camera coordinate system, image coordinate system and environment coordinate system.
  • the image acquisition unit 11, the edge information generation unit 14 and the position / size detection unit 17 are composed of a moving object counting unit 101 and a total object counting unit 102. This is the same as that described for the visual device described. However, in the visual device described in claims 1 to 3, the formed edge information image 1 15 generated by the edge information forming means 15 is input to the position size detecting means 17. In the visual device according to the fourth aspect, the coarse edge information image 113 generated by the edge information generating means 14 is input to the position / size detecting means 17. Of course, in this visual device, it is also possible to input the formed edge information image 115 to the position / size detecting means 17 by using the edge information forming means 15, but here, for the following reasons.
  • the performance of this visual device is sufficient without using the edge information forming means 15.
  • the visual device does not need to count the number of areas of the moving object 2 and the stationary object 3 as required by the visual device described in claims 1 to 3. Rather, it is important that this visual device searches for the moving object 2 and the stationary object 3 and matches the direction and the magnification of the moving camera 10 to the direction.
  • the position Z size detecting means 17 can obtain the approximate size of the area of the moving object 2 and the stationary object 3 even from the rough edge information 112.
  • the edge information forming unit 15 generates the formed edge information image 115 using the rough edge information image 113 generated by the edge information generating unit 14. That is, the edge information forming means 1 The moving object 2 moves while 5 generates the formed edge information image 1 15.
  • the moving speed of the moving camera 10 is not so fast because the moving camera 10 has a physical mechanism. Therefore, if the visual device moves the moving camera 10, the control of the moving camera 10 may not be able to keep up depending on the moving speed of the moving object 2. Based on these facts, the visual device according to claim 4 does not necessarily need accurate and clear formation edge information 114 of the moving object 2 and the stationary object 3.
  • the force-melano environment coordinate conversion means 20 and the image Z environment coordinate conversion means 21 include a moving object 2 and a stationary object 3 represented by the overlap information image 13 2 generated by the position and size detection means 17. Converts the position of the area to the position in the environment coordinate system. At this time, if the total number of positions of the areas of the moving object 2 and the stationary object 3 in the frame image 1 is 2 or more, two or more positions exist on the environment coordinate system. Therefore, in order to control the pan, tilt, and zoom of the moving camera 10 and adjust the direction and magnification of the moving camera 10 to one of the objects, it is necessary to select one of the positions on the environment coordinate system. is there.
  • the position selecting means 22 selects one position on the environment coordinate system according to a predetermined criterion.
  • the criteria used here are mainly as follows. First, select the closest (or largest) object in the environment coordinate system. This means that if the object is far (or small), the edge information generating means 14 may have generated noise, so that the object with a high probability of being at a position on the environmental coordinate system even if it is a little. select. Second, if multiple locations are concentrated within a certain range on the environment coordinate system, select one of them. This has two possibilities. One is the possibility that the edge information generating means 14 has generated coarse edge information 1 1 2 dispersed for one object, and the other is the possibility that a plurality of objects actually exist.
  • the position selecting means 22 can select one position on the environment coordinate system.
  • the visual device according to claim 4 is required to pan, tilt, and zoom the mobile camera 10 to the following position in addition to the position selected by the position selecting means 22.
  • this vision The device must vibrate the moving camera 10. Therefore, in order to vibrate the mobile camera 10, the vibration command generation means 25 specifies a position where the mobile camera 10 moves as a position on the environment coordinate system.
  • the position specified by the vibration command generation means 25 is determined by a pseudo random number or the like within a range where the moving camera 10 does not vibrate extremely.
  • the visual device according to claim 4 is required to pan, tilt, and zoom the moving camera 10 by inputting a control command from outside. In a general use, panning, tilting and zooming are performed in the direction and magnification at which the moving camera 10 is currently facing. Therefore, the control command input means 24 is used to temporarily store the control command, and then store the control command. Calculate the position on the environment coordinate system with the current position of 0 as the origin. By improving the control command input means 24, it is possible to easily move the mobile camera 10 to a specific position.
  • the motion control means 23 selects one from the three positions on the environment coordinate system described above.
  • the control command input means 24, the position selection means 22 and the vibration command generation means 25 are selected in the order of the input positions. .
  • the selected position is converted from the environment coordinate system to the force coordinate system.
  • the camera command generation means 26 replaces the command with a command recognizable by the mobile camera 10 and transmits the command to the mobile camera 10.
  • the visual device according to claim 4 can control pan, tilt, and zoom of the moving camera 10.
  • the state of the mobile camera 10 is determined.
  • the motion control means 23 selects one of the three positions and outputs it to the camera command generation means 26, and then issues a command to the mobile camera 10 to inquire whether the mobile camera 10 is moving or not. It instructs the camera command generation means 26 to transmit, and waits until this information is received from the moving camera 10 via the camera Z environment coordinate conversion means 20. If the received information is moving, it instructs the camera command generation means 26 again to transmit a command to the mobile camera 10 for inquiring whether the mobile camera 10 is moving. If the information received is stopped, mobile camera 10 It instructs the camera command generation means 26 to transmit a command for inquiring the current direction and magnification to the mobile camera 10. During this period, the motion control means 23 does not select three positions.
  • the camera command generation means 26 transmits a corresponding command to the mobile camera 10 according to the instruction from the motion control means 23.
  • the camera / environment coordinate conversion means 20 sends the information as to whether or not the moving camera 10 is moving and the motion information to the movement control means 23 as it is. Convert to a coordinate system position.
  • the visual device according to claim 4 can control pan, tilt, and zoom of the mobile camera 10 while sequentially examining the state of the mobile camera 10.
  • the visual device according to claim 4 has been described in which the moving camera 10 is provided with basic means for constantly photographing the moving object 2 and the stationary object 3 in the frame image 1 at an appropriate size.
  • the moving object 2 and the stationary object 3 are not always present in the range where the moving camera 10 is shooting, and above all, the moving object 2 moves to another position from the range where the moving camera 10 is shooting. It is natural to think that it will.
  • the visual device described in claim 5 described below is different from the visual device described in claim 4 in that the shape and color of the moving object 2 and the stationary object 3 in the frame image 1 are more accurately recognized.
  • an edge information forming unit 15, an object Z background separating unit 16, a region normalizing unit 27, and a normalized image holding unit 28 are added to the visual device described in claim 4.
  • a normalized image 144 is generated.
  • the edge information forming means 15 and the object Z background separating means 16 comprise a moving object counting section 101 and a total object counting section 102, and the visual information described in any one of claims 1 to 3. This is the same as the edge information forming means 15 and the object Z background separating means 16 of the apparatus.
  • the area normalizing means 27 receives the object area image 144 and the digital image 111 from the object background separating means 16 and the image acquiring means 111, respectively.
  • a normalized image 1 45 is generated by cutting out from 11 and complementing and enlarging as much as possible according to the image size of the digital image 111 while deforming the separated object region 144.
  • the region normalizing means 27 can normalize the separated object region 144 by only neighborhood processing for each pixel, and is suitable for parallelization. If the area normalizing means 27 can output all the pixels of the normalized image 144 in parallel, the communication from the area normalizing means 27 to the normalized image holding means 28 is performed in parallel for each pixel. Can be done.
  • the output destination of the normalized image 144 requests the normalized image 144 of an appropriate format. If this is the case, convert the normalized image 145 to the format required by the output destination of the normalized image 145. Thereafter, the normalized image holding means 28 stores the normalized image 145 for a certain period of time until the normalized image 145 is reliably transmitted to the output destination of the normalized image 145. If the format to be converted is limited, the normalized image holding means 28 can convert the normalized image 145 only by neighborhood processing for each pixel, and is suitable for parallelization. If the normalized image holding means 28 can output all the pixels of the normalized image 144 in parallel, the communication from the normalized image holding means 28 to the output destination of the normalized image 144 is , Can be performed in parallel for each pixel.
  • the visual device shown in FIG. 7 can provide a normalized image of the moving object 2 and the stationary object 3 as similar as possible. Can be generated.
  • the output destination of the normalized image 1 45 needs to recognize the moving object 2 and the stationary object 3
  • the output destination of the normalized image 1 45 is the moving object 2 and the stationary object 3 in the frame image 1.
  • the edge information generating means 14, the edge information forming means 15, and the object It is not always necessary to make the resolution or image size of the image input by each means between the body / background separation means 16, the area normalization means 27 and the normalized image holding means 28.
  • a low-resolution digital image 116 with a reduced resolution of the digital image 111 is input to the edge information generating means 14 while the edge information forming means 15 Input the coarse edge information image 1 13 obtained by enlarging the image size of the low resolution coarse edge information image 1 17 generated by the edge information generating means 14 to the digital image 11 1 size by an appropriate method.
  • the load on the edge information generating means 14 can be reduced by inputting the digital image 111 to the object Z background separating means 16 and the area normalizing means 27.
  • the pan / tilt / zoom control of the moving camera 10 after the position / size detection means 17 can be performed with little change in the quality of the normalized image 144 generated after the edge information forming means 15. Can be faster. Therefore, when this method is further advanced, the edge information forming unit 15 cuts out the area where the coarse edge information 1 12 exists from the low-resolution coarse edge information image 1 17 generated by the edge information generating unit 14.
  • the extracted coarse edge information image 1 19 is input, and the object / background separating means 16 and the area normalizing means 27 are provided with an area at the same position as the cut coarse edge information image 1 19 from the digital image 111.
  • the cutout digital image 120 obtained by cutting out the image, it is possible to reduce the load of generating the normalized image 144 after the edge information forming means 15.
  • the moving camera 10 can photograph the moving object 2 and the stationary object 3 at an appropriate size in the center of the frame image 1 by the visual device according to claim 4, a rough cutout of the digital image 111
  • the cutout areas of the edge information image 119 and the cutout digital image 120 can be determined in advance. According to this method, the visual device shown in FIG. 7 can achieve the same performance as the object search device using a wide-angle camera and a high-resolution camera by using one moving camera 10.
  • the visual device shown in FIG. 8 generates a recognition result by adding an image recognition means 29 and a recognition result holding means 30 to the visual device shown in FIG.
  • the image recognizing means 29 receives the normalized image 1 45 from the area normalizing means 27, and performs appropriate pattern recognition on the normalized areas 1 4 4 of the moving object 2 and the stationary object 3 in the normalized image 1 45. One Recognition using the method, and outputs the recognition result. Since the normalized image 1.45 input to the image recognition means 29 has the shape of the moving object 2 and the stationary object 3 deformed by the area normalization means 27, the image recognition means 29 has a stroke extraction method. Rather than performing geometric analysis using a method that is resistant to misalignment such as Fourier transform and Hough transform, it is more appropriate to perform pattern matching that compares the input image with the template image.
  • a neural network such as a perceptron that can learn a template image by an error backpropagation method (back propagation) can be used.
  • backpropagation back propagation
  • parallelization and speeding up are possible by using the neural network exclusive filer.
  • the recognition result of the normalized image 144 is output from the image recognition means 29 to the recognition result holding means 30.
  • the recognition result holding means 30 When the recognition result holding means 30 inputs the recognition result of the normalized image 144 from the image recognition means 29, if the output destination of the recognition result requests a signal in an appropriate format, the recognition result is output. Convert the recognition result to the format required by the destination. Thereafter, the recognition result holding means 30 stores the recognition result for a certain period of time until the recognition result is reliably transmitted to the output destination of the recognition result.
  • the visual device shown in FIG. 8 can recognize the recognition results of the moving object 2 and the stationary object 3 captured by the moving force camera 10 with an appropriate size. Can be generated.
  • the output destination of the recognition result can use the visual device shown in FIG. 8 as a device for recognizing the moving object 2 and the stationary object 3 photographed by the moving camera 10.
  • the visual device shown in FIG. 9 generates an environmental map by adding environmental understanding means 31, clocking means 32 and environmental map holding means 33 to the visual device shown in FIG.
  • the timer means 32 outputs the current time in 1 millisecond units by a timer circuit.
  • the current time is constantly output from the timing means 32 to the environmental understanding means 31.
  • the environment understanding means 3 1 receives the recognition results of the moving object 2 and the stationary object 3 from the image recognition means 29, and outputs the recognition result, environment data including the position of the moving camera 10 on the environment coordinate system and the current time. create.
  • the environment understanding means 3 1 inputs the positions of the areas of all moving objects 2 and stationary objects 3 in the frame image 1 on the environment coordinate system from the image Z environment coordinate conversion means 21. Then, the recognition result consisting of Null and the night, the position of the moving camera 10 on the environment coordinate system and the position of one moving object 2 and the stationary object 3 in the frame image 1 on the environment coordinate system are added.
  • the environment data consisting of the position and the current time is created by the number of areas of the moving object 2 and the stationary object 3.
  • the environment map is a set of environment data created a predetermined time before the current time, and the position in the environment data is represented by an environment coordinate system whose origin is the home position of the mobile camera 10.
  • the environmental understanding means 31 adds and deletes environmental data as time elapses from the environmental map.
  • the environmental understanding means 31 deletes the duplicated environmental data, and the position in the environment data where the recognition result is null data is near the position in other environmental data in which the recognition result is not null data. , Delete environmental data for which the recognition result is nulle overnight.
  • the recognition result in these environment data is If matches, delete the former environmental data.
  • the accuracy of the environmental map is determined by the recording time of the environmental data and the range near the position of the environmental data.
  • the environmental map is output from the environmental understanding means 31 to the environmental map holding means 33.
  • the environmental map holding means 33 When the environmental map holding means 33 inputs the environmental map from the environmental understanding means 31 1, if the output destination of the environmental map requires a signal in an appropriate format, the environmental map is stored in the format required by the output destination of the environmental map. Convert. Thereafter, the environmental map holding means 33 stores the environmental map for a certain period of time until the environmental map is reliably transmitted to the output destination of the environmental map.
  • the visual device shown in FIG. can do.
  • the output device of the environmental map can use the visual device shown in FIG. 9 as a device for specifying the positions of the moving object 2 and the stationary object 3 that can be photographed by the moving camera 10.
  • the visual device shown in FIG. 10 controls the moving camera 10 to the estimated position of the object by adding the object position estimating means 34 to the visual device shown in FIG.
  • the object position estimating means 3 4 inputs an environmental map from the environmental understanding means 3 1 and the recognition result is null. Select one of the environmental data, which is data, and extract the position in this environmental data. By subtracting the current position of the moving camera 10 on the environment coordinate system calculated by the camera / environmental coordinate conversion means 20 from this position, the object position estimating means 34 becomes the environment coordinate system of the moving camera 10. The relative position in the environment coordinate system of the moving object 2 and the stationary object 3 for which the recognition result has not been obtained even though the coarse edge information 1 1 2 has been generated in the past, with the current position in the above as the origin. Can be requested. However, in the case of moving object 2, moving object 2 is not always present at this position.
  • this position is the estimated position of moving object 2 and stationary object 3 where moving object 2 and stationary object 3 may exist.
  • a position on the appropriate environment coordinate system is generated within a range in which the mobile camera 10 can move.
  • the following can be considered as a reference for generating an appropriate position.
  • an arbitrary position is generated by a pseudo random number.
  • Third, positions within the movable range of the moving camera 10 are sequentially generated in an appropriate order.
  • the position is generated in order from the upper left position to the right, and when it reaches the right end, it descends one step and then generates the position in order to the left. After reaching the left end, go down one step and repeat to generate positions in order to the right.
  • the object estimation position is output from the object position estimation means 34 to the motion control means 23.
  • the motion control means 23 is changed as follows based on the motion control means 23 in the visual device according to the fourth aspect.
  • the motion control means 23 includes the control command input means 24, the object position estimating means 34, the position selecting means 22 and the vibration command generating means 25. Is selected from the means having an input position in the order of. However, it is necessary for the motion control means 23 not to continuously select the input position from the object position estimation means 34.
  • the visual device shown in FIG. 10 can search for the moving object 2 and the stationary object 3 existing in the range where the moving camera 10 can photograph.
  • the output destination of the environmental map can use the visual device shown in FIG. 10 as a device for specifying the positions of the moving object 2 and the stationary object 3 that can be photographed by the moving camera 10.
  • the visual device of FIG. 11 generates an arbitrary number of objects by adding an object counting means 35 and an object number holding means 36 to the visual device of FIG.
  • the object counting means 35 When inputting an environment map from the environment understanding means 31, the object counting means 35 counts the number of environment data having a recognition result meaning a specific object in the environment map, and generates an arbitrary number of objects. Any number of recognition results in the environment data can be selected from the types of objects identified by the image recognition means 29. The number of arbitrary objects is output from the object counting means 35 to the object number holding means 36. If necessary according to the application, it is easy to change the object counting means 35 so that the type of the object to be counted can be specified from the outside.
  • the object number holding means 36 inputs the arbitrary object number from the object counting means 35, the arbitrary object number is stored for a certain period of time until the arbitrary object number is reliably transmitted to the output destination of the arbitrary object number.
  • the visual device shown in FIG. 11 can count the number of the specific moving objects 2 and the stationary objects 3 existing in the range where the moving camera 10 can photograph. Can be counted. As a result, as the output destination of an arbitrary number of objects, the visual device shown in FIG. 11 can be used as a device for counting the number of specific moving objects 2 and stationary objects 3 that can be photographed by the moving camera 10.
  • the visual device described in claim 5 is intended to make the creation of an environmental map accurate and fast by adding a geometric analysis means 37 to the visual device of FIG. is there.
  • the geometric analysis means 37 receives the formed edge information image 115 from the edge information forming means 15 and performs a geometric analysis such as a stroke extraction method, a Fourier transform, and a Hough transform to move the frame image 1. Estimate the shape of object 2 and stationary object 3 and generate geometric analysis results.
  • a geometric analysis such as a stroke extraction method, a Fourier transform, and a Hough transform
  • the object background separating means 16, the area normalizing means 27, and the image recognizing means 29 recognize the patterns of the moving object 2 and the stationary object 3 in the frame image-1. Therefore, the geometric analysis means 37 uses the formed edge information image 115 to determine the moving object 2 and the stationary object 3 which the object background separation means 16, the area normalizing means 27 and the image recognition means 29 are not good at.
  • the image recognition means 29 can omit unnecessary pattern matching, and the environment understanding means 31 can create an environment map accurately and at high speed. And the load on the geometric analysis means 37 itself can be reduced.
  • the geometric analysis result is output from the geometric analysis means 37 to the image recognition means 29 and the environment understanding means 31. Therefore, the image recognition means 29 and the environment understanding means 31 operate as follows.
  • the image recognition means 29 Upon input of the geometric analysis result from the geometric analysis means 37, the image recognition means 29 first determines whether or not the image recognition means 29 is a figure to be recognized. If the result of the geometric analysis is not a target figure, the image recognition means 29 does not operate. If the geometric analysis result is the target figure, the image recognition means 29 performs pattern matching using the template image for the target figure. For example, in the case of a perceptron that learns by the error backpropagation method, the perceptron is trained for each target figure to create a learning data, and then the learning data is selected by the geometric analysis result, thereby improving the efficiency for the target figure. Pattern matching is performed.
  • the environment understanding means 31 Upon input of the geometric analysis result from the geometric analysis means 37, the environment understanding means 31 first determines whether or not the image recognition means 29 is a figure to be recognized.
  • the environment understanding means 31 immediately recognizes the environment data near the position on the environment coordinate system of the moving camera 10 and whose recognition result is null data. Remove from map. As a result, unnecessary environmental data is deleted from the environmental map, and the object position estimating means 34 It is not necessary to output the estimated body position. If the geometrical analysis result is the target figure, wait until the recognition result is input from the image recognition means 29.
  • the visual device according to claim 5 can accurately and quickly count the number of specific moving objects 2 and stationary objects 3 existing in a range where the moving camera 10 can photograph. Can be.
  • the output device of an arbitrary number of objects can use the visual device according to claim 5 as a device for counting the number of specific moving objects 2 and stationary objects 3 that can be photographed by the moving camera 10 at high speed.
  • the position / size detecting means 17, the area normalizing means 27, the normalized image holding means 28 and the image recognizing means 29 are composed of an array operation unit 40 (ARRAY OPERATION UNIT). It can be implemented by using the processing device 110. Therefore, in the following, an embodiment of the data processing device 110 using the array operation unit 40 will be described, and the visual device described in claims 6 to 12 will be described with reference to the drawings.
  • the array operation unit 40 generates one pixel of the output image by using one pixel of the input image and its neighboring pixels. Therefore, as shown in FIG. 13, by using the data processing device 110 in which the array operation unit 40 is arranged in a lattice in accordance with the size of the input image, the data processing device 110 Can generate an output image.
  • the array operation unit 40 is abbreviated as A ⁇ U.
  • the array operation unit 40 may be implemented by dedicated hardware, or may be implemented by software on a general-purpose computer. In other words, as long as the output image can be generated from the input image, the mounting means is not limited. Therefore, by indicating the algorithm of the array operation unit 40, the image processing of the data processing device 110 can be indicated.
  • image storage means 12 (see FIGS. 1 and 6), image vibration means 13 (see FIGS. 3, 4 and 5), Edge information generating means 14 (see FIGS. 1 and 6) and edge information forming means 15 (see FIGS. 1 to 5 and FIGS. 7 to 12) ), Object Z background separation means 16 (see Figures 2, 4, 5, 7 and 12), position / size detection means 17 (see Figures 1 and 6), area normalization
  • the mathematical expressions used in the means 27 see FIG. 7
  • x, y, and w be any 2n grayscale image with width w, height h, and number of bands b, x, y, and w are the band pixel values at position P (i, j, k) ⁇ i jk , Yi jk , w; jk are represented as Expression 1, Expression 2, and Expression 3.
  • Bold letters indicate vectors.
  • N is a non-negative integer, w, h, b, i, j, and k are natural numbers.
  • x is value at p (i, j, k), l ⁇ i ⁇ w, l ⁇ j ⁇ h, l ⁇ k ⁇ b ⁇ (1)
  • y (Vijk ⁇ yijk is value at p (i, j, k) , l ⁇ i ⁇ w, l ⁇ j ⁇ h, l ⁇ k ⁇ b ⁇ (2)
  • w is value at p (i, j, k), l ⁇ i ⁇ w, l ⁇ j ⁇ h, l ⁇ k ⁇ b ⁇ (3)
  • the maximum value is selected from the values of each band of the pixel in the i-th row and the j-th column according to Expression 5. Since the band maximum value image is a single band image, it is handled as the image having the number of bands 1 for convenience. Therefore, the third subscript of the function B ij ⁇ ( ⁇ ) is 1.
  • Equation 7 The logarithmic transformation at the position p (i, j, k) of the image x is performed according to Equation 7.
  • e l is generally sufficient.
  • N ij k The number of elements N ij k is always Q.
  • the vibration at the position p (i, j, k) of the image X is performed in accordance with Expression 9.
  • V3 ⁇ 4 fc x L x imk-N ijk x ijk (11)
  • the zero point found by Expression 12 is not a place with an edge, but a place with noise, that is, a place without an edge.
  • Equation 15 Assuming that the image x is an arbitrary binary image, in order to detect a pixel having a line width of 1 in the image X, calculation is performed according to Equation 15 using four neighboring pixels.
  • each band pixel value of the image X can be masked using the band pixel value of the image y according to Equation 21.
  • O ijk (x, y) XijkViji (21) If there are two images x and y, and images X and y are binary images, the image y can be shaped based on the image—x according to Equation 22. otherwise.
  • the processing is simplified by treating the position and the movement amount of the pixel as image data. This is called position imaging.
  • position imaging In the following, some functions and operations related to imaging are described.
  • the operator that converts each value of m and o into band pixel values as image data is #, and the converted band pixel values are #p (1, m, o) and I do.
  • the band pixel value moves from position p (i, j, k) to position p (i + 1, j + m, k + o).
  • the shift amount of the band pixel value is represented as a position p (1, m, o). That is, the movement amount can be regarded as a vector from a certain position.
  • # -1 # p (1, m, o) p (1, m, o).
  • the movement amount p (i, j, k) can be turned 180 degrees in the opposite direction in the plane represented by the width direction and the height direction.
  • T (p (i, j,)) p (-i, -j, k) (24) If there is an image x and the image x is a single-band binary image, the position p (i, j)
  • the amount of movement to the position of the center of gravity in (1, 1) is calculated according to Equation 25. Note that division must be performed when calculating the center of gravity, but division is canceled when calculating the amount of movement into the vicinity of 8, so division is omitted in Equation 25.
  • Giji x p ⁇ (I-i) ximi, L (m-j iml , 0) (25) ⁇ ( ⁇ , ⁇ , 1) ⁇ ⁇ ⁇ (9) p (l, m, l) ePiji (q )
  • Equation 27 is used only when Equation 26 cannot be used due to image discretization.
  • Equations 25, 26, and 27 the band pixel value of the displacement image of the single-band binary image X in the direction of the center of gravity can be simply described according to Equations 28 and 29. Note that the number of bands of the moving amount image is one.
  • a ⁇ . 1 (x) e '(G il (x)) ,
  • the band pixel value of the moving amount image in the direction opposite to the center of gravity of the image can be easily described.
  • the number of bands of the moving amount image is one.
  • the band pixel value of the image X is moved to the movement position indicated by the image y and then moved to the same band pixel according to Equation 31.
  • the sum of the band pixel values can be converted into a grayscale image.
  • Equation 32 or 33 the single band grayscale image X is moved in the direction of the center of gravity in the vicinity, and then the sum of the band pixel values moved to the same band pixel is calculated. The total can be easily described.
  • image X is a binary image
  • image y is a moving amount image
  • the position of the destination of each band pixel value of image X can be obtained, so the destination is duplicated It is possible to find the pixel value of the band. Therefore, the band pixel value of the movable image that indicates that the destination of each band pixel value of the image X does not overlap and that there is a moving band pixel value is generated according to Expression 34. Note that the number of bands of movable images is one.
  • Hiji (x, y) ⁇ for only one ⁇ p (l, m, 1) G 3 ⁇ 4i (, (34)
  • Equation 36 the band pixel value of the image obtained by moving the band pixel of the image X in the direction opposite to the position of the center of gravity calculated from the binary image y is simply described according to Equation 36. can do.
  • the array operation units 40 arranged in a lattice form are the same. Work in parallel in anticipation. If the array operation unit 40 arranged at the i-th row and the j-th column on the grid is AOU s j, the algorithm of AOU ij is as shown in FIG.
  • step 1 201 AO U i j is arranged in the i-th row :) ′ column on the grid. This is necessary to determine the neighborhood of AO U i j, whether logical or physical.
  • step 122 the neighborhood of AOU! J and initial values of variables are set.
  • step 123 it is determined whether or not the digital images 111 to be sequentially input have been lost. If there is no digital image 1 1 1 (step 1 203: Y E S), the algorithm ends. If there is a digital image 1 1 1 (step 1 203: N ⁇ ), the process proceeds to step 1 204. However, when the array operation unit 40 is implemented only for a specific image size, an infinite loop may be used.
  • step 124 input is waited for until digital image 111 is prepared.
  • the pixels of the i-th row and the j-th column of the digital image 111 are input for the number of bands. For this reason, AOU; j requires a memory 42 for storing at least the image data for the number of bands.
  • the pixel at the i-th row and the j-th column of the digital image 111 is stored so that the image can be output while waiting for input.
  • step 127 the band pixel value of the digital image 111 is output. Thereafter, the flow returns to step 1203.
  • the visual device corresponding to the image storage unit 12 can store the digital image 11 1 using the data processing device 110 including the array operation unit 40.
  • the image vibrating means 13 (FIGS. 3, 4, and 5) according to claim 6, which is realized by the data processing device 110, is arranged in a grid pattern to vibrate the digital image 111.
  • the array operation unit 40 operates synchronously and in parallel. If the array operation unit 40 arranged at the i-th row and the j-th column on the lattice is A ⁇ U i j, the algorithm of AO U i j is as shown in FIG. In step 1301, AOU j j is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AO U i j, whether logical or physical.
  • step 1302 the neighborhood of AOU i ”and initial values of variables are set.
  • step 1303 it is determined whether or not the digital images 111 to be sequentially input have been lost. If there is no digital image 1 1 1 (step 13 03: Y E S), the algorithm ends. If there is a digital image 1 1 1 (step 13 03: N ⁇ ), go to step 1 304. However, when the array operation unit 40 is implemented only for a specific image size, an infinite loop may be used.
  • the pixels of the i-th row and the j-th column of the digital image 111 are inputted for the number of bands. Therefore AOU u needs a memory 4 2 for storing image data at least the number of bands.
  • the pixel at the i-th row and the j-th column of the digital image 111 is moved to one of the neighboring pixels according to the function S uk (X).
  • step 1306 the band pixel value of the digital image 111 is output. Thereafter, the flow returns to step 1303.
  • the visual device according to claim 6 corresponding to the image vibrating means 13 vibrates the digital image 111 by using the data processing device 110 composed of the array operation unit 40. be able to.
  • the edge information generating means 14 (see FIGS. 1 and 6) according to claim 7, which is realized by the data processing device 110, generates the coarse edge information image 113 from the digital image 111.
  • the array operation units 40 arranged in a lattice form operate synchronously and in parallel. Assuming that the array operation unit 40 arranged at the i-th row and j-th column on the grid is AOU ij, the algorithm of AOU ij for the edge information generating means 14 is as shown in FIG.
  • step 1401 A ⁇ U; j is arranged on the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU i j, whether logical or physical.
  • step 1402 the neighborhood of AOU i ”and initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be individually determined to be 4 or 8, or the whole may be unified to 4 or 8.
  • the edge information generation means 14 should deal with it by appropriately changing the neighborhood size as necessary. Can be.
  • step 1403 it is determined whether the digital image 1 1 1 has been completed. If there is no digital image 1 1 1 (step 1443: Y E S), the algorithm ends. If there is a digital image 111 (step 1403: NO), the algorithm ends. However, when the array operation unit 40 is implemented for a specific number of bands and an image size, an infinite loop may be used.
  • step 144 the pixels in the i-th row and the j-th column of the digital image 111 are input for the number of bands. This is because the AOU u processes collectively pixel on the column i and the row j of the digital image 1 1 1. Therefore, AOU ij requires a memory 42 for storing at least the image data of the number of bands.
  • step 1405 AOU ij communicates with the nearby array operation unit 40 to perform smoothing on each band pixel value of the input digital image 111 according to the function S; " k (X). line U.
  • the smoothed band pixel values are treated as band pixel values of the smoothed image.
  • the function i jk (X) may be repeated several times as needed. In the case of a general color image, two times is enough.
  • step 1406 logarithmic conversion is performed on each band pixel value of the smoothed image in accordance with the function Lijk (x).
  • the logarithmically converted band pixel values are treated as band pixel values of the logarithmically converted image.
  • step 1407 A ⁇ U U communicates with the neighboring array operation unit 40 to perform sharpening according to the function E i ′ k (X) for each band pixel value of the logarithmically transformed image. .
  • the sharpened band pixel values are treated as band pixel values of the sharpened image.
  • each band pixel value of one input pre-sharpened image is subtracted from each band pixel value of the sharpened image in accordance with the function Dijk (X, y).
  • the band pixel value for which the difference has been calculated is treated as the band pixel value of the time difference image.
  • each band pixel value of the one-input pre-sharpened image is replaced with a corresponding band pixel value of the sharpened image.
  • step 1410 AOU ij communicates with the nearby array operation unit 40 to calculate Laplacian for each band pixel value of the time difference image according to the operator V jk X.
  • the band pixel value for which the Laplacian has been calculated is treated as the band pixel value of the time difference Laplacian image.
  • AOU ij communicates with the neighboring array operation unit 40 to extract zero points according to the function Z i ′′ k (X) for each band pixel value of the time difference Laplacian image.
  • the band pixel value from which the zero point is extracted is treated as the band pixel value of the time difference zero point image.
  • step 1412 the maximum value of each band pixel value is detected according to the function B i) X) for each band pixel value of the time difference Laplacian image.
  • the detected maximum value band pixel value is treated as the band pixel value of the maximum value time difference zero point image.
  • the number of bands is 1 for convenience.
  • AOU ij communicates with the neighboring array operation unit 40 to calculate Laplacian for each band pixel value of the sharpened image according to the operator V f jk X. U.
  • the band pixel value for which the Laplacian has been calculated is treated as the band pixel value of the Laplacian image.
  • AOU i communicates with the neighboring array operation unit 40 to extract zero points according to the function Z i ′′ k (X) for each band pixel value of the Laplacian image.
  • the band pixel value from which the zero point is extracted is treated as the band pixel value of the zero point image.
  • Step 1 4 1 follow the function B ij x (x) for each band-pixel value of the Laplacian image to detect the maximum value of each band-pixel value.
  • the detected maximum band pixel value is treated as the band pixel value of the maximum zero point image.
  • the number of bands is 1 for convenience.
  • step 1 4 for each band pixel value of the Laplacian image and each band pixel value of the time difference Laplacian image, among the band pixel values at the same position of each image according to the function M ij k (x, y) Find the maximum value.
  • the detected maximum band pixel value is treated as the band pixel value of the hybrid zero point image.
  • the number of bands is 1 for convenience.
  • the band pixel value from which the hole has been removed is treated as the band pixel value of the hole-removed hybrid point image.
  • the number of bands is 1 for convenience.
  • the function F i jk (X) may be repeated several times as necessary. In the case of general force images, one time is sufficient.
  • Step 1 4 1 AOU i ⁇ by communicating with the array operation units 4 0 in the vicinity of, for a band-pixel value of the hole-deleted mixed zero-point image function A; isolated points and isolated pores according jk (x) Is removed.
  • the band pixel values from which isolated points and holes are removed are treated as band pixel values of the noise-removed hybrid zero-point image.
  • the number of bands is 1 for convenience.
  • step 1419 0 and 1 are inverted with respect to the band pixel value of the noise removal hybrid zero point image according to the function I i jk (X).
  • the inverted band pixel value is treated as a band pixel value of the coarse edge information image 113.
  • step 144 the band pixel value of the rough edge information image 113 is output. After that, return to step 1403.
  • the visual device according to claim 7, which corresponds to the edge information generating means 14 using the data processing device 110 composed of the array operation unit 40, can convert the coarse edge information from the digital image 111. Images 1 1 3 can be generated.
  • the edge information forming means 15 (see FIGS. 1 to 5, FIG. 7, and FIGS. 7 to 12) realized by the data processing device 110 9.
  • a formed edge information image 1 15 composed of formed edge information 1 14 is generated from the rough edge information image 1 13 and the digital image 1 11 according to claim 8, which is composed of edge information 1 1 2 Therefore, the array operation units 40 arranged in a lattice form operate synchronously and in parallel. If the array operation unit 40 arranged at the i-th row and the j-th column on the lattice is AOU i j, the algorithm of A ⁇ U i j is as shown in FIG.
  • step 1501 A ⁇ U i is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AO U i j, whether logical or physical.
  • step 1502 the neighborhood of AO U i] and initial values of variables are set.
  • the neighborhood size q used in each of the above functions may be individually determined to be 4 or 8, or the whole may be unified to 4 or 8.
  • the edge information forming means 15 can change the neighborhood size as needed, if necessary, depending on the calculation time for forming the coarse edge information 112 and the number of bands of the input digital image 111. I can deal with it.
  • step 1503 it is determined whether or not the digital image 111 or the coarse edge information image 113 input sequentially is lost. If there is no digital image 111 or coarse edge information image 113 (step 1503: Y E S), the algorithm ends. If any of the digital image 111 or the coarse edge information image 113 is present (step 1503: NO), the process proceeds to step 1504. However, when the array operation unit 40 is implemented for a specific number of bands and an image size, an infinite loop may be used.
  • step 1504 the image of row i and column j of the digital image 1 11 and the coarse edge information image 1 1 3 Input for the number of bands.
  • AOU i] collectively processes the pixels on the i-th row and the j-th column of the digital image 111 and the coarse edge information image 113.
  • AOU ij requires a memory 42 for storing at least image data for the number of bands.
  • step 1505 the pixel at the i-th row and the j-th column of the digital image 111 and the pixel at the i-th row and the j-th column of the coarse edge information image 113 are separated. This is because AOU i! Processes the pixel on the i-th row and j-th column of the digital image 111 and the pixel on the i-th row and the j-th column of the coarse edge information image 113 as independent image pixels. If the pixel at the i-th row and the j-th column of the digital image 111 and the pixel at the i-th row and the j-th column of the coarse edge information image 113 are separated and input from the beginning, nothing is performed.
  • step 1506 AOU ij communicates with the neighboring array operation unit 40 to perform smoothing on each band pixel value of the input digital image 111 according to the function S ij k (X).
  • the smoothed band pixel values are treated as band pixel values of the smoothed image.
  • the function S i jk (X) may be repeated several times as needed. In the case of a general color image, two times is enough.
  • step 1507 logarithmic conversion is performed on each band pixel of the smoothed image according to the function LUk (X).
  • the logarithmically converted band pixel values are treated as band pixel values of the logarithmically converted image.
  • step 1508 AOU ij communicates with the neighboring array operation unit 40 to sharpen each band pixel value of the logarithmically transformed image according to the function E ij k (X).
  • the sharpened band pixel values are treated as band pixel values of the sharpened image.
  • step 1509 AOUij communicates with the neighboring array operation unit 40 to calculate Laplacian for each band pixel value of the sharpened image according to the operator V ⁇ jkX .
  • the band pixel value for which the Laplacian has been calculated is treated as the band pixel value of the Laplacian image.
  • step 1510 AOUij communicates with the neighboring array operation unit 40 to form a function Z! For each band pixel value of the Laplacian image.
  • the zero point is extracted according to k (X).
  • the band pixel value from which the zero point is extracted is treated as the band pixel value of the zero point image.
  • step 1 5 1 for each band pixel value of the zero-point image, The maximum value is detected from the area pixel values.
  • the detected maximum band pixel value is treated as the band pixel value of the maximum zero point image.
  • the number of bands is 1 for convenience.
  • step 1512 0 and 1 are inverted with respect to the band pixel value of the maximum value zero point image according to the function IUk (X).
  • the inverted band pixel value is treated as a band pixel value of the basic edge information image.
  • the input band pixel value of the coarse edge information image 113 is first treated as a band pixel value of the shaped coarse edge information image, and AOUij communicates with the neighboring array operation unit 40.
  • the band pixel value of the shaped rough edge information image is shaped according to the function Q i jk (X, y) using the band pixel value of the basic edge information image.
  • the shaped band pixel value is treated again as the band pixel value of the shaped coarse edge information image.
  • the function Q i jk (X, y) is repeated until the band pixel value of the shaped coarse edge information image no longer changes.
  • the quality of the input coarse edge information image 113, and the quality required for the formed edge information image 115 it is better to terminate the calculation at an appropriate number of repetitions. good.
  • step 1514 the AOU i 3 communicates with the neighboring array operation unit 40 to perform a function C i jk (x line width complementation on the band pixel value of the shaped coarse edge information image.
  • the complemented band pixel values are treated as band pixel values of the formed edge information image 115.
  • step 1515 the band pixel value of the formed edge information image 115 is output. Then, return to step 1503.
  • the visual device according to claim 8 corresponding to the edge information forming means 15 is formed from the coarse edge information image 113 by using the data processing device 110 composed of the array operation unit 40.
  • the edge information image 1 15 can be generated.
  • the formation of the rough edge information image 1 13 into the formed edge information image 1 15 means that the same scene was shot from the edge information generated from the low resolution digital image 1 11 It can be regarded as estimating edge information to be generated from the high-resolution digital image 111. Therefore, for natural number ⁇ , as shown in Fig. 19, digital When the low-resolution coarse edge information image 1 17 is generated from the low-resolution digital image 1 16 in which the resolution of the image 1 1 1 is reduced to 1 / n using the edge information generation means i 4, the low-resolution coarse edge The coarse edge information image 113 can be generated by expanding the information image 117 by n times.
  • the band pixel value is simply set to 0 between successive pixels in the horizontal and vertical directions. It is sufficient to fill n-1 pixels.
  • the data processing device 110 that realizes the edge information forming means 15 forms the coarse edge information image 113, which is an enlargement of the low-resolution coarse edge information image 117.
  • the edge information image 1 15 and a data processing device 110 for realizing the edge information forming means 15 are formed edge information images 1 1 1 which form a coarse edge information image 1 13 generated from the digital image 1 1 1. 5 is almost the same.
  • the edge information forming means 15 uses the rough edge information in order to refer to which edge information of the internally generated edge information is used by the edge information forming means 15 using the digital image 11. This is because only the information image 1 1 3 is used. Therefore, when the coarse edge information image 113 obtained by enlarging the low resolution coarse edge information image 117 is input to the edge information forming means 15, the low resolution coarse edge information image 117 from the low resolution digital image 116 is obtained.
  • the data processing device 110 that realizes the generated edge information generating means 13 can reduce the amount of hardware.
  • the low-resolution coarse-edge information image 1 17 generated from the low-resolution digital image 1 16 with the reduced resolution of the digital image 1 1 1 1 It is possible to generate a low-resolution cut-out coarse edge information image 118 cut out around the edge information 112.
  • the data processing device 110 for realizing 14 it is possible to generate the cutout formed edge information image 121.
  • the data processing device 110 that implements the edge information forming means 14 can reduce the amount of hardware. As shown in FIG.
  • the position / size detecting means 17 (refer to FIGS. 1 and 6) according to claim 9 realized by the data processing device 110 is provided with coarse edge information 1 1 2
  • the array operation units 40 arranged in a grid are synchronized in parallel to generate the overlapping information image 13 Works. If the array operation unit 40 arranged at the i-th row and the j-th column on the lattice is AO U i], the algorithm of AOU u is as shown in FIG.
  • AO U i j is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AO Ui, whether logical or physical.
  • step 1702 the neighborhood of AOU i j and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • the position / size detection means 17 may be used as necessary, depending on the calculation time for calculating the center of gravity of the object's coarse edge information 112, the size of the input coarse edge information image 113, etc. This can be dealt with by appropriately changing the neighborhood size.
  • step 1703 it is determined whether or not the sequentially input coarse edge information images 113 have disappeared. If there is no coarse edge information image 1 13 (step 17 03: Y E S), the algorithm ends. If there is a coarse edge information image 113 (step 1703: NO), the flow shifts to step 1704. However, when the array operation unit 40 is implemented only for a specific image size, an infinite loop may be used.
  • step 1704 the pixels in the i-th row and the j-th column of the rough edge information image 113 are input for one band. Therefore, AOU; j requires a memory 42 for storing at least one band of image data.
  • step 1705 the rough edge information 1 13 of the rough edge information image 1 13 is converted into the overlap information 1 3 1 of the overlapping information image 1 32.
  • Duplicate information 1 3 1 is a band pixel value corresponding to 1 or 0.
  • step 1706 A ⁇ U ij communicates with the neighboring array operation unit 40 to determine the amount of movement according to the function ⁇ u i (X) for each band pixel value of the overlapping information image 132. calculate.
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 1707 A ⁇ U ij communicates with the neighboring array operation unit 40 to move each band pixel value of the overlapping information image 132 in accordance with the function ⁇ u i (X).
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 1708 it is determined whether or not the number of movements representing the number of repetitions from step 1705 to step 1707 has reached the specified number. If the number of times of movement has not reached the specified number of times (step 1708: N ⁇ ), the flow returns to step 1705. If the number of times of movement has reached the specified number of times (Step 1708: Y E S), the flow shifts to Step 1709.
  • the number of times specified is determined by the size of the rough edge information image 113, the size of the object represented by the rough edge information 112, and the size Q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required to detect the position and size increases. Become.
  • step 1709 the AOU ij communicates with the neighboring array operation unit 40 to calculate the movement amount for each band pixel value of the overlapping information image 132 according to the function ⁇ ′ uX ).
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • step 1710 AOUij communicates with the neighboring array operation unit 40 to move each band pixel value of the overlapping information image 1332 in accordance with the function ⁇ 'ijj (X).
  • the shifted band pixel value is newly treated as a band pixel value of the overlapping information image 132.
  • step 1711 the band pixel value of the overlapping information image 1332 is output. Thereafter, the flow returns to step 1703.
  • each piece of overlap information 13 1 of the overlap information image 13 2 represents the total number of coarse edge information 1 12 around the position, and as a result, the size of the object around the position Will mean.
  • the visual device according to claim 9 corresponding to the placement size detecting means 17 can generate the overlapping information image 132 from the rough edge information image 113_.
  • the visual device according to claim 9 can also generate the overlapping information image 132 from the formed edge information image 115 instead of the rough edge information image 113. Therefore, using the data processing device 110 composed of the array operation unit 40, the visual device corresponding to the position / size detecting means 17 is used to generate the overlapping information image 1 3 2 from the formed edge information image 1 15 Can be generated.
  • the position and Z size detecting means 17 realized by the data processing device 110 can obtain the overlapping information from the object region image 144 representing the object region 141.
  • a duplicate information image 1 32 representing 1 3 1 can be generated.
  • each piece of overlapping information 13 1 of the overlapping information image 13 2 represents the total number of pixels of the object area 14 1 centered on that position. Means the area of the object about. Therefore, when calculating the size of the object from the overlapping information image 1 32, care must be taken, such as taking the square root of the overlapping information 13 1.
  • the area normalizing means 27 (see FIG. 7) according to claim 10 realized by the data processing apparatus 110 is an object area image 1 including the object area 141.
  • the array operation units 40 arranged in a lattice form operate synchronously and in parallel. . If the array operation unit 40 arranged in the i-th row and j-th column on the grid is AOU i 3, the algorithm of AOU i j is as shown in FIG.
  • step 2.701 AO U ij is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOU u , whether logical or physical.
  • step 2702 the neighborhood of AOUU and initial values of variables are set.
  • the neighborhood size q used in each of the above functions may be determined individually, or all may be unified.
  • the area normalizing means 27 appropriately changes the neighborhood size as necessary. This can be dealt with.
  • step 2703 it is determined whether or not the sequentially input object region image 144 or digital image 111 has disappeared. If there is no object area image 142 or digital image 111 (step 270: Y E S), the algorithm ends. If there is an object region image 142 or a digital image 111 (step 270: NO), the flow shifts to step 274. However, when the array operation unit 40 is implemented only for a specific number of bands and image sizes, an infinite loop may be used.
  • step 2704 the pixel of the i-th row and the j-th column of the object area image 142 is input for one band, and the pixel of the i-th row and the j-th column of the digital image 111 is input for the number of bands.
  • AOU ij collectively processes the pixel at the i-th row and the j-th column of the object area image 142 and the pixel at the i-th row and the j-th column of the digital image 111. For this reason, AOUij requires a memory 42 for storing image data of at least the total number of bands.
  • step 2705 the pixel at the i-th row and the j-th column of the object area image 142 is separated from the pixel at the i-th row and the j-th column of the digital image 111.
  • AOU u processes the pixel on the i-th row :) 'column of the object area image 142 and the pixel on the i-th row and j-th column of the digital image 111 as independent image pixels. If the pixel on the i-th row and the j-th column of the object area image 142 and the pixel on the i-th row and the j-th column of the digital image 111 are separated and input from the beginning, nothing is performed.
  • AOUij communicates with the neighboring array operation unit 40 to calculate the movement amount for each band pixel value of the object area image 142 according to the function Rij (X).
  • the band pixel value obtained by imaging the movement amount is treated as a band pixel value of the movement amount image.
  • AOU; j can move according to the function Hij k (x, y) for each band pixel value of the object area image 142 by communicating with the array operation unit 40 nearby. It is possible to find the destination pixel value of the destination band. The value indicating whether the destination is a movable destination is Move It is treated as a band pixel value of a possible image.
  • step 2708 by AOUi j to communicate with the array operation unit 40 in the vicinity of, the function Ui j k (x, y) for each band-pixel value of the object-area image 142 is moved to a movable target in accordance with.
  • the shifted band pixel value is newly treated as a band pixel value of the object area image 142.
  • step 2709 by AOUi j to communicate with the array operation unit 40 in the vicinity of, the function Ui j k (x, y) for each band-pixel value of the digital image 111 is moved to a movable target in accordance with.
  • the shifted band pixel value is newly treated as a band pixel value of the digital image 111.
  • step 2710 it is determined whether or not the number of movements representing the number of repetitions from step 2706 to step 2709 has reached the specified number. If the number of movements has not reached the specified number of times (step 2710: NO), the flow returns to step 2706. If the number of times of movement has reached the specified number of times (step 2710: YES), the flow shifts to step 2711. Note that the designated number is determined by the size of the digital image 111, the size of the separated object area 143 of the digital image 111, and the size Q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required for normalization becomes longer.
  • AOUij communicates with the neighboring array operation unit 40 to calculate the average value of the neighborhood according to the function V i jk (x, y) for each band pixel value of the moved object region image 142. Interpolate. Note that both X and y become the object region image 142. The band pixel value filled with the average value is treated as a band pixel value of the normalized object region image.
  • step 2712 the AOUij communicates with the neighboring array operation unit 40 to fill each band pixel value of the digital image 111 that has completed the movement with the neighboring average value according to the function Vijk (X, y).
  • the separated object area 143 is converted into a normalized area 144 in the normalized image 145.
  • X becomes the digital image 111
  • y becomes the object region image 142.
  • the band pixel value filled with the average value is treated as a band pixel value of the normalized image 145.
  • step 2 7 13 it is determined whether or not the number of interpolations representing the number of repetitions from step 2 7 1 1 to step 2 7 1 2 has reached the specified number.
  • step 2713 N ⁇
  • step 2711 YES
  • step 2714 the number of interpolations is about half of the neighborhood size Q.
  • step 2714 it is determined whether or not the number of repetitions representing the number of repetitions from step 2706 to step 2713 has reached the designated number. If the number of continuations has not reached the specified number of times (step 2714: N ⁇ ), the flow returns to step 2706. If the number of continuations has reached the specified number of times (step 2714: Y E S), the process proceeds to step 2715.
  • the designated number is determined by the size of the digital image 111, the size of the separated object region 144 of the digital image 111, and the size Q of the neighborhood. If appropriate parameters are set according to the purpose of use, it does not matter if the number of specified times is overestimated, but if the number of specified times is too large, the time required for normalization becomes longer.
  • step 2715 the band pixel value of the normalized image 14.5 is output. Then, the process returns to step 2703.
  • the visual device which corresponds to the region normalizing means 27, uses the data processing device 110 composed of the array operation unit 40, and A normalized image 144 can be generated from the digital image 111.
  • the normalized image holding means 28 (see FIG. 7) realized by the data processing unit 110 stores the normalized images 145 in order to store the normalized images 145. Work synchronously and in parallel. If the array operation unit 40 arranged at the i-th row and j-th column on the grid is AO U i j, the algorithm of AO U i j is as shown in FIG.
  • step 2 801 AOU u is arranged at the i-th row and the j-th column on the grid. This is necessary to determine the neighborhood of AOUij, whether logical or physical.
  • step 282 the neighborhood of AOU; j and the initial values of variables are set.
  • step 2803 it is determined whether or not the sequentially input normalized images 1 4 5 have been lost. You. If there is no normalized image 145 (step 2803: YES), the algorithm ends. If there is a normalized image 145 (step 2803: NO), the process proceeds to step 2804. However, when the array operation unit 40 is implemented only for a specific image size, an infinite loop may be used.
  • step 2804 the pixels in the i-th row and the j-th column of the normalized image 144 are inputted for the number of bands. For this reason, AOUij requires a memory 42 for storing at least image data for the number of bands.
  • step 2505 the format of the normalized image 145 is converted if the output destination device requires it. In particular, if the number of bands of the normalized image 1 4 5 is set to 1, or if the number of bands of the digital image 1 1 1 is 4 or more, the number of bands of the normalized image 1 4 5 is set to 3, making it easier to generate analog signals. Convenient in case. Otherwise do nothing.
  • step 280 6 the pixels in the i-th row and the j-th column of the normalized image 145 are stored so that the image data can be reliably transmitted to the output destination device having a different processing speed.
  • step 807 the band pixel value of the normalized image 145 is output. Thereafter, the flow returns to step 280 3.
  • the visual device corresponding to the normalized image holding unit 28 can output the normalized image 144 using the data processing device 110 including the array operation unit 40.
  • the image storage means 12 (see FIGS. 1 and 6), the image vibration means 13 (see FIGS. 3, 4 and 5), the edge information generation means 14 (see FIG. FIG. 6 and FIG. 6), edge information forming means 15 (see FIGS. 1 to 5 and FIGS. 7 to 12), object / background separating means 16 (second, fourth, fifth, and fifth). 7 to 12), position / size detecting means 17 (see FIGS. 1 and 6), area normalizing means 27 (see FIG. 7), and normalized image holding means 28 (See Fig. 7).
  • the moving object 2 or the stationary object 3 enlarged over the entire normalized image 1 45 (see FIG. 24) is identified from the candidates prepared in advance, and the recognition result is obtained. Must be generated.
  • the most basic method for identifying moving object 2 or stationary object 3 is to prepare as many template images 1 4 6 (see Fig. 27) of moving object 2 or stationary object 3 as By comparing 4 5 with the template image 1 4 6, we find the template image 1 4 6 that is most similar to the normalized image 1 4 5.
  • the image recognizing means 29 can obtain the template image 1 4 6 most similar to the normalized image 1 45 simply by extracting arbitrary pixels from the normalized image 1 45 and the template image 1 46 and comparing them.
  • the image recognition means 29 needs global processing such as the least squares method and the neural network. Since the data processing device 110 has a structure suitable for neighborhood processing, it is difficult to implement the image recognition means 29 using only the data processing device 110.
  • the image recognition means 29 does not need to perform global processing throughout the entire process of generating a recognition result from the normalized image 144. That is, in the process of generating a recognition result from the result of extracting and comparing arbitrary pixels from the normalized image 144 and the template image 144, the image recognition means 29 does not need to perform global processing throughout the entire process of generating a recognition result from the normalized image 144. That is, in the process of generating a recognition result from the result of extracting and comparing arbitrary pixels from the normalized image 144 and the template image 144, the image recognition means 29 does not need to perform global processing throughout the entire process of generating a recognition result from the normalized image 144. That is, in the process of generating a recognition result from the result of extracting and comparing arbitrary pixels from the normalized image 144 and the template image 144, the image recognition means 29 does not need to perform global processing throughout the entire process of generating a recognition result from the normalized image 144. That is, in the process of generating a recognition result
  • the image recognition means 29 requires global processing, but in the process of extracting and comparing arbitrary pixels from the normalized image 144 and the template image 144, the image recognition means 29 does not necessarily require global processing.
  • the process of extracting and comparing arbitrary pixels from the normalized image 144 and the template image 144 is the most basic pattern matching, so if this pattern matching can be realized by neighborhood processing, this pattern Only the process of generating recognition results from matching results can be realized by a general-purpose processor that performs simple numerical calculations such as majority voting. Therefore, a method of realizing pattern matching by the data processing device 110 will be described below.
  • the normalized image 1 4 5 and X First, the n-number of the template image 1 4 6 yy 2,,, and y h ,,, y n.
  • the matching result image 1 4 7 Matching result (5 u compares the pixel of the i-th row and the j-th column of the normalized image 144 with the template image 144 according to Expression 37 , and has a pixel most similar to the pixel of the normalized image 144 Indicates the number of template image 1 46.
  • the matching result image 1 47 is a single band image, so it is treated as an image with the number of bands 1 for convenience. It has become.
  • the matching result ⁇ i j 1 generated according to Expression 37 is not necessarily unified in the entire matching result image 14 7. If there are many template images 146, the matching result image 147 is likely to be rather mosaic. Therefore, a method in which the data processing device 110 calculates a histogram for the matching result ⁇ i j i and the matching result in the vicinity of Q and converges the matching result ⁇ 5 i j will be described below.
  • an arbitrary single-band image X is a matching result image 147, using a natural number g, real numbers u and V, the matching image 172 is updated according to equations 38 and 39. Since the matching result image 147 is a single band image, it is handled as an image having one band for convenience. Therefore, the third subscript of the function ⁇ U 1 (X) is 1.
  • the matching result converges as follows due to the combination of the normalized image 144 and the template image 144. If about half of the pixels in the normalized image 1 4 5 are most similar to the pixels in the particular template image 1 4 6, then most of the matching results in the matching result image 1 4 7 Converge to the number 6. However, some pixel clusters of the normalized image 1 4 5 have several different template images 1
  • the matching result image 1 47 will have a block of several template images 1 4 6 surrounded by 0. Further, if the normalized image 144 does not correlate with the set of template images 144, the matching result of the matching result image 144 becomes almost zero. Therefore, in the pattern matching realized by the data processing device 110, it is difficult to identify the template image 144 that is most similar to the normalized image 144, but it is difficult to identify the template image 144. It is conceivable that some similar template images 1 4 6 can be selected from. Therefore, in the process of generating the recognition result from the pattern matching result, one of the most prominent candidates is selected from the similar candidates of the template images 144 enumerated by the matching result images 147 generated by the pattern matching.
  • the pattern matching according to claim 11 realized by the data processing device 110 is most similar to the normalized image 144 of the template images 144.
  • the array operation units 40 arranged in a lattice form operate synchronously and in parallel. Assuming that the array operation unit 40 arranged at the i-th row and the j-th column on the lattice is AOU; j, the algorithm of A ⁇ U i is as shown in FIG.
  • step 2901 AO U i j is placed on the i-th row :) 'column on the grid. This is necessary to determine the neighborhood of AOU i j, whether logical or physical.
  • step 2902 the neighborhood of AOU ij and the initial values of variables are set.
  • the neighborhood size Q used in each of the above functions may be determined individually, or all may be unified.
  • pattern matching can be dealt with by appropriately changing the neighborhood size as necessary. .
  • step 2903 it is determined whether or not the sequentially input template images 1 4 6 have disappeared. If there is no template image 1 4 6 (step 2903: Y E S), the flow shifts to step 2905. If there is a template image 146 (step 290 3: NO), the flow shifts to step 290 4.
  • step 2904 the pixels of the i-th row and the j-th column of the template image 1466 are inputted for the number of bands. For this reason, A ⁇ U ij requires a memory 42 for storing at least the image data obtained by multiplying the number of bands by the number of template images 14 6. Thereafter, the flow returns to step 2903.
  • step 295 it is determined whether or not the sequentially input normalized images 145 have disappeared. If there is no normalized image 1 45 (step 2905: Y E S), the algorithm ends. If there is a normalized image 145 (step 2905: NO), the flow shifts to step 290. However, when the array operation unit 40 is implemented only for a specific image size, an infinite loop may be used.
  • step 2906 pixels in the i-th row and the j-th column of the normalized image 144 are inputted for the number of bands. For this reason, AOU ij requires a memory 42 for storing at least image data for the number of bands.
  • step 2907 a matching result ⁇ of the matching result image 144 is calculated from the normalized image 144 and the template image 144.
  • the matching result is a band pixel value indicating the number of the template image 144 closest to the normalized image 144.
  • step 2908 AOUij communicates with the neighboring array operation unit 40 to update the matching result according to the function jx) for each band pixel value of the matching result image 147.
  • the updated band pixel value is again treated as a band pixel value of the matching result image.
  • the function ⁇ ; ”(X) indicates that the band pixel value of the matching result image 147 originally does not change. Repeat until it is no longer needed.
  • the quality of the input normalized image 145, and the quality required for the updated matching result image 147 it is better to terminate the update process at an appropriate number of repetitions. good.
  • step 209 the band pixel value of the matching result image 147 is output. Then, return to step 2905.
  • a matching result image 1 4 7 can be generated from 5.
  • a nonlinear oscillator generally causes a pull-in phenomenon.
  • This pull-in phenomenon is a phenomenon in which nonlinear oscillators having different periods interact with each other and oscillate at a period of a simple constant ratio in a periodic behavior such as a limit cycle attractor.
  • the vibration of one nonlinear oscillator changes, the vibration of the other nonlinear oscillator also changes, so these nonlinear oscillators are synchronized.
  • the object Z background separating means 16 uses such a nonlinear oscillator pull-in phenomenon to separate the object from the background so that the edge information in the edge information image is a boundary, and the object area representing the object area Generate an image.
  • van der Pol van der Pol
  • the nonlinear oscillator is coupled by i j kl Te bond value calculated in accordance with Equation 41 with the nonlinear oscillators in a neighbor set ⁇ ij (Q a) contained in the vicinity of Q a. If a logarithmic table is not used, approximation by Equation 42 is also possible. ⁇ And are appropriate positive constants.
  • the edge information is not sufficient to separate the object from the background, the edge information must be interpolated. For this purpose, it is necessary to find out how many non-linear oscillators are out of phase in the set of non-linear oscillators ⁇ ij (q b ) near Q b of the non-linear oscillator ⁇ u . Then, the contour parameter V ij is calculated by Equation 48.
  • van 'Del' pole was described as a nonlinear oscillator. It can operate with any nonlinear oscillator that causes a pull-in phenomenon, such as a resonator.
  • the parameters ⁇ ij and ⁇ i j should be replaced or added with the parameters of each nonlinear oscillator. At that time, it is only necessary to add the neighboring input sum ⁇ and the disturbance P ij to the appropriate parameters. However, in the case of a chaotic oscillator, no disturbance p ij is required.
  • Equations 40 to 49 all array operation units 40 of the data processing apparatus 110 that can implement the object Z background separation means 16 (see FIGS. 2 and 7) Algorithm can be described.
  • the visual device according to claim 12 corresponding to the object / background separation means 16 will be described using an algorithm of an arbitrary array operation unit 40 in the data processing device 110.
  • an object inside the triangle 15 2 and the outside of the triangle 15 are obtained by using the edge information 15 1 of the triangle formed by the object background separation means 16 realized by the data processing device 110.
  • the array operation units 40 arranged in a lattice form operate synchronously and in parallel. If the array operation unit 40 arranged at the i-th row and the j-th column on the grid is A ⁇ U i j, the algorithm of AOU i is as shown in FIG.
  • step 1 601 AOU i j is arranged at row i and column j on the grid.
  • neighbors 0) U and ckl are connected to each other by i jk i based on equations 41 and 42 .
  • step 1603 set appropriate initial values for the parameters ⁇ ij and i ⁇ of the nonlinear oscillator. I do.
  • step 1604 it is determined whether or not the sequentially input formed edge information image 115 has been exhausted. If there is no formed edge information image 115 (step 1604: YES), the algorithm ends. If there is the formed edge information image 115 (Step 1604: N 0), the process proceeds to Step 1605. However, when the array operation unit 40 is implemented only for a specific number of bands and an image size, an infinite loop may be used.
  • step 1605 ⁇ u of the formed edge information 114 is input.
  • step 1606 a disturbance p ij is calculated from 43 ij of the formed edge information 114 input immediately before in accordance with Expression 43.
  • equation a to input A_ ⁇ _U kl have zeta k physician xi] k from kl array operation Interview knit 40 there is a nonlinear oscillator w kl in a neighbor set Q u (Q a), shed sum ij Calculate according to 44.
  • step 1608 the parameters ⁇ ij, u of the nonlinear oscillator are calculated according to equations 45 and 46. That is, the differential equations shown in these equations are solved by the Runge-Kuy ⁇ method.
  • step 1609 the output ⁇ ; j of the nonlinear oscillator is calculated in accordance with Equation 47.
  • step 1610 A kl is input from AOU kl of the array operation unit 40 having the nonlinear oscillator co k i in the neighborhood set j (q b ), and the contour parameter ⁇ s 3 -is calculated according to Equation 48. calculate.
  • Step 1611 the boundary parameter ⁇ i j is calculated according to Equation 49. That is, the differential equation shown in this equation is solved by the difference method or the Runge-Kutta method.
  • step 1612 it is determined whether or not the number of separations representing the number of repetitions from step 1606 to step 1611 has reached the specified number. If the number of separations has not reached the specified number (step 1612: N :), the flow returns to step 1606. If the number of separations has reached the specified number (step 1612: YES), the flow shifts to step 1613.
  • step 1613 the output ⁇ of the non-linear oscillator that becomes the band pixel value of the object region image 142 Output ij. Thereafter, the flow returns to step 1604.
  • the following method can be used to determine the number of separations in step 1612.
  • the separation is completed in a certain fixed time in almost all the formed edge information 114 regardless of the initial state of the nonlinear oscillator. It is sufficient to calculate the number of repetitions from step 1606 to step 1611. This is because if the initial state of the nonlinear oscillator is within a certain range, there is not much difference in the time until the nonlinear oscillator is synchronized by the pull-in phenomenon.
  • By simply calculating the nonlinear oscillator in this way it is possible to separate the inner region 15 2 of the triangle and the outer region 15 3 of the triangle using the edge information 15 1 of the formed triangle.
  • the object Z background separating means 16 separates the inside area 15 2 of the triangle and the outside area 15 3 of the triangle as shown in FIG. At this time, the phase difference between the inner region 15 2 of the triangle and the outer region 15 3 of the triangle exceeds 90 degrees and approaches 180 degrees as much as possible, so that the triangle and the background region can be separated.
  • each time the formed edge information 114 is obtained the joint value is changed in a pseudo manner by the following method.
  • the nonlinear oscillator c k ! A nonlinear oscillator ⁇ ; and the binding values for binding to the j i "k! (See step 1602).
  • the formed edge information ⁇ u and ⁇ kl are both 1 when there is an edge and 0 when there is no edge.
  • the formation edge information ⁇ from A ⁇ U k i of the array operation unit 40 to AO U ij is obtained.
  • a ⁇ U ij calculates a combined value r ijkl (1-ki) and substitutes the combined value for kl (see step 1607 ).
  • the boundary parameter ij acts as a scaling factor from 0 to 1 on the substituted connection value ri jk i (1 ⁇ k i) (see step 1607).
  • the phase difference between the inside and outside of the edge information 154 of the dashed triangle is about 9%.
  • each AOU ij calculates the output ⁇ ij of the nonlinear oscillator (see step 1609).
  • the output ⁇ ij is 1, if the nonlinear oscillator of which the order is 1 among the nearby nonlinear oscillators is c k i, the parameters u and kl both become ⁇ or more.
  • ⁇ u is about the same phase, and if ⁇ is a positive value, the worst case phase difference will not exceed 90 degrees.
  • the maximum value of this phase difference is determined by the value of ⁇ .
  • the contour parameter V ij representing the number of neighboring non-linear oscillators having approximately the same phase is calculated according to Equation 48 (see step 1610).
  • the boundary parameter ij which is the magnification of the joint value, is reduced according to Equation 49, otherwise it is increased according to Equation 49. (See steps 1611). For example, in the case of around 8, if the value is between 3 and 5, the boundary parameter should be reduced according to Equation 49.
  • edge information 157 of the front triangle and edge information 158 of the rear triangle are obtained.
  • the phases of the nonlinear oscillators in the three regions of the inner region of the front triangle 15 9, the inner region 16 6 of the rear triangle, and the background region 16 1 of the double triangle are shifted from each other, resulting in three regions. Separated into regions.
  • Fig. 33 As shown in, even if the two overlapping circular edge information 1 6 2 are dashed lines, the front circular inner area 16 3, the rear circular inner area 16 4, and the double circular background area 16 5 Separated into three.
  • the visual device according to claim 12 corresponding to the object / background separating means 16 using the data processing device 110 composed of the array operation unit 40,
  • the object area 14 1 and the background can be separated by using the formed edge information 114 as a boundary.
  • the visual device described in claims 6 to 12 has been described.
  • these visual devices can be implemented by a general-purpose computer, but when the moving object 2 is to be counted, each of the above means is executed at high speed depending on the moving speed of the moving object 2. There is a need to.
  • the image storage means 12 see FIGS. 1 and 6) and the image vibration means 13 (see FIGS. 3 and 4) which process the image itself are processed.
  • edge information generating means 14 (see FIGS. 1 and 6), edge information forming means 15 (see FIGS. 1 to 5 and FIGS. 7 to 12)
  • Object background separation means 16 (see FIGS. 2, 4, 5, 7 and 12), position and size detection means 17 (see FIGS. 1 and 6), area normalization means 2 7 (see Fig. 7), the normalized image holding means 28 (see Fig. 7) and the image recognition means 29 (see Fig. 8) provide the image size or resolution for each of the width and height directions.
  • the calculation amount increases in proportion to. Therefore, the visual device described in claims 6 to 12 may not be able to achieve the desired performance depending on the application.
  • the array operation unit 40 is arranged in a grid pattern as shown in FIG. 13 in the data processing apparatus 110.
  • the array operation unit 40 is further wired so as to be able to communicate with only the adjacent array operation unit 40 in the data processing device 110. That is, the four neighbors are directly wired. This makes it possible to operate at the same high speed with a smaller number of electronic components and wiring amount compared to the case of wiring between eight neighbors, and easily expandable even if the neighborhood size is expanded in the future. be able to.
  • the array operation unit 40 is, as shown in FIG. 34, a processor (PROCESSOR) 41 for calculating a mathematical expression in image processing, and all parameters, constants, and functions used in the mathematical expression. And a memory for storing the operator (MEMORY) 42, and a controller 43 for communicating with a nearby array operation unit 40.
  • the processor 41 is connected to an address bus 51. An arbitrary memory element and register of the memory 42 and the controller 43 can be selected by the specified address (ADDRESS).
  • the processor 41 is communicably connected to the memory 42 and the controller 43 via the data bus 52 so as to be able to communicate with the memory 42 and the controller 43 in a bidirectional manner. ) Can be accessed.
  • the controller 43 When the array operation unit 40 inputs a previous input data group (FRONT INPUT DATA SET) composed of one or more input pixels, the controller 43 stores the previous input data group in the memory 42. The controller 43 transmits the calculation data in the memory 42 created by the function to the adjacent array operation unit 40, and also transmits the calculation data received from the adjacent array operation unit 40 to the memory 4. 2 and, if necessary, transfer it to the array operation unit 40 other than the one input. Finally, the controller 43 outputs the image data of the output image as result data (RESULT DATA). The reason why the controller 43 is mounted on each array operation unit 40 is that the processor 41 can operate while the array operation units 40 are communicating with each other.
  • a previous input data group FRONT INPUT DATA SET
  • the controller 43 is capable of performing calculations at high speed and realizing high-speed processing, and because it is not necessary to change the hardware even if the number of neighboring array units 40 is changed. This is because the edge processing, that is, the exception processing for the edge pixels in the image can be automatically performed, so that the program of the processor 41 does not need to perform the edge processing, and thus becomes extremely simple.
  • the address buffer (ADDRESS BUFFER) 53 is connected to the processor 41 via the address bus (ADDRESS BUS) 51.
  • the address (ADDRESS) is received, and each register and other functional blocks are selected by the address decoder (ADDRESS DECODER) 54.
  • the data buffer (DATA BUFFER) 55 receives data (DATA) from the processor 41 via the data bus (DATA BUS) 52, and the register selected by the address decoder 54 and the internal data bus 56. Communicate exclusively.
  • the communication direction is specified by READ.
  • the data is stored in the flag register 57, decoded by the flag decoder (FLAG DECODER) 58, and the adjacent array operation unit 40 as a multiple signal (SIGNALS). Sent to.
  • the multiple signals are received by the FLAG ENCODER 59, analyzed and stored in the status register 60 (STATUS REGISTER), and returned to the source array operation unit 40 as reception (RECEIVE). You.
  • the reception is received by the flag encoder 59 of the transmission source of the multiple signals, and as a result, completion of transmission of the multiple signals is confirmed.
  • the status register 60 is selected according to the address, the contents of the status register 60 are transmitted to the processor 41 as data over the data bus 52.
  • the flag encoder 59 When the flag encoder 59 receives one or more front input deliveries (FRONT INPUT SEND) corresponding to one or more input images (INPUT IMAGE), the front input data group (FRONT INPUT DATA SET) consisting of one or more input images ) Is read into the pre-input data register 61 (FRONT INPUT DATA REGISTER) prepared for the required storage capacity.
  • the previous input data register 61 is selected by the address, the contents of the previous input data register 61 are transmitted to the processor 41 as data.
  • the result data register (RESULT DATA REGISTER) 62 When the processor 41 completes the calculation, the result data register (RESULT DATA REGISTER) 62 is selected by the address, and the result data register 62 reads the image data of the output image as the result data (RESULT DATA).
  • the flag encoder 59 sends a RESULT SEND.
  • the output data register 63 (OUTPUT DATA REGISTER) is selected as an address, and the data to be transmitted to the nearby array operation unit 40 is calculated. Output data as one night (CALCURATION DATA) Evening Regis Evening Read on 6/3. Then, it is transmitted as calculation data to all adjacent array operation units 40.
  • the calculation data is read into the upper input data register (UPPER INPUT DATA REGISTER) 64. Thereafter, when the upper input data register 64 is selected by the address, the contents of the upper input data register 64 are transmitted as calculation data.
  • the lower input data register 65, the left input data register 66, and the right input data register 67 similarly. Operate.
  • Each block of various buffers, various registers, and the address decoder 54 is a general-purpose electronic circuit.
  • the flag decoder 58 and the flag encoder 59 have input / output signals as shown in FIGS. 36 and 37.
  • the type (TYPE) indicates the type of the content read into the output data register 63 (OUTPUT DATA REGISTER) by 5 bits. This number of bits is a value sufficient for the array operation unit 40 to distinguish all calculation data to be transmitted and received.
  • Each of the count X (COUNT-X) and the count Y (COUNT-Y) represents a 4-bit unsigned integer, and indicates the number of transfers during the array operation unit 40.
  • each count becomes 0, and when the calculation data transmitted from the left and right array operation units 40 is transmitted again, the count of the flag encoder 59 is applied to each count.
  • the value is obtained by adding 1 to the count Y of the flag encoder 59.
  • the processor 41 specifies the direction of transmission of the output data register 63 in the upper, lower, left and right directions to the transmission flag (SEND FLAG) of the flag register 57
  • the output data register 63 is set to
  • the flag decoder 58 outputs a send (SEND) in accordance with the direction specified by the send flag.
  • the delivery flag is represented by 4 bits, and when the calculation data of the array operation unit 40 is transmitted to the array operation unit 40 on all sides, the processor 41 sets 1 1 1 1 and the array operation unit 40 on the right side To transfer the transmitted calculation data to the upper and lower left sides, set processor 4 1 to 1 1 1 0.To transfer the calculation data from the left to upper and lower right sides, set 1 1 0 1, To transfer from the lower side to the upper side, set to 10000. To transfer from the upper side to the lower side, set to 0100. This not only eliminates duplication in the transfer, but also allows efficient transfer, and clarifies the rules for determining the transfer direction. By combining the type, count—X and count—Y, the flag encoder Can determine which type of calculation data has been transmitted from which array calculation unit 40.
  • the flag decoder 58 receives the result decoding (RESULT DECODING) and transmits the result delivery (RESULT SEND) at the same time that the calculation data is read into the result data register 62 as the result decoding.
  • the flag encoder 59 When the flag encoder 59 receives the delivery in any one of the four directions, the flag encoder 59 receives the type of the receiving direction, the count X, and the count Y, and updates the content of the status register 60 in that portion. At the same time as this update, set the reception to 1 in the receiving direction and send.
  • the flag encoder 59 of the array operation unit 40 of the transmission source receives the data at the moment when the reception becomes 1, and updates the reception status (RECEIVE STATUS) of the status register 60.
  • the processor 41 can determine which input data register has a valid calculation data stored therein only by checking the reception status of the status register 60. .
  • the processor 41 can read the data from the upper input data register 64 by specifying the address, but at the same time, the address decoder 5
  • the upper decoding (UPPER DECODING) is sent from 4 to the flag encoder 59, the upper part of the reception status is returned to 0, and the reception toward the upper side is transmitted as 0. The same applies to the lower left and right sides. If at least one of the flag encoders 59 receives the previous input transmission for the input image, the status register 60 (FRONT INPUT SEND STATUS) for the input image corresponding to the received previous input transmission To 1.
  • the address decoder 54 sends the pre-decoding (FRONT DECODING) to the flag encoder 59, and the received previous input is transmitted. Set the previous input delivery status corresponding to to 0.
  • the processor 41 reads the contents of the status register 60 so that the latest input image is stored in the previous input register 61. Can be determined whether or not.
  • FIG. 38 shows an algorithm when the processor 41 transmits calculation data to the array operation units 40 on the four sides via the controller 43.
  • FIG. 38 shows processing by program control by the processor 41 and mixing with hardware logic by the flag decoder 58 and the flag encoder 59.
  • the processor 41 reads the contents of the status register 60.
  • the processor 41 determines the type, count, and transmission direction of the data to be transmitted to the adjacent array operation unit 40, and writes the content to the flag register 57.
  • step 74 the processor 41 writes data to be transmitted to the adjacent array operation unit 40 to the output data register 63.
  • step 75 the contents of the output data register 63 are transmitted to the adjacent array operation unit 40 as calculation data.
  • step 76 the transmission is set to 1 only in the direction specified by the transmission flag of the flag register 57 and transmitted.
  • the one-time transmission algorithm of the processor 41 ends. The processor 41 starts this transmission algorithm each time the data to be transmitted is updated in the memory 42.
  • FIG. 39 shows an algorithm when the controller 43 receives the calculation data from the upper array operation unit 40.
  • FIG. 39 shows processing by the hardware logic by the flag decoder 58 and the flag encoder 59.
  • the flag encoder 59 inputs the delivery.
  • the flag encoder 59 determines whether the delivery is 1 or not. If NO, the process ends. If YES, proceed to step 83.
  • the upper input register 64 reads the calculation data transmitted from the upper side.
  • the flag encoder 59 sets the reception status for the upper side of the status register 60 to 1 and simultaneously sets the reception to 1 and transmits it to the upper array operation unit 40. The same applies to the lower left and right sides.
  • Controller 43 is always an array operation unit Monitor the delivery from the server 40 and start the receiving algorithm each time the delivery is received.
  • the algorithm when the processor 41 receives the data from the upper input data register 64 is shown in FIG. FIG. 40 shows processing by program control by the processor 41 and mixing with hardware logic by the flag decoder 58 and the flag encoder 59.
  • the processor 41 reads the contents of the status register 60.
  • step 92 it is determined whether or not the reception status for the upper side of the read contents is “1”. If NO, the process ends. If YES, proceed to step 93.
  • step 93 the processor 41 reads the data from the upper input data register 64.
  • step 94 the flag encoder 59 sets the reception status for the upper side of the status register 60 to 0, and simultaneously sets the reception to 0 and transmits it to the upper array operation unit 40.
  • one reception algorithm of the processor 41 ends.
  • the processor 41 monitors the contents of the status register 60 at regular intervals, and starts this receiving algorithm each time the reception status of either the upper, lower, left or right is 1. Even if the processor 41 does not monitor the contents of the status register 60 at regular intervals, it can be implemented by interrupt processing.
  • This array operation unit 40 has been described mainly on the assumption that one output image is generated from one or more input images.However, depending on the application, a circuit is provided so as to be able to output calculation data during the calculation, depending on the application. Need to change. In this case, the result delivery of the flag decoder 58 is increased by the number of calculation data to be output, and only the result delivery corresponding to the calculation data read into the result data register 62 is set to 1. All you have to do is change the program.
  • the amoeba when it is difficult to cut out a single moving object or a part of the moving object from a moving image as a lump area using lightness, saturation, hue, etc. Can count the number of the moving objects. For example, when counting living transparent amoeba, it is not possible to color the entire amoeba, of course. Also, even if the light source and the background are appropriately colored, the amoeba will be the same color, or the center and the edge of the amoeba will have different colors due to light refraction, reflection, etc., to obtain an image where only the ameba is filled It is also difficult.
  • the present invention can also be used for a moving object that can be easily distinguished from the background by color information such as a tadpole human face. Since the number of moving objects can be counted without particularly changing the moving object, the light source, and the background, the moving object can be photographed.
  • the object counting device can be realized at low cost.
  • it can be used for pre-processing whenever it is determined whether or not there is a moving object in a moving image.
  • it can also be used for preprocessing when recognizing a moving object, thereby realizing an object recognition device at low cost. You can also.
  • the invention when it is difficult to cut out a single object or a part thereof from a still image or a frame image of a moving image as a lump area using lightness, saturation, hue, and the like,
  • the invention can count the number of said objects. For example, when counting transparent beads, it is not possible to color the beads, of course. Even if the light source and background are set to appropriate colors, the beads will be the same color, or the center and edge of the beads will be different colors due to light refraction and reflection, etc. It is also difficult to obtain. In most cases, refraction or reflection of light causes a unique brightness value to appear at the outline of the bead.
  • the present invention If used, the entire bead can be cut out from the background by generating edge information from this unique luminance value, so that the number of beads can be easily counted.
  • microorganisms such as daphnia and cells such as leukocytes and sperm.
  • the present invention can also be applied to an object that can be easily distinguished from the background by color information such as a face of a tadpole. In this way, the number of objects can be counted without particularly modifying the objects, the light source, and the background.
  • the present invention By connecting the present invention to an existing device capable of photographing the object, the object counting for the object can be performed. The device can be realized at low cost.
  • the present invention can be used for preprocessing whenever it is determined whether or not there is an object in a still image.
  • it can also be used for preprocessing when recognizing the object, realizing the object recognition device at low cost. You can also.
  • it is difficult to cut out a moving object and a stationary object alone or a part thereof from a moving image as a lump area using lightness, saturation, hue, and the like.
  • the present invention can count the number of moving objects and the number of all objects among the objects.
  • the present invention when counting the number of living amoebae and all amoebae among the transparent amoebae, it is assumed that the amoebae that have moved during a certain period of time are alive.
  • the present invention reduces the number of moving amoeba and the number of all ameba Can be counted.
  • microorganisms such as daphnia and cells such as leukocytes and sperm.
  • the present invention can also be used for objects that can be easily distinguished from the background by color information such as a human face.
  • the number of moving objects and the number of all objects can be counted by one device, so that an object counting device for counting the number of moving objects and the number of all objects can be realized at low cost.
  • it can also be used for preprocessing such as determining whether a moving object or a stationary object is present in a moving image.
  • preprocessing such as determining whether a moving object or a stationary object is present in a moving image.
  • by directly extracting the object region separated from the background from the present invention and inputting it to another device it can also be used for preprocessing when recognizing a moving object or a stationary object. It can also be realized.
  • the present invention counts the number of moving objects and the number of all objects among the objects, and And the number or ratio of stationary objects can be calculated. For example, when determining the survival rate of a transparent amoeba, it is assumed that the amoeba that has moved for a certain period of time is considered to be alive.
  • the present invention counts the number of moving amoebae and the number of all amoebae by using two frame images separated by a certain time or two still images taken at a certain time interval in a moving image So that the survival rate of amoeba can be easily obtained.
  • microorganisms such as daphnia and cells such as leukocytes and sperm.
  • the present invention can also be used for objects that can be easily distinguished from the background by color information such as tadpoles and human faces. In this way, the number of moving objects and the number of stationary objects can be counted by one device, so that a device for calculating the ratio of moving objects to stationary objects can be realized at low cost.
  • it can also be used for preprocessing whenever it is determined whether a moving object or a stationary object is present in a moving image. Note that by directly extracting the object region separated from the background from the present invention and inputting it to another device, it can also be used for preprocessing when recognizing a moving object or a stationary object. It can be realized at low cost.
  • the present invention relates to a mobile camera using a moving image composed of an arbitrary band among three primary color wavelengths, visible light wavelengths, infrared wavelengths, ultraviolet wavelengths, and all other electromagnetic waves.
  • the mobile camera can be controlled externally, it can be used in combination with a computer. Therefore, the present invention can be used as follows. For example, when monitoring objects such as people, cars and luggage in places with a lot of noise such as entrances and outdoors, in addition to places with stable lighting such as corridors, the present invention uses these objects at an appropriate magnification. You can control the moving camera as you can. In addition, the present invention is useful for preventing shoplifting by intensively photographing customers in places with little movement such as convenience stores and supermarkets. Since monitoring of an object over a wide range can be performed by a single device, the object monitoring device can be realized at low cost. In addition, it can be used for preprocessing whenever it is determined whether or not a specific object is present in a moving image.
  • the image can be used for preprocessing when recognizing a moving object or a stationary object. It is possible to implement an object recognition device at low cost.
  • the present invention provides a mobile camera using a moving image composed of an arbitrary band among three primary color wavelengths, visible light wavelengths, infrared wavelengths, ultraviolet wavelengths, and all other electromagnetic waves.
  • An object in a photographable range can be searched. These objects are classified into several types by appropriate recognition methods, and are recorded together with attributes such as position and time. Therefore, it is possible to count the number of specific objects within a range where the moving power camera can photograph within a certain period of time, or to record the trajectory of the movement of the objects. For example, in a karaoke box or a shopping street, the present invention can measure the number of customers and the traffic volume.
  • an industrial mouth pot can search for a workpiece in a production line, stop an operation by detecting an approaching human, and the like, and achieve a humanoid shape.
  • the visual function of a mobile robot such as a robot or a guide dog robot can be realized.
  • the present invention can detect an object located in a blind spot of a driver and issue an alarm, and can also detect a moving object such as an approaching car. It can detect in advance, or record when a traffic accident occurs. People in wheelchairs can widen their sights without turning their neck, so they can detect in advance bicycles and cars approaching from behind, and prevent accidents. It is also useful for stopping. Further, by installing the present invention at the entrance of a train or the like, the present invention can also find a passenger who is sandwiched between doors or near a door.
  • the present invention can also find an object that has fallen on the track or warn a person on the side of the track on the platform. Also, if the present invention is installed in a rescue mouth pot, the rescue mouth pot finds a person who has been distressed on the coast, at sea, and in a river, etc., and automatically approaches the person to carry a life jacket or rope to the victim, The victim can be transported to a safe place. This rescue mouth pot can also be used when searching for people under the rubble under earthquakes.
  • the object search, the counting, and the recording of the movement trajectory can be performed by one device, so that the object search device, the object recognition device, the object counting device, the object recording device, and the like can be realized at low cost.
  • the present invention inputs each pixel of the digital image in parallel, vibrates the digital image in image units or pixel units, and then outputs each pixel of the digital image in parallel.
  • a digital image can be vibrated at a high speed.
  • the present invention can achieve the required processing speed.
  • the coarse edge information is output in parallel. it can.
  • the generated rough edge information is not always accurate because it is affected by the moving direction and moving speed of the object and the difference between the color information of the object and the background, but it is not always accurate even in a noisy environment such as outdoors under sunlight. Since the rough edge information of a moving object having an arbitrary shape can be generated without correcting the image, the present invention can be used without limiting the use environment.
  • the present invention can treat infrared rays, ultraviolet rays, and even radiations in the same manner as visible light wavelengths, particularly, three primary color wavelengths, and the effect of noise can be reduced by increasing the number of bands.
  • the present invention can provide the contour, position, and size of a moving object at high speed and at low cost.
  • the present invention works effectively as preprocessing for a visual recognition device that does not limit the object.
  • the present invention inputs the coarse edge information and each pixel of the digital image in parallel, generates the formed edge information from the coarse edge information using the digital image, and then forms the image. Edge information can be output in parallel.
  • the rough edge information generated by an arbitrary method can be formed into clearer and more accurate edge information, so that the load required for the means for generating the rough edge information can be easily reduced.
  • the present invention is not so affected by the quality of the coarse edge information, the coarse edge information generated from a specific area of the low resolution digital image obtained by reducing the resolution of the digital image can be formed into clearer and more accurate edge information. Wear.
  • the present invention can generate high-definition edge information for an object in a low-magnification digital image without increasing the amount of hardware and the amount of calculation.
  • an object recognition device that has been using a wide-angle camera and a high-definition camera can realize object recognition with one camera.
  • the present invention inputs edge information in parallel, detects the position and size of the object represented by the edge information, and then parallelizes the position and size of the object as overlapping information. Can be output to With the same or better quality as the position and size of multiple objects in an image detected with a large amount of hardware and computation, the present invention uses the position and size from the edge information of multiple objects. Can be detected all at once. It is also used for preprocessing to detect the position and size of multiple objects in a video from a frame image of a moving image captured by a video camera or a still image captured by a digital camera. An image pattern recognition algorithm can be realized at high speed and at low cost.
  • the position and size of the object represented by each pixel of the object area image can be output in parallel as duplicate information.
  • Akira can simultaneously detect the position and size from a plurality of object areas.
  • a pattern recognition algorithm for a still image and a moving image can be realized at high speed and at low cost.
  • each pixel of the object region image and each pixel of the digital image are input in parallel, and after normalizing the object region in the digital image, each of the normalized image Pixels can be output in parallel.
  • the present invention masks using a region other than the object region of the object region image with a quality comparable to or higher than that of a normalized image having a large amount of hardware and a large amount of calculation, which is vulnerable to misregistration generated with a large amount of hardware.
  • the object area of the resulting digital image can be normalized while filling gaps according to the size of the digital image. It is also used for preprocessing for normalizing a frame object of a moving image captured by a video camera or a specific object cut out from a still image captured by a digital camera. Algorithms can be realized at high speed and at low cost.
  • the present invention inputs each pixel of several template images in parallel, inputs each pixel of the normalized image in parallel, and matches the template image with the pattern matching. After that, each pixel of the matching result image can be output in parallel. If the reproducibility of the normalized image is high for the same object having different positions and sizes, the present invention can select some template images similar to the normalized image only by neighborhood processing. Therefore, the present invention can minimize global processing such as least square error and neural network, and can realize a high-speed and low-cost pattern recognition algorithm for still images and moving images.
  • the present invention inputs the formed edge information in parallel, separates the object region and the background region using the nonlinear oscillator, and then parallelizes each pixel of the object region image. Can be output.
  • the present invention does not require any preprocessing other than generation of edge information in advance for a digital image, does not depend on the shape, position, and orientation of an object in a digital image, It is possible to separate the object area from the background area regardless of whether or not they are dashed or intersecting, and even if the object areas in the digital image overlap.
  • the present invention also makes it easy to implement hardware using digital technology, and enables high-speed processing suitable for real-time image processing.
  • the present invention can operate the visual device at high speed. In particular, even if the image size increases, the processing time does not change due to parallelism. Thus, visual devices can be used for applications that require real-time performance.
  • the plurality of means described in claims 6 to 12 can be realized by the same chip only by changing the program, the present invention can manufacture a visual device at low cost.
  • a plurality of means described in claims 6 to 12 can be realized by one chip, this chip can be easily incorporated in a mobile camera, and the present invention can increase convenience. it can.
  • signals are input and output in pixel units, the amount of wiring can be reduced by stacking a plurality of chips. Therefore, the present invention can easily improve the processing performance by technical innovations such as three-dimensional VLSI.

Description

明細書 視覚装置 技術分野
本発明は、 画像中の物体の数を数える視覚装置及びその方法に関し、 詳しくは、 ビデオ カメラやデジタルカメラなどで撮影された三原色波長、 可視光波長、 赤外線波長、 紫外線 波長、 その他全ての電磁波のうち任意の帯域から構成される画像中の移動物体又は静止物 体の数を数えるものに関する。 背景技術
従来からビデオカメラやデジタルカメラを用いて複数の物体を 1つの画面に収まるよ うに撮影し、 デジタル技術を用いて画面中の物体の数を数える装置が開発されてきた。 代 表的な例としては、 顕微鏡を介して撮影された細胞の数を数える装置が挙げられる。 細胞 の染色体は紫色に染色されるので、 画像中ある一定以上の大きさの紫色の領域を切り出し て 1つの塊にすることで、 細胞の数を数えることができる。 しかしながら細胞を染色して は困る場合や染色できない場合において、 細胞の数を数えることは容易ではない。 という のも一般的に細胞は透明であるので、 細胞全体を 1つの塊にするために色情報はあまり役 に立たない。 勿論細胞の画像を拡大すれば核やミトコンドリアの陰影を捉えることがで きるが、 このような場合はむしろ例外である。 そのため光の屈折、 反射により映し出され る細胞の輪郭からエッジ情報を生成する場合が多い。 このエッジ情報を用いれば理論上細 胞全体を 1つの塊にできるはずであるが、 実際にはエッジ情報が不完全である場合が殆ど なので、 細胞の形や大きさといった情報を用いてエッジ情報を補完している。 しかもこの エッジ情報から細胞全体を 1つの塊にするためには、 塗り潰しなど計算量の多い画像処理 を施す必要があり、 当然のことながらエッジ情報に切れ目があってはいけない。 その上細 胞の中から移動している細胞だけを選び切り出すとなるとオプティカルフローなどの計算 を行わざるを得ず、 結局計数の精度を上げるためには高額の装置が必要となり、 一方で安 い装置を使うと、 計算時間が膨大になる。
ところで細胞など一部の例外を除いて一般的な物体には色がある。 例えばおおざっぱに 言って、 おたまじゃくしの背中はこげ茶色であり、 りんごは赤色、 黄色、 緑色であり、 馬 は黒色、 茶色、 灰色であり、 カラスは黒色である。 したがってこのような物体を数えるた めには画像中から物体固有の色情報を見つけ出せば良さそうだが、 事はそう簡単ではな レ^ 一つには、 色情報は太陽光や照明の明るさ、 及びカメラの性能により大きく左右され てしまう。 また類似色の物体が撮影環境にあると、 対象物体とそれ以外を区別をすること が難しい。 そこで形や大きさなどの情報を用いて背景から対象物体を切り出してから、そ の物体の数を数える方が一般的であり、 色情報は対象物体を絞り込んで計算量を低減する ために用いられる程度である。 もし視覚装置が色情報の変化を物体の動きとして捉えれば 照明や力メラの性能はあまり問題ではなくなるが、 物体の動きから物体の形を正確に再現 することが難しくなるばかり力 エツジ情報で囲まれた領域を塗り潰すことにより物体領 域を確定しなければならないといった問題が生じてしまい、 色情報の変化を活用した視覚 装置は十分に研究されてこなかった。
これらのことを考慮すると、 視覚装置が色情報の変化などから物体の動きを捉えてェッ ジ情報を生成し、 このエッジ情報から物体を切り出して 1つの塊にすることができれば、 物体の特徴や撮影環境に依存することなく物体の数を数えることができるようになる。 し かも物体自体を振動させるか、 カメラを振動させるか、 さもなくば撮影された画像を振動 させることにより色情報からエツジ情報を生成することができれば、 物体が静止している としても視覚装置は物体の数を数えることができるものと期待される。
さてここで、 カメラが撮影した物体の数を数えることができる前述の視覚装置があるも のとする。 もしカメラが撮影した物体が静止していれば、 視覚装置は常時静止物体の数を 数えることができる。 しかしながらもし物体が移動していれば、 カメラが移動物体を撮影 している間しか視覚装置は移動物体の数を数えることができない。 シャーレの中の細胞の ように事前に静止物体及び移動物体の位置が特定されるならば問題はないが、 部屋中ゃ屋 外空間を動き回る人間や動物などを数えるとなると、 部屋の全域や屋外空間がカメラの画 角に収まり切らないか、 カメラからの距離により人間や動物などが画像中で大きくなった り小さくなつたりするので、 カメラを固定していると視覚装置の用途が制限される。 さら に視覚装置は部屋のインテリアと人間や動物とを区別しなければならないので、 物体を認 識するために膨大な計算量が必要となる。
これらのことを考慮すると、 移動力メラが部屋中や屋外空間から人間や動物など特定の 物体を探索してこれらの物体だけを撮影し、 これらの物体が画像中で適当な大きさになる ように視覚装置がカメラの倍率を調整することができれば、 視覚装置はこれらの物体を容 易に認識することができるばかりか、 人間や動物など事前に位置を特定することができな い移動物体の数を数えることができるようになる。 勿論人間や動物などが寝ていてほとん ど動かないとしても、 視覚装置は人間や動物などを他の静止物体と区別して人間や動物な どの数を数えることができるものと期待される。
そこで、 請求項記載の本発明は、 動画像中の移動物体又は全物体のいずれかを選択的に 選んで生成したェッジ情報を基にして、 高速に移動物体又は全物体の数を数えることを目 的とする。 さらには動画像から移動物体及び静止物体の数を数えることにより、 動画像中 の移動物体及び静止物体の割合を高速に計算することも目的とする。 加えて移動カメラで 撮影可能な範囲に存在する移動物体及び静止物体を探索することにより、 移動物体及び静 止物体の数を高速に数えることも目的とする。
発明の開示
請求項 1の発明は、 動画像中の移動物体に対して、 前記動画像のフレーム画像を取得す る手段と、 前記フレーム画像をデジタル画像として順次記憶する手段と、 前記デジタル画 像から移動物体粗ェッジ情報画像を生成する手段と、 前記デジタル画像を用いて前記移 動物体粗ェッジ情報画像から移動物体形成ェッジ情報画像を生成する手段と、 前記移動物 体形成ェッジ情報画像によって区分される移動物体領域の位置及び大きさを検出する手段 と、 移動物体領域数を数える手段と、 前記移動物体領域数を保持する手段と、 を有する 視覚装置である。 前記フレーム画像を取得する前記手段において、 前記動画像がアナ„口 グ信号の場合は、 前記フレーム画像をデジタル信号に変換して前記デジタル画像にする。 前記動画像が前記デジタル信号の場合は、 圧縮されていれば展開し、 圧縮されていなけれ ばそのまま入力し、 その後前記動画像の中から前記フレーム画像を切り出して前記デジ タル画像にする。 前記フレーム画像を前記デジタル画像として順次記憶する前記手段で は、 前記フレーム画像の全ての画素を二次元の位相関係を保ったままメモリに記憶する。 前記デジタル画像から前記移動物体粗ェッジ情報画像を生成する前記手段では、 前記デジ タル画像の画素毎に移動物体のエッジ情報を生成する。 前記デジタル画像を用いて前記移 動物体粗ェッジ情報画像から前記移動物体形成ェッジ情報画像を生成する前記手段では、 前記デジタル画像を用いて、 前記移動物体の前記エッジ情報をより的確で明瞭な前記エツ ジ情報に形成する。 前記移動物体形成ェッジ情報画像によって区分される前記移動物体領 域の前記位置及び前記大きさを検出する前記手段では、 前記移動物体領域の境界にある前 記エッジ情報の重心位置及び前記移動物体領域の境界にある前記エッジ情報の数を 1つの 画素に代表させる。 前記移動物体領域数を数える前記手段では、 前記移動物体領域を代表 する前記画素の数を数える。 前記移動物体領域数を保持する前記手段では、 前記移動物体 領域を代表する前記画素の数を 2の補数表現や浮動小数点表現など出力先が必要とする 形式で出力する。 前記手段は各々並列に動作させることができ、 また前記移動物体粗エツ ジ情報画像を生成する前記手段、 前記移動物体形成ェッジ情報画像を生成する前記手段、 及び前記移動物体領域の前記位置及び前記大きさを検出する前記手段は、 各々の内部でも 画素毎に並列に動作させることができる。 しかもこれらの前記手段は全て局所処理によつ て実現される。 したがって前記視覚装置は前記移動物体の形や大きさに依存することな く、 高速に前記移動物体領域数を数えることができる。 また色情報の分類などによって前 記移動物体領域を抽出する場合に比べて、 前記エッジ情報は照明などの影響を受け難く、 しかも透明な前記移動物体に対しても染色することなく、 前記エッジ情報は屈折や反射を 利用することにより生成されるので、 前記視覚装置の応用範囲は広い。 したがって前記移 動物体の計数に関する諸問題が好適に解決される。 請求項 2の発明は、 動画像中の移動物体に対して、 動画像のフレーム画像を取得する手 段と、 前記フレ一ム画像をデジタル画像として順次記憶する手段と、 前記デジタル画像か ら移動物体粗エッジ情報画像を生成する手段と、 前記デジタル画像を用いて前記移動物体 粗エッジ情報画像から移動物体形成エッジ情報画像を生成する手段と、 前記移動物体形成 エッジ情報画像を用いて背景から移動物体領域を分離する手段と、 前記移動物体領域の位 置及び大きさを検出する手段と、 移動物体領域数を数える手段と、 前記移動物体領域数を 保持する手段と、 を有する視覚装置である。 本発明は、 請求項 1記載の発明に、 前記移動 物体形成エッジ情報画像を用いて前記背景から前記移動物体領域を分離する前記手段を追 加したものである。 前記移動物体形成ェッジ情報画像を用いて前記背景から前記移動物体 領域を分離する前記手段では、 前記移動物体の前記エッジ情報を境界として、 前記背景に 含まれる画素と前記移動物体領域に含まれる前記画素を異なるグループに分類すること ができる。 これに伴い、 前記移動物体領域の前記位置及び前記大きさを検出する前記手段 では、 前記移動物体領域の前記重心位置及び前記移動物体領域に含まれる前記画素の数 を 1つの前記画素に代表させる。 前記手段は各々並列に動作させることができ、 また前記 移動物体粗ェッジ情報画像を生成する前記手段、 前記移動物体形成ェッジ情報画像を生成 する前記手段、 前記背景から前記移動物体領域を分離する前記手段、 及び前記移動物体領 域の前記位置及び前記大きさを検出する前記手段は、 各々の内部でも画素毎に並列に動作 させることができる。 しかもこれらの前記手段は全て局所処理によって実現される。 した がって前記視覚装置は前記移動物体の形や大きさに依存することなく、 高速に前記移動物 体領域数を数えることができる。 また色情報の分類などによって前記移動物体領域を抽出 する場合に比べて、 前記エッジ情報によって前記背景から分離された前記移動物体領域は 照明などの影響を受け難く、 しかも透明な前記移動物体に対しても染色することなく、 前 記ェッジ情報は屈折や反射を利用することにより生成されるので、 前記視覚装置の応用範 囲は広い。 したがって前記移動物体の計数に関する諸問題が好適に解決される。
請求項 3の発明は、 請求項 1又は 2記載の視覚装置に対して、 前記デジタル画像を振動 させる手段を有することにより、 前記移動物体の代りに全物体に対して全物体領域数を数 えることを特徵とする視覚装置である。 請求項 1記載の視覚装置に対して前記デジタル画 像を振動させる前記手段を追加した場合、 以下のようになる。 前記フレーム画像を取得す る手段において、 前記動画像がアナログ信号の場合は、 前記フレーム画像をデジタル信号 に変換して前記デジタル画像にする。 前記動画像が前記デジタル信号の場合は、 圧縮され ていれば展開し、 圧縮されていなければそのまま入力し、 その後前記動画像の中から前記 フレーム画像を切り出して前記デジタル画像にする。 前記フレーム画像を前記デジタル画 像として順次記憶する前記手段では、 前記フレーム画像の全ての前記画素を二次元の位相 関係を保つたままメモリに記憶する。 前記振動画像から前記全物体粗ェッジ情報画像を生 成する前記手段では、 前記デジタル画像を画像単位又は画素単位で上下左右に振動させ ることにより前記振動画像を生成する。 これにより、 前記振動画像中の前記全物体はあた かも移動しているかのように見える。 前記振動画像から前記全物体粗ェッジ情報画像を生 成する前記手段では、 前記振動画像の前記画素毎に前記全物体の前記エッジ情報を生成す る。 前記デジタル画像を用いて前記全物体粗ェッジ情報画像から前記全物体形成ェッジ情 報画像を生成する前記手段では、 前記デジタル画像を用いて、 前記全物体の前記エッジ情 報をより的確で明瞭な前記ェッジ情報に形成する。 前記全物体形成ェッジ情報画像によつ て区分される前記全物体領域の前記位置及び前記大きさを検出する前記手段では、 前記全 物体領域の境界にある前記ェッジ情報の前記重心位置及び前記全物体領域の境界にある前 記エッジ情報の数を 1つの画素に代表させる。 前記全物体領域数を数える前記手段では、 前記全物体領域を代表する前記画素の数を数える。 前記全物体領域数を保持する前記手段 と、 前記全物体領域を代表する前記画素の数を 2の補数表現や浮動小数点表現など出力先 が必要とする形式で出力する。 前記手段は各々並列に動作させることができ、 また前記全 物体粗エッジ情報画像を生成する前記手段、 前記全物体形成エッジ情報画像を生成する前 記手段、 及び前記全物体領域の前記位置及び前記大きさを検出する前記手段は、 各々の内 部でも画素毎に並列に動作させることができる。 しかもこれらの前記手段は全て局所処理 によって実現される。 したがって前記視覚装置は前記全物体の形や大きさに依存すること なく、 高速に前記全物体領域数を数えることができる。 また色情報の分類などによって前 記全物体領域を抽出する場合に比べて、 前記エッジ情報は照明などの影響を受け難く、 -し かも透明な前記全物体に対しても染色することなく、 前記エッジ情報は屈折や反射を利用 することにより生成されるので、 前記視覚装置の応用範囲は広い。 したがって前記全物体 の計数に関する諸問題が好適に解決される。
一方で、 請求項 2記載の視覚装置に対して前記デジタル画像を振動させる前記手段を追 加した場合、 以下のようになる。 前記全物体形成エッジ情報画像を用いて前記背景から前 記全物体領域を分離する前記手段では、 前記全物体の前記エッジ情報を境界として、 前記 背景に含まれる前記画素と前記全物体領域に含まれる前記画素を異なるグループに分類 することができる。 これに伴い、 前記全物体領域の前記位置及び前記大きさを検出する前 記手段では、 前記全物体領域の重心位置及び前記全物体領域に含まれる前記画素の数を 1 つの前記画素に代表させる。 前記手段は各々並列に動作させることができ、 また前記全物 体粗エッジ情報画像を生成する前記手段、 前記全物体形成エッジ情報画像を生成する前記 手段、 及び前記全物体領域の前記位置及び前記大きさを検出する前記手段は、 各々の内部 でも画素毎に並列に動作させることができる。 しかもこれらの前記手段は全て局所処理 によって実現される。 したがって前記視覚装置は前記全物体の形や大きさに依存すること なく、 高速に前記全物体領域数を数えることができる。 また色情報の分類などによって前 記全物体領域を抽出する場合に比べて、 前記エッジ情報によって前記背景から分離された 前記全物体領域は照明などの影響を受け難く、 しかも透明な前記全物体に対しても染色す ることなく、 前記エッジ情報は屈折や反射を利用することにより生成されるので、 前記視 覚装置の応用範囲は広い。 したがって前記全物体の計数に関する諸問題が好適に解決され る。
請求項 1記載の視覚装置と、 請求項 1記載の視覚装置に対して前記デジタル画像を振動 させる前記手段を追加した請求項 3記載の視覚装置とを組み合せた場合、 本発明は請求項 1記載の視覚装置と請求項 3記載の視覚装置との間で、 前記デジタル画像から前記移動 物体粗エツジ情報画像を生成する前記手段と、 前記振動画像から前記全物体粗ェッジ情報 画像を生成する前記手段と を共有することができ、 前記デジタル画像を用いて前記移動 物体粗ェッジ情報画像から前記移動物体形成ェッジ情報画像を生成する前記手段と、 前記 デジタル画像を用いて前記全物体粗ェッジ情報画像から前記全物体形成ェッジ情報画像を 生成する前記手段と、 を共有することができ、 前記移動物体形成エッジ情報画像によって 区分される前記移動物体領域の前記位置及び前記大きさを検出する前記手段と、 前記全 物体形成ェッジ情報画像によって区分される前記全物体領域の前記位置及び前記大きさを 検出する前記手段と、 を共有することができ、 前記移動物体領域数を数える前記手段と、 前記全物体領域数を数える前記手段と、 を共有することができ、 前記移動物体領域数を保 持する前記手段と、 前記全物体領域数を保持する前記手段と、 を共有することができる。 もしハードウェア量の制約があればこれらの前記手段を共有しても構わない。 もちろん共 有しなければ、 それだけ計数時間を短くすることができる。 また色情報の分類などによつ て前記移動物体領域及び前記全物体領域を抽出する場合に比べて、 前記エッジ情報は照明 などの影響を受け難く、 しかも透明な前記移動物体及び前記全物体に対しても染色するこ となく、 前記エッジ情報は屈折や反射を利用することにより生成されるので、 前記視覚装 置の応用範囲は広い。 したがって前記移動物体及び前記全物体の計数に関する諸問題が好 適に解決される。
一方で、 請求項 2記載の視覚装置と、 請求項 2記載の視覚装置に対して前記デジタル画 像を振動させる前記手段を追加した請求項 3記載の視覚装置とを組み合せた場合、 本発 明は請求項 2記載の視覚装置と請求項 3記載の視覚装置との間で、 前記デジタル画像か ら前記移動物体粗ェッジ情報画像を生成する前記手段と、 前記振動画像から前記全物体 粗エッジ情報画像を生成する前記手段と、 を共有することができ、 前記デジタル画像を用 いて前記移動物体粗ェッジ情報画像から前記移動物体形成ェッジ情報画像を生成する前記 手段と、 前記デジタル画像を用いて前記全物体粗ェッジ情報画像から前記全物体形成ェッ ジ情報画像を生成する前記手段と、 を共有することができ、 前記移動物体形成エッジ情報 画像を用いて前記背景から前記移動物体領域を分離する前記手段と、 前記全物体形成ェッ ジ情報画像を用いて前記背景から前記全物体領域を分離する前記手段と、 を共有すること ができ、 前記移動物体領域の前記位置及び前記大きさを検出する前記手段と、 前記全物体 領域の前記位置及び前記大きさを検出する前記手段と、 を共有することができ、 前記移動 物体領域数を数える前記手段と、 前記全物体領域数を数える前記手段と、 を共有すること ができ、 前記移動物体領域数を保持する前記手段と、 前記全物体領域数を保持する前記手 段と、 を共有することができる。 もしハードウェア量の制約があればこれらの前記手段を 共有しても構わない。 もちろん共有しなければ、 それだけ計数時間を短くすることができ る。 また色情報の分類などによって前記移動物体領域及び前記全物体領域を抽出する場合 に比べて、 前記エッジ情報によって前記背景から分離された前記移動物体領域及び前記全 物体領域は照明などの影響を受け難く、 しかも透明な前記移動物体及び前記全物体に対し ても染色することなく、 前記ェッジ情報は屈折や反射を利用することにより生成されるの で、 前記視覚装置の応用範囲は広い。 したがって前記移動物体及び前記全物体の計数に関 する諸問題が好適に解決される。
さらに請求項 1記載の視覚装置と、 請求項 1記載の視覚装置に対して前記デジタル画 像を振動させる前記手段を追加した請求項 3記載の視覚装置とを組み合せた視覚装置か、 又は請求項 2記載の視覚装置と、 請求項 2記載の視覚装置に対して前記デジタル画像を振 動させる前記手段を追加した請求項 3記載の視覚装置とを組み合せた視覚装置は、 前記移 動物体領域数と、 前記全物体領域数から前記移動物体領域数を引いた静止物体領域数と、 を保持する機能か、 又は前記移動物体の割合と、 前記全物体から前記移動物体を除いた静 止物体の割合と、 を保持する機能か、 を備えることができる。 前者の場合、 本発明は、 前 記全物体領域数を保持する前記手段において、 前記全物体領域数から前記移動物体領域数 を引くことで前記静止物体領域数を求めることができる。 そこで前記全物体領域数を保持 する前記手段において、 必要に応じて前記全物体領域数の代りに前記静止物体領域数を出 力することができる。 後者の場合、 本発明は、 前記移動物体領域数を保持する前記手段に おいて、 前記移動物体領域数を前記全物体領域数で割ることで前記移動物体の割合を求め ることができる。 そこで前記移動物体領域数を保持する前記手段において、 必要に応じて 前記移動物体領域数の代りに前記移動物体領域の割合を出力することができる。 また前記 全物体領域数を保持する前記手段において、 前記全物体領域数から前記移動物体領域数を 引くことで前記静止物体領域数を求めることができるので、 前記静止物体領域数を前記全 物体頜域数で割ることで前記静止物体の割合を求めることができる。 そこで前記全物体領 域数を保持する前記手段において、 必要に応じて前記全物体領域数の代りに前記静止物体 領域の割合を出力することができる。
なお請求項 1、 2及び 3記載の視覚装置において、 ビデオカメラによって撮影された前 記動画像は複数の前記フレーム画像を連続させることにより、 前記フレーム画像中の前記 移動物体が移動しているように見せかけている。 したがつてデジタルカメラやスキャナな どによって異なる時刻か異なる場所で作成された前記静止画像を連続させることにより、 前記静止画像中の前記移動物体が移動しているように見せかけることができる。 前記ビデ ォカメラの代りに前記デジタル力メラゃ前記スキヤナなどを用いることにより、 移動速度 が遅い前記移動物体の前記移動物体領域数を数える際に前記静止画像の撮影時刻の間隔 を容易に調整することができる。 またシャーレの中の全細胞の数を数えるといった必ずし も前記ビデオ力メラを必要としないような場合において、 前記ビデオ力メラの代りに髙解 像度の前記デジタルカメラを用いることができるので、 安くしかも精度の高い視覚装置を 実現することができる。 したがつて前記移動物体及び前記全物体の計数に関する諸問題が 好適に解決される。
請求項 4記載の発明は、 移動力メラによつて撮影された動画像中の任意物体に対して、 前記動画像のフレーム画像を取得する手段と、 前記フレーム画像をデジタル画像として順 次記憶する手段と、 前記デジタル画像から任意物体粗ェッジ情報画像を生成する手段と、 前記任意物体粗ェッジ情報画像によって区分される任意物体領域の位置及び大きさを検出 する手段と、 前記移動カメラの向き及び倍率を環境座標の位置に変換する手段と、 前記任 意物体領域の前記位置及び前記大きさを前記環境座標の前記位置に変換する手段と、 複 数の前記任意物体領域に対する前記環境座標の前記位置の中から 1つを選択する手段と、 外部からの制御命令を入力する手段と、 前記移動力メラを振動させる振動命令を生成する 手段と、 前記移動カメラが移動すべき前記環境座標の前記位置を制御する手段と、 前記移 動力メラを制御するカメラ命令を生成する手段と、 を有する視覚装置である。 前記移動力 メラが撮影した前記任意物体が適当な大きさで撮影されるように前記視覚装置は前記移 動力メラの前記向き及び前記倍率を調整する。 前記動画像から前記任意物体のエッジ情報 を生成し、 前記エッジ情報を縮退する一連の処理は、 全て局所処理によって実現される。 これにより前記視覚装置は前記任意物体の形や大きさに依存することなく、 高速に前記任 - 意物体を適切な大きさで撮影することができる。 また色情報の分類などによって前記任意 物体の領域を抽出する場合に比べて、 前記エッジ情報は照明などの影響を受け難いので、 前記視覚装置の応用範囲は広い。 したがって前記任意物体の撮影に関する諸問題が好適に 解決される。
請求項 5の発明は、 請求項 4記載の視覚装置に対して、 前記デジタル画像を用いて前記 任意物体粗ェッジ情報画像から前記任意物体形成ェッジ情報画像を生成する手段と、 前記 任意物体形成エッジ情報画像を用いて背景から前記任意物体領域を分離する手段と、 前記 任意物体領域を正規化する手段と、 任意物体正規化画像を保持する手段と、 前記任意物体 正規化画像を認識する手段と、 認識結果を保持する手段と、 前記環境座標で表された環境 地図を生成する手段と、 前記環境地図を保持する手段と、 前記環境地図における前記任意 物体の前記位置を推定する手段、 任意物体数を数える手段と、 前記任意物体数を保持す る手段と、 前記任意物体形成エッジ情報画像を幾何解析する手段、 を有する視覚装置であ る。 本発明の特徴は以下の通りである。 第一に前記動画像から前記任意物体の前記エッジ 情報を生成し、 前記エッジ情報を用いて前記背景から分離した前記任意物体領域を正規化 する一連の処理は、 全て局所処理によって実現される。 これにより前記視覚装置は前記任 意物体の形や大きさに依存することなく、 高速に前記任意物体正規化画像を生成すること ができるので、 前記視覚装置の応用範囲は広い。 したがって前記任意物体の抽出及び正規 化に関する諸問題が好適に解決される。 第二に、 前記動画像から前記任意物体の前記エツ ジ情報を生成し、 前記ェッジ情報を用いて前記背景から分離した前記任意物体領域を正規 化する一連の処理は、 全て局所処理によって実現される。 これにより前記視覚装置は前記 任意物体の形や大きさに依存することなく、 高速に前記任意物体正規化画像を生成するこ とができる。 しかも前記任意物体正規化画像は前記背景を含まないので、 前記任意物体正 規化画像を認識する方法は、 前記背景に囲まれた前記任意物体領域を認識する場合に比べ て、 前記背景や前記任意物体領域の前記位置及び前記大きさなどの影響を受け難いので、 前記視覚装置の応用範囲は広い。 したがって前記任意物体の認識に関する諸問題が好適に 解決される。 第三に、 前記任意物体正規化画像を認識した結果と前記移動カメラの前記向 き及び前記倍率から前記任意物体の種別と前記環境座標中の位置を表す環境データが作 成されるので、 前記視覚装置は前記環境データの集合である前記環境地図を作成するこ とができる。 前記環境地図は一定期間の前記環境デ一夕を含んでいるので、 前記任意物体 の前記種別毎に分布や移動状況を記録することができ、 前記視覚装置の応用範囲は広い。 したがって前記任意物体の記録に関する諸問題が好適に解決される。 第四に、 前記環境地 図を用いると、 未だ認識されていない前記任意物体の前記環境座標中の前記位置を求める ことができる。 また前記移動カメラが撮影可能な範囲に存在する前記任意物体の実際の位 置を推定することができるので、 前記視覚装置の応用範囲は広い。 したがって前記任意物 体の探索に関する諸問題が好適に解決される。 第五に、 前記環境地図に含まれる前記環境 データの中から特定の前記認識結果を示すものを抽出して数えることで、 前記視覚装置は 前記任意物体のうち特定の前記種別に属するものの数を数えることができるので、 前記視 覚装置の応用範囲は広い。 したがって前記任意物体の計数に関する諸問題が好適に解決さ れる。 第六に、 前記任意物体から生成した前記エッジ情報の大ざっぱな形状を解析するこ とにより、 前記任意物体正規化画像中の前記任意物体の前記種別を推定できるので、 前記 任意物体正規化画像を認識する前記手段はより高速で正確に前記任意物体正規化画像を 認識することができる。 また前記任意物体正規化画像中の前記任意物体が認識の対象でな い場合には、 前記任意物体正規化画像を認識する前記手段が前記認識結果を生成する前に 前記環境地図を生成することができるので、 前記視覚装置の応用範囲は広い。 したがって 前記任意物体の認識、 探索及び計数に関する諸問題が好適に解決される。
請求項 6の発明は、デジタル画像を振動させる手段を実現するデータ処理装置において 格子状に配置された配列演算ュニッ卜の各々に対して、 前記配列演算ュニットを初期化す る手段と、 入力すべき前記デジタル画像がなければ処理を終了する手段と、 前記デジタル 画像の各帯域画素値を入力する手段と、 前記デジタル画像の前記各帯域画素値を上下左右 に振動させる手段と、 振動画像の各帯域画素値を出力する手段と、 を備えたことを特徴と する視覚装置である。 つまり、 これは前記配列演算ユニットが提供する前記デジタル画像 の振動機能をデジタル技術で実現するためのアルゴリズムの実装形態である。 前記配列演 算ュニットを格子状に配置し、 前記配列演算ュニットを近傍同士相互に結合し、 前記配列 演算ュニッ卜の各パラメータの初期値を設定した後に、 前記デジタル画像を画素単位で適 宜入力し、 前記デジタル画像の各帯域画素値の振動から前記振動画像の各帯域画素値の 出力までを順次行い、 前記デジタル画像が入力されなくなるまで繰り返す。 これにより汎 用的なプロセッサを利用することができ、 前記パラメ一夕の修正を容易にすることができ る。
請求項 7の発明は、デジタル画像から粗エッジ情報画像を生成する手段を実現するデ一 夕処理装置において格子状に配置された配列演算ユニットの各々に対して、 前記配列演算 ユニットを初期化する手段と、 入力すべき前記デジタル画像がなければ処理を終了する手 段と、 前記デジタル画像の各帯域画素値を入力する手段と、 前記デジタル画像の前記各帯 域画素値を平滑化して平滑化画像の各帯域画素値を生成する手段と、 前記平滑化画像の前 記各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成する手段と、 前記対数 変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成する手段と、 前記鮮鋭化画像の前記各帯域画素値から 1入力前鮮鋭化画像の各帯域画素値を引いて時間 差分画像の各帯域画素値を生成する手段と、 前記鮮鋭化画像の前記各帯域画素値を前記 1 入力前鮮鋭化画像の前記各帯域画素値に置き換える手段と、 前記時間差分画像の前記各帯 域画素値に対してラプラシアンを計算して時間差分ラプラシアン画像の各帯域画素値を 生成する手段と、 前記時間差分ラプラシアン画像の前記各帯域画素値のゼロ点を抽出して 時間差分ゼロ点画像の各帯域画素値を生成する手段と、 前記時間差分ゼロ点画像の前記各 帯域画素値の最大値を求めて最大値時間差分ゼロ点画像の帯域画素値を生成する手段と、 前記鮮鋭化画像の前記各帯域画素値に対して前記ラプラシアンを計算してラブラシアン画 像の各帯域画素値を生成する手段と、 前記ラプラシアン画像の前記各帯域画素値の前記ゼ 口点を抽出してゼロ点画像の各帯域画素値を生成する手段と、 前記ゼロ点画像の前記各帯 域画素値の最大値を求めて最大値ゼ口点画像の帯域画素値を生成する手段と、 前記最大値 ゼ口点画像の前記帯域画素値と前記最大値時間差分ゼ口点画像の前記帯域画素値のうち大 きい方を求めて混成ゼロ点画像の帯域画素値を生成する手段と、 前記混成ゼロ点画像の孔 を除去して孔除去混成ゼロ点画像の帯域画素値を生成する手段と、 前記孔除去混成ゼロ点 画像の孤立点および孤立孔を除去してノィズ除去混成ゼ口点画像の帯域画素値を生成す る手段と、 前記ノイズ除去混成ゼロ点画像の前記各帯域画素値を反転して粗エッジ情報画 像の帯域画素値を生成する手段と、 前記粗エッジ情報画像の前記帯域画素値を出力する手 段と、 を備えたことを特徴とする視覚装置である。 つまり、 これは前記配列演算ユニット が提供する前記粗エッジ情報画像の生成機能をデジタル技術で実現するためのアルゴリズ ムの実装形態である。 前記配列演算ュニットを格子状に配置し、 前記配列演算ュニッ卜を 近傍同士相互に結合し、 前記配列演算ユニットの各パラメ一夕の初期値を設定した後に、 前記デジタル画像を画素単位で適宜入力し、 前記デジタル画像の平滑化から前記粗エッジ 情報画像の各帯域画素値の出力までを順次行い、 前記デジタル画像が入力されなくなるま で繰り返す。 これにより汎用的なプロセッサを利用することができ、 前記パラメ一夕の修 正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にある前記配列演算ュ ニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要 はない。 というのも、 近傍にある前記配列演算ユニットから各種前記画像の前記近傍画素 を受信することができない場合には、 受信待ちをしている前記配列演算ュニットは自分自 身の前記帯域画素値を代用することができるからである。 このとき前記配列演算ュニット が生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、 本発明で は、 殆んどのノイズは前記手段の各々において吸収されてしまうのである。 自分自身の前 記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同時に、 しかも簡単 に実現される。
請求項 8の発明は、 粗エツジ情報画像から形成ェッジ情報画像を生成する手段を実現す るデータ処理装置において格子状に配置された配列演算ユニットの各々に対して、 前記配 列演算ユニットを初期化する手段と、 入力すべきデジタル画像又は前記粗エッジ情報 ¾像 がなければ処理を終了する手段と、 前記デジ夕ル画像の各帯域画素値及び前記粗ェッジ情 報画像の帯域画素値を入力する手段と、 前記デジタル画像の前記各帯域画素値と前記粗 エッジ情報画像の前記帯域画素値を分離する手段と、 前記デジタル画像の前記各帯域画— 素値を平滑化して平滑化画像の各帯域画素値を生成する手段と、 前記平滑化画像の前記 各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成する手段と、 前記対数 変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成する手段と、 前記鮮鋭化画像の前記各帯域画素値に対してラプラシアンを計算してラプラシアン画像 の各帯域画素値を生成する手段と、 前記ラプラシアン画像の前記各帯域画素値のゼロ点を 抽出してゼロ点画像の各帯域画素値を生成する手段と、 前記ゼ口点画像の前記各帯域画素 値の最大値を求めて最大値ゼロ点画像の帯域画素値を生成する手段と、 前記最大値ゼロ点 画像の前記帯域画素値を反転して基礎ェッジ情報画像の帯域画素値を生成する手段と、 前 記基礎エッジ情報画像の前記帯域画素値に近づくように前記粗エッジ情報画像の帯域画素 値を整形する手段と、 前記粗エッジ情報画像の前記帯域画素値の線幅を補間して形成エツ ジ情報画像の帯域画素値を生成する手段と、 前記形成エッジ情報画像の前記帯域画素値を 出力する手段と、 を備えたことを特徴とする視覚装置である。 つまり、 これは前記配列演 算ュニットが提供する前記形成ェッジ情報画像の生成機能をデジタル技術で実現するため のァルゴリズムの実装形態である。 前記配列演算ュニットを格子状に配置し、 前記配列演 算ュニットを近傍同士相互に結合し、 前記配列演算ュニットの各パラメータの初期値を設 定した後に、 前記デジタル画像及び前記粗エッジ情報画像を画素単位で適宜入力し、 前記 デジタル画像と前記粗ェッジ情報画像の分離から前記形成ェッジ情報画像の各帯域画素値 の出力までを順次行い、 前記デジタル画像及び前記粗ェッジ情報画像が入力されなくなる まで繰り返す。 これにより汎用的なプロセッサを利用することができ、 前記パラメ一夕の 修正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にある前記配列演算 ュニッ卜から送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必 要はない。 というのも、 近傍にある前記配列演算ユニットから各種前記画像の前記近傍画 素を受信することができない場合には、 受信待ちをしている前記配列演算ユニットは自分 自身の前記帯域画素値を代用することができるからである。 このとき前記配列演算ュニッ 卜が生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、 本発明 では、 殆んどのノイズは前記手段の各々において吸収されてしまうのである。 自分自身の _ 前記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同時に、 しかも簡 単に実現される。
請求項 9の発明は、 物体領域の位置及び大きさを検出する手段を実現するデータ処理 装置において格子状に配置された配列演算ユニットの各々に対して、 前記配列演算ュニッ トを初期化する手段と、 入力すべき粗エッジ情報画像がなければ処理を終了する手段と、 前記粗エッジ情報画像の帯域画素値を入力する手段と、 前記粗エッジ情報画像の前記帯域 画素値を重複情報画像の帯域画素値に変換する手段と、 前記重複情報画像から計算した移 動量を移動量画像の帯域画素値に画像化する手段と、 前記移動量画像の前記帯域画素値が 指し示す移動位置に前記重複情報画像の前記帯域画素値を移動する手段と、 前記重複情報 画像の前記帯域画素値を前記重複情報画像の移動元の前記帯域画素値の合計に更新する手 段と、 前記重複情報画像の前記帯域画素値を出力する手段と、 を備えたことを特徴とする 視覚装置である。 つまり、 これは前記配列演算ュニットが提供する、 前記粗ェッジ情報画 像が指し示す前記物体領域の前記位置及び前記大きさを表す前記重複情報画像の生成機能 をデジタル技術で実現するためのアルゴリズムの実装形態である。 前記配列演算ュニット を格子状に配置し、 前記配列演算ユニットを近傍同士相互に結合し、 前記配列演算ュニッ トの各パラメータの初期値を設定した後に、 前記粗ェッジ情報画像を画素単位で適宜入力 し、 前記重複情報画像への変換から前記重複情報画像の各帯域画素値の出力までを順次 行い、 前記粗エッジ情報画像が入力されなくなるまで繰り返す。 これにより汎用的なプロ セッサを利用することができ、 前記パラメ一夕の修正を容易にすることができる。 なお前 記配列演算ユニットは、 近傍にある前記配列演算ュニットから送信されてくる各種前記画 像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。 というのも、 近傍にある前記 配列演算ユニットから各種前記画像の前記近傍画素を受信することができない場合には、 受信待ちをしている前記配列演算ユニットは 0に相当する画素値を代用することができる からである。 このとき前記配列演算ュニッ卜が生成する各種前記画像の画素に多少のノィ ズが乗ってしまう可能性があるが、 本発明では、 殆んどのノイズは前記手段の各々におい て吸収されてしまうのである。 この 0に相当する前記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同時に、 しかも簡単に実現される。
本発明は、 前記粗エッジ情報画像の代りに形成エッジ情報画像を入力することができ る。 前記形成ェッジ情報画像が指し示す前記物体領域の前記位置及び前記大きさを表す前 記重複情報画像を生成するために、 前記配列演算ユニットを格子状に配置し、 前記配列演 算ュニッ卜を近傍同士相互に結合し、 前記配列演算ュニットの各パラメータの初期値を設 定した後に、 前記形成エッジ情報画像を画素単位で適宜入力し、 前記重複情報画像への変 換から前記重複情報画像の各帯域画素値の出力までを順次行い、 前記形成ェッジ情報画 像が入力されなくなるまで繰り返す。 これにより汎用的なプロセッサを利用することがで き、 前記パラメ一夕の修正を容易にすることができる。 なお前記配列演算ユニットは、 近 傍にある前記配列演算ュニッ卜から送信されてくる各種前記画像の近傍画素の受信待ちを 必ずしも厳密に行う必要はない。 というのも、 近傍にある前記配列演算ユニットから各種 前記画像の前記近傍画素を受信することができない場合には、 受信待ちをしている前記配 列演算ュニットは 0に相当する前記帯域画素値を代用することができるからである。 この とき前記配列演算ュニッ卜が生成する各種前記画像の画素に多少のノイズが乗ってしまう 可能性があるが、 本発明では、 殆んどのノイズは前記手段の各々において吸収されてしま うのである。 この 0に相当する前記帯域画素値を代用する手段により、 辺縁処理とタイム アウト処理が同時に、 しかも簡単に実現される。
また本発明は、 前記粗エッジ情報画像の代りに前記物体領域画像を入力することができ る。 前記物体領域画像が指し示す前記物体領域の前記位置及び前記大きさを表す前記重 複情報画像を生成するために、 前記配列演算ユニットを格子状に配置し、 前記配列演算ュ ニットを近傍同士相互に結合し、 前記配列演算ュニットの各パラメ一夕の初期値を設定し た後に、 前記物体領域画像を画素単位で適宜入力し、 前記重複情報画像への変換から前記 重複情報画像の各帯域画素値の出力までを順次行い、 前記物体領域画像が入力されなくな るまで繰り返す。 これにより汎用的なプロセッサを利用することができ、 前記パラメータ の修正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にある前記配列演 算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う 必要はない。 というのも、 近傍にある前記配列演算ユニットから各種前記画像の前記近傍 画素を受信することができない場合には、 受信待ちをしている前記配列演算ユニットは 0 に相当する前記帯域画素値を代用することができるからである。 このとき前記配列演算 ュニットが生成する各種前記画像の画素に多少のノィズが乗ってしまう可能性があるが、 本発明では、 殆んどのノイズは前記手段の各々において吸収されてしまうのである。 この 0に相当する前記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同時 に、 しかも簡単に実現される。
請求項 1 0の発明は、 物体領域を正規化する手段を実現するデータ処理装置において 格子状に配置された配列演算ュニットの各々に対して、 前記配列演算ュニットを初期化す る手段と、 入力すべき物体領域画像又はデジタル画像がなければ処理を終了する手段と、 前記物体領域画像の帯域画素値及び前記デジタル画像の各帯域画素値を入力する手段と、 前記物体領域画像の前記帯域画素値と前記デジタル画像の前記各帯域画素値を分離して 更新物体領域画像の帯域画素値及び更新画像の各帯域画素値を生成する手段と、 前記更新 物体領域画像から計算した移動量を移動量画像の帯域画素値に画像化する手段と、 前記移 動量画像の前記帯域画素値が指し示す移動位置の重複数に従い移動可能画像の帯域画素 値を生成する手段と、 前記移動可能画像の判定に従い前記更新物体領域画像の前記帯域画 素値を前記移動位置に移動する手段と、 前記更新物体領域画像の前記帯域画素値の移動に 合わせて前記更新画像の前記各帯域画素値を移動する手段と、 前記物体領域に含まれない 前記更新物体領域画像の前記帯域画素値に対して前記物体領域に含まれる近傍帯域画素 値の平均値で補間する手段と、 前記更新物体領域画像の前記帯域画素値の補間に合わせて 前記更新画像の前記各帯域画素値を補間する手段と、 前記更新画像を補間して生成した正 規化画像の各帯域画素値を出力する手段と、 を備えたことを特徴とする視覚装置である。 つまり、 これは前記配列演算ユニットが提供する、 前記正規化画像の生成機能をデジタル 技術で実現するためのアルゴリズムの実装形態である。 前記配列演算ュニットを格子状に 配置し、 前記配列演算ュニッ卜を近傍同士相互に結合し、 前記配列演算ュニットの各パラ メータの初期値を設定した後に、 前記物体領域画像及び前記デジタル画像を画素単位で適 宜入力し、 前記物体領域画像と前記デジタル画像の分離から前記正規化画像の各帯域画素 値の出力までを順次行い、 前記物体領域画像及び前記デジタル画像が入力されなくなるま で繰り返す。 これにより汎用的なプロセッサを利用することができ、 前記パラメータの修 正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にある前記配列演算ュ ニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必 要はない。 というのも、 近傍にある前記配列演算ユニットから各種前記画像の前記近傍画 素を受信することができない場合には、 受信待ちをしている前記配列演算ユニットは 0に 相当する画素値を代用することができるからである。 このとき前記配列演算ュニットが生 成する各種前記画像の画素に多少のノイズが乗ってしまう可能性があるが、 本発明では、 殆んどのノイズは前記手段の各々において吸収されてしまうのである。 この 0に相当する 前記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同時に、 しかも簡 単に実現される。
請求項 1 1の発明は、 正規化画像を認識する手段のうちパターンマッチングを実現する データ処理装置において格子状に配置された配列演算ユニットの各々に対して、 前記配列 演算ュニットを格子状に配置する手段と、 前記配列演算ュニットを初期化する手段と、 入 力すべきテンプレート画像がなくなるまで前記テンプレート画像の帯域画素値を入力す る手段と、 入力すべき前記正規化画像がなければ処理を終了する手段と、 前記正規化画像 の帯域画素値を入力する手段と、 マッチング結果を計算する手段と、 マッチング結果画像 を更新する手段と、 前記マッチング結果画像の帯域画素値を出力する手段と、 を備えたこ とを特徴とする視覚装置である。 つまり、 これは前記画像認識手段のうち前記配列演算ュ ニッ卜が提供するパターンマッチングをデジタル技術で実現するためのアルゴリズムの実 装形態である。 前記配列演算ュニットを格子状に配置し、 前記配列演算ュニットを近傍同 士相互に結合し、 前記配列演算ユニットの各パラメータの初期値を設定した後に、 前記テ ンプレート画像及び前記正規化画像を画素単位で適宜入力し、 前記マッチング結果の計算 から前記マッチング結果画像の各帯域画素値の出力までを順次行い、 前記正規化画像が入 力されなくなるまで繰り返す。 これにより汎用的なプロセッサを利用することができ、 前. 記パラメ一夕の修正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にあ る前記配列演算ユニットから送信されてくる各種前記画像の近傍画素の受信待ちを必ずし も厳密に行う必要はない。 というのも、 近傍にある前記配列演算ユニットから各種前記画 像の前記近傍画素を受信することができない場合には、 受信待ちをしている前記配列演算 ユニットは自分自身の前記帯域画素値を代用することができるからである。 このとき前記 配列演算ュニットが生成する各種前記画像の画素に多少のノイズが乗ってしまう可能性が あるが、 本発明では、 殆んどのノイズは前記手段の各々において吸収されてしまうのであ る。 自分自身の前記帯域画素値を代用する手段により、 辺縁処理とタイムアウト処理が同 時に、 しかも簡単に実現される。
請求項 1 2の発明は、 形成エッジ情報画像を用いて物体領域を分離する手段を実現する データ処理装置において格子状に配置された配列演算ユニットの各々に対して、 前記配列 演算ユニットを格子状に配置する手段と、 前記配列演算ユニット中の非線形振動子と、 前 記非線形振動子の近傍にある前記非線形振動子とを結合値で接続する手段と、 前記配列 演算ュニットを初期化する手段と、 入力すべき前記形成エッジ情報画像がなければ処理を 終了する手段と、 前記形成エッジ情報画像の帯域画素値を入力する手段と、 外乱を計算す る手段と、 前記非線形振動子の近傍入力合計を計算する手段と、 前記非線形振動子のパラ メータを計算する手段と、 前記非線形振動子の出力を計算する手段と、 輪郭パラメ一夕を 計算する手段と、 境界パラメ一夕を計算する手段と、 前記非線形振動子によって分離され た前記物体領域を含む物体領域画像の帯域画素値を出力する手段と、 を備えたことを特徴 とする視覚装置である。 つまり、 これは前記配列演算ユニットが提供する前記物体領域画 像の生成機能をデジタル技術で実現するためのアルゴリズムの実装形態である。 前記配列 演算ュニットを格子状に配置し、 前記配列演算ュニットを近傍同士相互に結合し、 前記配 列演算ユニットの各パラメ一夕の初期値を設定した後に、 前記形成エッジ情報画像を画素 単位で適宜入力し、 前記外乱の計算から前記物体領域画像の各帯域画素値の出力までを 順次行い、 前記形成エッジ情報画像が入力されなくなるまで繰り返す。 これにより汎用的 なプロセッサを利用することができ、 前記パラメ一夕の修正を容易にすることができる。 なお前記配列演算ユニットは、 近傍にある前記配列演算ュニッ卜から送信されてくる前記 各パラメータや各種前記画像の近傍画素の受信待ちを必ずしも厳密に行う必要はない。 と いうのも、 近傍にある前記配列演算ュニットから前記各パラメ一夕や各種前記画像の前記 近傍画素を受信することができない場合には、 受信待ちをしている前記配列演算ュニット は自分自身のパラメ一夕値や画素値を代用することができるからである。 このとき前記配 列演算ュニッ卜が生成する前記各パラメ一夕や各種前記画像の画素に多少のノイズが乗つ てしまう可能性があるが、 本発明では、 殆んどのノイズは前記手段の各々において吸収さ れてしまうのである。 自分自身の前記パラメ一夕値や前記帯域画素値を代用する手段によ り、 辺縁処理とタイムアウト処理が同時に、 しかも簡単に実現される。
請求項 1 3の発明は、データを入力する手段と、 前記データを順次記憶する手段と、 配 列演算ユニット間で前記データを転送する手段と、 前記デ一夕を用いて計算する手段と、 前記データを出力する手段と、 を有する前記配列演算ユニットに対して、 前記配列演算ュ ニットを格子状に配置する手段と、 前記配列演算ュニットの各々の位置関係から近傍同士 を相互結合する手段と、 隣接する前記配列演算ユニット間で前記デ一夕を通信する手段 と、 前記配列演算ユニットの各々を独立に動作させる手段と、 を特徴とする視覚装置であ る。 前記データを入力する前記手段と、 前記データを順次記憶する前記手段と、 前記配列 演算ュニット間で前記データを転送する前記手段と、 前記デ一夕を用いて計算する前記手 段と、 前記データを出力する前記手段に関して、 各々の前記配列演算ユニットは格子状に 配列された場所に関わらず同じ動作ステップを有している。 これにより前記配列演算ュ ニットをハードウェアによって実装する場合には、 前記配列演算ユニットを実現する同じ 回路を平面上に規則正しく配置することができ、 それらの回路は隣接するもののみを接続 すれば良いので配線量も少なくて済み、 取り扱う画像のサイズに合わせて回路の数を増減 させるだけで良く、 しかもそれぞれの回路は並列に動作させられる。 また前記配列演算ュ ニットをソフトウェアによって実装する場合には、 前記配列演算ュニットを格子状に並べ た視覚装置を並列性の高いプログラムによって実行することができる。
請求項 1 4の発明は、 配列演算ユニットは、 入力したデ一夕を処理する手段を備えたプ 口セッサと、 前記データを処理するプログラムと変数を記憶するためのメモリと、 隣接す る前記配列演算ユニットと通信するためのコントローラと、 を備え、 前記コントローラ は、 入力した前記データを前記メモリに記憶する手段と、 前記メモリ中の前記変数を隣接 する前記配列演算ユニットに送信する手段と、 隣接する前記配列演算ユニットから送信さ れた前記変数を前記メモリに記憶する手段と、 を備えたことを特徴とする視覚装置であ る。 つまり、 前記配列演算ユニットをハードウェアで実装するための回路である。 前記配 列演算ユニットは、 入力された前記データを処理するための汎用プロセッサと、 前記デー 夕を処理するプログラムと変数を記憶するための汎用メモリを用いることができる。 前記 コントローラは、 前記配列演算ユニットが最大 4近傍と相互結合している場合には、 隣接 した前記配列演算ュニッ卜のみに変数を送信するだけで良いが、 前記配列演算ュニットが 8近傍以上と相互結合しなければならない場合、 4近傍に含まれない前記配列演算ュニッ 卜の前記変数は、 一旦隣りの前記配列演算ユニットに送信されるので、 前記変数を自分に 再度送信してもらうことで受信することができる。 また前記メモリ中の前記各変数を隣接 する前記配列演算ュニットに送信する前記手段で自分の前記変数を 4近傍に含まれない前 記配列演算ユニットに送信することもできる。 これにより前記配列演算ユニットは、 ハー ドウエアとしては隣接した前記配列演算ュニットのみと結線するにも関わらず、 8近傍以 上の前記配列演算ュニットと適切な前記データを通信することができる。 また前記課題の うちハードウェアの実装及び実時間処理に関する諸問題が好適に解決される。 図面の簡単な説明
第 1図は、 フレーム画像から移動物体数を数える視覚装置のブロック図である。 第 2図 は、 物体 Z背景分離手段を用いてフレーム画像から移動物体数を数える視覚装置のブ口ッ ク図である。 第 3図は、 フレーム画像から全物体数を数える視覚装置のブロック図であ る。 第 4図は、 物体 背景分離手段を用いてフレーム画像から全物体数を数える視覚装置 のブロック図である。 第 5図は、 移動物体と静止物体の割合を求める視覚装置のブロック 図である。 第 6図は、 移動カメラを制御する視覚装置のブロック図である。 第 7図は、 物 体の正規化画像を生成する視覚装置のブロック図である。 第 8図は、 物体の認識結果を出 力する視覚装置のブロック図である。 第 9図は、 環境地図を生成する視覚装置のブロック 図である。 第 1 0図は、 環境地図を用いて移動カメラを制御する視覚装置のブロック図で ある。 第 1 1図は、 任意物体数を数える視覚装置のブロック図である。 第 1 2図は、 幾何 解析により高速化した視覚装置のブロック図である。 第 1 3図は、 配列演算ユニットを格 子状に配置されたブロック図である。 第 1 4図は、 本実施形態の画像記憶手段のアルゴリ ズムを示すフローチャートである。 第 1 5図は、 本実施形態の画像振動手段のァルゴリズ ムを示すフローチャートである。 第 1 6図は、 本実施形態のエッジ情報生成手段のァルゴ リズムを示すフローチャートである。 第 1 7図は、 デジタル画像を用いて粗エッジ情報を 形成エッジ情報に形成する場合の説明図である。 第 1 8図は、 本実施形態のエッジ情報形 成手段のアルゴリズムを示すフローチャートである。 第 1 9図は、 低解像度デジタル画像 から生成された低解像度粗エッジ情報を形成エッジ情報に形成する場合の説明図である。 第 2 0図は、 低解像度デジタル画像から生成された低解像度粗エッジ情報の領域を切り出 してから形成エッジ情報に形成する場合の説明図である。 第 2 1図は、 エッジ情報画像中 の物体の位置及び大きさを検出する場合の説明図である。 第 2 2図は、 本実施形態の位置 /大きさ検出手段のアルゴリズムを示すフローチャートである。 第 2 3図は、 物体領域画 像中の物体の位置及び大きさを検出する場合の説明図である。 第 2 4図は、 デジタル画 像の切出領域を正規化する場合の説明図である。 第 2 5図は、 本実施形態の領域正規化 手段のアルゴリズムを示すフローチャートである。 第 2 6図は、 本実施形態の正規化画像 保持手段のアルゴリズムを示すフローチャートである。 第 2 7図は、 正規化画像に対して テンプレート画像の中からパターンマッチングをする場合の説明図である。 第 2 8図は、 本実施形態の画像認識手段のうちパターンマッチングのアルゴリズムを示すフローチヤ一 トである。 第 2 9図は、 三角形のエッジ情報が三角形の内側領域と外側領域に分離する状 態を示す説明図である。 第 3 0図は、 本実施形態の物体/背景分離手段のアルゴリズムを 示すフローチャートである。 第 3 1図は、 破線状態の三角形のエッジ情報が破線三角形の 内側領域と外側領域に分離する状態を示す説明図である。 第 3 2図は、 三角形を 2つ重ね たエッジ情報が 2つの三角形領域と背景領域に分離する状態を示す説明図である。 第 3 3 図は、 2つの円形物体領域を重ねた時の破線状態のエッジ情報が 2つの円形領域と背景 領域に分離した状態を示す説明図である。 第 3 4図は、 配列演算ユニットの内部構造のブ ロック図である。 第 3 5図は、 コントローラのブロック図である。 第 3 6図は、 フラグデ コーダの入出力信号を示す説明図である。 第 3 7図は、 フラグエンコーダの入出力信号を 示す説明図である。 第 3 8図は、 プロセッサがコントローラを介して隣接する配列演算ュ ニットにデ一夕を送信するアルゴリズムを示すフローチャートである。 第 3 9図は、 コン トロ一ラが隣接する配列演算ュニットからデータを受信するアルゴリズムを示すフロー チャートである。 第 4 0図は、 プロセッサが上入力レジス夕からデ一夕を受信するァルゴ リズムを示すフローチャートである。 発明を実施するための最良の形態
以下、 第 1図ないし第 1 2図に示す 1 2個の視覚装置の実施形態を説明する。 これらの 実施形態は、 ビデオカメラの撮像信号(フレーム画像 1 ) を受信して適切なフォーマット とサイズのデジタル画像 1 1 1に変換する画像取得手段 1 1 (第 1図参照) と、デジタル 画像 1 1 1を一定期間記憶する画像記憶手段 1 2 (第 1図参照) と、 デジタル画像 1 1 1 をデジタル回路を用いて振動させる画像振動手段 1 3 (第 3図参照) と、 2つのデジ夕 ル画像 1 1 1から移動物体 2又は静止物体 3の粗エッジ情報 1 1 2を生成するエッジ情報 生成手段 1 4 (第 1図及び第 3図参照) と、 粗エツジ情報 1 1 2をより的確で明瞭な形成 エッジ情報 1 1 4に形成するエッジ情報形成手段 1 5 (第 1図参照) と、 形成エッジ情報 1 1 4によって区分される領域を分離する物体 Z背景分離手段 1 6 (第 2図参照) と、 形 成エッジ情報 1 1 4によって区分されたか若しくは分離された各領域の位置及び大きさを 検出する位置ノ大きさ検出手段 1 7 (第 1図及び第 2図参照) と、 適当な大きさがある領 域の位置から領域数を数える画素計数手段 1 8 (第 1図参照) と、 領域数又は領域数の割 合を出力する画素数保持手段 1 9 (第 1図及び第 5図参照) 等を利用したものであり、 図 面を参照して説明する。
第 1図に示すように、 移動物体計数部 1 0 1は、 ビデオカメラで撮影された動画像のフ レーム画像 1を画像取得手段 1 1に入力して、 画像記憶手段 1 2、 エッジ情報生成手段 1 4、 エッジ情報形成手段 1 5、 位置 大きさ検出手段 1 7、 画素計数手段 1 8、 画素数保 持手段 1 9の順に受け渡すことで、 フレーム画像 1に写っている移動物体 2の数を出力す る。 なお、 フレーム画像 1はデジタルカメラで連続撮影された静止画像でも良い。
画像取得手段 1 1がビデオカメラから動画像のフレーム画像 1を入力する際に、 動画像 がアナログ信号の場合は、 一般的なキヤプチャ一ボードを用いることによりフレーム画像 1を AZD変換によりデジタル信号に変換してデジタル画像 1 1 1にする。 なお特に C C D撮像素子などの電圧を直接入力できるならば、 AZD変換により適当なビット数のデジ タル信号に変換するだけで良い。 動画像がデジタル信号の場合は、 圧縮されていれば展開 し、 圧縮されていなければそのまま入力する。 これにより動画像中任意のフレーム画像 1 を切り出すことができるので、 このフレーム画像 1を切り出してデジタル画像 1 1 1にす る。 変換されたデジタル画像 1 1 1は適当なフォーマットに従いながら任意の画像サイズ を有しているので、 画像取得手段 1 1は画素単位で画像デ一夕を参照できるフォーマット に変換し、 移動物体計数部 1 0 1で必要とする画像サイズ分を切り出し、 デジタル画像 1 1 1として出力する。 もし画像取得手段 1. 1がデジタル画像 1 1 1の全ての画素を並列に 出力することができれば、 画像取得手段 1 1から画像記憶手段 1 2への通信は、 画素毎に 並列に行うことができる。
画像記憶手段 1 2が画像取得手段 1 1からデジタル画像 1 1 1を入力すると、移動物体 計数部 1 0 1の時間分解能若しくは各手段の計算能力に合わせて一定時間デジタル画像 1 1 1を記憶する。 つまりこの一定時間中にデジタル画像 1 1 1が入力されても画像記憶 手段 1 2は記憶画像を変更することがないので、 後に続く各手段は異なるタイミングで同 じデジタル画像 1 1 1を入力することができる。 しかも画像記憶手段 1 2はデジタル画像 1 1 1に対して画像処理を施さないので、デジタル画像 1 1 1の全ての画素に対して二次 元の位相関係を保ったまま記憶している。 もし画像記憶手段 1 2がデジタル画像 1 1 1の 全ての画素を並列に出力することができれば、 画像記憶手段 1 2からエッジ情報生成手段 1 4への通信は、 画素毎に並列に行うことができる。
エッジ情報生成手段 1 4が画像記憶手段 1 2からデジタル画像 1 1 1を入力すると、 直 前に入力されたデジタル画像 1 1 1と比較することにより移動物体 2の粗エッジ情報画像 1 1 3を生成する。 エッジ情報生成手段 1 4は画素毎に近傍処理のみで粗エッジ情報画像 1 1 3を生成することができるので、 並列化に向いている。 もしエッジ情報生成手段 1 4 が粗エッジ情報画像 1 1 3の全ての画素を並列に出力することができれば、 エッジ情報生 成手段 1 4からエッジ情報形成手段 1 5への通信は、 画素毎に並列に行うことができる。 エッジ情報形成手段 1 5がエッジ情報生成手段 1 4から粗エッジ情報画像 1 1 3を入力 すると、 画像記憶手段 1 2で記憶されていたデジタル画像 1 1 1を参照して、 粗エッジ情 報画像 1 1 3より的確で明瞭な移動物体 2の形成エッジ情報画像 1 1 5を生成する。 エツ ジ情報形成手段 1 5は画素毎に近傍処理のみで形成エッジ情報画像 1 1 5を生成すること ができるので、 並列化に向いている。 もしエッジ情報形成手段 1 5が形成エッジ情報画像 1 1 5の全ての画素を並列に出力することができれば、 エッジ情報形成手段 1 5から位置 大きさ検知手段 1 7への通信は、 画素毎に並列に行うことができる。
位置 大きさ検出手段 1 7がエッジ情報形成手段 1 5から形成エッジ情報画像 1 1 5を 入力すると、 形成エッジ情報 1 1 4によって指し示された移動物体 2の領域の位置及び大 きさを検出する。 位置/大きさ検出手段 1 7は画素毎に近傍処理のみで移動物体 2の領 域の位置及び大きさの検出結果を表す重複情報画像 1 3 2を生成することができるので、 並列化に向いている。 もし位置/大きさ検出手段 1 7が重複情報画像 1 3 2の全ての画素 を並列に出力することができれば、 位置ノ大きさ検出手段 1 7から画素計数手段 1 8への 通信は、 画素毎に並列に行うことができる。
画素計数手段 1 8が位置 Z大きさ検出手段 1 7から重複情報画像 1 3 2を入力すると、 適当な大きさの移動物体 2の領域の位置を表す画素の数を数える。 この処理は並列処理よ りも逐次処理で行う方が便利である。 そのため重複情報画像 1 3 2の各画素は線形メモリ に記憶される。 移動物体 2の領域の位置を表す画素の数は画素計数手段 1 8から画素数保 持手段 1 9へ出力される。
画素数保持手段 1 9が画素計数手段 1 8から画素数を入力すると、 画素数を 2の補数表 現や浮動小数点表現など出力先が必要とする形式に変換して、 必要な期間出力する。 つま り移動物体計数部 1 0 1が移動物体数を出力することができる。
前記各手段が独立したハードウェアによって実装されれば並列に計算することができる ので、 移動物体計数部 1 0 1は実時間性を有することができる。 したがって移動速度が速 い物体の数を数える際や、 大量の動画像を短時間で処理する場合には適している。 また、 幾つかの手段が 1つのプロセッサ上でソフトウェアによって実装されれば、 計算速度は遅 くなる代りに安価に製造することができる。 したがつて計数結果が出るまでに数分以上 掛つても構わないような応用例に向いている。
さて、 エッジ情報形成手段 1 5が生成した形成エッジ情報画像 1 1 5を用いて位置 Z大 きさ検出手段 1 7が移動物体 2の領域の位置及び大きさを検出した場合、 移動物体 2の密 度によっては移動物体 2の領域の位置を表す画素の数が移動物体 2の数と異なる可能性 がある。 主な原因は、 形成エッジ情報 1 1 4が移動物体 2のエッジを正確に抽出している とは限らないことと、 位置 大きさ検出手段 1 7が形成エッジ情報 1 1 4から移動物体 2 の形を判別しないことである。 したがって移動物体 2の密度が高くなると、 異なる移動物 体 2から生成された形成エッジ情報 1 1 4が組み合わさって、 存在していない物体のエツ ジ情報と混同してしまう場合がある。 この問題を解決するためには形成エッジ情報 1 1 4 から移動物体 2の形を判別すればよい訳だが、 従来の幾何解析方法では大域処理となる ために計算量が多くなり、 判別結果の精度を上げると計算時間が指数関数的に長くなる。 そこで近傍処理によりこの問題を解決する手段として、 物体 Z背景分離手段 1 6 (第 2図 参照) を用いることができる。
物体/背景分離手段 1 6はエッジ情報形成手段 1 5から形成エッジ情報画像 1 1 5を入 力すると、 物体領域 1 4 1に含まれる画素と背景に含まれる画素を異なるグループに分離 して、 分離結果をグループ単位で順次出力する。 なお物体領域 1 4 1が隣接しているにも 関わらず形成エッジ情報 1 1 4により明確に区別される場合、 物体 Z背景分離手段 1 6は これらの物体領域を異なるグループに分離することができる。 したがってグループの数は 3以上になることもある。 物体/背景分離手段 1 6は画素毎に近傍処理のみで物体領域 1 4 1と背景を分離することができるので、 並列化に向いている。 もし物体 Z背景分離手段 1 6が物体領域画像 1 4 2の全ての画素を並列に出力することができれば、 物体 背景分 離手段 1 6から位置 大きさ検出手段 1 7への通信は、 画素毎に並列に行うことができ る。
そこで第 2図に示すように、 物体 背景分離手段 1 6を用いることで、 近傍処理のみで 形成エッジ情報 1 1 4を補完しながら移動物体 2の領域とその他の背景領域を分離するこ とができる。 このとき移動物体 2の領域が円形に類似していれば、 言い換えれば移動物体 2の領域に凹凸が少なければ、 位置 大きさ検出手段 1 7は一定の大きさの領域のみを抜 き出して位置を特定することができる。 したがつて移動物体 2が円形に類似していること が事前に判っていれば、 物体/背景分離手段 1 6を用いることで画素計数手段 1 8は特定 の大きさの移動物体 2の領域の位置を表す画素の数を数えることができる。 つまり移動物 体計数部 1 0 1はより精度の高い移動物体数を出力することができる。
ここまでは動画像の 2つ以上のフレーム画像 1中の移動物体 2の数を数える際に、 移動 物体計数部 1 0 1がどのように動作するのかを説明してきた。 次に動画像の 1つのフレー ム画像 1中の移動物体 2と静止物体 3の総数、 つまり全物体数を数える場合を説明する。 まず基本的な動作は前述した動画像のフレーム画像 1を用いた移動物体 2の数を数え る場合と同じである。 つまりフレーム画像 1中の静止物体 3を適当な方法で見かけ上フ レーム画像 1中の移動物体 2に置き換えてしまえば良い。 そうなれば静止物体 3の粗エツ ジ情報 1 1 2が生成されるので、 移動物体計数部 1 0 1は静止物体 3の数も数えることが できる。 静止物体 3を移動物体 2に見せ掛ける方法として最も簡単なものが、 振動台など を用いてビデオカメラ (デジタルカメラ)、 若しくは静止物体 3自体を細かく振動させる ことである。 しかしながらこれらの方法は物理的な機構を必要とするため、 移動物体計数 部 1 0 1が高価になったり複雑になったりする。 一方で物理的な機構を利用しない手段と して画像振動手段 1 3 (第 3図参照) がある。
画像振動手段 1 3は画像取得手段 1 1からデジタル画像 1 1 1を入力すると、デジタル 画像 1 1 1中で静止物体 3が 3画素前後の範囲で上下左右に振動するように、 画像単位で 一斉に、 又は画素単位で個別に移動する。 もし画像振動手段 1 3がデジタル画像 1 1 1の 全ての画素を並列に出力することができれば、 画像振動手段 1 3からエッジ情報生成手段 1 4への通信は、 画素毎に並列に行うことができる。
そこで第 3図に示すように、 画像振動手段 1 3は、 画像取得手段 1 1で生成されたデジ タル画像 1 1 1中の静止物体 3を 3画素前後の範囲で上下左右に振動させる。 これにより エッジ情報生成手段 1 4は静止物体 3を移動物体 2と見なして、 静止物体 3の粗エッジ情 報 1 1 2を生成することができるので、 全物体計数部 1 0 2は移動物体 2と静止物体 3の 総数、 つまり全物体数を数えることができる。
さらに移動物体 2と静止物体 3の如何に関わらず、 物体 Z背景分離手段 1 6は形成エツ ジ情報 1 1 4のみによって物体領域 1 4 1と背景領域を分離する。 そこで移動物体 2及び 静止物体 3が円形に類似していることが事前に判っていれば、 第 4図に示すように、 エツ ジ情報形成手段 1 5が生成した形成エッジ情報画像 1 1 5を物体 背景分離手段 1 6に入 力し、 物体 Z背景分離手段 1 6が生成した物体領域画像 1 4 2を位置/大きさ検出手段 1 7に入力することにより、 位置/大きさ検出手段 1 7は特定の大きさの移動物体 2及び静 止物体 3の領域の位置を表す画素の数を数えることができる。 つまり全物体計数部 1 0 2 はより精度の高い全物体数を出力することができる。
さて、 ここまで記述してきたように、 視覚装置は動画像中の移動物体 2の数を数える移 動物体計数部 1 0 1と殆ど同じ手段を備えた全物体計数部 1 0 2を用いて、 動画像のフ レーム画像 1中の移動物体 2と静止物体 3の総数を数えることができる。 そこで 1つの視 覚装置を用いて移動物体 2と静止物体 3の数を並列に数える方法を考える。 このとき移動 物体 2と静止物体 3の数が求まるのならば、 全物体に対する移動物体 2の割合、 又は静止 物体 3の割合を計算することは非常に容易である。 そこで移動物体 2と静止物体 3の割合 を求めるための視覚装置についても説明する。
移動物体 2と全物体の数を求め、かつ移動物体 2と静止物体 3の割合を求める視覚装置 の全体的な構成は、 第 5図に示す通り、 大きく分けて移動物体計数部 1 0 1と全物体計数 部 1 0 2からなる。 移動物体計数部 1 0 1と全物体計数部 1 0 2は各々前述の手段から構 成されている。 なお移動物体計数部 1 0 1と全物体計数部 1 0 2の画像取得手段 1 1及 び画像記憶手段 1 2は全く同じ動作をするので、 第 5図では画像取得手段 1 1及び画像 記憶手段 1 2を共有している。 したがって重要なことは、 移動物体計数部 1 0 1の画素数 保持手段 1 9が全物体計数部 1 0 2の画素計数手段 1 8から全物体数を入力し、 全物体 計数部 1 0 2の画素数保持手段 1 9が移動物体計数部 1 0 1の画素計数手段 1 8から移 動物体数を入力することで、 割合切替信号など外部からの信号により移動物体 2と静止 物体 3の割合を計算して浮動小数点表記などに変換するよう切り替えられることである。 当然の事ながら移動物体 2と静止物体 3の割合を計算する必要がないか、 又は別の装置に より実現するならば、 このような機能を画素数保持手段 1 9に加える必要はない。 逆に、 移動物体数と静止物体数を同時に求める場合には、 対応する機能を画素数保持手段 1 9に 追加すれば良い。 画素数保持手段 1 9に汎用プロセッサを用いることにより、 視覚装置は 用途に応じてこのような変更を自由に行うことができる。
さて、 ここまで説明してきたように、 移動物体計数部 1 0 1及び全物体計数部 1 0 2か ら構成される、 請求項 1から請求項 3までに記載された視覚装置は、 ビデオカメラで撮影 されたフレーム画像 1中の移動物体 2及び静止物体 3の数を数えるための装置である。 し たがつて移動物体 2及び静止物体 3がフレーム画像 1に収まつていれば、 これらの視覚装 置は移動物体 2及び静止物体 3の数を数えることができる。 しかしながら一旦移動物体 2 及び静止物体 3がフレーム画像 1から外れてしまうとこれらの視覚装置は移動物体 2及 び静止物体 3の数を数えることができなくなってしまう。 そこで以下では、 移動カメラ 1 0 (第 6図参照) を用いて、 常時移動物体 2及び静止物体 3を探索しながら数を数える、 請求項 4及び請求項 5記載の視覚装置について説明する。
まず移動カメラ 1 0は水平方向及び垂直方向に移動する機構を備え、 外部から移動角度 を制御する命令を入力することにより、 各々パン及びチルトをすることができるものとす る。 また移動カメラ 1 0は撮影画像の倍率を変更する機構を備え、 外部から倍率を制御す る命令を入力することにより、 ズームをすることができるものとする。 したがって移動力 メラ 1 0は外部からの命令によりカメラ自体を細かく振動させることができる。 これによ り移動カメラ 1 0が撮影した動画像のフレーム画像 1はブレを生じ、 フレーム画像 1中の 物体はあたかも振動しているように撮影される。 つまり移動カメラ 1 0を用いると、 全物 体計数部 1 0 2の画像振動手段 1 3を用いることなく移動物体計数部 1 0 1のみで全物 体の領域を数えることができる。 この方法は移動カメラ 1 0の物理的機構を使うために処 理速度や計数精度などの点で問題もあるが、 移動物体計数部 1 0 1のみで移動物体 2と全 物体の両方の領域を数えることができるため、 フレーム画像 1では収まりきらないような 広い場所にある移動物体 2及び静止物体 3を数える用途には向いている。
ここで移動カメラ 1 0はパン、 チルト及びズームなどの移動命令により移動した現在の 位置を必要に応じて出力できるものとし、 さらに現在移動中であるか若しくは停止して いるかといった移動カメラ 1 0の状態も必要に応じて出力できるものとする。 このとき、 もし視覚装置が移動カメラ 1 0のパン、 チルト及びズームを制御することができれば、 こ の視覚装置は、 移動力メラ 1 0が移動物体 2及び静止物体 3を常時適切な大きさで撮影で きるように、 移動カメラ 1 0の向き及び倍率を変更することができるようになる。
そこで移動カメラ 1 0が移動物体 2及び静止物体 3を常時適切な大きさで撮影するた めの基本的な手段を備えた請求項 4記載の視覚装置を第 6図に示す。 このとき視覚装置は 機能に応じて 3つの座標系、 つまりカメラ座標系、 画像座標系及び環境座標系を用いてい る。 第一に、 カメラ座標系は、 文字通り移動カメラがパン、 チルト及びズームを各々の最 小制御単位で制御するために用いているカメラ内部の三次元球座標系である。 一般に力 メラ座標系の原点はホームポジションと呼ばれる移動カメラ固有の位置である。 カメラ座 標系は移動物体 2及び静止物体 3の物理的位置を表すことができる唯一の座標系である。 それにも関わらずカメラ座標系は移動カメラ 1 0の機種毎に異なるため汎用性がない。 そ のため視覚装置は他の手段からカメラ座標系を秘匿する必要がある。 第二に、 画像座標系 は、 移動カメラ 1 0によって撮影されたフレーム画像 1の中央を原点とする、 画素を単位 とした二次元座標系である。 これはフレーム画像 1中のどの画素に移動物体 2及び静止物 体 3が位置するか表すために用いられる。 したがって画像座標系はフレーム画像 1中にあ る複数の物体の細かな位置を区別するのには適しているが、 画像座標系だけでは移動物体 2及び静止物体 3の物理的位置を表すことができない。 第三に、 環境座標系は、 視覚装置 が内部で移動物体 2及び静止物体 3の位置を論理的に統一して表すために用いている三次 元球座標系である。 環境座標系は水平方向及び垂直方向にはラジアンを単位とした角度を 用い、 物体の大きさと物体までの距離の積を表すために、 距離方向には 1 . 0を単位とし た実数を用いる。 一般に物体の大きさが極端に変ることはないので、 物体までの距離と移 動力メラ 1 0の倍率は比例すると見なして良い。 環境座標系の原点は任意である。 つまり 環境座標系は原則として環境座標系上の任意の 2点の相対座標を表すために用いられる。 視覚装置は移動カメラ 1 0によって撮影可能な環境中の物体を環境座標系に投影すること で、 複数の物体を区別することができる。
したがってカメラ座標系及び画像座標系は各々環境座標系と相互に座標変換をする必要 がある。 その役割を果たしている手段がカメラ/環境座標変換手段 2 0、 画像 環境座標 変換手段 2 1及び運動制御手段 2 3である。 これらの手段は移動力メラ 1 0及び画像取得 手段 1 1の仕様からカメラ座標系及び画像座標系の各単位を求め、 環境座標系に変換する ための行列を計算する。 またカメラ座標系から環境座標系への変換行列の逆行列を計算 することにより、 環境座標系からカメラ座標系への変換行列も求めることができる。 ただ しカメラ座標系の原点が移動カメラ 1 0のホームポジションであるので、 カメラ座標系か ら変換された環境座標系の位置は環境座標系上の移動カメラ 1 0のホームポジションか らの相対位置となる。 一方、 環境座標系から変換されたカメラ座標系の位置はカメラ座標 系上の移動カメラ 1 0の現在位置からの相対位置となる。 加えて、 画像座標系は二次元座 標系であるため、 画像座標系のみでは環境座標系に変換することはできない。 そのため画 像 環境座標変換手段 2 1では環境座標系で表された移動カメラ 1 0の向き及び倍率と、 フレーム画像 1中の移動物体 2及び静止物体 3の領域の大きさを用いて、 随時変換行列を 計算することにより、 画像座標系から環境座標系に変換できるようにする。 なお画像座標 系から変換された環境座標系の位置は、 画像の中心からの相対位置となる。
このことより、 請求項 4記載の視覚装置の残りの手段は、 移動物体 2及び静止物体 3を 常時適切な大きさで撮影するために、 これら 3つの座標系で表された移動物体 2及び静止 物体 3の位置を生成及び変換するための手段であると考えることができる。 そこでカメラ 座標系、 画像座標系及び環境座標系を踏まえて第 6図を説明する。
まず画像取得手段 1 1、 エッジ情報生成手段 1 4及び位置 大きさ検出手段 1 7は移動 物体計数部 1 0 1及び全物体計数部 1 0 2から構成される請求項 1から請求項 3までに記 載された視覚装置で説明したものと同じである。 ただし請求項 1から請求項 3までに記載 された視覚装置では、 エッジ情報形成手段 1 5が生成した形成エッジ情報画像 1 1 5を位 置ノ大きさ検出手段 1 7に入力していたが、 請求項 4記載の視覚装置では、 エッジ情報生 成手段 1 4が生成した粗エッジ情報画像 1 1 3を位置ノ大きさ検出手段 1 7に入力してい る。 勿論この視覚装置において、 エッジ情報形成手段 1 5を用いることにより形成エッジ 情報画像 1 1 5を位置 大きさ検出手段 1 7に入力することも可能であるが、 ここでは以 下のような理由によりこの視覚装置の性能はエッジ情報形成手段 1 5を用いなくても十分 である。 第一に、 この視覚装置には、 請求項 1から請求項 3までに記載された視覚装置に 求められたように移動物体 2及び静止物体 3の領域の数を数える必要がない。 むしろこの 視覚装置は移動物体 2及び静止物体 3を探索して、 その方向に移動カメラ 1 0の向きと倍 率を合わせることが重要である。 しかも位置 Z大きさ検出手段 1 7は粗エッジ情報 1 1 2 からでも移動物体 2及び静止物体 3の領域のおおよその大きさを求めることは可能であ る。 第二に、 ェッジ情報形成手段 1 5はェッジ情報生成手段 1 4が生成した粗ェッジ情報 画像 1 1 3を用いて形成エッジ情報画像 1 1 5を生成する。 つまりエッジ情報形成手段 1 5が形成エッジ情報画像 1 1 5を生成している間に移動物体 2が移動してしまう。 一般に 移動カメラ 1 0は物理的な機構を有しているため移動カメラ 1 0の移動速度はあまり速 くないと考えられる。 そこでこの視覚装置が移動カメラ 1 0を移動させると、 移動物体 2 の移動速度によっては移動カメラ 1 0の制御が間に合わなくなる可能性がある。 これらの ことより、 請求項 4記載の視覚装置は移動物体 2及び静止物体 3の的確で明瞭な形成ェッ ジ情報 1 1 4を必ずしも必要としない。
次に、 力メラノ環境座標変換手段 2 0及び画像 Z環境座標変換手段 2 1は、 位置,大き さ検出手段 1 7が生成した重複情報画像 1 3 2で表される移動物体 2及び静止物体 3の 領域の位置を環境座標系の位置に変換する。 このときフレーム画像 1中の移動物体 2及び 静止物体 3の領域の位置の総数が 2以上であれば、 環境座標系上にも 2つ以上の位置が存 在することになる。 そこで移動カメラ 1 0のパン、 チルト及びズームを制御していずれか 1つの物体に移動カメラ 1 0の向き及び倍率を合わせるために、 環境座標系上の位置の中 から 1つを選択する必要がある。 位置選択手段 2 2は一定の判断基準に従い、 環境座標系 上の 1つの位置を選択する。 ここで用いられる判断基準は主に次のようなものである。 第 一に、 環境座標系上で物体が最も近いもの (若しくは最も大きいもの) を選択する。 これ は物体が遠かったり (若しくは小さかったり) した場合、 エッジ情報生成手段 1 4がノィ ズを生成した可能性があるので、 少しでも環境座標系上の位置に物体がある確率が高いも のを選択する。 第二に、 環境座標系上の一定範囲内に複数の位置が集中している場合、 こ のうちの 1つを選択する。 これは 2つの可能性が考えられる。 1つはエッジ情報生成手段 1 4が 1つの物体に対して分散した粗エッジ情報 1 1 2を生成した可能性であり、 もう 1 つは実際に複数の物体が存在する可能性である。 第三に、 環境座標系上に多数の位置がほ ぼ同じ距離(若しくはほぼ同じ大きさ)である場合、 原点に最も近い位置、 すなわち移動 カメラ 1 0の向きに最も近い位置を選択する。 これらを用途や状況に応じて適宜組み合せ ることにより、 位置選択手段 2 2は環境座標系上の 1つの位置を選択することができる。 さて、 請求項 4記載の視覚装置は、 位置選択手段 2 2で選択された位置の他に次のよう な位置に移動カメラ 1 0をパン、 チルト及びズームすることが求められる。 まずこの視覚 装置は移動カメラ 1 0を振動させなければならない。 そこで移動カメラ 1 0を振動させる ために振動命令生成手段 2 5は移動カメラ 1 0が移動する位置を環境座標系上の位置と して指定する。 振動命令生成手段 2 5が指定する位置は極端に移動カメラ 1 0が振動しな い範囲で疑似乱数などによって決定する。 加えて、 請求項 4記載の視覚装置は、 外部から 制御命令を入力することにより移動カメラ 1 0をパン、 チルト及びズームすることが求 められる。 一般的な用途では移動カメラ 1 0が現在向いている向きや倍率に対してパン、 チルト及びズームがなされるので、 制御命令入力手段 2 4を用いて、 一旦制御命令を記憶 した後に移動カメラ 1 0の現在位置を原点とした環境座標系上の位置を算出する。 なお制 御命令入力手段 2 4を改良することにより、 移動カメラ 1 0を特定の位置に移動させるこ とは容易に可能である。
そこで移動カメラ 1 0のパン、 チルト及びズームを制御するために、 運動制御手段 2 3 が前述した環境座標系上の 3つの位置から 1つを選択する。 運動制御手段 2 3が 3つの位 置から 1つを選択する際には、 制御命令入力手段 2 4、 位置選択手段 2 2、 振動命令生成 手段 2 5の順番で入力位置がある手段から選択する。 選択された位置は環境座標系から力 メラ座標系に変換される。 その後カメラ命令生成手段 2 6によって移動カメラ 1 0が認識 することができる命令に置き換えられて移動カメラ 1 0に送信される。 これにより請求項 4記載の視覚装置は移動カメラ 1 0のパン、 チルト及びズームを制御することができる。 なお移動カメラ 1 0の機種によっては移動カメラ 1 0に特定の命令を送信しないと移動 カメラ 1 0の状態、 すなわち移動カメラ 1 0の向き及び倍率や、 移動カメラ 1 0が移動中 か停止中かといつた情報を得ることができない。 そこで運動制御手段 2 3は 3つの位置か ら 1つを選んでカメラ命令生成手段 2 6に出力した後に、 移動カメラ 1 0が移動中かどう かといつた情報を問い合わせる命令を移動カメラ 1 0に送信するように、 カメラ命令生成 手段 2 6に指示し、 移動カメラ 1 0からカメラ Z環境座標変換手段 2 0を介してこの情報 を受け取るまで待つ。 もし受け取った情報が移動中であれば、 移動カメラ 1 0が移動中か どうかといった情報を問い合わせる命令を移動カメラ 1 0に送信するように、 再度カメラ 命令生成手段 2 6に指示する。 もし受け取った情報が停止中であれば、 移動カメラ 1 0が 現在の向き及び倍率を問い合わせる命令を移動カメラ 1 0に送信するように、 カメラ命令 生成手段 2 6に指示する。 この期間中運動制御手段 2 3は 3つの位置を選択しない。 カメ ラ命令生成手段 2 6は運動制御手段 2 3からの指示に従い、 対応する命令を移動カメラ 1 0に送信する。 カメラ/環境座標変換手段 2 0は移動カメラ 1 0が移動中かどうかといつ た情報をそのまま運動制御手段 2 3に送信し、 また移動カメラ 1 0の現在の向き及び倍率 をカメラ座標系から環境座標系の位置に変換する。 これにより請求項 4記載の視覚装置 は、 移動カメラ 1 0の状態を逐次調査しながら、 移動カメラ 1 0のパン、 チルト及びズ一 ムを制御することができる。
ここまでは、 移動カメラ 1 0がフレーム画像 1中の移動物体 2及び静止物体 3を常時適 切な大きさで撮影するための基本的な手段を備えた請求項 4記載の視覚装置について説 明してきた。 しかしながら移動カメラ 1 0が撮影している範囲に移動物体 2及び静止物体 3が常に存在するとは限らないし、 何より移動物体 2は移動カメラ 1 0が撮影している範 囲からやがて他の位置に移動してしまうと考えるのが自然である。 勿論移動物体 2が移動 すると、 移動カメラ 1 0から見える移動物体 2の形及び色も当然変化すると考えられる。 そこで以下で説明する請求項 5記載の視覚装置は、 請求項 4記載の視覚装置に対して、 フ レーム画像 1中の移動物体 2及び静止物体 3の形及び色をより正確に認識するための幾つ かの手段と、 移動カメラ 1 0がー定時間内に撮影した移動物体 2及び静止物体 3の数をよ り正確に数えるための幾つかの手段と、 移動カメラ 1 0が撮影可能な範囲にある移動物体 2及び静止物体 3の位置に向けてより正確に移動カメラ 1 0を移動させるための手段と、 を追加したものであると見なすことができる。
第 7図の視覚装置は、 請求項 4記載の視覚装置に対してエッジ情報形成手段 1 5、 物体 Z背景分離手段 1 6、 領域正規化手段 2 7及び正規化画像保持手段 2 8を追加することに より正規化画像 1 4 5を生成するものである。 エッジ情報形成手段 1 5及び物体 Z背景分 離手段 1 6は、 移動物体計数部 1 0 1及び全物体計数部 1 0 2から構成される請求項 1か ら請求項 3までに記載された視覚装置のエッジ情報形成手段 1 5及び物体 Z背景分離手段 1 6と同じものである。 領域正規化手段 2 7は物体 背景分離手段 1 6及び画像取得手段 1 1から物体領域画 像 1 4 2及びデジタル画像 1 1 1をそれぞれ入力すると、 分離物体領域 1 4 3をデジ夕 ル画像 1 1 1から切り出し、 分離物体領域 1 4 3を変形しながらデジタル画像 1 1 1の 画像サイズに合わせて可能な限り補完及び拡大することで正規化画像 1 4 5を生成する。 領域正規化手段 2 7は画素毎に近傍処理のみで分離物体領域 1 4 3を正規化することが できるので、 並列化に向いている。 もし領域正規化手段 2 7が正規化画像 1 4 5の全ての 画素を並列に出力することができれば、 領域正規化手段 2 7から正規化画像保持手段 2 8 への通信は、 画素毎に並列に行うことができる。
正規化画像保持手段 2 8は領域正規化手段 2 7から正規化画像 1 4 5を入力すると、 も し正規化画像 1 4 5の出力先が適当なフォーマットの正規化画像 1 4 5を要求するなら ば、 正規化画像 1 4 5の出力先が要求するフォーマットに正規化画像 1 4 5を変換する。 その後正規化画像保持手段 2 8は正規化画像 1 4 5の出力先に確実に正規化画像 1 4 5 を送信するまで一定期間正規化画像 1 4 5を記憶する。 正規化画像保持手段 2 8は変換す るフォーマツトを限定すれば画素毎に近傍処理のみで正規化画像 1 4 5を変換することが できるので、 並列化に向いている。 もし正規化画像保持手段 2 8が正規化画像 1 4 5の全 ての画素を並列に出力することができれば、 正規化画像保持手段 2 8から正規化画像 1 4 5の出力先への通信は、 画素毎に並列に行うことができる。
したがってエッジ情報形成手段 1 5、 物体/背景分離手段 1 6、 領域正規化手段 2 7及 び正規化画像保持手段 2 8を用いることにより、 たとえ請求項 4記載の視覚装置が撮影し た移動物体 2及び静止物体 3がフレーム画像 1中の任意の位置に任意の大きさで存在し ても、第 7図の視覚装置はできる限り類似した移動物体 2及び静止物体 3の正規化画像 1 4 5を生成することができる。 これにより、 正規化画像 1 4 5の出力先が移動物体 2及び 静止物体 3を認識する必要がある場合、 正規化画像 1 4 5の出力先はフレーム画像 1中の 移動物体 2及び静止物体 3の位置及び大きさをあまり考慮することなく適切な認識方法 を用いることができるようになる。
なお第 7図の視覚装置では、 エッジ情報生成手段 1 4と、 エッジ情報形成手段 1 5、 物 体/背景分離手段 1 6、 領域正規化手段 2 7及び正規化画像保持手段 2 8との間で、 各々 の手段が入力する画像の解像度若しくは画像サイズを必ずしも一致させる必要はない。 例 えば、 第 7図の視覚装置において、 エッジ情報生成手段 1 4にはデジタル画像 1 1 1の解 像度を低くした低解像度デジタル画像 1 1 6を入力させ、 一方、 エッジ情報形成手段 1 5 には、 エッジ情報生成手段 1 4が生成した低解像度粗エッジ情報画像 1 1 7の画像サイズ を適当な方法でデジタル画像 1 1 1の画像サイズに拡大した粗エッジ情報画像 1 1 3を 入力させ、 物体 Z背景分離手段 1 6及び領域正規化手段 2 7にはデジタル画像 1 1 1を 入力させることにより、 エッジ情報生成手段 1 4の負荷を低減することができる。 つまり エッジ情報形成手段 1 5以降で生成される正規化画像 1 4 5の品質をほとんど変えること なく、 位置/大きさ検出手段 1 7以降の移動カメラ 1 0のパン、 チルト及びズームの制御 をより高速にすることができる。 そこでこの方法をさらに進めると、 エッジ情報形成手段 1 5には、 エッジ情報生成手段 1 4が生成した低解像度粗エッジ情報画像 1 1 7のうち粗 エッジ情報 1 1 2が存在する領域を切り出した切出粗エッジ情報画像 1 1 9を入力させ、 物体ノ背景分離手段 1 6及び領域正規化手段 2 7には、 デジタル画像 1 1 1から切出粗 エッジ情報画像 1 1 9と同じ位置の領域を切り出した切出デジタル画像 1 2 0を入力させ ることにより、 エッジ情報形成手段 1 5以降の正規化画像 1 4 5の生成の負荷を低減する ことができる。 ここで請求項 4記載の視覚装置により、 移動カメラ 1 0が移動物体 2及び 静止物体 3をフレーム画像 1の中央に適切な大きさで撮影することができれば、デジタル 画像 1 1 1に対する切出粗エッジ情報画像 1 1 9及び切出デジタル画像 1 2 0の切出領域 を事前に決定することができる。 この方法により、 第 7図の視覚装置は 1台の移動カメラ 1 0を用いることにより、 広角カメラと高解像度カメラを用いた物体探索装置と同様の性 能を達成することができる。
第 8図の視覚装置は、 第 7図の視覚装置に対して画像認識手段 2 9及び認識結果保持手 段 3 0を追加することにより認識結果を生成するものである。
画像認識手段 2 9は領域正規化手段 2 7から正規化画像 1 4 5を入力すると、 正規化 画像 1 4 5中の移動物体 2及び静止物体 3の正規化領域 1 4 4を適当なパターン認識方 法を用いて認識し、 認識結果を出力する。 画像認識手段 2 9に入力される正規化画像 1.4 5は領域正規化手段 2 7によつて移動物体 2及び静止物体 3の形を変形されているので、 画像認識手段 2 9はストローク抽出法、 フーリエ変換及びハフ変換など位置ずれに強い方 法を用いた幾何解析を行うよりも、 むしろ入力画像とテンプレート画像の比較をするパ ターンマッチングを行う方が適している。 パターンマッチング法としては、 誤差逆伝播法 (バックプロパゲ一シヨン) によりテンプレート画像を学習することができるパーセプト ロンなどのニューラルネットワークを用いることができる。 またニューラルネットワーク を用いた場合には、 ニューラルネットワーク専用ァクセラレ一夕を用いることにより並列 化及び高速化も可能である。 正規化画像 1 4 5の認識結果は画像認識手段 2 9から認識結 果保持手段 3 0へ出力される。
認識結果保持手段 3 0が画像認識手段 2 9から正規化画像 1 4 5の認識結果を入力す ると、 もし認識結果の出力先が適当なフォーマットの信号を要求するならば、 認識結果の 出力先が要求するフォーマットに認識結果を変換する。 その後認識結果保持手段 3 0は認 識結果の出力先に確実に認識結果を送信するまで一定期間認識結果を記憶する。
したがって画像認識手段 2 9及び認識結果保持手段 3 0を用いることにより、 第 8図の 視覚装置は移動力メラ 1 0が適当な大きさで撮影した移動物体 2及び静止物体 3の認識結 果を生成することができる。 これにより認識結果の出力先は、 移動カメラ 1 0が撮影した 移動物体 2及び静止物体 3の認識装置として第 8図の視覚装置を利用することができる。 第 9図の視覚装置は、 第 8図の視覚装置に対して環境理解手段 3 1、 計時手段 3 2及び 環境地図保持手段 3 3を追加することにより環境地図を生成するものである。
計時手段 3 2はタイマー回路により現在時刻を 1ミリ秒単位で出力する。 現在時刻は絶 えず計時手段 3 2から環境理解手段 3 1へ出力される。
環境理解手段 3 1は画像認識手段 2 9から移動物体 2及び静止物体 3の認識結果を入 力すると、 認識結果、 移動カメラ 1 0の環境座標系上での位置及び現在時刻からなる環境 データを作成する。 また環境理解手段 3 1は画像 Z環境座標変換手段 2 1からフレーム 画像 1中の全ての移動物体 2及び静止物体 3の領域の環境座標系上での位置を入力する と、 ヌルデ一夕からなる認識結果、 移動カメラ 1 0の環境座標系上での位置とフレーム画 像 1中の 1つの移動物体 2及び静止物体 3の領域の環境座標系上での位置を加えた位置、 及び現在時刻からなる環境デ一夕を、 移動物体 2及び静止物体 3の領域の数だけ作成す る。 このとき環境地図は現在時刻より一定時間前に作成された環境データの集合となり、 環境データ中の位置は移動カメラ 1 0のホームポジションを原点とする環境座標系によつ て表される。 環境理解手段 3 1は環境地図に対して時刻の経過と共に環境デ一夕を追加 及び削除する。 また環境理解手段 3 1は重複した内容の環境データを削除すると共に、 認 識結果がヌルデータである環境デ一夕中の位置が認識結果がヌルデータでない他の環境 データ中の位置の近傍である場合、 認識結果がヌルデ一夕である環境データを削除する。 加えて、 認識結果がヌルデータでない環境デ一夕中の位置が、 認識結果がヌルデ一夕でな い他の環境デ一夕中の位置の近傍である場合、 もしこれらの環境データ中の認識結果が一 致すれば、 前者の環境データを削除する。 環境データの記録時間と環境デ一夕中の位置の 近傍の範囲により、 環境地図の精度が決定される。 環境地図は環境理解手段 3 1から環境 地図保持手段 3 3へ出力される。
環境地図保持手段 3 3が環境理解手段 3 1から環境地図を入力すると、 もし環境地図 の出力先が適当なフォーマットの信号を要求するならば、 環境地図の出力先が要求する フォーマットに環境地図を変換する。 その後環境地図保持手段 3 3は環境地図の出力先に 確実に環境地図を送信するまで一定期間環境地図を記憶する。
したがって環境理解手段 3 1、 計時手段 3 2及び環境地図保持手段 3 3を用いることに より、 第 9図の視覚装置は移動力メラ 1 0が撮影した移動物体 2及び静止物体 3の位置を 特定することができる。 これにより環境地図の出力先は、 移動カメラ 1 0が撮影可能な移 動物体 2及び静止物体 3の位置を特定する装置として第 9図の視覚装置を利用すること ができる。
第 1 0図の視覚装置は、 第 9図の視覚装置に対して物体位置推定手段 3 4を追加するこ とにより物体の推定位置に移動カメラ 1 0を制御するものである。
物体位置推定手段 3 4は環境理解手段 3 1から環境地図を入力すると、 認識結果がヌル データである環境デ一夕を 1つ選択し、 この環境データ中の位置を抜き出す。 この位置か らカメラ/環境座標変換手段 2 0によって計算された移動カメラ 1 0の環境座標系上での 現在位置を引くことにより、 物体位置推定手段 3 4は、 移動カメラ 1 0の環境座標系上で の現在位置を原点とした、 過去に粗エッジ情報 1 1 2が生成されているにも関わらずまだ 認識結果が出ていない移動物体 2及び静止物体 3の環境座標系上での相対位置を求めるこ とができる。 ただし移動物体 2の場合、 現在この位置に移動物体 2が存在するとは限らな レ^ したがってこの位置は移動物体 2及び静止物体 3が存在する可能性がある移動物体 2 及び静止物体 3の推定位置となる。 一方で、 もし環境地図の中に認識結果がヌルデータで ある環境データがなければ、 移動カメラ 1 0が移動可能な範囲で適当な環境座標系上の位 置を生成する。 このとき適当な位置を生成する基準として次のようなものが考えられる。 第一に、 疑似乱数により任意の位置を生成する。 第二に、 環境地図中の環境データ中の位 置の密度が低い位置を計算する。 第三に、 移動カメラ 1 0が移動可能な範囲中の位置を適 当な順番で順次生成する。 例えば、 移動カメラ 1 0が移動可能な範囲において左上端の位 置から右に向けて順番に位置を生成し、 右端に到達したら一段下に降りた後左に向けて順 番に位置を生成し、 左端に到達したら一段下に降りた後右に向けて順番に位置を生成する ことを繰り返す。 これらの基準を用途や状況に応じて組み合せることにより、 まだ移動力 メラ 1 0が撮影していない移動物体 2及び静止物体 3の推定位置を効率的に推定するこ とができる。 物体推定位置は物体位置推定手段 3 4から運動制御手段 2 3へ出力される。 ここで運動制御手段 2 3は、 請求項 4記載の視覚装置における運動制御手段 2 3を基に して次のように変更される。 つまり移動カメラ 1 0のパン、 チルト及びズームを制御する ために、 運動制御手段 2 3は制御命令入力手段 2 4、 物体位置推定手段 3 4、 位置選択手 段 2 2及び振動命令生成手段 2 5の順番で入力位置がある手段から選択する。 ただし運動 制御手段 2 3は物体位置推定手段 3 4からの入力位置を連続して選択しないようにする 必要がある。
したがって物体位置推定手段 3 4を用いることにより、 第 1 0図の視覚装置は移動カメ ラ 1 0が撮影可能な範囲に存在する移動物体 2及び静止物体 3を探索することができる。 これにより環境地図の出力先は、 移動カメラ 1 0が撮影可能な移動物体 2及び静止物体 3 の位置を特定する装置として第 1 0図の視覚装置を利用することができる。
第 1 1図の視覚装置は、 第 1 0図の視覚装置に対して物体計数手段 3 5及び物体数保持 手段 3 6を追加することにより任意物体数を生成するものである。
物体計数手段 3 5は環境理解手段 3 1から環境地図を入力すると、 環境地図中、 特定の 物体を意味する認識結果を有する環境データの数を数えて、 任意物体数を生成する。 環境 データ中の認識結果は、 画像認識手段 2 9によって識別される物体の種類の中からいくつ でも選択できる。 任意物体数は物体計数手段 3 5から物体数保持手段 3 6へ出力される。 なお用途に応じて必要があれば、 物体計数手段 3 5を変更することにより、 外部から計数 すべき物体の種類を指定できるようにすることは容易である。
物体数保持手段 3 6が物体計数手段 3 5から任意物体数を入力すると、 任意物体数の出 力先に確実に任意物体数を送信するまで一定期間任意物体数を記憶する。
したがって物体計数手段 3 5及び物体数保持手段 3 6を用いることにより、 第 1 1図の 視覚装置は移動カメラ 1 0が撮影可能な範囲に存在する特定の移動物体 2及び静止物体 3の数を数えることができる。 これにより任意物体数の出力先は、 移動カメラ 1 0が撮影 可能な特定の移動物体 2及び静止物体 3の数を数える装置として第 1 1図の視覚装置を 利用することができる。
第 1 2図に示すように、 請求項 5記載の視覚装置は、 第 1 1図の視覚装置に対して幾何 解析手段 3 7を追加することにより環境地図の作成を的確で高速にするものである。 幾何解析手段 3 7はエッジ情報形成手段 1 5から形成エッジ情報画像 1 1 5を入力す ると、 ストローク抽出法、 フーリエ変換及びハフ変換などの幾何解析を行うことにより、 フレーム画像 1中の移動物体 2及び静止物体 3の形を推定し、 幾何解析結果を生成する。 従来の画像認識では画像自体から直接線分などを抽出したり位置や大きさなどに左右さ れないような各種変換などを用いることにより、 画像中の物体を認識することを行ってき た。 このため処理の単純さにも関わらず組み合わせの数が膨大となり、 結果として膨大な 計算量が必要となり、 望みうる結果を得るまでに長時間掛つたり、 若しくは品質の低い認 識結果しか得られなかった。 しかしながら請求項 5記載の視覚装置では、 フレーム画像— 1 中の移動物体 2及び静止物体 3のパターンに対する認識を物体 背景分離手段 1 6、 領域 正規化手段 2 7及び画像認識手段 2 9が行う。 そこで、 幾何解析手段 3 7は形成エッジ情 報画像 1 1 5を用いて、 物体 背景分離手段 1 6、 領域正規化手段 2 7及び画像認識手段 2 9が苦手としている移動物体 2及び静止物体 3の輪郭などの図形のみを、 簡単な方法で 大ざっぱに解析することにより、 画像認識手段 2 9が不必要なパターンマッチングを省略 し、 環境理解手段 3 1が環境地図を的確で高速に作成することができると共に、 幾何解析 手段 3 7自体の負荷も低減することができる。 幾何解析結果は幾何解析手段 3 7から画像 認識手段 2 9及び環境理解手段 3 1へ出力される。 そのため画像認識手段 2 9及び環境理 解手段 3 1は各々次のように動作する。
画像認識手段 2 9は幾何解析手段 3 7から幾何解析結果を入力すると、 まず画像認識手 段 2 9が認識の対象としている図形であるかどうか判断する。 もし幾何解析結果が対象 外の図形であれば、 画像認識手段 2 9は動作しない。 幾何解析結果が対象図形であれば、 画像認識手段 2 9は対象図形用のテンプレート画像を用いてパターンマッチングを行う。 例えば誤差逆伝播法によって学習するパーセプトロンの場合、 対象図形毎にパーセプトロ ンを学習させて学習デ一夕を作成し、 その後幾何解析艢果によって学習データを選択する ことにより、 対象図形に対して効率的にパターンマッチングを行うようにする。 つまり幾 何解析結果が円形であれば, 人の顔ゃボ ルなど円形の物体の学習データだけを利用し、 幾何解析結果が三角形であれば、 道路標識や山並みなど三角形の物体の学習デ一夕だけを 利用する。 これならば小規模のパーセプトロンによって多数の物体のパターンを認識する ことができるばかりでなく、 パーセプトロン自体も効率よく学習することができる。 環境理解手段 3 1は幾何解析手段 3 7から幾何解析結果を入力すると、 まず画像認識手 段 2 9が認識の対象としている図形であるかどうか判断する。 もし幾何解析結果が対象 外の図形であれば、 移動カメラ 1 0の環境座標系上の位置の近傍にある、 認識結果がヌル データである環境デ一夕を、 環境理解手段 3 1は直ちに環境地図から削除する。 これによ り環境地図から不必要な環境データが削除され、 物体位置推定手段 3 4などが不必要な物 体推定位置を出力しなくても済む。 幾何解析結果が対象図形の場合、 画像認識手段 2 9か ら認識結果が入力されるまで待つ。
したがって幾何解析手段 3 7を用いることにより、 請求項 5記載の視覚装置は移動カメ ラ 1 0が撮影可能な範囲に存在する特定の移動物体 2及び静止物体 3の数を的確で高速 に数えることができる。 これにより任意物体数の出力先は、 移動カメラ 1 0が撮影可能な 特定の移動物体 2及び静止物体 3の数を高速に数える装置として請求項 5記載の視覚装 置を利用することができる。
さて、 請求項 1から請求項 5までの視覚装置で用いられている画像記憶手段 1 2、 画像 振動手段 1 3、 エッジ情報生成手段 1 4、 エッジ情報形成手段 1 5、 物体 背景分離手段 1 6、 位置/大きさ検出手段 1 7、 領域正規化手段 2 7、 正規化画像保持手段 2 8及び画 像認識手段 2 9は、 配列演算ュニット 4 0 (ARRAY OPERATION UNIT) から構成さ れるデ一夕処理装置 1 1 0を用いることにより実装することができる。 そこで以下では、 配列演算ュニット 4 0を利用したデータ処理装置 1 1 0の実施形態を挙げ、 請求項 6から 請求項 1 2までに記載された視覚装置を図面を参照して説明する。
まず配列演算ュニット 4 0は、 入力画像の 1つの画素とその近傍画素を用いることによ り、 出力画像の 1つの画素を生成する。 そこで第 1 3図に示したように、 配列演算ュニッ ト 4 0を入力画像のサイズに合わせて格子状に配列したデータ処理装置 1 1 0を用いる ことにより、 データ処理装置 1 1 0は入力画像から出力画像を生成することができる。 な お第 1 3図において、 配列演算ユニット 4 0を A〇Uと略記する。 次に配列演算ユニット 4 0は専用ハードウェアによって実装されても良いし、 汎用コンピュータ上でソフトゥェ ァによって実装することもできる。 つまり入力画像から出力画像を生成することができれ ば、 実装手段は制限されない。 したがって配列演算ュニット 4 0のァルゴリズムを示すこ とにより、 データ処理装置 1 1 0の画像処理を示すことができる。 そこで配列演算ュニッ ト 4 0のアルゴリズムを示すために、 画像記憶手段 1 2 (第 1図及び第 6図参照)、 画像 振動手段 1 3 (第 3図、 第 4図及び第 5図参照)、 エッジ情報生成手段 1 4 (第 1図及び 第 6図参照)、 エッジ情報形成手段 1 5 (第 1図ないし第 5図、 第 7図ないし第 1 2図参 照)、 物体 Z背景分離手段 1 6 (第 2、 4、 5、 7図ないし第 1 2図参照)、 位置ノ大きさ 検出手段 1 7 (第 1図及び第 6図参照)、 領域正規化手段 2 7 (第 7図参照)、 正規化画 像保持手段 2 8 (第 7図参照) 及び画像認識手段 2 9 (第 8図参照)で用いる数式につい て説明する。
幅 w、 高さ h、 帯域数 bの任意の 2n階調画像を x、 y、 wとすると、 x、 y、 wは 各々位置 P ( i , j , k) の帯域画素値 χ i j k、 y i j k、 w; j kを用いて数式 1、 数式 2及び数式 3のように表される。 なお太字はベクトルを示す。 また nは非負の整数、 w、 h、 b、 i 、 j 、 kは自然数である。
x =
Figure imgf000047_0001
is value at p(i,j, k),l < i < w,l < j < h,l < k < b} (1) y = {Vijk\yijk is value at p(i,j, k),l < i < w,l < j < h,l < k < b} (2) w =
Figure imgf000047_0002
is value at p(i,j, k),l < i < w,l < j < h,l < k < b} (3) まず前記画像の各帯域画素値に対する点処理に関する関数について以下で説明する。 画像 Xを二値画像に変換する場合、 数式 4に従って帯域画素値を二値化する。
1 if xijk > 0,
Φ fc(x) = (4)
0 otherwise.
画像 xを帯域最大値画像に変換する場合、 数式 5に従って i行 j列の画素の各帯域の値 のうち最大値を選択する。 なお前記帯域最大値画像は単帯域画像となるので、 便宜上帯域 数 1の前記画像として取り扱うことにする。 したがって関数 B i j χ ( χ )の第 3添字は 1 となっている。
Βϋ1 χ) = max{rriife} (5) 画像 xが二値画像であるとして、 画像 Xを反転させる場合、 数式 6に従って計算する。
ijk (6) 画像 xの位置 p ( i, j , k) における対数変換は数式 7に従って行われる。 ここで _e はオフセットであり、 自然対数関数が出力する値が有効範囲に入るようにするために使わ れるので、 一般に e = lで十分である。 この対数化により帯域画素値同士の除算を減算に することができる。 また画像 Xが 2n階調のデジタル画像であるとすると、 帯域数に関 わらず 2 n個の要素を含むルックアップテーブルをメモリ上に持つならば、 毎回自然対 数関数を計算する必要もなく、 標準的な対数表を持つ必要もなくなる。
Lijk x = ln(a;/mfc + e) (7) さて、 画像の位置 p ( i , j , k ) における q近傍の位置の集合 P i j k(q )は数式 8 によって表される。 ただし Qは 4、 8、 24、 48、 80、 1 20、 (2 + 1 )2— 1 と 続く数列であり、 rは自然数である。 なお画像サイズをはみ出した位置が集合 P i j k(Q )に含まれる場合には、 特に指定がない限り位置 P ( i, j , k) を代用するものとする。 またこれ以外のときは、 指定に従い、 画素値が 0に相当し、 しかも画像に含まれない架空 の位置を代用する。 これにより辺縁処理は自動的に行われる。 したがって集合 P i j k(Q
)の要素の数 N i j kは常に Qとなる。
{p(i + l,j,k), p{i,j + l,k), p(i - k), p(i, j - ] if 9 = 4,
{p(l, m, k) \i— r < I < i + r, j— r < m <j + r, p(l, m, k) p(i, j, k)} ifg = (2r + l)2 - l.
(8) そこで次に画像の各帯域画素値に対する最大 8近傍の近傍処理に関する関数及びオペ レー夕について以下で説明する。
画像 Xの位置 p ( i , j , k ) における振動は数式 9に従って行われる。 ここで位置 p ( i , j , k) の Q近傍の中から 1つの位置だけを選択する方法によって画像単位で振動 させるか画素単位で振動させるかを決定することができる。 もし画像 Xの全ての位置にお いて、 全く同じ方法により Q近傍の中から 1つを選択すれば、 画像 Xは画像単位で振動す る。 一方で画像 Xの各々の位置において、 疑似乱数などを用いてランダムに Q近傍の中か ら 1つを選択すれば、 画像 Xは画素単位で振動する。 三 'fc(x) = ximk for only one of p(l, m, k) G ( ) (9) 画像 xの位置 P ( i, j , k) における平滑化は数式 1 0に従って行われる。 ただし i n t ( v) は実数 vの小数点以下切り捨てを意味するものとする。 もし画像 Xの帯域画素 値が整数値であるならば、 ハードウェアの実装時に N i j k = 4のとき X lmkの総和に対 して右シフト命令を 2回、 N i j k= 8のとき X lmkの総和に対して右シフト命令を 3回 実行するような回路に変更することにより、 除算を実行する回路を省くことができる。
Sijk x = int(-r^— ximk) (10)
k p(l,m,k)ePijk(q)
ラプラシアンの計算であるが、 これは数式 1 1に示すように単なる 2階差分オペレー 夕である。 8近傍の方がノィズの微妙な変化を捉えてゼロ点およびゼロ交差が多くなり、 本発明には向いている。 ただし N i j kが 4か 8であるので、 もしハードウェアの実装時 に N i j k = 4のとき X u kに対して左シフト命令を 2回、 N i j k= 8のとき X i j kに 対して左シフト命令を 3回実行するような回路に変更することにより、 実数の乗算を実行 する回路を省くことができる。
fcx = L ximk - Nijkxijk (11)
p(l,m,k)€Pijk(g)
ラプラシアンによつて求められた値からゼロ点を見付ける方法として、 従来は正から負 に変化する画素を見付けていたが、 本発明では数式 1 2に従い、 負から正にゼロ交差す る画素の他に、 負からゼロやゼロから正などゼロ点が経由したり、ゼロが継続する画素を 見付けるようにする。 本発明では、 数式 1 2が見付けたゼロ点はエッジのある場所ではな く、 ノイズのある場所、 つまりエッジのない場所になる。 また数式 1 2により実数値の二 値化も同時に行っている <
1 if xijk < 0 and ximk > 0 forョ ρ(ί, m, k) e Pijk{q),
Z"k、 ) (12)
0 otherwise.
画像 xが任意の二値画像であるとして、 画像 Xのうち孔が空いている画素を埋める場合 には、 数式 1 3に従い計算する。 ここで f は埋めるべき孔の大きさを表すパラメ一夕であ り、 一般には f = lで十分である。 なお 4近傍の場合にはその性質上対角線を検知するこ とができないので、 極力 8近傍にした方がよい。
1
Figure imgf000050_0001
Xijk otherwise.
画像 xが任意の二値画像であるとして、 画像 Xのうち孤立点なレゝし孤立孔を削除する場 合には、 数式 1 4に従い計算する。 なお 4近傍の場合にはその性質上対角線を検知するこ とができないので、 極力 8近傍にした方がよい。
0 ii Xijk = 1 and ∑P(i,m,k)ePij k{q) ximk = 0,
Aijk (x) = { I if Xijk = 0 and ∑pm,fc)ePijfc(9) ximk = Nijk, (14)
Xijk otherwise.
画像 xが任意の二値画像であるとして、 画像 Xのうち線幅が 1である画素を検知するた めに、 4近傍画素を用いて数式 1 5に従い計算する。
^ijk if ^i-ljk + ^i+ljk = 0 ΟΓ X{j-ik + Xij+lk = 0,
(15)
0 otherwise.
2つの画像 x、 yが任意の二値画像であり、 画像 yが画像 Xのうち線幅が 1である画素 を検知した画像であるとすると、 画像 Xのうち線幅が 1である画素の線幅を拡張するため に、 4近傍画素を用いて数式 1 6に従い計算する。 1 if Vi-ijk + yi+ijk + Vij-ik + Vij+ik > 0,
Kijk x, y) (16)
Xijk otherwise.
そこで数式 1 5の線幅検知と数式 1 6の線幅拡張を用いると、 数式 1 7に従い二値画像 の線幅補完を簡単に記述することができる。
Figure imgf000051_0001
次に画像の各帯域画素値に対する近傍処理に関する関数及びオペレータについて以下 で説明する。
2つの画像 x、 yがある場合、 これらの画像の最大値画像は数式 1 8に従って計算され る。 i fc (x, y) = < (18)
Uijk otherwise.
2つの画像 x、 yがある場合、 これらの画像の差分は数式 1 9に従って計算される。 fe(x, y) = Xijk - yak (19) ここで数式 1 1のラプラシアンと数式 1 9の差分を用いると、 数式 2 0に従い画像の鮮 鋭化を簡単に記述することができる。 "Χ) = (χ, χ) (20)
2つの画像 x、 yがあり、 画像 yが単帯域二値画像である場合、 数式 2 1に従い、 画像 yの帯域画素値を用いて画像 Xの各帯域画素値をマスクすることができる。
Oijk(x, y) = XijkViji (21) 2つの画像 x 、 yがあり、 画像 Xと yが二値画像である場合、 数式 2 2に従い、 画像— x を基に画像 yを整形することができる。
Figure imgf000052_0001
otherwise.
2つの画像 x、 yがあり、 画像 yが二値画像である場合、 数式 2 3に従い、 画像 yで指 定されなかつた画像 Xの帯域画素値を、 画像 Xの帯域画素値の近傍のうち画像 yで指定さ れた画像 Xの帯域画素値の平均値で補間する。 ただし i n t ( v ) は実数 vの小数点以下 切り捨てを意味するものとする。
mt(~V ~ ) lf Viji = 0 and ∑p , mJ) ( yimi > 0,
Xijk otherwise.
(23) さて本発明では、 画素の位置や移動量なども画像データのように扱うことで処理を単純 にしている。 これを位置の画像化と呼ぶ。 以下では画像化に関する幾つかの関数及びオペ レー夕について説明する。
まず位置 p ( 1 , m, o ) のし m、 o各々の値を画像データとして帯域画素値に変換 するオペレータを #とし、 変換された帯域画素値を # p ( 1 , m, o ) とする。 次に帯域 画素値が位置 p ( i , j , k )から位置 p ( i + 1 , j +m, k + o ) へ移動する場合を 考える。 このとき帯域画素値の移動量は位置 p ( 1 , m, o ) として表されるものとす る。 つまり移動量はある位置からのベクトルと見なすことができる。 最後に帯域画素値 から位置を取り出すオペレータを とする。 したがって # - 1 # p ( 1 , m, o ) = p ( 1 , m, o )となる。
そこで数式 2 4に従い、 移動量 p ( i , j , k ) を幅方向と高さ方向で表される平面内 で 1 8 0度反対方向に向けることができる。 T(p(i, j, )) = p(-i, -j, k) (24) 画像 xがあり、 画像 xが単帯域二値画像である場合、 画像 Xの位置 p ( i , j , 1 ) に おける重心位置への移動量は数式 25に従い計算される。 なお、 本来重心を計算する際に は除算を行う必要があるが、 8近傍内への移動量を計算する際に除算は相殺されてしまう ので、 数式 25では除算が省かれている。
Giji x) =p{ (I - i)ximi, L (m - j iml,0) (25) ρ(ί,τη,1)εΡϋι(9) p(l,m,l)ePiji(q)
移動量 P ( i , j, k)から、 数式 26及び 27に従い 8近傍内への移動量を計算し、 移動量画像に画像化することができる。 なお数式 27は、 画像の離散化により数式 26で は対応しきれない場合にのみ利用する。 fc(l,0,fc) ifi > 0, |i| < |i|/2,
i (l, - 1, ) ifi > 0,j <0, |i|/2 < |i| < 2|i|
, - 1, ) ifj < 0, 2|i| < |i|,
-l, -1, k) ifz < 0, j < 0, \i\/2 < \j\ < 2\i\
e(p(i ,k)) = fc(_l,0, ) ifi < 0,レ ·| < I/2, (26) ϋΡ (— 1,1, ) ifi < 0, > 0, |i|/2 < | | < 2|i|
1, ) ifj > 0, 2|i| < | |,
t (l,l, ) ifi > 0,j > 0, \i\/2 < \j\ < 2\i\
¾p(0, 0, k) otherwise. tip(l,0, ) ifz> 0, |i| < |z|/2,
tJp(l,0,¾) ifi> 0,j< 0, |/2<|i| < 2|i|,
fc(0,l, ) ifi<0,j> 0, I/2 < | | < 2|z|,
&(p(i,j,k)) = (27) 。,l, ) ifi> 0, 2\i\ < \j\,
| 1,1, ) ifi>0,i>0, \i\/2 < \j\ < 2\i\,
t)p(0, 0, k) otherwise .
したがって数式 25、 26及び 27を用いると、 数式 28及び 29に従い、 単帯域二値 画像 Xの重心方向への移動量画像の帯域画素値を簡単に記述することができる。 なお移動 量画像の帯域数は 1となる。
Δ„ι(χ) = 0(Gi:)i(x)) (28)
A^.1(x)=e'(Gi l(x)) (29) 一方で数式 24を用いると重心位置の反対位置を求めることができるので、 数式 30に 従い、 単帯域二値画像 Xの重心と反対方向への移動量画像の帯域画素値を簡単に記述する ことができる。 なお移動量画像の帯域数は 1となる。
¾ii(x) = e(T(Gijl(x))) (30)
2つの画像 x、 yがあり、 画像 yが移動量画像である場合、 数式 31に従い、 画像 yで 指し示された移動位置に画像 Xの帯域画素値を移動した後、 同じ帯域画素に移動した帯域 画素値の合計を濃淡画像にすることができる。
rifc( , ) = ∑ximfc for p(l,m,l) G Piji(q) and tt_1yimi = p(i - m,0). (31) そこで数式 4、 28、 29及び 31を用いることにより、 数式 32又は 33に従い、 単 帯域濃淡画像 Xを近傍の重心方向に移動した後、 同じ帯域画素に移動した帯域画素値の合 計を簡単に記述することができる。
Λϋι(χ) = Γί (χ,Α(Φ(χ))) (32)
Figure imgf000055_0001
2つの画像 x、 yがあり、 画像 Xが二値画像で、 画像 yが移動量画像である場合、 画像 Xの各帯域画素値の移動先の位置を求めることができるので、 移動先が重複する帯域画素 値を見つけることができる。 そこで画像 Xの各帯域画素値の移動先が重複することなく、 しかも移動する各帯域画素値が存在することを表す移動可能画像の帯域画素値は、 数式 3 4に従い生成される。 なお移動可能画像の帯域数は 1となる。
1 if Xiji = 0 and {|一 i ml = p(i— l,j— m, 0)
Hiji(x, y) = { for only one οϊ p(l, m, 1) G ¾i( , (34)
0 otherwise.
3つの画像 x、 y、 wがあり、 画像 yが移動可能画像であり、 画像 wが移動量画像であ る場合、 数式 3 5に従い画像 Xの帯域画素値を移動することができる。 ximk if Viji = 1 and 1 mi = P{i一 j— m, 0)
forョ p , m, 1) e Piji(g),
? i,-fc(x,y, ) = 0 if yimi = 1 and ¾_1^ι = p(l - i,m- j, 0) (35) forョ; )(Z,m,l) G Piji(q),
Xijk otherwise.
そこで数式 30、 34及び 35を用いると、 数式 36に従い、 二値画像 yから計算され る重心位置と反対方向に画像 Xの帯域画素を移動することで得られる画像の帯域画素値 を簡単に記述することができる。
¾fc(x,y) = Tijfc(x,H(y,R(y)),R(y)) (36) 数式 1から数式 3 6までを用いることにより、 画像記憶手段 1 2 (図 1及び図 6参照)、 画像振動手段 1 3 (第 3図、 第 4図及び第 5図参照)、 エッジ情報生成手段 1 4 (第 1図 及び第 6図参照)、 エッジ情報形成手段 1 5 (第 1図ないし第 5図、 第 7図ないし第 1 2 図参照)、 物体 Z背景分離手段 1 6 (第 2、 4、 5、 7図ないし第 1 2図参照)、 位置 Z大 きさ検出手段 1 7 (第 1図及び第 6図参照)、 領域正規化手段 2 7 (第 7図参照)、 及び 正規化画像保持手段 2 8 (第 7図参照) を実装することができるデータ処理装置 1 1 0の 全ての配列演算ュニット 4 0のァルゴリズムを記述することができる。 以下では、データ 処理装置 1 1 0中の任意の配列演算ュニット 4 0のァルゴリズムを用いて、 画像振動手段 1 3、 エッジ情報生成手段 1 4、 エッジ情報形成手段 1 5、 位置 大きさ検出手段 1 7及 び領域正規化手段 2 7に対応する請求項 6から請求項 1 0までに記載されている視覚装 置について説明する。
データ処理装置 1 1 0によって実現される画像記憶手段 1 2 (第 1図及び第 6図参照) がデジタル画像 1 1 1を記憶するために、 格子状に配列された配列演算ユニット 4 0は同 期して並列に動作する。 格子上 i行 j列に配置された配列演算ュニット 4 0を AOU s j とすると、 AOU i j のアルゴリズムは第 1 4図のようになる。
ステップ 1 2 0 1で、 AO U i j を格子上の i行:)'列に配置する。 これは論理的であれ 物理的であれ、 AO U i jの近傍を決定するために必要である。
ステップ 1 2 0 2で、 AOU ! j の近傍や変数の初期値を設定する。
ステップ 1 2 0 3で、 順次入力されるデジタル画像 1 1 1が無くなつたかどうか判断す る。 もしデジタル画像 1 1 1が無ければ (ステップ 1 2 0 3 : Y E S ) , アルゴリズムを 終了する。 もしデジタル画像 1 1 1があれば (ステップ 1 2 0 3 : N〇)、 ステップ 1 2 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 4 0を実装する 場合には、 無限ループにしても良い。
ステップ 1 2 0 4で、 デジタル画像 1 1 1が準備されるまで入力待ちをする。
ステップ 1 2 0 5で、デジタル画像 1 1 1の i行 j列の画素を帯域数分入力する。 この ため AOU ; jは少なくとも帯域数分の画像データを記憶するメモリ 4 2を必要とする。 ステップ 1 2 0 6で、 入力待ちの間出力できるように、デジタル画像 1 1 1の i行 j列 の画素を記憶する。
ステップ 1 2 0 7で、デジタル画像 1 1 1の帯域画素値を出力する。 その後ステップ 1 2 0 3に戻る。
これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 画 像記憶手段 1 2に対応する視覚装置はデジタル画像 1 1 1を記憶することができる。 データ処理装置 1 1 0によって実現される請求項 6記載の画像振動手段 1 3 (第 3図、 第 4図及び第 5図)がデジタル画像 1 1 1を振動させるために、 格子状に配列された配列 演算ュニッ卜 4 0は同期して並列に動作する。 格子上 i行 j列に配置された配列演算ュ ニット 4 0を A〇U i j とすると、 AO U i jのアルゴリズムは第 1 5図のようになる。 ステップ 1 3 0 1で、 AOU j j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AO U i j の近傍を決定するために必要である。
ステップ 1 3 0 2で、 AOU i』 の近傍や変数の初期値を設定する。
ステップ 1 3 0 3で、 順次入力されるデジタル画像 1 1 1が無くなつたかどうか判断す る。 もしデジタル画像 1 1 1が無ければ (ステップ 1 3 0 3 : Y E S ) , アルゴリズムを 終了する。 もしデジタル画像 1 1 1があれば (ステップ 1 3 0 3 : N〇)、 ステップ 1 3 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 4 0を実装する 場合には、 無限ループにしても良い。
ステップ 1 3 0 4で、デジタル画像 1 1 1の i行 j列の画素を帯域数分入力する。 この ため AOU uは少なくとも帯域数分の画像データを記憶するメモリ 4 2を必要とする。 ステップ 1 3 0 5で、 関数 S u k ( X )に従いデジタル画像 1 1 1の i行 j列の画素を 近傍画素の 1つに移動させる。
ステップ 1 3 0 6で、デジタル画像 1 1 1の帯域画素値を出力する。 その後ステップ 1 3 0 3に戻る。
これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 画 像振動手段 1 3に対応する請求項 6記載の視覚装置はデジタル画像 1 1 1を振動させる ことができる。
データ処理装置 1 1 0によって実現される請求項 7記載のエッジ情報生成手段 1 4 (第 1図及び第 6図参照)がデジタル画像 1 1 1から粗エッジ情報画像 1 1 3を生成するため に、 格子状に配列された配列演算ュニット 4 0は同期して並列に動作する。 格子上 i行 j 列に配置された配列演算ユニット 4 0を AOU i j とすると、 エッジ情報生成手段 1 4に 対する AOU i j のアルゴリズムは第 1 6図のようになる。
ステップ 1 4 0 1で、 A〇U; j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU i jの近傍を決定するために必要である。
ステップ 1 4 0 2で、 AOU i』 の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に 4か 8に決めても良いし、 全部を 4か 8に 統一しても良い。 本発明のエッジ情報生成手段 1 4が生成する粗エッジ情報 1 1 2の正確 さを上げるためには近傍サイズ Qを全て 8に設定することが望ましい。 しかしながら粗 エッジ情報 1 1 2を生成するための計算時間の制約や、デジタル画像 1 1 1の帯域数など により、 エッジ情報生成手段 1 4は必要に応じて適宜近傍サイズを変えることで対処する ことができる。
ステップ 1 4 0 3で、デジタル画像 1 1 1が終了したかどうか判断する。 もしデジタル 画像 1 1 1が無ければ (ステップ 1 4 0 3 : Y E S ) , アルゴリズムを終了する。 もしデ ジタル画像 1 1 1があれば (ステップ 1 4 0 3 : NO )、 アルゴリズムを終了する。 ただ し特定の帯域数と画像サイズに対して配列演算ュニット 4 0を実装する場合には、 無限 ループにしても良い。
ステップ 1 4 0 4で、デジタル画像 1 1 1の i行 j列の画素を帯域数分入力する。 これ は、 AOU uがデジタル画像 1 1 1の i行 j列の画素を一括して処理するためである。 このため AOU i jは少なくとも帯域数分の画像データを記憶するメモリ 4 2を必要とす る。
ステップ 1 4 0 5で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 入力したデジタル画像 1 1 1の各帯域画素値に対して関数 S;』 k ( X )に従い平滑化を行 う。 平滑化された帯域画素値は平滑化画像の帯域画素値として扱われる。 ここで関数 i j k ( X )は必要に応じて数回繰り返しても良い。 一般的なカラ一画像の場合、 2回で十 分である。
ステップ 1 4 0 6で、 平滑化画像の各帯域画素値に対して関数 L i j k ( x )に従い対数 変換を行う。 対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。 ステップ 1 4 0 7で、 A〇U Uが近傍の配列演算ユニット 4 0と通信することにより、 対数変換画像の各帯域画素値に対して関数 E i』 k ( X )に従い鮮鋭ィ匕を行う。 鮮鋭化され た帯域画素値は鮮鋭化画像の帯域画素値として扱われる。
ステップ 1 4 0 8で、 鮮鋭化画像の各帯域画素値に対して関数 D i j k ( X , y )に従い 1入力前鮮鋭化画像の各帯域画素値を引く。 差分を計算された帯域画素値は時間差分画像 の帯域画素値として扱われる。
ステップ 1 4 0 9で、 1入力前鮮鋭化画像の各帯域画素値を鮮鋭化画像の対応する各帯 域画素値で置き換える。
ステップ 1 4 1 0で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 時間差分画像の各帯域画素値に対してオペレータ V j k Xに従いラプラシアンの計算を 行う。 ラプラシアンを計算された帯域画素値は時間差分ラプラシアン画像の帯域画素値と して扱われる。
ステップ 1 4 1 1で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 時間差分ラプラシアン画像の各帯域画素値に対して関数 Z i』 k ( X )に従いゼロ点を抽出 する。 ゼロ点を抽出された帯域画素値は時間差分ゼロ点画像の帯域画素値として扱われ る。
ステップ 1 4 1 2で、 時間差分ラプラシアン画像の各帯域画素値に対して関数 B i』 X )に従い各帯域画素値のうち最大値を検出する。 検出された最大値帯域画素値は最大 値時間差分ゼロ点画像の帯域画素値として扱われる。 なお便宜上帯域数は 1である。 ステップ 1 4 1 3で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 鮮鋭化画像の各帯域画素値に対してオペレータ V f j k Xに従いラプラシアンの計算を行 う。 ラプラシアンを計算された帯域画素値はラプラシアン画像の帯域画素値として扱われ る。
ステップ 1 4 1 4で、 AOU i】が近傍の配列演算ユニット 4 0と通信することにより、 ラプラシアン画像の各帯域画素値に対して関数 Z i』 k ( X )に従いゼロ点を抽出する。ゼ 口点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ 1 4 1 5で、 ラプラシアン画像の各帯域画素値に対して関数 B i j x ( x )に従 い各帯域画素値のうち最大値を検出する。 検出された最大帯域画素値は最大値ゼロ点画像 の帯域画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 4 1 6で、 ラプラシアン画像の各帯域画素値と時間差分ラプラシアン画像の 各帯域画素値に対して関数 M i j k ( x, y )に従い各々の画像の同じ位置にある帯域画素 値のうち最大値を検出する。 検出された最大帯域画素値は混成ゼロ点画像の帯域画素値と して扱われる。 なお便宜上帯域数は 1である。
ステップ 1 4 1 7で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 混成ゼロ点画像の帯域画素値に対して関数 F i j k ( X )に従い孔を除去する。 孔を除去さ れた帯域画素値は孔除去混成ゼ口点画像の帯域画素値として扱われる。 なお便宜上帯域数 は 1である。 ここで関数 F i j k ( X )は必要に応じて数回繰り返しても良い。 一般的な力 ラ一画像の場合、 1回で十分である。
ステップ 1 4 1 8で、 AOU i〗が近傍の配列演算ユニット 4 0と通信することにより、 孔除去混成ゼロ点画像の帯域画素値に対して関数 A ; j k ( x )に従い孤立点および孤立孔 を除去する。 孤立点および孤立孔を除去された帯域画素値はノイズ除去混成ゼロ点画像の 帯域画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 4 1 9で、 ノイズ除去混成ゼロ点画像の帯域画素値に対して関数 I i j k ( X )に従い 0と 1を反転させる。 反転された帯域画素値は粗エッジ情報画像 1 1 3の帯域画 素値として扱われる。
ステップ 1 4 2 0で、 粗エッジ情報画像 1 1 3の帯域画素値を出力する。 その後ステツ プ 1 4 0 3に戻る。 これにより、配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、エツ ジ情報生成手段 1 4に対応する請求項 7記載の視覚装置はデジタル画像 1 1 1から粗エツ ジ情報画像 1 1 3を生成することができる。
第 1 7図に示すように、データ処理装置 1 1 0によって実現されるエッジ情報形成手段— 1 5 (第 1図ないし第 5図、 図、 第 7図ないし第 1 2図参照)が、 粗エッジ情報 1 1 2か ら構成される請求項 8記載の粗エッジ情報画像 1 1 3及びデジタル画像 1 1 1から、 形成 エッジ情報 1 1 4から構成される形成エッジ情報画像 1 1 5を生成するために、 格子状に 配列された配列演算ュニッ卜 4 0は同期して並列に動作する。 格子上 i行 j列に配置され た配列演算ュニット 4 0を AOU i j とすると、 A〇U i j のァルゴリズムは第 1 8図の ようになる。
ステップ 1 5 0 1で、 A〇U i』 を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AO U i jの近傍を決定するために必要である。
ステップ 1 5 0 2で、 AO U i】 の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ qを個別に 4か 8に決めても良いし、 全部を 4か 8に 統一しても良い。 本発明のエッジ情報形成手段 1 5が形成した形成エッジ情報 1 1 4の正 確さを上げるためには近傍サイズ Qを全て 8に設定することが望ましい。 しかしながら粗 エッジ情報 1 1 2を形成するための計算時間の制約や、 入力されるデジタル画像 1 1 1の 帯域数などにより、 エッジ情報形成手段 1 5は必要に応じて適宜近傍サイズを変えること で対処することができる。
ステップ 1 5 0 3で、 順次入力されるデジタル画像 1 1 1又は粗エッジ情報画像 1 1 3 が無くなつたかどうか判断する。 もしデジタル画像 1 1 1若しくは粗エッジ情報画像 1 1 3のいずれかが無ければ (ステップ 1 5 0 3 : Y E S ) , アルゴリズムを終了する。 もし デジタル画像 1 1 1若しくは粗エッジ情報画像 1 1 3のいずれかがあれば (ステップ 1 5 0 3 : NO )、 ステップ 1 5 0 4に移行する。 ただし特定の帯域数と画像サイズに対して 配列演算ュニット 4 0を実装する場合には、 無限ループにしても良い。
ステップ 1 5 0 4で、デジタル画像 1 1 1及び粗エッジ情報画像 1 1 3の i行 j列の画 素を帯域数分入力する。 これは、 AOU i】がデジタル画像 1 1 1及び粗エッジ情報画像 1 1 3の i行 j列の画素を一括して処理するためである。 このため AOU i jは少なくと も帯域数分の画像データを記憶するメモリ 4 2を必要とする。
ステップ 1 5 0 5で、 デジタル画像 1 1 1の i行 j列の画素と粗エッジ情報画像 1 1 3一 の i行 j列の画素を分離する。 これは、 AO U i】がデジタル画像 1 1 1の i行 j列の画 素と粗エッジ情報画像 1 1 3の i行 j列の画素を各々独立した画像の画素として処理する ためである。 もしデジタル画像 1 1 1の i行 j列の画素と粗エッジ情報画像 1 1 3の i行 j列の画素が初めから分離されて入力されていれば、 特に何もしない。
ステップ 1 5 0 6で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 入力したデジタル画像 1 1 1の各帯域画素値に対して関数 S i j k ( X )に従い平滑化を行 う。 平滑化された帯域画素値は平滑化画像の帯域画素値として扱われる。 ここで関数 S i j k ( X )は必要に応じて数回繰り返しても良い。 一般的なカラ一画像の場合、 2回で十 分である。
ステップ 1 5 0 7で、 平滑化画像の各帯域画素に対して関数 L U k ( X )に従い対数変 換を行う。 対数変換された帯域画素値は対数変換画像の帯域画素値として扱われる。 ステップ 1 5 0 8で、 AOU i jが近傍の配列演算ュニット 4 0と通信することにより、 対数変換画像の各帯域画素値に対して関数 E i j k ( X )に従い鮮鋭化を行う。 鮮鋭化され た帯域画素値は鮮鋭化画像の帯域画素値として扱われる。
ステップ 1 5 0 9で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 鮮鋭化画像の各帯域画素値に対してオペレータ V ^ j k Xに従いラプラシアンの計算を行 う。 ラプラシアンを計算された帯域画素値はラプラシァン画像の帯域画素値として扱われ る。
ステップ 1 5 1 0で、 AO U i jが近傍の配列演算ユニット 4 0と通信することにより、 ラプラシアン画像の各帯域画素値に対して関数 Z!』 k ( X )に従いゼロ点を抽出する。ゼ 口点を抽出された帯域画素値はゼロ点画像の帯域画素値として扱われる。
ステップ 1 5 1 1で、 ゼロ点画像の各帯域画素値に対して関数 B i』 X )に従い各帯 域画素値のうち最大値を検出する。 検出された最大帯域画素値は最大値ゼロ点画像の帯域 画素値として扱われる。 なお便宜上帯域数は 1である。
ステップ 1 5 1 2で、 最大値ゼロ点画像の帯域画素値に対して関数 I U k ( X )に従い 0と 1を反転させる。 反転された帯域画素値は基礎エッジ情報画像の帯域画素値として扱 われる。
ステップ 1 5 1 3で、 入力した粗エッジ情報画像 1 1 3の帯域画素値は初め整形粗エツ ジ情報画像の帯域画素値として扱われ、 AO U i jが近傍の配列演算ュニット 4 0と通信 することにより、 基礎エッジ情報画像の帯域画素値を用いて、 整形粗エッジ情報画像の帯 域画素値に対して関数 Q i j k ( X , y )に従い整形を行う。 整形された帯域画素値は再び 整形粗エッジ情報画像の帯域画素値として扱われる。 ここで関数 Q i j k ( X , y )は本来 整形粗ェッジ情報画像の帯域画素値が変化しなくなるまで繰り返される。 ただし計算時間 の制約、 入力される粗エッジ情報画像 1 1 3の品質、 形成される形成エッジ情報画像 1 1 5に求められる品質などにより、 整形処理は適当な繰り返し回数で計算を打ち切った方が 良い。
ステップ 1 5 1 4で、 AOU i 3が近傍の配列演算ユニット 4 0と通信することにより、 整形粗エッジ情報画像の帯域画素値に対して関数 C i j k ( x こ従い線幅補完を行う。 補 完された帯域画素値は形成エッジ情報画像 1 1 5の帯域画素値として扱われる。
ステップ 1 5 1 5で、 形成エッジ情報画像 1 1 5の帯域画素値を出力する。 その後ス テツプ 1 5 0 3に戻る。
これにより、配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、エツ ジ情報形成手段 1 5に対応する請求項 8記載の視覚装置は粗エッジ情報画像 1 1 3から形 成エッジ情報画像 1 1 5を生成することができる。
ここで粗エッジ情報画像 1 1 3から形成エッジ情報画像 1 1 5への形成とは、 ある場面 を撮影した低解像度のデジタル画像 1 1 1から生成されたエッジ情報から、 同じ場面を撮 影した高解像度のデジタル画像 1 1 1から生成されるべきエッジ情報を推定することであ ると見なすことができる。 そこで自然数 ηに対して、 第 1 9図に示すように、 デジタル 画像 1 1 1の解像度を 1 /nに低くした低解像度デジタル画像 1 1 6から、 エッジ情報 生成手段 i 4を用いて低解像度粗エッジ情報画像 1 1 7を生成した場合、 低解像度粗エツ ジ情報画像 1 1 7を n倍拡大することにより粗エッジ情報画像 1 1 3を生成することが できる。 ただしデジタル画像 1 1 1の解像度を l Znにするためには、 水平及び垂直方 向に対して単純にデジタル画像 1 1 1の連続する n個のうち 1個を抽出すれば良い。 ま た低解像度粗エッジ情報画像 1 1 7を n倍拡大するためには、 水平及び垂直方向に対し て単純に低解像度粗エッジ情報画像 1 1 7の連続する画素の間に帯域画素値が 0である 画素を n— 1個埋めれば良い。 このとき nがあまり大きくなければ、 エッジ情報形成手 段 1 5を実現するデータ処理装置 1 1 0が、 低解像度粗エッジ情報画像 1 1 7を拡大した 粗エッジ情報画像 1 1 3を形成した形成エッジ情報画像 1 1 5と、 エッジ情報形成手段 1 5を実現するデータ処理装置 1 1 0が、デジタル画像 1 1 1から生成した粗エッジ情報画 像 1 1 3を形成した形成エッジ情報画像 1 1 5とは、 ほとんど同じものになる。 この理由 は、 エッジ情報形成手段 1 5がデジタル画像 1 1 1を用いて内部で生成したエッジ情報の うちどのエッジ情報を利用するのか参考にするために、 エッジ情報形成手段 1 5が粗エツ ジ情報画像 1 1 3を用いているだけだからである。 したがって低解像度粗エッジ情報画像 1 1 7を拡大した粗エッジ情報画像 1 1 3をエッジ情報形成手段 1 5に入力した場合、 低 解像度デジタル画像 1 1 6から低解像度粗エッジ情報画像 1 1 7を生成するエッジ情報生 成手段 1 3を実現するデータ処理装置 1 1 0はハードウェア量を低減することができる。 さらにこの方法を発展させると、 第 2 0図に示すように、デジタル画像 1 1 1の解像度 を低くした低解像度デジタル画像 1 1 6から生成した低解像度粗エッジ情報画像 1 1 7の うち、 粗エッジ情報 1 1 2の周辺を切り出した低解像度切出粗エッジ情報画像 1 1 8を生 成することができる。 この低解像度切出粗エッジ情報画像 1 1 8を拡大した切出粗エッジ 情報画像 1 1 9と、デジタル画像 1 1 1のうち同じ領域を切り出した切出デジタル画像 1 2 0をエッジ情報形成手段 1 4を実現するデータ処理装置 1 1 0に入力すると、 切出形成 エッジ情報画像 1 2 1を生成することができる。 この場合、 エッジ情報形成手段 1 4を実 現するデータ処理装置 1 1 0はハードウェア量を低減することができる。 第 2 1図に示すように、 データ処理装置 1 1 0によって実現される請求項 9記載の位 置/大きさ検出手段 1 7 (第 1図及び第 6図参照)が粗エッジ情報 1 1 2を画素とする粗 エッジ情報画像 1 1 3から重複情報 1 3 1を画素とする重複情報画像 1 3 2を生成するた めに、 格子状に配列された配列演算ユニット 4 0は同期して並列に動作する。 格子上 i行 j列に配置された配列演算ユニット 4 0を AO U i〕 とすると、 AOU uのァルゴリズ ムは第 2 2図のようになる。
ステップ 1 7 0 1で、 AO U i j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AO U i』の近傍を決定するために必要である。
ステップ 1 7 0 2で、 AOU i j の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成した重複情報画像 1 3 2の正確さを上げるために は近傍サイズ Qを全て大きな値に設定することが望ましい。 しかしながら物体の粗ェッジ 情報 1 1 2の重心を計算するための計算時間の制約や、 入力される粗エッジ情報画像 1 1 3のサイズなどにより、 位置/大きさ検出手段 1 7は必要に応じて適宜近傍サイズを変え ることで対処することができる。
ステップ 1 7 0 3で、 順次入力される粗エッジ情報画像 1 1 3が無くなつたかどうか判 断する。 もし粗エッジ情報画像 1 1 3が無ければ (ステップ 1 7 0 3 : Y E S ) , ァルゴ リズムを終了する。 もし粗エッジ情報画像 1 1 3があれば (ステップ 1 7 0 3 : N O ) , ステップ 1 7 0 4に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 4 0を実装する場合には、 無限ループにしても良い。
ステップ 1 7 0 4で、 粗エッジ情報画像 1 1 3の i行 j列の画素を 1帯域分入力する。 このため AOU; jは少なくとも 1帯域分の画像データを記憶するメモリ 4 2を必要とす る。
ステップ 1 7 0 5で、 粗エッジ情報画像 1 1 3の粗エッジ情報 1 1 2を重複情報画像 1 3 2の重複情報 1 3 1に変換する。 重複情報 1 3 1は 1か 0に相当する帯域画素値とな る。 ステップ 1 7 0 6で、 A〇U i jが近傍の配列演算ユニット 4 0と通信することにより、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ u i ( X )に従い移動量を計算する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 1 7 0 7で、 A〇U i jが近傍の配列演算ユニット 4 0と通信することにより、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ u i ( X )に従い移動させる。 移動し た帯域画素値は新たに重複情報画像 1 3 2の帯域画素値として扱われる。
ステップ 1 7 0 8で、 ステップ 1 7 0 5からステップ 1 7 0 7までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達していな ければ (ステップ 1 7 0 8 : N〇)、 ステップ 1 7 0 5に戻る。 もし移動回数が指定回数 に達していれば (ステップ 1 7 0 8 : Y E S ) , ステップ 1 7 0 9に移行する。 なおこの 指定回数は粗エッジ情報画像 1 1 3のサイズや粗エッジ情報 1 1 2が表す物体のサイズ、 さらには近傍のサイズ Qにより決定される。 利用目的に応じて適切なパラメ一夕を設定 すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎると、 位置及び大きさの検出に要する時間が長くなる。
ステップ 1 7 0 9で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 重複情報画像 1 3 2の各帯域画素値に対して関数 Δ ' u X )に従い移動量を計算する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 1 7 1 0で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 重複情報画像 1 3 2の各帯域画素値に対して関数 Λ ' i j i ( X )に従い移動させる。 移動 した帯域画素値は新たに重複情報画像 1 3 2の帯域画素値として扱われる。
ステップ 1 7 1 1で、 重複情報画像 1 3 2の帯域画素値を出力する。 その後ステップ 1 7 0 3に戻る。
なお重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした周辺にある粗エツ ジ情報 1 1 2の総数を表すので、 結果的にその位置を中心とした物体の大きさを意味する ことになる。
これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 位 置 大きさ検出手段 1 7に対応する請求項 9記載の視覚装置は粗エッジ情報画像 1 1 3_か ら重複情報画像 1 3 2を生成することができる。 当然のことながら請求項 9記載の視覚装 置は粗エッジ情報画像 1 1 3の代りに形成エッジ情報画像 1 1 5からも重複情報画像 1 3 2を生成することもできる。 したがって配列演算ュニッ卜 4 0から構成されるデータ処理 装置 1 1 0を用いて、 位置ノ大きさ検出手段 1 7に対応する視覚装置は形成エッジ情報画 像 1 1 5から重複情報画像 1 3 2を生成することができる。
ここで第 2 2図のアルゴリズムにおいて粗エッジ情報 1 1 2から構成される粗エッジ情 報画像 1 1 3の代りに物体領域 1 4 1を表す物体領域画像 1 4 2を用いると、 第 2 3図に 示すように、 データ処理装置 1 1 0によって実現される位置 Z大きさ検出手段 1 7 (図 2 及び図 4参照) は物体領域 1 4 1を表す物体領域画像 1 4 2からも重複情報 1 3 1を表す 重複情報画像 1 3 2を生成することができる。 ただし物体領域画像 1 4 2を用いた場合、 重複情報画像 1 3 2の各重複情報 1 3 1はその位置を中心とした物体領域 1 4 1の画素 の総数を表すので、 結果的にその位置を中心とした物体の面積を意味することになる。 し たがって重複情報画像 1 3 2から物体の大きさを求める場合には重複情報 1 3 1の平方根 を取るなど注意を要する。
第 2 4図に示すように、データ処理装置 1 1 0によって実現される請求項 1 0記載の領 域正規化手段 2 7 (第 7図参照)が物体領域 1 4 1を含む物体領域画像 1 4 2及びデジ夕 ル画像 1 1 1から正規化領域 1 4 4を含む正規化画像 1 4 5を生成するために、 格子状に 配列された配列演算ュニット 4 0は同期して並列に動作する。 格子上 i行 j列に配置され た配列演算ユニット 4 0を AO U i 3 とすると、 AOU i j のアルゴリズムは第 2 5図の ようになる。
ステップ 2 7 0 1で、 AO U i j を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AOU u の近傍を決定するために必要である。
ステップ 2 7 0 2で、 AO U uの近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ qを個別に決めても良いし、 全部を統一しても良い。 本発明の領域正規化手段 2 7が生成した正規化画像 1 4 5の正確さを上げるためには近 傍サイズ Qを全て大きな値に設定することが望ましい。 しかしながら分離物体領域 1 4 3 を正規化するための計算時間の制約や、 入力されるデジタル画像 1 1 1のサイズなどによ り、 領域正規化手段 2 7は必要に応じて適宜近傍サイズを変えることで対処することがで さる。
ステップ 2 7 0 3で、 順次入力される物体領域画像 1 4 2又はデジタル画像 1 1 1が無 くなつたかどうか判断する。 もし物体領域画像 1 4 2又はデジタル画像 1 1 1が無けれ ば (ステップ 2 7 0 3 : Y E S )、 アルゴリズムを終了する。 もし物体領域画像 1 4 2又 はデジタル画像 1 1 1があれば (ステップ 2 7 0 3 : NO ) , ステップ 2 7 0 4に移行す る。 ただし特定の帯域数及び画像サイズのみに対して配列演算ュニット 4 0を実装する場 合には、 無限ループにしても良い。
ステップ 2 7 0 4で、 物体領域画像 1 4 2の i行 j列の画素を 1帯域分と、デジタル画 像 1 1 1の i行 j列の画素を帯域数分を入力する。 これは、 AOU i jが物体領域画像 1 4 2の i行 j列の画素とデジタル画像 1 1 1の i行 j列の画素を一括して処理するため である。 このため AO U i jは少なくとも総帯域数分の画像データを記憶するメモリ 4 2 を必要とする。
ステップ 2 7 0 5で、 物体領域画像 1 4 2の i行 j列の画素とデジタル画像 1 1 1の i 行 j列の画素を分離する。 これは、 AOU uが物体領域画像 1 4 2の i行:)'列の画素と デジタル画像 1 1 1の i行 j列の画素を各々独立した画像の画素として処理するためであ る。 もし物体領域画像 1 4 2の i行 j列の画素とデジタル画像 1 1 1の i行 j列の画素が 初めから分離されて入力されていれば、 特に何もしない。
ステップ 2 7 0 6で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 物体領域画像 1 4 2の各帯域画素値に対して関数 R i j ( X )に従い移動量を計算する。 移動量を画像化した帯域画素値は移動量画像の帯域画素値として扱われる。
ステップ 2 7 0 7で、 AOU; jが近傍の配列演算ュニット 4 0と通信することにより、 物体領域画像 1 4 2の各帯域画素値に対して関数 H i j k ( x , y )に従い移動可能な移動 先帯域画素値を見つけることができる。 移動可能な移動先であるかどうかを表す値は移動 可能画像の帯域画素値として扱われる。
ステップ 2708で、 AOUi jが近傍の配列演算ユニット 40と通信することにより、 物体領域画像 142の各帯域画素値に対して関数 Ui jk( x , y )に従い移動可能先に移 動させる。 移動した帯域画素値は新たに物体領域画像 142の帯域画素値として扱われ る。
ステップ 2709で、 AOUi jが近傍の配列演算ユニット 40と通信することにより、 デジタル画像 111の各帯域画素値に対して関数 Ui jk( x , y )に従い移動可能先に移 動させる。 移動した帯域画素値は新たにデジタル画像 111の帯域画素値として扱われ る。
ステップ 2710で、 ステップ 2706からステップ 2709までの繰り返し回数を表 す移動回数が指定回数に達したかどうか判断する。 もし移動回数が指定回数に達していな ければ (ステップ 2710 : NO)、 ステップ 2706に戻る。 もし移動回数が指定回数 に達していれば (ステップ 2710 : YES), ステップ 2711に移行する。 なおこの 指定回数はデジタル画像 11 1のサイズやデジタル画像 111の分離物体領域 143の サイズ、 さらには近傍のサイズ Qにより決定される。 利用目的に応じて適切なパラメ一夕 を設定すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎ ると、 正規化に要する時間が長くなる。
ステップ 2711で、 AOUi jが近傍の配列演算ユニット 40と通信することにより、 移動を完了した物体領域画像 142の各帯域画素値に対して関数 V i j k( x , y )に従い 近傍の平均値で補間する。 なお Xと yは共に物体領域画像 142となる。 平均値で埋めら れた帯域画素値は正規化物体領域画像の帯域画素値として扱われる。
ステップ 2712で、 AOUi jが近傍の配列演算ユニット 40と通信することにより、 移動を完了したデジタル画像 111の各帯域画素値に対して関数 Vi j k( X , y )に従い 近傍の平均値で埋める。 これにより分離物体領域 143は正規化画像 145中の正規化領 域 144に変換される。 なお Xはデジタル画像 111となり、 yは物体領域画像 142と なる。 平均値で埋められた帯域画素値は正規化画像 145の帯域画素値として扱われる。 ステップ 2 7 1 3で、 ステップ 2 7 1 1からステップ 2 7 1 2までの繰り返し回数を表 す補間回数が指定回数に達したかどうか判断する。 もし補間回 Ifc^指定回数に達していな ければ (ステップ 2 7 1 3 : N〇)、 ステップ 2 7 1 1に戻る。 もし補間回数が指定回数 に達していれば (ステップ 2 7 1 3 : Y E S ) , ステップ 2 7 1 4に移行する。 一般的に 補間回数は近傍サイズ Qの半分程度の回数で十分である。
ステップ 2 7 1 4で、 ステップ 2 7 0 6からステップ 2 7 1 3までの繰り返し回数を表 す継続回数が指定回数に達したかどうか判断する。 もし継続回数が指定回数に達していな ければ (ステップ 2 7 1 4 : N〇)、 ステップ 2 7 0 6に戻る。 もし継続回数が指定回数 に達していれば (ステップ 2 7 1 4 : Y E S ) , ステップ 2 7 1 5に移行する。 なおこの 指定回数はデジタル画像 1 1 1のサイズやデジタル画像 1 1 1の分離物体領域 1 4 3の サイズ、 さらには近傍のサイズ Qにより決定される。 利用目的に応じて適切なパラメ一夕 を設定すれば、 指定回数を大目に決定しても問題はないが、 あまり指定回数を多くしすぎ ると、 正規化に要する時間が長くなる。
ステップ 2 7 1 5で、 正規化画像 1 4 5の帯域画素値を出力する。 その後ステップ 2 7 0 3に戻る。
これにより、 配列演算ユニット 4 0から構成されるデ一夕処理装置 1 1 0を用いて、 領 域正規化手段 2 7に対応する請求項 1 0記載の視覚装置が物体領域画像 1 4 2及びデジ タル画像 1 1 1から正規化画像 1 4 5を生成することができる。
デ一夕処理装置 1 1 0によって実現される正規化画像保持手段 2 8 (第 7図参照)が正 規化画像 1 4 5を記憶するために、 格子状に配列された配列演算ュニット 4 0は同期して 並列に動作する。 格子上 i行 j列に配置された配列演算ュニット 4 0を AO U i j とする と、 AO U i j のアルゴリズムは第 2 6図のようになる。
ステップ 2 8 0 1で、 AOU u を格子上の i行 j列に配置する。 これは論理的であれ 物理的であれ、 AO U i jの近傍を決定するために必要である。
ステップ 2 8 0 2で、 AOU ; j の近傍や変数の初期値を設定する。
ステップ 2 8 0 3で、 順次入力される正規化画像 1 4 5が無くなつたかどうか判断す る。 もし正規化画像 1 4 5が無ければ (ステップ 2 8 0 3 : Y E S )、 アルゴリズムを終 了する。 もし正規化画像 1 4 5があれば (ステップ 2 8 0 3 : NO )、 ステップ 2 8 0 4 に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 4 0を実装する場合 には、 無限ループにしても良い。
ステップ 2 8 0 4で、 正規化画像 1 4 5の i行 j列の画素を帯域数分入力する。 このた め AO U i j は少なくとも帯域数分の画像デ一夕を記憶するメモリ 4 2を必要とする。 ステップ 2 8 0 5で、 出力先の装置が必要とすれば正規化画像 1 4 5のフォーマットを 変換する。 特に正規化画像 1 4 5の帯域数を 1にしたり、デジタル画像 1 1 1の帯域数が 4以上の場合に正規化画像 1 4 5の帯域数を 3にして、 アナログ信号を生成しやすくする 場合に便利である。 さもなくば何もしない。
ステップ 2 8 0 6で、 処理速度の異なる出力先の装置に画像データを確実に送信できる ように、 正規化画像 1 4 5の i行 j列の画素を記憶する。
ステップ 2 8 0 7で、 正規化画像 1 4 5の帯域画素値を出力する。 その後ステップ 2 8 0 3に戻る。
これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 正 規化画像保持手段 2 8に対応する視覚装置が正規化画像 1 4 5を出力することができる。 さて、 ここまでは画像記憶手段 1 2 (第 1図及び第 6図参照)、 画像振動手段 1 3 (第 3図、 第 4図及び第 5図参照)、 エッジ情報生成手段 1 4 (第 1図及び第 6図参照)、 エツ ジ情報形成手段 1 5 (第 1図ないし第 5図、 第 7図ないし第 1 2図参照)、 物体 背景分 離手段 1 6 (第 2、 4、 5、 7図ないし第 1 2図参照)、 位置/大きさ検出手段 1 7 (第 1図及び第 6図参照)、 領域正規化手段 2 7 (第 7図参照)、 及び正規化画像保持手段 2 8 (第 7図参照) のアルゴリズムを記述してきた。 これらの手段は全て近傍処理によって 実現できるので、 これらの手段は格子状に配列した配列演算ュニット 4 0から構成される データ処理装置 1 1 0を用いることができた。 しかしながら画像認識手段 2 9 (第 8図参 照)近傍処理のみで実現することは困難である。 そこで画像認識手段 2 9において、 格子 状に配列した配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0が利用できるか どうか検討するために、 画像認識手段 2 9の処理を詳しく分類する。
画像認識手段 2 9では、 正規化画像 1 4 5 (第 2 4図参照) 全体に渡って拡大された移 動物体 2又は静止物体 3を事前に用意された候補の中から特定し、 認識結果を生成するこ とが求められる。 移動物体 2又は静止物体 3を特定する最も基本的な方法は、 移動物体 2 又は静止物体 3のテンプレート画像 1 4 6 (第 2 7図参照) を可能な限り多数用意して、 正規化画像 1 4 5をテンプレート画像 1 4 6と比較することにより、 正規化画像 1 4 5に 最も似ているテンプレート画像 1 4 6を見つけ出することである。 しかしながら画像認識 手段 2 9は、 正規化画像 1 4 5及びテンプレート画像 1 4 6から任意の画素を抽出して比 較しただけでは、 正規化画像 1 4 5に最も似ているテンプレート画像 1 4 6を見つけるこ とができないので、 正規化画像 1 4 5及びテンプレート画像 1 4 6の全画素を比較する必 要がある。 そのため画像認識手段 2 9は最小自乗法やニューラルネットワークなどの大域 処理を必要とする。データ処理装置 1 1 0は近傍処理に適した構造をしているので、デー 夕処理装置 1 1 0のみを用いて画像認識手段 2 9を実現することは難しい。
ところで画像認識手段 2 9は正規化画像 1 4 5から認識結果を生成する過程全般に渡つ て大域処理をする必要はない。 つまり正規化画像 1 4 5及びテンプレート画像 1 4 6から 任意の画素を抽出して比較した結果から認識結果を生成する過程において画像認識手段
2 9は大域処理を必要とするが、 正規化画像 1 4 5及びテンプレート画像 1 4 6から任意 の画素を抽出して比較する過程において画像認識手段 2 9は必ずしも大域処理を必要と しない。 ここで正規化画像 1 4 5及びテンプレート画像 1 4 6から任意の画素を抽出して 比較する過程は最も基本的なパターンマッチングとなるので、 このパターンマッチングが 近傍処理によつて実現できれば、 このパターンマツチングの結果から認識結果を生成する 過程のみを多数決など簡単な数値計算を実行する汎用プロセッサによって実現することが できる。 そこで以下では、データ処理装置 1 1 0によってパターンマッチングを実現する 方法について説明する。
まず正規化画像 1 4 5を Xとし、 n個のテンプレート画像 1 4 6を y y 2、 、 、 y h、、、 y nとする。 自然数 gを用いると、 マッチング結果画像 1 4 7の i 行 j 列の マッチング結果(5 u は、 数式 3 7に従って正規化画像 1 4 5及びテンプレート画 1 4 6の i 行 j 列の画素を比較し、 正規化画像 1 4 5の画素に最も似ている画素を有する テンプレート画像 1 4 6の番号を指し示す。 なおマッチング結果画像 1 4 7は単帯域画像 となるので、 便宜上帯域数 1の画像として取り扱うことにする。 したがってマッチング結 果 <5 i j iの第 3添字は 1となっている。
9 if ∑k (^ijk一 Vijkf = minl≤¾<n∑k (^ijk一 y,¾fc)2
Siji = ί τ 1 < g < n and only one of g, (37)
0 otherwise.
ここで数式 3 7に従って生成されたマッチング結果 δ i j 1はマッチング結果画像 1 4 7 全体において必ずしも統一されていない。 テンプレート画像 1 4 6が多数ある場合、 マツ チング結果画像 1 4 7はむしろモザイク状になる可能性が高い。 そこでデータ処理装置 1 1 0がマッチング結果 δ i j i とその Q近傍内のマッチング結果に対するヒストグラムを 計算し、 マッチング結果 <5 i j を収斂する方法を以下に示す。
任意の単帯域画像 Xがマッチング結果画像 1 4 7である場合、 自然数 g、 実数 uと V を用いると、 マッチング画像 1 7 2は数式 3 8及び 3 9に従って更新される。 なおマッチ ング結果画像 1 4 7は単帯域画像となるので、 便宜上帯域数 1の画像として取り扱うこと にする。 したがって関数 ^ U 1 ( X )の第 3添字は 1となっている。
i (x) 1 (38)
Figure imgf000073_0001
1 if u = ·υ,
eq(u, v)― (39)
0 otherwise. マッチング結果画像 1 4 7が変化しなくなるまでデータ処理装置 1 1 0が数式 3 8及び
3 9を繰り返し計算することにより、 マッチング結果画像 1 4 7全体のマッチング結果を 収斂することができる。 このとき正規化画像 1 4 5とテンプレート画像 1 4 6の組み合わ せにより、 マッチング結果は次のように収斂する。 もし正規化画像 1 4 5の約半分の画素 が特定のテンプレート画像 1 4 6の画素に最も類似していれば、 マッチング結果画像 1 4 7の殆んどのマッチング結果はこの特定のテンプレート画像 1 4 6の番号に収斂する。 し かしながら正規化画像 1 4 5の幾つかの画素の塊が幾つかの異なるテンプレート画像 1
4 6の画素の塊と類似していれば、 マッチング結果画像 1 4 7には 0で囲まれた幾つかの テンプレート画像 1 4 6の番号の塊ができる。 さらに正規化画像 1 4 5がテンプレート画 像 1 4 6の集合と相関がなければ、 マッチング結果画像 1 4 7のマッチング結果は殆んど 0となる。 したがってデ一タ処理装置 1 1 0によって実現されるパターンマッチングは、 正規化画像 1 4 5に最も似ているテンプレート画像 1 4 6を特定することは難しいが、 テ ンプレート画像 1 4 6の中から幾つかの似ているテンプレート画像 1 4 6を選択するこ とができると考えられる。 そこでパターンマッチングの結果から認識結果を生成する過程 では、 パターンマッチングによって生成されたマッチング結果画像 1 4 7が列挙するテン プレート画像 1 4 6の類似候補の中から、 最も有力な候補 1つを選択するだけで良い。 第 2 7図に示すように、データ処理装置 1 1 0によって実現される請求項 1 1記載のパ 夕一ンマッチングが、 テンプレート画像 1 4 6のうち正規化画像 1 4 5に最も似ている画 像の番号を示すマッチング結果から構成されるマッチング結果画像 1 4 7を生成するため に、 格子状に配列された配列演算ュニット 4 0は同期して並列に動作する。 格子上 i行 j 列に配置された配列演算ユニット 4 0を AOU ; j とすると、 A〇U i』 のアルゴリズム は第 2 8図のようになる。
ステップ 2 9 0 1で、 AO U i j を格子上の i行:)'列に配置する。 これは論理的であれ 物理的であれ、 AOU i jの近傍を決定するために必要である。
ステップ 2 9 0 2で、 AOU i j の近傍や変数の初期値を設定する。 近傍の設定におい ては、 前記各関数で使う近傍サイズ Qを個別に決めても良いし、 全部を統一しても良い。 本発明のデータ処理装置 1 1 0が生成したマッチング結果画像 1 4 7の正確さを上げるた めには近傍サィズ qを全て大きな値に設定することが望ましい。 しかしながらマッチング 結果を更新するための計算時間の制約や、 入力される正規化画像 1 4 5のサイズなどによ り、 パターンマッチングは必要に応じて適宜近傍サイズを変えることで対処することがで さる。
ステップ 2 9 0 3で、 順次入力されるテンプレート画像 1 4 6が無くなつたかどうか判 断する。 もしテンプレート画像 1 4 6が無ければ(ステップ 2 9 0 3: Y E S )、 ステップ 2 9 0 5に移行する。 もしテンプレート画像 1 4 6があれば (ステップ 2 9 0 3 : NO ) , ステップ 2 9 0 4に移行する。
ステップ 2 9 0 4で、 テンプレート画像 1 4 6の i行 j列の画素を帯域数分入力する。 このため A〇U i jは少なくとも帯域数とテンプレート画像 1 4 6の数を掛けた分の画像 デ一夕を記憶するメモリ 4 2を必要とする。 その後ステップ 2 9 0 3に戻る。
ステップ 2 9 0 5で、 順次入力される正規化画像 1 4 5が無くなつたかどうか判断す る。 もし正規化画像 1 4 5が無ければ (ステップ 2 9 0 5 : Y E S ) , アルゴリズムを終 了する。 もし正規化画像 1 4 5があれば (ステップ 2 9 0 5 : NO ) , ステップ 2 9 0 6 に移行する。 ただし特定の画像サイズのみに対して配列演算ュニット 4 0を実装する場合 には、 無限ループにしても良い。
ステップ 2 9 0 6で、 正規化画像 1 4 5の i行 j列の画素を帯域数分入力する。 このた め AOU i jは少なくとも帯域数分の画像データを記憶するメモリ 4 2を必要とする。 ステップ 2 9 0 7で、 正規化画像 1 4 5とテンプレート画像 1 4 6からマッチング結果 画像 1 4 7のマッチング結果 δ を計算する。 マッチング結果は正規化画像 1 4 5に最 も近いテンプレート画像 1 4 6の番号を表す帯域画素値となる。
ステップ 2 9 0 8で、 AOU i jが近傍の配列演算ユニット 4 0と通信することにより、 マッチング結果画像 1 4 7の各帯域画素値に対して関数 j x )に従いマッチング結 果を更新する。 更新された帯域画素値は再びマッチング結果画像の帯域画素値として扱わ れる。 ここで関数 Ψ;』 ( X )は本来マッチング結果画像 1 4 7の帯域画素値が変化しな くなるまで繰り返される。 ただし計算時間の制約、 入力される正規化画像 1 4 5の品質、 更新されたマッチング結果画像 1 4 7に求められる品質などにより、 更新処理は適当な繰 り返し回数で計算を打ち切った方が良い。
ステップ 2 9 0 9で、 マッチング結果画像 1 4 7の帯域画素値を出力する。 その後ス テツプ 2 9 0 5に戻る。
これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 画 像認識手段 2 9中のパターンマッチングに対応する請求項 1 1記載の視覚装置は正規化画 像 1 4 5からマッチング結果画像 1 4 7を生成することができる。
ここまでは配列演算ユニット 4 0から構成されるデ一夕処理装置 1 1 0を用いて、 近傍 処理のみからなる画像処理を行う方法について説明してきた。 以下では配列演算ュニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 近傍処理のみで物体 Z背景分離手段 1 6 (第 2図及び第 7図参照) を実現する請求項 1 1記載の視覚装置について説明する。 まず非線形振動子は一般に引き込み現象を起こす。 この引き込み現象とは、 リミットサ イクルゃァトラクタなどのような周期的挙動において、 異なる周期を持つ非線形振動子が 相互作用して簡単な定数比の周期で振動するよう制約される現象である。 このとき 1つ の非線形振動子の振動を変化させると他の非線形振動子の振動も合わせて変化するので、 これらの非線形振動子は同期している。 しかも非線形振動子の相互作用を調整することに より、 お互いの振動の位相差を極力小さくさせたり大きくさせたりできる。 そこでこの相 互作用を操作すると、 非線形振動子の一群を、 異なる位相を持つ複数のグループに分割す ることができる。 物体 Z背景分離手段 1 6はこのような非線形振動子の引き込み現象を利 用して、 エッジ情報画像中のエッジ情報を境界とするように物体と背景を分離して、 物体 領域を表す物体領域画像を生成する。 なお、 ここでは非線形振動子としてファン ·デル · ポールを用いた場合を例に説明する。
まず、 格子状に配列した非線形振動子から構成される非線形振動子ネットワークにおい て、 i行: i列にある非線形振動子を ω i』 とすると、 非線形振動子 i j の q近傍にある 非線形振動子の集合 は数式 4 0によって表される。 ただし qは 4、 8、 2 4、 48、 80、 120、 (2 r + 1 )2— 1 と続く数列であり、 rは自然数である。 なおネッ トワークサイズをはみ出した非線形振動子が近傍集合 Ω; j(q)に含まれる場合には、 非 線形振動子 O j を代用するものとする。 これにより辺縁処理は自動的に行われる。 した がって近傍集合 Q)の要素の数は常に Qとなる。 なおこのことから判る通り、 非線 形振動子ネットワークは単帯域画像と同じ扱いになる。 表現を簡単にするため、 非線形振 動子ネットワークでは添字は幅方向と高さ方向の 2つのみを使う。
{ωί+1,3^ ω +1, ωί,3~ΐ}
if g = 4,
(40)
{^i,m \i-r < l < i + r, j一 r < m < j + r, ≠
if ρ = (2r + l)2一 1.
次に、 非線形振動子は Q a近傍に含まれる近傍集合 Ω i j ( Q a )にある非線形振動子と の間で数式 41に従い計算される結合値 て i j kl によって結合される。 なお対数表を用 いない場合には数式 42による近似も可能である。 また^、 は適当な正の定数である。
Tijki = μ sin ^ ) for Y k! G Ωϋα) (41)
1一 2|rc|2 + | |3 if0< jxj < 1,
sinc( ) ¾ 4 - 8|a:| + 5|a;|2 - | |3 if 1 < |a;| < 2, (42) 0 otherwise.
非線形振動子ネットワークの全ての非線形振動子が完全に同位相で同期した場合、 プロ セッサで計算する限り、 非線形振動子 C i j は永久に同位相のまま動作し続けてしまう。 そこで外乱 p; jを与えればこのような状態を回避することができる。 外乱としては疑似 乱数を用いることもできるが、 数式 43のような簡単な式で求めても十分である。 なお ζ; jはエッジ情報画像の i行 j列のエッジ情報の有無を表す。 エッジ情報があれば 1と し、 なければ 0とする。 また κは適 な IEの定数である。
Figure imgf000078_0001
非線形振動子 ω i jが近傍集合 Ω i j ( Q a )の非線形振動子 ω k ! と同期するために数 式 4 4に従い近傍入力合計ひ i j を計算する。
Oij = L ' 一
Figure imgf000078_0002
一 ξί]) (44) ファン 'デル ·ポール非線形振動子 ω i j を構成する 2つのパラメータ φ〖〗 と u は数式 4 5と数式 4 6に従って計算される。 なおァ、 εは適当な正の定数である。 dcthj ,
= (45)
- = -ΊΦϋ - 1 - Φ%) +び + Ρϋ (46) 非線形振動子を物体領域と背景領域に分離するためには全ての非線形振動子の位相の ずれを計算する必要があるが、 単純に物体領域と背景領域の 2つに分離するだけであるの で、 パラメ一夕 5 jがしきい値 0以上か未満かで位相ずれを計算する。 物体領域と背景 領域を分離した結果を出力する出力 λ i jは数式 4 7によって求められる。 なお øは適当 な正の定数である。
1 if > Θ,
ij― ― (47) 0 otherwise.
ェッジ情報が物体と背景を分離するのに不十分であつた場合にはェッジ情報を補間しな ければならない。 そのために非線形振動子 ω uの Q b近傍にある非線形振動子の集合 Ω i j ( q b )中でいくつの非線形振動子が位相ずれを起こしているか求める必要がある。 そ こで数式 4 8によって輪郭パラメ一夕 V i j を計算する。
= ∑ (48) この結果を基にエッジ情報の補間割合を示す境界パラメータ έ i j を数式 4 9によつ„て 計算する。 なお α、 β、 7? m i n、 77 m a xは適当な正の定数である。 一ひ ii η
(49) n i β(1― ξ^) otherwise.
ここでは非線形振動子としてファン 'デル 'ポールの場合を説明したが、 この他にブ ラッセレー夕のようなリミットサイクルで安定する非線形振動子や、 ローレンツアトラク 夕やレスラー方程式のァトラクタを発生するカオス振動子など、 引き込み現象を起こす任 意の非線形振動子でも動作可能である。 その場合はパラメ一夕 Φ i j とゆ i jを各々の非 線形振動子のパラメ一夕で置き換えるなり追加すれば良い。 その際に適当なパラメ一夕に 近傍入力合計ひ i〗 と外乱 P i j を加えるだけである。 但し、 カオス振動子の場合には特 に外乱 p i j を必要としない。
数式 4 0から数式 4 9までを用いることにより、 物体 Z背景分離手段 1 6 (第 2図及び 第 7図参照) を実装することができるデータ処理装置 1 1 0の全ての配列演算ュニット 4 0のアルゴリズムを記述することができる。 以下では、データ処理装置 1 1 0中の任意の 配列演算ュニッ卜 4 0のァルゴリズムを用いて、 物体 背景分離手段 1 6に対応する請求 項 1 2記載の視覚装置について説明する。
第 2 9図に示すように、データ処理装置 1 1 0によって実現される物体 背景分離手段 1 6が形成された三角形のエッジ情報 1 5 1を用いて三角形の内側領域 1 5 2と三角形の 外側領域 1 5 3に分離するために、 格子状に配列された配列演算ュニット 4 0は同期して 並列に動作する。 格子上 i行 j列に配置された配列演算ュニット 4 0を A〇U i j とする と、 AOU i』のアルゴリズムは第 3 0図のようになる。
ステップ 1 6 0 1で、 AOU i j を格子上の i行 j列に配置する。
ステップ 1 6 0 2で、 数式 4 1及び 4 2に基づいて近傍同士 0) U と c k l を結合値て i j k iで接続する。
ステップ 1 6 0 3で、 非線形振動子のパラメ一夕 Φ i j と i】に適当な初期値を設定 する。
ステップ 1604で、 順次入力される形成エッジ情報画像 115が無くなつたかどうか 判断する。 もし形成エッジ情報画像 115が無ければ (ステップ 1604: YES)、 ァ ルゴリズムを終了する。 もし形成エッジ情報画像 115があれば (ステップ 1604: N 0)、 ステップ 1605に移行する。 ただし特定の帯域数及び画像サイズのみに対して配 列演算ュニット 40を実装する場合には、 無限ループにしても良い。
ステップ 1605で、 形成エッジ情報 114の ζ u を入力する。
ステップ 1606で、 直前に入力した形成エッジ情報 1 14の ζ i jから数式 43に 従って外乱 p i jを計算する。
ステップ 1607で、 近傍集合 Qu(Qa)中の非線形振動子 wk lがある配列演算ュ ニット 40の A〇Uk lから ζ kい ξ kk l を入力して、 合計値ひ i j を数式 44 に従って計算する。
ステップ 1608で、 非線形振動子のパラメ一夕 Φ i j、 u を数式 45及び 46に 従って計算する。 即ち、 これらの数式に示す微分方程式をルンゲ ·クッ夕法で解く。 ステップ 1609で、 非線形振動子の出力 λ; jを数式 47に従って計算する。 ここで、 -ι }≥ θであれば λ u = 1 とし、 それ以外であれば久 i j = 0とする。
ステップ 1610で、 近傍集合 j(qb)中の非線形振動子 cokiがある配列演算ュ ニット 40の AOUk lから Ak l を入力して、 輪郭パラメータ η s 3 - を数式 48に従つ て計算する。
ステップ 1611で、 境界パラメ一夕 ξ i jを数式 49に従って計算する。 即ち、 この 数式に示す微分方程式を差分法若しくはルンゲ ·クッタ法で解く。
ステップ 1612で、 ステップ 1606からステップ 1611までの繰り返し回数を表 す分離回数が指定回数に達したかどうか判断する。 もし分離回数が指定回数に達していな ければ (ステップ 1612 : N〇)、 ステップ 1606に戻る。 もし分離回数が指定回数 に達していれば (ステップ 1612 : YES)、 ステップ 1613に移行する。
ステップ 1613で、 物体領域画像 142の帯域画素値となる非線形振動子の出力 λ i j を出力する。 その後ステップ 1 6 0 4に戻る。
なおステップ 1 6 1 2での分離回数を求めるには、 次のような方法を用いることができ る。 物体/背景分離手段 1 6では、 画像サイズが一定であれば非線形振動子の初期状態に 関わらずおおよそ全ての形成エッジ情報 1 1 4においてある一定時間で分離が終了する ので、 事前にこの時間を計っておいてステップ 1 6 0 6からステップ 1 6 1 1までの繰り 返し回数を求めておけば良い。 これは非線形振動子の初期状態が一定の範囲内にあれば、 引き込み現象により非線形振動子が同期するまでの時間はあまり大差がないからである。 このように非線形振動子を計算するだけで、 形成された三角形のエッジ情報 1 5 1を 用いて三角形の内側領域 1 5 2と三角形の外側領域 1 5 3を分離することができるのは、 非線形振動子の性質である引き込み現象を利用しているからである。 つまり、 2つの非線 形振動子を正の結合値で結合した場合は同位相になろうとし、 負の結合値で結合した場合 は位相差が極力大きくなろうとする。 この性質を用いると、 格子状に並んだ非線形振動子 を近傍同士正の結合値で結合することで、 直接結合していない非線形振動子同士が同位相 になる。 さらに形成エッジ情報 1 1 4を挟む画素の場所にある非線形振動子同士を負の結 合値で結合すると、 エッジ情報の両側がお互いに位相を極力ずらし合う。 このようにする ことで、 全ての非線形振動子を結合することもなく三角形のエッジ情報 1 5 1の内側と外 側とで各々異なる位相集合ができる。 したがって物体 Z背景分離手段 1 6は第 2 9図のよ うな三角形の内側領域 1 5 2と三角形の外側領域 1 5 3に分離する。 このとき三角形の内 側領域 1 5 2と三角形の外側領域 1 5 3の位相差は 9 0度を越えて可能な限り 1 8 0度 に近づき、 三角形と背景領域が分離できる。
ここで重要なことは、 本実施形態では、 形成エッジ情報 1 1 4が得られる度に次に示す ような方法で結合値を擬似的に変更していることである。 まず数式 4 1及び 4 2で定めた ように、 非線形振動子 c k! を非線形振動子 ω; j に結合するための結合値を て i』 k! と する (ステップ 1 6 0 2参照)。 形成エッジ情報 ζ u と ζ k l は共に、 エッジがある場合 には 1、 ない場合には 0である。 形成エッジ情報 と £ k l を入力したら (ステップ 1 6 0 5参照)、 配列演算ユニット 4 0の A〇U k iから AO U i j に形成エッジ情報 ζ k lが転送され、 A〇U i jでは結合値 r i j k l ( 1 - k i ) を計算して結合値て k l の代用とする (ステップ 1 6 0 7参照)。 この代用された結合値 r i j k i ( 1一 ζ k i ) に 対して境界パラメ一夕 € i jが 0から 1までの倍率として作用する (ステップ 1 6 0 7参 照)。 - 第 3 1図に示す通り、 形成エッジ情報 1 1 4が破線状態の三角形のエッジ情報 1 5 4と なった場合には破線の補間をする必要がある。 まず初めに破線状態の三角形のエッジ情報 1 5 4を用いてシステムを動作させる (ステップ 1 6 0 5参照) と、 破線状態の三角形の エッジ情報 1 5 4の内側と外側で位相差がおよそ 9 0度を越えるようになるが、 三角形の 内側と外側の境界部分は不明確である。 そこで各 A O U i jが非線形振動子の出力 λ i j を計算する (ステップ 1 6 0 9参照)。 この出力 λ i jが 1の場合、 近傍の非線形振動子 のうちえ が 1である非線形振動子を c k i とすると、 パラメ一夕ゆ uk lが共 に Θ以上となる。 つまり λ u とえ はおよそ同位相であり、 Θが正値であれば最悪で も位相差が 9 0度を越えることはない。 この位相差の最大値は Θの値によって決まり、 λ i } - と A k lが共に 1となる範囲で Θを大きくしていくと、 この位相差は 0度に近づいて いく。 したがって λ i j とえ と用いると、 近傍の非線形振動子うちおよそ同位相であ るものの数を表す輪郭パラメータ V i jは数式 4 8に従って計算される (ステップ 1 6 1 0参照)。 続いてこの輪郭パラメ一夕 V I jが近傍全体のうち、 およそ半分であれば結合 値の倍率である境界パラメ一夕 i j を数式 4 9に従って減少させ、 それ以外であれば数 式 4 9に従って増加させる (ステップ 1 6 1 1参照)。 例えば、 8近傍の場合は 3から 5 の間であれば数式 4 9に従って境界パラメ一夕を減少させるとよい。 この過程を繰り返し 動作させ続けると、 第 3 1図に示す破線状態の三角形のエッジ情報 1 5 4が与えられた場 合、 破線三角形の内側領域 1 5 5と破線三角形の外側領域 1 5 6に分離される。
第 3 2図に示す通り、 2つの三角形が重なりあっている場合は、 前方の三角形のエッジ 情報 1 5 7と後方の三角形のエッジ情報 1 5 8が得られる。 このとき前方三角形の内側領 域 1 5 9と後方三角形の内側領域 1 6 0と二重三角形の背景領域 1 6 1の 3つの領域の非 線形振動子の位相がお互いにずれることにより、 3つの領域に分離される。 また第 3 3図 に示す通り、 2つの重なった円形のエッジ情報 1 6 2が破線であっても、 前方円形の内側 領域 1 6 3と後方円形の内側領域 1 6 4と二重円の背景領域 1 6 5の 3つに分離される。 これにより、 配列演算ユニット 4 0から構成されるデータ処理装置 1 1 0を用いて、 物 体ノ背景分離手段 1 6に対応する請求項 1 2記載の視覚装置は形成エッジ情報画像 1 1 5 の形成エッジ情報 1 1 4を境界として物体領域 1 4 1と背景を分離することができる。 ここまで請求項 6から請求項 1 2までに記載された視覚装置について説明してきた。 当 然のことながらこれらの視覚装置は汎用のコンピュータによつて実装することができる が、 移動物体 2を計数の対象とする場合、 移動物体 2の移動速度によっては前記手段の 各々を高速に実行する必要がある。 特にフレーム画像 1の画像サイズ若しくは解像度を上 げたとき、 画像自体を処理対象とする画像記憶手段 1 2 (第 1図及び第 6図参照)、 画像 振動手段 1 3 (第 3図、 第 4図及び第 5図参照)、 エッジ情報生成手段 1 4 (第 1図及び 第 6図参照)、 エッジ情報形成手段 1 5 (第 1図ないし第 5図、 第 7図ないし第 1 2図参 照)、 物体ノ背景分離手段 1 6 (第 2、 4、 5、 7図ないし第 1 2図参照)、 位置,大き さ検出手段 1 7 (第 1図及び第 6図参照)、 領域正規化手段 2 7 (第 7図参照)、 正規化 画像保持手段 2 8 (第 7図参照) 及び画像認識手段 2 9 (第 8図参照) は、 幅方向及び高 さ方向の各々に対して画像サイズ若しくは解像度に比例して計算量が増大する。 したがつ て請求項 6から請求項 1 2までに記載された視覚装置は用途によっては望みうる性能を達 成できない可能性がある。
そこでデジタル技術を用いて画像記憶手段 1 2、 画像振動手段 1 3、 エッジ情報生成 手段 1 4、 エッジ情報形成手段 1 5、 物体 Z背景分離手段 1 6、 位置 Z大きさ検出手段 1 7、 領域正規化手段 2 7、 及び正規化画像保持手段 2 8を実装するために、 請求項 1 3記 載の配列演算ュニット 4 0はデータ処理装置 1 1 0中で第 1 3図のように格子状に配列 され、 さらに配列演算ュニット 4 0はデータ処理装置 1 1 0中の隣接する配列演算ュニッ ト 4 0だけと相互に通信できるように配線される。 つまり 4近傍同士が直接配線されるこ とになる。 これにより 8近傍同士を配線する場合に比べて、 少ない電子部品と配線量で、 同程度に高速に動作し、 しかも将来近傍サイズを拡張する場合にも簡単に拡張性を有する ことができる。
請求項 1 4記載の配列演算ュニット 4 0は第 3 4図に示す通り、 画像処理における数式 を計算するためのプロセッサ (PROCESSOR) 4 1と、 数式で使われる全てのパラメ一 夕、 定数、 関数及びオペレータを記憶するためのメモリ (MEMORY) 4 2と、 近傍の配 列演算ユニット 4 0と通信するためのコント口一ラ (CONTROLER) 4 3から構成され、 プロセッサ 4 1はアドレスバス 5 1で指定したアドレス (ADDRESS) によりメモリ 4 2 及びコントローラ 4 3の任意のメモリ素子及びレジス夕を選択することができる。 またプ 口セッサ 4 1はデータバス 5 2を介してメモリ 4 2及びコントローラ 4 3と双方向に通信 可能に接続され、 アドレスバス 5 1で指定された任意のメモリ素子及びレジス夕のデータ (DATA) にアクセスすることができる。 配列演算ユニット 4 0が 1つ以上の入力画素か ら構成される前入力データ群(FRONT INPUT DATA SET) を入力すると、 コント口一 ラ 4 3は前入力データ群をメモリ 4 2に記憶させる。 またコントローラ 4 3は、 関数によ り作成されたメモリ 4 2中の計算データを隣接する配列演算ュニッ卜 4 0に送信すると共 に、 隣接する配列演算ユニット 4 0から受信した計算データをメモリ 4 2に記憶させ、 さ らに必要ならば、 入力した以外の配列演算ユニット 4 0に転送する。 最終的にコントロー ラ 4 3は、 出力画像の画像データを結果データ (RESULT DATA) として出力する。 このように各配列演算ュニット 4 0にコントローラ 4 3を搭載する理由は、 配列演算ュ ニット 4 0同士が通信している間にプロセッサ 4 1が動作できるので、 プロセッサ 4 1は 通信による待ち時間中にも計算することができて高速処理が実現できるからと、 近傍の配 列演算ュニット 4 0の数を変化させてもハードウェアを変更する必要もないからと、 コン トローラ 4 3が画像の辺縁処理、 つまり画像中の縁の画素に対する例外処理を自動的に行 えるので、 プロセッサ 4 1のプログラムは辺縁処理をする必要がなくなり極めて単純にな るからである。
プロセッサ 4 1とメモリ 4 2は汎用的なデジタル回路を用いることができる。 コント ローラ 4 3の具体的な回路図は第 3 5図に示す通りである。 アドレスバッファ(ADDRESS BUFFER) 5 3はアドレスバス (ADDRESS BUS) 5 1を介してプロセッサ 4 1からァ ドレス(ADDRESS) を受取り、 アドレスデコーダ (ADDRESS DECODER) 5 4によつ て各レジスタ及びその他の機能ブロックを選択する。 データバッファ (DATA BUFFER) 5 5はデ一夕バス (DATA BUS) 5 2を介してプロセッサ 4 1からデータ (DATA) を 受取り、 アドレスデコーダ 5 4で選択されたレジスタと内部データバス 5 6を介して排 他的に通信する。 通信方向は読み出し (READ) によって指定される。 アドレスがフラ グレジスタ (FLAG REGISTER) 5 7を指定した場合、 データはフラグレジス夕 5 7に 記憶され、 フラグデコーダ (FLAG DECODER) 5 8によってデコードされ、 複数信号 (SIGNALS) として隣接する配列演算ユニット 4 0に送信される。 複数信号はフラグェン コーダ(FLAG ENCODER) 5 9によって受信され、解析された後にステータスレジス夕 (STATUS REGISTER) 6 0に記憶され、 また受領(RECEIVE) として送信元の配列演 算ユニット 4 0に返送される。 受領は複数信号の送信元のフラグエンコーダ 5 9で受信さ れ、 結果として複数信号の送信完了が確認される。 アドレスによってステータスレジス夕 6 0が選択されると、 ステータスレジス夕 6 0の内容がデ一夕バス 5 2を介してデ一夕と してプロセッサ 4 1に送信される。 1つ以上の入力画像(INPUT IMAGE) に対応した 1 つ以上の前入力送達 (FRONT INPUT SEND) をフラグエンコーダ 5 9が受信すると 1 つ以上の入力画像からなる前入力データ群(FRONT INPUT DATA SET)が必要な記憶 容量分用意された前入力データレジスタ 6 1 (FRONT INPUT DATA REGISTER) に読 み込まれる。 アドレスによって前入力データレジス夕 6 1が選択されると、 前入力データ レジスタ 6 1の内容がデータとしてプロセッサ 4 1に送信される。 プロセッサ 4 1が計算 を完了したら、 アドレスによつて結果データレジスタ ( RESULT DATA REGISTER) 6 2が選択され、 結果データレジスタ 6 2が出力画像の画像データを結果データ (RESULT DATA) として読み込む。 これと同時に、 フラグエンコーダ 5 9が結果送達 (RESULT SEND) を送信する。
近傍の配列演算ュニット 4 0から計算に必要なデータを求められたら、 アドレスとして 出力データレジスタ 6 3 (OUTPUT DATA REGISTER) を選択し、 近傍の配列演算ュ ニット 4 0に送信すべきデータを計算デ一夕 (CALCURATION DATA) として出力デ一 夕レジス夕 6 3に読み込む。 その後、 隣接する全ての配列演算ュニット 4 0に計算データ として送信される。 上側の配列演算ユニット 4 0から複数信号 (SIGNALS) を受信した ら計算データを上入力データレジス夕 (UPPER INPUT DATA REGISTER) 6 4に読 み込む。 その後、 アドレスにより上入力データレジスタ 6 4が選択されたら、 上入力デ一 夕レジスタ 6 4の内容が計算データとして送信される。 下側、 左側、 右側の配列演算ュ ニット 4 0から複数信号を受信した場合も同様であり、 下入力データレジスタ 6 5、 左入 力データレジス夕 6 6、 右入力データレジスタ 6 7が同様に動作する。
各種バッファ、 各種レジスタ、 アドレスデコーダ 5 4の各ブロックは汎用的な電子回路 である。 フラグデコーダ 5 8とフラグエンコーダ 5 9は具体的には第 3 6図と第 3 7図に 示すような入出力信号を有する。 種別 (TYPE) は出力デ一夕レジスタ 6 3 (OUTPUT DATA REGISTER) に読み込まれた内容の種類を 5ビットで表す。 このビット数は配列 演算ュニッ卜 4 0が送受信すべき全ての計算データを区別するのに十分な値である。 カウ ントー X (COUNT-X) 及びカウント—Y (COUNT-Y) は各々 4ビットの符号なし整数 を表し、 配列演算ュニット 4 0の間の転送回数を示す。 配列演算ュニット 4 0が計算デー 夕を送信する場合には各々のカウントが 0となり、 左右の配列演算ュニット 4 0から送信 された計算データを再度送信する場合にはフラグエンコーダ 5 9のカウント一 に 1を 足した値となり、 上下の配列演算ュニット 4 0から送信された計算デ一夕を再度送信する 場合にはフラグエンコーダ 5 9のカウント一 Yに 1を足した値となる。 プロセッサ 4 1が フラグレジスタ 5 7の送達フラグ (SEND FLAG) に上下左右のうちどの方向に出力デ一 夕レジスタ 6 3の内容を送信するかを指定した後で、 出力デ一夕レジスタ 6 3を指定す るアドレスデコーダ 5 4の中央デコーディング (CENTRAL DECODING) をフラグデ コーダ 5 8が受信すると、 フラグデコーダ 5 8が送達 (SEND) を送達フラグの指定方向 に合わせて出力する。 送達フラグは 4ビットで表し、 配列演算ユニット 4 0の計算データ を四方の配列演算ュニット 4 0に送信する場合にはプロセッサ 4 1が 1 1 1 1と設定し、 右側の配列演算ュニット 4 0から送信された計算データを上下左側に転送する場合はプロ セッサ 4 1が 1 1 1 0と設定し、 左側から上下右側に転送する場合は 1 1 0 1と設定し、 下側から上側に転送する場合は 1 0 0 0と設定し、 上側から下側に転送する場合は 0 1 0 0と設定する。 これにより、 転送に重複がなくなり効率的に転送できるだけでなく、 転送 方向の決定規則が明確になっているので、 種別、 カウント— X及びカウント— Yを組み合 わせることにより、 フラグエンコーダ 5 9はどの配列演算ユニット 4 0からどの種別の計 算デ一夕が送信されたかを判定することができる。 結果データレジスタ 6 2に計算デー 夕が結果デ一夕として読み込まれると同時にフラグデコーダ 5 8は、 結果デコーディング (RESULT DECODING) を受信し、 結果送達 (RESULT SEND) を送信する。
フラグエンコーダ 5 9は四方のうちいずれかでも送達を受信したら、 受信方向の種別 とカウント一 X、 カウント一 Yを受信し、 その部分のステータスレジスタ 6 0の内容を 更新する。 この更新と同時に受信方向に受領を 1にして送信する。 送信元の配列演算ュ ニット 4 0のフラグエンコーダ 5 9では受領が 1になった瞬間に受信し、 ステータスレ ジス夕 6 0の受領ステータス (RECEIVE STATUS) を更新する。 これにより各配列演 算ュニット 4 0ではプロセッサ 4 1がステータスレジス夕 6 0の受領ステータスを検査 するだけで、 どの入力データレジス夕に有効な計算デ一夕が記憶されているか判断する ことができる。 そこで例えば上入力データレジス夕 6 4に計算データが読み込まれてい れば、 プロセッサ 4 1がアドレスを指定することにより上入力データレジスタ 6 4から デ一夕を読み込むことができるが、 同時にアドレスデコーダ 5 4から上デコーディング (UPPER DECODING) がフラグエンコーダ 5 9に送信され、 受領ステータスのうち上 部分が 0に戻され、 上側に向いた受領が 0として送信される。 下左右側の場合も同様に動 作する。 フラグエンコーダ 5 9が 1つでも入力画像用の前入力送達を受信したら、 ステー タスレジス夕 6 0のうち受信した前入力送達に対応する入力画像用の前入力送達ステ一 タス (FRONT INPUT SEND STATUS) を 1にする。 またプロセッサ 4 1が入力画像用 の前入力データレジス夕 6 1からデ一夕を読み込むとき、 アドレスデコーダ 5 4がフラグ エンコーダ 5 9に前デコーディング (FRONT DECODING) を送信し、 受信した前入力 送達に対応する前入力送達ステータスを 0にする。 プロセッサ 4 1はステータスレジス夕 6 0の内容を読み込むことにより、 前入力デ一夕レジスタ 6 1に最新の入力画像が記憶さ れているかどうか判断することができる。
プロセッサ 4 1がコントローラ 4 3を介して四方の配列演算ユニット 4 0に計算データ を送信する場合のアルゴリズムを第 3 8図に示す。 第 3 8図は、 プロセッサ 4 1によるプ ログラム制御と、 フラグデコーダ 5 8及びフラグエンコーダ 5 9によるハードウェア口 ジックとの混成による処理を示すものである。 第 3 8図に対して、 ステップ 7 1では、 プ 口セッサ 4 1がステータスレジス夕 6 0の内容を読み込む。 ステップ 7 2では、 読み込ん だ内容のうち受領ステータスが全て 0であるか否かを判断する。 N Oなら処理を終了す る。 Y E Sならステップ 7 3に移行する。 ステップ 7 3では、 プロセッサ 4 1が隣接する 配列演算ユニット 4 0に送信するデータの種別とカウン夕と送信方向を決定し、 その内容 をフラグレジス夕 5 7に書き込む。 ステップ 7 4では、 プロセッサ 4 1が隣接する配列演 算ユニット 4 0に送信するデータを出力データレジスタ 6 3に書き込む。 ステップ 7 5で は、 出力データレジスタ 6 3の内容を計算データとして、 隣接する配列演算ユニット 4 0 に送信する。 ステップ 7 6では、 フラグレジスタ 5 7の送達フラグで指定された方向にの み送達を 1にして送信する。 これによりプロセッサ 4 1の 1回の送信アルゴリズムは終了 する。 プロセッサ 4 1は、 送信すべきデ一夕がメモリ 4 2内で更新される度にこの送信ァ ルゴリズムを開始する。
コントローラ 4 3が上側の配列演算ユニット 4 0から計算データを受信する場合のアル ゴリズムを第 3 9図に示す。 第 3 9図は、 フラグデコーダ 5 8及びフラグエンコーダ 5 9 によるハードウェアロジックによる処理を示すものである。 第 3 9図に対して、 ステップ 8 1では、 フラグエンコーダ 5 9が送達を入力する。 ステップ 8 2では、 送達が 1である か否かをフラグエンコーダ 5 9が判断する。 N Oなら処理を終了する。 Y E Sならステツ プ 8 3に移行する。 ステップ 8 3では、 上入力デ一夕レジスタ 6 4が上側から送信された 計算データを読み込む。 ステップ 8 4では、 フラグエンコーダ 5 9がステータスレジスタ 6 0のうち上側用の受領ステータスを 1にすると同時に受領を 1にして上側の配列演算 ユニット 4 0に送信する。 下左右側の場合も同様である。 これによりコントローラ 4 3の 1回の受信アルゴリズムは終了する。 コントローラ 4 3は常時上下左おの配列演算ュニッ ト 4 0からの送達を監視し、 この送達を受信する度にこの受信アルゴリズムを開始する。 プロセッサ 4 1が上入力データレジスタ 6 4からデ一夕を受信する場合のアルゴリズム を第 4 0図に示す。 第 4 0図は、 プロセッサ 4 1によるプログラム制御と、 フラグデコ一 ダ 5 8及びフラグエンコーダ 5 9によるハードウェアロジックとの混成による処理を示す ものである。 第 4 0図に対して、 ステップ 9 1では、 プロセッサ 4 1がステータスレジス 夕 6 0の内容を読み込む。 ステップ 9 2では、 読み込んだ内容のうち上側用の受領ステ一 タスが 1であるか否かを判断する。 NOなら処理を終了する。 Y E Sならステップ 9 3に 移行する。 ステップ 9 3では、 プロセッサ 4 1が上入力データレジスタ 6 4からデ一夕を 読み込む。 ステップ 9 4では、 フラグエンコーダ 5 9がステータスレジスタ 6 0のうち上 側用の受領ステータスを 0にすると同時に受領を 0にして上側の配列演算ュニット 4 0 に送信する。 下左右側の場合も同様である。 これによりプロセッサ 4 1の 1回の受信アル ゴリズムは終了する。 プロセッサ 4 1は一定間隔でステータスレジス夕 6 0の内容を監視 し、 上下左おいずれかの受領ステータスが 1である度にこの受信アルゴリズムを開始す る。 またプロセッサ 4 1が一定間隔でステータスレジス夕 6 0の内容を監視しなくても、 割り込み処理により実装することもできる。
なおこの配列演算ユニット 4 0は、 主に 1つ以上の入力画像から 1つの出力画像を生成 することを前提に記述したが、 用途に応じては計算途中の計算データを出力できるように 回路を変更する必要がある。 その際には、 フラグデコーダ 5 8の結果送達を出力すべき計 算デ一夕の数だけ増やし、 結果データレジスタ 6 2に読み込まれた計算デ一夕に対応する 結果送達のみを 1にするようにプログラムを変更するだけで良い。
以上、 本実施形態を説明したが、 本発明は上述の実施形態には限定されることはなく、 当業者であれば種々なる態様を実施可能であり、 本発明の技術的思想を逸脱しない範囲に おいて本発明の構成を適宜改変できることは当然であり、 このような改変も、 本発明の技 術的範囲に属するものである。 産業上の利用可能性
請求項 1及び 2記載の発明によれば、 明度、 彩度、 色相などを用いても動画像中から移 動物体単体若しくはその一部を一塊の領域として切り出すことが困難である場合、 本発明 は前記移動物体の数を数えることができる。 例えば生きている透明なアメーバを数える場 合、 当然のことながらアメーバ全体に色を付けることはできない。 また光源や背景を適当 な色にしてもアメーバは同じ色になるか、 光の屈折、 反射などによりアメーバの中央と縁 で異なる色になったりして、 ァメーバだけを塗り潰したような画像を得ることも難しい。 大半の場合、 光の屈折、 反射などにより、 アメーバの輪郭部分に特異な輝度値が現れる。 そこで本発明を用いれば、 この特異な輝度値からエツジ情報を生成することによりァメ一 バ全体を背景から切り出すことができるので、 ァメ一バの数を数えることが容易になる。 同様のことがミジンコなどの微生物、 白血球や精子などの細胞にも当てはまる。 もちろん おたまじゃくしゃ人間の顔のような色情報によって背景と容易に区別できる移動物体に対 しても本発明を利用することができる。 このように移動物体、 光源及び背景に特に手を加 えることなく移動物体の数を数えることができるので、 移動物体を撮影することができる 既存の装置に本発明を接続することで、 移動物体用の物体計数装置を安価に実現するこ とができる。 その他に、 動画像中に移動物体が有るか無いかを判定するといつた前処理に も利用することができる。 なお、 背景から分離された物体領域を本発明から直接取り出し て別の装置に入力することで、 移動物体を認識する際の前処理にも利用することができ、 物体認識装置を安価に実現することもできる。
請求項 3記載の発明によれば、 明度、 彩度、 色相などを用いても静止画像又は動画像の フレーム画像中から物体単体若しくはその一部を一塊の領域として切り出すことが困難で ある場合、 本発明は前記物体の数を数えることができる。 例えば透明なビーズを数える場 合、 当然のことながらビーズに色を付けることはできない。 また光源や背景を適当な色に してもビーズは同じ色になるか、 光の屈折、 反射などによりビーズの中央と縁で異なる色 になったりして、 ビーズだけを塗り潰したような画像を得ることも難しい。 大半の場合、 光の屈折、 反射などにより、 ビーズの輪郭部分に特異な輝度値が現れる。 そこで本発明を 用いれば、 この特異な輝度値からエツジ情報を生成することによりビーズ全体を背景から 切り出すことができるので、 ビーズの数を数えることが容易になる。 同様のことがミジン コなどの微生物、 白血球や精子などの細胞にも当てはまる。 もちろんおたまじゃくしゃ人 間の顔のような色情報によって背景と容易に区別できる物体に対しても本発明を利用する ことができる。 このように物体、 光源及び背景に特に手を加えることなく物体の数を数え ることができるので、 物体を撮影することができる既存の装置に本発明を接続すること で、 物体用の物体計数装置を安価に実現することができる。 その他に、 静止画像中に物体 が有るか無いかを判定するといつた前処理にも利用することができる。 なお、 背景から分 離された物体領域を本発明から直接取り出して別の装置に入力することで、 物体を認識す る際の前処理にも利用することができ、 物体認識装置を安価に実現することもできる。 請求項 1、 2及び 3記載の発明によれば、 明度、 彩度、 色相などを用いても動画像中か ら移動物体及び静止物体単体若しくはその一部を一塊の領域として切り出すことが困難 である場合、 本発明は前記物体のうち移動物体の数と全ての物体の数を数えることができ る。 例えば透明なアメーバのうち生きているアメーバと全てのアメーバを数える場合、 あ る一定時間に移動したアメーバを生きていると見なすとする。 動画像のうち一定時間離れ た 2つのフレーム画像か、 一定^ f間を空けて撮影された 2つの静止画像を用いることで、 本発明は移動しているアメーバの数と全てのアメーバの数を数えることができる。 同様の ことがミジンコなどの微生物、 白血球や精子などの細胞にも当てはまる。 もちろんおたま じゃくしゃ人間の顔のような色情報によって背景と容易に区別できる物体に対しても本発 明を利用することができる。 このように移動物体の数と全物体の数を 1つの装置で数える ことができるので、 移動物体の数と全物体の数を数える物体計数装置を安価に実現するこ とができる。 その他に、 動画像中に移動物体若しくは静止物体が有るか無いかを判定する といった前処理にも利用することができる。 なお、 背景から分離された物体領域を本発明 から直接取り出して別の装置に入力することで、 移動物体若しくは静止物体を認識する際 の前処理にも利用することができ、 物体認識装置を安価に実現することもできる。
また請求項 1、 2及び 3記載の発明によれば、 明度、 彩度、 色相などを用いても動画 像中から移動物体及び静止物体単体若しくはその一部を一塊の領域として切り出すこと が困難か不可能である場合、 本発明は前記物体のうち移動物体の数と全物体の数を数え、 移動物体と静止物体の数若しくは割合を計算することができる。 例えば透明なアメーバ の生存率を求める場合、 ある一定時間に移動したアメーバを生きていると見なすとする。 動画像のうち一定時間離れた 2つのフレーム画像か、 一定時間を空けて撮影された 2つの 静止画像を用いることで、 本発明は移動しているアメーバの数と全てのアメーバの数を数 えることができるので、 アメーバの生存率を簡単に求めることができる。 同様のことがミ ジンコなどの微生物、 白血球や精子などの細胞にも当てはまる。 もちろんおたまじゃくし や人間の顔のような色情報によって背景と容易に区別できる物体に対しても本発明を利用 することができる。 このように移動物体の数と静止物体の数を 1つの装置で数えることが できるので、 移動物体と静止物体の割合を計算する装置を安価に実現することができる。 その他に、 動画像中に移動物体若しくは静止物体が有るか無いかを判定するといつた前処 理にも利用することができる。 なお、 背景から分離された物体領域を本発明から直接取り 出して別の装置に入力することで、 移動物体若しくは静止物体を認識する際の前処理にも 利用することができ、 物体認識装置を安価に実現することもできる。
請求項 4及び 5記載の発明によれば、 三原色波長、 可視光波長、 赤外線波長、 紫外線波 長、 その他全ての電磁波のうち任意の帯域から構成される動画像を用いて、 本発明は移動 カメラが撮影可能な範囲にある物体を探索することができる。 物体が移動している場合 には、 移動物体の位置及び大きさを検知することにより、 物体に向けて移動カメラの向き を合わせ、 画像中の移動物体の大きさが一定になるように倍率を調整することができる。 また物体が静止している場合には、 移動力メラを細かく振動させることにより静止物体の 位置及び大きさを検知することができるので、 静止物体も移動物体と同様に移動力メラを 制御することができる。 さらに外部からも移動カメラを制御できるので、 コンピュータな どと組み合せて利用することもできる。 そこで本発明は以下のように利用することができ る。 例えば廊下など照明が安定している場所の他に玄関や屋外などノィズが多い場所など で人物や車や荷物などの物体を監視する場合、 本発明はこれらの物体を適切な倍率で できるように移動カメラを制御することができる。 またコンビニエンスストアやスーパ一 マーケットなど動きの少ない場所でお客を集中的に撮影することで、 本発明は万引き防止 などの役に立つ。 このように広範囲における物体の監視を 1つの装置で行えることができ るので、 物体監視装置を安価に実現することができる。 その他に、 動画像中に特定の物体 が有るか無いかを判定するといつた前処理にも利用することができる。 なお、 背景から分 離された物体領域を正規化した画像を本発明から直接取り出して別の装置に入力するこ とで、 移動物体若しくは静止物体を認識する際の前処理にも利用することができ、 物体認 識装置を安価に実現することもできる。
また請求項 5記載の発明によれば、 三原色波長、 可視光波長、 赤外線波長、 紫外線波 長、 その他全ての電磁波のうち任意の帯域から構成される動画像を用いて、 本発明は移動 カメラが撮影可能な範囲にある物体を探索することができる。 これらの物体は適切な認識 方法によって幾つかの種類に分類された後、 位置や時刻などの属性と一緒に記録される。 したがって一定時間内に移動力メラが撮影可能な範囲にある特定の物体の数を数えたり、 物体の移動の軌跡を記録することができる。 例えばカラオケボックスや商店街などで、 本 発明は客数や通行量などを計測することができる。 またコンビニエンスストア、 スーパー マーケット及び工場などで、 お客の集まる場所を調査したり作業員の作業工程を記録する ことができる。 またアミューズメントパークなどでは、 「だるまさんがころんだ」 といつ たような移動物体探索ゲームゃシユーティングゲームなどに用いることができる。 さらに 本発明を口ポットに組み込むことにより、 産業口ポットは製造ライン中のワークを探索し たり、 近づいてくる人間などを検知して動作を停止したりすることができるし、 本発明は 人型ロボットや盲導犬ロボッ卜などの移動ロボットの視覚機能を実現することができる。 したがって自動車、 バス、 ダンプカーなどの車の前後左右に本発明を据付れば、 本発明は ドライバーの死角にある物体を見つけ出して警報を発することができるし、 また近づいて くる車などの移動物体を事前に検知することもできるし、 交通事故が発生した際の記録を 取ることもできる。 車いすに乗っている人にとっては首を回さずに視野を広げることがで きるので、 特に後方から迫ってくる自転車や自動車を事前に察知することができ、 事故防 止にも役に立つ。 さらに電車などの乗降口に本発明を設置することにより、 本発明はドア に挟まれていたりドァの傍にいる乗客を見つけ出すこともできる。 駅のプラットホームに 本発明を設置すれば、 本発明は線路に落ちた物を見つけ出したり、 プラットホームの線路 脇にいる人物に警告をすることもできる。 また本発明を救助口ポットに設置すれば、 救助 口ポットは海岸、 洋上及び河川などで遭難した人を見つけ出して自動的に近づくことによ り救命胴衣やロープなどを遭難者まで運搬したり、 遭難者を安全な場所に搬送したりする ことができる。 この救助口ポットは地震などで瓦礫の下敷になっている人を探すような場 合にも利用できる。 このように物体の探索、 計数と移動軌跡の記録を 1つの装置で行える ことができるので、 物体探索装置、 物体認識装置、 物体計数装置、 及び物体記録装置など を安価に実現することができる。
請求項 6記載の発明によれば、 本発明はデジタル画像の各画素を並列に入力して、デジ タル画像を画像単位又は画素単位で振動させた後、デジタル画像の各画素を並列に出力す ることができる。 本発明は振動台などの物理的機構を使用しないので、デジタル画像を高 速に振動させることができる。 したがつて移動物体が高速に移動しているためにデジタル 画像中の全物体のェッジ情報を実時間で生成する必要がある場合、 本発明は必要な処理速 度を達成することができる。
請求項 7記載の発明によれば、 本発明はデジタル画像の各画素を並列に入力して、デジ タル画像の各画素の粗エッジ情報を生成した後、 粗エッジ情報を並列に出力することがで きる。 生成された粗エッジ情報は物体の移動方向、 移動速度及び物体と背景の色情報の差 などによって影響を受けるため必ずしも正確ではなレ ^が、 太陽光の当る屋外などノイズの 多い環境でも特にデジタル画像を補正することなく任意の形状の移動物体の粗ェッジ情 報を生成できるため、 本発明は使用環境を限定することなく使用することができる。 また 本発明は赤外線、 紫外線、 さらには放射線などに対しても可視光波長、 特に三原色波長と 同様に扱うことができ、 しかも帯域数を増やすほどノイズの影響を減らすことができる。 この際本発明は記憶容量以外データ処理装置の回路を変更する必要がないので、 容易に帯 域数を増やすことができる。 したがつて屋内のみならず屋外でも活動するような口ポット に対して、 本発明は高速、 かつ安価に移動物体の輪郭、 位置及び大きさを提供することが できる。 しかも本発明は対象物を限定しない視覚認識装置に対して前処理としても効果的 に働く。
請求項 8記載の発明によれば、 本発明は粗エッジ情報及びデジタル画像の各画素を並列 - に入力して、 デジタル画像を利用して粗エッジ情報から形成エッジ情報を生成した後、 形 成エッジ情報を並列に出力することができる。 本発明は任意の方法によって生成された粗 エッジ情報を、 より明瞭で的確なエッジ情報に形成することができるので、 粗エッジ情報 を生成する手段に要する負荷を容易に低減することができる。 しかも本発明は粗エッジ情 報の品質に余り影響されないので、デジタル画像を低解像度にした低解像度デジタル画像 の特定領域から生成した粗エッジ情報をより明瞭で的確なエッジ情報に形成することがで きる。 したがってハードウェア量や計算量を増やすことなく、 本発明は低倍率デジタル画 像中の物体に対して高精細のエッジ情報を生成することができる。 本発明により、 これま で広角カメラと高精細カメラを用いてきた物体認識装置が 1つのカメラで物体認識を実 現できるようになる。
請求項 9記載の発明によれば、 本発明はエッジ情報を並列に入力して、 エッジ情報で表 される物体の位置及び大きさを検知した後、 物体の位置及び大きさを重複情報として並列 に出力することができる。 多量のハードウェア量や計算量を要して検出された画像中の複 数の物体の位置及び大きさと同程度かそれ以上の品質で、 本発明は複数の物体のェッジ情 報から位置及び大きさを一斉に検出することができる。 ビデオカメラで撮影された動画像 のフレーム画像若しくはデジタルカメラで撮影された静止画像から、 その画像中の複数の 物体の位置及び大きさを検出するための前処理にも利用され、 静止画像及び動画像のパ ターン認識アルゴリズムなどを高速、 かつ安価に実現することができる。
また請求項 9記載の発明によれば、 本発明は物体領域画像の各画素を並列に入力して、 物体領域画像の各画素で表される物体の位置及び大きさを検知した後、 物体の位置及び大 きさを重複情報として並列に出力することができる。 多量のハードウェア量や計算量を要 して検出された画像中の複数の物体の位置及び大きさと同程度かそれ以上の品質で、 本発 明は複数の物体の領域から位置及び大きさを一斉に検出することができる。 特に細胞や精 子のような円形部分を有する物体、 さらには人間の顔のような円形と見なせる物体の位置 及び大きさを検出する際に、 それらの物体の領域からエッジ情報を再度生成する必要がな いので、 静止画像及び動画像のパターン認識アルゴリズムなどを高速、 かつ安価に実現す ることができる。
請求項 1 0記載の発明によれば、 本発明は物体領域画像の各画素及びデジタル画像の各 画素を並列に入力して、デジタル画像中の物体領域を正規化した後、 正規化画像の各画素 を並列に出力することができる。 多量のハードウェア量や計算量を要して生成された位置 ずれに弱く隙間の多い正規化画像と同程度かそれ以上の品質で、 本発明は物体領域画像の 物体領域以外を用いてマスクされたデジタル画像の物体領域をデジタル画像のサイズに 合わせて隙間を埋め合わせながら正規化することができる。 ビデオカメラで撮影された動 画像のフレーム画像若しくはデジタルカメラで撮影された静止画像から切り出された特 定の物体を正規化するための前処理にも利用され、 静止画像及び動画像のパターン認識ァ ルゴリズムなどを高速、 かつ安価に実現することができる。
請求項 1 1記載の発明によれば、 本発明は幾つかのテンプレート画像の各画素を並列に 入力して、 正規化画像の各画素を並列に入力して、 テンプレート画像とパターンマツチン グをした後、 マッチング結果画像の各画素を並列に出力することができる。 位置や大きさ の異なる同じ物体に対して正規化画像の再現性が高ければ、 本発明は近傍処理のみで正規 化画像に類似した幾つかのテンプレート画像を選択することができる。 そのため本発明は 最小自乗誤差やニューラルネットワークなどの大域処理を最小限に抑えることができるの で、 静止画像及び動画像のパターン認識アルゴリズムなどを高速、 かつ安価に実現するこ とができる。
請求項 1 2記載の発明によれば、 本発明は形成エッジ情報を並列に入力して、 非線形振 動子を用いて物体領域と背景領域を分離した後、 物体領域画像の各画素を並列に出力する ことができる。 本発明は、 予めデジタル画像に関してエッジ情報の生成以外如何なる前処 理も必要とせずに、 デジタル画像中の物体の形、 位置、 向きに依存せず、 またエッジ情報 が破線であったり交差していても関係なく、 さらにはデジタル画像中の物体領域が重なり あっていても、 物体領域と背景領域を分離することができる。 また本発明は、 デジタル技 術を用いてハードウェアを実装することを容易とし、 実時間画像処理に適した高速化を可 能とする。
請求項 1 3及び 1 4記載の発明によれば、 本発明は視覚装置を高速に動作させることが できる。 特に画像サイズが大きくなつても並列性のために処理時間は変らない。 そこで実 時間性が必要な用途に対して視覚装置を利用することができる。 またプログラムを変更 するだけで、 請求項 6から請求項 1 2までに記載された複数の手段を同一のチップで実現 できるので、 本発明は視覚装置を安価に製造することができる。 さらに請求項 6から請求 項 1 2までに記載された複数の手段を 1つのチップで実現できるので、 このチップを移動 カメラの中に容易に組み込むことができ、 本発明は利便性を増すことができる。 最後に、 本発明は全て画素単位で信号を入出力しているので、 複数のチップを積み重ねることによ り配線量を抑えることができる。 そこで三次元 V L S Iなどの技術革新によって本発明は 容易に処理性能を向上することができる。

Claims

請求の範囲
1 . 動画像中の移動物体に対して、
前記動画像のフレーム画像を取得する手段と、
前記フレーム画像をデジタル画像として順次記憶する手段と、
前記デジタル画像から移動物体粗ェッジ情報画像を生成する手段と、
前記デジタル画像を用いて前記移動物体粗ェッジ情報画像から移動物体形成ェッジ情報 画像を生成する手段と、
前記移動物体形成エッジ情報画像によって区分される移動物体領域の位置及び大きさを 検出する手段と、
移動物体領域数を数える手段と、
前記移動物体領域数を保持する手段と、
を有する視覚装置。
2 . 動画像中の移動物体に対して、
前記動画像のフレーム画像を取得する手段と、
前記フレーム画像をデジタル画像として順次記憶する手段と、
前記デジタル画像から移動物体粗ェッジ情報画像を生成する手段と、
前記デジタル画像を用いて前記移動物体粗ェッジ情報画像から移動物体形成ェッジ情報 画像を生成する手段と、
前記移動物体形成エッジ情報画像を用いて背景から移動物体領域を分離する手段と、 前記移動物体領域の位置及び大きさを検出する手段と、
移動物体領域数を数える手段と、
前記移動物体領域数を保持する手段と、
を有する視覚装置。
3 . 請求項 1又は 2記載の視覚装置に対して、 前記デジタル画像を振動させる手段を有す ることにより、 前記移動物体の代りに全物体に対して全物体領域数を数えることを特徴と する視覚装置。
4 . 移動力メラによつて撮影された動画像中の任意物体に対して、
前記動画像のフレーム画像を取得する手段と、
前記フレーム画像をデジタル画像として順次記憶する手段と、
前記デジタル画像から任意物体粗ェッジ情報画像を生成する手段と、
前記任意物体粗ェッジ情報画像によつて区分される任意物体領域の位置及び大きさを検 出する手段と、
前記移動カメラの向き及び倍率を環境座標の位置に変換する手段と、
前記任意物体領域の前記位置及び前記大きさを前記環境座標の前記位置に変換する手 段と、
複数の前記任意物体領域に対する前記環境座標の前記位置の中から 1つを選択する手 段と、
外部からの制御命令を入力する手段と、
前記移動力メラを振動させる振動命令を生成する手段と、
前記移動カメラが移動すべき前記環境座標の前記位置を制御する手段と、
前記移動カメラを制御するカメラ命令を生成する手段と、
を有する視覚装置。
5 . 請求項 4記載の視覚装置に対して、
前記デジタル画像を用いて前記任意物体粗ェッジ情報画像から前記任意物体形成ェッジ 情報画像を生成する手段と、
前記任意物体形成ェッジ情報画像を用いて背景から前記任意物体領域を分離する手段 と、
前記任意物体領域を正規化する手段と、
任意物体正規化画像を保持する手段と、
前記任意物体正規化画像を認識する手段と、
認識結果を保持する手段と、 前記環境座標で表された環境地図を生成する手段と、
前記環境地図を保持する手段と、
前記環境地図における前記任意物体の前記位置を推定する手段、
任意物体数を数える手段と、
前記任意物体数を保持する手段と、
前記任意物体形成エッジ情報画像を幾何解析する手段、
を有する視覚装置。
6 . デジタル画像を振動させる手段を実現するデータ処理装置において格子状に配置され た配列演算ユニットの各々に対して、
前記配列演算ユニットを初期化する手段と、
入力すべき前記デジタル画像がなければ処理を終了する手段と、
前記デジタル画像の各帯域画素値を入力する手段と、
前記デジタル画像の前記各帯域画素値を上下左右に振動させる手段と、
振動画像の各帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
7 . デジタル画像から粗エッジ情報画像を生成する手段を実現するデータ処理装置におい て格子状に配置された配列演算ユニットの各々に対して、
前記配列演算ユニットを初期化する手段と、
入力すべき前記デジタル画像がなければ処理を終了する手段と、
前記デジタル画像の各帯域画素値を入力する手段と、
前記デジタル画像の前記各帯域画素値を平滑化して平滑化画像の各帯域画素値を生成 する手段と、
前記平滑化画像の前記各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成 する手段と、
前記対数変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成 する手段と、 前記鮮鋭化画像の前記各帯域画素値から 1入力前鮮鋭化画像の各帯域画素値を引いて 時間差分画像の各帯域画素値を生成する手段と、
前記鮮鋭化画像の前記各帯域画素値を前記 1入力前鮮鋭化画像の前記各帯域画素値に 置き換える手段と、
前記時間差分画像の前記各帯域画素値に対してラプラシアンを計算して時間差分ラブ ラシアン画像の各帯域画素値を生成する手段と、
前記時間差分ラプラシァン画像の前記各帯域画素値のゼ口点を抽出して時間差分ゼ口 点画像の各帯域画素値を生成する手段と、
前記時間差分ゼロ点画像の前記各帯域画素値の最大値を求めて最大値時間差分ゼロ点 画像の帯域画素値を生成する手段と、
前記鮮鋭化画像の前記各帯域画素値に対して前記ラプラシアンを計算してラプラシァ ン画像の各帯域画素値を生成する手段と、
前記ラプラシアン画像の前記各帯域画素値の前記ゼ口点を抽出してゼロ点画像の各帯 域画素値を生成する手段と、
前記ゼロ点画像の前記各帯域画素値の最大値を求めて最大値ゼロ点画像の帯域画素値 を生成する手段と、
前記最大値ゼ口点画像の前記帯域画素値と前記最大値時間差分ゼ口点画像の前記帯域 画素値のうち大きい方を求めて混成ゼロ点画像の帯域画素値を生成する手段と、 前記混成ゼロ点画像の孔を除去して孔除去混成ゼロ点画像の帯域画素値を生成する手 段と、
前記孔除去混成ゼロ点画像の孤立点および孤立孔を除去してノィズ除去混成ゼロ点画 像の帯域画素値を生成する手段と、
前記ノィズ除去混成ゼ口点画像の前記各帯域画素値を反転して粗ェッジ情報画像の帯域 画素値を生成する手段と、
前記粗エッジ情報画像の前記帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
8 . 粗エッジ情報画像から形成エッジ情報画像を生成する手段を実現するデータ処理装置 において格子状に配置された配列演算ュニットの各々に対して、
前記配列演算ュニットを初期化する手段と、
入力すべきデジタル画像又は前記粗エッジ情報画像がなければ処理を終了する手段と、 前記デジタル画像の各帯域画素値及び前記粗エッジ情報画像の帯域画素値を入力する手 段と、
前記デジタル画像の前記各帯域画素値と前記粗エッジ情報画像の前記帯域画素値を分離 する手段と、
前記デジタル画像の前記各帯域画素値を平滑化して平滑化画像の各帯域画素値を生成 する手段と、
前記平滑化画像の前記各帯域画素値の対数を取って対数変換画像の各帯域画素値を生成 する手段と、
前記対数変換画像の前記各帯域画素値を鮮鋭化して鮮鋭化画像の各帯域画素値を生成 する手段と、
前記鮮鋭化画像の前記各帯域画素値に対してラプラシアンを計算してラプラシアン画 像の各帯域画素値を生成する手段と、
前記ラプラシァン画像の前記各帯域画素値のゼ口点を抽出してゼロ点画像の各帯域画 素値を生成する手段と、
前記ゼロ点画像の前記各帯域画素値の最大値を求めて最大値ゼロ点画像の帯域画素値 を生成する手段と、
前記最大値ゼロ点画像の前記帯域画素値を反転して基礎エッジ情報画像の帯域画素値を 生成する手段と、
前記基礎ェッジ情報画像の前記帯域画素値に近づくように前記粗ェッジ情報画像の帯域 画素値を整形する手段と、
前記粗ェッジ情報画像の前記帯域画素値の線幅を補間して形成ェッジ情報画像の帯域画 素値を生成する手段と、 前記形成エッジ情報画像の前記帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
9 . 物体領域の位置及び大きさを検出する手段を実現するデータ処理装置において格子状 に配置された配列演算ユニットの各々に対して、
前記配列演算ュニットを初期化する手段と、
入力すべき粗エッジ情報画像がなければ処理を終了する手段と、
前記粗ェッジ情報画像の帯域画素値を入力する手段と、
前記粗エッジ情報画像の前記帯域画素値を重複情報画像の帯域画素値に変換する手段 と、
前記重複情報画像から計算した移動量を移動量画像の帯域画素値に画像化する手段と、 前記移動量画像の前記帯域画素値が指し示す移動位置に前記重複情報画像の前記帯域 画素値を移動する手段と、
前記重複情報画像の前記帯域画素値を前記重複情報画像の移動元の前記帯域画素値の 合計に更新する手段と、
前記重複情報画像の前記帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
1 0 . 物体領域を正規化する手段を実現するデータ処理装置において格子状に配置された 配列演算ユニットの各々に対して、
前記配列演算ュニットを初期化する手段と、
入力すべき物体領域画像又はデジタル画像がなければ処理を終了する手段と、 前記物体領域画像の帯域画素値及び前記デジタル画像の各帯域画素値を入力する手段 と、
前記物体領域画像の前記帯域画素値と前記デジタル画像の前記各帯域画素値を分離し て更新物体領域画像の帯域画素値及び更新画像の各帯域画素値を生成する手段と、 前記更新物体領域画像から計算した移動量を移動量画像の帯域画素値に画像化する手 段と、 前記移動量画像の前記帯域画素値が指し示す移動位置の重複数に従い移動可能画像の 帯域画素値を生成する手段と、
前記移動可能画像の判定に従い前記更新物体領域画像の前記帯域画素値を前記移動位 置に移動する手段と、
前記更新物体領域画像の前記帯域画素値の移動に合わせて前記更新画像の前記各帯域 画素値を移動する手段と、
前記物体領域に含まれない前記更新物体領域画像の前記帯域画素値に対して前記物体 領域に含まれる近傍帯域画素値の平均値で補間する手段と、
前記更新物体領域画像の前記帯域画素値の補間に合わせて前記更新画像の前記各帯域 画素値を補間する手段と、
前記更新画像を補間して生成した正規化画像の各帯域画素値を出力する手段と、 を備えたことを特徴とする視覚装置。
1 1 . 正規化画像を認識する手段のうちパターンマッチングを実現するデータ処理装置に おいて格子状に配置された配列演算ユニットの各々に対して、
前記配列演算ユニットを格子状に配置する手段と、
前記配列演算ュニットを初期化する手段と、
入力すべきテンプレート画像がなくなるまで前記テンプレート画像の帯域画素値を入 力する手段と、
入力すべき前記正規化画像がなければ処理を終了する手段と、
前記正規化画像の帯域画素値を入力する手段と、
マッチング結果を計算する手段と、
マッチング結果画像を更新する手段と、
前記マッチング結果画像の帯域画素値を出力する手段と、
を備えたことを特徴とする視覚装置。
1 2 . 形成エッジ情報画像を用いて物体領域を分離する手段を実現するデータ処理装置に おいて格子状に配置された配列演算ュニットの各々に対して、 前記配列演算ユニットを格子状に配置する手段と、
前記配列演算ュニット中の非線形振動子と、 前記非線形振動子の近傍にある前記非線形 振動子とを結合値で接続する手段と、
前記配列演算ュニットを初期化する手段と、
入力すべき前記形成エッジ情報画像がなければ処理を終了する手段と、
前記形成ェッジ情報画像の帯域画素値を入力する手段と、
外乱を計算する手段と、
前記非線形振動子の近傍入力合計を計算する手段と、
前記非線形振動子のパラメ一夕を計算する手段と、
前記非線形振動子の出力を計算する手段と、
輪郭パラメータを計算する手段と、
境界パラメ一夕を計算する手段と、
前記非線形振動子によって分離された前記物体領域を含む物体領域画像の帯域画素値を 出力する手段と、
を備えたことを特徴とする視覚装置。
1 3 . データを入力する手段と、
前記データを順次記憶する手段と、
配列演算ユニット間で前記デ一夕を転送する手段と、
前記デ一夕を用いて計算する手段と、
前記データを出力する手段と、
を有する前記配列演算ユニットに対して、
前記配列演算ユニットを格子状に配置する手段と、
前記配列演算ュニットの各々の位置関係から近傍同士を相互結合する手段と、 隣接する前記配列演算ュニット間で前記デ一夕を通信する手段と、
前記配列演算ュニットの各々を独立に動作させる手段と、
を特徴とする視覚装置。
1 4. 配列演算ユニットは、
入力したデータを処理する手段を備えたプロセッサと、
前記データを処理するプログラムと変数を記憶するためのメモリと、
隣接する前記配列演算ュニットと通信するためのコントローラと、
を備え、
前記コントローラは、
入力した前記データを前記メモリに記憶する手段と、
前記メモリ中の前記変数を隣接する前記配列演算ュニットに送信する手段と、 隣接する前記配列演算ユニットから送信された前記変数を前記メモリに記憶する手段 と、
を備えたことを特徴とする視覚装置。
PCT/JP1999/004975 1998-09-10 1999-09-10 Dispositif visuel WO2000016259A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP99943301A EP1113388B1 (en) 1998-09-10 1999-09-10 Visual device
AU56500/99A AU763178B2 (en) 1998-09-10 1999-09-10 Visual device
IL14158999A IL141589A (en) 1998-09-10 1999-09-10 Optical counting device using edge analysis
JP2000570722A JP4324327B2 (ja) 1998-09-10 1999-09-10 視覚装置
DE69935437T DE69935437T2 (de) 1998-09-10 1999-09-10 Visuelle vorrichtung
US09/786,820 US6856696B1 (en) 1998-09-10 1999-09-10 Visual device

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP10/257327 1998-09-10
JP25732798 1998-09-10
JP11/145638 1999-05-25
JP14563899 1999-05-25
JP20973899 1999-07-23
JP11/209738 1999-07-23
JP25098699 1999-09-06
JP11/250986 1999-09-06
JP11/250990 1999-09-06
JP25099099 1999-09-06
JP11/253634 1999-09-07
JP25363499 1999-09-07

Publications (1)

Publication Number Publication Date
WO2000016259A1 true WO2000016259A1 (fr) 2000-03-23

Family

ID=27553000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/004975 WO2000016259A1 (fr) 1998-09-10 1999-09-10 Dispositif visuel

Country Status (9)

Country Link
US (1) US6856696B1 (ja)
EP (1) EP1113388B1 (ja)
JP (1) JP4324327B2 (ja)
KR (1) KR100402361B1 (ja)
CN (1) CN1292383C (ja)
AU (1) AU763178B2 (ja)
DE (1) DE69935437T2 (ja)
IL (1) IL141589A (ja)
WO (1) WO2000016259A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073538A1 (fr) * 2001-03-13 2002-09-19 Ecchandes Inc. Dispositif visuel, compteur asservi et capteur d'images
CN100338598C (zh) * 2001-03-13 2007-09-19 伊强德斯股份有限公司 视觉装置、联动式计数器及图象检测器
CN107040689A (zh) * 2015-12-01 2017-08-11 夏普株式会社 图像读取装置
CN109598328A (zh) * 2018-11-21 2019-04-09 山东农业大学 一种散布式千粒计数方法、系统、装置及终端

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0118020D0 (en) * 2001-07-24 2001-09-19 Memco Ltd Door or access control system
US7028175B2 (en) * 2003-04-09 2006-04-11 Microsoft Corporation System and method for computer hardware identification
US7756322B2 (en) * 2003-08-18 2010-07-13 Honda Motor Co., Ltd. Picture taking mobile robot
US7756301B2 (en) * 2005-01-26 2010-07-13 Honeywell International Inc. Iris recognition system and method
JP4428067B2 (ja) * 2004-01-28 2010-03-10 ソニー株式会社 画像照合装置、プログラム、および画像照合方法
JP2006098803A (ja) * 2004-09-29 2006-04-13 Toshiba Corp 動画処理方法、動画処理装置および動画処理プログラム
US7359552B2 (en) * 2004-12-15 2008-04-15 Mitsubishi Electric Research Laboratories, Inc. Foreground detection using intrinsic images
US7796780B2 (en) * 2005-06-24 2010-09-14 Objectvideo, Inc. Target detection and tracking from overhead video streams
US7801330B2 (en) * 2005-06-24 2010-09-21 Objectvideo, Inc. Target detection and tracking from video streams
JP4696991B2 (ja) * 2006-03-22 2011-06-08 日産自動車株式会社 動き検出方法および動き検出装置
NL2002462C2 (nl) * 2009-01-29 2010-07-30 Nedap Nv Werkwijze voor het detecteren, in het bijzonder tellen van dieren.
US8150902B2 (en) * 2009-06-19 2012-04-03 Singular Computing Llc Processing with compact arithmetic processing element
KR101105034B1 (ko) * 2010-02-09 2012-01-16 주식회사 팬택 촬영 기능을 보유한 단말기
JP5321497B2 (ja) * 2010-02-22 2013-10-23 株式会社デンソー 白線認識装置
EP2579569B1 (en) 2010-06-04 2017-08-09 Panasonic Intellectual Property Corporation of America Image processing device, image processing method, integrated circuit, and program
US8730396B2 (en) * 2010-06-23 2014-05-20 MindTree Limited Capturing events of interest by spatio-temporal video analysis
US9218316B2 (en) 2011-01-05 2015-12-22 Sphero, Inc. Remotely controlling a self-propelled device in a virtualized environment
US10281915B2 (en) 2011-01-05 2019-05-07 Sphero, Inc. Multi-purposed self-propelled device
US9429940B2 (en) 2011-01-05 2016-08-30 Sphero, Inc. Self propelled device with magnetic coupling
US9090214B2 (en) 2011-01-05 2015-07-28 Orbotix, Inc. Magnetically coupled accessory for a self-propelled device
US8751063B2 (en) 2011-01-05 2014-06-10 Orbotix, Inc. Orienting a user interface of a controller for operating a self-propelled device
KR20150012274A (ko) 2012-05-14 2015-02-03 오보틱스, 아이엔씨. 이미지 내 원형 객체 검출에 의한 계산장치 동작
US9827487B2 (en) 2012-05-14 2017-11-28 Sphero, Inc. Interactive augmented reality using a self-propelled device
US9292758B2 (en) 2012-05-14 2016-03-22 Sphero, Inc. Augmentation of elements in data content
US10056791B2 (en) 2012-07-13 2018-08-21 Sphero, Inc. Self-optimizing power transfer
TW201425871A (zh) * 2012-12-21 2014-07-01 Zong Jing Investment Inc 測距方法及電腦程式產品
WO2015017304A1 (en) * 2013-07-30 2015-02-05 Kodak Alaris Inc. System and method for creating navigable views of ordered images
US9829882B2 (en) 2013-12-20 2017-11-28 Sphero, Inc. Self-propelled device with center of mass drive system
CN106131537B (zh) * 2016-08-17 2018-11-20 重庆转购科技有限公司 一种3d智能拍摄系统和方法
US10504007B2 (en) * 2017-10-27 2019-12-10 Facebook, Inc. Determination of population density using convoluted neural networks
CN107895344B (zh) * 2017-10-31 2021-05-11 深圳市森国科科技股份有限公司 视频拼接装置及方法
JP7089179B2 (ja) 2018-08-30 2022-06-22 富士通株式会社 画像認識装置、画像認識方法および画像認識プログラム
KR102426726B1 (ko) * 2019-11-19 2022-07-29 한국기계연구원 비접촉식 위치 정보 획득 방법 및 장치
CN112200027B (zh) * 2020-09-27 2022-07-15 卡斯柯信号有限公司 一种基于机器视觉的自身移动状态识别方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206079A (ja) * 1985-03-09 1986-09-12 Fujitsu Ltd 変形画像表示方式
JPS6482184A (en) * 1987-09-24 1989-03-28 Japan Res Dev Corp Pattern recognizing device
JPH04128604A (ja) * 1990-09-19 1992-04-30 Ricoh Co Ltd エッジ抽出装置
JPH05252437A (ja) * 1991-07-24 1993-09-28 C S K Sogo Kenkyusho:Kk 画像処理方法および装置
JPH05324954A (ja) * 1991-11-28 1993-12-10 Nec Corp 駐車台数計数装置
JPH07146937A (ja) * 1993-11-25 1995-06-06 Matsushita Electric Works Ltd パターンマッチング方法
JPH07175934A (ja) * 1993-12-17 1995-07-14 Tokyo Gas Co Ltd 流体の画像処理解析装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163133A (en) * 1987-02-17 1992-11-10 Sam Technology, Inc. Parallel processing system having a broadcast, result, and instruction bus for transmitting, receiving and controlling the computation of data
JP3038051B2 (ja) * 1991-06-28 2000-05-08 日本放送協会 動画像領域抽出装置
US5519793A (en) * 1992-11-05 1996-05-21 The United States Of America As Represented By The Secretary Of The Interior Apparatus and method for computer vision measurements
US5687249A (en) * 1993-09-06 1997-11-11 Nippon Telephone And Telegraph Method and apparatus for extracting features of moving objects
US6400831B2 (en) * 1998-04-02 2002-06-04 Microsoft Corporation Semantic video object segmentation and tracking

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206079A (ja) * 1985-03-09 1986-09-12 Fujitsu Ltd 変形画像表示方式
JPS6482184A (en) * 1987-09-24 1989-03-28 Japan Res Dev Corp Pattern recognizing device
JPH04128604A (ja) * 1990-09-19 1992-04-30 Ricoh Co Ltd エッジ抽出装置
JPH05252437A (ja) * 1991-07-24 1993-09-28 C S K Sogo Kenkyusho:Kk 画像処理方法および装置
JPH05324954A (ja) * 1991-11-28 1993-12-10 Nec Corp 駐車台数計数装置
JPH07146937A (ja) * 1993-11-25 1995-06-06 Matsushita Electric Works Ltd パターンマッチング方法
JPH07175934A (ja) * 1993-12-17 1995-07-14 Tokyo Gas Co Ltd 流体の画像処理解析装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1113388A4 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073538A1 (fr) * 2001-03-13 2002-09-19 Ecchandes Inc. Dispositif visuel, compteur asservi et capteur d'images
EP1378862A1 (en) * 2001-03-13 2004-01-07 Ecchandes Inc. Visual device, interlocking counter, and image sensor
CN1301491C (zh) * 2001-03-13 2007-02-21 伊强德斯股份有限公司 视觉装置、联动式计数器及图象检测器
CN100338598C (zh) * 2001-03-13 2007-09-19 伊强德斯股份有限公司 视觉装置、联动式计数器及图象检测器
CN100385460C (zh) * 2001-03-13 2008-04-30 伊强德斯股份有限公司 联动式计数器及联动装置
JP2008243233A (ja) * 2001-03-13 2008-10-09 Ecchandesu:Kk 視覚装置
EP1378862A4 (en) * 2001-03-13 2009-06-17 Ecchandes Inc VISUAL DEVICE, SECURED COUNTER AND IMAGE SENSOR
US7664220B2 (en) 2001-03-13 2010-02-16 Ecchandes Inc. Visual device, interlocking counter, and image sensor
JP4625513B2 (ja) * 2001-03-13 2011-02-02 株式会社エッチャンデス 視覚装置
CN107040689A (zh) * 2015-12-01 2017-08-11 夏普株式会社 图像读取装置
CN109598328A (zh) * 2018-11-21 2019-04-09 山东农业大学 一种散布式千粒计数方法、系统、装置及终端
CN109598328B (zh) * 2018-11-21 2023-09-12 山东农业大学 一种散布式千粒计数方法、系统、装置及终端

Also Published As

Publication number Publication date
KR100402361B1 (ko) 2003-10-17
AU763178B2 (en) 2003-07-17
DE69935437D1 (de) 2007-04-19
IL141589A0 (en) 2002-03-10
IL141589A (en) 2005-11-20
US6856696B1 (en) 2005-02-15
EP1113388B1 (en) 2007-03-07
CN1292383C (zh) 2006-12-27
EP1113388A4 (en) 2005-04-06
KR20010085779A (ko) 2001-09-07
DE69935437T2 (de) 2007-11-15
EP1113388A1 (en) 2001-07-04
AU5650099A (en) 2000-04-03
CN1317124A (zh) 2001-10-10
JP4324327B2 (ja) 2009-09-02

Similar Documents

Publication Publication Date Title
JP4324327B2 (ja) 視覚装置
CN109145798B (zh) 一种驾驶场景目标识别与可行驶区域分割集成方法
WO2020119661A1 (zh) 一种目标检测方法、装置以及行人检测方法、系统
EP3499414B1 (en) Lightweight 3d vision camera with intelligent segmentation engine for machine vision and auto identification
KR101191308B1 (ko) 지능형 운송 시스템의 도로 및 차선 검출 시스템 및 방법
Fabian An algorithm for parking lot occupation detection
CN111539983A (zh) 基于深度图像的运动物体分割方法及系统
Othmane Traffic surveillance system for vehicle detection using discrete wavelet transform
Pawar et al. Morphology based moving vehicle detection
Bhardwaj et al. Traffic control system for Smart City using image processing
Wasala et al. Real-time HOG+ SVM based object detection using SoC FPGA for a UHD video stream
CN115147450B (zh) 基于运动帧差图像的移动目标检测方法及检测装置
CN115588187A (zh) 基于三维点云的行人检测方法、装置、设备以及存储介质
JP4201958B2 (ja) 動画像のオブジェクト抽出装置
JP2001148023A (ja) 視覚装置及び視覚方法
Quiros et al. Localization of license plates using optimized edge and contour detection technique
JP2001148022A (ja) 視覚装置
JP2001256477A (ja) 情報収集装置
Kallasi et al. Object detection and pose estimation algorithms for underwater manipulation
JP2001204757A (ja) 人工眼球
TW540010B (en) Vision device
Nateghi Detection, recognition and tracking cars from uav based implementation of mobilenet-single shot detection deep neural network on the embedded system by using remote sensing techniques
Shi et al. A Review of Lane Detection Based on Semantic Segmentation
CN113487487B (zh) 一种异构立体图像的超分辨率重建方法及系统
Wan et al. A cost-effective image sensor system for transport applications utilising a miniature CMOS single chip camera

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99810797.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 56500/99

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 141589

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 1999943301

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2000 570722

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 09786820

Country of ref document: US

Ref document number: 1020017003096

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1020017003103

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2001/00288/MU

Country of ref document: IN

WWW Wipo information: withdrawn in national office

Ref document number: 1020017003096

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1999943301

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020017003103

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1020017003103

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 56500/99

Country of ref document: AU

WWG Wipo information: grant in national office

Ref document number: 1999943301

Country of ref document: EP