MXPA00006815A - Method and apparatus for detection of drowsiness - Google Patents

Method and apparatus for detection of drowsiness

Info

Publication number
MXPA00006815A
MXPA00006815A MXPA/A/2000/006815A MXPA00006815A MXPA00006815A MX PA00006815 A MXPA00006815 A MX PA00006815A MX PA00006815 A MXPA00006815 A MX PA00006815A MX PA00006815 A MXPA00006815 A MX PA00006815A
Authority
MX
Mexico
Prior art keywords
image
pixels
eye
histogram
person
Prior art date
Application number
MXPA/A/2000/006815A
Other languages
Spanish (es)
Inventor
Pirim Patrick
Binford Thomas
Original Assignee
Binford Thomas
Holding Bev Sa Luxemburg/Luxembourg
Pirim Patrick
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Binford Thomas, Holding Bev Sa Luxemburg/Luxembourg, Pirim Patrick filed Critical Binford Thomas
Publication of MXPA00006815A publication Critical patent/MXPA00006815A/en

Links

Abstract

In a process of detecting a person falling asleep, an image of the face of the person is acquired. Pixels of the image having characteristics corresponding to an eye of the person are selected and a histogram is formed of the selected pixels. The histogram is analyzed over time to identify each opening and closing of the eye, and characteristics indicative of the person falling asleep are determined. A sub-area of the image including the eye may be determined by identifying the head or a facial characteristic of the person, and then identifying the sub-area using an anthropomorphic model. To determine openings and closings of the eyes, histograms of shadowed pixels of the eye are analyzed to determine the width and height of the shadowing, or histograms of movement corresponding to blinking are analyzed. An apparatus for detecting a person falling asleep includes a sensor for acquiring an image of the face of the person, a controller, and a histogram formation unit for forming a histogram on pixels having selected characteristics. Also disclosed is a rear-view mirror assembly incorporating the apparatus.

Description

