KR20070036123A - Method and apparatus for automatic visual event detection - Google Patents
Method and apparatus for automatic visual event detection Download PDFInfo
- Publication number
- KR20070036123A KR20070036123A KR1020077000574A KR20077000574A KR20070036123A KR 20070036123 A KR20070036123 A KR 20070036123A KR 1020077000574 A KR1020077000574 A KR 1020077000574A KR 20077000574 A KR20077000574 A KR 20077000574A KR 20070036123 A KR20070036123 A KR 20070036123A
- Authority
- KR
- South Korea
- Prior art keywords
- event
- frames
- frame
- detection weights
- event detection
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
이벤트의 이미지를 기록하고 디스플레이 및 인간에 의한 또는 자동화된 분석을 위해 그 이미지를 검색하며 이벤트가 검출될 때 외부 장비로 동기화된 신호를 전송하는, 이벤트의 자동 시각 검출 방법 및 장치가 개시되어 있다. 이벤트는, 이벤트가 발생할 수 있는 2차원 시야의 디지털 이미지를 캡처 및 분석하는 것에 기초하여, 시각 수단에 의해 검출될 수 있는 촬상 장치의 시야 내에서의 어떤 시변 조건(time-varying condition) 중에서의 특정의 조건에 대응한다. 이벤트는 드문, 짧은 지속기간의 기계적 고장에 대응할 수 있으며, 이 고장에 대한 분석을 위해 이미지들을 획득하는 것이 바람직하다. 시야의 다수의 이미지에 대한 분석으로부터 획득된 증거를 고려하여 이벤트가 검출되며, 이 분석 시간 동안에 다수의 관찰 시점(viewing perspective)으로부터 움직이는 기계적 구성요소를 볼 수 있다.A method and apparatus for automatic visual detection of an event is disclosed that records an image of the event, retrieves the image for display and human or automated analysis, and transmits a synchronized signal to external equipment when the event is detected. The event is based on capturing and analyzing a digital image of a two-dimensional field of view in which the event may occur, which may be specified in any time-varying condition within the field of view of the imaging device that can be detected by visual means. Corresponds to the condition. An event may correspond to a rare, short duration mechanical failure, and it is desirable to acquire images for analysis of this failure. The event is detected in view of the evidence obtained from the analysis of multiple images of the field of view, and during this analysis time it is possible to see the moving mechanical components from the multiple viewing perspectives.
시각 검출, 동작 분석, 이미지 기록, 머신 비전 시스템 Visual detection, motion analysis, image recording, machine vision system
Description
본 발명은 고속 비디오 이벤트 검출, 동작 분석, 이미지 기록, 및 자동화된 이미지 분석에 관한 것이다.The present invention relates to high speed video event detection, motion analysis, image recording, and automated image analysis.
너무 빠르게 동작하여 인간의 눈이 볼 수 없는 기계 시스템의 동작 분석을 위해 고속 이미지 기록 장치를 사용하는 것이 기술 분야에 공지되어 있다. 이들 장치는 어떤 기계적 프로세스의 초당 수백 또는 수천개의 이미지를 캡처 및 기록하고, 이어서 인간 사용자가 보고서 고속 기계 동작을 분석하기 위해 그 이미지들을 느린 동작(slow motion)으로 또는 정지 화상으로서 디스플레이한다.It is known in the art to use high speed image recording devices for motion analysis of mechanical systems that operate too fast and are invisible to the human eye. These devices capture and record hundreds or thousands of images per second of a mechanical process, and then display the images in slow motion or as still images for human users to report and analyze high speed mechanical motion.
특히 관심을 끄는 것은 기계적 프로세스에 고장을 야기할 수 있는 드문, 짧은 지속기간의 기계적 이벤트이다. 이들 이벤트들이 드문, 짧은 지속기간을 갖는다는 사실은 특별한 도전 의식을 불러일으킨다. 예를 들어, 이미지 기록 장치가 초당 1000개의 이미지를 기록하고 이벤트가 3 밀리초 동안 계속되며 평균적으로 매시간마다 1번씩 발생하는 것으로 가정한다. 어떤 부가적인 메카니즘 없이, 인간의 눈은 이벤트를 포함하는 2개 또는 3개를 찾기 위해 평균적으로 3백6십만개의 화상을 보아야만 한다.Of particular interest are rare, short duration mechanical events that can cause failures in mechanical processes. The fact that these events have a rare, short duration raises a special challenge. For example, suppose an image recording device records 1000 images per second, an event lasts for 3 milliseconds, and occurs once every hour on average. Without any additional mechanism, the human eye must see an average of 3.6 million images to find two or three containing events.
이벤트가 발생한 때를 나타내는 트리거 신호를 이미지 기록 장치에 제공함으로써 이러한 난제를 해결하는 것이 기술 분야에서 공지되어 있다. 이미지 기록 장치는 제한된 수의 가장 최근의 이미지, 말하자면 마지막 1초의 기록을 유지하며, 트리거 신호가 이벤트가 발생했음을 나타내는 경우, 짧은 부가의 시간 동안 기록을 하고 이어서 중단한다. 이것에 의해 사용자는 이벤트 전후에 비교적 적은 수의 이미지를 보게 된다. 또한, 사용자는 트리거 신호에 의해 표시되는 이벤트의 시간에 대해 각각의 이미지가 캡처된 때를 정확히 알고 있다.It is known in the art to solve this problem by providing a trigger signal to the image recording device indicating when an event has occurred. The image recording device keeps a record of a limited number of the most recent images, the last one second, and if the trigger signal indicates that an event has occurred, it will record for a short additional time and then stop. This allows the user to see a relatively small number of images before and after the event. In addition, the user knows exactly when each image was captured with respect to the time of the event indicated by the trigger signal.
명백한 것은, 이 방법의 성공이 적당한 트리거 신호를 발생할 수 있느냐에 달려 있다는 것이다. 이것을 위해 광 검출기(photodetector)를 사용하는 것이 기술 분야에 공지되어 있다. 일반적인 광 검출기는 광원 및 객체의 표면 상의 점에 의해 반사되거나 객체가 지나갈 수 있는 경로를 따라 투과되는 광의 세기에 반응하는 단일의 광전 센서를 갖는다. 사용자-조정가능 감도 문턱값은 그 이상에서(또는 그 이하에서) 광 검출기의 출력 신호가 나타나는 광 세기를 설정한다.Obviously, the success of this method depends on whether a suitable trigger signal can be generated. It is known in the art to use a photodetector for this purpose. Typical light detectors have a single photoelectric sensor that responds to the light source and the intensity of light reflected by a point on the surface of the object or transmitted along a path through which the object can pass. The user-adjustable sensitivity threshold sets the light intensity at which the output signal of the photo detector appears above (or below).
트리거 신호를 제공하기 위해 다수의 광 검출기가 필요한 경우가 종종 있다. 예를 들어, 기계적 프로세스가 개별적인 객체를 생산하는 제조 라인이고 이벤트가 부품이 빠져 있는 객체의 생산에 대응하는 경우, 적어도 2개의 광 검출기가 필요하며, 하나는 객체가 존재하는지를 검출하기 위한 것이고 다른 하나는 빠진 부품을 검출하기 위한 것이다. 때때로, 복잡한 이벤트를 검출하기 위해 심지어 3개 이상이 필요하다.Often, multiple photo detectors are needed to provide a trigger signal. For example, if the mechanical process is a manufacturing line that produces individual objects and the events correspond to the production of objects with missing parts, at least two light detectors are needed, one to detect if the object exists and the other to Is for detecting missing parts. Sometimes, even three or more are needed to detect complex events.
트리거 신호를 제공하기 위해 광 검출기를 사용하는 것은 이하의 것을 포함 하는 어떤 제한을 갖는다.Using a photo detector to provide a trigger signal has certain limitations, including the following.
- 하나 이상의 점에 의해 투과되거나 반사되는 광의 세기의 간단한 측정이 이벤트를 검출하는 데 불충분할 수 있다.Simple measurement of the intensity of light transmitted or reflected by one or more points may be insufficient to detect an event.
- 광 검출기가 정확하고 올바른 지점을 보고 있도록 각각의 광 검출기의 위치를 조정하는 것이 어려울 수 있다.It may be difficult to adjust the position of each photo detector so that the photo detector sees the correct and correct point.
- 측정되는 지점이 기계적 프로세스의 정상적인 동작 동안에 움직여서는 안된다.The point being measured must not move during the normal operation of the mechanical process.
- 다수의 광 검출기가 필요하다는 것은 설치 및 설정을 어렵게 만들 수 있다.The need for multiple photo detectors can make installation and setup difficult.
또한, 트리거 신호를 제공하기 위해 머신 비전 시스템(machine vision system)을 사용하는 것이 기술 분야에 공지되어 있다. 머신 비전 시스템은 2차원 시야의 디지털 이미지를 캡처하고 이어서 이미지를 분석하고 결정을 할 수 있는 장치이다. 이미지는 누적 시간(integration time) 또는 셔터 시간(shutter time)이라고 하는 짧은 기간 동안 감광 요소의 2차원 어레이를, 렌즈에 의해 어레이에 초점이 맞추어진 광에 노출시킴으로써 캡처된다. 이 어레이는 이미저(imager)라고 하며, 개개의 요소는 픽셀(pixel)이라고 한다. 각각의 픽셀은 셔터 시간 동안에 그에 도달하는 광의 세기를 측정한다. 측정된 세기값은 이어서 이미지를 형성하기 위해 디지털 숫자로 변화되어 시각 시스템의 메모리에 저장되고, 이 이미지는 의사 결정을 하기 위해 기술 분야에 공지된 방법을 사용하여 컴퓨터 등의 디지털 처리 요소에 의해 분석된다.It is also known in the art to use a machine vision system to provide a trigger signal. Machine vision systems are devices that can capture digital images of a two-dimensional field of view and then analyze and make decisions. The image is captured by exposing a two-dimensional array of photosensitive elements to light focused by the lens on the array for a short period of time, called integration time or shutter time. This array is called an imager, and each element is called a pixel. Each pixel measures the intensity of light reaching it during the shutter time. The measured intensity values are then converted into digital numbers to form an image and stored in the memory of the visual system, which is analyzed by digital processing elements such as computers using methods known in the art to make decisions. do.
머신 비전 시스템은 광 검출기의 제한을 회피할 수 있다. 하나의 머신 비전 시스템은 많은 광 검출기를 대체할 수 있고 또 단지 단일 점의 세기 측정 대신에 광범위한 밝기 패턴의 복잡한 측정을 할 수 있다. 나사 드라이버 및 렌치 대신에 그래픽 사용자 인터페이스를 사용하여 보는 위치를 조정하는 것이 행해질 수 있으며, 이들 위치는 이미지 자체의 내용에 기초하여 각각의 이미지에 대해 재배치될 수 있다.Machine vision systems can circumvent the limitations of light detectors. One machine vision system can replace many photodetectors and make complex measurements of a wide range of brightness patterns instead of just single point intensity measurements. Adjusting the viewing position using a graphical user interface instead of a screwdriver and wrench can be done, and these positions can be repositioned for each image based on the contents of the image itself.
그렇지만, 머신 비전 시스템은 이하의 것을 포함하는 그 자신의 한계를 갖는다.However, machine vision systems have their own limitations, including the following.
- 머신 비전 시스템은 일반적으로 이벤트가 개별적인 객체의 검사에 관련되어 있을 때에만 적합하다.Machine vision systems are generally only suitable when events are involved in the inspection of individual objects.
- 머신 비전 시스템은 일반적으로 너무 느려서 짧은 지속기간의 이벤트를 검출할 수 없으며 그 대신에 결함있는 제품 등의 그 이벤트에 의해 야기되는 어떤 긴 지속기간의 조건을 탐색해야만 한다.Machine vision systems are generally too slow to detect short duration events and must instead look for any long duration conditions caused by those events, such as defective products.
유의할 점은 트리거 신호를 제공하기 위해 사용될 때, 머신 비전 시스템이 고속 이미지 기록 장치와 분리되어 있다는 것이다. 머신 비전 시스템은 그 장치에 의해 캡처된 이미지, 검출되어야 하는 이벤트를 포함하는 바로 그 이미지를 보지 않으며 분석할 수 없다. 이들 이미지가 머신 비전 시스템에게 이용가능하게 되더라도, 이들 이미지는 너무 높은 속도로 생성되어 종래의 설계의 머신 비전 시스템에 의해 분석될 수 없다.Note that when used to provide a trigger signal, the machine vision system is separate from the high speed image recording device. The machine vision system does not see and analyze the image captured by the device, the very image containing the event to be detected. Although these images are made available to machine vision systems, these images are generated at too high a speed and cannot be analyzed by machine vision systems of conventional design.
이 시각 검출기 방법 및 장치는 트리거링 이벤트가 발생하였는지를 검출하는 종래 기술의 광 검출기 및 머신 비전 시스템의 상기한 한계를 극복할 수 있는 신규의 방법 및 장치에 대해 개시하고 있다. 이들 개시 내용은 또한 최초의 개시 내용의 범위를 넘는 향상을 가져오는 기름진 혁신의 토양을 제공한다. 이하의 섹션에서, 시각 검출기 방법 및 장치에 대해 간략히 요약되어 있으며, 그 이후의 섹션은 본 발명에 의해 해소되는 문제점들을 상세히 설명한다.This visual detector method and apparatus discloses a novel method and apparatus that can overcome the above limitations of prior art photo detectors and machine vision systems that detect whether a triggering event has occurred. These disclosures also provide a fertile ground for innovation that results in improvements beyond the scope of the original disclosure. In the following section, a brief summary of the visual detector method and apparatus, and the subsequent sections detail the problems solved by the present invention.
<시각 검출기 방법 및 장치><Visual detector method and apparatus>
시각 검출기 방법 및 장치는 검출 또는 검사될 객체가 위치되어 있을 수 있는 2차원 시야의 디지털 이미지를 캡처하는 것 및 이어서 이미지를 분석하고 의사 결정을 하는 것에 기초한, 객체의 자동 광전 검출 및 검사(automatic optoelectronic detection and inspection) 시스템 및 방법을 제공한다. 이들 시스템 및 방법은 광범위한 영역으로부터 반사된 밝기의 패턴을 분석하고, 객체에 관한 많은 독특한 특징을 처리하며, 소프트웨어 수단을 통해 라인 변경(line changeover)에 대처하고, 불확실하고 가변적인 객체 위치를 처리한다. 이들은 종래 기술의 머신 비전 시스템보다 비용이 덜 들고 또 설정이 더 용이하며, 훨씬 더 높은 속도로 동작한다. 이들 시스템 및 방법은 또한 이동하는 객체의 다수의 시점을 이용하고, 트리거 없이 동작하며, 적절히 동기화된 출력 신호를 제공하고, 또한 당업자에게 자명한 다른 중요하고 유용한 기능을 제공한다.The visual detector method and apparatus provide for automatic optoelectronic detection and inspection of an object, based on capturing a digital image of a two-dimensional field of view where the object to be detected or inspected may be located, followed by analyzing and making a decision. detection and inspection) systems and methods. These systems and methods analyze patterns of brightness reflected from a wide range of areas, address many unique features about objects, cope with line changeover through software means, and handle uncertain and variable object locations. . They are less expensive and easier to set up than prior art machine vision systems and operate at much higher speeds. These systems and methods also utilize multiple views of a moving object, operate without triggers, provide a properly synchronized output signal, and also provide other important and useful functions that are apparent to those skilled in the art.
시각 검출기 방법 및 장치의 일 양태는, 종래 기술의 시각 시스템보다 더 높은 속도로 이미지 시퀀스를 캡처 및 분석할 수 있는, 시각 검출기(vision detector)라고 하는 장치이다. 캡처되고 분석되는 이러한 시퀀스에서의 이미지는 프레임(frame)이라고 한다. 프레임 속도(frame rate)라고 하는, 프레임이 캡처되고 분석되는 속도는 움직이는 객체가 시야(field of view, FOV)를 통과할 때 움직이는 객체가 다수의 연속적인 프레임에서 보일 정도로 충분히 높다. 객체가 연속적인 프레임들 사이에서 얼마간 이동하기 때문에, 이 객체는 FOV에서 다수의 위치에 위치되어 있고, 따라서 조명에 대해 다수의 관찰 시점 및 위치로부터 보인다.One aspect of vision detector methods and apparatus is an apparatus called a vision detector, capable of capturing and analyzing image sequences at higher speeds than prior art vision systems. The images in this sequence that are captured and analyzed are called frames. The speed at which frames are captured and analyzed, known as the frame rate, is high enough that the moving object is visible in multiple successive frames as the moving object passes through a field of view (FOV). Because the object moves some time between successive frames, this object is located at multiple locations in the FOV, and thus is visible from multiple viewing points and locations for the illumination.
시각 검출기 방법 및 장치의 다른 양태는 시야에서 객체가 위치되어 있는 다수의 프레임을 캡처 및 분석하고 이들 프레임 각각으로부터 획득한 증거의 조합에 기초하여 결과를 얻음으로써 객체를 검사하는, 동적 이미지 분석(dynamic image analysis)이라고 하는 방법이다. 이 방법은 단일의 프레임에 기초하여 의사 결정을 하는 종래의 머신 비전 시스템보다 상당한 이점을 제공한다.Another aspect of the visual detector method and apparatus is dynamic image analysis, which examines an object by capturing and analyzing multiple frames in which an object is located in the field of view and obtaining results based on a combination of evidence obtained from each of these frames. image analysis). This method offers significant advantages over conventional machine vision systems that make decisions based on a single frame.
시각 검출기 방법 및 장치의 또 다른 양태는, 시야에서 발생할 수 있는 이벤트를 검출하는, 시각 이벤트 검출(visual event detection)이라고 하는 방법이다. 이벤트는 객체가 시야를 통해 지나가는 것일 수 있고, 시각 이벤트 검출을 사용함으로써, 트리거 신호를 필요로 하지 않고 객체가 검출될 수 있다.Another aspect of the visual detector method and apparatus is a method called visual event detection, which detects events that may occur in the field of view. The event may be that the object passes through the field of view, and by using visual event detection, the object may be detected without requiring a trigger signal.
시각 검출기 방법 및 장치의 부가적인 양태들은 본 명세서에 제공된 도면 및 상세한 설명을 살펴보면 명백하게 될 것이다.Additional aspects of the visual detector method and apparatus will become apparent upon review of the drawings and detailed description provided herein.
다수의 시점으로부터의 이미지를 획득하기 위해, 검출 또는 검사될 객체가 연속적인 프레임들 사이에서 시야의 단지 적은 부분만을, 종종은 단지 몇 픽셀만을 이동하는 것이 바람직하다. 시각 검출기 방법 및 장치에 따르면, 객체 동작이 프레임마다 FOV의 단지 약 1/4 정도인 것이 일반적으로 바람직하며, 전형적인 실시예 에서, FOV의 단지 5% 이하인 것이 바람직하다. 제조 프로세스를 느리게 하는 것이 아니라 충분히 높은 프레임 속도를 제공함으로써 이것이 달성되는 것이 바람직하다. 예시적인 시스템에서, 프레임 속도는 적어도 200 프레임/초이고, 다른 예에서 프레임 속도는 객체가 시각 검출기에 제공되는 평균 속도의 적어도 40배이다.In order to obtain images from multiple viewpoints, it is desirable for the object to be detected or inspected to move only a small part of the field of view, often only a few pixels, between successive frames. According to the vision detector method and apparatus, it is generally preferred that the object motion is only about one quarter of the FOV per frame, and in typical embodiments, it is preferred that it is only 5% or less of the FOV. It is desirable that this is achieved by providing a sufficiently high frame rate rather than slowing the manufacturing process. In an exemplary system, the frame rate is at least 200 frames / second, and in another example the frame rate is at least 40 times the average rate at which the object is provided to the visual detector.
최대 500 프레임/초를 캡처 및 분석할 수 있는 예시적인 시스템이 개시되어 있다. 이 시스템은 종래 기술의 시각 시스템보다 훨씬 더 적은 픽셀을 갖는 초고감도 이미저를 사용한다. 높은 감도는 아주 저렴한 LED 조명을 사용하여 아주 짧은 셔터 시간을 가능하게 해주며, 이는 비교적 적은 수의 픽셀과 조합하여 아주 짧은 이미지 캡처 시간을 가능하게 해준다. 이 이미저는 분석 동작과 동시에 픽셀 데이터를 수신 및 저장할 수 있는 디지털 신호 처리기(DSP)에 연결되어 있다. 본 명세서에 개시되고 DSP에 적합한 소프트웨어에 의해 구현되는 방법을 사용하여, 각 프레임을 분석하는 시간은 일반적으로 그 다음 프레임을 캡처하는 데 필요한 시간 내로 유지될 수 있다. 캡처 및 분석 방법 및 장치는 원하는 높은 프레임 속도를 제공하기 위해 협력한다. 이미저, DSP 및 조명의 기능들을 본 발명의 목적과 주의깊게 조화시킴으로써, 예시적인 시스템은 종래 기술의 머신 비전 시스템보다 상당히 더 저렴할 수 있다.An example system is disclosed that can capture and analyze up to 500 frames / second. This system uses an ultra-sensitivity imager with much fewer pixels than prior art visual systems. High sensitivity allows for very short shutter times using very low cost LED lighting, which in combination with a relatively small number of pixels allows for very short image capture times. The imager is connected to a digital signal processor (DSP) that can receive and store pixel data simultaneously with the analysis operation. Using the methods disclosed herein and implemented by software suitable for the DSP, the time to analyze each frame can generally be maintained within the time needed to capture the next frame. Capture and analysis methods and apparatus work together to provide the desired high frame rate. By carefully harmonizing the functions of imager, DSP and lighting with the object of the present invention, the exemplary system may be significantly cheaper than prior art machine vision systems.
시각 이벤트 검출 방법은 프레임 시퀀스를 캡처하는 단계 및 이벤트가 발생하고 있거나 발생했다는 증거를 판정하기 위해 각 프레임을 분석하는 단계를 포함한다. 시각 이벤트 검출이 트리거 신호를 필요로 하지 않고 객체를 검출하는 데 사용될 때, 이 분석은 객체가 시야에 위치하고 있다는 증거를 판정한다.The visual event detection method includes capturing a frame sequence and analyzing each frame to determine evidence that an event is occurring or has occurred. When visual event detection is used to detect an object without requiring a trigger signal, this analysis determines the evidence that the object is in view.
예시적인 방법에서, 이 증거는, 객체가 시야에 위치하고 있다는 확신 레벨을 나타내는, 객체 검출 가중치(object detection weight)라고 하는 값의 형태이다. 이 값은 높은 또는 낮은 확신을 나타내는 간단한 예/아니오 선택, 일정 범위의 확신 레벨들을 나타내는 숫자, 또는 증거를 전달하는 임의의 정보 항목일 수 있다. 이러한 숫자의 한 예는 본 명세서에서 추가적으로 설명되는 소위 퍼지 논리값(fuzzy logic value)이다. 유의할 점은 기계가 이미지로부터 완벽한 의사 결정을 할 수 없으며, 따라서 그 대신에 불완전한 증거에 기초하여 판단을 한다는 것이다.In an exemplary method, this evidence is in the form of a value called object detection weight, which indicates the level of confidence that the object is in view. This value may be a simple yes / no selection indicating high or low confidence, a number indicating a range of confidence levels, or any item of information conveying evidence. One example of such a number is the so-called fuzzy logic value, which is further described herein. Note that the machine cannot make a complete decision from the image, and instead makes a judgment based on incomplete evidence.
객체 검출을 수행할 때, 객체가 시야에 위치하고 있다는 증거가 충분한지 여부를 결정하기 위해 각 프레임에 대해 검사가 행해진다. 간단한 예/아니오 값이 사용되는 경우, 이 값이 "예"이면 이 증거는 충분한 것으로 생각될 수 있다. 숫자가 사용되는 경우, 이 숫자를 문턱값과 비교함으로써 충분성이 판정될 수 있다. 증거가 충분한 프레임은 활성 프레임(active frame)이라고 한다. 유의할 점은 충분한 증거를 구성하는 것이 궁극적으로는 손쉬운 특정의 응용에 대한 이해에 기초하여 시각 검출기를 구성하는 인간 사용자에 의해 정의된다는 것이다. 시각 검출기는 그의 의사 결정을 함에 있어서 자동적으로 그 정의를 적용한다.When performing object detection, a check is made for each frame to determine whether there is sufficient evidence that the object is in view. If a simple yes / no value is used, this evidence may be considered sufficient if this value is "yes". If a number is used, sufficientness can be determined by comparing this number to a threshold. Frames with sufficient evidence are called active frames. It should be noted that constructing sufficient evidence is ultimately defined by the human user who constructs the visual detector based on an easy understanding of the particular application. The vision detector automatically applies that definition in making its decisions.
객체 검출을 수행할 때, 시야를 통해 지나가는 각각의 객체는 시각 검출기의 높은 프레임 속도로 인해 다수의 활성 프레임을 생성한다. 그렇지만, 이들 프레임은 엄격히 말하면 연속적이지 않을 수 있는데, 왜냐하면 객체가 시야를 통해 지나갈 때, 객체가 시야에 위치하고 있다는 증거가 충분하지 않은 몇개의 관찰 시점 또 는 다른 조건들이 있을 수 있기 때문이다. 따라서, 활성 프레임이 발견될 때 객체의 검출이 시작되고 다수의 연속적인 비활성 프레임이 발견될 때까지는 종료하지 않는 것이 바람직하다. 이 개수는 적절한 경우 사용자에 의해 선택될 수 있다.When performing object detection, each object passing through the field of view generates a number of active frames due to the high frame rate of the visual detector. However, these frames may not be strictly contiguous because there may be several observation points or other conditions when the object passes through the field of view, where there is insufficient evidence that the object is in the field of view. Therefore, it is desirable that the detection of an object begin when an active frame is found and not end until a number of consecutive inactive frames are found. This number may be selected by the user as appropriate.
시야를 통해 지나가는 객체에 대응할 수 있는 일련의 활성 프레임이 발견되었으면, 객체가 실제로 검출되었는지 여부를 판정하기 위해 추가적인 분석을 수행하는 것이 바람직하다. 이 추가적인 분석은 활성 프레임의 수, 객체 검출 가중치의 합, 평균 객체 검출 가중치, 기타 등등을 비롯한 활성 프레임의 어떤 통계를 고려할 수 있다.Once a series of active frames has been found that can correspond to objects passing through the field of view, it is desirable to perform further analysis to determine whether the object was actually detected. This additional analysis may take into account certain statistics of the active frames, including the number of active frames, the sum of the object detection weights, the average object detection weight, and so forth.
동적 이미지 분석 방법은 객체를 검사하기 위해 다수의 프레임을 캡처 및 분석하는 단계를 포함하며, 여기서 "검사"는 객체의 상태에 관한 어떤 정보를 판정하는 것을 의미한다. 이 방법의 일례에서, 객체의 상태는 객체가 적절한 경우 사용자에 의해 선택된 검사 기준을 만족하는지 여부를 포함한다.The dynamic image analysis method includes capturing and analyzing a plurality of frames to inspect an object, where "inspection" means determining some information about the state of the object. In one example of this method, the state of the object includes whether the object satisfies the inspection criteria selected by the user as appropriate.
시각 검출기 방법 및 장치의 어떤 양태에서, 동적 이미지 분석은 시각 이벤트 검출과 결합되고, 그에 따라 시각 이벤트 검출 방법에 의해 선택된 활성 프레임이 객체를 검사하기 위해 동적 이미지 분석 방법에 의해 사용되는 프레임이다. 시각 검출기 방법 및 장치의 다른 양태에서, 동적 이미지 분석에 의해 사용되는 프레임은 트리거 신호에 응답하여 캡처될 수 있다.In some aspects of the visual detector method and apparatus, dynamic image analysis is combined with visual event detection, whereby the active frame selected by the visual event detection method is a frame used by the dynamic image analysis method to inspect the object. In another aspect of the visual detector method and apparatus, a frame used by dynamic image analysis can be captured in response to a trigger signal.
각각의 이러한 프레임은 객체가 검사 기준을 만족시킨다는 증거를 판정하기 위해 분석된다. 한 예시적인 방법에서, 이 증거는 객체가 검사 기준을 만족시킨다는 확신 레벨을 나타내는, 객체 합격 점수(object pass score)라고 하는 값의 형태 이다. 객체 검출 가중치에서와 같이, 이 값은 높은 또는 낮은 확신을 나타내는 간단한 예/아니오 선택, 일정 범위의 확신 레벨을 나타내는 퍼지 논리값 등의 숫자, 또는 증거를 전달하는 임의의 정보 항목일 수 있다.Each such frame is analyzed to determine the evidence that the object meets the inspection criteria. In one exemplary method, this evidence is in the form of a value called an object pass score, indicating the level of confidence that the object meets the test criteria. As with the object detection weights, this value may be a simple yes / no selection indicating high or low confidence, a fuzzy logic value indicating a range of confidence levels, or the like, or any item of information conveying evidence.
객체의 상태는 객체 합격 점수의 평균 또는 백분위수(percentile) 등의 객체 합격 점수의 통계로부터 판정될 수 있다. 이 상태는 또한 객체 검출 가중치를 사용하여, 가중된 평균 또는 가중된 백분위수 등의 가중된 통계에 의해 판정될 수 있다. 가중된 통계는 사실상 객체가 그 프레임에 대한 시야에 실제로 위치되어 있다는 확신이 더 높은 프레임으로부터의 증거를 더 많이 가중한다.The state of an object may be determined from statistics of an object acceptance score, such as an average or percentile of the object acceptance score. This state may also be determined by weighted statistics, such as weighted average or weighted percentile, using object detection weights. The weighted statistic actually adds more evidence from a frame with higher confidence that the object is actually located in the field of view for that frame.
객체 검출 및 검사를 위한 증거는 객체의 하나 이상의 가시적 특징(visible feature)에 관한 정보를 위해 프레임을 검사함으로써 획득된다. 가시적 특징은 방출된 광의 양, 패턴 또는 다른 특성이 객체의 존재, 정체(identity) 또는 상태에 관한 정보를 전달하는 객체의 일부분이다. 광은 객체의 외부 또는 내부에 있는 광원의 반사, 투과 또는 굴절(이에 한정되지 않음)을 비롯한 임의의 프로세스 또는 프로세스들의 조합에 의해 또는 객체의 내부에 있는 광원으로부터 직접 방출될 수 있다.Evidence for object detection and inspection is obtained by examining the frame for information about one or more visible features of the object. A visible feature is a portion of an object in which the amount, pattern, or other characteristic of light emitted conveys information about the object's existence, identity, or state. Light may be emitted directly from a light source inside the object or by any process or combination of processes, including but not limited to reflection, transmission or refraction of the light source outside or inside the object.
시각 검출기 방법 및 장치의 일 양태는, 증거가 필요한 각 프레임 내의 하나 이상의 관심 영역에 대한 이미지 분석 동작에 의해, 객체 검출 가중치 및 객체 합격 점수를 비롯한 증거를 획득하는 방법이다. 이 방법의 일례에서, 이미지 분석 동작은 관심 영역 내의 픽셀 값들에 기초하여 측정치를 계산하고, 여기서 측정치는 객체의 가시적 특징의 어떤 적절한 특성에 대응한 것이다. 이 측정치는 문턱값 동 작에 의해 논리값으로 변환되고, 프레임에 대한 증거를 생성하기 위해 관심 영역으로부터 획득된 논리값들이 조합된다. 이들 논리값은 이진 또는 퍼지 논리값일 수 있으며, 문턱값 및 논리 조합은 적절한 경우 이진(binary) 또는 퍼지(fuzzy)일 수 있다.One aspect of visual detector methods and apparatus is a method of obtaining evidence, including object detection weights and object acceptance scores, by image analysis operations for one or more regions of interest in each frame for which evidence is needed. In one example of this method, the image analysis operation calculates a measurement based on pixel values in the region of interest, where the measurement corresponds to some suitable characteristic of the visible feature of the object. This measure is converted to a logic value by a threshold action, and the logic values obtained from the region of interest are combined to generate evidence for the frame. These logic values may be binary or fuzzy logic values, and the threshold and logic combinations may be binary or fuzzy as appropriate.
시각 이벤트 검출의 경우, 객체가 시야에 위치하고 있다는 증거는 사실상 관심 영역, 측정치, 문턱값, 논리 조합, 및, 총괄적으로 시각 검출기의 구성(configuration)이라고 하고 또 본 발명의 주어진 응용에 대해 적절한 경우 사용자에 의해 선택되는, 본 명세서에 추가적으로 기술되는 다른 파라미터에 의해 정의된다. 이와 유사하게, 시각 검출기의 구성은 무엇이 충분한 증거를 구성하는지를 정의한다.In the case of visual event detection, the evidence that the object is in view is in fact referred to as the region of interest, measurements, thresholds, logical combinations, and the configuration of the visual detector as a whole, and if appropriate for a given application of the invention Is defined by other parameters, which are further described herein. Similarly, the configuration of the visual detector defines what constitutes sufficient evidence.
동적 이미지 분석의 경우, 객체가 검사 기준을 만족시킨다는 증거는 또한 사실상 시각 검출기의 구성에 의해 정의된다.In the case of dynamic image analysis, the evidence that the object meets the inspection criteria is also actually defined by the configuration of the visual detector.
<문제점의 설명><Description of Problem>
고속 이벤트 검출, 동작 분석, 및 이미지 기록을 위한 트리거를 제공함에 있어서 광 검출기 및 머신 비전 시스템의 한계가 있는 경우, 고속 시각 이벤트 검출을 제공하고 이를 고속 이미지 기록과 통합함으로써 트리거 신호를 필요로 하지 않는 개선된 방법 및 장치가 필요하다.Where there are limitations in photodetectors and machine vision systems in providing triggers for high-speed event detection, motion analysis, and image recording, by providing fast visual event detection and integrating it with high-speed image recording, the trigger signal is not required. There is a need for improved methods and apparatus.
시각 검출기 방법 및 장치는, 이점들 중에서도 특히, 동작 분석에서 사용하기 위한 이미지 기록과의 통합에 대해서는 개시하고 있지 않은, 고속 시각 이벤트 검출을 제공하는 신규의 이미지 분석 방법 및 시스템을 개시한다. 따라서, 이벤트 의 자동 시각 검출, 기록 및 검색을 위한 신규의 유용한 방법 및 시스템을 달성하기 위해, 시각 검출기 방법 및 장치의 적당한 요소 및 구성과 적합한 이미지 기록 및 디스플레이 기능을 겸비한 개선된 방법 및 시스템이 필요하다.The vision detector method and apparatus discloses a novel image analysis method and system that provides high speed visual event detection, among other advantages, not disclosed for integration with image recording for use in motion analysis. Thus, to achieve new useful methods and systems for automatic visual detection, recording, and retrieval of events, there is a need for improved methods and systems that combine the appropriate elements and configurations of visual detector methods and apparatuses with appropriate image recording and display capabilities. Do.
또한, 시각 검출기 방법 및 장치는 시야를 통해 지나가는 별개의 객체들에 대응하는 이벤트를 검출하는 것이 주된 목적인 시각 이벤트 검출의 예시적인 실시예를 제공한다. 이들 개시 내용이 다른 유형의 이벤트를 검출하는 데 사용될 수 있다는 것이 당업자에게는 분명하지만, 그 개시 내용에 언급되지 않은 개선도 역시 이러한 이벤트를 검출하는 데 유용할 수 있다. 따라서, 다양한 이벤트를 검출함에 있어서의 그의 효용성을 향상시키기 위해 시각 이벤트 검출의 개시 내용을 확장시킬 필요가 있다.In addition, the visual detector method and apparatus provide an exemplary embodiment of visual event detection whose primary purpose is to detect events corresponding to distinct objects passing through the field of view. It will be apparent to those skilled in the art that these disclosures may be used to detect other types of events, but improvements not mentioned in the disclosure may also be useful for detecting such events. Thus, there is a need to expand the disclosure of visual event detection in order to improve its utility in detecting various events.
본 발명은 이벤트의 자동 시각 검출, 기록 및 검색을 위한 방법 및 시스템을 제공한다. 본 명세서에서,The present invention provides a method and system for automatic visual detection, recording and retrieval of an event. In this specification,
"이벤트"는 시각 수단에 의해 검출될 수 있는, 촬상 장치의 시야 내에서의 어떤 시변 조건들(time-varying condition) 중에서의 특정의 조건에 대응한다."Event" corresponds to a specific condition among certain time-varying conditions within the field of view of the imaging device, which can be detected by the visual means.
"자동 시각 검출"은 인간의 개입 또는 외부 트리거 신호를 필요로 하지 않고 촬상 장치에 의해 캡처된 이미지들의 내용에 기초하여 이벤트가 검출되는 것을 의미한다."Automatic visual detection" means that an event is detected based on the content of images captured by the imaging device without requiring human intervention or an external trigger signal.
"기록"은 이벤트 이전, 이벤트 동안 및 이벤트 이후의 시간에 대응하는 이미지들이 메모리에 저장되는 것을 의미한다."Record" means that images corresponding to the time before, during and after the event are stored in memory.
"검색"은 이들 이미지가 인간 사용자를 위한 디스플레이 및 이미지 분석 시스템에 의한 추가의 자동화된 분석을 비롯한 목적들을 위해 검색될 수 있는 것을 의미한다."Search" means that these images can be searched for purposes, including display for human users and further automated analysis by an image analysis system.
본 명세서에 개시된 방법 및 시스템은 이벤트가 발생했음을 외부 장비에 신호하는 것 및 이벤트가 발생했을 때를 나타내는 동기화된 출력 펄스를 제공하는 것(이에 한정되지 않음)을 비롯한 임의의 목적을 위한 이벤트의 자동 시각 검출에 유용하다. 이들 방법 및 시스템은 또한 기계적 프로세스의 고속 동작 분석, 및 짧은 지속기간의 드문 이벤트의 이미지가 요망되는 임의의 다른 응용에 유용하다.The methods and systems disclosed herein provide for the automation of events for any purpose, including but not limited to signaling external equipment that an event has occurred and providing a synchronized output pulse indicating when the event has occurred. It is useful for visual detection. These methods and systems are also useful for high speed motion analysis of mechanical processes, and any other application where images of rare events of short duration are desired.
본 발명의 개시 내용에 따르면, 시각 검출기 또는 다른 적당한 장치는 그의 시야가 어떤 특정의 조건에 대응하는 이벤트가 발생할 수 있는 기계적 프로세스 등의 어떤 시변 조건을 포함하도록 배치되고 또한 이벤트를 검출하도록 구성되어 있다. 시각 검출기는 일련의 프레임(각 프레임은 시야의 이미지임)을 캡처하고, 시각 검출기 방법 및 장치에 개시된 것들(이에 한정되는 것은 아님)을 비롯한 다양한 방법 및 시스템 중 임의의 것을 사용하여 또한, 이하에서 추가적으로 기술하는 바와 같이, 시야에서 이벤트가 발생했다는 증거를 획득하기 위해 프레임들을 분석한다.According to the disclosure of the present invention, a visual detector or other suitable device is arranged so that its field of view includes any time varying condition, such as a mechanical process in which an event corresponding to a certain condition may occur, and is also configured to detect an event. . The visual detector captures a series of frames, each frame being an image of a field of view, and using any of a variety of methods and systems, including but not limited to those disclosed in the visual detector method and apparatus, As further described, the frames are analyzed to obtain evidence that an event has occurred in the field of view.
이벤트가 발생할 때, 이 분석은 모두 이벤트가 발생했다는 충분한 증거를 보여주는 이벤트 프레임(event frame) 세트를 식별하게 된다. 이 세트는 단지 하나의 이벤트 프레임을 포함할 수 있고, 이 세트는 또한 복수의 이벤트 프레임을 포함할 수 있다. 본 명세서에 개시된 예시적인 실시예들에서, 이벤트 프레임들은 프레임 시퀀스에서 연속적이지만, 엄격히 말하여 이벤트 프레임들이 연속적이지 않은 본 발명의 범위 내의 실시예들을 안출하는 것은 간단하다.When an event occurs, this analysis will identify a set of event frames that all show sufficient evidence that the event has occurred. This set may include only one event frame and this set may also include a plurality of event frames. In the example embodiments disclosed herein, the event frames are contiguous in the frame sequence, but strictly speaking it is simple to devise embodiments within the scope of the present invention where the event frames are not contiguous.
이하의 예를 생각해보자. 검출될 이벤트는 움직이는 기계 구성요소가 허용 공차의 구역을 벗어나 이동하는 것에 대응한다. 시각 검출기는 허용 구역을 벗어나 있는 시야의 범위인 에러 구역(error zone)에 있는 구성요소를 검출하도록 구성되어 있다. 어떤 기계 사이클에서 구성요소가 3개의 연속한 프레임 동안 에러 구역을 통해 이동하는 것으로 가정한다. 또한, 프레임의 분석이 구성요소가 제1 및 제3 프레임 동안 에러 구역에 있다는 강한 증거 및 구성요소가 제2 프레임 동안 에러 구역에 있다는 약한 증거를 보여주는 것으로 가정한다. 이것이 발생할 수 있는 이유는 제2 프레임에서의 조명에 대한 구성요소의 관찰 시점 또는 위치가 구성요소를 보기 어렵게 되어 있기 때문이다. 이 분석은 또한 이 3개의 프레임 전후에 구성요소가 많은 프레임 동안 그 구역에 있지 않았을 것임을 보여준다.Consider the following example. The event to be detected corresponds to the moving machine component moving out of the zone of tolerance. The vision detector is configured to detect a component in an error zone, which is a range of field of view that is outside the permissible zone. It is assumed that in some machine cycles the component moves through the error zones for three consecutive frames. Further assume that the analysis of the frame shows strong evidence that the component is in the error zone during the first and third frames and weak evidence that the component is in the error zone during the second frame. This can happen because the viewing point or position of the component with respect to the illumination in the second frame makes the component difficult to see. The analysis also shows that components before and after these three frames would not have been in that region for many frames.
일련의 이벤트 프레임은 제1 프레임이 이벤트가 발생하고 있다는 강한 증거를 보여줄 때 시작되고 후속 프레임들이 이벤트가 계속되고 있다는 증거를 보여주지 않는 제3 프레임에서 끝난다. 제1 및 제3 프레임의 확고한 증거와 제2 프레임의 약한 증거의 결합은 이벤트가 발생했다고 결론짓기에 충분한 것으로 판단된다. 이 예에서 이 3개의 프레임이 이벤트 프레임이다.The series of event frames begins when the first frame shows strong evidence that an event is occurring and ends at a third frame where subsequent frames do not show evidence that the event is continuing. The combination of firm evidence of the first and third frames and weak evidence of the second frame is considered sufficient to conclude that the event has occurred. In this example, these three frames are event frames.
어떤 실시예들에서, 제2 프레임은 이벤트 프레임인 것으로 간주하지 않으며, 제2 프레임이 이벤트 프레임인 것으로 간주할지 여부의 선택은 본 발명의 범위 내에서 어느 한 방식으로 행해질 수 있다. 본 명세서에 개시된 예시적인 실시예들에서, 이벤트 프레임은 연속적이고 제2 프레임을 포함한다.In some embodiments, the second frame is not considered to be an event frame, and the choice of whether or not the second frame is to be considered an event frame may be made in any manner within the scope of the present invention. In the example embodiments disclosed herein, the event frame is continuous and includes a second frame.
이 증거가 이벤트가 발생했다고 결정하기에 충분한 것으로 판단될 때, 복수의 선택된 프레임이 메모리에 기록되기 위해 프레임 시퀀스로부터 선택된다. 프레임은 이벤트 프레임에 대한 또는 본 명세서에 기술된 바와 같이 계산되는 마크 시간에 대한 프레임 시퀀스에서의 그의 위치에 따라 기록되도록 선택된다. 이벤트 프레임 자체가 기록될 수 있고, 이 시퀀스에서 이벤트 프레임 이전의 프레임이 기록될 수 있으며, 이 시퀀스에서 이벤트 프레임 이후의 프레임이 기록될 수 있다. 예시적인 실시예들에서, 마크 시간에 대한 사용자-지정 시간 구간 내에서 캡처된 프레임이 기록된다. 다른 예시적인 실시예에서, 이벤트 프레임 및 이벤트 프레임의 직전 및 직후의 연속적인 프레임을 포함한 미리 정해진 수의 프레임이 기록된다.When this evidence is determined to be sufficient to determine that an event has occurred, a plurality of selected frames are selected from the frame sequence for writing to memory. The frame is selected to be recorded according to its position in the frame sequence relative to the event frame or relative to the mark time calculated as described herein. The event frame itself may be recorded, and frames before the event frame may be recorded in this sequence, and frames after the event frame may be recorded in this sequence. In exemplary embodiments, a frame captured within a user-specified time interval for mark time is recorded. In another exemplary embodiment, a predetermined number of frames are recorded, including event frames and successive frames immediately before and after the event frames.
이들 저장된 선택된 프레임들 중의 프레임이 명령에 응답하여 검색되고, 명령을 발행하기 위해 그래픽 사용자 인터페이스를 사용하고 있는 인간 사용자를 위한 디스플레이, 및 명령을 발행하고 있는 이미지 분석 시스템에 의한 추가적인 자동화된 이미지 분석을 비롯한 여러가지 목적으로 사용된다.Frames of these stored selected frames are retrieved in response to the command, displaying for human users who are using a graphical user interface to issue commands, and further automated image analysis by the image analysis system issuing commands. It is used for various purposes.
프레임이 인간 사용자를 위해 디스플레이되는 실시예들에서, 몇개의 프레임을 한꺼번에 디스플레이하는 것이 일반적으로 바람직하지만 사용자가 각각의 이미지에서 유용한 상세를 보기에 충분한 디스플레이 해상도로 기록된 이미지 전부를 한꺼번에 디스플레이하는 것은 일반적으로 실용적이지 않다. 본 발명에 따르면, 기록된 프레임의 일부가 한번에 디스플레이된다. 사용자는 디스플레이될 부분을 전방으로 또는 역방으로 전진시키기 위해 스크롤링 명령을 발행함으로써 디스플레이될 부분을 선택한다. 한번에 디스플레이될 부분은 양호하게는 몇개의 프레임을 포함하지만, 겨우 하나의 프레임만을 포함할 수 있다.In embodiments in which frames are displayed for a human user, it is generally desirable to display several frames at a time, but it is common to display all of the recorded images at once with a display resolution sufficient for the user to see useful details in each image. It is not practical. According to the invention, part of the recorded frame is displayed at one time. The user selects the portion to be displayed by issuing a scrolling command to advance the portion to be displayed forward or backward. The portion to be displayed at one time preferably contains several frames, but can only contain one frame.
예시적인 실시예에서, 프레임들은 그래픽 사용자 인터페이스(GUI)를 사용하여 디스플레이된다. 한번에 디스플레이되는 프레임들의 일부분은 프레임들의 일부분을 저해상도 "썸네일" 이미지의 연속으로서 디스플레이하는 GUI의 필름스트립 창(filmstrip window)에 포함되어 있다. 썸네일 이미지의 해상도는 유용한 수의 이미지를 한번에 볼 수 있을 만큼 충분히 낮도록 또한 각각의 이미지가 충분히 상세하여 유용할 만큼 충분히 높도록 선택된다. 스크롤링 명령은 종래의 GUI 요소에 의해 제공된다.In an example embodiment, the frames are displayed using a graphical user interface (GUI). A portion of the frames displayed at one time is contained in a filmstrip window of the GUI that displays a portion of the frames as a sequence of low resolution "thumbnail" images. The resolution of the thumbnail image is chosen to be low enough to allow a useful number of images to be viewed at a time and to be high enough that each image is sufficiently detailed and useful. Scrolling commands are provided by conventional GUI elements.
이 예시적인 실시예는 또한 프레임들의 일부분 중 한 프레임을 전체 해상도(full resolution)로 이미지 보기창(image view window)에 디스플레이한다. 스크롤링 명령이 필름스트립을 전방으로 및/또는 역방으로 전진시킴에 따라, 이미지 보기창에 디스플레이되는 프레임도 역시 전방으로 또는 역방으로 전진된다.This exemplary embodiment also displays one frame of the portion of the frames in an image view window at full resolution. As the scrolling command advances the film strip forwards and / or backwards, the frame displayed in the image viewing window is also advanced forwards or backwards.
예시적인 실시예에서, 시야에서 이벤트가 발생했다는 증거는 각 프레임에 대해, 이벤트가 발생하고 있거나 발생했다는 확신 레벨을 나타내는, 이벤트 검출 가중치(event detection weight)라고 하는 값의 형태로 획득된다. 이 값은 높은 또는 낮은 확신을 나타내는 간단한 예/아니오 선택, 일정 범위의 확신 레벨을 나타내는 숫자, 또는 증거를 전달하는 임의의 정보 항목일 수 있다. 이러한 숫자의 한 예가 본 명세서에서 추가적으로 기술되는 소위 퍼지 논리값이다. 유의할 점은 기계가 이미지로부터 완벽한 의사 결정을 할 수 없으며, 따라서 그 대신에 불완전한 증거에 기초하여 판단을 하게 된다는 것이다.In an exemplary embodiment, evidence that an event has occurred in the field of view is obtained for each frame in the form of a value called event detection weight, indicating the level of confidence that the event is occurring or has occurred. This value may be a simple yes / no selection indicating high or low confidence, a number indicating a range of confidence levels, or any item of information conveying evidence. One example of such a number is the so-called fuzzy logic value, which is further described herein. Note that the machine cannot make a complete decision from the image, and instead makes a judgment based on incomplete evidence.
프레임 내의 하나 이상의 관심 영역에 대한 이미지 분석 동작에 의해 각 프레임에 대해 이벤트 검출 가중치가 획득된다. 예시적인 실시예에서, 각각의 이미지 분석 동작은 관심 영역 내의 픽셀값에 기초하여 측정치를 계산하고, 여기서 이 측정치는 그 영역 내의 광의 양, 패턴 또는 다른 특성에 대응한 것이다. 이 측정치는 문턱값 동작에 의해 논리값으로 변환되고, 관심 영역으로부터 획득된 논리값들은 프레임에 대한 이벤트 검출 가중치를 생성하기 위해 합성된다. 이 논리값은 이진 또는 퍼지 논리값일 수 있으며, 문턱값 및 논리 조합은 적절한 경우 이진 또는 퍼지이다.Event detection weights are obtained for each frame by an image analysis operation on one or more regions of interest within the frame. In an exemplary embodiment, each image analysis operation calculates a measurement based on pixel values in a region of interest, where the measurements correspond to the amount, pattern, or other characteristic of light in that region. This measure is converted to a logic value by a threshold operation, and the logic values obtained from the region of interest are synthesized to generate an event detection weight for the frame. This logic value can be a binary or fuzzy logic value and the threshold and logic combinations are binary or fuzzy where appropriate.
예시적인 실시예에서, 이벤트 프레임은 연속적인 프레임의 세트이며, 여기서,In an exemplary embodiment, the event frame is a set of consecutive frames, where
이 세트에서의 첫번째 및 마지막 프레임에 대한 이벤트 검출 가중치는 문턱값을 초과하고,The event detection weights for the first and last frames in this set exceed the threshold,
마지막 프레임에 뒤이어서 이벤트 검출 가중치가 문턱값을 초과하지 않는 적어도 어떤 미리 정해진 수의 프레임이 따라오며,The last frame is followed by at least some predetermined number of frames whose event detection weights do not exceed the threshold,
프레임 세트의 이벤트 검출 가중치는 어떤 미리 정해진 조건을 만족시킨다.The event detection weight of the frame set meets some predetermined condition.
이를 위해 이하의 것을 포함하는 통계에 의존할 수 있는 임의의 적당한 조건이 정의될 수 있다.For this purpose any suitable condition may be defined which may depend on statistics, including the following.
- 세트 내의 프레임의 수,The number of frames in the set,
- 평균(average 또는 mean) 이벤트 검출 가중치,Average or mean event detection weight,
- 총(total) 이벤트 검출 가중치,Total event detection weight,
- 메디안(median) 이벤트 검출 가중치, 및A median event detection weight, and
- 이벤트 검출 가중치가 문턱값을 초과하는 세트 내의 프레임의 수(number) 또는 비율(fraction).The number or fraction of frames in the set in which the event detection weight exceeds a threshold.
본 발명에 따라 기록된 프레임은 이들이 캡처된 시간으로 스탬핑되는 것이 바람직하다. 이벤트에 대한 상세한 검토를 지원하기 위해, 타임 스탬프가 예를 들어 하루 중 시간보다는 오히려 이벤트 자체의 발생 시간과 관련되어 있는 것이 아주 유용하다. 그렇지만, 이벤트 프레임은 특정의 시점이 아닌 이벤트에 대한 광범위한 시간을 정의한다. 이벤트에 대한 특정의 의미있는 시간을 획득하기 위해, 시각 검출기 방법 및 장치에서 개시된 마크 시간을 사용할 수 있다. 그곳에서 개시된 바와 같이, 마크 시간은, 상기 개시 내용에 따라 정확하게 계산될 수 있는, 객체가 어떤 고정된 가상의 기준점을 지나가는 시간이다.Frames recorded according to the invention are preferably stamped with the time they were captured. To support a detailed review of the event, it is very useful that the time stamp is associated with the time of occurrence of the event itself, for example rather than the time of day. However, event frames define a wide range of time for an event rather than a specific point in time. In order to obtain a specific meaningful time for the event, the mark time disclosed in the time detector method and apparatus can be used. As disclosed therein, the mark time is the time at which an object passes some fixed virtual reference point, which can be accurately calculated according to the above disclosure.
그렇지만, 모든 이벤트가 객체가 기준점을 지나가는 것에 대응하는 것은 아니다. 어떤 경우에, 예를 들어 이벤트는 기계 구성요소가 시야 내에서 전진하고 이어서 후퇴하는 스트로크 동작에 대응할 수 있다. 이러한 경우에, 마크 시간은 기준점을 지나가는 것보다는 오히려 스트로크의 정점으로서 정의되는 것이 보다 유용하다. 기준점을 지나가는 동작은 흐름 이벤트(flow event)라고 부르며, 전진 및 후퇴의 동작은 스트로크 이벤트(stroke event)라고 부른다. 본 발명은 흐름 이벤트와 스트로크 이벤트 중에 선택하고 스트로크 이벤트에 대한 마크 시간을 계산하는 방법 및 시스템을 포함한다(흐름 이벤트에 대한 마크 시간은 시각 검출기 방법 및 장치에서 개시되었음).However, not all events correspond to the passing of an object's reference point. In some cases, for example, the event may correspond to a stroke action in which the mechanical component advances and then retracts in view. In this case, it is more useful to define the mark time as the vertex of the stroke rather than passing the reference point. The motion past the reference point is called a flow event, and the motion of forward and backward is called a stroke event. The present invention includes a method and system for selecting between flow events and stroke events and calculating mark times for stroke events (mark times for flow events are disclosed in time detector methods and apparatus).
본 발명에 따른 이벤트 검출은 시각 검출기 방법 및 장치에 개시된 시각 이벤트 검출의 일례이며, 그곳에서 "시각 이벤트 검출의 방법은 프레임 시퀀스를 캡처하는 단계 및 이벤트가 발생하고 있거나 발생했다는 증거를 판정하기 위해 각 프레임을 분석하는 단계를 포함한다"고 기술되어 있다. 그곳에서 개시된 바와 같이, 시각 이벤트 검출은 주로 검출될 이벤트가 개별적인 객체가 시야를 통해 지나가는 것에 대응하는 것이고 또한 그 객체들을 검사하는 것이 일반적으로 바람직한 실시예에 관한 것이었다. 그곳에서 개시된 객체 검출 가중치 및 객체 합격 점수와 본 발명에서 사용되는 이벤트 검출 가중치 간의 강한 유사성에 유의해야 한다. 실제로, 그곳에 개시되어 있는, 객체 검출 가중치 또는 객체 합격 점수를 획득하는 임의의 방법 또는 장치가 이벤트 검출 가중치를 획득하는 데 사용될 수 있으며, 유일한 차이는 이들 가중치 및 점수가 어떤 목적을 위한 것이냐이며 이들이 획득되는 방식이 아니다.The event detection according to the present invention is an example of the visual event detection disclosed in the visual detector method and apparatus, where the "visual event detection method comprises the steps of capturing a frame sequence and determining each event to determine that the event is or is occurring. Analyzing the frame ”. As disclosed there, visual event detection mainly relates to embodiments in which the event to be detected corresponds to the passing of an individual object through the field of view and also to inspect the objects in general. Note the strong similarity between the object detection weight and the object acceptance score disclosed therein and the event detection weight used in the present invention. Indeed, any method or apparatus for obtaining object detection weights or object acceptance scores, as disclosed therein, may be used to obtain event detection weights, the only difference being what purpose these weights and scores are for and they are obtained It's not the way it is.
또한, 객체가 시야를 통해 지나갔는지, 또는 보다 상세하게는 결함있는 객체가 시야를 통해 지나갔는지를 검출하는 것은 본 발명에 따라 검출, 기록 및 검색하는 것이 바람직할 수 있는 이벤트의 예이다. 실제로, 시야를 통해 지나가는 객체를 검출하는 것과 상기한 예에서와 같이 에러 구역에 들어가는 기계 구성요소를 검출하는 것 사이에는 거의 차이가 없다. 따라서, 시각 검출기 방법 및 장치에 대한 개시 내용은 일반적으로 기록 및 검색 방법 및 시스템, 개선된 이벤트 검출 방법 및 시스템이 본 명세서에 개시된 바와 같이 추가되어 있는 본 발명의 예시적인 실시예인 것으로 간주될 수 있다.In addition, detecting whether an object has passed through the field of vision or, more specifically, whether a defective object has passed through the field of view, is an example of an event that may be desirable to detect, record, and retrieve in accordance with the present invention. In practice, there is little difference between detecting an object passing through the field of view and detecting a machine component entering an error zone as in the above example. Thus, the disclosure of a visual detector method and apparatus may generally be considered to be an exemplary embodiment of the invention in which recording and retrieval methods and systems, and improved event detection methods and systems are added as disclosed herein. .
본 발명은 첨부 도면과 관련하여 기술된 이하의 상세한 설명으로부터 보다 충분히 이해될 것이다.The invention will be more fully understood from the following detailed description set forth in conjunction with the accompanying drawings.
도 1은 본 발명에 따라 시각 이벤트(여기서, 이벤트는 생산 라인 상에서 이동하는 객체에 결함 라벨을 붙이는 것에 대응함)를 검출, 기록 및 검색하는 시스템의 예시적인 실시예를 나타낸 도면이다.1 illustrates an exemplary embodiment of a system for detecting, recording, and retrieving visual events, where the events correspond to labeling objects moving on a production line.
도 2는 본 발명에 따라 이벤트를 검출하는 시스템의 일반적인 동작 사이클을 나타낸 타임라인을 나타낸 도면이다.2 is a timeline illustrating the general operating cycle of a system for detecting events in accordance with the present invention.
도 3은 예시적인 실시예에 의해 수행되는 분석 단계들을 기술한 흐름도이다.3 is a flow chart describing analysis steps performed by an exemplary embodiment.
도 4는 예시적인 실시예에서 시각 이벤트 검출을 위해 증거가 어떻게 가중되는지를 나타낸 도면이다.4 illustrates how evidence is weighted for visual event detection in an exemplary embodiment.
도 5는 예시적인 실시예에서 이벤트 검출을 위해 수집되고 사용되는 통계를 나타낸 도면이다.5 is a diagram illustrating statistics collected and used for event detection in an example embodiment.
도 6은 본 발명에 따른 시스템의 상위 레벨 블록도이다.6 is a high level block diagram of a system in accordance with the present invention.
도 7은 본 발명에 따른 시스템의 일부로서 사용될 수 있는 시각 검출기의 예시적인 실시예의 블록도이다.7 is a block diagram of an exemplary embodiment of a visual detector that may be used as part of a system in accordance with the present invention.
도 8은 예시적인 실시예에서 증거를 가중하고 또 객체가 존재하는지 여부 및 그 객체가 검사에 합격하는지 여부를 판단하는 것을 비롯한 판단을 행하는 데 사용 되는 퍼지 논리 요소를 나타낸 도면이다.FIG. 8 is a diagram of fuzzy logic elements used to make a judgment including weighting evidence and determining whether an object exists and whether the object passes a test in an example embodiment.
도 9는 예시적인 실시예에서 프레임을 분석하고 판단을 하며 입력을 감지하고 출력 신호를 제어하기 위해 사용되는 일련의 소프트웨어 요소(예를 들어, 컴퓨터 판독가능 매체의 프로그램 명령어)의 구성을 나타낸 도면이다.9 is a diagram illustrating the configuration of a series of software elements (eg, program instructions on a computer readable medium) used to analyze and judge frames, sense input, and control output signals in an exemplary embodiment. .
도 10은 시각 이벤트 검출의 예시적인 실시예에 대해 더 설명하는 데 사용되는 이벤트 검출 파라미터의 사용자 구성을 위한 HMI의 일부분을 나타낸 도면이다.10 is a diagram illustrating a portion of an HMI for user configuration of event detection parameters used to further describe an exemplary embodiment of visual event detection.
도 11은 예시적인 객체 상에 부적절하게 붙여진 라벨을 검출하는 데 사용될 수 있는 시각 검출기의 예시적인 구성의 일부분을 나타낸 도면이다.11 is a diagram illustrating a portion of an example configuration of a visual detector that may be used to detect an improperly pasted label on an example object.
도 12는 도 11의 예시적인 설정에 대응하는 구성의 다른 일부분을 나타낸 도면이다.12 illustrates another portion of a configuration corresponding to the example setup of FIG. 11.
도 13은 라벨 부착 아암에 대해 잘못된 위치에 있는 예시적인 객체를 검출하는 데 사용될 수 있는 시각 검출기의 예시적인 구성의 일부분을 나타낸 도면이다.FIG. 13 illustrates a portion of an example configuration of a vision detector that may be used to detect example objects that are in the wrong position relative to the labeling arm.
도 14는 도 13의 예시적인 설정에 대응하는 구성의 다른 일부분을 나타낸 도면이다.FIG. 14 illustrates another portion of a configuration corresponding to the example setup of FIG. 13.
도 15는 생산 사이클 동안에 과소-연장(under-extend) 또는 과잉-연장(over-extend)되어 있는 라벨 부착 아암을 검출하는 데 사용될 수 있는 시각 검출기의 예시적인 구성의 일부분을 나타낸 도면이다.FIG. 15 shows a portion of an exemplary configuration of a visual detector that can be used to detect labeled arms that are under-extend or over-extend during a production cycle.
도 16은 도 15의 예시적인 설정에서의 아암의 과소-연장 또는 과잉-연장을 검출하기 위해 증거가 어떻게 가중되는지를 나타낸 도면이다.FIG. 16 illustrates how evidence is weighted to detect under-extension or over-extension of the arm in the example setup of FIG. 15.
도 17은 연속적인 직물에서의 결함에 대응하는 이벤트를 검출하기 위해 본 발명을 구성하는 한 방법을 나타낸 도면이다.FIG. 17 is a diagram illustrating one method of configuring the present invention to detect events corresponding to defects in a continuous fabric.
도 18은 출력 신호가 이벤트가 발생하는 때에 어떻게 동기화되는지를 설명하는 데 사용되는 타이밍도이다.18 is a timing diagram used to explain how output signals are synchronized when an event occurs.
도 19는 스트로크 이벤트에 대한 마크 시간이 어떻게 계산되는지를 나타낸 도면이다.19 shows how mark times for stroke events are calculated.
도 20은 출력 시간의 사용자 구성을 위한 HMI의 일부분을 나타낸 도면이다.20 shows a portion of an HMI for user configuration of output time.
도 21은 검출된 이벤트의 이미지를 기록하기 위한 메모리 구성을 나타낸 도면이다.21 is a diagram illustrating a memory configuration for recording an image of a detected event.
도 22는 이벤트에 대응하는 기록되고 검색된 이미지를 보여주는, 필름스트립 창 및 이미지 보기창을 포함하는 그래픽 사용자 인터페이스의 일부분을 나타낸 도면이다.FIG. 22 illustrates a portion of a graphical user interface that includes a filmstrip window and an image viewing window, showing recorded and retrieved images corresponding to an event.
<본 발명의 기본 동작><Basic operation of the present invention>
도 1은 생산 라인 상에서 발생할 수 있는 어떤 이벤트를 검출하고 또 그 이벤트들의 이미지를 기록 및 검색하도록 구성되어 있는 시각 검출기의 예시적인 실시예를 나타낸 것이다. 컨베이어(100)는 예시적인 객체(110, 112, 14, 116, 118)를 비롯한 객체를, 각각의 객체에 라벨을 배치하는, 예를 들어 객체(112) 상에 라벨(120)을 배치하는 동작을 하는 라벨링 메카니즘(160)을 지나 왼쪽에서 오른쪽으로 이송한다. 라벨링 메카니즘(160)은 각각의 라벨을 각각의 객체로 이동시켜 부착시키는 동작을 하는 아암(162)을 포함한다. 유의할 점은 라벨링 메카니즘(160) 및 아암(162)이 본 발명을 설명하기 위해 예시적인 목적으로 도시되어 있으며 반드시 산업 생산에서 라벨을 부착하는 데 사용되는 임의의 특정의 메카니즘을 나타내는 것이 아니라는 것이다.1 illustrates an exemplary embodiment of a visual detector configured to detect any event that may occur on a production line and to record and retrieve an image of those events.
라벨링 메카니즘(160)은 때때로 오작동할 수 있고, 그 결과 예를 들어 오른쪽 아래 모서리가 객체(116)의 표면으로부터 떨어져 접혀 있는 잘못 부착된 라벨(122)이 있게 된다. 많은 산업 생산 라인은 결함있는 객체(116)를 검출하고 불합격(reject)시키기 위해 광 검출기 세트, 머신 비전 시스템, 또는 시각 검출기 등의 어떤 형태의 자동 광전 검사(automatic optoelectronic inspection)를 사용한다. 결함있는 객체가 고객에 도달하는 것을 방지하는 데 이러한 검사가 중요하지만, 이는 우선적으로 결함이 생기는 것을 방지하는 데는 아무것도 하지 않는다. 본 발명의 한가지 목적은 실제로 야기되고 있는 결함을 보여주는 이미지를 제공함으로써 제조 엔지니어가 결함있는 객체의 원인을 진단하고 수리하는 데 도움을 주는 것이다.The
생산을 위해 객체를 이송하는 것 이외에, 컨베이어(100)는 객체와 시각 검출기(130)의 시야 사이의 상대 이동(relative movement)을 야기한다. 많은 생산 라인 상에서, 컨베이어의 동작은, 시각 검출기(130)에 의해 수신될 수 있고 또 시각 검출기 방법 및 장치와 본 명세서에서 개시된 여러가지 목적으로 사용될 수 있는 신호(140)를 생성하는 샤프트 인코더(132)에 의해 추적된다. 예를 들어, 신호(140)는 시각 검출기(130)에 의해, 객체(112)가 마크 지점(mark point)이라고 하는 가상의 기준점(150)을 지나가는 시점에 대한 참조로서 사용될 수 있다.In addition to transporting the object for production, the
시각 검출기(130)는, 적절한 시각 기준에 기초하여, 그의 시야에서 발생할 수 있는 어떤 이벤트를 검출한다. 도 1이 예시적인 실시예에서, 이벤트는 아암(162)에 의한 라벨의 부착 오류에 대응하며, 이는 이하에서 더 기술하는 바와 같이 여러가지 방식으로 검출될 수 있다. 이미지는 이벤트 이전, 이벤트 동안 및 이벤트 이후에 기록된다. 제조 엔지니어 또는 기술자 등의 인간 사용자는 잘못 부착된 라벨을 야기하는 기계적 문제가 진단될 수 있도록 기록된 이미지를 검색하기 위해 신호(142)를 통해 휴먼-머신 인터페이스(134)와 상호작용한다.The
다른 실시예에서, 개별적인 객체는 없고 오히려 재료, 예를 들어 직물이 시각 검출기를 통해 연속하여 지나가며, 그의 예가 이하에 제공된다. 이벤트 검출, 기록 및 검색의 목적상, 개별적인 객체와 재료의 연속적인 흐름 간에는 차이점이 거의 없다.In another embodiment, there is no individual object but rather a material, for example a fabric, is passed through the visual detector in series, an example of which is provided below. For the purpose of event detection, recording and retrieval, there is little difference between the continuous flow of individual objects and materials.
도 2는 이벤트를 검출하고 이미지를 기록하도록 구성된 시각 검출기에 대한 일반적인 동작 사이클을 나타낸 타임라인을 나타낸 것이다. 박스(220) 등의 "c"로 표시된 박스는 이미지 캡처를 나타낸다. 박스(230) 등의 "a"로 표시된 박스는 분석을 나타낸다(분석 단계는 추가적으로 세분되며 이하에서 기술함). 그 다음 이미지의 캡처 "c"가 현재 이미지의 분석 "a"과 중복됨으로써 (예를 들어) 분석 단계(230)가 캡처 단계(220)에서 캡처된 이미지를 분석하는 것이 바람직하다. 이 타임라인에서, 분석이 캡처보다 시간이 덜 걸리는 것으로 도시되어 있지만, 일반적으로 분석이 응용 상세에 따라 캡처보다 더 짧거나 더 길게 된다.2 shows a timeline illustrating a typical operating cycle for a visual detector configured to detect an event and record an image. The box marked "c", such as
캡처와 분석이 중복되어 있는 경우, 시각 검출기가 이미지를 캡처 및 분석할 수 있는 속도는 캡처 시간과 분석 시간 중 더 긴 것에 의해 결정된다. 이것이 "프레임 속도(frame rate)"이다.If capture and analysis overlap, the speed at which the visual detector can capture and analyze the image is determined by the longer of the capture time and the analysis time. This is the "frame rate".
타임라인의 일부분(200)은 제1 이벤트에 대응하고, 5개의 이벤트 프레임의 캡처 및 분석을 포함한다. 제2 일부분(202)은 제2 이벤트에 대응하고 3개의 이벤트 프레임을 포함한다.A
본 명세서에서 고려되는 예시적인 실시예들에서, 이벤트 검출을 위한 캡처된 이미지의 분석은 3가지 주요 단계로 세분된다.In exemplary embodiments contemplated herein, the analysis of the captured image for event detection is subdivided into three main steps.
- 개개의 프레임에서 이벤트가 발생하고 있거나 발생했다는 증거를 평가하는 시각 분석(visual analysis) 단계,A visual analysis step of evaluating the evidence that an event is or has occurred in each frame,
- 검출될 이벤트가 발생하고 있을지 모르는 후보 프레임(candidate frame)이라고 하는 일련의 연속적인 프레임을 식별하는 활동 분석(activity analysis) 단계, 및An activity analysis step of identifying a series of consecutive frames called candidate frames in which an event to be detected may be occurring, and
- 검출될 이벤트가 일련의 후보 프레임에서 발생했는지 여부를 판정하는 이벤트 분석 단계.An event analysis step of determining whether an event to be detected occurred in a series of candidate frames.
각각의 시각 분석 단계는 개개의 프레임에서 이벤트가 발생하고 있다는 증거를 고려한다. 증거가 강한 프레임은 활성(active)이라고 한다. 활성 프레임(active)에 대한 분석 단계는 두꺼운 경계, 예를 들어 분석 단계(240)로 나타내어져 있다. 본 명세서에서 고려되는 예시적인 실시예에서, 이 증거는, 이하에서 또 시각 검출기 방법 및 장치에서 개시되는 바와 같이 프레임 내의 하나 이상의 관심 영역에 대한 이미지 분석 동작에 의해 계산되는, 이벤트 검출 가중치(event detection weight)(이하에서 더 기술됨)라고 하는 퍼지 논리값으로 나타내어져 있다.Each visual analysis step considers evidence that an event is occurring in each frame. Strongly evidenced frames are called active. The analysis step for the active frame is indicated by a thick boundary, for
각각의 활동 분석 단계는 최근의 프레임 세트 내에서 이벤트가 발생하고 있거나 발생했다는 증거를 고려한다. 본 명세서에서 고려되는 예시적인 실시예에서, 이벤트 검출은 이벤트가 발생하고 있다는 어떤 증거가 있는 것을 나타내는 활성 상태(active state)에 있거나 이러한 증거가 거의 없는 것을 나타내는 비활성 상태(inactive state)에 있는 것으로 간주된다. 활동 분석 단계의 한가지 기능은 이 상태를 판정하는 것이다. 예시적인 실시예에서, 활성 프레임이 발견될 때 비활성 상태에서 활성 상태로의 천이가 일어난다. 어떤 수의 연속적인 비활성 프레임이 발견될 때 활성 상태에서 비활성 상태로의 천이가 일어난다. 후보 프레임은 첫번째 활성 프레임으로 시작하고 마지막 활성 프레임으로 끝나는 연속적인 프레임 세트를 포함하고 또 이들 사이에 비활성 프레임을 포함할 수 있다. 활동 분석 단계의 다른 기능은 후보 프레임 세트에 대해 기술하는 통계를 수집하는 것이다.Each activity analysis step takes into account the evidence that an event is occurring or has occurred within a recent set of frames. In an example embodiment contemplated herein, event detection is considered to be in an active state indicating that there is some evidence that an event is occurring or in an inactive state indicating little such evidence. do. One function of the activity analysis phase is to determine this state. In an exemplary embodiment, a transition from inactive state to active state occurs when an active frame is found. The transition from active state to inactive state occurs when any number of consecutive inactive frames is found. The candidate frame may include a set of consecutive frames starting with the first active frame and ending with the last active frame, and may include inactive frames between them. Another function of the activity analysis phase is to collect statistics describing the set of candidate frames.
각각의 이벤트 분석 단계는 이어서 선행하는 활동 분석 단계에 의해 수집된 증거를 조사함으로써 후보 프레임 동안에 이벤트가 발생했다는 증거를 고려한다. 본 명세서에서 고려되는 예시적인 실시예들에서, 이벤트 분석 단계는 활성 상태에서 비활성 상태로의 천이가 일어날 때마다 수행된다. 후보 프레임을 기술하는 토예가 조사되고, 이들 통계가 이벤트가 발생한 것으로 결론짓기에 충분한 증거를 보여주는 경우, 후보 프레임은 이벤트 프레임으로 간주된다. 기록 및 이하에 더 기술되는 기타의 적절한 동작이 수행된다.Each event analysis step then considers the evidence that the event occurred during the candidate frame by examining the evidence collected by the preceding activity analysis step. In exemplary embodiments contemplated herein, the event analysis step is performed whenever a transition from active to inactive occurs. If an example of describing a candidate frame is examined and these statistics show sufficient evidence to conclude that an event has occurred, the candidate frame is considered an event frame. Recording and other appropriate operations are described further below.
본 발명의 범위 내에서 시각 분석, 활동 분석 및 이벤트 분석을 수행하기 위한 다양한 방법이 사용될 수 있으며, 어떤 것은 이하에서 또한 시각 검출기 방법 및 장치에 기술되어 있고, 많은 다른 것들은 당업자라면 잘 알고 있는 것이다.Various methods for performing visual analysis, activity analysis and event analysis can be used within the scope of the present invention, some of which are also described below in the visual detector methods and apparatus, and many others are well known to those skilled in the art.
도 2의 예에서, 제1 이벤트(200)에 대한 이벤트 검출은 분석 단계(240)에 대응하는 제1 활성 프레임에서 활성 상태에 들어가고, 분석 단계(246, 248)에 대응하는 2개의 연속적인 비활성 프레임으로 끝난다. 유의할 점은 제1 이벤트의 경우에 비활성 상태에 들어가는 데 분석 단계(242)에 대응하는 단일의 비활성 프레임으로는 충분하지 않다는 것이다.In the example of FIG. 2, event detection for the
예를 들어 분석 단계(248)의 끝에서 비활성 상태에 들어갈 때, 이벤트 분석 단계가 수행된다. 후보 프레임은 분석 단계(240)에서 시작하고 분석 단계(241)에서 끝나는 5개의 이벤트 프레임이다. 이 예에서 이벤트 분석 단계는 이벤트가 발생한 것으로 결론짓고, 그에 의해 제1 기록된 프레임 세트(210)의 기록이 있게 된다. 제2 이벤트(202)에 대한 유사한 분석의 결과 제2 기록된 프레임 세트(212)의 기록이 있게 된다.For example, when entering an inactive state at the end of
이하에서 더 기술하는 바와 같이, 객체가 시야를 통해 지나갈 때 활성 프레임들에서의 객체의 위치를 고려함으로써, 시각 검출기는 이벤트가 발생한 정확한 시간을 나타내는 마크 시간(250, 252)을 추정한다. 마크 시간과 각각의 이러한 기록된 프레임에 대응하는 셔터 타임의 중간점 사이의 상대 시간을 나타내는 타임스탬프가 각각의 기록된 프레임에 대해 저장된다.As further described below, by considering the position of the object in active frames as the object passes through the field of view, the visual detector estimates mark
비활성 상태로의 천이가 행해지면, 시각 검출기는 휴지 단계(idle step), 예 를 들어 제1 휴지 단계(260) 및 제2 휴지 단계(262)에 들어갈 수 있다. 이러한 단계는 선택적이지만, 몇가지 이유로 바람직할 수 있다. 이벤트들 간의 최소 시간을 알고 있는 경우, 새로운 이벤트가 발생할지도 모를 바로 전까지는 이벤트를 탐색할 필요가 없다. 휴지 단계는 이벤트가 발생할 수 없을 때의 잘못된 이벤트 검출의 가능성을 없애주며, 조명이 휴지 단계 동안에 꺼진 상태로 있을 수 있기 때문에 조명 시스템의 수명을 연장시킨다.Once the transition to the inactive state is made, the visual detector may enter an idle step, eg, a first
도 3은 이벤트 검출의 분석 단게의 상세를 제공하는 흐름도를 나타낸 것이다. 점선 경계를 갖는 박스는 흐름도에 의해 사용되는 데이터를 나타낸다. 흐름도 블록들을 둘러싸고 있는 둥근 직사각형은 시각 분석 단계(310), 활동 분석 단계(312) 및 이벤트 분석 단계(314)를 포함하는 분석 세부 단계를 나타낸다.3 shows a flow chart providing details of the analysis steps of event detection. Boxes with dashed borders represent data used by the flowchart. The rounded rectangle surrounding the flowchart blocks represents an analysis detail step that includes a
활성 플래그(300)는 활동 분석 단계에 의해 사용되는 활성/비활성 상태를 보유한다.The
활동 분석 단계에 의해 수집된 통계는 활성 통계(302) 및 비활성 통계(304)에 보유된다. 활성 프레임에 대한 값은 활성 통계(302)에 직접 추가된다. 비활성 프레임의 경우, 활동 분석 단계는 프레임이 후보 프레임 세트의 일부인지 여부(이는 장래의 프레임의 상태에 의존함)를 아직 알지 못한다. 따라서, 비활성 프레임에 대한 값은 비활성 통계(304)에 추가된다. 비활성 상태로의 천이가 일어나기 이전에 활성 프레임이 차후에 발견되는 경우, 비활성 통계(304)가 활성 통계(302)에 추가되고 클리어된다. 비활성 상태로의 천이 시에 남아 있는 비활성 통계(304)는 폐기된다. 양쪽 통계는 추가된 프레임의 수의 카운트를 포함한다.Statistics collected by the activity analysis step are retained in
도 3의 예시된 실시예에서, 이 흐름도는 하나의 프레임에 대해 한번씩 캡처 블록(320)으로부터 계속 블록(324)까지 반복하여 실행된다. 캡처 블록(320)은 분석과 프레임 캡처를 동기화시키고 현재 프레임의 분석과 중복되는 그 다음 프레임의 캡처를 제공한다. 시각 분석 블록(322)은 시각 분석 단계를 수행하고, 캡처된 이미지의 분석으로부터 이벤트 검출 가중치 d를 계산한다.In the illustrated embodiment of FIG. 3, this flowchart is executed repeatedly from
그 다음에 활동 분석 단계(312)가 수행된다. 활성 블록(320)은 이벤트 검출의 현재 상태를 판정하기 위해 활성 플래그(300)를 검사한다. 이벤트 검출이 비활성인 경우, 먼저 문턱값 블록(340)은 d를 문턱값 td와 비교함으로써 현재 프레임의 활성/비활성 상태를 판정한다. 이벤트 검출 가중치 d가 문턱값 td보다 크지 않은 경우, 프레임은 비활성이고, 현재 프레임에 대한 활동 분석이 끝난다. 이벤트 검출 가중치 d가 문턱값 td보다 큰 경우, 프레임은 활성이고, 활성 천이 블록(342)은 활성 플래그(300)를 설정하며, 초기화 블록(344)은 현재 프레임으로부터의 값을 사용하여 활성 통계(302)를 초기화하고 비활성 통계(304)를 클리어시킨다.An
활성 블록(330)이 현재 상태가 활성인 것으로 판정하는 경우, 제2 문턱값 블록(446)은 d를 문턱값 td와 비교함으로써 현재 프레임의 활성/비활성 상태를 판정한다. d가 문턱값보다 크지 않은 경우, 프레임은 비활성이고, 카운트 검사 블록(350)은 비활성 통계(304)에서의 프레임 카운트를 보고서 파라미터 k개 이상의 연속적인 비활성 프레임이 발견되는지 여부를 판정한다. 발견되지 않은 경우, 비활성 갱신 블록(354)은 현재 프레임으로부터의 값을 추가함으로써 비활성 통 계(304)를 갱신한다(프레임 카운트를 증가시키는 것을 포함함). 발견되는 경우, 비활성 천이 블록(352)은 활성 플래그(300)를 클리어시키고 이벤트 분석 단계(314)에서 실행이 계속된다.If the
제2 문턱값 블록(346)이 현재 프레임이 활성인 것으로 판정하는 경우, 활성 갱신 블록(360)은 현재 프레임 및 비활성 통계(304) 둘다로부터의 값을 추가함으로써 활성 통계(302)를 갱신한다. 클리어 블록(362)은 비활성 통계(304)를 클리어시킨다.If
활동 분석 단계(312)가 활성 상태로부터 비활성 상태로 천이를 하는 경우, 이벤트 분석 단계(314)가 수행된다. 조건 블록(370)은 이벤트가 발생했는지 여부를 판정하기 위해 활성 통계(302)를 검사한다. 발생하지 않은 경우, 수집된 통계가 무시되고, 실행이 계속된다. 발생한 경우, 이벤트 블록(372)은, 이하에서 더 기술하는 바와 같이, 기록을 위한 프레임에 표시를 한다. 휴지 블록(374)은 계속하기 이전에 휴지 구간 동안 기다린다.When the
도 4는 예시적인 실시예의 분석 단계를 상세히 나타낸 것으로서, 본 발명의 기본적인 동작을 이해하기 위해 도 2의 타임라인 및 도 3의 흐름도와 관련하여 사용될 수 있다.4 details the analysis steps of an exemplary embodiment and may be used in conjunction with the timeline of FIG. 2 and the flowchart of FIG. 3 to understand the basic operation of the present invention.
도 4는 예시적인 실시예에서 이벤트 검출을 위해 어떻게 증거가 가중되는지를 나타낸 것이다. 상기한 바와 같이, 시야에서 이벤트가 발생하고 있거나 발생했다는 증거를 포함하는 정보는 이벤트 검출 가중치(event detection weight)라고한다. 동 도면은 수평축(402) 상의 프레임 카운트 i에 대한 수직축(400) 상의 이벤 트 검출 가중치 di의 플롯을 나타낸 것이다. 각 프레임은 예시적인 라인(426) 등의 수직 라인으로 나타내어져 있다. 유의할 점은 프레임 카운트가 임의의 정수라는 것이다.4 illustrates how evidence is weighted for event detection in an example embodiment. As noted above, information including evidence that an event is occurring or has occurred in the field of view is referred to as event detection weight. The figure shows a plot of the event detection weight d i on the
이 실시예에서, di는 프레임 i에서 이벤트가 발생하고 있다는 증거를 나타내는 퍼지 논리값이며, 이하에서 및 시각 검출기 방법 및 장치에서 더 기술되어 있는 방법들을 사용하여 각 프레임 상에서 시각 검출기에 의해 계산된다.In this embodiment, d i is a fuzzy logic value that indicates evidence that an event is occurring in frame i, and is calculated by the time detector on each frame below and using methods described further in the time detector method and apparatus. .
도 4의 예시적인 실시예에서, 이벤트 검출 문턱값 td는 0.5이고, 따라서 di ≥0.5인 프레임은 활성 프레임인 것으로 간주된다. 참고로, di = 0.5인 라인(430)이 그려져 있다. 활성 프레임에 대한 이벤트 검출 가중치는 채워진 원, 예를 들어 점(410)으로 그려져 있고, 비활성 프레임에 대한 이벤트 검출 가중치는 비어 있는 원, 예를 들어 점(416)으로 그려져 있다.In the example embodiment of FIG. 4, the event detection threshold t d is 0.5, so a frame with d i ≧ 0.5 is considered to be the active frame. For reference, a
도 4의 예에서, 이벤트 검출은 프레임(422) 상에서 활성 상태에 들어가고, 4개의 연속적인 비활성 프레임을 본(이 예에서 비활성 프레임 카운트 문턱값 k=3임) 프레임(424) 이후에 비활성 상태에 들어간다. 후보 프레임 세트는 프레임(422)에서 시작하고 프레임(426)에서 끝난다. 격리된 비활성 프레임(420)은 비활성 상태로의 천이를 일으키지 않는다.In the example of FIG. 4, event detection enters an active state on
도 5는 예시적인 실시예에서 또한 도 4의 예에 대해 활동 분석 단계(312)에 의해 수집되고 이벤트 분석 단계(314)에 의해 사용되는 통계의 상세를 제공한다. 이 실시예에서, 활성 통계(302) 및 비활성 통계(304)는 비활성 상태로의 천이가 행 해질 때 이들 통계를 계산하기 위한 충분한 정보를 포함하고 있다. 도 5에서의 각각의 통계는 이하에서 더 기술하는 심볼(500), 값을 정의하는 역할을 하는 설명(510), 및 도 4의 예에 대해 그 값이 무엇인지를 보여주는 예(520)를 포함하고 있다.FIG. 5 provides details of the statistics collected by the
이벤트가 검출되었는지 여부를 판정하기 위해 증거를 가중하는 방법에 대한 상기 설명은 유용한 실시예의 예로서 보아야 하며, 본 발명의 범위 내에서 사용될 수 있는 방법을 제한하는 것이 아니다. 예를 들어, 이상에서 사용된 예시적인 상수 td = 0.5는 임의의 적당한 값으로 대체될 수 있다. 당업자에게는 시각 이벤트 검출을 위한 많은 추가의 방법이 안출될 것이다.The above description of how to weight evidence to determine whether an event has been detected should be viewed as an example of a useful embodiment and is not intended to limit the method that can be used within the scope of the present invention. For example, the exemplary constant t d = 0.5 used above may be replaced with any suitable value. Many additional methods will be devised to those skilled in the art for visual event detection.
<예시적인 장치><Example Device>
도 6은 이벤트의 시각 검출, 기록 및 검색을 위해 사용되는 시각 검출기의 상위 레벨 블록도를 나타낸 것이다. 시각 검출기(600)는 신호(620)에 의해 PLC, q거부 액츄에이터(reject actuator), 샤프트 인코더(shaft encoder), 및/또는 광 검출기를 포함할 수 있는 적절한 자동화 장비(610)에 연결될 수 있다. 이들 연결은 이벤트의 검출, 기록 및 검색에는 필요하지 않지만, 부가적인 목적, 예를 들어 시각 검출기 방법 및 장치에 개시된 목적을 위해 시각 검출기를 사용하는 것이 바람직한 경우에 유용할 수 있다. 예를 들어 이벤트가 검출되었음을 신호하기 위해 출력 펄스를 제공하는 것이 특히 바람직할 수 있다. 이러한 펄스는, 시각 검출기 방법 및 장치에 개시된 바와 같이, 지연되어 마크 시간에 동기화되고 또 PLC, 액츄에 이터 또는 기타의 장치에 의해 사용되어진다.6 shows a high level block diagram of a time detector used for time detection, recording and retrieval of an event. The
검출된 이벤트의 이미지의 검색 및 디스플레이를 위해, 시각 검출기는 신호(640)에 의해 PC 또는 핸드-헬드 장치 등의 휴먼-머신 인터페이스(HMI)(630)에 연결되어 있다. HMI(630)는 또한 설정을 위해 사용된다. HMI(630)는 이벤트의 검출 및 기록을 위해 연결될 필요가 없지만, 물론 검색 및 디스플레이를 위해 재연결되어야만 한다. 신호(640)는 임의의 적당한 포맷 및/또는 프로토콜로 구현될 수 있고 유선 또는 무선 형태로 전송될 수 있다.For retrieval and display of images of detected events, the visual detector is connected to a human-machine interface (HMI) 630, such as a PC or hand-held device, by
시각 검출기(600)에 의해 기록되는 이벤트의 이미지는 또한 종래의 머신 비전 시스템(이에 한정되는 것은 아님)을 비롯한 자동화된 이미지 분석 시스템(650)에 의해 검색될 수 있다. 이러한 시스템은, HMI(630)의 사용에 본질적인 인간 분석을 필요로 하지 않고, 아주 높은 프레임 속도로 동작하도록 설계된 시각 검출기에서 가능할 수 있는 것보다 복잡한 이미지 분석을 하는 데 사용될 수 있다.The image of the event recorded by the
도 7은 본 발명을 실시하는 데 사용될 수 있는 시각 검출기의 예시적인 실시예의 블록도를 나타낸 것이다. 디지털 신호 처리기(DSP)(700)는 캡처, 분석, 기록, HMI 통신, 및 시각 검출기가 필요로 하는 임의의 다른 적절한 기능을 제어하는 소프트웨어를 실행한다. DSP(700)는 프로그램 및 데이터를 위한 고속 랜덤 액세스 메모리 및 전원이 제거될 때 프로그램 및 설정 정보를 유지하기 위한 비휘발성 메모리를 포함하는 메모리(710)에 인터페이스되어 있다. 메모리(710)는 또한 차후의 검색을 위해 기록된 이미지를 유지한다. DSP는 또한 자동화 장비, HMI 인터페이스(730), 조명 모듈(740), 및 이미저(760)에 신호를 제공하는 I/O 모듈(720)에 연 결되어 있다. 렌즈(750)는 이미저(760)의 감광 요소 상에 이미지의 초점을 맞춘다.7 shows a block diagram of an exemplary embodiment of a visual detector that may be used to practice the present invention. The digital signal processor (DSP) 700 executes software that controls capture, analysis, recording, HMI communication, and any other suitable function required by the visual detector. The
DSP(700)는, 범용 컴퓨터, PLC, 또는 마이크로프로세서(이에 한정되는 것은 아님)를 비롯한, 디지털 계산, 정보 저장, 및 다른 디지털 요소로의 인터페이스를 할 수 있는 임의의 장치일 수 있다. DSP(700)가 저렴하지만 고속 프레임 속도를 처리할 정도로 충분히 빠른 것이 바람직하다. 또한, DSP가 이미지 분석과 동시에 이미저로부터 픽셀 데이터를 수신하여 저장할 수 있는 것이 바람직하다.The
도 7의 예시적인 실시예에서, DSP(700)는 미국 매사츄세츠주 노어우드 소재의 Analog Devices에 의해 제조된 ADSP-BF531이다. ADSP-BF531 DSP(700)의 PPI(Parallel Peripheral Interface)(770)는 이미저(760)로부터 픽셀 데이터를 수신하고, 이 데이터를 메모리(710)에 저장하기 위해 DMA(Direct Memory Access) 채널(772)을 통해 메모리 제어기(774)로 전송한다. PPI(770) 및 DMA(772)의 사용은, 적절한 소프트웨어 제어 하에서, 이미지 캡처가 DSP(700)에 의해 수행되는 임의의 다른 분석과 동시에 행해질 수 있게 해준다. PPI(770) 및 DMA(772)를 제어하는 소프트웨어 명령어는 ADSP-BF533 Blackfin Processor Hardware Reference(부품 번호 82-002005-01) 및 Blackfin Processor Instruction Set Reference(부품 번호 82-000410-14)(둘다 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함됨)에 포함된 프로그래밍 명령어에 따라 당업자에 의해 구현될 수 있다. 유의할 점은 ADSP-BF531 및 호환하는 ADSP-BF532 및 ADSP-BF533 장치는 동일한 프로그래밍 명령어를 가지며 이 예시적인 실시예에서 적절한 가격/성능 트레이드오프를 획득하기 위해 상호 교환가능하게 사용될 수 있다는 것이다.In the example embodiment of FIG. 7,
시각 검출기에 의해 요망되는 고속 프레임 속도는 종래 기술의 시각 시스템에서 사용되었던 것과 다른 이미저의 사용을 제안한다. 이미저가 광 감도가 아주 높고 그에 따라 저렴한 조명을 사용하여 극히 짧은 셔터 시간으로 동작할 수 있는 것이 바람직하다. 또한 픽셀 데이터를 종래 기술의 시각 시스템보다 훨씬 더 빠르게 디지털화하여 DSP로 전송할 수 있는 것이 바람직하다. 또한, 이미저가 저렴하고 글로벌 셔터(global shutter)를 갖는 것이 바람직하다.The high frame rates desired by vision detectors suggest the use of imagers different from those used in prior art vision systems. It is desirable for the imager to be able to operate with extremely short shutter times using very high light sensitivity and hence low cost illumination. It is also desirable to be able to digitize pixel data much faster than prior art visual systems and transfer it to a DSP. It is also desirable for the imager to be inexpensive and have a global shutter.
이들 목적은 종래 기술의 시각 시스템에 의해 사용되는 것보다 훨씬 더 높은 광 감도 및 낮은 해상도를 갖는 이미저를 선택함으로써 충족될 수 있다. 도 7의 예시적인 실시예에서, 이미저(760)는 미국 캘리포니아주 산타 클라라 소재의 National Semiconductor에 의해 제조되는 LM9630이다. LM9630은 일반적인 종래 기술의 시각 시스템보다 약 24배 더 적은 128x100(총 12800) 픽셀의 어레이를 갖는다. 이들 픽셀은 20 제곱 미크론으로 비교적 크고 높은 광 감도를 갖는다. LM9630은 300 마이크로초 셔터 시간에 대해 설정되어 있을 때 초당 500 프레임을 제공할 수 있으며, LED 조명을 사용하여 300 마이크로초 셔터를 가능하게 해주기 위해 (대부분의 경우에) 충분히 감도가 좋다. 이 해상도는 시각 시스템에 있어서 너무 지나치게 낮은 것으로 생각되지만, 시각 검출기 방법 및 장치의 목적인 특징 검출 작업에 꽤 충분하다. LM9630의 전기 인터페이스 및 소프트웨어 제어는 LM9630 Data Sheet, Rev 1.0(2004년 1월)에 포함된 명령어에 따라 당업자에 의해 구현될 수 있고, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.These objectives can be met by choosing an imager with much higher light sensitivity and lower resolution than that used by prior art vision systems. In the example embodiment of FIG. 7,
조명(740)이 저렴하지만 짧은 셔터 시간을 가능하게 해줄 정도로 충분히 밝은 것이 바람직하다. 예시적인 실시예에서, 630 나노미터에서 동작하는 고휘도 적색 LED의 뱅크, 예를 들어 Agilent Technologies에 의해 제조된 HLMP-ED25가 사용된다. 다른 실시예에서, 원하는 조명을 구현하기 위해 고휘도 백색 LED가 사용된다.It is desirable that the
도 7의 예시적인 실시예에서, I/O 모듈(720)은 출력 신호(722, 724) 및 입력 신호(726)를 제공한다. 입력 신호(726)는 시각 검출기 방법 및 장치에서 개시된 바와 같은 논리 뷰에서의 적절한 연결에 의해 이벤트 검출을 위해 사용될 수 있다.In the example embodiment of FIG. 7, I /
본 명세서에서 사용되는 바와 같이, 이미지 캡처 장치는 디지털 이미지를 캡처 및 저장하는 수단을 제공한다. 도 7의 예시적인 실시예에서, 이미지 캡처 장치(780)는 DSP(700), 이미저(760), 메모리(710), 및 연관된 전기 인터페이스 및 소프트웨어 명령어를 포함한다.As used herein, an image capture device provides a means for capturing and storing digital images. In the example embodiment of FIG. 7,
본 명세서에서 사용되는 바와 같이, 분석기는 디지털 이미지(이에 한정되지 않음)를 포함하는 디지털 데이터를 분석하는 수단을 제공한다. 도 7의 예시적인 실시예에서, 분석기(782)는 DSP(700), 메모리(710),및 연관된 전기 인터페이스 및 소프트웨어 명령어를 포함한다.As used herein, an analyzer provides a means for analyzing digital data including, but not limited to, digital images. In the example embodiment of FIG. 7,
본 명세서에서 사용되는 바와 같이, 출력 시그널러(output signaler)는 분석에 응답하여 출력 신호를 생성하는 수단을 제공한다. 도 7의 예시적인 실시예에서, 출력 시그널러(784)는 I/O 모듈(720) 및 출력 신호(722)를 포함한다.As used herein, an output signaler provides a means for generating an output signal in response to the analysis. In the example embodiment of FIG. 7,
본 명세서에서 사용되는 바와 같이, 프로세스(process)는 의도된 동작을 수 행하기 위해 한 위치에서 또는 다양한 위치에서 함께 작동하는 메카니즘, 장치, 컴포넌트, 소프트웨어 또는 펌웨어, 또는 이들의 임의의 조합(이에 한정되지 않음)을 비롯한 임의의 적당한 장치에 의해 수행되는, 어떤 목적에 관한 체계적인 일련의 동작을 말한다.As used herein, a process is a mechanism, device, component, software or firmware, or any combination thereof, that works together at one location or at various locations to perform an intended operation. A systematic series of actions on a particular purpose, performed by any suitable device.
예시적인 실시예에서, 본 발명에 의해 사용되는 여러가지 프로세스는 상호작용하는 디지털 하드웨어 요소 및 컴퓨터 소프트웨어 명령어의 집합체에 의해 수행된다. 이들 하드웨어 요소는 이하의 것들을 포함한다.In an exemplary embodiment, the various processes used by the present invention are performed by a collection of interacting digital hardware elements and computer software instructions. These hardware elements include the following.
- 적당한 컴퓨터 소프트웨어 명령어의 제어 하에서 범용 정보 처리 동작을 제공하는 DSP(700),A
- 이미지, 데이터 및 컴퓨터 소프트웨어 명령어에 대한 저장 및 검색 동작을 제공하는 메모리(710),A
- 본 명세서에 기술된 다른 요소와 결합하여, 이미지 캡처 동작을 제공하는 이미저(760),An
- 인터페이스 및 시그널링 동작을 제공하는 I/O 모듈(720), 및An I /
- 휴먼-머신 인터페이스 동작을 제공하는 HMI 인터페이스(730).An
예시적인 실시예에서, 컴퓨터 소프트웨어 명령어는,In an exemplary embodiment, the computer software instructions are:
예시적인 캡처 및 분석 프로세스의 일부분을 기술하는 도 3의 흐름도 단계들,The flowchart steps of FIG. 3 describing a portion of an example capture and analysis process,
예시적인 의사 결정 논리를 기술하는 도 8의 퍼지 논리 요소들,The fuzzy logic elements of FIG. 8 describing example decision logic,
본 발명을 실시하는 데 사용될 수 있는 일련의 소프트웨어 요소를 나타내는 도 9의 소프트웨어 요소들, 및The software elements of FIG. 9 representing a series of software elements that may be used to practice the invention, and
인간 사용자가 어떻게 동작 파라미터를 선택할 수 있는지를 나타내는 도 10 및 도 20의 그래픽 제어Graphical control of FIGS. 10 and 20 showing how a human user can select operating parameters
에 대해 본 명세서에 기술된 동작을 수행하는 명령어를 포함한다.Instructions for performing the operations described herein with respect to.
또한, 당업자라면 상기한 것이 단지 예들을 열거한 것에 불과하다는 것을 잘 알 것이다. 상기한 것이 전부 망라한 것은 아니며, 예시적인 실시예에서 본 명세서에 기술된 임의의 도면에 대해 사용되는 프로세스를 수행하기 위해 적당한 컴퓨터 소프트웨어 명령어가 사용될 수 있다.In addition, those skilled in the art will appreciate that the above is merely an example. The foregoing is not exhaustive and suitable computer software instructions may be used to perform the processes used for any of the figures described herein in the exemplary embodiments.
본 명세서에 기술되는 프로세스의 예는 이하의 것을 포함한다.Examples of processes described herein include the following.
- 캡처 블록(320)(도 3) 및 본 명세서에 기술된 기타 동작을 포함하며 이미지 캡처 장치(780)에 의해 수행되는 캡처 프로세스,A capture process performed by the
- 도 3의 일부분, 예를 들어 시각 분석 단계(310), 활동 분석 단계(312), 및 이벤트 분석 단계(314), 그리고 본 명세서에 기술된 기타 동작을 포함하며, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 분석 프로세스,A portion of FIG. 3, eg,
- 예를 들어 이벤트 블록(372), 및 본 명세서에 기술된 기타 동작을 포함하며, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 선택 프로세스, 및Various selection processes, including, for example,
- 예를 들어 조건 블록(370) 및 본 명세서에 기술된 기타 동작을 포함하고, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 의 사결정 프로세스.Various decision making processes, including, for example,
당업자라면 이미지 캡처 장치(780), 분석기(782), 및 출력 시그널러(784)를 구현하기 위해 본 발명의 범위 내에서 사용될 수 있는 많은 다른 대안적인 구성, 장치, 및 소프트웨어 명령어가 있다는 것을 잘 알 것이다. 이와 유사하게, 본 명세서에 기술된 프로세스를 수행하기 위해 본 발명의 범위 내에서 많은 다른 대안적인 구성, 장치, 및 소프트웨어 명령어가 사용될 수 있다.Those skilled in the art will appreciate that there are many other alternative configurations, devices, and software instructions that may be used within the scope of the present invention to implement an
<퍼지 논리 의사 결정>Fuzzy Logic Decision Making
도 8은 증거를 가중하고 이벤트가 발생하고 있는지 또는 발생하였는지 여부를 판단하는 것을 비롯한 판단을 하기 위해 예시적인 실시예에서 사용되는 퍼지 논리 요소를 나타낸 것이다.8 illustrates a fuzzy logic element used in an example embodiment to make evidence, including weighting evidence and determining whether or not an event is occurring.
퍼지 논리값(fuzzy logic value)은 어떤 특정의 조건이 참이라는 확신의 추정치를 나타내는 0과 1 사이의 숫자이다. 1의 값은 조건이 참이라는 높은 확신을 나타내고, 0은 조건이 거짓이라는 높은 확신을 나타내며, 중간 값들은 중간의 확신 레벨을 나타낸다.A fuzzy logic value is a number between 0 and 1 that represents an estimate of the certainty that a particular condition is true. A value of 1 indicates high confidence that the condition is true, 0 indicates high confidence that the condition is false, and intermediate values indicate intermediate confidence levels.
보다 친숙한 이진 논리는 퍼지 논리의 서브셋이며, 여기서 확신값은 단지 0 및 1로 제한된다. 따라서, 퍼지 논리값을 사용하는 본 명세서에 기술되는 임의의 실시예는 대안적인 이진 논리값으로서 사용될 수 있고, 이들 값을 사용하는 임의의 퍼지 논리 방법 또는 장치는 등가의 이진 논리 방법 또는 장치로 대체될 수 있다.The more familiar binary logic is a subset of the fuzzy logic, where the confidence value is limited to only zeros and ones. Thus, any embodiment described herein that uses fuzzy logic values may be used as alternative binary logic values, and any fuzzy logic method or apparatus using these values may be replaced by an equivalent binary logic method or apparatus. Can be.
이진 논리값이 문턱값을 사용함으로써 원시 측정치로부터 획득되는 것처럼, 퍼지 논리값은 퍼지 문턱값(fuzzy threshold)을 사용하여 획득된다. 도 8을 참조 하면, 그래프(800)는 퍼지 문턱값을 나타낸다. x-축(810)은 원시 측정치를 나타내고, f-축(814)은 퍼지 논리값을 나타내며, 이 퍼지 논리값은 정의역이 모든 가능한 원시 측정치를 포함하고 치역이 0≤f≤1인 함수이다.Just as binary logic values are obtained from raw measurements by using thresholds, fuzzy logic values are obtained using fuzzy thresholds. Referring to FIG. 8, the
예시적인 실시예에서, 퍼지 문턱값은 x-축 상에 나타내어져 있는 2개의 숫자, 즉 함수(824, 826) 상의 점들에 대응하는 로우 문턱값 t0(820) 및 하이 문턱값 t1(822)을 포함한다. 퍼지 문턱값은 수학식 1에 의해 정의될 수 있다.In an exemplary embodiment, the fuzzy threshold is a
유의할 점은 이 함수가 인 경우에도 성립한다는 것이다. 수학식 2의 시그모이드(sigmoid) 등의 다른 함수들도 역시 퍼지 문턱값에 대해 사용될 수 있다.Note that this function Even if it is established. Other functions such as sigmoid of equation (2) can also be used for fuzzy threshold.
여기서, t 및 는 문턱값 파라미터이다. 간단함이 목표인 실시예에서, 종래의 이진 문턱값이 사용될 수 있으며, 그 결과 이진 논리값이 얻어진다.Where t and Is a threshold parameter. In embodiments where simplicity is a goal, conventional binary thresholds can be used, resulting in a binary logic value.
퍼지 의사결정은 퍼지 버전의 AND(840), OR(850) 및 NOT(860)에 기초한다. 2개 이상의 퍼지 논리값의 퍼지 AND는 최소값이고, 퍼지 OR는 최대값이다. f의 퍼 지 NOT는 1-f이다. 퍼지 논리는 퍼지 논리값이 0과 1로 제한될 때 이진과 동일하다.Fuzzy decisions are based on the fuzzy versions of AND 840, OR 850, and NOT 860. The fuzzy AND of two or more fuzzy logic values is the minimum value and the fuzzy OR is the maximum value. The fuzzy NOT of f is 1-f. Fuzzy logic is equivalent to binary when the fuzzy logic is limited to zero and one.
예시적인 실시예에서, 하드 참/거짓 의사결정(hard true/false decision)이 필요할 때마다, 퍼지 논리값이 적어도 0.5이면 그 퍼지 논리값은 참으로 간주되고, 0.5보다 작으면 거짓으로 간주된다.In an exemplary embodiment, whenever a hard true / false decision is required, the fuzzy logic is considered true if the fuzzy logic is at least 0.5, and false if less than 0.5.
당업자에게는 본 명세서에서 퍼지 논리와 관련하여 사용되는 값 0과 1에 관하여 불가결한 어떤 것도 없다는 것이 명백할 것이다. 조건이 참이라는 높은 확신을 나타내기 위해 임의의 숫자가 사용될 수 있으며, 조건이 거짓이라는 높은 확신을 나타내기 위해 임의의 다른 숫자가 사용될 수 있고, 중간값은 중간의 확신 레벨을 나타낸다.It will be apparent to those skilled in the art that there is nothing indispensable with respect to the
<본 발명의 소프트웨어 요소><Software element of the present invention>
도 9는 프레임을 분석하고, 판단을 하며, 입력을 감지하고 또는 출력 신호를 제어하기 위해 예시적인 실시예에 의해 사용되는 일련의 소프트웨어 요소(예를 들어, 컴퓨터 판독가능 매체의 프로그램 명령어)의 구성을 나타낸 것이다. 이들 요소는, 요소들 각각이 클래스에 대응하도록, C++ 등의 종래의 객체-지향 프로그래밍 언어에서의 클래스 계층 구조를 사용하여 구현될 수 있다. 그렇지만, 본 명세서에 기술된 프로세스를 수행하기 위해 임의의 적합한 프로그래밍 기술 및/또는 언어가 사용될 수 있다.9 is a configuration of a series of software elements (eg, program instructions on a computer readable medium) used by exemplary embodiments to analyze a frame, make a decision, sense an input, or control an output signal. It is shown. These elements can be implemented using a class hierarchy in a conventional object-oriented programming language such as C ++, such that each of the elements corresponds to a class. However, any suitable programming technique and / or language may be used to perform the processes described herein.
예시한 바와 같이, 가젯(Gadget) 클래스(900) 등의 점선 경계를 갖는 클래스는 그 자체로 존재하지 않고 로케이터(Locator) 클래스(920) 등의 구체적인 파생 클래스(derived class)를 작성하는 데 사용되는 추상 기본 클래스(abstract base class)이다. 실선 경계를 갖는 클래스는 HMI(630)를 사용하여 애플리케이션을 설정함에 있어서 사용자에 의해 필요에 따라 생성되고 소멸될 수 있는 동적 객체(dynamic object)를 나타낸다. 입력(Input) 클래스(950) 등의 파선 경계를 갖는 클래스는 특정의 하드웨어 또는 소프트웨어 리소스와 연관된 정적 객체(static object)를 나타낸다. 정적 객체는 항상 존재하며 사용자에 의해 생성되거나 소멸될 수 없다.As illustrated, classes with dotted borders, such as the
모든 클래스는 가젯(Gadget) 클래스(900)로부터 파생되고, 따라서 도 9에 나타낸 클래스의 인스턴스인 모든 객체는 일종의 가젯이다. 예시적인 실시예에서, 모든 가젯은,Every class is derived from a
1. 사용자에 의해 선택될 수 있는 이름을 갖는다.1. Have a name that can be selected by the user.
2. 판단을 하고 출력 신호를 제어하기 위해 다른 가젯에 의해 논리 입력으로서 사용될 수 있는 논리 출력(퍼지 논리값)을 갖는다.2. Has a logic output (purge logic value) that can be used as a logic input by another gadget to make judgments and control the output signal.
3. 그의 동작을 지정하기 위해 사용자에 의해 구성될 수 있는 일련의 파라미터를 갖는다.3. It has a set of parameters that can be configured by the user to specify its action.
4. 논리 출력을 반전(즉, 퍼지 NOT)시키기 위해 사용될 수 있는 하나의 이러한 파라미터를 갖는다.4. There is one such parameter that can be used to invert the logic output (ie, fuzzy NOT).
5. 실행될 수 있으며, 이에 의해 그의 논리 출력이 그의 파라미터, 논리 입력(있는 경우), 및 어떤 가젯의 경우, 현재 프레임의 내용에 기초하여 갱신되며, 또한 출력 신호의 설정 등의 부작용이 야기될 수 있다.5. It can be executed, whereby its logical output is updated based on its parameters, logical inputs (if any), and in the case of some gadgets, the contents of the current frame, and can also cause side effects such as setting of the output signal. have.
프레임을 분석하는 동작은 가젯에의 모든 논리 입력이 가젯이 운전되기 이전에 갱신되도록 보장하기 위해 결정된 순서로 각각의 가젯을 한번 운전하는 것을 포함한다. 어떤 실시예들에서, 가젯은 그의 논리 출력이 필요하지 않은 프레임 동안에 운전되지 않는다.Analyzing the frame includes driving each gadget once in a determined order to ensure that all logical input to the gadget is updated before the gadget is driven. In some embodiments, a gadget is not driven during a frame for which its logic output is not needed.
사진(Photo) 클래스(910)는 논리 출력이 현재 프레임의 내용에 의존하는 모든 가젯에 대한 기본 클래스이다. 이들은 실제로 이미지 분석을 행하는 클래스이다. 모든 사진(Photo)은 현재 프레임의 관심 영역(region of interest, ROI)의 어떤 특성을 측정한다. ROI는 검사될 객체 상의 가시적 특성에 대응한다. 이 측정치는 사진(Photo)의 아날로그 출력(analog output)이라고 한다. 사진(Photo)의 논리 출력은 사용자에 의해 구성될 수 있는 그의 일련의 파라미터 중에 있는 감도 문턱값(sensitivity threshold)이라고 하는 퍼지 문턱값에 의해 아날로그 출력으로부터 계산된다. 사진(Photo)의 논리 출력은 판단을 함에 있어서 사용될 증거를 제공하는 데 사용될 수 있다.
검출기(Detector) 클래스(930)는 1차 목적이 ROI에서 측정을 하여 판단을 하는 데 사용될 증거를 제공하는 것인 사진(Photo)에 대한 기본 클래스이다. 예시적인 실시예에서, 모든 검출기(Detector) ROI는 원이다. 원형 ROI는 구현을 간단화시키는데 그 이유는 회전을 처리할 필요가 없기 때문이며, 단지 하나의 ROI 형상을 갖는 것은 사용자가 학습해야 하는 것을 단순화시킨다. 검출기(Detector) 파라미터는 ROI의 위치 및 직경을 포함한다.
밝기 검출기(Brightness Detector)(940)는 ROI에서 가중된 평균 또는 백분위 수 밝기를 측정한다. 콘트라스트 검출기(Contrast Detector)(942)는 ROI에서 콘트라스트를 측정한다. 엣지 검출기(Edge Detector)(944)는 ROI가 특정 방향에서 엣지처럼 보이는 정도를 측정한다. 스폿 검출기(Spot Detector)(946)는 ROI가 구멍 등의 원형 특징처럼 보이는 정도를 측정한다. 템플릿 검출기(Template Detector)(948)는 ROI가 사용자에 의해 선택된 사전 훈련된 패턴(pre-trained pattern)처럼 보이는 정도를 측정한다. 검출기(Detector)의 동작에 대해서는 시각 검출기 방법 및 장치에 더 기술되어 있다.
로케이터(Locator) 클래스(920)는 2가지 주된 목적을 갖는 사진(Photo)을 나타낸다. 첫번째 목적은 판단을 하기 위한 증거를 제공할 수 있는 논리 출력을 생성하는 것이며, 이것에서 이들은 임의의 검출기(Detector)처럼 사용될 수 있다. 두번째 목적은, 객체의 위치를 추적하기 위해 다른 사진(Photo)의 ROI의 위치가 이동될 수 있도록, 시각 검출기의 시야에서의 객체의 위치를 결정하는 것이다. 이들 목적 중 어느 하나 또는 그 둘다를 위해 임의의 로케이터(Locator)가 사용될 수 있다.
예시적인 실시예에서, 로케이터(Locator)는 엣지가 있는지 프레임에서 1차원 범위를 검색한다. 검색 방향은 엣지에 수직(normal)이며, 사용자에 의해 구성되는 파라미터 중에 있다. 로케이터(Locator)의 아날로그 출력은 엣지 검출기(Edge Detector)에 대한 것과 유사하다. 로케이터(Locator)에 대해서는 시각 검출기 방법 및 장치에 더 기술되어 있다.In an exemplary embodiment, the locator searches for a one-dimensional range in the frame for edges. The search direction is normal to the edge and is among the parameters configured by the user. The analog output of the locator is similar to that for the edge detector. Locators are further described in Vision Detector Methods and Apparatus.
다른 실시예들에서, 로케이터(Locator)는 병진(translation) 자유도, 회전 자유도, 및 크기 자유도를 포함할 수 있는 공지의 방법들을 사용하여 다차원 검색 범위를 검색한다. 적당한 방법은 정규화된 상관, 일반화된 Hough 변환, 및 기하 패턴 패칭(geometric pattern patching)(이들 모두는 기술 분야에 공지되어 있으며 여러 해 동안 상업적으로 이용가능하였음)에 기초한 것들을 포함한다. 다차원 로케이터의 예시적인 실시예는 2004년 11월 2일자로 출원된 동시 계류 중인 발명의 명칭이 "생산 라인 정보를 사용하여 시각 검출기의 파라미터를 설정하는 방법(METHOD FOR SETTING PARAMETERS OF A VISION DETECTOR USING PRODUCTION LINE INFORMATION)"인 Brian Mirtich 및 William M. Silver의 미국 특허 출원 제10/979,535호에 제공되어 있으며, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.In other embodiments, a locator retrieves a multidimensional search range using known methods that can include translational degrees of freedom, rotational degrees of freedom, and magnitude degrees of freedom. Suitable methods include those based on normalized correlation, generalized Hough transformation, and geometric pattern patching (all of which are known in the art and have been commercially available for many years). An exemplary embodiment of a multi-dimensional locator is named METHOD FOR SETTING PARAMETERS OF A VISION DETECTOR USING PRODUCTION. LINE INFORMATION, "US Pat. Appl. No. 10 / 979,535 to Brian Mirtich and William M. Silver, which is incorporated herein by reference in its entirety.
입력(Input) 클래스(950)는 이벤트 검출에 영향을 주기 위해 사용될 수 있는, 시각 검출기에의 입력 신호를 나타낸다. 출력(Output) 클래스(952)는 이벤트가 검출되었음을 PLC 또는 액츄에이터에 알려주기 위해 사용될 수 있는 것 등의 시각 검출기로부터의 출력 신호를 나타낸다. 예시적인 실시예에서, 예시적인 입력 신호(726)(도 7) 등의 각각의 물리적 입력에 대해 입력(Input) 클래스의 하나의 정적 인스턴스, 및 예시적인 출력 신호(722, 724) 등의 각각의 물리적 출력에 대한 출력(Output) 클래스의 하나의 정적 인스턴스가 있다. 출력(Output)은, 시각 검출기 방법 및 장치에 개시한 바와 같이, 외부 자동화 장비가 언제(지연 시간을 사용함) 또는 어디서(인코더 카운터를 사용함) 이벤트가 발생했는지를 판정할 수 있도록, 마크 시간에 동기화되어 있는 지연된 펄스를 생성할 수 있다.
게이트(Gate) 기본 클래스(960)는 퍼지 논리 의사결정을 구현한다. 각각의 게이트(Gate)는 다른 가젯들의 논리 출력에 연결될 수 있는 하나 이상의 논리 입력을 갖는다. 각각의 논리 입력은 사용자가 구성할 수 있는 파라미터에 의해 반전(퍼지 NOT)될 수 있다. AND 게이트(Gate)(962)는 퍼지 AND 연산을 구현하고, OR 게이트(Gate)(964)는 퍼지 OR 연산을 구현한다.
판단(Judge) 클래스(970)는 의사결정을 하기 위해 연속적인 프레임에 걸쳐 증거를 가중하는 객체들에 대한 기본 클래스이다. 본 발명의 예시적인 실시예는 활동 분석 단계(312) 및 이벤트 분석 단계(314)를 구현하는 것이 목적인 이벤트 검출 판단(EventDetect Judge)(972)을 포함한다(시각 분석 단계(310)는 사진(Photo), 입력(Input) 및/또는 게이트(Gate)의 어떤 조합에 의해 수행되며, 예들이 이하에 제공되어 있음). 다른 유형의 판단(Judge)에 대해서는 시각 검출기 방법 및 장치에 개시되어 있으며, 거기에서 제공된 기능들과 본 명세서에 제공된 이벤트 검출을 겸비하는 것이 바람직한 실시예에 존재할 수 있다.
각각의 판단(Judge)은 사용자가 사진(Photo), 또는 보다 일반적으로는 가젯, 보통은 사진(Photo) 및 다른 장치(Gate)의 논리적 조합을 제공하는 게이트(Gate)의 논리 출력을 연결시키는 논리 입력을 갖는다. 이벤트 검출 판단(EventDetect Judge)에의 논리 입력은 각 프레임에 대한 이벤트 검출 가중치를 제공한다. 본 발명의 실시예가 2개 이상의 이벤트 검출 판단(EventDetect Judge)을 사용할 수 있는 것이 명백히 생각되며, 그의 일례가 이하에 주어진다.Each judge is a logic that connects the logic output of the gate to the user providing a logical combination of a photo or, more generally, a gadget, usually a photo, and another device. Has input Logical input to an EventDetect Judge provides an event detection weight for each frame. It is apparent that embodiments of the present invention may use two or more EventDetect Judges, one example of which is given below.
이벤트 검출 판단(EventDetect Judge)의 논리 출력은 이벤트가 검출된 때를 나타내는 펄스를 제공한다. 펄스의 리딩 엣지(leading edge)는 이벤트 분석 단계(314)가 이벤트를 검출하는 때, 예를 들어 도 2이 분석 단계(248)의 끝에서 발생하고, 트레일링 엣지(trailing edge)는 그로부터 얼마간 후에, 예를 들어 휴지 단계(260)의 끝에서 발생한다.The logical output of the EventDetect Judge provides a pulse that indicates when the event was detected. The leading edge of the pulse occurs when
도 10은 이벤트 검출 판단(EventDetect Judge)에 대한 파라미터를 설정하기 위해 사용자가 보고 조작하도록 HMI 상에 디스플레이될 수 있는 그래픽 컨트롤을 나타낸 것이다. 가젯 파라미터를 설정하기 위해 HMI(630) 상에 디스플레이되는 일련의 그래픽 컨트롤은 파라미터 뷰(parameter view)라고 한다.FIG. 10 illustrates graphical controls that can be displayed on the HMI for user viewing and manipulation to set parameters for an EventDetect Judge. The series of graphical controls displayed on the
이름 텍스트 박스(1000)는 이 이벤트 검출 판단(EventDetect Judge)에 대한 이름을 보고 입력할 수 있게 해준다. 시간 라벨(1002)은 이 이벤트 검출 판단(EventDetect Judge)의 가장 최근의 실행에 의해 걸린 시간을 나타낸다. 논리 출력 라벨(1004)은 이 이벤트 검출 판단(EventDetect Judge)의 현재 논리 출력값을 나타내고 참(≥0.5)과 거짓(<0.5)을 구분하기 위해 색상, 형상 또는 다른 특성을 변화시킬 수 있다. 반전 체크박스(1006)는 이 이벤트 검출 판단(EventDetect Judge)의 논리 출력이 반전될 수 있게 해준다. 유의할 점은, 시각 검출기 방법 및 장치에서 더 설명하는 바와 같이, 이름 텍스트 박스(1000), 시간 라벨(1002), 논리 출력 라벨(1004), 및 반전 체크박스(1006)가 모든 가젯 유형에 대한 파라미터 뷰에 공통이라는 것이다.The
휴지 시간 스피너(idle time spinner)(1020)는 사용자로 하여금 휴지 단계(260)(도 2)(또한 도 3에 휴지 블록(374)으로서 도시됨)에 대한 시간 구간을 지 정할 수 있게 해준다.The
누락 프레임 스피너(missing frame spinner)(1030)는 사용자로 하여금 활동 분석 단계(312)가 비활성 상태로 천이하지 않고 접수되는 연속적인 비활성 프레임의 최대수를 지정할 수 있게 해준다. 누락 프레임 스피너(1030)에 의해 지정된 값은 도 3의 카운트 검사 블록(350)에서의 파라미터 k를 위해 사용된다.
마킹 컨트롤(marking control)(1040)은, 본 명세서에 기술하는 바와 같이, 사용자로 하여금 마크 시간을 계산하기 위해 흐름 이벤트와 스트로크 이벤트 간에 선택할 수 있게 해준다. 마크 시간을 계산하기 위해, 사용자는 로케이터 리스트 컨트롤(locator list control)(1042)을 사용하여 로케이터(Locator)를 지정해야만 한다.Marking
기록 구간 컨트롤(recording interval control)(1050)은 사용자로 하여금 이벤트가 검출될 때 이미지가 기록되는 시간 구간을, 마크 시간에 대해서, 지정할 수 있게 해준다. 도시하지 않은 대체 실시예에서, 사용자는 이벤트 프레임을 기록할지 여부, 및 기록할 이벤트 프레임 전후의 프레임의 수를 지정한다.Recording
조건 텍스트(condition text)(1010)는 사용자로 하여금 이벤트가 발생했는지 여부를 판정하기 위해 조건 블록(370)에 의해 검사되고 이벤트 분석 단계(314)에 의해 사용되는 이벤트 조건을 지정할 수 있게 해준다. 도 10의 예시적인 실시예에서, 조건 텍스트(1010)는 C 등의 종래의 프로그래밍 언어에 의해 사용되는 구문과 유사한 구문으로 논리 표현식을 나타내는 텍스트 문자열을 포함한다. 이 표현식은, 활성 통계(302)로부터의 참/거짓 값의 계산을 지정하기 위해, 활성 통계(302) 의 요소를 나타내는 도 5로부터의 심볼(500)을 숫자 상수, 논리 연산자, 비교 연산자 및 산술 연산자, 및 괄호 등의 구두점(punctuation)과 조합한다. 이러한 텍스트 문자열에 기초하여 참/거짓 값을 계산하는 방법은 기술 분야에 공지되어 있다.
도 10의 예시적인 예에서, 적어도 2개의 후보 프레임이 있고 평균 이벤트 검출 가중치가 0.50보다 작거나 0.75보다 큰 경우에 이벤트가 발생하였다. 이러한 조건이 유용하게 되는 예는 이하에 기술된 도 15 및 도 16에 도시되어 있다.In the illustrative example of FIG. 10, an event occurred when there are at least two candidate frames and the average event detection weight is less than 0.50 or greater than 0.75. Examples in which such conditions may be useful are shown in FIGS. 15 and 16 described below.
<예시적인 실시예의 사용의 예><Example of Use of Example Embodiments>
도 11은 잘못 부착된 라벨(122)(도 1) 등의 잘못 부착된 라벨을 갖는 객체에 대응하는 이벤트를 검출하기 위해 사진(Photo)이 어떻게 사용되는지의 일례를 나타낸 것이다. 도 11은 라벨(1110)을 포함하는, 도 1로부터의 객체(116)에 대응할 수 있는 객체(1100)의 이미지(사진(Photo)을 나타내는 중첩된 그래픽을 가짐)를 나타낸 것이며, 사용자가 보고 조작하기 위해 HMI(630) 상에 디스플레이된다. HMI 상에 이미지 및 중첩된 그래픽을 디스플레이한 것을 이미지 뷰(image view)라고 한다.FIG. 11 illustrates an example of how a Photo is used to detect an event corresponding to an object with an incorrectly attached label, such as an incorrectly attached label 122 (FIG. 1). FIG. 11 illustrates an image of an object 1100 (with superimposed graphics representing a Photo) that may correspond to the
로케이터(Locator)(1120)는 객체의 상부 엣지를 검출하고 위치를 알아내는 데 사용되고, 다른 로케이터(Locator)(1122)는 오른쪽 엣지를 검출하고 위치를 알아내는 데 사용된다. 밝기 검출기(Bringhtness Detector)(1130)는 객체의 존재를 검출하는 것을 돕는 데 사용된다. 이 예에서, 배경은 객체보다 더 밝고, 감도 문턱값은 2개의 밝기 레벨을 구분하도록 설정되어 있으며, 논리 출력은 더 어두운 객체를 검출하기 위해 반전되고 더 밝은 배경을 검출하기 위해 반전되지 않는다.
로케이터(Locator)(1120, 1122) 및 밝기 검출기(Brightness Detector)(1130) 모두는, 이하에 더 기술하는 바와 같이, 객체가 존재한다고 판단하는 데 필요한 증거를 제공한다. 명백한 것은, "잘못 부착된 라벨을 갖는 객체"에 대응하는 이벤트는 객체가 존재하지 않는 한 발생할 수 없다는 것이다.Both
엣지 검출기(Edge Detector)(1160)는 라벨(1110)의 존재 및 위치를 검출하는 데 사용딘다. 라벨이 존재하지 않거나, 수평으로 잘못 배치되거나, 상당히 회전되어 있거나, 도시된 바와 같이 접혀진 모서리를 갖거나, 또는 여러가지 다른 방식으로 잘못 부착되어 있는 경우, 엣지 검출기(Edge Detector)의 아날로그 출력은 아주 낮게 된다. 물론, 엣지 검출기(Edge Detector)(1160)에 의해 검출되지 않는, 라벨(1110)이 잘못 부착될 수 있는 많은 방식이 있으며, 따라서 임의의 주어진 생산 상황에서 고장을 검출하기 위해 필요에 따라 다른 사진(Photo)들이 사용될 수 있다.
예를 들어, 밝기 검출기(Brightness Detector)(1150)는 정확한 라벨이 부착되어 있음을 검증하는 데 사용된다. 이 예에서, 정확한 라벨은 백색이고 부정확한 라벨은 보다 어두운 색상이다.For example, a
객체가 시각 검출기의 시야를 통해 좌측에서 우측으로 이동함에 따라, 로케이터(Locator)(1122)는 객체의 우측 엣지를 추적하고 밝기 검출기(Brightness Detector)(1130), 밝기 검출기(Brightness Detector)(1150), 및 엣지 검출기(Edge Detector)(1160)를, 객체에 대해서 정확한 위치에 재배치한다. 로케이터(Locator)(1120)는 시야에서의 객체의 수직 위치의 임의의 변동을 정정하고, 객 체의 상부 엣지의 위치에 기초하여 검출기들을 재배치한다. 일반적으로, 로케이터(Locator)는 임의의 방향으로 배향될 수 있다.As the object moves from left to right through the field of view of the visual detector, the
사용자는 공지의 HMI 기술을 사용하여 이미지 뷰에서 사진(Photo)을 조작할 수 있다. 사진(Photo)은 마우스로 클릭함으로써 선택될 수 있고, 그의 ROI는 드래그함으로써 이동, 크기 조정 및 회전될 수 있다. 로케이터(Locator)에 대한 부가적인 조작에 대해서는 시각 검출기 방법 및 장치에 기술되어 있다.The user can manipulate the photo in the image view using known HMI technology. Photo can be selected by clicking with the mouse and its ROI can be moved, resized and rotated by dragging. Additional operations on the locator are described in the visual detector method and apparatus.
도 12는 도 11의 예시적인 설정에 대응하는 배선도(wiring diagram)를 포함하는 논리 뷰를 나타낸 것이다. 배선도는 이벤트를 검출하고 자동화 장비로 인터페이스하는 데 사용되는 모든 가젯, 및 가젯의 논리 입력과 출력 사이의 연결을 나타내고 있다. 배선도는 사용자가 보고 조작하도록 HMI(630) 상에 디스플레이된다. HMI 상에 기계장치 및 그의 논리 상호연결을 디스플레이한 것을 논리 뷰(logic view)라고 한다.FIG. 12 illustrates a logical view including a wiring diagram corresponding to the example setup of FIG. 11. The wiring diagram shows all the gadgets used to detect events and interface to the automation equipment, and the connections between the logic inputs and outputs of the gadgets. The wiring diagram is displayed on the
계속하여 도 12의 배선도를 참조하면, 도 11의 이미지 뷰에서의 로케이터(Locator)(1120)에 대응하는, "상부(Top)"라고 하는 로케이터(Locator)(1220)는 배선(1224)에 의해 AND 게이트(1210)에 연결되어 있다. 이와 유사하게, 로케이터(Locator)(1122)에 대응하는 "측면(Side)" 로케이터(Locator)(1222) 및 밝기 검출기(Brightness Detector)(1130)에 대응하는 "박스(Box)" 검출기(Detector)(1230)도 역시 AND 게이트(1210)로 배선되어 있다. "박스(Box)" 검출기(1230)의 논리 출력은, 작은 원(1232)으로 나타낸 바와 같이 또한 상기한 바와 같이, 보다 밝은 배경에 대해 보다 어두운 객체를 검출하기 위해 반전된다.Subsequently, referring to the wiring diagram of FIG. 12, the
배선도에서, 밝기 검출기(Brightness Detector)(1150)에 대응하는 밝기 검출기(Brightness Detector) "라벨(Label)"(1250), 및 엣지 검출기(Edge Detector)(1160)에 대응하는 엣지 검출기(Edge Detector) "라벨 엣지(LabelEdge)"(1260)는 AND 게이트(1212)로 배선되어 있다. AND 게이트(1212)의 논리 출력은 라벨(1210)이 잘못 부착되어 있다는 확신 레벨을 나타내기 위해 반전되고, AND 게이트(1210)로 배선되어 있다.In the wiring diagram, an edge detector corresponding to a brightness detector "label" 1250 corresponding to a
AND 게이트(1210)의 논리 출력은 객체가 존재하고 그의 라벨이 잘못 부착되어 있다는 확신 레벨, 즉 이벤트가 발생했다는 확신 레벨을 나타낸다. AND 게이트(1210)의 논리 출력은 각 프레임에 대한 이벤트 검출 가중치로서 사용되는 이벤트 검출 판단(EventDetect Judge)(1200)으로 배선되어 있다. 이 구성에 적합한 이벤트 검출 판단(EventDetect Judge)(1200)에 대한 이벤트 조건은 "n >= 3 & m >= 0.5"이지만, 응용의 상황에 따라 많은 다른 대안적인 이벤트 조건도 역시 적합하다.The logic output of AND
이벤트 검출 판단(EventDetect Judge)으로 배선할 가젯의 선택은 응용에 대한 지식에 기초하여 사용자에 의해 행해진다. 도 11 및 도 12의 예에서, 사용자는 객체가 존재한다고 보장하기 위해 상부 엣지 및 우측 엣지만을 검출한 것으로 충분하지 않다고 판정할 수 있다. 유의할 점은 로케이터(Locator)(1122)가 객체의 우측 엣지와 똑같이 강하게 라벨의 좌측 엣지에 반응할 수 있으며, 아마도 생산 사이클에서의 이 지점에서 로케이터(Locator)(1120)가 때때로 배경에서 어떤 다른 엣지를 발견할 수 있다는 것이다. 검출기(Detector)(1130)를 추가하고 AND 게이 트(1210)에 의해 3가지 조건 모두를 요구함으로써, 이벤트 검출이 믿을만한 것으로 된다.The selection of gadgets to be wired by EventDetect Judge is made by the user based on the knowledge of the application. In the example of FIGS. 11 and 12, the user may determine that detecting only the top edge and the right edge is not sufficient to ensure that the object exists. Note that the
이벤트가 검출될 때, 이하에서 더 기술하는 바와 같이 이미지가 기록될 수 있다. 명백한 것은, 이벤트 프레임 이전의 시간들에 대응하는 이미지들은 라벨이 어떻게 잘못 부착되었는지를 정확하게 보여줄 가능성이 많을 것이라는 것이다. 분명한 것은, 이 경우에 시각 검출기가, 라벨이 부착되는 곳에 실용적일만큼 가깝게, 객체를 볼 수 있도록 배치되는 것이 바람직하다는 것이다.When an event is detected, an image can be recorded as described further below. Obviously, the images corresponding to the times before the event frame will most likely show exactly how the label was incorrectly attached. Obviously, in this case it is desirable that the visual detector is arranged to be able to see the object as close as practical to where the label is attached.
이벤트 검출 판단(EventDetect Judge)(1200)의 논리 출력은, 원하는 경우 PLC 또는 액츄에이터 등의 자동화 장비에 연결될 수 있는 시각 검출기로부터의 출력 신호를 제어하는 "신호(Signal)"라고 하는 출력 장치(1280)로 배선되어 있다. 출력 장치(1280)는, 시각 검출기 방법 및 장치에 더 기술되어 있는 바와 같이, 적절한 경우 사용자에 의해 구성된다. 출력 장치(1280)는, 시각 검출기 방법 및 장치에 개시되어 있는 바와 같이, 자동화 장비가 언제(시간을 사용함) 또는 어디에서(인코더 카운트를 사용함) 이벤트가 발생했는지를 판정할 수 있도록, 마크 시간에 동기화되어 있는 지연된 펄스를 생성할 수 있다.The logic output of the
사용자는 공지의 HMI 기술을 사용하여 논리 뷰에서 장치를 조작할 수 있다. 장치는 마우스로 클릭함으로써 선택될 수 있고, 그의 위치는 드래그함으로써 이동될 수 있으며, 배선은 드래그-드롭 동작으로 생성될 수 있다.The user can operate the device in a logical view using known HMI techniques. The device can be selected by clicking with the mouse, its position can be moved by dragging, and the wiring can be created in a drag-drop operation.
당업자라면 장치의 적당한 선택, 구성 및 배선에 의해 광범위한 이벤트가 검출될 수 있다는 것을 잘 알 것이다. 또한, 당업자라면 가젯 클래스 계층구조가 본 발명을 실시하는 데 사용될 수 있는 많은 소프트웨어 기술들 중 하나에 불과하다는 것을 잘 알 것이다.Those skilled in the art will appreciate that a wide range of events can be detected by proper selection, configuration and wiring of the device. In addition, those skilled in the art will appreciate that a gadget class hierarchy is only one of many software techniques that can be used to practice the present invention.
도 13은 도 1에 도시된 생산 설정(production setup)에 유용할 수 있는 이벤트를 검출하는 시각 검출기의 다른 구성에 대응하는 이미지 뷰를 나타낸 것이다. 이 예에서, 라벨링 아암(162)이 완전히 펴져 있을 때(그의 스트로크의 정점에 있을 때) 이벤트가 발생하지만, 객체(1300)는 라벨(1310)을 받기 위한 잘못된 위치에 있다.FIG. 13 shows an image view corresponding to another configuration of a visual detector for detecting events that may be useful for the production setup shown in FIG. 1. In this example, an event occurs when the
아암 엣지 검출기(1340)는 라벨링 아암(162)의 스트로크의 정점에 대응하는 시야 내의 위치에 배치된다. 유의할 점은 이 위치가 시야에 대해서 고정되어 있으며 - 생산 라인을 따라 이동하지 않음 - , 따라서 로케이터를 이용할 필요가 없다는 것이다. 상부 엣지 검출기(1320) 및 측면 엣지 검출기(1330)는 객체(1300)가 스트로크의 정점에서 원하는 위치에 있는지를 검증하는 데 사용된다.
도 14는 객체가 라벨링 아암(162)의 스트로크의 정점에서 잘못된 위치에 있는 것에 대응하는 이벤트를 검출하기 위한, 도 13의 이미지 뷰에 대응하는 장치의 구성을 나타낸 논리 뷰이다. "아암"(1440)은 아암 엣지 검출기(1340)에 대응하고, "상부"(1420)는 상부 엣지 검출기(1320)에 대응하며, "측면"(1430)은 측면 엣지 검출기(1330)에 대응한다.FIG. 14 is a logical view illustrating the configuration of an apparatus corresponding to the image view of FIG. 13 for detecting an event corresponding to an object being at the wrong position at the vertex of the stroke of the
도 14에 도시한 바와 같이 배선된 반전된 AND 게이트(1412) 및 AND 게이트(1410)를 사용하여, 이벤트 검출 판단(EventDetect Judge)(1400)은 라벨링 아암(162)이 그의 스트로크의 정점에 있을 때 객체(1300)가 상부 엣지 검출기(1320) 및 측면 엣지 검출기(1330) 중 적어도 하나에 의해 지정된 위치에 있지 않다는 확신 레벨을 나타내는 이벤트 검출 가중치를 수신한다. 이 구성에 적당한 이벤트 검출 판단(EventDetect Judge)(1400)에 대한 이벤트 조건은 "n >= 2"이 된다.Using an inverted AND
이벤트가 검출될 때, 이하에 더 기술하는 바와 같이 이미지가 기록될 수 있다. 또한, 이벤트 검출 판단(EventDetect Judge)(1400)의 논리 출력은, 원하는 경우 PLC 또는 액츄에이터 등의 자동화 장비에 연결될 수 있는 시각 검출기로부터의 출력 신호를 제어하는, "신호"라고 표시된 출력 장치(1480)로 배선되어 있다. 출력 장치(1280)는, 시각 검출기 방법 및 장치에 더 기술되어 있는 바와 같이, 적절한 경우 사용자에 의해 구성된다.When an event is detected, an image can be recorded as described further below. In addition, the logical output of the
도 15는 모두가 도 1에 도시한 생산 설정에 유용할 수 있는 이벤트를 검출하는 시각 검출기의 또 다른 구성을 제공하는 이미지 뷰 및 대응하는 논리 뷰를 나타낸 것이다. 이 예에서, 라벨링 아암(162)이 과소-연장 또는 과잉-연장될 때(스트로크의 정점이 잘못된 위치에 있음을 의미함) 또는 라벨링 아암(162)이 정확한 위치까지 연장되지만 그곳에 정확한 라벨 부착을 위해서는 너무 짧게 또는 너무 길게 머무를 때 이벤트가 발생한다.FIG. 15 illustrates an image view and corresponding logical view, providing yet another configuration of a visual detector that detects events that may all be useful in the production setup shown in FIG. 1. In this example, when the
과잉 연장은 검출하기가 용이하다. 엣지 검출기(1512)는 라벨링 아암(162)의 하향 스트로크의 예상된 정점보다 아래에 배치된다. 대응하는 논리 뷰 엣지 검출기 "하이퍼(Hyper)"(1540)는, 과잉 연장된 아암을 검출하기 위해 이벤트 조건 "w >= 0.95"를 사용할 수 있는, "하이퍼이벤트(HyperEvent)" 이벤트 검출 판단(EventDetect Judge)(1570)으로 배선되어 있다. 유의할 점은 이벤트 검출 가중 치 총합 w를 사용하는 이 이벤트 조건이, 그 프레임에 대한 이벤트 검출 가중치가 아주 높은 확신을 나타내는 경우, 단일의 프레임을 충분한 증거로서 받아들이지만, 이벤트 검출 가중치가 보다 낮은 확신을 나타내는 경우, 적어도 2개의 프레임을 필요로 한다는 것이다.Excessive extension is easy to detect.
다른 조건들에 대해, 로케이터(1500)는 라벨링 아암(162)이 정점 근방의 어떤 범위의 위치들 내에 있는지를 검출하기 위해 배치되고, 엣지 검출기(1510)는 라벨링 아암(162)이 정점에 있는지를 검출하기 위해 배치된다. 대응하는 논리 뷰 로케이터 "스트로크"(1520) 및 반전된 엣지 검출기 "정점"(1530)은, 도시된 바와 같이, AND 게이트(1550)로 배선되어 있으며, AND 게이트(1550)는 차례로 이벤트 검출 판단(EventDetect Judge) "스트로크 이벤트(StrokeEvent)"(1560)로 배선되어 있다. 이 구성에서의 이벤트 검출 가중치는 라벨링 아암(162)이 그의 스트로크의 정점에 있는 것이 아니라 그 근방에 있다는 확신 레벨을 나타낸다.For other conditions, the
유의할 점은 도 15의 논리 뷰가 2개의 이벤트 검출 판단(EventDetect Judge)의 사용을 포함한다는 것이다. 2개 이상의 이벤트 검출 판단(EventDetect Judge)이 사용되는 경우, 각각이 독립적으로 동작하며, 그에 따라 판단(Judge) 중 임의의 것이 충분한 증거를 찾을 때 이벤트가 검출된다. 각각의 판단(Judge)은, 활성 플래그(300), 활성 통계(302), 및 비활성 통계(304)의 그 자신의 복사본을 사용하여, 그 자신의 활동 분석 단계(312) 및 이벤트 분석 단계(314)를 수행한다. 유의할 점은 시각 분석 단계(310)가 사진(Photo) 및 게이트(Gate) 등의 다른 가젯에 의해 수행된다는 것이다.Note that the logical view of FIG. 15 involves the use of two EventDetect Judges. When two or more EventDetect Judges are used, each operates independently, so that an event is detected when any of the Judges find sufficient evidence. Each judge uses its own copy of the
도 16은 도 15의 예시적인 구성에 적합한 이벤트 검출 판단(EventDetect Judge) "스트로크 이벤트(StrokeEvent)"(1560)에 대해 이벤트 조건이 어떻게 공식화되는지를 나타낸 것이다. 상기한 도 4에 도시된 플롯과 유사한, 이벤트 검출 가중치 di 대 프레임 카운트 i의 4개의 플롯이 도시되어 있다.FIG. 16 illustrates how event conditions are formulated for an EventDetect Judge “StrokeEvent” 1560 suitable for the example configuration of FIG. 15. Four plots of event detection weight d i versus frame count i are shown, similar to the plot shown in FIG. 4 above.
첫번째 플롯(1600)은 과소-연장된 아암을 나타낸 것이다. 이 아암은 약 12개의 프레임에 대해 원하는 정점에 가깝게 이동되었지만, 실제로는 정점에 도달하지 않았다. 두번째 플롯(1610)은 원하는 정점까지 연장하고 있지만 그곳에 정확한 라벨 부착을 위해서는 너무 짧게, 단지 약 1 프레임만을 머무르는 아암을 나타낸 것이다. 세번째 플롯(1620)은 정확하게 연장하여, 원하는 정점에 도달하고 약 3 프레임 동안 그곳에 머무르는 아암을 나타낸 것이다. 네번째 플롯(1630)은 너무 길게 연장하여 약 7 프레임 동안 원하는 정점에 머무르는 아암을 나타낸 것이다.The
도 10의 이벤트 조건 "n >= 2 & (a < .50 | a > .75)"은 첫번째 플롯(1600), 두번째 플롯(1610), 및 네번째 플롯(1630)을 검출하기에는 적당하지만, 정확한 아암 연장에 대응하는 세번째 플롯(1620)을 검출하기에는 적당하지 않다. "a < .50" 항은 첫번째 플롯(1600) 및 두번째 플롯(1610)을 검출한다. "a > .75" 항은 네번째 플롯(1630)을 검출한다. "n >= 2" 항은 단일-프레임의 가짜 이벤트가 검출되지 않도록 보장해준다.The event condition "n> = 2 & (a <.50 | a> .75)" in FIG. 10 is suitable for detecting the
명백한 것은, 라벨링 아암(162) 등의 기계적 구성요소의 연장-오류를 검출하는 데도 역시 적합하고 또 당업자라면 잘 알고 있는 많은 다른 구성 및 이벤트 조 건이 있다는 것이다.Obviously, there are many other configurations and event conditions that are also suitable for detecting extension-errors of mechanical components such as the
도 17은 연속적인 직물 상의 결함의 이미지를 검출 및 기록하는 본 발명을 구성하는 한가지 방법을 나타낸 것이다. 이미지 뷰(1710)는 시각 검출기를 지나 이동하고 있는 연속적인 직물(1700)의 일부분을 나타낸 것이다.17 illustrates one method of constructing the present invention for detecting and recording images of defects on successive fabrics.
로케이터(1720) 및 엣지 검출기(1722)는 직물을 검사하도록 구성되어 있다. 직물이 파손되거나 접혀 있거나 또는 어느 한 엣지에서 거의 닳아 해어지게 되는 경우, 로케이터(1720) 및/또는 엣지 검출기(1722)는 잘못된 출력(논리값 < 0.5)을 생성하게 된다. 직물이 위로 또는 아래로 이동하는 경우, 로케이터(1720)는 상부 엣지를 추적하고 엣지 검출기(1722)를 하부 엣지를 검출하는 정확한 상대적 위치에 유지시킨다. 그렇지만, 직물의 폭이 상당히 변하는 경우, 엣지 검출기(1722)는 틀린 출력을 생성한다.
논리 뷰에서, "상부" 로케이터(1740)는 로케이터(1720)를 나타내고, "하부" 검출기(1750)는 엣지 검출기(1722)를 나타낸다. 이들은 AND 게이트(1760)로 배선되어 있으며, 이 게이트의 논리 출력은 반전되고 이벤트 검출 판단(EventDetect Judge)(1770)으로 배선되어 있다.In the logical view, the "top"
<마킹(marking), 스트로크 이벤트 및 동기화된 출력><Marking, stroke events and synchronized output>
도 18은 시각 검출기 출력 신호가 마크 시간과 어떻게 동기화될 수 있는지를 설명하는 데 사용되는 타이밍도를 나타낸 것이다. 다운스트림 액츄에이터의 제어 등의 다양한 산업 검사 목적을 위해 신호 동기화가 바람직하다.18 shows a timing diagram used to illustrate how the visual detector output signal can be synchronized with the mark time. Signal synchronization is desirable for various industrial inspection purposes, such as the control of downstream actuators.
시각 이벤트 검출은 새로운 기능이며, 새로운 출력 신호 제어를 제안한다. 시각 검출기가 직접 또는 PLC에의 입력으로서 역할함으로써 어떤 외부 액츄에이터를 제어할 수 있는 것이 바람직하다. 이것은 출력 신호의 타이밍이, 객체가 생산 흐름에서 특정의 고정된 지점을 통과할 때(흐름 이벤트) 또는 기계적 구성요소가 스트로크의 정점에 도달할 때(스트로크 이벤트) 등의, 어떤 물리적 의미를 갖는 시점과 적절한 정밀도로 관련되어 있어야 함을 암시한다. 도 1의 예에서, 고정된 지점은 마크 지점(150)일 수 있으며, 도 2의 타임라인에서, 시간은 마크 시간(250, 252)이다. 도 15의 예에서, 엣지 검출기(1510)는 라벨링 아암(162)의 스트로크의 정점에 배치되어 있다. 도 18에서, 시간은 마크 시간(1800)이다. 유의할 점은 인코더 카운트가 시간 대신에 사용될 수 있다는 것이다.Visual event detection is a new function and proposes a new output signal control. It is desirable for the visual detector to be able to control any external actuator by acting directly or as input to a PLC. This is when the output signal has some physical meaning, such as when an object passes a certain fixed point in the production flow (flow event) or when a mechanical component reaches the peak of a stroke (stroke event). Imply that it is associated with an appropriate precision. In the example of FIG. 1, the fixed point may be the
본 발명은, 출력이 액츄에이터를 직접 제어하든지 또는 PLC나 임의의 다른 외부 장치에 의해 사용되는지에 상관없이, 마크 시간과 적절한 정밀도로 동기화되어 있는 출력을 제공할 수 있다. 그렇지만, 한가지 문제점은 본 발명이 이벤트가 발생하고 나서 수 밀리초 이후에, 즉 마크 시간보다 수 밀리초 이후에 그 이벤트를 검출한다는 것이다. 또한, 이 지연은 몇개의 프레임이 분석되었는지 및 캡처/분석 사이클에서 언제 마크 시간이 있는지(정도가 보다 덜함)에 따라 꽤 가변적일 수 있다.The present invention can provide an output synchronized with mark time and appropriate precision, whether the output is directly controlled by the actuator or used by a PLC or any other external device. However, one problem is that the present invention detects the event several milliseconds after the event has occurred, i.e. several milliseconds after the mark time. In addition, this delay can be quite variable depending on how many frames have been analyzed and when there is less mark time in the capture / analysis cycle.
도 18은 이벤트 검출(EventDetect) 논리 출력(1840)을 나타낸 것이다. 의사결정 시점(1810)에서 의사결정이 행해질 때 검출 펄스(1870)가 이벤트 검출(EventDetect) 논리 출력(1840)에 나타난다. 의사결정 시점(1810)은 도 3의 흐름도에서의 이벤트 블록(372)이 실행되는 시점에 대응한다. 유의할 점은 마크 시 간(1800)으로부터 의사결정 시점(1810)으로의 의사결정 지연(1830)이 몇개의 프레임이 분석되었는지 및 캡처/분석 사이클에서 언제 마크 시간이 있는지(정도가 보다 덜함)에 따라 가변적이라는 것이다. 따라서, 검출 펄스(1870)의 타이밍은 이벤트가 언제 발생했는지에 관한 정확한 정보를 전달하지 않는다.18 illustrates an Event Detect
가변적인 의사결정 지연(1830)의 문제점은 이미지를 캡처 및 분석함으로써 이벤트를 검출하려고 시도하는 임의의 장치에 적용되며, 여기서 프레임 주기(프레임 속도의 역)보다 나은 정확도로 이벤트가 언제 발생했는지를 나타내는 신호를 제공하는 것이 요망된다. 본 발명은 마크 시간(1800)을 측정하고 이어서 출력 신호(1860) 상의 출력 펄스(1880)를 그에 동기화시킴으로써 이 문제점을 해결한다. 출력 펄스(1880)는 마크 시간(1800)으로부터 고정된 출력 지연(1820)에서 발생한다.The problem of
마크 시간을 측정하는 동작을 마킹(marking)이라고 한다. 마크 시간은, 이미지가 캡처된 공지의 시간(또는 인코더 카운트) 및 객체, 기계적 구성요소, 또는 시야에서 움직이는 모든 것의 알고 있는 위치(적절한 로케이터에 의해 결정됨)를 사용하여, 선형 보간, 최소-제곱 근사(least-squre fit) 또는 다른 공지의 방법에 의해 프레임 주기보다 상당히 더 나은 정확도로 결정될 수 있다. 정확도는 셔터 시간, 전체적인 캡처/분석 사이클 시간, 동작 속도, 및 다른 요인들에 의존한다.The operation of measuring the mark time is called marking. Mark time is a linear interpolation, least-square approximation, using a known time (or encoder count) at which the image was captured and a known position (determined by the appropriate locator) of the object, mechanical component, or everything moving in the field of view. (least-squre fit) or other known methods can be determined with significantly better accuracy than the frame period. Accuracy depends on shutter time, overall capture / analysis cycle time, operating speed, and other factors.
예시적인 실시예에서, 사용자는 검색 범위가 실질적으로 마킹을 위해 사용될 동작 방향을 따라 있는 하나의 로케이터를 선택한다. 흐름 이벤트의 경우, 마크 지점은 로케이터의 범위의 중앙 지점으로 임의적으로 선택된다 - 상기한 바와 같 이, 마크 지점은 고정되어 있기만 하다면 정확한 위치는 중요하지 않은 가상의 기준점이다. 사용자는 이 임의적인 시간으로부터 지연을 조정함으로써 출력 신호의 원하는 동기화를 달성할 수 있다. 이벤트가 검출되지만 동작이 활성 프레임 동안에 마크 지점을 지나가지 않는 경우, 마크 시간은 외삽(extrapolation)에 기초할 수 있고 정확도가 떨어질 수 있다. 스트로크 이벤트의 경우, 마크 지점은 이하에 기술하는 바와 같이 측정되는 스트로크의 정점이다. 분명한 것은, 본 발명을 실시하기 위해 마크 지점의 다른 정의가 사용될 수 있다는 것이다.In an exemplary embodiment, the user selects one locator whose search range is substantially along the direction of operation to be used for marking. In the case of a flow event, the mark point is arbitrarily chosen as the center point of the range of the locator-as mentioned above, the exact point is a virtual reference point that is not important as long as it is fixed. The user can achieve the desired synchronization of the output signal by adjusting the delay from this arbitrary time. If an event is detected but the operation does not cross the mark point during the active frame, the mark time may be based on extrapolation and may be less accurate. In the case of a stroke event, the mark point is the vertex of the stroke measured as described below. Obviously, other definitions of mark points can be used to practice the present invention.
유의할 점은, 출력 지연(1820)이 가장 긴 예상된 의사결정 지연(1830)보다 더 긴 경우, 출력 신호가 단지 마크 시간에 동기화될 수 있을 뿐이라는 것이다. 따라서, 출력 펄스(1880)의 결과로서 취해지는 조치, 예를 들어 액츄에이터의 동작은 마크 지점보다 충분히 다운스트림쪽에(downstream) 있어야만 하며, 이는 거의 모든 응용에서 그러할 것으로 예상된다.Note that if the
도 19는 스트로크 이벤트에 대한 시간의 함수인 로케이터 결과의 플롯을 나타낸 것이다. 로케이터, 예를 들어 도 15의 로케이터(1500)는 스트로크 방향에 거의 평행인 방향으로 검색하도록 구성되어야만 한다. 유의할 점은, 검색되는 차원이 스트로크 방향에 거의 평행인 방향을 포함하는 한, 다차원 로케이터도 역시 사용될 수 있다는 것이다.19 shows a plot of locator results as a function of time for stroke event. The locator, eg, the
임의의 기준점으로부터 측정된 시간이 수평축(1900) 상에 표시되어 있다.The time measured from any reference point is indicated on the
로케이터의 논리 출력은 로케이터 위치 곡선(1950)에 의해 연결되어 있는, 속이 빈 예시적인 점(1920) 및 속이 찬 예시적인 점(1922)을 포함하는 다이어몬드 형상의 점의 시퀀스로서 표시되어 있다. 유의할 점은 로케이터가 다이어몬드 형상의 점이 표시되어 있는 이산적인 시간(프레임에 대응함)에서만 위치를 측정하며, 따라서 로케이터 위치 곡선(1950)이 판독자의 편의를 위해 그려져 있는 것으로 이해되어야만 하며 로케이터에 의한 연속적인 측정을 나타내는 것이 아니라는 것이다. 다이어몬드 형상의 점의 수직 위치에 대응하는 논리 출력값은 제1 수직축(1910) 상에 표시되어 있다. 속이 빈 예시적인 점(1920)을 비롯한 속이 빈 채로 그려져 있는 다이어몬드 점은 로케이터가 의도한 이미지 특징을 발견했다는 확신이 거의 없는 낮은 논리 출력값(예시적인 실시예에서 참조 라인(1914)에 대응하는 0.5 미만)을 나타낸다. 속이 찬 예시적인 점(1922)를 비롯한 속이 채워진 채로 그려진 다이어몬드 점은 로케이터가 의도한 이미지 특징을 발견했고 또 그의 측정된 위치가 유효하다는 강한 확신이 있는 높은 논리 출력값을 나타낸다(예시된 실시예에서 0.5 이상).The logic output of the locator is represented as a diamond shaped sequence comprising a
로케이터의 측정된 위치는, 예시적인 위치점(1930)을 비롯한, 속이 채워진 원으로 그려진 위치점의 시퀀스로 표시되어 있다. 위치점의 수직 위치에 대응하는 위치값은 제2 수직축(1912)에 표시되어 있으며, 로케이터의 중앙으로부터 픽셀 단위로 측정된다. 유의할 점은 로케이터의 논리 출력이 0.5 이상인 프레임, 즉 로케이터가 의도한 이미지 특징을 발견했다는 강한 확신이 있는 프레임에 대해서만 위치점이 도시되어 있다는 것이다.The measured position of the locator is represented by a sequence of position points drawn by a filled circle, including an
위치점을 검사함으로써 시야 내의 기계적 구성요소가 대략 4 프레임 동안 대략 +6 픽셀에 있는 정점까지 로케이터의 검색 범위를 통해 전진하고 대략 6 프레임 동안 그 정점에 유지했다가 이어서 검색 범위를 넘어 이동하기 이전의 또 다른 4 프레임 동안 후퇴했음을 알 수 있다. 이 스트로크 이벤트에 대한 특정의 마크 시간을 계산하기 위해, 예시된 실시예는 위치점들을 사용하여 가장 근사한(best-fit) 포물선(1940)을 계산하고, 이로부터 포물선(1960)의 정점이 용이하게 구해질 수 있다. 예시된 예에서, 마크 시간(가장 근사한 포물선의 정점)은 19.2 밀리초에 있다.By inspecting the location point, the mechanical component in the field of vision advances through the locator's search range to a vertex at approximately +6 pixels for approximately four frames and remains at that vertex for approximately six frames and then moves beyond the search range. We can see that we retreated for another 4 frames. In order to calculate a specific mark time for this stroke event, the illustrated embodiment calculates the best-
일련의 점들로부터 가장 근사한 포물선을 계산하는 방법은 기술 분야에 공지되어 있다. 스트로크 이벤트의 정점을 구하는 다른 방법들이 본 발명의 범위 내에서 사용될 수 있다는 것이 당업자에게는 명백하다. 또한, 본 명세서에서 고려된 흐름 이벤트 및 스트로크 이벤트 이외의 동작이 본 명세서에 기술된 방법을 사용하여 추적될 수 있다는 것과 이러한 동작들에 대한 마크 시간을 구하기 위해 적절한 곡선이 근사화될 수 있거나 다른 기술들이 사용될 수 있다는 것이 명백하다.Methods of calculating the closest parabola from a series of points are known in the art. It will be apparent to those skilled in the art that other methods of determining the peak of a stroke event may be used within the scope of the present invention. In addition, movements other than flow events and stroke events contemplated herein may be tracked using the methods described herein and appropriate curves may be approximated to obtain mark times for these operations or other techniques may be employed. It is obvious that it can be used.
도 20은 출력 지연(1820)(도 18)을 설정하는 컨트롤을 포함하는 출력 장치의 사용자 구성을 위한 파라미터 뷰(parameter view)를 나타낸 것이다. 모드 컨트롤(2000)은 사용자로 하여금 출력 신호가 어떻게 제어되는지를 선택할 수 있게 해준다. "직통(straight through)" 모드에서, 논리 입력은 어떤 지연이나 동기화 없이 출력 신호로 직접 전달된다. "지연(delayed)" 모드에서, 논리 입력의 상승 엣지에서, 출력 펄스는 가장 최근에 측정된 마크 시간(또는 인코더 카운트)으로부터 지연 컨트롤(2010)에 의해 지정된 양만큼 지연된 시간에서 발생되도록 스케쥴링되어 있으며 펄스 컨트롤(2020)에 의해 지정된 지속기간을 갖는다. 스케쥴링된 펄스 는 출력 장치와 연관된 FIFO에 들어 있을 수 있다.FIG. 20 illustrates a parameter view for user configuration of an output device that includes a control to set an output delay 1820 (FIG. 18). The
<이미지의 기록 및 검색><Recording and Searching of Images>
도 21은 예시적인 실시예에서 사용되는 메모리(710)(도 7)의 일부분의 구성의 상세를 나타낸 것이다. 프레임 버퍼 풀(2100)은 여러가지 목적으로 사용될 프레임 버퍼(2130, 2132, 2134, 2136, 2138) 등의 다수의 개별적인 프레임 버퍼를 포함한다. 프리 풀(free pool)(2110)은 링 버퍼(ring buffer)로서 구성되어 있고 이벤트 검출을 위해 프레임을 캡처 및 분석하는 데 사용된다. 기록 포인터(write pointer)(2120)는 그 다음 프레임이 캡처되어 들어갈 그 다음 이용가능한 프레임 버퍼(2130)를 나타낸다. 프레임 버퍼(2130) 내로의 이미지 캡처와 동시에, 프레임 버퍼(2132) 내의 이전의 이미지가 분석되고 있다. 어떤 시점에서 링 버퍼가 꽉차게 될 수 있고, 그 시점에서 가장 오래된 프레임이 덮어쓰기(overwrite)된다.21 illustrates details of a configuration of a portion of memory 710 (FIG. 7) used in an example embodiment. The
예를 들어 이미저(760)가 LM9630인 예시적인 실시예에서, 각 프레임 버퍼는 128x100 8-비트 픽셀을 포함한다. 도면에서 명백함을 위해, 프레임 버퍼 풀(2100)은 단지 수십개의 요소만을 포함하는 것으로 도시되어 있지만, 실제로는 더 많은 수가 바람직하다. 일 실시예에서, 160개 요소가 사용되며, 이는 단지 2 메가바이트 이하의 저장 장치를 필요로 하고 또 200 프레임/초에서 약 0.8초의 생산 운전 또는 500 프레임/초에서 약 0.32초를 저장할 수 있다. 분명한 것은, 이미지가 저장될 수 있는 시간량을 증가시키기 위해 더 낮은 프레임 속도가 사용될 수 있다는 것이다.For example, in an example embodiment where
이벤트가 검출될 때(이는 그 이벤트가 발생하고나서 몇 프레임 이후에 일어 날 수 있음), 캡처된 이미지의 최근의 이력이 프리 풀(2110)에 있게 된다. 예시적인 실시예에서, 프리 풀(2110)은 응용의 목적상 이벤트 프레임 및 이벤트 프레임 전후의 프레임을 충분한 수만큼 보유할 정도로 충분히 크다. 이벤트가 검출될 때, 최근의 이력은, 기록 컨트롤(1050) 등의 사용자 선택에 따라, 기록될 프레임을 전혀 포함하지 않거나, 그 중 일부 또는 그 전부를 포함할 수 있다. 최근의 이력이 프레임들 전부를 포함하는 경우, 이들은 이하에 기술하는 바와 같이 즉각 기록될 수 있다. 그렇지 않은 경우, 기록은 기록될 프레임들 전부가 이용가능하게 되는 장래의 시간에 행해진다.When an event is detected (which may occur a few frames after the event occurs), the most recent history of the captured image is in the
예시된 일례에서, 예(2134)를 비롯한 "R"로 표시된 프레임 버퍼는 기록될 이미지를 보유하고, 예(2136)를 비롯한 "E"로 표시된 프레임 버퍼는 (역시 기록될) 이벤트 프레임을 보유한다. 이벤트는 마크 시간(2160)에서 발생하고, 버퍼(2134) 내의 프레임의 분석 동안에 검출된다. 이벤트가 검출된 때에, 기록될 프레임의 전부가 아닌 그 일부가 최근 이력에 있다. 버퍼(2132) 내의 프레임의 나중의 분석 동안에, 최근의 이력이 이제 기록될 프레임들 전부를 포함하는지가 판정된다.In the illustrated example, the frame buffer labeled "R", including example 2134, holds the image to be recorded, and the frame buffer labeled "E", including example 2136, holds the event frame (also to be recorded). . The event occurs at
프레임을 기록하기 위해, 프레임 버퍼는 프리 풀(2110)으로부터 제거되고 저장된 이벤트(2112, 2114, 2116)를 포함하는 저장된 이벤트 풀(2104)에 추가된다. 새로운 저장된 이벤트를 제거한 후에 프리 풀(2110) 내의 프레임 버퍼의 수가 너무 적게 되는 경우, 여러가지 조치가 가능하다. 일 실시예에서, 버퍼가 프리 풀(2110)로 되돌아갈 수 있도록 HMI(630)(도 6)가 저장된 이벤트 풀(2104) 내의 프레임을 업로드할 때까지 이벤트 검출이 중단된다. 다른 예에서, 하나 이상의 이전 의 저장된 이벤트는 저장된 이벤트 풀(2104)로부터 가져와서 프리 풀(2104)에 다시 배치될 수 있다. 이들 이전의 이벤트는 더 이상 디스플레이하는 데 이용가능하지 않다.To write a frame, the frame buffer is removed from the
예시적인 실시예에서, 프레임 버퍼는 결코 복사되지 않는다. 그 대신에, 프레임 버퍼는 기술 분야에 공지된 기술을 사용하여 포인터 조작에 의해 프리 풀(2110)과 저장된 이벤트 풀(2104) 사이에서 이동된다.In an exemplary embodiment, the frame buffer is never copied. Instead, the frame buffer is moved between the
리스트 요소(2140, 2142, 2144)를 비롯한 저장된 이벤트(2102)의 리스트가 유지된다. 예를 들어, 리스트 요소(2140)는 그 다음 요소 포인터(2150), 프레임 버퍼 카운트(2152), 결과 정보(2154), 및 저장된 이벤트 포인터(2156)를 포함한다. 결과 정보(2154)는 예시된 타임스탬프, 또는 활성 통계(302) 등의 도시되지 않은 기타 정보를 포함할 수 있다.A list of saved
결과 정보(2154)는 이벤트에 전체적으로 적용되는 정보를 포함한다. 또한, 각각의 기록된 프레임에 대한 정보(그의 예가 저장된 이벤트 풀(2104)의 프레임 버퍼에 나타내어져 있음)를 제공하는 것이 바람직하다. 예시된 일례들에서, 저장된 정보는 마크 시간에 대한 프레임의 캡처 시간(단위: 밀리초)을 기록하는 타임스탬프를 포함한다. 이벤트 검출 가중치 및 개개의 장치 결과(Gadget result) 등의 기타 정보(도시 생략)도 역시 기록될 수 있다.
다시 도 6을 참조하면, 시각 검출기는 구성을 위해 신호(640)를 통해 휴먼-머신 인터페이스(HMI)(630)에 연결될 수 있다. 또한, HMI가 시각 검출기(600)의 일부일 수 있지만, 이것이 덜 선호되는 이유는 HMI가 이벤트 검출에는 일반적으로 필요하지 않으며 따라서 하나의 HMI가 다수의 시각 검출기 간에 공유될 수 있기 때문이다. HMI는 종래의 설계의 그래픽 사용자 인터페이스(GUI)(이의 예시적인 일부분이 도 22에 도시되어 있음)를 실행할 수 있다.Referring again to FIG. 6, the visual detector may be coupled to a human-machine interface (HMI) 630 via a
이 GUI는 시각 검출기 메모리(710)에 저장된 기록된 이미지의 일부분이 인간 사용자를 위해 디스플레이될 수 있게 해준다. 도 22의 예시적인 실시예에서, 필름스트립 창(2202)은 최대 8개까지의 썸네일 이미지(2210, 2212, 2214, 2216, 2220, 2230, 2232, 2234)를 디스플레이하며, 각각의 썸네일 이미지는 저장된 이벤트 풀(2104)로부터의 대응하는 기록된 이미지의 저해상도 버전이다. 일반적으로, 썸네일 이미지는 기록에 있는 단일의 이벤트의 연속적인 이미지에 대응하지만, 대응하는 썸네일 간의 어떤 수의 이미지를 건너뛰는 등의 다른 구성도 유용할 수 있다.This GUI allows a portion of the recorded image stored in the
이벤트의 기록된 이미지들 내에서 및 이벤트들 사이에서 썸네일 이미지를 전방으로 또는 후방으로 전진시키기 위해 필름스트립 창(2202)에 일련의 스크롤링 컨트롤(2250)이 제공되어 있다. 다음 이미지 컨트롤(2260)은 한 이미지씩 전방으로 전진하고 이전 이미지 컨트롤(2262)은 한 이미지씩 후방으로 전진한다. 다음 이벤트 컨트롤(2264) 및 이전 이벤트 컨트롤(2266)은 디스플레이를 한 이벤트씩 전방 및 후방으로 전진시킨다.A series of scrolling
썸네일(2220)은 객체(2242)(예를 들어 객체(116)(도 1)에 대응할 수 있음)의 저해상도 이미지를 디스플레이한다. 객체(2242)도 역시 나머지 썸네일들 모두(예를 들어, 썸네일(2210)에서의 객체(2240))에서 약간 다른 관찰 시점(시야 내에서의 위치)으로 또한 아암(2272)에 의한 라벨(2270)의 부착 동안의 다른 시간에 나타난 다. 스크롤링 컨트롤(2250)을 사용하여 스크롤링 명령을 발행함으로써, 사용자는 임의의 원하는 시간 구간을 보기 위해 기록된 이미지를 전방 또는 후방으로 전진시킬 수 있다. 특히 썸네일(2212, 2214, 2216)에서의 도시된 예시적인 이미지를 살펴보면, 라벨(2270)은 부착되어질 때 객체의 상부 엣지 상에 걸려 있을지도 모르는 것처럼 보인다.
도 22의 예시적인 실시예에서, 두꺼운 외곽선으로 도시되고 선택된 이미지(selected image)라고 칭하는 썸네일(2220)에 대응하는 이미지도 역시 이미지 뷰 창(2200)에서 전체 해상도로 디스플레이된다. 스크롤링 명령이 디스플레이된 부분을 전방으로 또 역방으로 전진시킬 때, 다른 선택된 이미지가 썸네일(2220)로 들어가고 이미지 보기 창(2200)에 전체 해상도로 디스플레이된다. 마크 시간에 대한 선택된 이미지의 캡처 시간(이 예에서, 밀리초 단위임)을 나타내는 타임스탬프(2280) 등의 선택된 이미지에 관한 다른 정보도 역시 디스플레이된다.In the example embodiment of FIG. 22, an image corresponding to the
상기한 것은 본 발명의 여러가지 실시예들에 대한 상세한 설명이다. 본 명세서에 대한 광범위한 수정 및 추가가 본 발명의 정신 및 범위를 벗어나지 않고 이루어질 수 있다는 것이 분명히 생각된다. 예를 들어, 본 명세서에서의 프로세서 및 컴퓨팅 장치는 예시적인 것이며, 다양한 프로세서 및 컴퓨터(독립형 및 분산형 둘다)가 본 명세서에서의 계산을 수행하기 위해 이용될 수 있다. 이와 마찬가지로, 본 명세서에 기술된 이미저 및 다른 시각 구성요소는 예시적인 것이며, 본 발명의 개시 내용 내에서 개선된 또는 다른 구성요소가 이용될 수 있다. 소프트웨어 요소, GUI 설계 및 레이아웃, 파라미터값, 및 수학 공식 모두는 본 발명의 특정의 응용을 위해 적절한 경우 등가물로 수정 또는 대체될 수 있다. 따라서, 이상의 설명은 단지 예로서 보아야 하고 그렇지 않고 본 발명의 범위를 제한하는 것으로 보아서는 안 된다.What has been described above is a detailed description of various embodiments of the present invention. It is clearly contemplated that extensive modifications and additions to the specification may be made without departing from the spirit and scope of the invention. For example, the processors and computing devices herein are illustrative, and various processors and computers (both standalone and distributed) may be used to perform the calculations herein. Likewise, imagers and other visual components described herein are exemplary and improved or other components may be utilized within the teachings of the present invention. Software elements, GUI designs and layouts, parameter values, and mathematical formulas may all be modified or replaced with equivalents as appropriate for the particular application of the present invention. Accordingly, the above description should be regarded only as an example and not as limiting the scope of the present invention.
Claims (66)
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/865,155 US9092841B2 (en) | 2004-06-09 | 2004-06-09 | Method and apparatus for visual detection and inspection of objects |
US10/865,155 | 2004-06-09 | ||
US11/059,512 US20050276445A1 (en) | 2004-06-09 | 2005-02-16 | Method and apparatus for automatic visual detection, recording, and retrieval of events |
US11/059,512 | 2005-02-16 | ||
US11/138,033 US8249297B2 (en) | 2004-06-09 | 2005-05-26 | Method and apparatus for automatic visual event detection |
US11/138,025 | 2005-05-26 | ||
US11/138,023 | 2005-05-26 | ||
US11/138,023 US8249296B2 (en) | 2004-06-09 | 2005-05-26 | Method and apparatus for automatic visual event detection |
US11/138,025 US8243986B2 (en) | 2004-06-09 | 2005-05-26 | Method and apparatus for automatic visual event detection |
US11/138,033 | 2005-05-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070036123A true KR20070036123A (en) | 2007-04-02 |
Family
ID=35431300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077000574A KR20070036123A (en) | 2004-06-09 | 2005-06-06 | Method and apparatus for automatic visual event detection |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1763844A2 (en) |
JP (2) | JP4980907B2 (en) |
KR (1) | KR20070036123A (en) |
WO (1) | WO2005124709A2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092841B2 (en) | 2004-06-09 | 2015-07-28 | Cognex Technology And Investment Llc | Method and apparatus for visual detection and inspection of objects |
US8127247B2 (en) | 2004-06-09 | 2012-02-28 | Cognex Corporation | Human-machine-interface and method for manipulating data in a machine vision system |
US8891852B2 (en) | 2004-06-09 | 2014-11-18 | Cognex Technology And Investment Corporation | Method and apparatus for configuring and testing a machine vision detector |
US9292187B2 (en) | 2004-11-12 | 2016-03-22 | Cognex Corporation | System, method and graphical user interface for displaying and controlling vision system operating parameters |
US7636449B2 (en) | 2004-11-12 | 2009-12-22 | Cognex Technology And Investment Corporation | System and method for assigning analysis parameters to vision detector using a graphical interface |
US8238639B2 (en) | 2008-04-09 | 2012-08-07 | Cognex Corporation | Method and system for dynamic feature detection |
US9651499B2 (en) | 2011-12-20 | 2017-05-16 | Cognex Corporation | Configurable image trigger for a vision system and method for using the same |
US11533428B2 (en) | 2020-01-23 | 2022-12-20 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling electronic device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000293694A (en) * | 1999-04-07 | 2000-10-20 | Toyota Motor Corp | Scene recognizing device |
JP3732366B2 (en) * | 1999-10-05 | 2006-01-05 | 財団法人電力中央研究所 | Image database apparatus and image database creation / retrieval method |
JP3658326B2 (en) * | 2001-01-19 | 2005-06-08 | 日立エンジニアリング株式会社 | Foreign object inspection apparatus and method in liquid-filled container |
US7139979B2 (en) * | 2002-06-10 | 2006-11-21 | National Instruments Corporation | Displaying operations in an application using a graphical programming representation |
JP2004145504A (en) * | 2002-10-23 | 2004-05-20 | Keyence Corp | Image processing system |
-
2005
- 2005-06-06 JP JP2007527637A patent/JP4980907B2/en active Active
- 2005-06-06 KR KR1020077000574A patent/KR20070036123A/en not_active Application Discontinuation
- 2005-06-06 WO PCT/US2005/019923 patent/WO2005124709A2/en active Application Filing
- 2005-06-06 EP EP05763341A patent/EP1763844A2/en not_active Ceased
-
2011
- 2011-08-01 JP JP2011168412A patent/JP5350444B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2005124709A3 (en) | 2006-03-23 |
JP5350444B2 (en) | 2013-11-27 |
JP4980907B2 (en) | 2012-07-18 |
JP2008510250A (en) | 2008-04-03 |
WO2005124709A2 (en) | 2005-12-29 |
JP2011258220A (en) | 2011-12-22 |
EP1763844A2 (en) | 2007-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8249297B2 (en) | Method and apparatus for automatic visual event detection | |
US8243986B2 (en) | Method and apparatus for automatic visual event detection | |
JP5469811B2 (en) | Machine vision detector setting and testing methods and equipment | |
JP5350444B2 (en) | Method and apparatus for automatic visual event detection | |
US9094588B2 (en) | Human machine-interface and method for manipulating data in a machine vision system | |
CN101002229A (en) | Method and apparatus for improved vision detector image capture and analysis | |
JP5784397B2 (en) | Method and apparatus for visual detection and inspection of objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |