KR20070036123A - Method and apparatus for automatic visual event detection - Google Patents

Method and apparatus for automatic visual event detection Download PDF

Info

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
Application number
KR1020077000574A
Other languages
Korean (ko)
Inventor
윌리암 엠. 실버
브라이언 에스. 필립스
Original Assignee
코그넥스 테크놀로지 앤드 인베스트먼트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/865,155 external-priority patent/US9092841B2/en
Priority claimed from US11/059,512 external-priority patent/US20050276445A1/en
Priority claimed from US11/138,025 external-priority patent/US8243986B2/en
Application filed by 코그넥스 테크놀로지 앤드 인베스트먼트 코포레이션 filed Critical 코그넥스 테크놀로지 앤드 인베스트먼트 코포레이션
Publication of KR20070036123A publication Critical patent/KR20070036123A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation 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/194Actuation 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

자동 시각 이벤트 검출 방법 및 장치{METHOD AND APPARATUS FOR AUTOMATIC VISUAL EVENT DETECTION}METHOD AND APPARATUS FOR AUTOMATIC VISUAL EVENT DETECTION}

본 발명은 고속 비디오 이벤트 검출, 동작 분석, 이미지 기록, 및 자동화된 이미지 분석에 관한 것이다.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. Conveyor 100 operates to place objects, including example objects 110, 112, 14, 116, 118, on each object, for example, label 120 on object 112. Transfer from left to right past the labeling mechanism 160 to the. The labeling mechanism 160 includes an arm 162 that operates to move and attach each label to each object. Note that the labeling mechanism 160 and the arm 162 are shown for illustrative purposes to illustrate the present invention and do not necessarily represent any particular mechanism used to apply labels in industrial production.

라벨링 메카니즘(160)은 때때로 오작동할 수 있고, 그 결과 예를 들어 오른쪽 아래 모서리가 객체(116)의 표면으로부터 떨어져 접혀 있는 잘못 부착된 라벨(122)이 있게 된다. 많은 산업 생산 라인은 결함있는 객체(116)를 검출하고 불합격(reject)시키기 위해 광 검출기 세트, 머신 비전 시스템, 또는 시각 검출기 등의 어떤 형태의 자동 광전 검사(automatic optoelectronic inspection)를 사용한다. 결함있는 객체가 고객에 도달하는 것을 방지하는 데 이러한 검사가 중요하지만, 이는 우선적으로 결함이 생기는 것을 방지하는 데는 아무것도 하지 않는다. 본 발명의 한가지 목적은 실제로 야기되고 있는 결함을 보여주는 이미지를 제공함으로써 제조 엔지니어가 결함있는 객체의 원인을 진단하고 수리하는 데 도움을 주는 것이다.The labeling mechanism 160 can sometimes malfunction, resulting in, for example, a misattached label 122 with the lower right corner folded away from the surface of the object 116. Many industrial production lines use some form of automatic optoelectronic inspection, such as light detector sets, machine vision systems, or vision detectors, to detect and reject defective objects 116. This check is important to prevent defective objects from reaching customers, but it does nothing to prevent defects from occurring first. One object of the present invention is to assist manufacturing engineers in diagnosing and repairing the cause of a defective object by providing an image showing the defect that is actually occurring.

생산을 위해 객체를 이송하는 것 이외에, 컨베이어(100)는 객체와 시각 검출기(130)의 시야 사이의 상대 이동(relative movement)을 야기한다. 많은 생산 라인 상에서, 컨베이어의 동작은, 시각 검출기(130)에 의해 수신될 수 있고 또 시각 검출기 방법 및 장치와 본 명세서에서 개시된 여러가지 목적으로 사용될 수 있는 신호(140)를 생성하는 샤프트 인코더(132)에 의해 추적된다. 예를 들어, 신호(140)는 시각 검출기(130)에 의해, 객체(112)가 마크 지점(mark point)이라고 하는 가상의 기준점(150)을 지나가는 시점에 대한 참조로서 사용될 수 있다.In addition to transporting the object for production, the conveyor 100 causes a relative movement between the object and the field of view of the visual detector 130. On many production lines, the operation of the conveyor is a shaft encoder 132 that generates a signal 140 that can be received by the time detector 130 and can be used for the time detector method and apparatus and the various purposes disclosed herein. Is tracked by. For example, the signal 140 may be used by the visual detector 130 as a reference to a point in time when the object 112 passes a virtual reference point 150 called a mark point.

시각 검출기(130)는, 적절한 시각 기준에 기초하여, 그의 시야에서 발생할 수 있는 어떤 이벤트를 검출한다. 도 1이 예시적인 실시예에서, 이벤트는 아암(162)에 의한 라벨의 부착 오류에 대응하며, 이는 이하에서 더 기술하는 바와 같이 여러가지 방식으로 검출될 수 있다. 이미지는 이벤트 이전, 이벤트 동안 및 이벤트 이후에 기록된다. 제조 엔지니어 또는 기술자 등의 인간 사용자는 잘못 부착된 라벨을 야기하는 기계적 문제가 진단될 수 있도록 기록된 이미지를 검색하기 위해 신호(142)를 통해 휴먼-머신 인터페이스(134)와 상호작용한다.The visual detector 130 detects any event that may occur in its field of view based on the appropriate visual criteria. In this example embodiment of FIG. 1, the event corresponds to a labeling failure by the arm 162, which may be detected in various ways as described further below. The image is recorded before, during and after the event. Human users, such as manufacturing engineers or technicians, interact with human-machine interface 134 via signal 142 to retrieve recorded images so that mechanical problems causing misattached labels can be diagnosed.

다른 실시예에서, 개별적인 객체는 없고 오히려 재료, 예를 들어 직물이 시각 검출기를 통해 연속하여 지나가며, 그의 예가 이하에 제공된다. 이벤트 검출, 기록 및 검색의 목적상, 개별적인 객체와 재료의 연속적인 흐름 간에는 차이점이 거의 없다.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 box 220, represents image capture. The box marked "a", such as box 230, represents the analysis (the analysis step is further subdivided and described below). It is then desirable for (eg) analysis step 230 to analyze the image captured at capture step 220 by the capture "c" of the image overlapping analysis "a" of the current image. In this timeline, the analysis is shown to take less time than the capture, but in general the analysis is shorter or longer than the capture depending on the application details.

캡처와 분석이 중복되어 있는 경우, 시각 검출기가 이미지를 캡처 및 분석할 수 있는 속도는 캡처 시간과 분석 시간 중 더 긴 것에 의해 결정된다. 이것이 "프레임 속도(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 portion 200 of the timeline corresponds to the first event and includes capturing and analyzing five event frames. The second portion 202 corresponds to the second event and includes three event frames.

본 명세서에서 고려되는 예시적인 실시예들에서, 이벤트 검출을 위한 캡처된 이미지의 분석은 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 example analysis step 240. In an exemplary embodiment contemplated herein, the evidence is event detection weight, calculated below by an image analysis operation for one or more regions of interest in a frame, as described further below in the visual detector methods and apparatus. weight) (described further below).