"METHOD AND APPARATUS FOR DETECTION OF DROWSINESS" BACKGROUND OF THE INVENTION 1. FIELD OF THE INVENTION The present invention relates generally to an image processing system and, more particularly, to the use of a generic image processing system for detecting drowsiness. 1. DESCRIPTION OF THE RELATED TECHNIQUE It is well known that a significant number of accidents on the road result from drivers who are drowsy or who are sleeping, resulting in many deaths and injuries. Drowsiness is also a problem in other fields, such as for airline pilots and electric power plant operators where great damage damage can result to stay alert. A number of different physical criteria can be used to establish when a person is sleepy, including a change in the duration and range of eye blinking. Normally the duration of the flashing is approximately 100 to 200 ms when it is awake and approximately 500 to 800 ms when it is - sleepy. The time interval between successive blinks is usually constant while awake, but varies on a relatively broad scale when sleepy. Numerous devices have been proposed to detect drowsiness of drivers. These devices are shown, for example, in U.S. Patent Nos. 5,841,354; 5,813.99; 5,689,241; 5,684,461; 5,682,144; 5,469,143; 5,402,109; 5,353,013; 5,195,606; 4,928,090; 4,555,697; 4,485,375 and 4,259,665. In general, these devices fall into three categories: i) devices that detect the movement of the driver's head, e.g. inclination; ii) devices that detect a physiological change in the driver, e.g. disturbed heart rate or breathing, and iii) devices that detect a physical result of the driver who is falling asleep, e.g. a reduced grip of the inhalant. None of these devices is believed to have achieved commercial success. The German Patent Application Number DE-19715515 and corresponding French Patent Application No. FR-2,747,346 disclose an apparatus and a drowsiness level evaluation process of a driver using a video camera placed near the feet of the driver and a processing unit for the - image of the camera with software that detects eye blinks that determine the time between the beginning and the end of the blink. More particularly, a unit 10 of the processor obtains: • a memorization of the video image and its processing, in order to determine an area comprising the eyes of the driver, • the detection of the time gap between the closing of the driver's eyelids and its full opening, and • a treatment in a memory 11 and a processor 22 in combination with the unit 10 to calculate a slow blinking appearance ratio. The subject of the published International Patent Application Number WO-97/01246 is a security system comprising a video camera placed inside the rear window of a car and a video screen placed remotely for the analysis of what is happening in the car and around it, as well as what has happened due to the recording of the video output signal from the camera. This is, in fact, a hidden camera (inside the rear mirror) so that it is imperceptible to vandals and pickpockets and that observes a large scope, including the interior of the car and its surrounding means, allowing registration, knowing - later what has happened in this scope (page 6, lines 13 to 19), this is not a detector whose effective angle is strictly limited to the face of the driver of the car in order to detect its eventual drowsiness and make it wake up. The commonly owned PCT Requests, PCT / FR97 / 01354 and PCT / EP98 / 05383 Serial Numbers disclose a generic image processing system that functions to locate objects in relative motion in an image and to determine the speed and direction of objects in real time. Each pixel of an image is regulated using its own time constant. A binary value that corresponds to the existence of a significant variation in the amplitude of the pixel regulated from the previous table, and the amplitude of the variation, are determined and the time constant for the pixel is updated. For each specific pixel, two matrices are formed that include a subset of pixels spatially related to the specific pixel. The first matrix contains the binary values of the subset of pixels. The second matrix contains the amplitude of the variation of the subgame of pixels. In the first matrix, it is determined if the pixels along a direction oriented relative to the specific pixel have binary values representative of significant variation and, for these - - pixels, is determined in the second matrix and the amplitude of these pixels varies in a known manner, indicating movement in the oriented direction. In the domains that include luminance, hue, saturation, velocity, direction oriented, time constant and position x and y, a histogram of the values in the first and second matrices that remain with combinations selected by the user of these domains is formed. Using the histograms, it is determined if there is an area that has the characteristics of the selected combinations of domains. It would be desirable to apply this generic image processing system to detect a person's drowsiness.
COMPENDIUM OF THE INVENTION The present invention is a process of detecting a driver who is falling asleep where an image of the driver's face is acquired. The pixels of the image having characteristics corresponding to the characteristics of at least one eye of the driver are selected and a histogram of the selected pixels is formed. The histogram is analyzed through time to identify each opening and closing of the eye, and the opening and closing information of the eye, the characteristics indicative that a driver is falling asleep are determined of course. In each embodiment, a sub-area of the image comprising the eye is determined before the step of selecting the pixels of the image having characteristics corresponding to the characteristics of an eye. In this mode, the step of selecting the pixels of the image that have characteristics of an eye involves selecting the pixels within the sub-area of the image. The step of identifying a sub-area of the image of preference involves identifying the driver's head, or a facial feature of the driver, such as the nostrils of the driver and then identifying the sub-area of the image using an anthropomorphic model. . The head of the driver can be identified by selecting pixels of the image, which have characteristics that correspond to the edges of the driver's head. The histograms of the pixels selected from the edges of the driver's head are projected towards the orthogonal axes. These histograms are then analyzed to identify the edges of the driver's head. The facial feature of the driver can be identified by selecting pixels of the image that have characteristics that correspond to the facial feature. The histograms of the selected pixels of the - facial characteristics are projected towards the orthogonal axes. These histograms are then analyzed to identify the facial feature. If desired, the step of identifying the facial feature in the image involves looking for sub-images of the image until the facial feature is found. In the case where the facial feature is that of the driver's nose windows, a histogram is formed of the pixels that have low luminance levels to detect the nostrils. To confirm the detection of the nostrils, the histograms of the pixels of the nostril can be analyzed to determine if the separation between the nostrils is within a desired scale and if the dimensions of the nostrils of the nose are within a desired scale. In order to confirm the identification of the facial feature, an anthropomorphic model and the location of the facial feature are used to select a sub-image area containing a second facial feature. The pixels of the image having characteristics corresponding to the second facial feature are selected and a histogram of the selected pixels of the second facial feature is analyzed to confirm the identification of the first facial feature.
In order to determine the opening and closing of the driver's eyes, the step of selecting pixels of the image having characteristics that correspond to the characteristics of a driver's eye involves selecting pixels that have low luminance levels corresponding to the shading of the eye . In this modality, the step that analyzes the histogram through time to identify the opening and closing of the eye involves analyzing the shape of the eye's shading to determine the openings and closures of the eye. The histograms of shaded pixels are projected preferably towards the orthogonal axes, and the step of analyzing the shape of the shading of the eye involves analyzing the width and height of the shading. An alternative method of determining the openings and closures of the driver's eyes involves selecting pixels of the image that have movement characteristics that correspond to blinking. In this modality, the step that analyzes the histogram through time to identify each opening and closing of the eye, involves analyzing the number of pixels in movement that correspond to the flicker through time. The characteristics of a blinking eye are preferably selected from the group consisting of i) DP = 1, ii) CO indicative of an eye blinking eyelid, iii) the speed indicative of an eye blinking eyelid, e - - iv) the upward and downward movement indicative of an eyelid of the blinking eye. An apparatus for detecting that a driver is falling asleep includes a sensor for acquiring an image of the driver's face, a controller, and a histogram forming unit to form a histogram on the pixels having selected characteristics. The controller controls the histogram forming unit to select pixels of the image that have characteristics corresponding to the characteristics of at least one eye of the driver and form a histogram of the selected pixels. The controller analyzes the histogram through time to identify each opening and closing of the eye, and determines from the opening and cirrre information of the eye, the characteristics indicative that the driver is falling asleep. In one embodiment, the controller interacts with the histogram formation unit to identify a sub-area of the image comprising the eye, and the controller controls the histogram formation unit to select pixels of the image having the corresponding characteristics to the characteristics of the eye only within the sub-area of the image. In order to select the image sub-area, the controller has interaction with the histogram formation unit for - - identify the driver's head in the image, or a facial feature of the driver, such as the driver's nose windows. The controller then identifies the sub-area of the image using an anthropomorphic model. To identify the head of the driver, the histogram forming unit selects pixels of the image having the characteristics corresponding to the edges of the driver's head and forms histograms of the selected pixels projected towards the orthogonal axes. To identify a facial characteristic of the driver, the histsgram formation unit selects pixels of the image that has the characteristics that correspond to the facial feature and forms histograms of the selected pixels projected onto the orthogonal axes. The controller then analyzes the histograms. of the selected pixels to identify the edges of the driver's head or facial feature, as the case may be.
- If the facial feature is the driver's nose windows, the histogram forming unit selects pixel of the image that has low luminance levels that correspond to the luminance level of the nostrils. The controller also analyzes the histograms of the pixels of the window of the nose to determine if the separation between the nostrils is within a desired scale and if the dimensions of the windows - of the nose are within a desired scale. If desired, the controller can interact with the histogram formation unit to search sub-images of the image in order to identify the facial feature. In order to verify the identification of the facial feature, the controller uses an anthropomorphic model and the location of the facial feature to cause the histogram formation unit to select a sub-area of the image that contains a second facial feature. The histogram formation unit selects pixels of the image in the sub-area which has the characteristics corresponding to the second facial feature and forms a histogram of these pixels. The controller then analyzes the histogram of the selected pixels corresponding to the second facial feature in order to identify the second facial feature and thus confirm the identification of the first facial feature. In one embodiment, the histogram formation unit selects pixels of the image that have low luminance levels corresponding to the eyeshadow, and the controller then analyzes the shape of the eye shading to identify the shapes corresponding to the apertures and eye closures. The histogram formation unit preferably forms histograms of the pixels - - shadows of the eye projected towards the orthogonal axes and the controller analyzes the width and height of the shading to determine the openings and closures of the eye. In an alternative embodiment, the histogram forming unit selects pixels from the moving image corresponding to the blink and the controller analyzes the number of moving pixels through time - to determine the openings and closures of the eye. The movement characteristics that correspond to the flicker of preference are selected from the group consisting of i) DP = 1, ii) CO indicative of an eye blinking eyelid, iii) speed indicative of an eye blinking eyelid, and iv) the upward and downward movement indicative of an eyelid of the blinking eye. If desired, the sensor can be constructed integrally with the controller and the histogram forming unit. The apparatus may comprise an alarm, which the controller operates during the detection that the driver is falling asleep, and may comprise a source of illumination such as an IR radiation source, with the sensor being adapted to see the driver when illuminates through the light source. A rear mirror assembly comprises a rear mirror and the apparatus described for detecting drowsiness of the driver mounted on the rear mirror.
In one embodiment, a bracket fixes the apparatus to the rear mirror. In an alternative embodiment, the rear mirror comprises a housing having an open and an interior side. The rear mirror is mounted on the open side of the housing, and can see through from the interior of the housing to the exterior of the housing. The drowsiness detection apparatus is mounted inside the housing with the sensor directed towards the rear mirror. If desired, a gasket fixes the apparatus to the rear mirror assembly with the gasket being adapted to maintain the apparatus in a position facing the driver during adjustment of the mirror assembly by the driver. The rear mirror assembly may include a light source directed towards the driver, with the sensor being adapted to see the driver when illuminated by the light source. The rear mirror assembly can also include an alarm, with the controller operating the alarm during the detection that the driver is falling asleep. A vehicle comprising the drowsiness detection device is also disclosed.
BRIEF DESCRIPTION OF THE DRAWINGS - Figure 1 is a diagrammatic illustration of the system according to the invention. Figure 2 is a functional diagram of the temporal and spatial processing units of the invention. Figure 3 is a functional diagram of the temporary processing unit of the invention. Figure 4 is a functional diagram of the spatial processing unit of the invention. Figure 5 is a diagram showing the pixel processing according to the invention. Figure 6 illustrates the numerical values of the Freeman code used to determine the direction of movement according to the invention. Figure 7 illustrates the nested arrays as processed by the temporary processing unit. Figure 8 illustrates the hexagonal arrays as they are processed by the temporary processing unit. Figure 9 illustrates the "L" inverse matrices as processed by the temporary processing unit. Figure 10 illustrates matrices in the form of an angular sector as processed by the temporary processing unit.
- Figure 11 is a functional diagram showing the relationship between the temporal and spatial processing units and the histogram formation units. Figure 12 is a functional diagram showing the interrelation between the different histogram formation units. Figure 13 shows the formation of a bi-dimensional histogram of a movable area from two uni-dimensional histograms. Figure 14 is a functional diagram of an individual histogram formation unit. Figures 15A and 15B illustrate the use of a histogram forming unit to find the orientation of a line relative to an axis of analysis. Figure 16 illustrates a one-dimensional histogram. Figure 17 illustrates the use of the semi-graphic sub-matrices towards the desired areas selected from an image. Figure 18 is a side view illustrating a rear mirror in combination with the drowsiness detection system of the invention. Figure 19 is a top view illustrating the operation of a rear mirror.
- Figure 20 is a schematic view illustrating the operation of a rear mirror. Figure 21 is a cross-sectional top view illustrating a rear mirror assembly incorporating the drowsiness detection system of the invention. Figure 22 is a partial cross-sectional top view illustrating a gasket that holds the drowsiness detection system of the invention in the spout assembly of Figure 21. Figure 23 is a top view illustrating the relationship between the assembly of the rear mirror of Figure 21 and a conductor. Figure 24 illustrates the detection of the edges of the head of a person using the system of the invention. • Figure 25 illustrates the masking to the outside of the edges of the head of an epsona. Figure 26 illustrates the masking of a person's eyes. Figure 27 illustrates the detection of the eyes of a person using the system of the invention. Figure 28 illustrates the successive blinks in a three-dimensional orthogonal coordinate system.
- - Figures 29A and 29B illustrate the conversion of ridges and valleys of histograms of eye movement to information indicative of blinking. Figure 30 is a flow diagram illustrating the use of the system of the invention to detect drowsiness. Figure 31 illustrates the use of sub-images to search for a complete image. Figure 32 illustrates the use of the system of the invention to detect the nostrils and to follow eye movement. Figure 33 illustrates the use of the system of the invention to detect an open eye. Figure 34 illustrates the use of the system of the invention to detect a closed eye. Figure 35 is a flow diagram of an alternative method of detecting drowsiness. Figure 36 illustrates the use of the system to detect a pupil.
DETAILED DESCRIPTION OF THE INVENTION The present invention discloses a request for the generic image processing system disclosed in PCT Common Property Requests PCT / FR97 / 01354 and PCT / EP98 / 05383, the contents of which are incorporated herein by reference for the detection of the various criteria associated with the human eye, and especially for the detection that a driver is falling asleep while driving a vehicle. The apparatus of the invention is similar to that described in the aforementioned PCT applications Serial Numbers PCT / FR97 / 01354 and PCT / EP98 / 05383, which will be described herein for purposes of clarity. Referring to Figures 1 and 10, the generic image processing system 22 includes a spatial and temporal processing unit 11 in combination with a histogram forming unit 22a. The spatial and temporal processing unit 11 includes an input 12 that receives a digital video signal S that originates from a video camera or other image forming device 13 which monitors a scene 13a. The image forming device 13 is preferably a conventional CCD camera of the CMOS type, which for presently describing purposes of the invention is mounted on a vehicle facing the driver. It will be appreciated that when used in a non-vehicular application, the camera can be mounted in any desired manner to detect the specific interest criteria. It can be seen that any other appropriate sensor, e.g., of ultrasound, IR, Radar, etc., can be used as the image forming device. The image-forming device 13 may have a direct digital output, or an analog output that is converted by an A / D converter into the S-wave signal. The image-forming device 13 may also be integral with the signal processing system 22. generic image, if desired. Even though the signal S may be a progressive signal, it is preferably composed of a succession of pairs of interlaced frames, R_L and TR '___ and TR2 and TRT2 / each consisting of a succession of horizontal scanned lines, eg, I1.1, l .2' • • • '^ 1.17 in TR-1' and 21 in TR £ • Each line consists of a succession of pixels or image points Pl, eg, a _] _ # ?, a_j_F2 V a1.3 for the line Ii.i / aI17.1 and aI17.22 for I1.17 '"aIl.l Y a1.2 For line 12.1 • The signal S (PI) represents the signal S composed of the pixels Pl. S (PI) includes a frame synchronization (ST) signal at the beginning of each frame, a line synchronization signal (SL) at the beginning of each line, and a blank model signal (BL) Therefore, S (PI) includes a succession of frames, which are representative of the time domain and within each frame, a series of - - lines and pixels, which are representative of the spatial domain. In the time domain, "successive frames" will refer to successive frames of the same type (ie odd frames such as TR] _ or even frames such as TR '?), And "successive pixels in the same position" represent the successive values of the pixels (Pl) in the same location in successive frames of the same type, eg, a_¡_ < i of I .i in the table "TRj_ and a_ | _ _ ___ of I? .1 in the following corresponding table TR. The spatial and temporal processing unit 11 generates outputs ZH and SR 14 to a data bus 23 (Figure 11), which are preferably digital signals. The complex signal ZH comprises a number of output signals generated by the system, preferably including signals indicating the existence and location of an area or object in motion, and the velocity V and the direction of offset DI of each pixel of the picture. Also preferably the output from the system is a digital video input signal S, which is delayed (SR) to make it synchronous with the output ZH of the frame, taking into account the calculation time for the data in the composite signal ZH ( a frame) . The delayed signal SR is used to present the image received by the camera 13 on a television screen 10 - or monitor, which can also be used to present the information contained in the composite signal ZH. The composite signal ZH can also be transmitted to a separate processing assembly 10a where additional signal processing can be achieved. Referring to Figure 2, the spatial and temporal processing unit 11 includes a first set lia, consisting of a temporary processing unit 15 having an associated memory 16, a spatial processing unit 17 having a delay unit 18. and a sequential unit 19, and a pixel clock 20, which generates an HP clock signal, and which serves as a clock for the temporal processing unit 15 and the sequence unit 19. The HP clock pulses are generated by the clock 20 at the pixel rate of the image, which is preferably 13.5 MHZ. Figure 3 shows the operation of the temporary processing unit 15, the function of which is to regulate the video signal and generate a number of outputs that are used by the spatial processing unit 17. During processing, the processing unit temporal 15 recovers from memory 16 the regulated pixel values Ll of the digital video signal from the immediately preceding frame, and the values of a regulation time constant Cl for each pixel. As used in the - present, LO and CO will be used to represent the pixel values (L) and time constants (C) stored in the memory 16 from the temporal processing unit 15, and Ll and Cl will represent the pixel values (L) and the time constants (C) respectively for these values retrieved from the memory 16 for use by the temporal processing unit 15. The temporal processing unit 15 generates a DP binary output signal for each pixel, which identifies whether the pixel has experienced significant variation, and a digital signal CO, which represents the updated calculated value of the time constant C. Referring to Figure 3, the temporal processing unit 15 includes a first block 15a that receives the pixels Pl of the video signal S. For each pixel Pl, the temporary processing unit retrieves from the memory 16 a regulated value Ll of this pixel of the corresponding frame immediately above, which was calculated by the u temporary processing time 15 during processing of the immediately preceding frame and stored in memory 16 as LO. The temporal processing unit 15 calculates the absolute value AB of the difference between each pixel value Pl and Ll for the same position of the pixel (for example a __.___, of I? #? In TR] _ and of I?.? on TR2: AB = | PI-LI The temporal processing unit 15 is controlled by the clock signal HP of the clock 20 in order to maintain synchronization with the input pixel stream. The test block 15b of the temporary processing unit 15 receives the signal AB and a threshold value SE. The threshold value SE may be constant, but it varies preferably based on the value of the pixel Pl, and more preferably varies with the value of the pixel in order to form a gamma correction. The known means of varying the SE to form a gamma correction is represented by the optional block 15e shown in dashed lines. The test block 15b compares, on a pixel-by-pixel basis, the digital signals AB and SE in order to determine a binary signal DP. If AB exceeds the threshold value SE, it is indicated that the value of the pixel Pl has undergone a significant variation compared to the regulated value Ll of the same pixel in the previous frame, DP is set to "1" for the pixel under consideration. Otherwise, DP is set to "O" for each pixel. When DP = 1, the difference between the value of the pixel Pl and the regulated value Ll of the same pixel in the previous frame is considered too large, and the temporal processing unit 15 tries to reduce this - difference in subsequent frames by reducing the regulation time constant C for that pixel. On the contrary, if DP = 0, the temporal processing unit 15 tries to increase this difference in the subsequent frames by increasing the regulation time constant C for that pixel. These adjustments in the time constant C as a function of the DP value are made by block 15c. If DP = 1, the block 15c reduces the time constant by a unit value U so that the new value of the time constant CO is equal to the old value of the constant C1 minus the unit value U. C0 = CI-U If DP = 0, block 15c increases the time constant by a unit value U so that the new value of the time constant CO is equal to the old value of the constant Cl plus the unit value U. CO = CI + U In this way, for each pixel, the block 15c receives the binary signal DP from the test unit 15b and the time constant Cl from the memory 16, sets the Cl upwards or downwards by the unit value U, and generates a new time constant CO which is stored in memory 16 to replace the time constant Cl. In a preferred embodiment, the time constant C is in the form of 2P, where p is increased or decreased by the unit value U, which is preferably equal to 1, in block 15c. In this way, if DP = 1, block 15c subtracts one (for the case where U = l) from p at the time constant 2P which becomes 2P_1. If DP = 0, block 15c adds a p at the time constant 2P, which becomes 2P ~ 1. The selection of a time constant of the form 2P facilitates the calculations and therefore simplifies the structure of the block 15c. Block 15c includes several tests to ensure proper operation of the system. First, CO must must remain within defined limits. In a preferred embodiment, CO should not become negative (CO> 0) and must not exceed a limit N (C0 <N), which is preferably seven. In the case where Cl and CO are in the form of 2P, the upper limit N is the maximum value for p. The upper limit N may be constant, but preferably it is variable. An optional input unit 15f includes a memory register that allows the user, or controller 42 to vary N. The consequence of increasing N is to increase the sensitivity of the system to detect pixel displacement, while reducing N improves the detection of high speeds. N can be made dependent on Pl (N can vary on a pixel-by-pixel basis, if desired) in order to regulate the LO variation as a function of the Pl lever., that is, N-j_j-¡- = f (PIj_jt) / the calculation of which is carried out in block 15f, which in this case would receive the value of Pl from video camera 13. Finally, a block of calculation 15d receives, for each pixel, a new time constant CO generated in block 15c, the values of pixel Pl of the input video signal S, and the value of pixel Ll regulated of the pixel in the previous frame of the memory 16. Calculation block 15d then calculates a new LO regulated pixel value for the pixel in the following way: LO = LI + (Pl - Ll) / CO If CO = 2P, then LO = LI + (PI-LI) / 2P ° where "po" is the new value of p calculated in unit.15c and which replaces the previous value of "pi" in memory 16. The object of the regular operation is to normalize the variations in the value of Each pixel Pl of the input video signal to reduce the variation differences. For each pixel of the frame, the temporary processing unit 15 recovers Ll and Cl from memory 16, and generates new values LO (new value of regulated pixel) and CO (new time constant) which is stored in memory 16 to replace Ll and Cl respectively.
- As shown in Figure 2, the temporal processing unit 15 transmits the CO and DP values for each pixel to the spatial processing unit 17 through the delay unit 18. The capacity of the memory 16 assuming there are pixels R in a frame, and therefore 2R pixels per complete image, must be at least 2R (e + f) bits, where e is the number of bits required to store a single pixel value Ll (preferably eight) bits) and f is the number of bits required to store a single time constant Cl (preferably 3 bits). If each video image is composed of a single frame (progressive image) it is sufficient to use R (e + f) bits instead of 2R (e + f) bits. The spatial processing unit 17 is used to identify a relative movement area in the images of the camera 13 and to determine the speed and direction of movement directed. The spatial processing unit 17, together with the delay unit 18, cooperates with a control unit 19 which is controlled by the clock 20 which generates HP clock pulses at pixel frequency. The spatial processing unit 17 receives the signals DP_j and CO-j_j (where i and j correspond to the x and y coordinates of the pixel) of the temporal processing unit 15 and processes these signals as will be discussed below. While the temporal processing unit 15 processes the pixels within each frame, the spatial processing unit 17 processes the clusters of pixels within the frames. Figure 5 shows diagrammatically the temporal processing of the successive corresponding frame sequences TR_j_, R2, TR3 and the spatial processing of these frames of a pixel Pl with the coordinates x, y during times t_¡_, t and t3. A plane in Figure 5 corresponds to the spatial processing of a frame, while the superposition of frames corresponds to the temporal processing of successive frames. The signals DPj_j and CO_j of the temporary processing unit 15 are distributed by the spatial processing unit 17 to the first matrix 21 which contains a number of rows and columns much smaller than the number of lines L and of the table and the number of lines. M pixels per line. Matrix 21 preferably includes 21 + 1 lines along the y axis and 2-tH-l columns along the x axis (in Cartesian coordinates) where 1 and m are small integers. Advantageously, 1 and m are selected to be powers of 2, where for example 1 is equal to 2a and m is equal to 2 ^, a and b are integers of about 2 to 5, for example. To simplify the drawing and the explanation, m will be taken as - - being equal to 1 (although it may be different; and In this case, matrix 21 will have 2 x 1 = 17 rows and 17 columns Figure 4 shows a portion of the 17 rows YQ / Y_J_, ... Y? 5 / _.6 'And l "7 columns of XQ, X] _, ... X? 5 X ± ß F-16 form the matrix 21. The spatial processing unit 17 distributes the input flows in 1 xm matrix 21 of Dp -_j -_- and COj? of the temporal processing unit 15. It will be appreciated that only a subset of values of D? ijt and coijt will be included in matrix 21, since the picture is much larger having L lines and M pixels per row (eg, 312.5 lines and 250-800 pixels), depending on the TV standard used To distinguish the matrix L x M from the input video signal of 1 xm matrix 21 of the unit of spatial processing 17, the indices i and j will be used to represent the coordinates of the previous matrix and the indices x and y will be used to represent the coordinates of the last ones. erminated, a pixel with an instantaneous value PI__jt is characterized at the input of the spatial processing unit 17 by the signals DPj_jt and COijf The (21 + 1) x (2m + 1) matrix 21 is formed by scanning each of the matrices L x M for DP and CO. In matrix 21, each pixel is defined by a row number between 0 and 16 (inclusive), for the rows - YQ to Yi6 'respectively, and a column number between 0 and 16 (inclusive), for columns XQ to X] _g respectively in the case where 1 = m = 8. In this case, matrix 21 will be a plane of 17 x 17 = 289 pixels. In Figure 4, the elongated horizontal rectangles YQ to Y___g (only four of which have been shown, namely, YQ, Y _] _, Y? 5 and Y? 6) and the vertical lines XQ to X? which only four have been shown, that is, XQ, X_¡_, X_¡_5 and XQ) illustrate the matrix 21 with 17 x 17 pixels or pixels that have indexes defined at the intersection of a row of ordinate and a abscissa column. For example, Pgg is at the intersection of column 8 and row 8 as illustrated in Figure 4 at position e, which is the center of matrix 21. In response to signals HP and BL of clock 20 (Figure 2), a rate control or sequence unit 19: i) generates a line sequence signal SL at a frequency equal to the quotient of 13.5 MHZ (for an image with a corresponding number of pixels) divided by the number of columns per box (for example 400) to the delay unit 18, ii) generates a frame signal SC, the frequency of which is equal to the quotient 13.5 / 400 MHZ that is divided by the number of rows in the video image, by example 312.5, iii) and send the HP clock signal. The blank model signal BL is used to make the sequence unit 19 non-functional during the synchronization signals in the input image. A delay unit 18 carries out the distribution of the portions of the matrix L x M in the matrix 21. The delay unit 18 receives the signals DP, CO, and input pixel S (PI), and distributes these towards the matrix 21 using the HP clock signal and the line sequence and column sequence signals SL and SC. In order to form the matrix 21 of the input current of the signals DP and CO, the successive row, YQ, to Y_L6 for the signals DP and CO must be delayed in the following manner: row YQ - not to be delayed; row Y___ - be delayed by the duration of the line in the TP box; row Y2 - delayed by 2 TP; and so on until row Y? ? ¡- is delayed by 16 TP. The successive delays of the duration of a row of frame TP, are carried out in a cascade of sixteen delay circuits r___, r2, ... r? G that serve the rows Y] _, 2 • • • 16 respectively, the YQ row being served directly by the DP and CO signals without any delay when arriving from the unit of - - temporal processing 15. All delay circuits rl 'r2' --- r16 can be reinforced by a delay line with sixteen outputs, the delay imposed by any section thereof between two successive outputs and are constant and equal to TP. The regime control unit 19 controls the scanning of the entire matrix of the frame L x M through the matrix 21. The circular displacement of pixels in a row of the matrix of the frame in the matrix 17 x 17, for example of XQ a ± Q in the row YQ is carried out by means of a cascade of sixteen displacement registers d in each of the 17 rows from YQ to? 16 (providing a total of 16 x 17 = 272 displacement records) placed in each row between two successive pixel positions, namely, the register do? between positions PIoo and PIoi of register dQ2 between positions PIoi and PI? 2 'etc. Each register imposes a delay TS equal to the time difference between two successive pixels in a row or line, using the colline sequence signal SC. Because the rows l, I2 ••• I17 in a frame TR_j_ (Figure 1), for S (PI) and for DP and CO, arrive at the unit 18 of delay displaced by TP (full length of a row) a after the other, and the delay unit 18 distributes the same with gradually increasing delays of TP towards the rows YQ, Y_J_ ... Y? 7, these rows present the signals DP and CO during a determined time for the rows l, I2 ... I? 7 in the same portion of the table. Similarly in a given row, e.g., 1] _, the successive pixel signals a_______ a? # 2 ••• arrive displaced by TS and the shift registers d impose a delay also equal to TS. As a result, the pixels of the signals DP and CO in a given row YQ to Y___g in the matrix 21 are contemporaneous, that is, they correspond to the same portion of the frame. The signals representing the COs and DPs in the matrix 21 are available at a specific moment in the outputs 16 x 17 = 272 of the displacement records as well as in the upstream of the registers in front of the 17 rows, that is, the registers dg.i ^ • 1.1 ••• d-16.1 'that makes a total of 16 x 17 + 17 = 17 x 17 outputs for positions 17 x 17 Po.0' p0.1 '••• p8.8 • •• p16.16- In order to better understand the process of spatial processing, the system will be described with respect to the small matrix M3 that contains 3 rows and 3 columns where the central element of the 9 elements is of the pixel e with the coordinates x = 8, y = 8 as will be illustrated below: abedef (M3) ghi In the matrix M3, the positions a, b, c, d, f, g, h, i around the central pixel e correspond to eight directions oriented in relation to the central pixel. The eight directions can be identified using the Freeman code illustrated in Figure 6, the addresses having been coded from 0 to 7 starting from the x axis, in steps 45-. In the Freeman code, the eight possible oriented directions can be represented by a 3-bit number since 2- = 8. Taking into account the M3 matrix, the 8 addresses of the Freeman code are as follows: 3 2 1 4 e 0 5 6 7 Returning to the matrix 21 having 17 x 17 pixels, a calculation unit of 17a examines at the same time the several second square nested matrices centered on e, with dimensions of 15 x 15, 13 x 13, 11 x 11, 9 x 9, 7 x 7, 5 x 5 and 3 x 3, inside the matrix 21, being the matrix 3 x 3 M3 previously mentioned. The spatial processing unit 17 determines which matrix is the smallest where the pixels with DP = 1 are aligned along a straight line that determines the direction of movement of the aligned pixels. For pixels aligned in the array, the system determines whether CO varies on each side of the center position in the alignment direction, from + a in an oriented direction and -a in the opposite oriented direction, where Ka < N. For example, if the positions g, e, and c of M3 have values of -1, 0, +1, then there is a shift in this matrix from right to left in the direction (oriented) 1 in the Freeman code ( Figure 6). However, the positions g, e and c must at the same time have DP = 1. The speed of displacement of the moving pixels is greater when the matrix is larger, between the nested matrices 3 x 3 to 15 x 15, where CO varies of +1 or -1 between two adjacent positions along one direction. For example, if the positions g, e and c in the matrix 9 x 9 represented M9 that have values of -1, 0, +1 in the direction 1 oriented, the displacement will be faster than for values -1, 0, +1 in the 3 x 3 M3 matrix (Figure 7). The smallest matrix for which a line is coupled with the test of DP = 1 for the pixels in the line and CO varies on each side of the center position in the direction of alignment, from + to in a direction-oriented and - a in the opposite direction oriented, it is selected as the main line of interest.
- - Within a given matrix, a higher value of ° ACO indicates a slower movement. For example, in the smallest matrix, that is, the 3x3 matrix, C0 = ° A2 with DPs = l determines the movement of the subpixel, that is, half the pixel per image, and C0 = ° A3, indicates one more movement slow, that is, one third of a pixel per image. In order to reduce the computing power in the system and simplify the hardware, preferably only those CO values that are symmetric with respect to the central pixel are taken into account. Since CO is represented as a power of 2 in a preferred embodiment, an extended rate scale can be identified using only a few bits for CO, while still allowing the identification of relatively low speeds. The variable speed can be detected due to the fact that for example -2, 0, +2 in the positions g, e, c in the 3 x 3 matrix M3 indicates half the speed as fast as the speed corresponding to 1, 0, +1 for the same positions in the M3 matrix. Preferably two tests are carried out on the results to remove the insecurities. The first test selects the most intense variation, in other words, the highest time constant, if there are CO variations along different variations in one of the nested matrices. The second test is arbitrarily selected from one of two directions (or more) along which the CO variation is identical, for example by selecting the smallest value of the Freeman code, in case when the identical lines of movements are directed in a single matrix in different directions. This usually arises when the actual direction of travel is approximately between two successive encoded addresses in the Freeman code, for example between addresses 1 and 2 corresponding to an address (oriented) that can be represented as 1.5 (Figure 6) of approximately 67.5- in the direction of the x-axis (address 0 in the Freeman code). The exploration of an entire frame of the digital video signal S preferably occurs in the following sequence. The first group of pixels considered is that of the 17 rows or lines of the table, and the first 17 columns of the table. Subsequently, still for the first 17 rows of the table, the matrix moves column by column from the left of the box to the right, as shown in Figure 5, that is, from the TM1 portion on the far left, when M2 is off-centered. by a column with respect to TM _] _, until TM ^ (where M is the number of pixels per line or row of box) in the extreme right. Once the first 17 rows have been taken into account for each column from left to right, the process is repeated for rows 2 through 18 in the table. This process continues, - moving down one row at a time until the last group of lines at the bottom of the box, ie lines L - 16 ... L (where L is the number of lines per frame) they are taken into account. The spatial processing unit 17 generates the following output signals for each pixel: i) a V signal representing the speed of displacement for the pixel, based on the amplitude of the maximum variation of CO surrounding the pixel, the value of which can, for example, be represented by an integer within the scale of 0 - 7 if the velocity is in the form of a power of 2, and therefore can be stored in 3 bits, ii) a DI signal represents the direction of travel of the pixel, which is calculated from the maximum variation direction, the value of DI is also represented preferably by an integer within the scale of 0 - 7 corresponding to the Freeman code, stored in 3 bits, iii) a validation signal VL binary that indicates if the result of the speed and direction - oriented is valid, in order to be able to distinguish a valid output with V = 0 and DI = 0, of the lack of an exit due to an incident, being this signal l 1 for the valid exit or de - Or for an invalid output, iv) a time constant signal CO, stored in 3 bits, for example, and v) a delayed video signal SR consisting of the input video signal S delayed in the delay unit 18 by 16 constitutive line durations TR and therefore by the duration of the distribution of the signal S of the matrix 21 of 17 x 17, in order to obtain a video signal synchronized to the matrix 21, which can be presented in an apparatus of television or monitor. Likewise the outputs are the clock signal HP, the line sequence signal SL and the column sequence signal SC from the control unit 19. The hexagonal arrays fitted (Figure 8) or an inverted L-shaped matrix (FIG. 9) can be replaced by the rectangular matrices embedded in Figures 4 and 7. In the case shown in Figure 8, nested arrays (where only the central matrices MR1 and MR2 have been shown) all focus on the MRO point which corresponds to the center point of the matrices M3, M9 in Figure 7. The advantage of a hexagonal matrix system that allows the use of the oblique coordinate axes xa, ya, and a disintegration in triangles with identical sides to carry out an isotropic velocity calculation.
The matrix in Figure 9 is composed of a single row (Lu) and a single column (Cu) starting from the central position MRU where the two signals DP and CO respectively are equal to "1" for DP, and increase or decrease through a unit for CO, if the movement occurs. If the movement is in the direction of the x coordinate, the CO signal is identical in all positions (boxes) in the Cu column, and the binary signal DP is equal to 1 in all the positions in the row Lu, from the MRU of origin with the value of C0U, up to the position in which CO is equal to COu +1 or -1 inclusive. If the movement is in the direction of the y coordinate, the signal CO is identical in all positions (boxes) in the row Lu, and the binary signal DP is equal to 1 in all positions in the column Cu, from the origin MRU, with the value COu up to the position in which CO is equal to C0U +1 or -1 inclusive. If the movement is oblique with respect to the coordinates yxe, the binary signal DP is equal to and CO is equal to COu in the positions (boxes) of Lu and in the positions (boxes) of Cu, determining the inclination by the perpendicular to the line that passes through the two positions where the signal COu changes through the value of a unit, with 1 being always the DP signal.
Figure 9 shows the case where DP = I and C0U changes the value by a unit in the two specific positions LU3 and CU5 and indicates the corresponding inclination Pp. In all cases, the displacement speed is a function of the position in which CO changes the value by a unit. If CO changes through a unit in Lu or Cu only, it corresponds to the value of the CO variation position. If CO changes by a unit in the position in Lu and in the position in Cu, the speed is proportional to the distance between MRU and Ex (intersection of the line perpendicular to Cu-Lu that passes through MRU). Figure 10 shows an image forming device with sensors placed at the intersections of the concentric lines c and the radial lines d corresponding to the rows and columns of a rectangular array image forming device. The operation of this image forming device is controlled by a circular scanning sequence apparatus. In this mode, the angular sector configured nxn MC matrices are formed, (a 3x3 MC3 matrix and a 5x5 MC5 matrix are shown) and except for the sequence differences, the matrices are processed identical to the square matrix modalities discussed in the foregoing.
As shown in Figures 11 to 16, the spatial and temporal processing unit 11 is used in connection with a histogram processor 22a to identify the objects within the input signal based on the criteria specified by the user to identify these objects . A Z-Z busbar (See Figures 2, 11 and 12) transfers the output signals from the spatial and temporal processing unit 11 to the histogram processor 22a. The histogram processor 22a generates the composite output signal ZH which contains the information in the relative moving areas in the scene. Referring to Figure 12, the histogram processor 22a includes a bus 23 for communicating the signals between the various components thereof, for receiving input commands from a controller 42 and for transmitting output signals to the controller 42. The blocks of training and histogram processing 24-29 receive the different input signals, that is, the delayed digital video signal SR, of speed V, of oriented directions (in the Freeman code) DI, of the time constant CO, of the first axis x (m) and second axis y (m), which are discussed in detail below. The function of each histogram formation block is to allow a histogram to be formed for the domain associated with that block. For example, the histogram forming block 24 receives the delayed digital video signal SR and allows a histogram to be formed for the luminance values of the video signal. Since the luminance of the signal will usually be represented by a number within the range of 0 to 255, the block 24 of histogram formation is preferably a memory capable of being addressed with 8 bits, with each memory location having a enough number of bits to correspond to the number of pixels in a frame. The histogram-forming block 25 receives the velocity signal V and allows a histogram to be formed for the different speeds present in a frame. In a preferred embodiment, the speed is an integer within the scale of 0 to 7. The histogram-forming block 25 is preferably a memory capable of addressing with 3 bits, with each memory location having a sufficient number of bits to correspond to the number of pixels in a box. The histogram forming block 26 receives the directional direction signal DI and allows a histogram to be formed for the oriented directions present in a frame. In a preferred embodiment, the oriented direction is an integer within the scale of 0 to 7, which corresponds to the Freeman code. The histogram-building block 26 is preferably a memory capable of being addressed with 3 bits, with each memory location having a sufficient number of bits to correspond to the number of pixels in a frame. The histogram-forming block 27 receives the signal of the time constant CO and allows a histogram to be formed for time constants of the pixels in a frame. In a preferred embodiment, the time constant is an integer within the scale of 0 to 7. The histogram forming block 27 is preferably a memory capable of being addressed with 3 bits, with each memory location having a sufficient number of bits to correspond to the number of pixels in a frame. The blocks 28 and 29 of histogram formation receive the positions x and y respectively of the pixels for which they will form a histogram, and form histograms for these pixels, as will be discussed in more detail below. The histogram formation block 28 is preferably capable of addressing with the number of bits corresponding to the number of pixels in a line, with each memory location having a sufficient number of bits to correspond to the number of lines in a frame, and the histogram forming block 29 is preferably capable of addressing with the number of bits corresponding to the number of lines in a frame, and with each memory location having a sufficient number of bits to correspond to the number of pixels in a line. Referring to Figures 12 and 14, each of the histogram forming blocks 24-29 has an associated validation block 30-35., respectively, which generates a validation signal VI - V6, respectively. In general, each of the histogram formation blocks 24-29 is identical to the others and works in the same way. For reasons of simplification, the invention will be described with respect to the operation of the histogram forming block 25, it being appreciated that the remaining histogram formation blocks operate in the same manner. The histogram forming block 25 includes a histogram forming portion 25a, which forms the histogram for that block, and a classifier 25b for selecting the criteria of the pixels for which the histogram will be formed. The histogram forming portion 25a and the sorter 25b operate under the control of the computer software in an integrated circuit (not shown), to extract certain limits from the histograms generated by the histogram forming block, and to control the operation of the different components of the histogram formation units.
Referring to Figure 14, the histogram forming portion 25a includes a memory 100, which is preferably a conventional digital memory. In the case of the histogram forming block 25, which forms a speed histogram, the memory 100 is dimensioned to have the addresses 0-7, each of which can store up to the number of pixels in an image. Between the frames, the memory 100 is started, that is, the entire memory is cleared, by setting ini t = l in the multiplexers 102 and 104. This has the effect, with respect to the multiplexer 102 of selecting the "0" input which is the output to the Online Data of the memory 100. At the same time, the setting of ini t-1 causes the multiplexer 104 to select the Counter input, which is the output to the Address line of the memory 100. The input of the Counter is connected with a counter (not shown) that counts all the addresses for the memory 100, in this case 0 < address < 7. This has the effect of placing a zero in all directions of the memory of the memory 100. The memory 100 is preferably cleared during the blank interval between each frame. After the memory 100 is cleared, the line íni t is set to zero, and in the case of the multiplexer 102 it results in the content of the data line being sent to the memory 100, and in the case of the multiplexer 104 results in the unit data - of spatial processing 117, that is, the data V, is sent to the Address line of the memory 100. The classifier 25b allows only the data having the selected classification criteria to be considered additionally, implying that it can possibly be included in the histograms formed by the histogram forming blocks 24-29. For example, with respect to the speed, which is preferably of a value within the scale of 0 to 7, the classifier 25b can be adjusted to take into account only the data within a specific category or categories of speeds, ie , speed 1, speeds 3 or 5, speed 3-6, etc. The classifier 25b includes a register 106 that allows the classification criteria to be adjusted by the user, or by a separate computer program. By way of example, register 106 will include, in the case of speed, eight registers numbered 0-7. By setting a register to "1", e.g., register number 2, only the data that fills the criteria of the selected class, e.g., speed 2, will result in a sorting output of "1". Expressing mathematically, for any given record where R (k) = b, where k is the record number and b is the Boolean value stored in the register: Output = R (data (V)) So for a point of data V of magnitude 2, the output of classifier 25b will be "1" only if R (2) = l. The classifier associated with the histogram forming block 24 preferably has 256 registers, one register for each possible luminance value of the image. The classifier associated with the histogram formation block 26 preferably has 8 registers, one register for each possible address value. The classifier associated with the histogram forming block 27 preferably has 8 registers, one register for each possible CO value. The classifier associated with the histogram formation block 28 preferably has the same number of records as the number of pixels per line. Finally, the classifier associated with the histogram formation block 29 preferably has the same number of records as the number of lines per frame. The output of each classifier is communicated to each of the validation blocks 30-35 through the busbar 23, in the case of the blocks forming histogram 28 and 29, through the combination unit 36, which it will be discussed further below. The validation units 30-35 receive the classification information in parallel of all the classification units in the histogram formation blocks 24-29. Each validation unit generates a validation signal that is communicated to its associated histogram formation block 24-29. The validation signal determines, for each input pixel, if the histogram formation block will use that pixel to form the histogram. Referring again to Figure 14, which shows the histogram forming block 25, the validation unit 31 includes a register block 108 having a register associated with each histogram forming block, or more generally, a register associated with each data domain that the system is capable of processing, in this case, luminance, velocity, direction, CO and position x and y. The content of each register in register block 108 is a binary value that must be set by a user or a computer controller. Each validation unit receives through the bus 23 the output of each of the classifiers, in this case numbered 0 ... p, keeping in mind that for each data domain, eg, speed, the output of the classifier for the domain of the data will be only "1" if a specific data point is considered to be in the class of records set to "1" in the classifier for that data domain. The validation signal of each validation unit will be only "1" if for each record in the validation unit that 5 - is set to "1", a unit of "1" is received from the classifier for the domain of that record. This can be expressed as follows: out = (ing + Regg). (in] _ + Reg¡_) ... (ínn + Regn) (inr¡ + in ± + lnn) where Regó is the record in the validation unit associated with the ing entry. In this way, by using the classifiers in combination with the validation units 30-35, the system can select to process only the data points in any of the selected classes within any of the selected domains. For example, the system can be used to detect only data points that have speed 2, address 4, and luminance 125 by adjusting each of the following registers to "1": the records in the validation units for speed, direction, and luminance, register 2 in the velocity classifier, register 4 in the address classifier and register 125 in the luminance classifier. In order to form those pixels in a block, the registers in the validation units for the addresses x and y would also be set to "1". Referring again to Figure 13, the validation signal V2 is updated on a pixel-by-pixel basis. If, for a specific pixel, the validation signal V2 is "1", the adder 110 increases the output of the memory 100 by one. If, for a specific pixel, the validation signal V2 is "0", the adder 100 does not increase the memory output. In any case, the output of the adder 100 is stored in the memory 100 in the direction corresponding to the pixel being taken into account. For example, assuming that the memory 100 is used to form a velocity histogram, which can be categorized as the velocities 0-7, and where the memory 100 will include 0-7 corresponding memory locations, if a velocity pixel is received. 6, the address input to the multiplexer 104 through the data line will be 6. Assuming that the validation signal V2 is "1", the content in the memory at location 6 will be increased. Through the course of an image, the memory 100 will contain a pixel histogram for the image in the category associated with the memory. If for a specific pixel, the validation signal V2 is "0" because that pixel is not in a category for which the pixels are counted (eg, because that pixel does not have the address, correct speed, or luminance), that pixel will not be used to form the histogram.
For the histogram formed in the memory 100, the key characteristics for this histogram are calculated simultaneously in a unit 112. Referring to Figure 14, the unit 112 includes the memories for each of the key features, including the minimum (MIN) of the histogram, the maximum (MAX) or the histogram, the number of points (NBPTS) in the histogram, the position (POSRMAX) of the maximum histogram, and the number of points (RMAX) at the maximum of the histogram. These characteristics are determined in parallel with the formation of the histogram in the following way: For each pixel with a validation signal V2 of u -i H. (a) if the value of the pixel data < MIN (which initially adjusts to the maximum possible value of the histogram), then write the value of the data in MIN; (b) if the value of the pixel data > MAX (which initially adjusts to the minimum possible value of the histogram), then write the value of the data to MAX; (c) If the content of the memory 100 in the address of the value of the pixel data > RMAX (which is initially adjusted to the minimum possible value of the histogram), then i) write the value of the data in POSRMAX and ii) write the memory output in RMAX. (d) increase NBPTS (initially adjusted to zero). Upon completion of the formation of the histogram in the memory 100 at the end of each frame, the unit 112 will contain important data characterizing the histogram. The histogram in each memory 100, and the characteristics of the histogram in the units 112 are read during the scanning of each frame by the controller 42, and the memories 100 are cleared and the units 112 are re-started for the processing of the next frame. The system of the invention includes a semi-graphic masking function to select the pixels to be considered by the system. Figure 16 shows a typical image 53 consisting of pixels placed on a matrix Q x R, which is divided into sub-matrices 51 each having a dimension of sxt, where each sub-matrix sxt includes sxt number of pixels of the image. Each sub-matrix shown in Figure 17 is a 3x4 matrix. In a preferred embodiment, s = 9 and t = 12, although any suitable sub-matrix size may be used, if desired, including 1 x 1. Referring to Figure 12, the histogram processor 22a includes a semi-random memory. graph 50, which includes a memory location of one bit corresponding to each sxt matrix. For any given sub-matrix 51, the corresponding bit in the memory 50 can be set to "O", which has the effect of ignoring all the pixels in this sub-matrix 50, or it can be set to "1" in which case all the pixels in this sub-matrix will be considered when forming the histograms. In this way, by using the semi-graphic memory 50, it is possible to limit those areas of the image that are to be considered during the formation of the histogram. For example, when an image of a road taken by a forward-facing camera in a vehicle is used to detect road traffic lanes, the pixel information of the road at the furthest distances from the camera usually does not They contain useful information. Accordingly, in this application, the semi-graphic memory is used to mask the distant portions of the road by adjusting the semi-graphic memory 50 to ignore these pixels. Alternatively, the portion of the road to be ignored can be masked by adjusting the system to career pixels only within a detection box that excludes the undesired area of the screen, as will be discussed below. During the operation, for any pixel under consideration, an AND operation is performed on the validation signal for this pixel and the content of the semi-graphic memory 50 for the sub-matrix where the pixel is located. If the content of the semi-graphic memory 50 for the sub-matrix where the pixel is located contains "0", the AND operation will yield a "0" and the pixel will be ignored, otherwise the pixel will be taken into account. the usual way If it is displayed that the AND operation can be carried out in another than the validation signal, with the same resulting functionality. It is also visualized that the memory 50 will be a frame size memory with each pixel being independently selected in the semi-graphic memory. This would allow any of the desired pixels of the image to be considered or ignored as desired. The semi-graphic memory 50 is adjusted by the controller 42 through the data bus 23. Figure 16 shows an example of the successive classes Cl, C2 ... Cn- ?, each representing a specific speed for a Hypothetical speed histogram, with its categorization being up to 16 speeds (15 are shown) in this example. Envelope 38 is also shown, which is a regulated representation of the histogram. In order to locate the position of an object having specified criteria of the user within the image, the blocks of histogram 28 and 29 are used to generate histograms for the x and y positions of the pixels with the selected criteria. This is shown in Figure 13 as the histograms along the x and y coordinates. These data x and y are sent to the movable area training block 36 which combines the information of the abscissa and the ordinate x (m) 2 e and (m) 2, respectively in a composite signal xy (m) that is sent to the busbar 23. A histogram 40 composed of sample is shown in Figure 13. The various histograms and the composite signal xy (m) that are sent to the busbar 23 are used to determine if there is a movable area in the image, to locate this area, and / or to determine its oriented speed and direction. Because the relative moving area can be in an observation plane along the x and y directions that are not necessarily orthogonal, as will be discussed below with respect to Figure 18, a data change block 37 can be used to convert the x and y data to orthogonal coordinates. The data exchange block 37 receives the orientation signals x (m)? e and (m)? for x (m) oey (m) or axes, as well as the HP pixel clock signals, the line sequence and column sequence signals SL and SC (these three signals being grouped together in the bundle F in Figures 2 , 4 and 10) and generate the orthogonal signals x (m)? e and (m)? which are sent to the histogram formation blocks 28 and 29, respectively. In order to process the pixels only within a user-defined area, the histogram forming unit 28 of address x can be programmed to process the pixels only in a class of pixels that is defined by limits, ie XMIN and XMAX . This is achieved by adjusting the XMIN and XMAX values in a programmable memory by the user in the formation unit of the histogram 28 of the x-direction or in the linear combination units 30-35. Any of the pixels outside this class will not be processed. Similarly, the histogram formation unit 29 of the address can be set to process pixels only in a pixel class defined by the YMIN and YMAX limits. This is achieved by adjusting the values of YMIN and YMAX in a programmable memory by the user in the histogram formation unit of the address and 29 or in the linear combination units 30-35. In this way, the system can process the pixels only in a defined rectangle by adjusting the values of XMIN and XMAX, and of YMIN and YMAX as desired. Of course, the classification criteria and validation criteria of the other histogram formation units can be adjusted in order to form histograms of only selected classes of pixels in the selected domains within the selected rectangular area. The XMIN and XMAX memory locations have a sufficient number of bits to represent the maximum number of pixels in the x dimension of the image being considered, and the YMIN and YMAX memory locations have a sufficient number of bits to represent the number maximum of pixels in the dimension and of the image under consideration. As discussed further below, the x and y axes will be rotated in order to create histograms of projections along the axes that have been rotated. In a preferred embodiment, the XMIN, XMAX, YMIN and YMAX memory locations have a sufficient number of bits to represent the maximum number of pixels along the diagonal of the image under consideration (the distance from "Origin" to " Stop "in Figure 15). In this way, the system can be used to search within a user-defined rectangle along a rotated axis system defined by the user. In order that a pixel PI (a, b) is considered in the formation of the histograms in the x and y direction, either in the axes of the orthogonal coordinate or along rotated axes, the conditions XMIN <; a < XMAX and YMIN < b < YMAX must be satisfied. The output of these tests can be submitted to AND with the validation signal so that if it is not satisfied under the conditions, a logical "0" is submitted to AND with the validation signal for the pixel under consideration, avoiding in this way the consideration of the pixel in the formation of the direction histograms x and y. Figure 13 diagrammatically represents the envelopes of the histograms 38 and 39 respectively at coordinates x and y, for velocity data. In this example, XM and YM represent the x and y coordinates of the maximum of the two histograms 38 and 39, while the y and Ib for the x and y axis and Id for the y axis represent the limit of the scale of significant or interesting speeds, being the and the longer limits and Ib and Id being limited in a superior way to the significant portions of the histograms. The limits the, Ib, le and Id can be adjusted by the user or by an application program using the system, and can be adjusted as a ratio of the maximum of the histogram, eg, XM / 2 O can be adjusted as desired otherwise for a specific application. The vertical lines La and Lb of the abscissas la and Ib and the horizontal lines Le and Ld of the ordinates Ie and Id form a rectangle surrounding the cross area 40 of significant velocities (for all directions x and y). A few smaller areas 41 with longer speeds exist near the main area 40 and are typically ignored. In this example, all that is necessary to characterize the area with the largest variation of the parameter for the histogram, the speed V in this specific case, is to identify the coordinates of the limits the, lb, le and ld and the maximums XM e YM which can be easily derived from each histogram from the memory 100, the data in the units 112, and the data block xy (m). In this way, the system of the invention generates, in real time, histograms of each of the parameters that are being detected. Assuming that you want to identify an object with a speed of "2" and an address of "4", the validation units for speed of address would be set to "1", and the classifiers for speed "2" and the address " 4"would be adjusted to" 1". In addition, since it is desirable to locate the object (s) with this speed and direction in the video image, the validation signals for the histogram building blocks 28 and 29, which correspond to the x and y coordinates, would also conform to " 1". In this way, the histogram formation blocks 28 and 29 would form histograms of only the pixels with the speed and direction selected, in real time. Using the information in the histogram, especially POSRMAX, the object with the highest number of pixels at the selected speed and direction will be identified in the video image in real time. More generally, the histogram formation blocks can locate objects in real time that fill the criteria selected by the user and can produce an output signal if an object is detected. Alternatively, the information may be transmitted, eg, by wire, fiber optic or radio relay for remote applications to a control unit such as unit 10a in Figure 1 which may be near or far from the space processing unit and temporal 11. Although the system of the invention has been described with respect to the formation of histograms using an orthogonal coordinate system that is defined by the horizontal and vertical axes of the video image, the system can be used to form histograms using non-orthogonal axes that are defined by the user. Figures 15A and 15B show a method for using rotation of the analysis axis to determine the orientation of certain points in an image, a method that can be "used, for example, to detect lines." In a preferred embodiment, the x axis can be rotated up to 16 different directions (180c / 16), and the y axis can be independently rotated up to 16 different directions. The rotation of the axes is achieved by using a data line change block 37 that receives as input the axes of rotation defined by the user of each of the axes x and y, which carries out a Hough transformation to convert the values of the x and y coordinate under consideration in the rotated coordinate axis system for consideration by the histogram formation units of e and 28 and 29. The operation of the conversion between the coordinate systems using a Hough transformation is known in the art. In this way, the user can select the system rotation of the x coordinate in up to 16 different directions, and independently can rotate the coordinate system and up to 16 different directions. Using the coordinate systems have been rotated, the system can carry out the functionality described above including the search within the rectangles defined by the user (on the axes that have been rotated), forming histograms on the rotated axes, and searching using speed, direction, etc. As discussed above, each histogram formation unit calculates the following values for its respective histogram. MIN, MAX, NBPTS, R AX, POSRMAX Since these values are calculated in real time, the use of these values allows the system to quickly identify the lines in an image. Even though this can be achieved in a number of different ways, one of the easiest methods is to calculate R, where R = NBPTS / RMAX, that is, the ratio of the number of points in the histogram to the number of points in the maximum line . The smaller this ratio is, that is, the closer R to l approaches, the more data points aligned perpendicularly under consideration remain within the scan axis. Figure 15A shows a histogram of certain points under consideration, where the histogram is taken along the x axis, that is, it is projected down towards the x axis. In this example, the ratio R, while not calculated, is high, and contains little information about the orientation of the points under consideration. As the x axis is rotated, the ratio R increases, until as shown in Figure 15B, at about 45 ° the ratio R would reach a maximum. This indicates that the points under consideration are aligned more closely perpendicular to the x-axis of 45 °. During the operation, in successive frames, or in the same chart if multiple histogram formation units are available in the x direction, it is advantageous to calculate R at different angles, eg, at 33.75 ° and 57.25 ° (assuming that the axes are limit to 16 degrees of rotation), in order to constantly ensure that R is at a minimum. For applications where it is desirable to detect the lines, and assuming the availability of 16 x histogram formation units, it is advantageous to carry out the calculation of R simultaneously along all possible axes to determine the angle with R minimum to determine the orientation direction of the line. Because the axes x and y can be rotated independently, the histogram formation units x and y are able to simultaneously independently detect the lines, such as each sideline of a road, in the same manner. As discussed above, the system of the invention can be used to search for objects within a limited area defined by XMIN, XMAX, YMIN and YMAX. Because the movable object can leave the limited area the system of preference includes a function of anticipation that allows XMIN, XMAX, YMIN and YMAX to be modified automatically by the system to compensate the speed and direction of the target. This is achieved by determining the values for O-MVT, which correspond to the orientation (direction) of movement of the target within the limited area using the direction histogram, and the I-MVT, which corresponds to the intensity (velocity) of movement. Using these parameters, the controller 42 can modify the values of XMIN, XMAX, YMIN and YMAX on a frame-by-frame basis to ensure that the target remains in the limited box that is being searched. These parameters also allow the system to determine when a moving object, eg, a line, which is being routed based on its axis of rotation will be changing its orientation axis, and allowing the system to anticipate a new orientation axis in order to maintain a value of R reduced to a minimum. Referring to Figure 12, a controller 42, which is preferably a controller based on the conventional microprocessor, is used to control the various elements of the system and to allow the user input of commands and controls, such as with a mouse of the computer and keyboard (not shown), or other input device. Components lia and 22a, and controller 42, are preferably formed in a single integrated circuit. The controller 42 is in communication with the data bus 23, which allows the controller 42 to operate a program to control the various parameters that can be adjusted in the system and to analyze the results. In order to select the pixel criteria to be followed, the controller 42 can also directly control the following: i) the content of each record in the classifiers 25b, ii) the content of each record in the validation units 31, iii ) the contents of XMIN, XMAX, YMIN and YMAX, iv) the orientation angle of each of the x and y axes, and v) the semi-graphic memory. The controller 42 can also recover i) the contents of each memory 100 and ii) the contents of the registers 112, in order to analyze the results of the histogram formation process. Furthermore, in general, the controller 42 can give access to and control all the data and parameters used in the system. The system of the invention can be used to detect the driver of a vehicle that is falling asleep and to generate an alarm during the detection of this. While numerous embodiments of the invention will be described, the system typically receives an image of the driver of a camera or the like and processes the image to detect one or more criteria of the driver's eyes to determine when the driver's eyes are open and when they are closed As discussed above, a fully awake person usually blinks at relatively regular intervals of approximately 100 to 200 ms. When a person is sleepy, the length of each eye blink increases to approximately 500 to 800 ms, with the intervals between the blinks becoming longer and more variable. Using the information on the opening and closing of the driver's eyes, the system measures the duration of each blink and / or the intervals between blinks to determine when the driver is falling asleep. This is possible due to the fact that the video signal coming from the sensor in use, e.g. the sensor 310 of Figure 21, preferably generates 50 or 60 frames per second, that is, one frame every 20 ms or 16.66 ms, respectively. This makes it possible for the system to process each image in real time and distinguish between 100 to 200 ms flicker lengths for an awake person, from 500 to 800 ms of blinking lengths for a sleepy person, that is, a length of Flashing 5 to 10 frames for an awake person or a flashing length of 25 to 40 frames for a sleepy person in the case of a video signal of 50 frames per second. The system of the invention uses a video camera or other sensor to receive the images of the driver T in order to detect when the driver is falling asleep. Even though several methods of sensor placement will be described, the sensor can generally be positioned by any means in any location that allows the acquisition of a continuous image of the driver's face when seated in the driver's seat. In this way, the sensor 10 can be mounted on the vehicle or on the vehicle in any appropriate location, such as on or on the vehicle's dashboard, the steering wheel, the door, the rear mirror, the ceiling, etc. to allow the sensor 10 to see the driver's face. A suitable lens can be mounted on the sensor 10 to provide the sensor with a wider view if it is required to see conductors of different sizes. Figures 18 and 19 show a conventional distribution of a rear mirror in which a driver T can see forward along the direction 301 and backward (through the spokes 302a and 302b) through a rear mirror 303 Referring to Figure 20, the mirror 303 is fixed to the body 305 of the vehicle through a connecting arm 304 that allows adjustment for viewing axes 302a and 302b. Shafts 302a and 302b are generally parallel and oriented in the direction of the vehicle. The optical axis 306 that remains perpendicular to the face 303a of the mirror 303 divides the angle formed by the axes 302a and 302b at equal angles a and b. The shaft 307, which is perpendicular to the axis 302b and therefore generally parallel to the fixing portion of the vehicle body 305, having an angle c between the axis 307 and the face of the mirror 303, which is generally the same at the angles a and b. A camera or sensor 310 is preferably mounted on the mirror by means of a bracket 299. The camera can be mounted in any desired position to allow the driver to have a clear view of the road while allowing the sensor 310 to acquire images of the driver's face The bracket 299 can be an adjustable bracket, allowing the camera to be oriented in the desired direction, i.e., towards the driver, or it can be in a fixed orientation such that when the mirror is adjusted by the conductors of different sizes, the camera continues to acquire the driver's face. The signal from the camera is communicated to the image processing system which functions as will be described below, by means of conducting wires or the like (not shown in Figures 18-20). Figures 21 and 22 show a rear mirror assembly 308 where the sensor 310 is mounted to the interior of the mirror assembly. The mirror assembly 308 is adapted so that the assembly 308 is adjusted by a conductor, the sensor 310 remains directed toward the face of the driver. The rear mirror assembly 308 includes a bidirectional mirror 309 having a face 309a, movably oriented to provide a rear view to the driver. The sensor 310, which is preferably an electronic mini-camera or MOS sensor with an integral lens, is fixed to a bracket 311, which is oriented to face the driver using a mechanical arrangement that allows the sensor 310 to receive an image of the driver's face when the mirror 309 is adjusted so that the driver has a rear view of the vehicle. The mechanical arrangement consists of a mechanical joint of the Cardan type, which causes the automatic adjustment of the bracket 311 when the driver adjusts the rear mirror so that the reflecting face 310a of the sensor 310 receives the image of the driver's face, i.e. the optical axis 310b remains aligned towards the head of the driver. The bracket 311 includes rods 312 and 313 that engage together movably by a pivot pin 314a (Figure 21) or a sleeve 314b (Figure 22). The rod 312 is fixed at one end to a mounting portion of the vehicle 305. A pivot pin 315, which preferably consists of a ball and two essentially hemispherical layers, facilitates the movement of the mirror assembly 308. The rod 312 extends to through the pivot pin 315 and attached to the rod 313 through a sleeve 314b or other pivot pin 314a. At one extreme, the rod 313 rigidly supports the bracket 311 where the sensor 310 is mounted. The rod 313 extends through the bracket 316 of the mirror assembly 308 through a hollow pivot 317. The pivot 317 includes a ball having a channel through which the rod 313 is coupled, and which rotates in essentially hemispherical lids held by the clamp 316. The joint constantly maintains a desired angle between the mirror 309 and the bracket 311, thus allowing the normal adjustment of the mirror 309, while the bracket 311 adjusts to the direction of the sensor 310 so that the face 310a of the sensor receives an image of the driver's face. If desired, it is visualized that the sensor 310 can be mounted to the interior of the rear mirror assembly 308 at a fixed angle relative to the face 309 of the mirror assembly, as long as the sensor 310 is capable of receiving an image of the face. of the driver when the mirror is adjusted to different sized conductors. A wide-angle lens may be mounted on the sensor 310 to better allow the sensor to be used under different adjustment circumstances. The sensor 310 is connected by means of one or more conductor wires to the image processor 319, which is preferably an image processing system of the type discussed above and, preferably, is in the form of an integrated circuit inside. of the rear mirror assembly 308. In a preferred embodiment, the image processing system 319 is constructed integrally with the sensor 310. Alternatively, the image processing system 319 may be placed outside the mirror assembly 308 by means of conventional conductor wires. While the controller 310 is preferably a microprocessor, it is displayed that the controller 310 may be a simple or ASIC controller that is designed to perform the functions specified herein, particularly if the system is embedded, e.g. contained in a mirror set or integral with a vehicle. The electroluminescent diodes 320 can be incorporated in the mirror assembly 308 to illuminate the driver's face with infrared radiation when the ambient light is insufficient for the image processing system 319 to determine the characteristics of the driver's flicker. When these diodes are in use, the sensor 310 must be of the type capable of receiving infrared radiation. The illumination of the light-emitting diodes 320 can be controlled by the controller 42 (Figure 12) of the image processing system 319, if desired. For example, the controller 42 may illuminate the light-emitting diodes 320 in the event that the histograms generated by the image processing system 319 do not contain sufficient useful information to detect the driver's face peculiarities required, e.g. NBPTS remaining below a threshold value. The electroluminescent diodes 320 may be gradually illuminated, if desired, and may operate in connection with one or more photocells (not shown) that generate a signal regarding ambient lighting near the conductor, and which may be used to control the electroluminescent diodes 320, either alone or in combination with the controller 42 or other control circuit. If desired, an IR source or other source of EMF radiation can be used to illuminate the face of the driver at all times, as long as the sensor 310 is compatible with the light source. This eliminates many problems that may be associated with the use of ambient lighting to detect drowsiness. An optional alarm 322, which for example can be buzzer, bell or other means of notification can be activated by the controller 42 upon detecting that the driver is falling asleep. All the components contained in the mirror assembly 308, and the image processing system 319 are preferably energized by the vehicle's electrical system. The image processing system 319 monitors the driver's alert status by detecting in real time and on a continuous basis, the duration of the blinking of the driver's eyes and / or the intervals between the blinks, and causing the alarm 322 to fire to wake the driver in case the driver is detected that he is falling asleep. The image processing system 319 receives an image of the driver's face from the sensor 310. The image may be the entire face of the driver, or of a selected area of the driver's face that includes at least one eye of the driver. The image processing system 319 is capable of detecting numerous criteria that are associated with the blinking of the eyes. These include any particularity of the face that can be used to discern the closure of an eye, including the detection of the pupil, retina, the white of the eye, the eyelids of the eye and the skin adjacent to the eye and others. The eye can also be detected by detecting any changes in the appearance of the eye when it blinks or detecting the movement of the eye lid during blinking. Referring to Figure 30, as an initial step, the system of the invention preferably detects the presence of a driver in the driver's seat (402). This can be achieved in a number of ways, such as by an electrical weight sensor switch in the driver's seat or by interconnecting with a signal generated by the vehicle indicating that the vehicle is in use in motion, e.g. a speed sensor, a switch that detects that the vehicle is in gear position, a driver that detects the closure of the seat belt, etc. During detection of this signal, the system enters a search mode to detect the driver's face or the eye (s) of the driver. Alternatively, since the system is energized by the vehicle's electrical system, and most preferably by a circuit of the electrical system that is energized only when the vehicle is connected, the system connects only when the engine is connected, and enters in a search mode in which it works until the driver's face or eye (s) are detected. During the detection of a driver in the vehicle (404) a Present Driver's flag is set to "1" so that the controller 42 is aware of the presence of the driver. As an alternative method for detecting the presence of the driver, if the sensor 10 is mounted in a manner that allows (or requires) the sensor to adjust to the face of the driver before use, e.g. By adjusting the rear mirror shown in Figure 21, the system can trigger an alarm until the sensor has acquired the driver's face. The driver can also be detected using the image processing system to detect the driver entering the driver's seat. This assumes that the image processing system and the sensor 10 have already been energized when the driver enters the vehicle, such as by connecting the image processing system and the sensor with a circuit of the vehicle's electrical system having constant power. Alternatively, the system can be energized by detecting the open vehicle door, etc. When the driver enters the driver's seat, the image of the sensor 10 will be characterized by many pixels of the image that are in motion ((DP = 1), with CO having a relatively high value, moving in a lateral direction away from the Driver's door The pixels also have skin tint characteristics In this mode in a mode where the system is trying to detect the presence of the driver, the controller 42 adjusts the validation units to detect the driver's movement toward the driver. vehicle adjusting the formation units of the histogram to detect the movement characteristic of a driver entering the driver's seat Easier, the controller 42 can adjust the validation units to detect DP = 1, and analyze the histogram in the histogram formation unit for DP in order to detect a movement indicative of a person entering the vehicle, eg NB PTS exceeds a threshold value.
Figure 23 shows the field of view 323 of the sensor 310 between the directions 323a and 323b where the head T of the conductor is inside, and preferably centered in the conical field 323. The field 323 can be kept relatively narrow since the movements of The head T of the driver while driving are limited. The limitation of the field 23 improves the sensitivity of the system since the driver's face will be represented in the images received from the sensor 10 by a greater number of pixels, which improves the process of histogram formation, which will be discussed below. In general, the number of pixels in motion will depend on the visual field of the sensor. The ratio of the number of pixels characteristic of a driver moving towards the vehicle to the total number of pixels in a frame is a function of the size of the visual field of the sensor. For a narrow field of view (a smaller angle between 323a and 323b in Figure 23), a greater number and possibly more than 50 percent of the pixels will be "in motion" as the driver enters the vehicle, and The threshold value will be higher. For a wide field of view (an angle greater than 323a and 323b in Figure 23) a smaller number of pixels will be "in motion" as the driver enters the vehicle.
The threshold value is adjusted corresponding to a specific location and type of sensor and is based on other characteristics of the specific installation of the system. If NBPTS for the DP histogram exceeds the threshold value, the driver has detected the presence of the driver. As discussed above, other characteristics of the driver entering the vehicle can be detected by the system, including high CO, hue, direction, etc. in any of the combinations as appropriate, to make the system more robust. For example, the controller 42 may adjust the linear combination units of the direction histogram formation unit to detect the pixels moving towards the vehicle, may adjust the linear combination unit for CO to detect high values and / or you can adjust the linear combination unit for the hue in order to detect the characteristic shades of human skin. The controller 42 can then adjust the validation units to detect the DP, CO, hue and / or direction as appropriate. The resulting histogram can then be analyzed to determine if NBPTS exceeds a threshold value, which would indicate that the driver has moved into the driver's seat. It will be visualized that features other than NBPTS can be used from the resulting histogram to detect the presence of the driver, e.g. RMAX exceeds a threshold value. When the driver has been detected, that is, when the Driver's Present flag has been set to "1", the system detects the driver's face in the video signal and eliminates further processing of superfluous portions of the video signal previously. cited, even below and to the right and left of the driver's head. In the image of the head of the drivers, the edges of the head are detected based on the movements of the head. The edges of the head will normally be characterized by DP = 1 due to the differences in the luminescence of the skin and the background even due to minimal movements of the head, while the head is stopped. The movement of the head can also be characterized by vertical movement in the upper part and the lower edges of the head and movement to the left and right of the vertical edges of the head. The pixels of the moving head will also be characterized by a hue that corresponds to the human skin and a relatively slow movement compared to the movement of the eyelid of the eye, for example. The controller 42 preferably adjusts the DP linear combination unit to defecate DP = 1 and adjusts the linear combination unit for direction in order to detect the vertical and horizontal movement only (406). Optionally, the linear combination units for speed and hue can be adjusted to detect low speeds and nuances of human skin to make the system more solid. Also, the linear combination unit for CO can be adjusted to eliminate the very fast movements characteristic of eye blinking in order to prevent the eyes from being considered during this stage the processing during which the head is being detected. Finally, the controller 42 adjusts the validation units for DP, direction and position of x and y so that they are "connected" (406). Optionally, the validation units for speed, hue and CO can be adjusted by "connecting" if these criteria are being detected. As illustrated in Figure 24, the pixels having the selected characteristics are formed in histograms 324x and 324y along the axes Ox and Oy, that is, the horizontal and vertical projections respectively. The slight movements of the head of the driver that has the selected characteristics and which are indicated as vibrations 327a, 327b, 327c and 327d, which are shown as a line, but which actually extend through a small area surrounding the periphery of the head. The crests 325a and 325b of the histogram 324x and 325c and 325d of the histogram 324y delimit by, their respective coordinates 326a, 326b, 326c and 326d a frame bounded by the straight lines Ya, Yb, Xc, Xd, which correspond generally to the area where the driver's side V is placed. The controller 42 reads the histograms 324x and 324y from the histogram formation units, preferably during the target range and detects the location of the ridges 325a, 325b, 325c and 325d (408). In order to ensure that the head has been identified, the distance between the ridges 325a and 325b and between the ridges 325b and 325c is preferably tested to fall within a scale corresponding to the normal scales of the human head sizes. Once the location of the coordinates 326a, 326b, 326c and 326d has been established, the area surrounding the driver's face is masked by additional processing (410). Referring to Figure 25, this is accomplished by having the controller 42 adjust XMIN, XMAX, YMIN and YMAX to correspond to Xc, Xd, Ya and Yb, respectively. This masks the area of crosses that surrounds the V-side of additional consideration that helps eliminate background movement against affecting the ability of the system to detect the eye (s) of the driver. In this way, for subsequent analysis, only the pixels in the central area Z, surrounded by the lines Xc, Xd, Ya, Yb and containing the face V are taken into account. As an alternative method for masking the area outside the central area Z, the controller 42 can adjust the graphic memory to mask these areas. As indicated above, the semi-graphic memory can be used to mask the selected pixels of the image into single or small rectangular groups. Since V is not rectangular, the use of semi-graphic memory allows a better masking around the rounded edges of the face to better eliminate the background pixels from further consideration. The process of detecting the driver's head and masking the background areas is repeated at regular intervals, and preferably once every ten frames or less. It will be seen that this process can be repeated during each frame, if desired, particularly if more than one set of histogram formation units is available for use. The controller 42 can also calculate the average values over time for the coordinates 326a, 326b, 326c and 326d and the use of these values to adjust the mask coordinates Xc, Xd, Ya, Yb, if desired. This will establish an almost fixed position for the box over time.
Once the frame is set, a Head-Sided flag (412) is set to "1" and the controller 42 starts the process of reducing the frame size to more closely surround the driver's eyes. Referring to Figure 26, where the Z chart represents the area limited by Ya, Yb, Xc, Xd determined in the previous step, the controller 42 initially uses the usual anthropomorphic relationship between the eye area and the entire face for a human being, especially in the vertical direction, in order to reduce the area that is being considered to cover a smaller area Z 'limited by the lines Y' a, Y'b, X 'c and X' d that includes the eyes U of the driver. In this way, the pixels in the external area of intersections of Figure 27 are eliminated from consideration and only the area within the frame Z 'is further considered. This is achieved by having the controller 42 set XMIN, XMAX, YMIN and YMAX to correspond to X 'c, X' d, Y 'a and Y' b, respectively (414). This masks the pixels in the area outside of Z 'of additional consideration. In this way, for subsequent analysis, only the pixels in the area Z 'containing the eyes U are considered. As an alternative method to mask the area outside the area Z ', the controller 42 can adjust the semi-graphic memory to mask these areas. It can be seen that an anthropomorphic relationship can be used to adjust the Z 'frame around only one eye, with the blink detection being generally the same as what is described below, but only for one eye. Once the area Z 'is determined using the anthropomorphic relationship, an Approximate Eye Centering flag (416) is set to "1", and the controller 42 performs the step of analyzing the pixels within the Z1 area to identify the movement of the eyelids of the eye. The movement of the eyelids of the eye are characterized by criteria that include high-speed vertical movement of the pixels with the skin tint. Generally, within the Z 'area, the formation of histograms for DP = 1 may be sufficient to detect the movement of the eyelid of the eye. This detection can be made more solid by detecting high CO values, by detecting vertical movement, by detecting high speed and by detecting the hue. As an alternative to hue detection, the movement of the pixels of the eye can be detected by detecting pixels with DP = 1 that do not have the hue of the skin. This will allow the detection of changes in the number of pixels associated with the pupil, retina, iris, etc.
The controller 42 adjusts the linear combination unit for DP to detect DP = 1 and adjusts the validation units for DP, and the position of x and y to remain at (418). Optionally, linear combination units and validation units can be adjusted to detect other criteria associated with eye movement, such as CO, velocity and hue. Initially, the controller 42 also adjusts XMIN, XMAX, YMIN and YMAX to correspond to X 'c, X' d, Y 'a and Y' b, respectively. Referring to Figure 27, a histogram of selected criteria is formed and analyzed by the controller 42 (420). If desired, a test is conducted to ensure that the eyes have been detected. This test, for example, may consist of and ensure that NBTS in the histogram exceeds a threshold value e.g. 20 percent of the total number of pixels in the box Y 'a, Y' b, X 'c, X' d. Once the eyes have been detected, a Detected Eye flag is set to "1" (422). Figure 27 illustrates the histogram 28x along the Ox axis and the histogram 28y along the axis Oy of the pixels with selected criteria corresponding to the eyelids of the driver's eye, preferably DP = 1 with vertical movement. The controller 42 analyzes the histogram and determines the crests 29a, 29b, 29c and 29d of the histogram. These crests are used to determine the horizontal lines X "c and X" d and the vertical lines Y "ae Y" b that define an area of movement of the eyelids of the eye Z ", the movements of the edges of which are indicated in 30a and 30b for one eye and 30c and 30d for the other eye (424) .The limited frame position by Y "a, Y" b, X "c, X" d, is preferably determined and updated by average time of the values of the ridges 29a, 29b, 29c and 29d, preferably every ten frames or less.Once the eyes have been detected and the Z-frame "has been set, a" 1"(426) is set Centered Eye flag and only pixels are only subsequently processed within the Z box. "The controller 42 then determines the lengths of the eye blinks, and if applicable the time interval between successive blinks Figure 28 illustrates in a system of three-dimensional orthogonal coordinates: OQ, which corresponds to the number of pixels in the area to Z "that has the selected criteria; To, which corresponds to the interval of time between the successive blinks and Oz, which corresponds to the length of each blink. From this information, it is possible to determine when a driver is falling asleep. Two successive blinks Cl and C2 are shown in Figure 28. Figure 29A illustrates in curve C the variation over time of the number of pixels in each frame having the selected criteria, e.g. DP = 1, where the successive ridges Pl, P2, P3 correspond to successive blinks. This information is determined by the controller 42 of the NBPTS of the histogram formation units x and / or y. Alternatively, the controller 42 can analyze the histograms x and / or y of the histogram formation units (FIG. 27) to detect crests 29a and 29b and / or 29c and 29d that will exhibit graphic characteristics similar to those shown in FIG. Figure 29A. The controller analyzes the data in Figure 29A over time to determine the location and timing of the ridges on the graph (428). This can be done, for example, as shown in Figure 29B, by converting the graph shown in Figure 29A into a stream of binary data, where all pixel counts through a threshold value are graded to "1". and all pixel counts less than the threshold value are set to "0" (vertical dashes 31) in order to convert the ridges Pl, P2, P3 into rectangles R1, R2, R3, respectively. Finally, Figure 29B shows the lengths of each blink (5, 6 and 5 frames respectively for flickers Pl, P2 and P3) and time intervals (14 and 17 frames for the intervals between blinks Pl and P2, and P2 and P3, respectively).
This information is determined by the controller 42 through an analysis of the peak data over time. Finally, the controller 42 calculates the lengths of the flashes of the successive eye, and the interval between the successive blinks (430). If the length of the flashes exceeds the threshold value, e.g. 350 ms, a flag is set to "1" indicating that the flashing threshold value has been exceeded. If the time interval between successive blinks is found to vary significantly over time, a flag indicating a variable interval between blinks is set to "1". By adjusting the first flag indicating that the driver is blinking at a rate indicating that he is falling asleep, the controller 42 activates the alarm 322 to awaken the driver. The second flag can be used either to generate an alarm in the same way as with the first flag or to reinforce the first flag, for example, to increase the sound level of the alarm. Figures 31-36 show an alternative method by which the generic image processing system can be used to detect that a driver is falling asleep. Initially, the controller 42 is placed in a search mode (350), wherein the controller 42 is scanning the image to detect one or more characteristics of the face, and preferably, the nostrils. The nostrils are usually shaded and as such are usually defined by low luminance. Referring to Figure 31, the area of the image disintegrates into a number of sub-images 352, in this case six, marked A-F, which are analyzed in sequence by the controller 42 to locate the nostrils. As each of the sub-images 352 is shown, it preferably overlaps each adjacent sub-image by an "amount 353 equal to at least the normal combined width of the nostrils and the spacing between them to minimize the possibility of losing the location of the nostrils, while in the search mode, the controller 42 adjusts XMIN, XMAX, YMIN and YMAX to correspond to the first sub-image A (354). then adjust the registers 106 in the luminance linear combination unit to detect low luminance levels (356) .The current selected luminance level will vary depending on various factors such as ambient lighting, time of day, weather conditions, etc. Keeping in mind that the controller 42 is able to access the calculated histogram for luminance from the histogram forming unit 24, the controller 42 can use a value of u. mbral or other desired technique for selecting the desired luminances to search the nostrils, e.g. select 15 percent of the lowest luminance values for consideration, and you can adapt the threshold, as desired. The controller 42 also adjusts the validation units for luminance and the histogram x and y in (358), thereby causing the histograms x and y to be formed from selected low luminance levels. The controller 42 then analyzes the direction histograms x and y to identify the indicative characteristics of the nostrils, as will be discussed below (360). If the nostrils are not identified (362), the controller 42 repeats this process in the next sub-image, ie, the sub-image B, and each subsequent sub-image, until the nostrils are identified, repeating the process starting with sub-image A if required. Each sub-picture is analyzed by the controller 42 in a single frame. Consequently, the nostrils can usually be acquired through the system in less than six frames. It will be seen that additional sub-images can be used, if desired. It will also be visualized that the area in which the sub-images are searched can be restricted to an area in which the nostrils will be more likely to be present., either as determined from a previous operation of the system, or by using an anthropomorphic model. For example, the contour of the driver's head can be determined as described above, and the search of the nose window can be restricted to a small sub-area of the image. It is also displayed that the entire image can be searched at the same time for nostrils if desired. Even though the invention has been described with respect to the identification of the nostrils as a starting point for locating the eyes, it may be visualized that any other facial features, e.g., the nose, ears, eyebrows, mouth, etc. and combinations thereof, can be detected as a starting point to locate the eyes. These characteristics can be discerned from any of the characteristics that can be searched by the system, including CO, DP, speed, direction, luminance, hue and saturation. It can also be seen that the system can locate the eyes directly, ie, simply looking for the entire image for DP = 1 with a vertical movement (or any other of the characteristics of the eye that can be searched), without the need to use other facial criteria such as point. In order to provide a detailed view of the eye while allowing detection of the head or other facial feature of the driver, it may be seen that separate sensors may be used for each purpose. Figure 32 shows the sample of histograms x and y of a sub-image where the nostrils are placed. The nostrils are characterized by a ridge 370 in the histogram of the direction y, and two crests 372 and 374 in the histogram of the x direction. Confirmation that the nostrils have been identified can be achieved in several ways. First, the histograms are analyzed to make sure that the characteristics of each histogram fill certain conditions. For example, NBPTS of each histogram must exceed a threshold associated with the number of pixels detectable normal for the nostrils. Likewise, RMAX in the histogram y, and each crest of the histogram x must exceed a similar threshold. Second, the distance between the nostrils d is fairly constant. The histogram x is analyzed by the controller 42 and d is measured to ensure that it remains within a desired range. Finally, the width of a nostril is also fairly constant even when subjected to variation due to shading effects. Each of the histograms x and y is analyzed by the controller 42 to make sure that the dimensions of each window of the nose are within the desired scale. If the nostrils are found by the controller 42 that meets these criteria, the nostrils have been acquired and the search mode is terminated. If the nostrils have not been acquired, the search mode is continued. Once the nostrils are acquired, the position x of the center of the face (position d / 2 within the sub-image under consideration) is determined, as well as the location of the nostrils in the image ( POSRMAX of the histogram y) (364). In the present example, only a single eye is analyzed to determine when the driver is falling asleep. In this case, the shadow of the eye in the open and closed positions is used to determine from the shape of the shadow whether the eye is open or closed. As discussed above, for overnight applications, the invention is preferably used in combination with a shortwave infrared light source. For the example described today, the infrared light source is preferably placed above the conductor in a position to send a shadow having a shape capable of being detected by the system. The anthropomorphic model of preference is adaptive to movement, to particularities of the driver, and to angular changes of the conductor in relation to the sensor. Referring to Figure 32, having determined the location of the nose windows 272 of the driver having a central position XN, YN, a search box 276 is established around the eye 274 of the driver (366). The location of the search box 276 is adjusted using an anthropomorphic model, where the spatial relationship between the eyes and the noses of humans is already known. The controller 42 adjusts XMIN, XMAX, YMIN and YMAX to search within the area defined by the search box 276. The controller 42 further adjusts the luminance and the histograms of direction x and y so that they are connected, with the linear combination unit for the adjusted luminance to detect low histogram levels relative to the rest of the image, eg, 15 percent lower luminance levels (368) As a confirmation of the detection of the nostrils or other facial feature that is being detected, the search box 276, which is established around an eye 274 of the driver using an anthropomorphic model, can be analyzed for characteristics indicative of a eye present in this search box. These features may include, for example, an eyelid of the movable eye, a pupil, the iris or the cornea, a shape corresponding to an eye, a shadow corresponding to an eye, or any other indication indicative of an eye. The controller 42 adjusts the histogram formation units to detect the desired criteria. For example, Figure 36 shows a sample histogram of a pupil 432, wherein the linear combination units and the validation units are adjusted to detect pixels with very low luminance levels and high brightness that are characteristic of a pupil. The pupil can be verified by comparing the shapes or configurations of histograms x and y with known characteristics of the pupil, which are usually symmetric, keeping in mind that the symmetry can be affected by the angular relationship between the sensor and the driver's head. During the detection of the desired secondary facial criteria, the identification of the nostrils is confirmed and the detection of the openings and closures of the eye is initiated. Alternatively, the criterion being detected to confirm the identification of the nostrils can be an eye blink using the technique that will be described below. If no flickering of the search box is detected, the search mode is reset.
Blinking of the eye is detected during a 400 mode. In the tracking mode the controller 42 adjusts XMIN, XMAX, YMIN and YMAX to search within the area defined by the search box 276. The controller 42 also adjusts the luminance and the histograms x and y direction to be connected, with the linear combination unit for luminance set to detect low histogram levels relative to the rest of the image, ie, the lowest 15 percent of the luminance levels (368), in order to detect the shading of the eye. During tracking mode, the system monitors the location of the nostrils 272 to detect movement of the head. During the detected movement of the head, and a resulting displacement in the position of XN, YN, the search box 276 is shifted according to the anthropomorphic model to retain the search box above the driver's eye. Figure 33 shows the shapes of the histograms x and y 376, 378 with the eye open, and Figure 34 shows the shapes of the histograms x and y 380, 382 with the eye closed. The shapes of the shadows and especially the shape of the shadow with the closed eye will vary depending on the location of the camera and the location of the lighting source that creates the shadow, e.g., the sun or the infrared light source. In any case, the MAXx-MINx width and MAXy-MINy height of each histogram will usually be significantly greater for an open eye than for a closed eye. The controller 42 analyzes the width and height of each histogram to determine when the eye is open and when it is closed (382). An open eye can be determined by any number of features of the histograms x and y, including the MAXx-MINx width and the MAXy-MINy height exceeding the thresholds, exceeding an NBPTS threshold of each histogram, and exceeding an RMAx threshold of each histogram, the change in POSRMAX position compared to a closed eye, etc. Similarly, a closed eye can be determined by any number of histogram characteristics x and y, including the MAXx - MINx and the MAXy - MINy height that lie below the thresholds, NBPTS of each histogram being below a threshold, and RMAX of each histogram remaining below a threshold, changes to the POSRMAX position compared to an open eye, etc. In a preferred embodiment, the controller 42 calculates the MAXx-MINx width and the MAXy-MINy height of each histogram and uses thresholds to determine whether the eye is open or closed. If each width MAXx - MINx and height MAXy - MINy exceeds the thresholds, the eye is determined to be open. If each width of MAXx - MINy and height MAXy - MINy is below the thresholds (which may be different from thresholds used to determine an open eye), the eye is determined to be closed (384) - MAX and MIN preferably MAX and MIN are calculated in the histogram formation units. On the other hand, MAX and MIN may be other thresholds, e.g., points on the histograms corresponding to RMAX / 2 or certain other threshold in relation to RMAX. The controller 42 analyzes the number of frames and the eye is open and closed over time to determine the duration of each blink and / or the interval between the blinks (386). Using this information, the controller 42 determines whether the driver is sleepy (388). Upon determining that the driver is sleepy, the controller 42 generates an alarm to awaken the driver (390) or another signal indicative that the driver is sleeping. The controller 42 constantly adapts the operation of the system especially to vary the lighting levels. The controller 42 can detect varying lighting conditions by periodically monitoring the luminance histogram and adapting the gain of the sensor to maintain a luminance spectrum as wide as possible. The controller 42 can also adjust the thresholds that are used to determine shading, etc. to better distinguish the shading of the eye and the nose window from the noise, e.g., the shading on the side of the nose, and can also adjust the gain of the sensor to minimize this effect. If desired, the controller 42 may cause the histogram forming units to form a histogram of the iris. This histogram can also be monitored for consistency, and the different thresholds used in the system can be adjusted as needed. It will be appreciated that while the invention has been described with respect to the detection of the eyes of a driver using certain criteria, the invention is capable of detecting any criteria of the eyes using any of the possible measured characteristics of the pixels, and that the The characteristics of a sleeping driver can be discerned from any other information in the histograms formed by the invention. Also, even when the invention has been described with respect to detecting drowsiness of the driver, it is applicable to any application in which drowsiness is to be detected. More generally, even when the present invention has been described with respect to certain embodiments and examples, there are variations that fall within the scope of the invention as described in the following claims.

Claims (39)

lOo - R E I V I N D I C A C I O N E S:
1. A process of detecting a person who is sleeping, understanding the process of the steps of: acquiring an image of the face (V) of the person; selecting pixels of the image that have characteristics that correspond to the characteristics of at least one eye of the person; forming at least one histogram (328x) of the selected pixels; analyze at least one histogram (328x) over time to identify each opening and closing of the eye; and determining from the opening and closing information of the eye, the characteristics indicative that the person is falling asleep; identifying a sub-area of the image comprising at least one eye before the step of selecting pixels of the image having characteristics corresponding to the characteristics of at least one eye, this step of selecting pixels comprises selecting pixels within the sub-area of the image comprising the steps of: identifying the head of the person in the image; identify the sub-area of the image using an anthropomorphic model.
The process according to claim 1, wherein the step of identifying the head of the person in the image comprises the steps of: selecting pixels of the image having characteristics corresponding to the edges of the head of the person; forming histograms (328x, 328y) of the selected pixels projected towards the orthogonal axes; and analyzing the histograms of the selected pixels to identify the edges of the person's head.
3. The process of detecting a person who is falling asleep, the process includes the steps of: acquiring an image of the face V of the person; selecting pixels of the image that have characteristics that correspond to the characteristics of at least one eye of the person; forming at least one histogram (328x) of the selected pixels; analyze at least one histogram over time to identify each opening and closing of the eye; and determine that the opening and closing information of the eye, the indicative characteristics of a person who is falling asleep; identifying a sub-area of the image comprising at least one eye before the step of selecting the pixels of the image having characteristics corresponding to the characteristics of at least one eye, wherein the step of selecting pixels of the image having characteristics that correspond to the characteristics of at least one eye, comprises selecting pixels within the sub-area of the image; identify the location of a facial feature of the person in an image; and identify the sub-area of the image using an anthropomorphic model and the location of the facial feature.
The process according to claim 3, wherein the step of identifying the location of a facial feature of the person in the image comprises the steps of: selecting pixels of the image that have characteristics that correspond to the facial feature; forming histograms of the selected pixels projected towards the orthogonal axes; and analyzing the histograms of the selected pixels to identify the position of the facial feature in the image.
5. The process according to claim 4, wherein the facial feature is the nostrils of the person, and wherein the step of selecting pixels of the image that have characteristics that correspond to the facial feature, comprises selecting pixels which have low luminance levels.
The process according to claim 5, further comprising the step of analyzing the histograms of the pixels of the nostril to determine if the spacing between the nostrils is within a desired range and if the The dimensions of the nostrils are within a desirable range.
7. The process of detecting a person who is falling asleep, the process comprising the steps of: acquiring an image of the face (V) of the person; - selecting pixels of the image that have characteristics that correspond to the characteristics of at least one eye of the person; forming at least one histogram (328x) of the selected pixels; analyze at least one histogram over time to identify each opening and closing of the eye; and determining from the information of the opening and closing of the eye, the indicative characteristics that a person is falling asleep; the step of selecting pixels of the image having characteristics corresponding to the characteristics of at least one eye of the person comprises selecting pixels having low levels of luminance corresponding to eye shading; and wherein the step that analyzes at least one histogram through time to identify each opening and closing of the eye, comprises analyzing the shape of the eye shading to determine the openings and closures of the eye.
The process according to claim 7, wherein the step of taking at least one histogram of the selected pixels comprises forming histograms of the shaded pixels of the eye projected towards the orthogonal axes, and wherein the step of analyzing the form The shading of the eye involves analyzing the width and height of the shading.
9. The process of detecting a person who is falling asleep, the process includes the steps of: acquiring an image of the face V of the person; selecting pixels of the image having characteristics that correspond to the characteristics of at least one eye of the person; forming at least one histogram (328x) of the selected pixels; analyze at least one histogram over time to identify each opening and closing of the eye; and determining from the opening and closing information of the eye, the characteristics indicative that a person is falling asleep; the step of selecting pixels of the image having characteristics that correspond to the characteristics of at least one eye of the person comprises selecting moving pixels corresponding to blinking; and wherein the step that analyzes at least one histogram over time to identify each opening and closing of the eye comprises analyzing the number of pixels moving through time to determine the openings and closures of the eye.
The process according to claim 9, wherein the step of selecting pixels of the image having characteristics that correspond to the characteristics of at least one eye of the person, comprises selecting those having the characteristics selected from the group that consists of i) DP = 1, ii) CO indicative of an eyelid of the blinking eye; iií) indicative speed of an eyelid of the blinking eye, and iv) the upward and downward movement indicative of an eyelid of the blinking eye.
The process according to claim 3, wherein the step of identifying a facial feature of the person comprises the step of searching the sub-images of the image to identify the facial feature.
The process according to claim 5, wherein the step of identifying a facial feature of the person in the image comprises the step of searching the sub-images of the image to identify the nostrils.
The process according to claim 11, wherein the facial feature is a first facial feature and further comprising the steps of: using an anthropomorphic model and the location of the first facial feature to select a subarea of the image it contains a second facial feature; select pixels of the image that have characteristics that correspond to the second facial feature; and analyzing the histograms of the selected pixels of the second facial feature to confirm the identification of the first facial feature.
14. An apparatus for detecting a person falling asleep, the apparatus comprising: a sensor for acquiring an image of the person's face, the image comprising pixels corresponding to the person's eye; a controller; and a histogram forming unit to form a histogram in the pixels having selected characteristics, the controller controls the histogram forming unit for selecting pixels of the image having characteristics corresponding to the characteristics of at least one eye of the person and to form a histogram of the selected pixels, the controller analyzes the histogram through time to identify each opening and closing of the eye, and to determine from the opening and closing information of the eye, the characteristics indicative of a person being falling asleep; the controller interacting with the histogram formation unit to identify a sub-area of the image comprising at least one eye, the controller controls the histogram formation unit to select pixels of the image having characteristics corresponding to the characteristics of at least one eye only within the sub-area of the image; the controller interacts with the histogram formation unit to identify the head of the person in the image; and the controller identifies the sub-area of the image using an anthropomorphic model.
The apparatus according to claim 14, wherein: the histogram forming unit selects pixels of the image having features corresponding to the edges of the person's head and forms histograms of the selected pixels projected onto the axes orthogonal; and the controller analyzes the histograms of the selected pixels to identify the edges of the person's head.
16. The apparatus according to claim 14, wherein: the controller interacts with the histogram formation unit to identify the location of a facial feature of the person in the image; and the controller identifies the sub-area of the image using an anthropomorphic model and the location of the facial feature.
The apparatus according to claim 16, wherein: the histogram forming unit selects pixels of the image having characteristics that correspond to the facial feature and forms histograms of the selected pixels projected towards the orthogonal axes; the controller analyzes the histograms of the selected pixels to identify the position of the facial feature in the image.
The apparatus according to claim 17, wherein the facial feature is that of the nostrils of the person, and wherein the histogram forming unit selects pixels of the image that have low levels of luminance that correspond at the luminance level of the nostrils.
19. The apparatus according to claim 18, wherein the controller analyzes the histograms of the pixels of the nostrils to determine if the spacing between the nostrils is within a desired scale and if the dimensions of the windows of the nose are within a desired range. the nose are within a desired scale.
The apparatus according to claim 14, wherein: the histogram forming unit selects pixels of the image that have low luminance levels corresponding to eye shading; and wherein the controller analyzes the shape of the eye shading to determine the openings and closures of the eye.
The apparatus according to claim 20, wherein the histogram forming unit forms histograms of shaded pixels of the eye projected towards the orthogonal axes, and wherein the controller analyzes the width and height of the shading to determine the openings and closures Of the eye.
22. The apparatus according to claim 14, wherein: the histogram forming unit selects pixels of the moving image corresponding to blinking; and the controller analyzes the number of pixels moving through time to determine the openings and closures of the eye.
23. The apparatus according to claim 22, wherein the histogram forming unit selects pixels of the image having motion characteristics corresponding to the blinking, these characteristics are selected from the group consisting of i) DP = 1, ii ) CO indicative of a blinking eye lid; iii) the indicative speed of a blinking eye lid, and iv) the upward and downward movement indicative of an eye blinking eyelid.
The apparatus according to claim 16, wherein the controller interacts with the histogram forming unit to search the sub-images of the image to identify the facial feature.
25. The apparatus according to claim 18, wherein the controller interacts with the histogram forming unit to search the sub-images of the image to identify the nostrils.
26. The apparatus according to claim 24, wherein the facial feature is a first facial feature and further comprises: the controller uses an anthropomorphic model and the location of the first facial feature to cause the histogram formation unit to select a sub-frame. area of the image containing a second facial feature, the histogram formation unit selects pixels of the image in the sub-area having features that correspond to the second facial feature and form a histogram of these pixels; and the controller analyzes the histogram of the selected pixels corresponding to the second facial feature to confirm the identification of the first facial feature.
27. The apparatus according to claim 14, wherein the sensor is constructed integrally with the controller and the histogram forming unit.
28. The apparatus according to claim 14, further comprising an alarm, the controller operates the alarm during the detection of the person who is falling asleep.
29. The apparatus according to claim 14, further comprising an illumination source, the sensor being adapted to see the person when illuminated by the illumination source.
30. The apparatus according to claim 29, wherein the source of illumination is a source of IR radiation.
31. A rear mirror assembly for the vehicle comprising: a rear mirror; and the apparatus according to claim 14 mounted on the rear mirror.
32. The rear mirror assembly according to claim 31, further comprising a bracket that fixes the apparatus in the rear mirror.
33. The rear mirror assembly according to claim 31, further comprising a housing having an open and an interior side, the rear mirror is mounted on the open side of the housing, in the rear mirror and can be seen through the interior of the housing to an exterior of the housing, the apparatus being mounted inside the housing with the sensor facing the rear mirror.
34. The rear mirror assembly according to claim 33, further comprising a joint securing the apparatus to the rear mirror assembly, the joint being adapted to maintain the apparatus in a position facing the driver of the vehicle during adjustment in the assembly of the mirror by the driver.
35. The rear mirror assembly according to claim 31, further comprising a source of illumination directed towards the person, the sensor being adapted to see the person when illuminated by the illumination source.
36. The rear mirror assembly according to claim 31, further comprising an alarm by operating the alarm controller during the detection of the person falling asleep.
37. A rear mirror assembly comprising: a rear mirror; and the apparatus according to claim 14, the sensor being mounted on the rear mirror, the controller and the remote histogram forming unit of the sensor being positioned.
38. A vehicle comprising the apparatus according to claim 14.
39. A process of detecting a particularity of an eye, the process comprises the steps of: acquiring an image of the face of the person, the image comprises pixels corresponding to the particularity that will be detected; select pixels of the image that have characteristics that correspond to the particularity to be detected; forming at least one histogram of the selected pixels; analyze at least one histogram through time to identify the characteristics indicative of the particularity to be detected, this particularity has the iris, the pupil or the cornea.
MXPA/A/2000/006815A 1998-01-15 2000-07-11 Method and apparatus for detection of drowsiness MXPA00006815A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR98/00378 1998-01-15
PCPCT/EP1998/005383 1998-08-25

