A system for sensing, processing and analyzing images includes a camera assembly for sensing a workpiece image and generating video signals representing the sensed images. The video signals are fed through a multiplexer to a vision processor and a display. The video signals are preprocessed and stored in the vision processor which has a shared memory. A computer controller, which has access to the shared memory via a common bus, controls operation of the vision processor in response to command signals from peripheral devices. The controller generates data signals for presenting the sensed images on a display and controlling external devices in response to the visual characteristics of the workpiece. |
Citations|
| US4129853 | Sep 26, 1977 | Dec 12, 1978 | International Business Machines Corporation | Method and apparatus for producing compensated signals for individual light sensors arranged in a predetermined relation | | US4205341 | Nov 14, 1978 | May 27, 1980 | Nippon Telegraph and Telephone Public Corporation | Picture signal coding apparatus | | US4212057 | Apr 22, 1976 | Jul 8, 1980 | General Electric Company | Shared memory multi-microprocessor computer system | | US4216498 | Sep 12, 1978 | Aug 5, 1980 | SRI International | Visibility monitor employing television camera | | US4309691 | Apr 3, 1979 | Jan 5, 1982 | California Institute of Technology | Step-oriented pipeline data processing system | | US4410944 | Mar 24, 1981 | Oct 18, 1983 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
Referenced by|
| US4688168 | Aug 23, 1984 | Aug 18, 1987 | Picker International Inc. | High speed data transfer method and apparatus | | US4750123 | Aug 30, 1985 | Jun 7, 1988 | Texas Instruments Incorporated | Method for predicting tracking cameras for free-roaming mobile robots | | US4754402 | Aug 30, 1985 | Jun 28, 1988 | Texas Instruments Incorporated | Mobile vehicle controller utilization of delayed absolute position data for guidance and navigation | | US4817006 | Jan 7, 1988 | Mar 28, 1989 | Thomas Engineering, Inc. | Pharmaceutical tablet press control mechanism | | US4941181 | May 2, 1989 | Jul 10, 1990 | Omron Tateisi Electronics Co. | Data processing method in recognition system | | US5001652 | Jun 6, 1989 | Mar 19, 1991 | International Business Machines Corporation | Memory arbitration for video subsystems | | US5079692 | Aug 25, 1989 | Jan 7, 1992 | Hitachi, Ltd. | Controller which allows direct access by processor to peripheral units | | US5136665 | Nov 6, 1991 | Aug 4, 1992 | Canon Kabushiki Kaisha | Two-sided original reading apparatus | | US5282268 | Aug 14, 1991 | Jan 25, 1994 | Allen-Bradley Company, Inc. | Video image storage system | | US5426510 | Jun 5, 1992 | Jun 20, 1995 | Dolman Associates, Inc. | Audio-video system | | US5467402 | Mar 14, 1994 | Nov 14, 1995 | Hitachi, Ltd. | Distributed image recognizing system and traffic flow instrumentation system and crime/disaster preventing system using such image recognizing system | | US5825411 | Aug 26, 1996 | Oct 20, 1998 | Ultrak, Inc. | Video signal routing system | | US5872870 | Feb 16, 1996 | Feb 16, 1999 | Cognex Corporation | Machine vision methods for identifying extrema of objects in rotated reference frames | | US5903308 | Aug 26, 1996 | May 11, 1999 | Ultrak, Inc. | Phase compensation for video cameras | | US5909504 | Mar 15, 1996 | Jun 1, 1999 | Cognex Corporation | Method of testing a machine vision inspection system | | US5953130 | Jan 6, 1997 | Sep 14, 1999 | Cognex Corporation | Machine vision methods and apparatus for machine vision illumination of an object | | US5956081 | Oct 23, 1996 | Sep 21, 1999 | | Surveillance system having graphic video integration controller and full motion video switcher | | US5960125 | Nov 21, 1996 | Sep 28, 1999 | Cognex Corporation | Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object | | US5974169 | Mar 20, 1997 | Oct 26, 1999 | Cognex Corporation | Machine vision methods for determining characteristics of an object using boundary points and bounding regions | | US5978080 | Sep 25, 1997 | Nov 2, 1999 | Cognex Corporation | Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view | | US5978502 | Apr 1, 1996 | Nov 2, 1999 | Cognex Corporation | Machine vision methods for determining characteristics of three-dimensional objects | | US5995140 | Aug 28, 1995 | Nov 30, 1999 | Ultrak, Inc. | System and method for synchronization of multiple video cameras | | US6008867 | Aug 26, 1996 | Dec 28, 1999 | Ultrak, Inc. | Apparatus for control of multiplexed video system | | US6025854 | Dec 31, 1997 | Feb 15, 2000 | Cognex Corporation | Method and apparatus for high speed image acquisition | | US6025874 | Jun 4, 1997 | Feb 15, 2000 | Ultrak, Inc. | Video multiplexer | | US6026176 | Aug 31, 1995 | Feb 15, 2000 | Cognex Corporation | Machine vision methods and articles of manufacture for ball grid array inspection | | US6067379 | Nov 12, 1996 | May 23, 2000 | Cognex Corporation | Method and apparatus for locating patterns in an optical image | | US6075881 | Mar 18, 1997 | Jun 13, 2000 | Cognex Corporation | Machine vision methods for identifying collinear sets of points from an image | | US6137893 | Oct 7, 1996 | Oct 24, 2000 | Cognex Corporation | Machine vision calibration targets and methods of determining their location and orientation in an image | | US6141033 | May 15, 1997 | Oct 31, 2000 | Cognex Corporation | Bandwidth reduction of multichannel images for machine vision | | US6208772 | Oct 17, 1997 | Mar 27, 2001 | Acuity Imaging, LLC | Data processing system for logically adjacent data samples such as image data in a machine vision system | | US6215915 | Feb 20, 1998 | Apr 10, 2001 | Cognex Corporation | Image processing methods and apparatus for separable, general affine transformation of an image | | US6233361 | Feb 23, 1996 | May 15, 2001 | | Topography processor system | | US6236769 | Jan 28, 1998 | May 22, 2001 | Cognex Corporation | Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets | | US6259827 | Mar 21, 1996 | Jul 10, 2001 | Cognex Corporation | Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images | | US6282328 | Jan 28, 1998 | Aug 28, 2001 | Cognex Corporation | Machine vision systems and methods for morphological transformation of an image with non-uniform offsets | | US6298149 | Aug 25, 1998 | Oct 2, 2001 | Cognex Corporation | Semiconductor device image inspection with contrast enhancement | | US6301396 | Dec 31, 1998 | Oct 9, 2001 | Cognex Corporation | Nonfeedback-based machine vision methods for determining a calibration relationship between a camera and a moveable object | | US6381366 | Dec 18, 1998 | Apr 30, 2002 | Cognex Corporation | Machine vision methods and system for boundary point-based comparison of patterns and images | | US6381375 | Apr 6, 1998 | Apr 30, 2002 | Cognex Corporation | Methods and apparatus for generating a projection of an image | | US6396949 | Jun 15, 2000 | May 28, 2002 | Cognex Corporation | Machine vision methods for image segmentation using multiple images | | US6442291 | Dec 31, 1998 | Aug 27, 2002 | Cognex Corporation | Machine vision methods and articles of manufacture for ball grid array | | US6587582 | Aug 8, 2001 | Jul 1, 2003 | Cognex Corporation | Semiconductor device image inspection with contrast enhancement | | US6608647 | May 29, 1998 | Aug 19, 2003 | Cognex Corporation | Methods and apparatus for charge coupled device image acquisition with independent integration and readout | | US6684402 | Dec 1, 1999 | Jan 27, 2004 | Cognex Technology and Investment Corporation | Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor | | US6687402 | Oct 23, 2001 | Feb 3, 2004 | Cognex Corporation | Machine vision methods and systems for boundary feature comparison of patterns and images | | US6748104 | Mar 24, 2000 | Jun 8, 2004 | Cognex Corporation | Methods and apparatus for machine vision inspection using single and multiple templates or patterns | | US6812956 | Dec 20, 2002 | Nov 2, 2004 | Applied Minds, Inc. | Method and apparatus for selection of signals in a teleconference | | US6856859 | Jun 22, 1999 | Feb 15, 2005 | Kimberly-Clark Worldwide, Inc. | Method of controlling cross-direction alignment in manufacturing process | | US7006669 | Dec 31, 2000 | Feb 28, 2006 | Cognex Corporation | Machine vision method and apparatus for thresholding images of non-uniform materials | | US7054850 | Jun 12, 2001 | May 30, 2006 | Canon Kabushiki Kaisha | Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements | | US7230639 | Jul 2, 2004 | Jun 12, 2007 | Applied Minds, Inc. | Method and apparatus for selection of signals in a teleconference | | US7321699 | Sep 8, 2003 | Jan 22, 2008 | Rytec Corporation | Signal intensity range transformation apparatus and method | | US7522745 | Aug 31, 2001 | Apr 21, 2009 | | Sensor and imaging system | | US7639861 | Sep 14, 2005 | Dec 29, 2009 | Cognex Technology and Investment Corporation | Method and apparatus for backlighting a wafer during alignment | | US8111904 | Oct 7, 2005 | Feb 7, 2012 | Cognex Technology and Investment Corp. | Methods and apparatus for practical 3D vision system | | US8162584 | Aug 23, 2006 | Apr 24, 2012 | Cognex Corporation | Method and apparatus for semiconductor wafer alignment |
Claims1. A system for sensing, processing and analyzing images, said system comprising: - (a) a plurality of camera means for sensing images and generating video signals defining said sensed images;
- (b) vision processing means communicating with said camera means for processing said video signals, said vision processing means including at least two central processing units, shared memory means for storing said video signals during all stages of processing of said video signals and internal bus means communicating with each said central processing unit and with said shared memory means;
- (c) external bus means communicating with said vision processing means, said external bus means providing communication with at least the shared memory means;
- (d) computer controller means communicating with said shared memory means through said external bus means, said computer controller means at least generating command signals for controlling said vision processing means;
- (e) display means connected to said computer controller means, selected image signals being presented on said display means; and,
- (f) switch means for selectively switching said video signals generated by said camera means, selected ones of said video signals being applied to said vision processing means and said display means.
2. The system as claimed in claim 1 wherein said video signals generated by said camera means are analog video signals and wherein said vision processing means includes analog-to-digital converter means and level and gain adjusting means, said level and gain adjusting means connected to said switch means and said analog-to-digital converter means, said analog video signals being applied to said level and gain adjusting means from said switch means and then to said analog-to-digital converter means, said analog-to-digital converter means digitizing said analog video signals applied thereto from said level and gain adjusting means. 3. The system as claimed in claim 1 wherein said vision processing means includes a vision processor arbiter with each said central processing unit generating request signals for access to said shared memory means, said request signals being fed to said vision processor arbiter, said vision processor arbiter generating grant signals on a priority basis with access to said shared memory means being controlled by said vision processor arbiter. 4. The system as claimed in claim 3 wherein said vision processor means includes a plurality of holding registers for sequentially storing said digitized video signals, each said holding register holding one byte of video information, said bytes of video information being stored in said shared memory means. 5. The system as claimed in claim 4 wherein said vision processor means includes a plurality of holding buffers, the number of holding buffers corresponding to the number of holding registers, said bytes of video information stored in said shared memory means being fed to said holding buffers and time multiplexed into a single byte. 6. The system as claimed in claim 5 wherein said computer controller means includes a computer controller processor for at least generating command signals for controlling said vision processor means and a computer controlling arbiter for generating request and grant signals in response to address signals generated by said computer controller processor, said computer controller processor having access to said shared memory means through said external bus means. 7. The system as claimed in claim 1 wherein said switch means is a multiplexer having first and second sets of electronic switches, said video signals generated by said camera means fed to said vision processing means through said first set of switches, said video signals generated by said camera means fed to said display means through said second set of switches. 8. A system for image sensing, processing and analyzing, said system comprising: - (a) camera means for sensing images and generating analog video signals defining said sensed images;
- (b) multiplexer means communicating with said camera means for selectively switching said analog video signals;
- (c) analog-to-digital converter means connected to said multiplexer means, said analog-to-digital converter means digitizing said analog video signals applied thereto from said multiplexer means;
- (d) vision processor means connected to said analog-to-digital converter means, said vision processor means processing said digitized signals, said vision processor means including shared memory means for storing said processed digitized signals and at least two central processing units;
- (e) internal bus means communicating with said vision processor means, said central processing units communicating with said shared memory means via said internal bus means;
- (f) external bus means communicating with said vision processor means, said external bus means providing communication with at least the shared memory means of said vision processor means; and,
- (g) computer controller means communicating with said vision processor means through said external bus means, said computer controller means having access to said shared memory means through said external bus means, said computer controller means generating command signals for controlling said vision processor means.
9. The system as claimed in claim 8 wherein said vision processor means includes computer controlled level adjust means, said analog video signal at an output of said multiplexer means being level adjusted by said level adjust means and variable gain digitized in said analog-to-digital converter means, said digitized signal at an output of said analog-to-digital converter means being a level and gain adjusted digitized video signal. 10. The system as claimed in claim 9 wherein said vision processor means includes a plurality of holding registers for sequentially storing said level adjusted digitized video signals, each said holding register holding one byte of video information, said bytes of video information being stored in said shared memory means. 11. The system as claimed in claim 10 wherein said vision processor means includes a plurality of holding buffers, the number of holding buffers corresponding to the number of holding registers, said bytes of video information stored in said shared memory means being fed to said holding buffers and time multiplexed into a single byte. 12. The system as claimed in claim 11 wherein said vision processor includes a CRT controller for generating address memory signals for storing video information at selected address locations in said shared memory means. 13. The system as claimed in claim 8 wherein said vision processor means includes a vision processor arbiter, each said central processing unit generating request signals for access to said shared memory means, said request signals being fed to said vision processor arbiter, said vision processor arbiter generating grant signals on a priority basis with access to said shared memory means by said central processing units being controlled by said vision processor arbiter. 14. The system as claimed in claim 13 wherein said computer controller means includes a computer controller processor for generating command signals for controlling said vision processor means, said computer controller processor having access to said shared memory through said bus means. 15. The system as claimed in claim 14 wherein said computer controller means includes a computer controller arbiter for generating request and grant signals in response to address signals generated by said computer controller processor, access to said shared memory means by said computer controller means being controlled by said computer controller arbiter. 16. The image and sensing system as claimed in claim 15 including display means, selected ones of said sensed images presented on said display means. 17. The system as claimed in claim 16 wherein said computer controller means includes character generating means for presenting characters on said display means. 18. A system for sensing, processing and analyzing images, said system comprising: - (a) a plurality of camera means for sensing images and generating video signals defining said sensed images; and,
- (b) vision processing means communicating with said camera means for processing said video signals, said vision processing means including:
- (i) shared memory means for storing said video signals during all stages of processing of said video signals;
- (ii) internal bus means communicating with said shared memory means;
- (iii) at least two central processing units; and,
- (iv) a vision processor arbiter; each said central processing unit communicating with said shared memory means via said internal bus means, each said central processing unit generating request signals for access to said shared memory means, said request signals being fed to said vision processor arbiter, said vision processor arbiter generating grant signals on a priority basis with access to said shared memory means being controlled by said vision processor arbiter.
- (c) external bus means communicating with said vision processing means, said external bus means providing communication with at least the shared memory means of said vision processing means;
- (d) computer controller means communicating with said shared memory means through said external bus means, said computer controller means at least generating command signals for controlling said vision processing means; and,
- (e) means for utilizing the video signals processed by said vision processing means.
19. A system for image sensing, processing and analyzing, said system comprising: - (a) camera means for sensing images and generating analog video signals defining said sensed images;
- (b) multiplexer means communicating with said camera means for selectively switching said analog video signals;
- (c) analog-to-digital converter means connected to said multiplexer means, said analog-to-digital converter means digitizing said analog video signals applied thereto from said multiplexer means;
- (d) vision processor means communicating with said camera means for processing said video signals, said vision processor means including:
- (i) shared memory means for storing said video signals during all stages of processing of said video signals;
- (ii) internal bus means communicating with said shared memory means;
- (iii) at least two central processing units; and,
- (iv) a vision processor arbiter; each said central processing unit communicating with said shared memory means via said internal bus means, each said central processing unit generating request signals for access to said shared memory means, said request signals being fed to said vision porcessor arbiter, said vision processor arbiter generating grant signals on a priority basis with access to said shared memory means being controlled by said vision processor arbiter;
- (e) external bus means connunicating with said vision processing means, said external bus means providing communication with at least the shared memory means of said vision processing means;
- (f) computer controller means communicating with said shared memory means through said external bus means, said computer controller means at least generating command signals for controlling said vision processing means; and,
- (g) means for utilizing the video signals processed by said vision processing means.
|