각각의 활동 분석 단계는 최근의 프레임 세트 내에서 이벤트가 발생하고 있거나 발생했다는 증거를 고려한다. 본 명세서에서 고려되는 예시적인 실시예에서, 이벤트 검출은 이벤트가 발생하고 있다는 어떤 증거가 있는 것을 나타내는 활성 상태(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 first event 200 enters an active state in the first active frame corresponding to the analysis step 240, and two consecutive inactives corresponding to the analysis steps 246, 248. Ends with a frame Note that a single inactive frame corresponding to analysis step 242 is not sufficient to enter an inactive state in the case of a first event.

예를 들어 분석 단계(248)의 끝에서 비활성 상태에 들어갈 때, 이벤트 분석 단계가 수행된다. 후보 프레임은 분석 단계(240)에서 시작하고 분석 단계(241)에서 끝나는 5개의 이벤트 프레임이다. 이 예에서 이벤트 분석 단계는 이벤트가 발생한 것으로 결론짓고, 그에 의해 제1 기록된 프레임 세트(210)의 기록이 있게 된다. 제2 이벤트(202)에 대한 유사한 분석의 결과 제2 기록된 프레임 세트(212)의 기록이 있게 된다.For example, when entering an inactive state at the end of analysis step 248, an event analysis step is performed. Candidate frames are five event frames starting at analysis step 240 and ending at analysis step 241. In this example, the event analysis step concludes that the event has occurred, whereby there is a recording of the first recorded frame set 210. Similar analysis of the second event 202 results in a recording of the second recorded frame set 212.

이하에서 더 기술하는 바와 같이, 객체가 시야를 통해 지나갈 때 활성 프레임들에서의 객체의 위치를 고려함으로써, 시각 검출기는 이벤트가 발생한 정확한 시간을 나타내는 마크 시간(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 times 250 and 252 representing the exact time at which the event occurred. A timestamp representing the relative time between the mark time and the midpoint of the shutter time corresponding to each such recorded frame is stored for each recorded frame.

비활성 상태로의 천이가 행해지면, 시각 검출기는 휴지 단계(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 idle step 260 and a second idle step 262. This step is optional, but may be desirable for several reasons. If you know the minimum time between events, you do not need to search for events until a new event may occur. The idle phase eliminates the possibility of false event detection when an event cannot occur and extends the life of the lighting system because the lighting can be turned off during the idle phase.

도 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 visual analysis step 310, an activity analysis step 312, and an event analysis step 314.

활성 플래그(300)는 활동 분석 단계에 의해 사용되는 활성/비활성 상태를 보유한다.The active flag 300 holds the active / inactive state used by the activity analysis step.

활동 분석 단계에 의해 수집된 통계는 활성 통계(302) 및 비활성 통계(304)에 보유된다. 활성 프레임에 대한 값은 활성 통계(302)에 직접 추가된다. 비활성 프레임의 경우, 활동 분석 단계는 프레임이 후보 프레임 세트의 일부인지 여부(이는 장래의 프레임의 상태에 의존함)를 아직 알지 못한다. 따라서, 비활성 프레임에 대한 값은 비활성 통계(304)에 추가된다. 비활성 상태로의 천이가 일어나기 이전에 활성 프레임이 차후에 발견되는 경우, 비활성 통계(304)가 활성 통계(302)에 추가되고 클리어된다. 비활성 상태로의 천이 시에 남아 있는 비활성 통계(304)는 폐기된다. 양쪽 통계는 추가된 프레임의 수의 카운트를 포함한다.Statistics collected by the activity analysis step are retained in activity statistics 302 and inactivity statistics 304. The value for the active frame is added directly to the activity statistics 302. For inactive frames, the activity analysis step still does not know whether the frame is part of a candidate frame set (which depends on the state of the future frame). Thus, the value for the inactive frame is added to the inactivity statistics 304. If an active frame is later found before the transition to the inactive state occurs, the inactive statistics 304 are added to the active statistics 302 and cleared. Inactivity statistics 304 that remain upon transition to an inactivity state are discarded. Both statistics include a count of the number of frames added.

도 3의 예시된 실시예에서, 이 흐름도는 하나의 프레임에 대해 한번씩 캡처 블록(320)으로부터 계속 블록(324)까지 반복하여 실행된다. 캡처 블록(320)은 분석과 프레임 캡처를 동기화시키고 현재 프레임의 분석과 중복되는 그 다음 프레임의 캡처를 제공한다. 시각 분석 블록(322)은 시각 분석 단계를 수행하고, 캡처된 이미지의 분석으로부터 이벤트 검출 가중치 d를 계산한다.In the illustrated embodiment of FIG. 3, this flowchart is executed repeatedly from capture block 320 to continuing block 324 once for one frame. Capture block 320 synchronizes analysis and frame capture and provides capture of the next frame that overlaps analysis of the current frame. Visual analysis block 322 performs a visual analysis step and calculates an event detection weight d from the analysis of the captured image.

그 다음에 활동 분석 단계(312)가 수행된다. 활성 블록(320)은 이벤트 검출의 현재 상태를 판정하기 위해 활성 플래그(300)를 검사한다. 이벤트 검출이 비활성인 경우, 먼저 문턱값 블록(340)은 d를 문턱값 td와 비교함으로써 현재 프레임의 활성/비활성 상태를 판정한다. 이벤트 검출 가중치 d가 문턱값 td보다 크지 않은 경우, 프레임은 비활성이고, 현재 프레임에 대한 활동 분석이 끝난다. 이벤트 검출 가중치 d가 문턱값 td보다 큰 경우, 프레임은 활성이고, 활성 천이 블록(342)은 활성 플래그(300)를 설정하며, 초기화 블록(344)은 현재 프레임으로부터의 값을 사용하여 활성 통계(302)를 초기화하고 비활성 통계(304)를 클리어시킨다.An activity analysis step 312 is then performed. Active block 320 examines active flag 300 to determine the current state of event detection. If event detection is inactive, threshold block 340 first determines the active / deactivated state of the current frame by comparing d with threshold t d . If the event detection weight d is not greater than the threshold t d , the frame is inactive and the activity analysis for the current frame ends. If the event detection weight d is greater than the threshold t d , the frame is active, the active transition block 342 sets the active flag 300, and the initialization block 344 uses the values from the current frame to activate the statistics. Initialize 302 and clear inactivity statistics 304.

활성 블록(330)이 현재 상태가 활성인 것으로 판정하는 경우, 제2 문턱값 블록(446)은 d를 문턱값 td와 비교함으로써 현재 프레임의 활성/비활성 상태를 판정한다. d가 문턱값보다 크지 않은 경우, 프레임은 비활성이고, 카운트 검사 블록(350)은 비활성 통계(304)에서의 프레임 카운트를 보고서 파라미터 k개 이상의 연속적인 비활성 프레임이 발견되는지 여부를 판정한다. 발견되지 않은 경우, 비활성 갱신 블록(354)은 현재 프레임으로부터의 값을 추가함으로써 비활성 통 계(304)를 갱신한다(프레임 카운트를 증가시키는 것을 포함함). 발견되는 경우, 비활성 천이 블록(352)은 활성 플래그(300)를 클리어시키고 이벤트 분석 단계(314)에서 실행이 계속된다.If the active block 330 determines that the current state is active, the second threshold block 446 determines the active / inactive state of the current frame by comparing d with the threshold t d . If d is not greater than the threshold, the frame is inactive, and count check block 350 reports the frame count in inactivity statistics 304 to determine whether more than one consecutive inactive frames of k parameters are found. If not found, inactive update block 354 updates the inactive statistics 304 by adding values from the current frame (including increasing the frame count). If found, inactive transition block 352 clears active flag 300 and continues execution at event analysis step 314.

제2 문턱값 블록(346)이 현재 프레임이 활성인 것으로 판정하는 경우, 활성 갱신 블록(360)은 현재 프레임 및 비활성 통계(304) 둘다로부터의 값을 추가함으로써 활성 통계(302)를 갱신한다. 클리어 블록(362)은 비활성 통계(304)를 클리어시킨다.If second threshold block 346 determines that the current frame is active, active update block 360 updates active statistics 302 by adding values from both the current frame and inactive statistics 304. Clear block 362 clears inactivity statistics 304.

활동 분석 단계(312)가 활성 상태로부터 비활성 상태로 천이를 하는 경우, 이벤트 분석 단계(314)가 수행된다. 조건 블록(370)은 이벤트가 발생했는지 여부를 판정하기 위해 활성 통계(302)를 검사한다. 발생하지 않은 경우, 수집된 통계가 무시되고, 실행이 계속된다. 발생한 경우, 이벤트 블록(372)은, 이하에서 더 기술하는 바와 같이, 기록을 위한 프레임에 표시를 한다. 휴지 블록(374)은 계속하기 이전에 휴지 구간 동안 기다린다.When the activity analysis step 312 transitions from an active state to an inactive state, an event analysis step 314 is performed. Condition block 370 examines activity statistics 302 to determine whether an event has occurred. If it does not occur, the collected statistics are ignored and execution continues. If so, the event block 372 marks the frame for recording, as described further below. The idle block 374 waits for the idle period before continuing.

도 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 vertical axis 400 relative to the frame count i on the horizontal axis 402. Each frame is represented by a vertical line, such as example line 426. Note that the frame count is any integer.

이 실시예에서, 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 line 430 is depicted where d i = 0.5. Event detection weights for active frames are depicted as filled circles, for example point 410, and event detection weights for inactive frames are depicted as empty circles, for example point 416.

도 4의 예에서, 이벤트 검출은 프레임(422) 상에서 활성 상태에 들어가고, 4개의 연속적인 비활성 프레임을 본(이 예에서 비활성 프레임 카운트 문턱값 k=3임) 프레임(424) 이후에 비활성 상태에 들어간다. 후보 프레임 세트는 프레임(422)에서 시작하고 프레임(426)에서 끝난다. 격리된 비활성 프레임(420)은 비활성 상태로의 천이를 일으키지 않는다.In the example of FIG. 4, event detection enters an active state on frame 422 and is inactive after frame 424 after viewing four consecutive inactive frames (in this example, the inactive frame count threshold k = 3). Enter The set of candidate frames begins at frame 422 and ends at frame 426. Isolated inactive frame 420 does not cause a transition to an inactive state.

도 5는 예시적인 실시예에서 또한 도 4의 예에 대해 활동 분석 단계(312)에 의해 수집되고 이벤트 분석 단계(314)에 의해 사용되는 통계의 상세를 제공한다. 이 실시예에서, 활성 통계(302) 및 비활성 통계(304)는 비활성 상태로의 천이가 행 해질 때 이들 통계를 계산하기 위한 충분한 정보를 포함하고 있다. 도 5에서의 각각의 통계는 이하에서 더 기술하는 심볼(500), 값을 정의하는 역할을 하는 설명(510), 및 도 4의 예에 대해 그 값이 무엇인지를 보여주는 예(520)를 포함하고 있다.FIG. 5 provides details of the statistics collected by the activity analysis step 312 and used by the event analysis step 314 for the example of FIG. 4 in the example embodiment. In this embodiment, the active statistics 302 and inactive statistics 304 contain enough information to calculate these statistics when a transition to inactive state is made. Each statistic in FIG. 5 includes a symbol 500, described further below, a description 510 that defines the value, and an example 520 showing what the value is for the example of FIG. Doing.

이벤트가 검출되었는지 여부를 판정하기 위해 증거를 가중하는 방법에 대한 상기 설명은 유용한 실시예의 예로서 보아야 하며, 본 발명의 범위 내에서 사용될 수 있는 방법을 제한하는 것이 아니다. 예를 들어, 이상에서 사용된 예시적인 상수 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 visual detector 600 may be connected to a suitable automation equipment 610, which may include a PLC, a reject actuator, a shaft encoder, and / or a light detector by signal 620. These connections are not necessary for the detection, recording and retrieval of events, but may be useful where it is desirable to use the visual detector for additional purposes, for example for the purposes disclosed in the visual detector method and apparatus. It may be particularly desirable to provide an output pulse, for example to signal that an event has been detected. These pulses are delayed and synchronized to the mark time and used by a PLC, actuator or other device, as disclosed in the time detector method and apparatus.

검출된 이벤트의 이미지의 검색 및 디스플레이를 위해, 시각 검출기는 신호(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 signal 640. HMI 630 is also used for setup. HMI 630 need not be connected for detection and recording of events, but of course must be reconnected for search and display. Signal 640 may be implemented in any suitable format and / or protocol and may be transmitted in wire or wireless form.

시각 검출기(600)에 의해 기록되는 이벤트의 이미지는 또한 종래의 머신 비전 시스템(이에 한정되는 것은 아님)을 비롯한 자동화된 이미지 분석 시스템(650)에 의해 검색될 수 있다. 이러한 시스템은, HMI(630)의 사용에 본질적인 인간 분석을 필요로 하지 않고, 아주 높은 프레임 속도로 동작하도록 설계된 시각 검출기에서 가능할 수 있는 것보다 복잡한 이미지 분석을 하는 데 사용될 수 있다.The image of the event recorded by the visual detector 600 may also be retrieved by an automated image analysis system 650, including, but not limited to, conventional machine vision systems. Such a system does not require human analysis inherent in the use of HMI 630 and can be used to perform more complex image analysis than would be possible with a visual detector designed to operate at very high frame rates.

도 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 is interfaced to a memory 710 that includes a fast random access memory for programs and data and a nonvolatile memory for holding program and configuration information when power is removed. The memory 710 also maintains the recorded image for later retrieval. The DSP is also connected to the I / O module 720, which provides signals to the automation equipment, HMI interface 730, lighting module 740, and imager 760. Lens 750 focuses the image on the photosensitive element of imager 760.

DSP(700)는, 범용 컴퓨터, PLC, 또는 마이크로프로세서(이에 한정되는 것은 아님)를 비롯한, 디지털 계산, 정보 저장, 및 다른 디지털 요소로의 인터페이스를 할 수 있는 임의의 장치일 수 있다. DSP(700)가 저렴하지만 고속 프레임 속도를 처리할 정도로 충분히 빠른 것이 바람직하다. 또한, DSP가 이미지 분석과 동시에 이미저로부터 픽셀 데이터를 수신하여 저장할 수 있는 것이 바람직하다.The DSP 700 may be any device capable of interfacing to digital calculations, information storage, and other digital elements, including but not limited to general purpose computers, PLCs, or microprocessors. It is desirable that the DSP 700 be cheap but fast enough to handle the high frame rate. It is also desirable for the DSP to be able to receive and store pixel data from the imager simultaneously with image analysis.

도 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 700 is ADSP-BF531 manufactured by Analog Devices, Norwood, Mass., USA. The Parallel Peripheral Interface (PPI) 770 of the ADSP-BF531 DSP 700 receives the pixel data from the imager 760 and stores the data in the memory 710 in a direct memory access (DMA) channel 772. ) To the memory controller 774. The use of PPI 770 and DMA 772 allows, under appropriate software control, image capture to be performed concurrently with any other analysis performed by DSP 700. The software instructions that control the PPI 770 and DMA 772 are the ADSP-BF533 Blackfin Processor Hardware Reference (part number 82-002005-01) and the Blackfin Processor Instruction Set Reference (part number 82-000410-14) (both here By reference to the programming instructions contained in the entirety of which is incorporated herein by reference. Note that the ADSP-BF531 and compatible ADSP-BF532 and ADSP-BF533 devices have the same programming instructions and can be used interchangeably to obtain an appropriate price / performance tradeoff in this exemplary embodiment.

시각 검출기에 의해 요망되는 고속 프레임 속도는 종래 기술의 시각 시스템에서 사용되었던 것과 다른 이미저의 사용을 제안한다. 이미저가 광 감도가 아주 높고 그에 따라 저렴한 조명을 사용하여 극히 짧은 셔터 시간으로 동작할 수 있는 것이 바람직하다. 또한 픽셀 데이터를 종래 기술의 시각 시스템보다 훨씬 더 빠르게 디지털화하여 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, imager 760 is LM9630 manufactured by National Semiconductor, Santa Clara, California. The LM9630 has an array of 128x100 (12800 total) pixels that is about 24 times less than typical prior art vision systems. These pixels are 20 square microns, relatively large and have high light sensitivity. The LM9630 can deliver 500 frames per second when set for a 300 microsecond shutter time and is sensitive enough (in most cases) to enable a 300 microsecond shutter using LED lighting. This resolution is considered too low for the visual system, but is quite sufficient for the feature detection task that is the objective of the visual detector method and apparatus. The electrical interface and software control of the LM9630 may be implemented by those skilled in the art according to the instructions contained in the LM9630 Data Sheet, Rev 1.0 (January 2004), which is incorporated herein by reference in its entirety.

조명(740)이 저렴하지만 짧은 셔터 시간을 가능하게 해줄 정도로 충분히 밝은 것이 바람직하다. 예시적인 실시예에서, 630 나노미터에서 동작하는 고휘도 적색 LED의 뱅크, 예를 들어 Agilent Technologies에 의해 제조된 HLMP-ED25가 사용된다. 다른 실시예에서, 원하는 조명을 구현하기 위해 고휘도 백색 LED가 사용된다.It is desirable that the illumination 740 is inexpensive but bright enough to allow for short shutter times. In an exemplary embodiment, a bank of high brightness red LEDs operating at 630 nanometers, such as HLMP-ED25 manufactured by Agilent Technologies, is used. In another embodiment, high brightness white LEDs are used to achieve the desired illumination.

도 7의 예시적인 실시예에서, I/O 모듈(720)은 출력 신호(722, 724) 및 입력 신호(726)를 제공한다. 입력 신호(726)는 시각 검출기 방법 및 장치에서 개시된 바와 같은 논리 뷰에서의 적절한 연결에 의해 이벤트 검출을 위해 사용될 수 있다.In the example embodiment of FIG. 7, I / O module 720 provides output signals 722, 724 and input signal 726. The input signal 726 may be used for event detection by proper connection in the logical view as disclosed in the vision detector method and apparatus.

본 명세서에서 사용되는 바와 같이, 이미지 캡처 장치는 디지털 이미지를 캡처 및 저장하는 수단을 제공한다. 도 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, image capture device 780 includes a DSP 700, imager 760, memory 710, and associated electrical interface and software instructions.

본 명세서에서 사용되는 바와 같이, 분석기는 디지털 이미지(이에 한정되지 않음)를 포함하는 디지털 데이터를 분석하는 수단을 제공한다. 도 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, analyzer 782 includes DSP 700, memory 710, and associated electrical interface and software instructions.

본 명세서에서 사용되는 바와 같이, 출력 시그널러(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, output signaler 784 includes I / O module 720 and output signal 722.

본 명세서에서 사용되는 바와 같이, 프로세스(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 DSP 700 providing general purpose information processing operations under the control of appropriate computer software instructions,

- 이미지, 데이터 및 컴퓨터 소프트웨어 명령어에 대한 저장 및 검색 동작을 제공하는 메모리(710),A memory 710 providing storage and retrieval operations for images, data and computer software instructions,

- 본 명세서에 기술된 다른 요소와 결합하여, 이미지 캡처 동작을 제공하는 이미저(760),An imager 760 that, in combination with other elements described herein, provides an image capture operation,

- 인터페이스 및 시그널링 동작을 제공하는 I/O 모듈(720), 및An I / O module 720 providing an interface and signaling operation, and

- 휴먼-머신 인터페이스 동작을 제공하는 HMI 인터페이스(730).An HMI interface 730 that provides human-machine interface operation.

예시적인 실시예에서, 컴퓨터 소프트웨어 명령어는,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 image capture device 780, including the capture block 320 (FIG. 3) and other operations described herein,

- 도 3의 일부분, 예를 들어 시각 분석 단계(310), 활동 분석 단계(312), 및 이벤트 분석 단계(314), 그리고 본 명세서에 기술된 기타 동작을 포함하며, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 분석 프로세스,A portion of FIG. 3, eg, visual analysis step 310, activity analysis step 312, and event analysis step 314, and other operations described herein, including an analyzer 782 and FIG. 9. Various analytical processes performed by appropriate software elements as shown in

- 예를 들어 이벤트 블록(372), 및 본 명세서에 기술된 기타 동작을 포함하며, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 선택 프로세스, 및Various selection processes, including, for example, event block 372, and other operations described herein, performed by analyzer 782 and appropriate software elements shown in FIG. 9, and

- 예를 들어 조건 블록(370) 및 본 명세서에 기술된 기타 동작을 포함하고, 분석기(782) 및 도 9에 도시된 적당한 소프트웨어 요소에 의해 수행되는 다양한 의 사결정 프로세스.Various decision making processes, including, for example, condition block 370 and other operations described herein, and performed by analyzer 782 and suitable software elements shown in FIG.

당업자라면 이미지 캡처 장치(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 image capture device 780, an analyzer 782, and an output signaler 784. will be. Similarly, many other alternative configurations, devices, and software instructions may be used within the scope of the present invention to perform the processes described herein.

<퍼지 논리 의사 결정>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 graph 800 represents a fuzzy threshold. The x-axis 810 represents the raw measurements and the f-axis 814 represents the fuzzy logic, which is a function where the domain contains all possible raw measurements and the range is 0 ≦ f ≦ 1.

예시적인 실시예에서, 퍼지 문턱값은 x-축 상에 나타내어져 있는 2개의 숫자, 즉 함수(824, 826) 상의 점들에 대응하는 로우 문턱값 t0(820) 및 하이 문턱값 t1(822)을 포함한다. 퍼지 문턱값은 수학식 1에 의해 정의될 수 있다.In an exemplary embodiment, the fuzzy threshold is a low threshold t 0 820 and a high threshold t 1 822 corresponding to two numbers represented on the x-axis, that is, points on functions 824 and 826. ). The fuzzy threshold may be defined by Equation 1.

Figure 112007002223235-PCT00001
Figure 112007002223235-PCT00001

유의할 점은 이 함수가

Figure 112007002223235-PCT00002
인 경우에도 성립한다는 것이다. 수학식 2의 시그모이드(sigmoid) 등의 다른 함수들도 역시 퍼지 문턱값에 대해 사용될 수 있다.Note that this function
Figure 112007002223235-PCT00002
Even if it is established. Other functions such as sigmoid of equation (2) can also be used for fuzzy threshold.

Figure 112007002223235-PCT00003
Figure 112007002223235-PCT00003

여기서, t 및

Figure 112007002223235-PCT00004
는 문턱값 파라미터이다. 간단함이 목표인 실시예에서, 종래의 이진 문턱값이 사용될 수 있으며, 그 결과 이진 논리값이 얻어진다.Where t and
Figure 112007002223235-PCT00004
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 values 0 and 1 used in connection with the fuzzy logic herein. Any number can be used to indicate high confidence that the condition is true, any other number can be used to indicate high confidence that the condition is false, and the median represents an intermediate confidence level.

<본 발명의 소프트웨어 요소><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 class 900, do not exist on their own and are used to create specific derived classes, such as the Locator class 920. Abstract base class. A class with a solid border represents a dynamic object that can be created and destroyed as needed by the user in setting up the application using the HMI 630. Classes with dashed boundaries, such as input class 950, represent static objects associated with particular hardware or software resources. Static objects always exist and cannot be created or destroyed by the user.

모든 클래스는 가젯(Gadget) 클래스(900)로부터 파생되고, 따라서 도 9에 나타낸 클래스의 인스턴스인 모든 객체는 일종의 가젯이다. 예시적인 실시예에서, 모든 가젯은,Every class is derived from a gadget class 900, so every object that is an instance of the class shown in FIG. 9 is a kind of gadget. In an exemplary embodiment, all gadgets are

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)의 논리 출력은 판단을 함에 있어서 사용될 증거를 제공하는 데 사용될 수 있다.Photo class 910 is the base class for all gadgets whose logic output depends on the contents of the current frame. These are actually classes that perform image analysis. Every Photo measures some characteristic of the region of interest (ROI) of the current frame. The ROI corresponds to the visible characteristic on the object to be inspected. This measurement is called the analog output of the photo. The logical output of the photo is calculated from the analog output by a fuzzy threshold called a sensitivity threshold in its set of parameters that can be configured by the user. The logical output of the photo can be used to provide evidence to be used in making the judgment.

검출기(Detector) 클래스(930)는 1차 목적이 ROI에서 측정을 하여 판단을 하는 데 사용될 증거를 제공하는 것인 사진(Photo)에 대한 기본 클래스이다. 예시적인 실시예에서, 모든 검출기(Detector) ROI는 원이다. 원형 ROI는 구현을 간단화시키는데 그 이유는 회전을 처리할 필요가 없기 때문이며, 단지 하나의 ROI 형상을 갖는 것은 사용자가 학습해야 하는 것을 단순화시킨다. 검출기(Detector) 파라미터는 ROI의 위치 및 직경을 포함한다.Detector class 930 is a base class for Photo whose primary purpose is to provide evidence to be used to make measurements and make measurements at ROI. In an exemplary embodiment, all Detector ROIs are circles. Circular ROI simplifies implementation because there is no need to handle the rotation, and having only one ROI shape simplifies the user learning. Detector parameters include the location and diameter of the 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)의 동작에 대해서는 시각 검출기 방법 및 장치에 더 기술되어 있다.Brightness detector 940 measures the weighted average or percentile brightness in the ROI. A contrast detector 942 measures the contrast at the ROI. Edge detector 944 measures the extent to which the ROI looks like an edge in a particular direction. Spot Detector 946 measures the extent to which the ROI looks like a circular feature such as a hole. Template Detector 948 measures the extent to which the ROI looks like a pre-trained pattern selected by the user. The operation of the detector is further described in the Visual Detector Method and Apparatus.

로케이터(Locator) 클래스(920)는 2가지 주된 목적을 갖는 사진(Photo)을 나타낸다. 첫번째 목적은 판단을 하기 위한 증거를 제공할 수 있는 논리 출력을 생성하는 것이며, 이것에서 이들은 임의의 검출기(Detector)처럼 사용될 수 있다. 두번째 목적은, 객체의 위치를 추적하기 위해 다른 사진(Photo)의 ROI의 위치가 이동될 수 있도록, 시각 검출기의 시야에서의 객체의 위치를 결정하는 것이다. 이들 목적 중 어느 하나 또는 그 둘다를 위해 임의의 로케이터(Locator)가 사용될 수 있다.Locator class 920 represents a Photo which has two main purposes. The first purpose is to generate a logic output that can provide evidence for making a decision, where they can be used as any detector. The second purpose is to determine the position of the object in the field of view of the visual detector so that the position of the ROI of another photo can be shifted to track the position of the object. Any locator can be used for either or both of these purposes.

예시적인 실시예에서, 로케이터(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)은, 시각 검출기 방법 및 장치에 개시한 바와 같이, 외부 자동화 장비가 언제(지연 시간을 사용함) 또는 어디서(인코더 카운터를 사용함) 이벤트가 발생했는지를 판정할 수 있도록, 마크 시간에 동기화되어 있는 지연된 펄스를 생성할 수 있다.Input class 950 represents an input signal to a visual detector, which can be used to influence event detection. Output class 952 represents an output signal from a time detector, such as one that can be used to inform a PLC or actuator that an event has been detected. In an example embodiment, one static instance of the Input class, and each of the example output signals 722, 724, etc., for each physical input, such as the example input signal 726 (FIG. 7). There is one static instance of the Output class for physical output. Output is synchronized to the mark time so that external automation equipment can determine when (using delay time) or where (using encoder counter) an event has occurred, as disclosed in the time detector method and apparatus. Can generate delayed pulses.

게이트(Gate) 기본 클래스(960)는 퍼지 논리 의사결정을 구현한다. 각각의 게이트(Gate)는 다른 가젯들의 논리 출력에 연결될 수 있는 하나 이상의 논리 입력을 갖는다. 각각의 논리 입력은 사용자가 구성할 수 있는 파라미터에 의해 반전(퍼지 NOT)될 수 있다. AND 게이트(Gate)(962)는 퍼지 AND 연산을 구현하고, OR 게이트(Gate)(964)는 퍼지 OR 연산을 구현한다.Gate base class 960 implements fuzzy logic decisions. Each gate has one or more logic inputs that can be connected to the logic outputs of other gadgets. Each logical input can be inverted (fuzzy NOT) by a user configurable parameter. AND gate 962 implements a fuzzy AND operation, and OR gate 964 implements a fuzzy OR operation.

판단(Judge) 클래스(970)는 의사결정을 하기 위해 연속적인 프레임에 걸쳐 증거를 가중하는 객체들에 대한 기본 클래스이다. 본 발명의 예시적인 실시예는 활동 분석 단계(312) 및 이벤트 분석 단계(314)를 구현하는 것이 목적인 이벤트 검출 판단(EventDetect Judge)(972)을 포함한다(시각 분석 단계(310)는 사진(Photo), 입력(Input) 및/또는 게이트(Gate)의 어떤 조합에 의해 수행되며, 예들이 이하에 제공되어 있음). 다른 유형의 판단(Judge)에 대해서는 시각 검출기 방법 및 장치에 개시되어 있으며, 거기에서 제공된 기능들과 본 명세서에 제공된 이벤트 검출을 겸비하는 것이 바람직한 실시예에 존재할 수 있다.Judgment class 970 is a base class for objects that weight evidence over successive frames to make decisions. Exemplary embodiments of the invention include an EventDetect Judge 972 whose purpose is to implement an activity analysis step 312 and an event analysis step 314 (the visual analysis step 310 is a photo). ), Or any combination of Input and / or Gate, examples are provided below). Other types of judge are disclosed in the visual detector method and apparatus, and it may be in a preferred embodiment to combine the functions provided therein with the event detection provided herein.

각각의 판단(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 event analysis step 314 detects the event, for example FIG. 2 at the end of analysis step 248 and the trailing edge some time thereafter. , For example, at the end of the rest stage 260.

도 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 HMI 630 to set gadget parameters is called a parameter view.

이름 텍스트 박스(1000)는 이 이벤트 검출 판단(EventDetect Judge)에 대한 이름을 보고 입력할 수 있게 해준다. 시간 라벨(1002)은 이 이벤트 검출 판단(EventDetect Judge)의 가장 최근의 실행에 의해 걸린 시간을 나타낸다. 논리 출력 라벨(1004)은 이 이벤트 검출 판단(EventDetect Judge)의 현재 논리 출력값을 나타내고 참(≥0.5)과 거짓(<0.5)을 구분하기 위해 색상, 형상 또는 다른 특성을 변화시킬 수 있다. 반전 체크박스(1006)는 이 이벤트 검출 판단(EventDetect Judge)의 논리 출력이 반전될 수 있게 해준다. 유의할 점은, 시각 검출기 방법 및 장치에서 더 설명하는 바와 같이, 이름 텍스트 박스(1000), 시간 라벨(1002), 논리 출력 라벨(1004), 및 반전 체크박스(1006)가 모든 가젯 유형에 대한 파라미터 뷰에 공통이라는 것이다.The name text box 1000 allows you to view and enter a name for this EventDetect Judge. Time label 1002 represents the time taken by the most recent execution of this EventDetect Judge. Logical output label 1004 represents the current logical output of this EventDetect Judge and may change color, shape or other characteristics to distinguish true (≧ 0.5) and false (<0.5). Inversion checkbox 1006 allows the logic output of this EventDetect Judge to be inverted. Note that as further described in the Visual Detector Method and Apparatus, the Name text box 1000, the time label 1002, the logic output label 1004, and the invert checkbox 1006 are parameters for all gadget types. Is common to views.

휴지 시간 스피너(idle time spinner)(1020)는 사용자로 하여금 휴지 단계(260)(도 2)(또한 도 3에 휴지 블록(374)으로서 도시됨)에 대한 시간 구간을 지 정할 수 있게 해준다.The idle time spinner 1020 allows the user to specify a time interval for the idle step 260 (FIG. 2) (also shown as the idle block 374 in FIG. 3).

누락 프레임 스피너(missing frame spinner)(1030)는 사용자로 하여금 활동 분석 단계(312)가 비활성 상태로 천이하지 않고 접수되는 연속적인 비활성 프레임의 최대수를 지정할 수 있게 해준다. 누락 프레임 스피너(1030)에 의해 지정된 값은 도 3의 카운트 검사 블록(350)에서의 파라미터 k를 위해 사용된다.Missing frame spinner 1030 allows the user to specify the maximum number of consecutive inactive frames that are received without the activity analysis step 312 transitioning to inactive state. The value specified by the missing frame spinner 1030 is used for parameter k in count check block 350 of FIG. 3.

마킹 컨트롤(marking control)(1040)은, 본 명세서에 기술하는 바와 같이, 사용자로 하여금 마크 시간을 계산하기 위해 흐름 이벤트와 스트로크 이벤트 간에 선택할 수 있게 해준다. 마크 시간을 계산하기 위해, 사용자는 로케이터 리스트 컨트롤(locator list control)(1042)을 사용하여 로케이터(Locator)를 지정해야만 한다.Marking control 1040, as described herein, allows a user to select between a flow event and a stroke event to calculate the mark time. To calculate the mark time, the user must specify a locator using the locator list control 1042.

기록 구간 컨트롤(recording interval control)(1050)은 사용자로 하여금 이벤트가 검출될 때 이미지가 기록되는 시간 구간을, 마크 시간에 대해서, 지정할 수 있게 해준다. 도시하지 않은 대체 실시예에서, 사용자는 이벤트 프레임을 기록할지 여부, 및 기록할 이벤트 프레임 전후의 프레임의 수를 지정한다.Recording interval control 1050 allows the user to specify, for mark time, the time interval in which the image is recorded when an event is detected. In an alternative embodiment not shown, the user specifies whether to record an event frame and the number of frames before and after the event frame to be recorded.

조건 텍스트(condition text)(1010)는 사용자로 하여금 이벤트가 발생했는지 여부를 판정하기 위해 조건 블록(370)에 의해 검사되고 이벤트 분석 단계(314)에 의해 사용되는 이벤트 조건을 지정할 수 있게 해준다. 도 10의 예시적인 실시예에서, 조건 텍스트(1010)는 C 등의 종래의 프로그래밍 언어에 의해 사용되는 구문과 유사한 구문으로 논리 표현식을 나타내는 텍스트 문자열을 포함한다. 이 표현식은, 활성 통계(302)로부터의 참/거짓 값의 계산을 지정하기 위해, 활성 통계(302) 의 요소를 나타내는 도 5로부터의 심볼(500)을 숫자 상수, 논리 연산자, 비교 연산자 및 산술 연산자, 및 괄호 등의 구두점(punctuation)과 조합한다. 이러한 텍스트 문자열에 기초하여 참/거짓 값을 계산하는 방법은 기술 분야에 공지되어 있다.Condition text 1010 allows a user to specify an event condition that is examined by condition block 370 and used by event analysis step 314 to determine whether an event has occurred. In the example embodiment of FIG. 10, conditional text 1010 includes a text string that represents a logical expression in a syntax similar to that used by conventional programming languages such as C. This expression replaces the symbol 500 from FIG. 5 representing the elements of the activity statistics 302 with numeric constants, logical operators, comparison operators, and arithmetic to specify the calculation of true / false values from the activity statistics 302. In combination with punctuation such as operators and parentheses. Methods of calculating true / false values based on such text strings are known in the art.

도 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 object 116 from FIG. 1, including a label 1110, the user viewing and manipulating Is displayed on the HMI 630 for the purpose. Displaying images and superimposed graphics on the HMI is called an image view.

로케이터(Locator)(1120)는 객체의 상부 엣지를 검출하고 위치를 알아내는 데 사용되고, 다른 로케이터(Locator)(1122)는 오른쪽 엣지를 검출하고 위치를 알아내는 데 사용된다. 밝기 검출기(Bringhtness Detector)(1130)는 객체의 존재를 검출하는 것을 돕는 데 사용된다. 이 예에서, 배경은 객체보다 더 밝고, 감도 문턱값은 2개의 밝기 레벨을 구분하도록 설정되어 있으며, 논리 출력은 더 어두운 객체를 검출하기 위해 반전되고 더 밝은 배경을 검출하기 위해 반전되지 않는다.Locator 1120 is used to detect and locate the upper edge of the object, and another Locator 1122 is used to detect and locate the right edge. Bringhtness Detector 1130 is used to help detect the presence of an object. In this example, the background is brighter than the object, and the sensitivity threshold is set to distinguish two brightness levels, and the logic output is inverted to detect darker objects and not inverted to detect lighter backgrounds.

로케이터(Locator)(1120, 1122) 및 밝기 검출기(Brightness Detector)(1130) 모두는, 이하에 더 기술하는 바와 같이, 객체가 존재한다고 판단하는 데 필요한 증거를 제공한다. 명백한 것은, "잘못 부착된 라벨을 갖는 객체"에 대응하는 이벤트는 객체가 존재하지 않는 한 발생할 수 없다는 것이다.Both locators 1120 and 1122 and Brightness Detector 1130 provide the evidence needed to determine that an object exists, as further described below. Obviously, an event corresponding to "an object with an incorrectly attached label" cannot occur unless the object exists.

엣지 검출기(Edge Detector)(1160)는 라벨(1110)의 존재 및 위치를 검출하는 데 사용딘다. 라벨이 존재하지 않거나, 수평으로 잘못 배치되거나, 상당히 회전되어 있거나, 도시된 바와 같이 접혀진 모서리를 갖거나, 또는 여러가지 다른 방식으로 잘못 부착되어 있는 경우, 엣지 검출기(Edge Detector)의 아날로그 출력은 아주 낮게 된다. 물론, 엣지 검출기(Edge Detector)(1160)에 의해 검출되지 않는, 라벨(1110)이 잘못 부착될 수 있는 많은 방식이 있으며, 따라서 임의의 주어진 생산 상황에서 고장을 검출하기 위해 필요에 따라 다른 사진(Photo)들이 사용될 수 있다.Edge detector 1160 is used to detect the presence and location of label 1110. If the label does not exist, is misaligned horizontally, is rotated considerably, has folded edges as shown, or is misattached in many other ways, the edge detector's analog output is very low do. Of course, there are many ways in which the label 1110 can be misattached, which is not detected by the Edge Detector 1160, and thus, as needed, to detect failures in any given production situation. Photo) can be used.

예를 들어, 밝기 검출기(Brightness Detector)(1150)는 정확한 라벨이 부착되어 있음을 검증하는 데 사용된다. 이 예에서, 정확한 라벨은 백색이고 부정확한 라벨은 보다 어두운 색상이다.For example, a Brightness Detector 1150 is used to verify that the correct label is attached. In this example, the correct label is white and the incorrect label is darker color.

객체가 시각 검출기의 시야를 통해 좌측에서 우측으로 이동함에 따라, 로케이터(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 locator 1122 tracks the right edge of the object and the Brightness Detector 1130, Brightness Detector 1150 , And Edge Detector 1160 are relocated to the correct position with respect to the object. Locator 1120 corrects any variation in the vertical position of the object in the field of view and relocates the detectors based on the position of the upper edge of the object. In general, the locator can be oriented in any direction.

사용자는 공지의 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 HMI 630 for the user to view and manipulate. Displaying a mechanism and its logical interconnections on an HMI is called a logic view.

계속하여 도 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 locator 1220, referred to as “top”, corresponding to the locator 1120 in the image view of FIG. 11 is connected by the wiring 1224. It is connected to the AND gate 1210. Similarly, a " Side " locator 1222 corresponding to the locator 1122 and a " box " detector corresponding to the brightness detector 1130 1230 is also wired to AND gate 1210. The logic output of the “box” detector 1230 is inverted to detect darker objects against a lighter background, as indicated by the small circles 1232 and as described above.

배선도에서, 밝기 검출기(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 brightness detector 1150, and an edge detector 1160. The "LabelEdge" 1260 is wired to an AND gate 1212. The logic output of AND gate 1212 is inverted and wired to AND gate 1210 to indicate the level of confidence that label 1210 is incorrectly attached.

AND 게이트(1210)의 논리 출력은 객체가 존재하고 그의 라벨이 잘못 부착되어 있다는 확신 레벨, 즉 이벤트가 발생했다는 확신 레벨을 나타낸다. AND 게이트(1210)의 논리 출력은 각 프레임에 대한 이벤트 검출 가중치로서 사용되는 이벤트 검출 판단(EventDetect Judge)(1200)으로 배선되어 있다. 이 구성에 적합한 이벤트 검출 판단(EventDetect Judge)(1200)에 대한 이벤트 조건은 "n >= 3 & m >= 0.5"이지만, 응용의 상황에 따라 많은 다른 대안적인 이벤트 조건도 역시 적합하다.The logic output of AND gate 1210 indicates the level of confidence that an object exists and its label is attached incorrectly, that is, the level of confidence that an event has occurred. The logic output of the AND gate 1210 is wired to an Event Detect Judge 1200 which is used as the event detection weight for each frame. The event condition for the EventDetect Judge 1200 suitable for this configuration is "n> = 3 & m> = 0.5", but many other alternative event conditions are also suitable, depending on the context of the application.

이벤트 검출 판단(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 locator 1122 can react to the left edge of the label as strongly as the right edge of the object, and perhaps at this point in the production cycle, the locator 1120 sometimes has some other edge in the background. Can be found. By adding a detector 1130 and requiring all three conditions by the AND gate 1210, event detection becomes reliable.

이벤트가 검출될 때, 이하에서 더 기술하는 바와 같이 이미지가 기록될 수 있다. 명백한 것은, 이벤트 프레임 이전의 시간들에 대응하는 이미지들은 라벨이 어떻게 잘못 부착되었는지를 정확하게 보여줄 가능성이 많을 것이라는 것이다. 분명한 것은, 이 경우에 시각 검출기가, 라벨이 부착되는 곳에 실용적일만큼 가깝게, 객체를 볼 수 있도록 배치되는 것이 바람직하다는 것이다.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 EventDetect Judge 1200 is an output device 1280 called " Signal " that controls an output signal from a time detector that can be connected to an automated equipment such as a PLC or actuator if desired. Are wired. The output device 1280 is configured by the user as appropriate, as further described in the visual detector method and apparatus. The output device 1280, at the mark time, allows the automated equipment to determine when (using time) or where (using encoder count) an event occurred, as disclosed in the time detector method and apparatus. It is possible to generate synchronized delayed pulses.

사용자는 공지의 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 labeling arm 162 is fully extended (at the peak of its stroke), but the object 1300 is in the wrong position to receive the label 1310.

아암 엣지 검출기(1340)는 라벨링 아암(162)의 스트로크의 정점에 대응하는 시야 내의 위치에 배치된다. 유의할 점은 이 위치가 시야에 대해서 고정되어 있으며 - 생산 라인을 따라 이동하지 않음 - , 따라서 로케이터를 이용할 필요가 없다는 것이다. 상부 엣지 검출기(1320) 및 측면 엣지 검출기(1330)는 객체(1300)가 스트로크의 정점에서 원하는 위치에 있는지를 검증하는 데 사용된다.Arm edge detector 1340 is disposed at a position in the field of view corresponding to the apex of the stroke of labeling arm 162. Note that this position is fixed relative to the field of view-does not move along the production line-and therefore does not require the use of a locator. The upper edge detector 1320 and the side edge detector 1330 are used to verify that the object 1300 is in the desired position at the vertex of the stroke.

도 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 labeling arm 162. "Arm" 1440 corresponds to arm edge detector 1340, "top" 1420 corresponds to top edge detector 1320, and "side" 1430 corresponds to side edge detector 1330. .

도 14에 도시한 바와 같이 배선된 반전된 AND 게이트(1412) 및 AND 게이트(1410)를 사용하여, 이벤트 검출 판단(EventDetect Judge)(1400)은 라벨링 아암(162)이 그의 스트로크의 정점에 있을 때 객체(1300)가 상부 엣지 검출기(1320) 및 측면 엣지 검출기(1330) 중 적어도 하나에 의해 지정된 위치에 있지 않다는 확신 레벨을 나타내는 이벤트 검출 가중치를 수신한다. 이 구성에 적당한 이벤트 검출 판단(EventDetect Judge)(1400)에 대한 이벤트 조건은 "n >= 2"이 된다.Using an inverted AND gate 1412 and AND gate 1410 wired as shown in FIG. 14, an EventDetect Judge 1400 is used when the labeling arm 162 is at the peak of its stroke. Receive an event detection weight that indicates a level of confidence that the object 1300 is not at a location specified by at least one of the upper edge detector 1320 and the side edge detector 1330. The event condition for the EventDetect Judge 1400 suitable for this configuration is "n> = 2".

이벤트가 검출될 때, 이하에 더 기술하는 바와 같이 이미지가 기록될 수 있다. 또한, 이벤트 검출 판단(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 EventDetect Judge 1400 is an output device 1480 labeled " signal " that controls the output signal from a time detector that can be connected to an automated equipment such as a PLC or actuator if desired. Are wired. The output device 1280 is configured by the user as appropriate, as further described in the visual detector method and apparatus.

도 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 labeling arm 162 is under-extended or over-extended (meaning the vertex of the stroke is in the wrong position) or the labeling arm 162 extends to the correct position but for correct labeling there An event occurs when you stay too short or too long.

과잉 연장은 검출하기가 용이하다. 엣지 검출기(1512)는 라벨링 아암(162)의 하향 스트로크의 예상된 정점보다 아래에 배치된다. 대응하는 논리 뷰 엣지 검출기 "하이퍼(Hyper)"(1540)는, 과잉 연장된 아암을 검출하기 위해 이벤트 조건 "w >= 0.95"를 사용할 수 있는, "하이퍼이벤트(HyperEvent)" 이벤트 검출 판단(EventDetect Judge)(1570)으로 배선되어 있다. 유의할 점은 이벤트 검출 가중 치 총합 w를 사용하는 이 이벤트 조건이, 그 프레임에 대한 이벤트 검출 가중치가 아주 높은 확신을 나타내는 경우, 단일의 프레임을 충분한 증거로서 받아들이지만, 이벤트 검출 가중치가 보다 낮은 확신을 나타내는 경우, 적어도 2개의 프레임을 필요로 한다는 것이다.Excessive extension is easy to detect. Edge detector 1512 is disposed below the expected vertex of the downward stroke of labeling arm 162. The corresponding logical view edge detector "Hyper" 1540 may use the event condition "w> = 0.95" to detect an excessively extended arm, "HyperEvent" event detection decision (EventDetect). Judge) 1570. Note that if this event condition using the event detection weighted sum, w, represents a high confidence that the event detection weight for that frame is very high, a single frame will be taken as sufficient evidence, but the event detection weight will have a lower confidence. In this case, at least two frames are required.

다른 조건들에 대해, 로케이터(1500)는 라벨링 아암(162)이 정점 근방의 어떤 범위의 위치들 내에 있는지를 검출하기 위해 배치되고, 엣지 검출기(1510)는 라벨링 아암(162)이 정점에 있는지를 검출하기 위해 배치된다. 대응하는 논리 뷰 로케이터 "스트로크"(1520) 및 반전된 엣지 검출기 "정점"(1530)은, 도시된 바와 같이, AND 게이트(1550)로 배선되어 있으며, AND 게이트(1550)는 차례로 이벤트 검출 판단(EventDetect Judge) "스트로크 이벤트(StrokeEvent)"(1560)로 배선되어 있다. 이 구성에서의 이벤트 검출 가중치는 라벨링 아암(162)이 그의 스트로크의 정점에 있는 것이 아니라 그 근방에 있다는 확신 레벨을 나타낸다.For other conditions, the locator 1500 is positioned to detect what range of positions the labeling arm 162 is near the vertex, and the edge detector 1510 determines whether the labeling arm 162 is at the vertex. Is arranged to detect. Corresponding logical view locator " stroke " 1520 and inverted edge detector " vertice " 1530 are wired to AND gate 1550, as shown, and AND gate 1550, in turn, determines event detection determination ( EventDetect Judge) It is wired by "StrokeEvent" 1560. The event detection weight in this configuration indicates the level of confidence that the labeling arm 162 is not near the top of its stroke, but near.

유의할 점은 도 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 activity flag 300, the activity statistics 302, and the inactivity statistics 304 to determine its own activity analysis step 312 and event analysis step 314. ). Note that the visual analysis step 310 is performed by other gadgets such as Photo and Gate.

도 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 first plot 1600 shows the under-extended arm. This arm has moved close to the desired vertex for about 12 frames, but has not actually reached the vertex. The second plot 1610 shows an arm that extends to the desired vertex but is too short for accurate labeling there, staying only about 1 frame. The third plot 1620 extends precisely, showing the arm reaching the desired vertex and staying there for about three frames. Fourth plot 1630 shows an arm that extends too long to stay at the desired vertex for about seven frames.

도 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 first plot 1600, the second plot 1610, and the fourth plot 1630, but with the correct arm. It is not suitable to detect the third plot 1620 corresponding to the extension. The term "a <.50" detects the first plot 1600 and the second plot 1610. The term "a> .75" detects a fourth plot 1630. The term "n> = 2" ensures that a single-frame fake event is not detected.

명백한 것은, 라벨링 아암(162) 등의 기계적 구성요소의 연장-오류를 검출하는 데도 역시 적합하고 또 당업자라면 잘 알고 있는 많은 다른 구성 및 이벤트 조 건이 있다는 것이다.Obviously, there are many other configurations and event conditions that are also suitable for detecting extension-errors of mechanical components such as the labeling arm 162 and are well known to those skilled in the art.

도 17은 연속적인 직물 상의 결함의 이미지를 검출 및 기록하는 본 발명을 구성하는 한가지 방법을 나타낸 것이다. 이미지 뷰(1710)는 시각 검출기를 지나 이동하고 있는 연속적인 직물(1700)의 일부분을 나타낸 것이다.17 illustrates one method of constructing the present invention for detecting and recording images of defects on successive fabrics. Image view 1710 shows a portion of a continuous fabric 1700 moving past a visual detector.

로케이터(1720) 및 엣지 검출기(1722)는 직물을 검사하도록 구성되어 있다. 직물이 파손되거나 접혀 있거나 또는 어느 한 엣지에서 거의 닳아 해어지게 되는 경우, 로케이터(1720) 및/또는 엣지 검출기(1722)는 잘못된 출력(논리값 < 0.5)을 생성하게 된다. 직물이 위로 또는 아래로 이동하는 경우, 로케이터(1720)는 상부 엣지를 추적하고 엣지 검출기(1722)를 하부 엣지를 검출하는 정확한 상대적 위치에 유지시킨다. 그렇지만, 직물의 폭이 상당히 변하는 경우, 엣지 검출기(1722)는 틀린 출력을 생성한다.Locator 1720 and edge detector 1722 are configured to inspect the fabric. If the fabric is broken or folded or almost worn out at either edge, locator 1720 and / or edge detector 1722 will produce an incorrect output (logic <0.5). As the fabric moves up or down, the locator 1720 tracks the top edge and keeps the edge detector 1722 in the correct relative position to detect the bottom edge. However, if the width of the fabric changes significantly, edge detector 1722 produces an incorrect output.

논리 뷰에서, "상부" 로케이터(1740)는 로케이터(1720)를 나타내고, "하부" 검출기(1750)는 엣지 검출기(1722)를 나타낸다. 이들은 AND 게이트(1760)로 배선되어 있으며, 이 게이트의 논리 출력은 반전되고 이벤트 검출 판단(EventDetect Judge)(1770)으로 배선되어 있다.In the logical view, the "top" locator 1740 represents the locator 1720 and the "bottom" detector 1750 represents the edge detector 1722. They are wired to an AND gate 1760, and the logic outputs of the gates are inverted and wired to an Event Detect Judge 1770.

<마킹(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 mark point 150, and in the timeline of FIG. 2, the time is the mark time 250, 252. In the example of FIG. 15, edge detector 1510 is positioned at the vertex of the stroke of labeling arm 162. In FIG. 18, the time is mark time 1800. Note that the encoder count can be used instead of time.

본 발명은, 출력이 액츄에이터를 직접 제어하든지 또는 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 logic output 1840. When a decision is made at decision point 1810, a detection pulse 1870 appears in EventDetect logic output 1840. Decision point 1810 corresponds to the point in time at which event block 372 in the flowchart of FIG. 3 is executed. Note that the decision delay 1830 from the mark time 1800 to the decision point 1810 depends on how many frames were analyzed and when the mark time is present (less extent) in the capture / analysis cycle. Is variable. Thus, the timing of the detection pulse 1870 does not convey accurate information as to when the event occurred.

가변적인 의사결정 지연(1830)의 문제점은 이미지를 캡처 및 분석함으로써 이벤트를 검출하려고 시도하는 임의의 장치에 적용되며, 여기서 프레임 주기(프레임 속도의 역)보다 나은 정확도로 이벤트가 언제 발생했는지를 나타내는 신호를 제공하는 것이 요망된다. 본 발명은 마크 시간(1800)을 측정하고 이어서 출력 신호(1860) 상의 출력 펄스(1880)를 그에 동기화시킴으로써 이 문제점을 해결한다. 출력 펄스(1880)는 마크 시간(1800)으로부터 고정된 출력 지연(1820)에서 발생한다.The problem of variable decision delay 1830 applies to any device that attempts to detect an event by capturing and analyzing the image, where it indicates when the event occurred with better accuracy than the frame period (inverse of the frame rate). It is desirable to provide a signal. The present invention solves this problem by measuring the mark time 1800 and then synchronizing the output pulse 1880 on the output signal 1860 to it. Output pulse 1880 occurs at a fixed output delay 1820 from mark time 1800.

마크 시간을 측정하는 동작을 마킹(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 output delay 1820 is longer than the longest expected decision delay 1830, the output signal can only be synchronized at the mark time. Thus, the action taken as a result of the output pulse 1880, for example the operation of the actuator, must be sufficiently downstream of the mark point, which is expected to be so in almost all applications.

도 19는 스트로크 이벤트에 대한 시간의 함수인 로케이터 결과의 플롯을 나타낸 것이다. 로케이터, 예를 들어 도 15의 로케이터(1500)는 스트로크 방향에 거의 평행인 방향으로 검색하도록 구성되어야만 한다. 유의할 점은, 검색되는 차원이 스트로크 방향에 거의 평행인 방향을 포함하는 한, 다차원 로케이터도 역시 사용될 수 있다는 것이다.19 shows a plot of locator results as a function of time for stroke event. The locator, eg, the locator 1500 of FIG. 15, must be configured to search in a direction that is nearly parallel to the stroke direction. Note that multidimensional locators can also be used, as long as the dimension to be retrieved includes a direction that is nearly parallel to the stroke direction.

임의의 기준점으로부터 측정된 시간이 수평축(1900) 상에 표시되어 있다.The time measured from any reference point is indicated on the horizontal axis 1900.

로케이터의 논리 출력은 로케이터 위치 곡선(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 hollow example point 1920 and a hollow example point 1922 that are connected by a locator position curve 1950. Note that the locator measures its position only at discrete times (corresponding to the frame) at which diamond-shaped points are marked, so it should be understood that the locator position curve 1950 is drawn for the reader's convenience and is continuous by the locator. It does not indicate a normal measurement. The logic output value corresponding to the vertical position of the diamond shaped point is indicated on the first vertical axis 1910. Hollow diamond points, including hollow example dots 1920, have low logic outputs with little confidence that the locator has found the intended image characteristics (0.5 corresponding to reference line 1914 in the exemplary embodiment). Less than). The filled diamond point, including the solid example point 1922, shows a high logic output with strong confidence that the locator has found the intended image feature and that its measured position is valid (in the illustrated embodiment). 0.5 or more).

로케이터의 측정된 위치는, 예시적인 위치점(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 exemplary position point 1930. The position value corresponding to the vertical position of the position point is indicated on the second vertical axis 1912 and is measured in pixels from the center of the locator. Note that the location point is only shown for frames where the logical output of the locator is greater than or equal to 0.5, i.e. the frame with strong confidence that the locator has found the intended image feature.

위치점을 검사함으로써 시야 내의 기계적 구성요소가 대략 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-fit parabola 1940 using the location points, from which the vertices of the parabola 1960 are easily facilitated. Can be saved. In the illustrated example, the mark time (closest to the parabolic peak) is at 19.2 milliseconds.

일련의 점들로부터 가장 근사한 포물선을 계산하는 방법은 기술 분야에 공지되어 있다. 스트로크 이벤트의 정점을 구하는 다른 방법들이 본 발명의 범위 내에서 사용될 수 있다는 것이 당업자에게는 명백하다. 또한, 본 명세서에서 고려된 흐름 이벤트 및 스트로크 이벤트 이외의 동작이 본 명세서에 기술된 방법을 사용하여 추적될 수 있다는 것과 이러한 동작들에 대한 마크 시간을 구하기 위해 적절한 곡선이 근사화될 수 있거나 다른 기술들이 사용될 수 있다는 것이 명백하다.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 mode control 2000 allows the user to select how the output signal is controlled. In the "straight through" mode, the logic input is passed directly to the output signal without any delay or synchronization. In the "delayed" mode, at the rising edge of the logic input, the output pulse is scheduled to occur at a time delayed by the amount specified by the delay control 2010 from the most recently measured mark time (or encoder count). Has a duration specified by pulse control 2020. The scheduled pulse may be contained in the FIFO associated with the output device.

<이미지의 기록 및 검색><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 frame buffer pool 2100 includes a number of individual frame buffers, such as frame buffers 2130, 2132, 2134, 2136, 2138, to be used for various purposes. A free pool 2110 is configured as a ring buffer and is used to capture and analyze frames for event detection. Write pointer 2120 represents the next available frame buffer 2130 into which the next frame will be captured. At the same time as capturing the image into the frame buffer 2130, the previous image in the frame buffer 2132 is being analyzed. At some point, the ring buffer can become full, at which point the oldest frame is overwritten.

예를 들어 이미저(760)가 LM9630인 예시적인 실시예에서, 각 프레임 버퍼는 128x100 8-비트 픽셀을 포함한다. 도면에서 명백함을 위해, 프레임 버퍼 풀(2100)은 단지 수십개의 요소만을 포함하는 것으로 도시되어 있지만, 실제로는 더 많은 수가 바람직하다. 일 실시예에서, 160개 요소가 사용되며, 이는 단지 2 메가바이트 이하의 저장 장치를 필요로 하고 또 200 프레임/초에서 약 0.8초의 생산 운전 또는 500 프레임/초에서 약 0.32초를 저장할 수 있다. 분명한 것은, 이미지가 저장될 수 있는 시간량을 증가시키기 위해 더 낮은 프레임 속도가 사용될 수 있다는 것이다.For example, in an example embodiment where imager 760 is LM9630, each frame buffer includes 128x100 8-bit pixels. For clarity in the drawings, the frame buffer pool 2100 is shown to include only dozens of elements, although in practice a larger number is preferred. In one embodiment, 160 elements are used, which only requires less than 2 megabytes of storage and can store about 0.8 seconds of production operation at 200 frames / second or about 0.32 seconds at 500 frames / second. Obviously, lower frame rates can be used to increase the amount of time an image can be stored.

이벤트가 검출될 때(이는 그 이벤트가 발생하고나서 몇 프레임 이후에 일어 날 수 있음), 캡처된 이미지의 최근의 이력이 프리 풀(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 free pool 2110. In an exemplary embodiment, the free pool 2110 is large enough to hold a sufficient number of event frames and frames before and after the event frames for application purposes. When an event is detected, the recent history may include none or some or all of the frames to be recorded, depending on user selection of the recording control 1050 or the like. If the recent history includes all of the frames, they can be immediately recorded as described below. Otherwise, recording is done at a future time when all of the frames to be recorded are available.

예시된 일례에서, 예(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 mark time 2160 and is detected during analysis of the frame in buffer 2134. When an event is detected, not all of the frames to be recorded are part of the recent history. During later analysis of the frame in buffer 2132, it is determined whether the recent history now includes all of the frames to be recorded.

프레임을 기록하기 위해, 프레임 버퍼는 프리 풀(2110)으로부터 제거되고 저장된 이벤트(2112, 2114, 2116)를 포함하는 저장된 이벤트 풀(2104)에 추가된다. 새로운 저장된 이벤트를 제거한 후에 프리 풀(2110) 내의 프레임 버퍼의 수가 너무 적게 되는 경우, 여러가지 조치가 가능하다. 일 실시예에서, 버퍼가 프리 풀(2110)로 되돌아갈 수 있도록 HMI(630)(도 6)가 저장된 이벤트 풀(2104) 내의 프레임을 업로드할 때까지 이벤트 검출이 중단된다. 다른 예에서, 하나 이상의 이전 의 저장된 이벤트는 저장된 이벤트 풀(2104)로부터 가져와서 프리 풀(2104)에 다시 배치될 수 있다. 이들 이전의 이벤트는 더 이상 디스플레이하는 데 이용가능하지 않다.To write a frame, the frame buffer is removed from the free pool 2110 and added to the stored event pool 2104, which includes the stored events 2112, 2114, and 2116. If the number of frame buffers in the free pool 2110 becomes too small after removing a new stored event, various actions are possible. In one embodiment, event detection is stopped until the HMI 630 (FIG. 6) uploads the frames in the stored event pool 2104 so that the buffer can be returned to the free pool 2110. In another example, one or more previously stored events may be taken from the stored event pool 2104 and placed back in the free pool 2104. These previous events are no longer available for display.

예시적인 실시예에서, 프레임 버퍼는 결코 복사되지 않는다. 그 대신에, 프레임 버퍼는 기술 분야에 공지된 기술을 사용하여 포인터 조작에 의해 프리 풀(2110)과 저장된 이벤트 풀(2104) 사이에서 이동된다.In an exemplary embodiment, the frame buffer is never copied. Instead, the frame buffer is moved between the free pool 2110 and the stored event pool 2104 by pointer manipulation using techniques known in the art.

리스트 요소(2140, 2142, 2144)를 비롯한 저장된 이벤트(2102)의 리스트가 유지된다. 예를 들어, 리스트 요소(2140)는 그 다음 요소 포인터(2150), 프레임 버퍼 카운트(2152), 결과 정보(2154), 및 저장된 이벤트 포인터(2156)를 포함한다. 결과 정보(2154)는 예시된 타임스탬프, 또는 활성 통계(302) 등의 도시되지 않은 기타 정보를 포함할 수 있다.A list of saved events 2102 is maintained, including list elements 2140, 2142, and 2144. For example, list element 2140 then includes an element pointer 2150, frame buffer count 2152, result information 2154, and stored event pointer 2156. Result information 2154 may include other times not shown, such as an illustrated time stamp or activity statistics 302.

결과 정보(2154)는 이벤트에 전체적으로 적용되는 정보를 포함한다. 또한, 각각의 기록된 프레임에 대한 정보(그의 예가 저장된 이벤트 풀(2104)의 프레임 버퍼에 나타내어져 있음)를 제공하는 것이 바람직하다. 예시된 일례들에서, 저장된 정보는 마크 시간에 대한 프레임의 캡처 시간(단위: 밀리초)을 기록하는 타임스탬프를 포함한다. 이벤트 검출 가중치 및 개개의 장치 결과(Gadget result) 등의 기타 정보(도시 생략)도 역시 기록될 수 있다.Result information 2154 includes information that applies to the event as a whole. It is also desirable to provide information about each recorded frame (examples of which are shown in the frame buffer of the stored event pool 2104). In the illustrated examples, the stored information includes a timestamp that records the capture time (in milliseconds) of the frame relative to the mark time. Other information (not shown) such as event detection weights and individual device results may also be recorded.

다시 도 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 signal 640 for configuration. In addition, although the HMI may be part of the visual detector 600, this is less preferred because the HMI is generally not needed for event detection and therefore one HMI may be shared among multiple visual detectors. The HMI may execute a graphical user interface (GUI) of a conventional design, an exemplary portion of which is shown in FIG. 22.

이 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 visual detector memory 710 to be displayed for human users. In the example embodiment of FIG. 22, the filmstrip window 2202 displays up to eight thumbnail images 2210, 2212, 2214, 2216, 2220, 2230, 2232, 2234, with each thumbnail image stored A low resolution version of the corresponding recorded image from event pool 2104. In general, thumbnail images correspond to successive images of a single event in the recording, but other configurations may be useful, such as skipping any number of images between corresponding thumbnails.

이벤트의 기록된 이미지들 내에서 및 이벤트들 사이에서 썸네일 이미지를 전방으로 또는 후방으로 전진시키기 위해 필름스트립 창(2202)에 일련의 스크롤링 컨트롤(2250)이 제공되어 있다. 다음 이미지 컨트롤(2260)은 한 이미지씩 전방으로 전진하고 이전 이미지 컨트롤(2262)은 한 이미지씩 후방으로 전진한다. 다음 이벤트 컨트롤(2264) 및 이전 이벤트 컨트롤(2266)은 디스플레이를 한 이벤트씩 전방 및 후방으로 전진시킨다.A series of scrolling controls 2250 are provided in the film strip window 2202 to advance the thumbnail image forward or backward within the recorded images of the event and between the events. Next image control 2260 advances one image forward and one image control 2262 advances one image backward. Next event control 2264 and previous event control 2266 advance the display forward and backward one event at a time.

썸네일(2220)은 객체(2242)(예를 들어 객체(116)(도 1)에 대응할 수 있음)의 저해상도 이미지를 디스플레이한다. 객체(2242)도 역시 나머지 썸네일들 모두(예를 들어, 썸네일(2210)에서의 객체(2240))에서 약간 다른 관찰 시점(시야 내에서의 위치)으로 또한 아암(2272)에 의한 라벨(2270)의 부착 동안의 다른 시간에 나타난 다. 스크롤링 컨트롤(2250)을 사용하여 스크롤링 명령을 발행함으로써, 사용자는 임의의 원하는 시간 구간을 보기 위해 기록된 이미지를 전방 또는 후방으로 전진시킬 수 있다. 특히 썸네일(2212, 2214, 2216)에서의 도시된 예시적인 이미지를 살펴보면, 라벨(2270)은 부착되어질 때 객체의 상부 엣지 상에 걸려 있을지도 모르는 것처럼 보인다.Thumbnail 2220 displays a low resolution image of object 2242 (which may correspond to object 116 (FIG. 1), for example). Object 2224 also has a slightly different viewing point (position in view) at all of the remaining thumbnails (eg, object 2240 at thumbnail 2210) and also by label 2270 by arm 2272. Appears at different times during the attachment. By issuing a scrolling command using the scrolling control 2250, the user can advance the recorded image forward or backward to view any desired time interval. Looking at the example image shown in particular in thumbnails 2212, 2214, and 2216, it appears that label 2270 may be hanging on the upper edge of the object when attached.

도 22의 예시적인 실시예에서, 두꺼운 외곽선으로 도시되고 선택된 이미지(selected image)라고 칭하는 썸네일(2220)에 대응하는 이미지도 역시 이미지 뷰 창(2200)에서 전체 해상도로 디스플레이된다. 스크롤링 명령이 디스플레이된 부분을 전방으로 또 역방으로 전진시킬 때, 다른 선택된 이미지가 썸네일(2220)로 들어가고 이미지 보기 창(2200)에 전체 해상도로 디스플레이된다. 마크 시간에 대한 선택된 이미지의 캡처 시간(이 예에서, 밀리초 단위임)을 나타내는 타임스탬프(2280) 등의 선택된 이미지에 관한 다른 정보도 역시 디스플레이된다.In the example embodiment of FIG. 22, an image corresponding to the thumbnail 2220, shown as a thick outline and called a selected image, is also displayed at full resolution in the image view window 2200. When the scrolling command advances the displayed portion forwards and backwards, another selected image enters the thumbnail 2220 and is displayed at full resolution in the image viewing window 2200. Other information about the selected image, such as a timestamp 2280 indicating the capture time of the selected image (in this example, in milliseconds) relative to the mark time, is also displayed.

상기한 것은 본 발명의 여러가지 실시예들에 대한 상세한 설명이다. 본 명세서에 대한 광범위한 수정 및 추가가 본 발명의 정신 및 범위를 벗어나지 않고 이루어질 수 있다는 것이 분명히 생각된다. 예를 들어, 본 명세서에서의 프로세서 및 컴퓨팅 장치는 예시적인 것이며, 다양한 프로세서 및 컴퓨터(독립형 및 분산형 둘다)가 본 명세서에서의 계산을 수행하기 위해 이용될 수 있다. 이와 마찬가지로, 본 명세서에 기술된 이미저 및 다른 시각 구성요소는 예시적인 것이며, 본 발명의 개시 내용 내에서 개선된 또는 다른 구성요소가 이용될 수 있다. 소프트웨어 요소, 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)

이벤트의 자동 시각 검출(automatic visual detection) 방법으로서,As an automatic visual detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 소정의 객체의 동작을 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises an action of a given object; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 고정된 기 준점(reference point)을 지나가는 동작을 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises passing a fixed reference point; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 전진 및 후퇴의 동작을 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises motion of forward and backward; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 상기 시야를 통과하고 있는 잘못 제조된 객체(incorrectly manufactured object)를 포함함 - ;Capturing a plurality of frames, each frame within the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising an incorrectly manufactured object passing through the field of view; - 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 상기 시야에서의 객체의 잘못된 동작(incorrect motion)을 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising incorrect motion of an object in the field of view; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상 기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 잘못된 위치에 있는 객체(incorrectly positioned object)를 포함함 - ;Capturing a plurality of frames, each frame within the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising an incorrectly positioned object; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ;Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계; 및In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred; And 상기 이벤트가 발생하는 시간과 동기되어 있는 신호를 생성하는 단계Generating a signal synchronized with a time at which the event occurs 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하며,Including; 상기 이벤트 분석은,The event analysis, 대응하는 복수의 논리 결과를 생성하는 복수의 비교 연산 - 상기 복수의 비교 연산의 각각의 비교 연산은 제1 값과 제2 값의 비교를 포함하고, 상기 제1 값 및 상기 제2 값 중 적어도 하나는 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 수치 통계에 응답한 것임 - ; 및A plurality of comparison operations that produce a corresponding plurality of logical results, each comparison operation of the plurality of comparison operations including a comparison of a first value and a second value, wherein at least one of the first value and the second value Is responsive to numerical statistics of the subset of the plurality of event detection weights; And 상기 이벤트가 발생했는지 여부를 판정하기 위해 상기 복수의 논리 결과를 조합하는 적어도 하나의 논리 연산At least one logical operation that combines the plurality of logical results to determine whether the event has occurred 을 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하며,Including; 상기 이벤트 분석은 종래의 프로그래밍 언어의 구문(syntax)과 거의 유사한 구문의 표현식을 나타내는 텍스트 문자열을 포함하는 방법.Wherein said event analysis comprises a text string representing an expression of a syntax substantially similar to that of a conventional programming language. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하며,Including; 상기 방법의 단계들은 초당 200개 이상의 프레임의 속도로 수행되는 방법.Wherein the steps of the method are performed at a rate of 200 or more frames per second. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함하며, 상기 시각 분석은, 상기 복수의 프레임 내의 각 프레임에 대해, 상기 시야 내의 관심 영역의 위치를 조정하기 위해 로케이터(locator)를 사용하는 단계, 및 상기 관심 영역을 분석하는 단계를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Wherein the visual analysis comprises using, for each frame in the plurality of frames, a locator to adjust the location of the region of interest in the field of view, and analyzing the region of interest. -Comprising the steps of; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 이벤트 검출 가중치의 활동 분석(activity analysis)에 응답하여, 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응하고, 상기 활동 분석은, 상기 시각 분석이 상기 이벤트가 발생하고 있다는 충분한 증거를 나타내는 이벤트 검출 가중치를 계산할 때 활성 상태(active state)에 들어가는 단계, 및 상기 시각 분석이 상기 이벤트가 발생하고 있다는 불충분한 증거를 각각 나타내는 복수의 이벤트 검출 가중치를 계산할 때 상기 활성 상태로부터 빠져나오는 단계를 포함함 - ; 및In response to activity analysis of the plurality of event detection weights, selecting a plurality of event frames from the plurality of frames, wherein the plurality of event frames correspond to a subset of the plurality of event detection weights; Activity analysis includes entering into an active state when the visual analysis calculates an event detection weight indicating sufficient evidence that the event is occurring, and wherein the visual analysis provides insufficient evidence that the event is occurring. Exiting from the active state when calculating the plurality of event detection weights that are representative; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 방법으로서,As an automatic time detection method of an event, 논리 뷰(logic view)를 포함하는 휴먼-머신(human-machine) 인터페이스를 사용하여 상기 이벤트를 지정하는 단계;Designating the event using a human-machine interface including a logical view; 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임의 시각 분석에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 단계 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;In response to visual analysis of the plurality of frames, calculating a plurality of event detection weights, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view. Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및Selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 이벤트 분석에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 단계In response to event analysis of the subset of the plurality of event detection weights, determining whether the event has occurred 를 포함하는 방법.How to include. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 소정의 객체의 동작을 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising an action of a given object; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세 스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, wherein the plurality of event frames correspond to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 고정된 기준점을 지나가는 동작을 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising passing a fixed reference point; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 전진 및 후퇴의 동작을 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises an operation of forward and backward; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 상기 시야를 통과하고 있는 잘못 제조된 객체를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises an incorrectly manufactured object passing through the field of view; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 상기 시야에서의 객체의 잘못된 동작을 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, wherein the event comprises an incorrect operation of an object in the field of view; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세 스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, wherein the plurality of event frames correspond to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하고, 상기 이벤트는 잘못된 위치에 있는 객체를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising an object at a wrong location; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ;A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스; 및An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights; And 상기 이벤트가 발생하는 시간과 동기되어 있는 신호를 생성하는 출력 프로세스An output process for generating a signal in synchronization with the time at which the event occurs 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하며,Including; 상기 이벤트 분석 프로세스는,The event analysis process, 대응하는 복수의 논리 결과를 생성하는 복수의 비교 연산 - 상기 복수의 비교 연산의 각각의 비교 연산은 제1 값과 제2 값의 비교를 포함하고, 상기 제1 값 및 상기 제2 값 중 적어도 하나는 상기 복수의 이벤트 검출 가중치의 상기 서브셋의 수치 통계에 응답한 것임 - ; 및A plurality of comparison operations that produce a corresponding plurality of logical results, each comparison operation of the plurality of comparison operations including a comparison of a first value and a second value, wherein at least one of the first value and the second value Is responsive to numerical statistics of the subset of the plurality of event detection weights; And 상기 이벤트가 발생했는지 여부를 판정하기 위해 상기 복수의 논리 결과를 조합하는 적어도 하나의 논리 연산을 포함하는 시스템.At least one logical operation that combines the plurality of logical results to determine whether the event has occurred. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프 레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하며,Including; 상기 이벤트 분석 프로세스는 종래의 프로그래밍 언어의 구문과 거의 유사한 구문의 표현식을 나타내는 텍스트 문자열을 포함하는 시스템.The event parsing process includes a text string representing an expression of a syntax substantially similar to that of a conventional programming language. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; Contains evidence that it is occurring; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하며,Including; 상기 캡처 프로세스, 상기 시각 분석 프로세스, 상기 선택 프로세스, 및 상기 이벤트 분석 프로세스는 초당 200개 이상의 프레임의 속도로 동작하는 시스템.The capture process, the visual analysis process, the selection process, and the event analysis process operate at a rate of 200 or more frames per second. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함하며, 상기 시각 분석 프로세스는, 상기 복수의 프레임 내의 각 프레임에 대해, 상기 시야 내의 관심 영역의 위치를 조정하는 로케이터(locator), 및 상기 관심 영역을 분석하는 영역 분석 프로세스를 포함함 - ;A visual analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames and the event is in the field of view; And the evidence analysis process includes a locator for adjusting the position of the region of interest in the field of view and a region analysis process for analyzing the region of interest for each frame in the plurality of frames. Contains-; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세 스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, wherein the plurality of event frames correspond to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고, 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A time analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames, and the event is in the field of view; Contains evidence that it is occurring in; 상기 복수의 이벤트 검출 가중치에 응답하여, 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 활동 분석(activity analysis) 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응하고, 상기 활동 분석은,An activity analysis process for selecting a plurality of event frames from the plurality of frames in response to the plurality of event detection weights, wherein the plurality of event frames correspond to a subset of the plurality of event detection weights; The analysis, 상기 시각 분석 프로세스가 상기 이벤트가 발생하고 있다는 충분한 증거를 나타내는 이벤트 검출 가중치를 계산할 때 들어가고, 상기 시각 분석 프로세스가 상기 이벤트가 발생하고 있다는 불충분한 증거를 각각 나타내는 복수의 이벤 트 검출 가중치를 계산할 때 빠져나오는 활성 상태(active state)를 포함함 - ; 및The visual analysis process enters when calculating an event detection weight indicating sufficient evidence that the event is occurring, and the visual analysis process exits when calculating a plurality of event detection weights each representing insufficient evidence that the event is occurring. Contains the exiting active state-; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 시스템으로서,As an automatic time detection system for events, 논리 뷰를 포함하며 상기 이벤트를 지정하는 휴먼-머신 인터페이스;A human-machine interface that includes a logical view and specifies the event; 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함함 - ;A capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs; 상기 복수의 프레임에 응답하여, 복수의 이벤트 검출 가중치를 계산하는 시각 분석 프로세스 - 상기 복수의 이벤트 검출 가중치의 각각의 이벤트 검출 가중치는 상기 복수의 프레임의 각 프레임에 각각 대응하고, 상기 이벤트가 상기 시야에서 발생하고 있다는 증거를 포함함 - ;A time analysis process for calculating a plurality of event detection weights in response to the plurality of frames, wherein each event detection weight of the plurality of event detection weights corresponds to each frame of the plurality of frames, and the event is in the field of view; Contains evidence that it is occurring in; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 선택 프로세스 - 상기 복수의 이벤트 프레임은 상기 복수의 이벤트 검출 가중치의 서브셋에 대응함 - ; 및A selection process of selecting a plurality of event frames from the plurality of frames, the plurality of event frames corresponding to a subset of the plurality of event detection weights; And 상기 복수의 이벤트 검출 가중치의 상기 서브셋에 응답하여, 상기 이벤트가 발생했는지 여부를 판정하는 이벤트 분석 프로세스An event analysis process for determining whether the event occurred in response to the subset of the plurality of event detection weights 를 포함하는 시스템.System comprising a. 이벤트의 자동 시각 검출 및 보고 방법으로서,As an automatic time detection and reporting method of an event, 복수의 프레임을 캡처하는 단계 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하며, 상기 이벤트는 경로를 따른 객체의 동작을 포함하고, 상기 경로는 마크 지점(mark point)을 가지며, 상기 이벤트는 상기 객체가 상기 마크 지점에 위치하는 마크 시간(mark time)을 더 포함함 - ;Capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising the motion of an object along a path, the path being a mark point a point, wherein the event further comprises a mark time at which the object is located at the mark point; 상기 복수의 프레임의 제1 분석에 응답하여, 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 단계 - 상기 제1 분석은 상기 객체가 상기 복수의 이벤트 프레임의 각 프레임에 대한 경로를 따라 위치하고 있다는 충분한 증거를 나타냄 - ;In response to the first analysis of the plurality of frames, selecting a plurality of event frames from the plurality of frames, wherein the first analysis is sufficient to indicate that the object is located along a path for each frame of the plurality of event frames. Indicates evidence-; 상기 복수의 이벤트 프레임에 대응하는 복수의 캡처 시간을 획득하는 단계 - 상기 복수의 캡처 시간의 각각의 캡처 시간은 상기 대응하는 이벤트 프레임이 캡처된 시간의 함수임 - ;Obtaining a plurality of capture times corresponding to the plurality of event frames, wherein each capture time of the plurality of capture times is a function of the time at which the corresponding event frame was captured; 상기 복수의 이벤트 프레임의 제2 분석에 응답하여, 복수의 위치값(location value)을 계산하는 단계 - 상기 복수의 위치값의 각각의 위치값은 상기 제2 분석에 의해 계산된 관련 이벤트 프레임에서의 경로를 따른 상기 객체의 위치에 대응함 - ; In response to the second analysis of the plurality of event frames, calculating a plurality of location values, wherein each location value of the plurality of location values is in the associated event frame calculated by the second analysis. Corresponding to the location of the object along a path; 상기 복수의 위치값 및 상기 복수의 캡처 시간을 이용하여 상기 마크 시간을 결정하는 단계; 및Determining the mark time using the plurality of position values and the plurality of capture times; And 지연 구간만큼의 차이로 상기 마크 시간을 뒤따라가는 보고 시간에 신호를 생성하는 단계Generating a signal at a reporting time following the mark time by a difference by a delay interval; 를 포함하는 방법.How to include. 제27항에 있어서, The method of claim 27, 상기 복수의 캡처 시간의 각각의 캡처 시간은 상기 대응하는 이벤트 프레임이 캡처된 시간에 획득된 인코더 카운트(encoder count)인 방법.Each capture time of the plurality of capture times is an encoder count obtained at a time at which the corresponding event frame was captured. 제27항에 있어서, The method of claim 27, 상기 마크 시간을 결정하는 단계는 곡선을 상기 복수의 위치값 및 상기 복수의 캡처 시간에 근사화(fit)시키는 단계를 포함하는 방법.Determining the mark time comprises approximating a curve to the plurality of position values and the plurality of capture times. 제29항에 있어서, The method of claim 29, 상기 곡선은 포물선인 방법.The curve is a parabola. 제29항에 있어서, The method of claim 29, 상기 곡선은 정점(apex)을 가지며,The curve has an apex, 상기 마크 시간을 결정하는 단계는 상기 곡선의 상기 정점을 구하는 단계를 더 포함하는 방법.Determining the mark time further includes finding the vertex of the curve. 제27항에 있어서, The method of claim 27, 상기 이벤트는 흐름 이벤트(flow event)를 포함하고,The event includes a flow event, 상기 흐름 이벤트는 상기 마크 지점을 지나가는 상기 객체의 동작을 포함하는 방법.The flow event includes an action of the object passing the mark point. 제27항에 있어서, The method of claim 27, 상기 이벤트는 스트로크 이벤트(stroke event)를 포함하고, The event comprises a stroke event, 상기 스트로크 이벤트는 상기 경로를 따른 전진 및 후퇴의 동작을 포함하는 방법.The stroke event includes motion of advancing and retracting along the path. 제27항에 있어서, The method of claim 27, 상기 경로는 정점을 가지며,The path has a vertex, 상기 마크 지점은 상기 경로의 정점인 방법.The mark point is a vertex of the path. 제27항에 있어서, The method of claim 27, 초당 200개 이상의 프레임의 속도로, 상기 복수의 프레임이 캡처되고, 상기 제1 분석 및 제2 분석이 수행되는 방법.At a rate of 200 frames or more per second, the plurality of frames is captured and the first analysis and the second analysis are performed. 제27항에 있어서, The method of claim 27, 복수의 이벤트 유형으로부터 이벤트 유형을 선택하는 단계를 더 포함하고,Selecting an event type from the plurality of event types, 상기 이벤트 유형은 상기 경로를 따른 상기 객체의 동작에 대응하며,The event type corresponds to the operation of the object along the path, 상기 마크 시간을 결정하는 단계는 상기 이벤트 유형에 응답하는 방법.Determining the mark time is responsive to the event type. 이벤트의 자동 시각 검출 및 보고 시스템으로서,As an automatic time detection and reporting system of events, 복수의 프레임을 캡처하는 캡처 프로세스 - 상기 복수의 프레임 내의 각 프레임은 상기 이벤트가 발생하는 2차원 시야의 이미지를 포함하며, 상기 이벤트는 경로를 따른 객체의 동작을 포함하고, 상기 경로는 마크 지점(mark point)을 가지며, 상기 이벤트는 상기 객체가 상기 마크 지점에 위치하는 마크 시간(mark time)을 더 포함함 - ;Capture process for capturing a plurality of frames, each frame in the plurality of frames comprising an image of a two-dimensional field of view in which the event occurs, the event comprising the motion of an object along a path, the path being a mark point ( a mark point, the event further comprising a mark time at which the object is located at the mark point; 상기 복수의 프레임으로부터 복수의 이벤트 프레임을 선택하는 제1 선택 프로세스 - 상기 제1 선택 프로세스는 상기 객체가 상기 복수의 이벤트 프레임의 각 프레임에 대한 경로를 따라 위치하고 있다는 충분한 증거가 있다고 판단함 - ;A first selection process for selecting a plurality of event frames from the plurality of frames, wherein the first selection process determines that there is sufficient evidence that the object is located along a path for each frame of the plurality of event frames; 상기 복수의 이벤트 프레임에 대응하는 복수의 캡처 시간을 획득하는 타이밍 프로세스 - 상기 복수의 캡처 시간의 각각의 캡처 시간은 상기 대응하는 이벤트 프레임이 캡처된 시간의 함수임 - ;A timing process of obtaining a plurality of capture times corresponding to the plurality of event frames, wherein each capture time of the plurality of capture times is a function of the time at which the corresponding event frame was captured; 복수의 위치값(location value)을 계산하는 제1 분석 프로세스 - 상기 복수의 위치값의 각각의 위치값은 관련 이벤트 프레임에서의 상기 경로를 따른 상기 객체의 위치에 대응함 - ; A first analysis process for calculating a plurality of location values, each location value of the plurality of location values corresponding to a location of the object along the path in an associated event frame; 상기 복수의 위치값 및 상기 복수의 캡처 시간을 사용하여 상기 마크 시간을 결정하는 제2 분석 프로세스; 및A second analysis process for determining the mark time using the plurality of position values and the plurality of capture times; And 지연 구간만큼의 차이로 상기 마크 시간을 뒤따라가는 보고 시간에 신호를 생성하는 출력 프로세스An output process for generating a signal at a reporting time following the mark time with a difference by a delay interval 를 포함하는 시스템.System comprising a. 제37항에 있어서, The method of claim 37, 상기 복수의 캡처 시간의 각각의 캡처 시간은 상기 대응하는 이벤트 프레임이 캡처된 시간에 획득된 인코더 카운트인 시스템.Each capture time of the plurality of capture times is an encoder count obtained at a time at which the corresponding event frame was captured. 제37항에 있어서, The method of claim 37, 상기 제2 분석 프로세스는 곡선을 상기 복수의 위치값 및 상기 복수의 캡처 시간에 근사화시키는 단계를 포함하는 시스템.The second analysis process includes approximating a curve to the plurality of position values and the plurality of capture times. 제39항에 있어서, The method of claim 39, 상기 곡선은 포물선인 시스템.The curve is a parabola. 제39항에 있어서, The method of claim 39, 상기 곡선은 정점을 가지며,The curve has a vertex, 상기 제2 분석 프로세스는 상기 곡선의 상기 정점을 구하는 단계를 더 포함하는 시스템.The second analysis process further includes finding the vertex of the curve. 제37항에 있어서, The method of claim 37, 상기 이벤트는 흐름 이벤트를 포함하고,The event includes a flow event, 상기 흐름 이벤트는 상기 마크 지점을 지나가는 상기 객체의 동작을 포함하는 시스템.The flow event includes an action of the object passing the mark point. 제37항에 있어서, The method of claim 37, 상기 이벤트는 스트로크 이벤트를 포함하고, The event includes a stroke event, 상기 스트로크 이벤트는 상기 경로를 따른 전진 및 후퇴의 동작을 포함하는 시스템.The stroke event includes motion of advancing and retracting along the path. 제37항에 있어서, The method of claim 37, 상기 경로는 정점을 가지며,The path has a vertex, 상기 마크 지점은 상기 경로의 정점인 시스템.The mark point is a vertex of the path. 제37항에 있어서, The method of claim 37, 상기 캡처 프로세스, 상기 제1 선택 프로세스, 및 상기 제1 분석 프로세스는 초당 200개 이상의 프레임의 속도로 동작하는 시스템.The capture process, the first selection process, and the first analysis process operate at a rate of 200 or more frames per second. 제37항에 있어서, The method of claim 37, 복수의 이벤트 유형으로부터 이벤트 유형을 선택하는 제2 선택 프로세스를 더 포함하고,A second selection process for selecting an event type from the plurality of event types, 상기 이벤트 유형은 상기 경로를 따른 상기 객체의 동작에 대응하고,The event type corresponds to an action of the object along the path, 상기 제2 분석 프로세스는 상기 이벤트 유형을 사용하여 상기 마크 시간을 결정하는 시스템.And said second analysis process uses said event type to determine said mark time. 복수의 이벤트를 검출 및 보고하는 방법으로서,As a method of detecting and reporting a plurality of events, 상기 복수의 이벤트의 각각의 이벤트에 대해, 상기 이벤트가 발생하는 시간의 함수인 대응하는 마크 시간을 결정하는 단계 - 상기 대응하는 마크 시간을 결정하는 단계는 대응하는 결정 지연만큼 상기 대응하는 마크 시간과 상이한 대응하는 결정 지점에서 행해지고, 상기 복수의 이벤트에 대응하는 상기 결정 지연은 가변적임 - ;For each event of the plurality of events, determining a corresponding mark time that is a function of the time at which the event occurs, wherein determining the corresponding mark time comprises the corresponding mark time by a corresponding determination delay. Is made at different corresponding decision points and the decision delay corresponding to the plurality of events is variable; 상기 복수의 이벤트의 각각의 이벤트에 대해, 지연 구간만큼의 차이로 상기 대응하는 마크 시간을 뒤따라가는 대응하는 보고 시간에 대응하는 신호를 생성하는 단계; 및For each event of the plurality of events, generating a signal corresponding to a corresponding reporting time following the corresponding mark time by a difference by a delay interval; And 상기 복수의 이벤트의 각각의 이벤트에 대해, 상기 대응하는 신호의 상기 대응하는 보고 시간을 사용하여 상기 대응하는 마크 시간을 표시하는 단계For each event of the plurality of events, indicating the corresponding mark time using the corresponding reporting time of the corresponding signal 를 포함하는 방법.How to include. 제47항에 있어서, The method of claim 47, 각각의 마크 시간은 상기 대응하는 이벤트가 발생하는 시간에 비례하는 방법.Each mark time is proportional to the time at which the corresponding event occurs. 제47항에 있어서, The method of claim 47, 각각의 마크 시간은 상기 대응하는 이벤트가 발생하는 시간의 함수인 인코더 카운트인 방법.Each mark time is an encoder count that is a function of the time at which the corresponding event occurs. 제47항에 있어서, The method of claim 47, 상기 복수의 이벤트의 각각의 이벤트는 흐름 이벤트를 포함하고, Each event of the plurality of events comprises a flow event, 상기 흐름 이벤트는 마크 지점을 지나가는 객체의 동작을 포함하며,The flow event includes an action of an object passing through a mark point, 상기 대응하는 마크 시간은 상기 객체가 상기 마크 지점을 지나가는 시간에 대응하는 방법.The corresponding mark time corresponds to the time the object passes the mark point. 제47항에 있어서, The method of claim 47, 상기 복수의 이벤트의 각각의 이벤트는 스트로크 이벤트를 포함하며,Each event of the plurality of events includes a stroke event, 상기 스트로크 이벤트는 객체가 정점으로 전진 및 정점으로부터 후퇴하는 동작을 포함하며,The stroke event includes an action of the object moving forward and backward from the vertex, 상기 대응하는 마크 시간은 상기 객체가 상기 정점에 도달하는 시간에 대응하는 방법.The corresponding mark time corresponds to the time the object reaches the vertex. 제47항에 있어서, The method of claim 47, 복수의 이벤트 유형으로부터 이벤트 유형을 선택하는 단계를 더 포함하며,Selecting an event type from the plurality of event types, 상기 대응하는 마크 시간을 결정하는 단계는 상기 이벤트 유형에 대응하는 방법.Determining the corresponding mark time corresponds to the event type. 제52항에 있어서, The method of claim 52, wherein 상기 복수의 이벤트 유형은 흐름 이벤트 유형 및 스트로크 이벤트 유형을 포함하는 방법.Wherein the plurality of event types include a flow event type and a stroke event type. 제52항에 있어서, The method of claim 52, wherein 상기 이벤트 유형을 선택하는 단계는 휴먼-머신 인터페이스에 대응하는 방법.Selecting the event type corresponds to a human-machine interface. 제47항에 있어서, The method of claim 47, 상기 지연 구간은 휴먼-머신 인터페이스에 대응하여 선택되는 방법.The delay period is selected corresponding to the human-machine interface. 제47항에 있어서, The method of claim 47, 각각의 대응하는 보고 시간에 각각의 대응하는 시간을 생성하는 데 필요한 정보를 유지하기 위해 선입선출 버퍼(first-in first-out buffer)를 사용하는 단계를 더 포함하는 방법.Using a first-in first-out buffer to maintain the information needed to generate each corresponding time at each corresponding reporting time. 복수의 이벤트를 검출 및 보고하는 시스템으로서,A system for detecting and reporting multiple events, 상기 복수의 이벤트의 각각의 이벤트에 대해, 상기 이벤트가 발생하는 시간의 함수인 대응하는 마크 시간을 결정하는 분석 프로세스 - 상기 분석 프로세스는 대응하는 결정 지연만큼 상기 대응하는 마크 시간과 상이한 대응하는 결정 지점에서 상기 대응하는 마크 시간을 결정하고, 상기 복수의 이벤트에 대응하는 상기 결정 지연은 가변적임 - ; 및For each event of the plurality of events, an analysis process for determining a corresponding mark time that is a function of the time at which the event occurs, wherein the analysis process corresponds to a corresponding decision point that differs from the corresponding mark time by a corresponding decision delay. Determine the corresponding mark time, and wherein the decision delay corresponding to the plurality of events is variable; And 상기 복수의 이벤트의 각각의 이벤트에 대해, 지연 구간만큼의 차이로 상기 대응하는 마크 시간을 뒤따라가는 대응하는 보고 시간에 대응하는 신호를 생성하는 출력 프로세스For each event of the plurality of events, an output process for generating a signal corresponding to a corresponding reporting time following the corresponding mark time with a difference by a delay interval; 를 포함하는 시스템.System comprising a. 제57항에 있어서, The method of claim 57, 각각의 마크 시간은 상기 대응하는 이벤트가 발생하는 시간에 비례하는 시스템.Each mark time is proportional to the time at which the corresponding event occurs. 제57항에 있어서, The method of claim 57, 각각의 마크 시간은 상기 대응하는 이벤트가 발생하는 시간의 함수인 인코더 카운트인 시스템.Each mark time is an encoder count that is a function of the time at which the corresponding event occurs. 제57항에 있어서, The method of claim 57, 상기 복수의 이벤트의 각각의 이벤트는 흐름 이벤트를 포함하고, Each event of the plurality of events comprises a flow event, 상기 흐름 이벤트는 마크 지점을 지나가는 객체의 동작을 포함하며,The flow event includes an action of an object passing through a mark point, 상기 대응하는 마크 시간은 상기 객체가 상기 마크 지점을 지나가는 시간에 대응하는 시스템.The corresponding mark time corresponds to the time at which the object passes the mark point. 제57항에 있어서, The method of claim 57, 상기 복수의 이벤트의 각각의 이벤트는 스트로크 이벤트를 포함하며,Each event of the plurality of events includes a stroke event, 상기 스트로크 이벤트는 객체가 정점으로 전진 및 정점으로부터 후퇴하는 동작을 포함하며,The stroke event includes an action of the object moving forward and backward from the vertex, 상기 대응하는 마크 시간은 상기 객체가 상기 정점에 도달하는 시간에 대응하는 시스템.The corresponding mark time corresponds to the time the object reaches the vertex. 제57항에 있어서, The method of claim 57, 복수의 이벤트 유형으로부터 이벤트 유형을 선택하는 선택 프로세스를 더 포함하며,Further comprising a selection process for selecting an event type from a plurality of event types, 상기 선택 프로세스는 상기 이벤트 유형을 사용하여 상기 대응하는 마크 시간을 결정하는 시스템.The selection process uses the event type to determine the corresponding mark time. 제62항에 있어서, The method of claim 62, 상기 복수의 이벤트 유형은 흐름 이벤트 유형 및 스트로크 이벤트 유형을 포함하는 시스템.Wherein the plurality of event types comprises a flow event type and a stroke event type. 제62항에 있어서, The method of claim 62, 상기 이벤트 유형을 선택하는 데 사용되는 휴먼-머신 인터페이스를 더 포함하는 시스템.And a human-machine interface used to select the event type. 제57항에 있어서, The method of claim 57, 상기 지연 구간을 선택하는 데 사용되는 휴먼-머신 인터페이스를 더 포함하는 시스템.And a human-machine interface used to select the delay interval. 제57항에 있어서, The method of claim 57, 각각의 대응하는 보고 시간에 각각의 대응하는 시간을 생성하는 데 필요한 정보를 유지하기 위해 선입선출 버퍼를 더 포함하는 시스템.Further comprising a first-in, first-out buffer to maintain the information needed to generate each corresponding time at each corresponding reporting time.
KR1020077000574A 2004-06-09 2005-06-06 Method and apparatus for automatic visual event detection KR20070036123A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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