Publications (1)

Publication Number Publication Date
MXPA00006815A true MXPA00006815A (en) 2002-02-26

Family

ID=

Similar Documents

Publication Publication Date Title
EP1050033B1 (en) Method and apparatus for detection of drowsiness
US7253738B2 (en) System and method of detecting eye closure based on edge lines
US7253739B2 (en) System and method for determining eye closure state
US7746235B2 (en) System and method of detecting eye closure based on line angles
EP1933256B1 (en) Eye closure recognition system and method
JP4687150B2 (en) Direct light detector
JP2541688B2 (en) Eye position detection device
US20020149613A1 (en) Automatic positioning of display depending upon the viewer&#39;s location
EP0912964A1 (en) Method and device for real-time detection, location and determination of the speed and direction of movement of an area of relative movement in a scene
CN110738952A (en) HUD display method and system combining human eye recognition, tracking and ray recognition
JPH04216402A (en) Detecting apparatus of position of eye
EP2060993B1 (en) An awareness detection system and method
CN113112521A (en) Motion detection method based on pulse array
CN115171024A (en) Face multi-feature fusion fatigue detection method and system based on video sequence
CN110825216A (en) Method and system for man-machine interaction of driver during driving
JP4552636B2 (en) Driver monitor system and processing method thereof
MXPA00006815A (en) Method and apparatus for detection of drowsiness
JPH04174309A (en) Driver&#39;s eye position detecting apparatus and condition detecting apparatus
CN116503794A (en) Fatigue detection method for cockpit unit
JPH03202045A (en) Detecting device for state of driver
CN115366629A (en) Vehicle light shielding plate control method and system and computer readable storage medium
CN106657903A (en) Wearable anti-strong light device and anti-strong light method thereof
JPH07140222A (en) Method for tracking target
CN117640864A (en) Method and system for dynamic brightness adjustment for intelligent vision assistance system
JPH09230253A (en) Screen provided with automatic light control function and telescope incorporating the same