WO2013005560A1 - 瞼検出装置、瞼検出方法及びプログラム - Google Patents

瞼検出装置、瞼検出方法及びプログラム Download PDF

Info

Publication number
WO2013005560A1
WO2013005560A1 PCT/JP2012/065435 JP2012065435W WO2013005560A1 WO 2013005560 A1 WO2013005560 A1 WO 2013005560A1 JP 2012065435 W JP2012065435 W JP 2012065435W WO 2013005560 A1 WO2013005560 A1 WO 2013005560A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
driver
eyelid
distance
candidate
Prior art date
Application number
PCT/JP2012/065435
Other languages
English (en)
French (fr)
Inventor
和行 大野
崇 平槇
Original Assignee
アイシン精機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アイシン精機株式会社 filed Critical アイシン精機株式会社
Priority to US14/128,211 priority Critical patent/US20140126776A1/en
Priority to EP12807396.2A priority patent/EP2728550A4/en
Publication of WO2013005560A1 publication Critical patent/WO2013005560A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K28/00Safety devices for propulsion-unit control, specially adapted for, or arranged in, vehicles, e.g. preventing fuel supply or ignition in the event of potentially dangerous conditions
    • B60K28/02Safety devices for propulsion-unit control, specially adapted for, or arranged in, vehicles, e.g. preventing fuel supply or ignition in the event of potentially dangerous conditions responsive to conditions relating to the driver
    • B60K28/06Safety devices for propulsion-unit control, specially adapted for, or arranged in, vehicles, e.g. preventing fuel supply or ignition in the event of potentially dangerous conditions responsive to conditions relating to the driver responsive to incapacity of driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems

Definitions

  • the present invention relates to a wrinkle detection device, a wrinkle detection method, and a program, and more particularly, to a wrinkle detection device that detects wrinkles from an eye image, and a wrinkle detection method and program for detecting wrinkles from an eye image.
  • JP 2009-125518 A Japanese Patent Laid-Open No. 9-230436
  • the apparatus disclosed in Patent Document 1 generates a difference image from a photograph showing a driver's face. Then, this apparatus determines that the driver is blinking when there is an afterimage of wrinkles in the difference image. However, if the entire face of the driver has moved, an afterimage of wrinkles may appear in the difference image even though the wrinkles are not moving. In such a case, with the apparatus disclosed in Patent Document 1, it is considered difficult to accurately determine whether or not the driver is blinking.
  • the driver blinks using the fact that the intensity of the reflected light reflected by the driver's eyes changes between when the eyes are open and when the eyes are closed. Determine if you are.
  • the intensity of light incident on the driver's eyes changes with changes in the surrounding environment of the driver, the intensity of reflected light changes regardless of whether or not there is blinking. In such a case, it is considered that it is difficult for the device disclosed in Patent Document 2 to accurately determine whether the driver is blinking or not.
  • the present invention has been made under the above-described circumstances, and an object thereof is to accurately detect a driver's wrinkle.
  • a wrinkle detection device includes: Edge detection means for detecting an edge from an image of a driver's face sequentially photographed in a predetermined period; Extraction means for extracting, from the detected edges, a first edge that is a candidate for the upper eyelid edge of the driver and a second edge that is a candidate for the lower eyelid edge; Pairing means for pairing the first edge and the second edge; A threshold value calculating means for calculating a threshold value that is larger than the minimum value of the distance and smaller than the maximum value of the distance in accordance with a change in the distance between the paired first edge and the second edge; Based on the number of times the distance is greater than or equal to the threshold, it is determined whether or not to exclude the first edge from the upper edge candidate of the driver, and the second edge is the lower edge of the driver A decision means for deciding whether or not to exclude from the candidates, Based on the determination result by the determination means, the first edge and the second edge are excluded, and the upper edge and lower edge
  • the wrinkle detection method includes: A step of detecting an edge from an image of a driver's face that is sequentially photographed in a predetermined period; Extracting a first edge that is a candidate for an upper eyelid edge and a second edge that is a candidate for a lower eyelid edge from the detected edge; Pairing the first edge and the second edge; Calculating a threshold value that is greater than the minimum value of the distance and smaller than the maximum value of the distance in response to a change in the distance between the paired first edge and the second edge; Based on the number of times the distance is greater than or equal to the threshold, it is determined whether or not to exclude the first edge from the upper edge candidate of the driver, and the second edge is the lower edge of the driver Determining whether to exclude from the candidates, Based on the determination result, the first edge and the second edge are excluded, and the upper edge and the lower edge of the driver from the remaining pairs of the first edge and the second edge Detecting a pair of including.
  • the program according to the third aspect of the present invention is: On the computer, A procedure for detecting an edge from a driver's face image that is sequentially photographed during a predetermined period; Extracting a first edge that is a candidate for the upper eyelid edge and a second edge that is a candidate for the lower eyelid edge from the detected edge; Pairing the first edge with the second edge; Calculating a threshold value that is larger than the minimum value of the distance and smaller than the maximum value of the distance in accordance with a change in the distance between the paired first edge and the second edge; Based on the number of times the distance is greater than or equal to the threshold, it is determined whether or not to exclude the first edge from the upper edge candidate of the driver, and the second edge is the lower edge of the driver A procedure to decide whether or not to exclude from candidates, Based on the determination result, the first edge and the second edge are excluded, and the upper edge and the lower edge of the driver from the remaining pairs of the first edge and the second edge To find a pair of Is executed.
  • the eyelid edge candidates are extracted and paired from the edges detected from the driver's face image. Then, a pair of driver's eyelid edges is detected based on the temporal change in the distance between the paired edges. For this reason, even if the driver moves the face for a moment or the surrounding environment changes temporarily, the edge of the driver's eyelid can be accurately detected by observing the temporal change for a certain period. As a result, the driver's arousal level can be accurately determined.
  • FIG. 1 It is a block diagram of the wrinkle detection apparatus which concerns on 1st Embodiment. It is a figure which shows the image image
  • FIG. 1 is a block diagram illustrating a schematic configuration of a wrinkle detection device 10 according to the present embodiment.
  • the eyelid detection device 10 is a device that detects an eyelid of the driver from an image in which the driver's face is captured.
  • the wrinkle detection device 10 includes a calculation device 20 and a photographing device 30.
  • the photographing device 30 is a device that converts an image acquired by photographing a subject into an electrical signal and outputs the electrical signal.
  • the imaging device 30 is attached to, for example, a steering column or a steering.
  • an image IM photographed by the photographing device 30 is shown.
  • the mounting angle and the angle of view of the photographing device 30 are adjusted so that the face of the driver 50 seated in the driver's seat of the vehicle is positioned at the approximate center of the field of view.
  • the photographing device 30 photographs the face of the driver 50 at a predetermined sampling period, and outputs image information related to the image obtained by photographing to the arithmetic device 20.
  • the imaging device 30 outputs image information relating to, for example, four images per second.
  • an XY coordinate system having the origin at the lower left corner of the image IM is defined, and the following description will be given using the XY coordinate system as appropriate.
  • the computing device 20 is a computer having a CPU (Central Processing Unit) 21, a main storage unit 22, an auxiliary storage unit 23, a display unit 24, an input unit 25, and an interface unit 26.
  • CPU Central Processing Unit
  • the CPU 21 reads and executes the program stored in the auxiliary storage unit 23. Specific operations of the CPU 21 will be described later.
  • the main storage unit 22 has a volatile memory such as a RAM (Random Access Memory).
  • the main storage unit 22 is used as a work area for the CPU 21.
  • the auxiliary storage unit 23 has a non-volatile memory such as a ROM (Read Only Memory), a magnetic disk, or a semiconductor memory.
  • the auxiliary storage unit 23 stores programs executed by the CPU 21, various parameters, and the like.
  • the auxiliary storage unit 23 sequentially stores information about the image output from the imaging device 30 and information including the processing result by the CPU 21.
  • the display unit 24 has a display unit such as an LCD (Liquid Crystal Display).
  • the display unit 24 displays the processing result of the CPU 21 and the like.
  • the input unit 25 has an input key and a pointing device such as a touch panel.
  • the operator's instruction is input via the input unit 25 and is notified to the CPU 21 via the system bus 27.
  • the interface unit 26 includes a serial interface or a LAN (Local Area Network) interface.
  • the imaging device 30 is connected to the system bus 27 via the interface unit 26.
  • FIG. 3 corresponds to a series of processing algorithms of the wrinkle detection processing program executed by the CPU 21.
  • the operation of the eyelid detection device 10 will be described with reference to FIG.
  • a series of processes shown in the flowchart of FIG. 3 is periodically executed when, for example, the ignition switch of the vehicle is turned on.
  • step S201 the CPU 21 resets the counter value N of the built-in counter to zero.
  • CPU 21 has the image information of the sequentially stored image IM N in the auxiliary storage unit 23 obtains, for detecting the edge of the image IM N. Detection of the edge is performed by executing image processing using the Sobel filter for the image IM N.
  • CPU 21 first uses the horizontal edge detection operator shown in FIG. 4, the pixels to calculate a respective edge values constituting the image IM N.
  • This edge value becomes + (positive value) when the luminance of the pixel on the upper side (+ Y side) of the pixel whose edge value is to be calculated is high and the luminance of the lower pixel ( ⁇ Y side) is low.
  • This edge value becomes negative (negative value) when the luminance of the pixel on the upper side (+ Y side) of the pixel whose edge value is to be calculated is low and the luminance of the lower side ( ⁇ Y side) is high.
  • the CPU 21 extracts pixels whose edge value is equal to or greater than the first threshold value and pixels whose edge value is equal to or smaller than the second threshold value.
  • CPU 21 uses the vertical edge detection operator shown in FIG. 5, to calculate the pixel of each edge value constituting the image IM N.
  • This edge value becomes + (positive value) when the luminance of the pixel on the left side ( ⁇ X side) of the pixel whose edge value is to be calculated is high and the luminance of the pixel on the right side (+ X side) is low.
  • This edge value becomes-(a negative value) when the luminance of the pixel on the left side (-X side) of the pixel whose edge value is to be calculated is low and the luminance of the pixel on the right side (+ X side) is high. . Therefore, the CPU 21 extracts pixels composed of pixels having an edge value equal to or larger than the first threshold value and pixels having an edge value equal to or smaller than the second threshold value.
  • An edge 60A indicated by a broken line is a plus edge composed of pixels whose sum of edge values is +.
  • An edge 60B indicated by a solid line is a minus edge composed of pixels whose sum of edge values is ⁇ .
  • the CPU 21 detects continuous edges. Specifically, the CPU 21 groups pixels adjacent to each other with the same positive / negative polarity of the edge value among the pixels extracted in step S203. Thereby, a plurality of pixel groups composed of a plurality of pixels are defined. Next, the CPU 21 detects, as a continuous edge, a group whose horizontal direction (X-axis direction) length is greater than or equal to a threshold value from among a plurality of pixel groups.
  • an edge 60A 5 shown in FIG. 7 is continuous in the X-axis direction, and is constituted by the pixel polarity +.
  • the edge 60A 5 the pixel groups polarity adjacent to each other is composed of pixels equal, it is detected as a continuous edge.
  • edges 60A and 60B indicated by broken lines and solid lines in FIG. 6 are detected.
  • the CPU 21 calculates the center of gravity and the length of each of the edges 60A and 60B.
  • the CPU 21 when determining the center of gravity of the edge 60A 1 , uses the X coordinates, X 1 and X 2 of the points D 1 and D 2 at both ends of the edge 60A 1 , The X coordinate AX 1 of the center of gravity SA 1 is calculated by performing the calculation represented by the following equation (1). Then, CPU 21 is an X-coordinate and AX 1, calculates a point on the upper edge 60A 1 as the centroid SA 1.
  • AX 1 (X 1 + X 2 ) / 2 (1)
  • CPU 21 when determining the center of gravity of the edge 60B 1 is X-coordinate of the points at both ends of the edge 60B 1 D 3, D 4, with X 3, X 4, represented by the following formula (2) by performing the operation, and calculates the X coordinate BX 1 centroid SB 1. Then, the CPU 21 calculates the X coordinate as BX 1 and the point on the edge 60B 1 as the center of gravity SB 1 .
  • the lengths of the edges 60A and 60B can be obtained, for example, by calculating the length of the curve fitted to the edges 60A and 60B.
  • the CPU 21 performs edge pairing. Although there are individual differences between individuals, the size of the cocoon can be roughly predicted. Therefore, the CPU 21 extracts candidates for eyelid edges based on the sizes (widths) of the edges 60A and 60B in the X-axis direction. As a result, extremely long edges or extremely short edges are excluded from the eyelid edge candidates.
  • the CPU 21 determines the edges 60A, 60A, 60B in which the difference between the lateral centroid positions of the edge 60A and the edge 60B is less than or equal to the reference value, and the distance between the centroid SA of the edge 60A and the centroid SB of the edge 60B is less than or equal to the reference value. 60B sets are extracted.
  • CPU 21 calculates the X-coordinate AX 1 of the center of gravity SA 1 edge 60A 1, the difference df 11 of the X-coordinate BX 1 of the center of gravity SB 1 edge 60B 1. Further, CPU 21 calculates the center of gravity SA 1 edge 60A 1, the distance d 11 between the center of gravity SB 1 edge 60B 1. Then, CPU 21, the difference df 11 and the distance d 11 is, when each is less than a predetermined reference value, to pair edge 60A 1 and the edge 60B 1.
  • the CPU 21 performs the above-described processing between each edge 60A i and each edge 60B j , thereby pairing the edge 60A i and the edge 60B j .
  • the edge 60A 1 and the edge 60B 1, the edge 60A 2 and the edge 60B 2, edge 60A 3 and the edge 60B 3, edge 60A 4 and the edge 60B 4, and an edge 60A 5 and the edge Each 60B 5 is paired.
  • edge 60A 1 is a top edge of the right eyebrow of the driver 50, edge 60B 1, the lower edge of the right eyebrow.
  • Edge 60A 2 is a top edge of the left eyebrow of the driver 50, edge 60B 2, the lower edge of the left eyebrow.
  • Edge 60A 3 is an edge of the right eye on the eyelid of the driver 50, edge 60B 3 is an edge of the right under the eyes eyelid.
  • Edge 60A 4 is an edge of the left eye on the eyelid of the driver 50, edge 60B 4 is a left edge under eyes eyelid.
  • Edge 60A 5 is a top edge of the upper lip of the driver 50, edge 60B 5, the lower edge of the lower lip.
  • the CPU 21 associates the distance d ij between the paired edges 60A i and 60B j with the time t N when the image IM N was captured, and stores it as data Dij N (d ij , t N ). Store in unit 23. Thereby, the data Dij N (d ij , t N ) is stored in time series.
  • step S207 the CPU 21 determines whether or not the counter value N is 20 or more. If the determination in step S207 is negative (step S207: No), the CPU 21 returns to step S202. Thereafter, the CPU 21 repeatedly executes the processing from step S202 to step S207. As a result, processing such as edge detection and edge pairing is performed for each of the images IM 1 to IM 20 .
  • the data Dij N (d ij , t N ) is stored in the auxiliary storage unit 23 in time series.
  • image information related to four images IM per second is output to the computing device 20. Therefore, these data Dij 1 (d ij , t 1 ) to Dij 20 (d ij , t 20 ) are data when the driver 50 is observed for about 5 seconds.
  • step S207 determines whether the determination in step S207 is affirmed (step S207: Yes). If the determination in step S207 is affirmed (step S207: Yes), the CPU 21 proceeds to step S208.
  • step S208 the CPU 21 detects a pair of an upper eyelid edge and a lower eyelid edge from the paired edges. Specifically, the CPU 21 detects a pair of an upper eyelid edge and a lower eyelid edge by performing a first process, a second process, a third process, and a fourth process described later.
  • FIG. 9 shows points plotted in a coordinate system in which the vertical axis is distance d and the horizontal axis is time. These points are defined by the data Dij N (d ij , t N ) corresponding to the upper eyelid edge and the lower eyelid edge.
  • the series of data Dij N (d ij , t N ) is obtained when blinking is performed between time t 1 and time t 2 .
  • the distance d between the eyelid edge and lower eyelid edges on the driver 50 becomes the threshold value th 1 or more.
  • the distance d between the eyelid edge and lower eyelid edges on the driver 50 is smaller than the threshold value th 1.
  • the data Dij N (d ij , t N ) is data corresponding to the upper eyelid edge and the lower eyelid edge
  • the data Dij N (d ij , having a distance dij greater than or equal to the threshold th 1 is used.
  • the number M1 of t N) is the data Dij N (d ij with the threshold th 1 is smaller than the distance d ij, dominant than the number of t N).
  • the CPU 21 reads data Dij N (d ij , t N ) from the auxiliary storage unit 23. Then, the CPU 21 uses the minimum value d MIN and the maximum value d MAX of the distance d ij from the read data Dij N (d ij , t N ), and performs the calculation represented by the following equation (3): The threshold th (th 1 , th 2 , th 3 ) is calculated.
  • the CPU 21 counts the number M (M1, M2) of data Dij N (d ij , t N ) having a distance d ij equal to or greater than the threshold th.
  • M the number of data Dij N (d ij , t N ) having a distance d ij equal to or greater than the threshold th.
  • the CPU 21 selects an edge pair corresponding to the read data Dij N (d ij , t N ) as an upper edge edge and lower eyelid edge candidate.
  • the CPU 21 sets the edge pair corresponding to the data Dij N (d ij , t N ) to the upper eyelid edge and the lower eyelid edge. Exclude from candidates.
  • the data shown in FIG. 10 is data related to a pair of edges by a frame of glasses, for example. For this reason, in the above-described processing, a pair of glasses frames or the like is excluded from the candidates.
  • Second process As can be seen from FIG. 9, when the driver 50 blinks, the distance d becomes equal to or less than a predetermined reference value V1 min (for example, 3.5). Therefore, the CPU 21 extracts the minimum value d MIN of the distance d ij from the data Dij N (d ij , t N ) read from the auxiliary storage unit 23. Then, the CPU 21 compares the minimum value d MIN with the reference value V1 min . When the minimum value d MIN of the distance d ij is larger than the reference value V1 min , the CPU 21 determines the pair of edges corresponding to the data Dij N (d ij , t N ) as the upper eyelid edge. Exclude from candidate lower edge.
  • V1 min for example, 3.5
  • the CPU 21 corresponds to the data Dij N (d ij , t N ).
  • the edge pair is excluded from the upper eyelid edge and lower eyelid edge candidates.
  • the data shown in FIG. 11 is data related to a pair of the upper edges 60A 1 and 60A 2 of the eyebrows and the lower edges 60B 1 and 60B 2 , for example. For this reason, the pair of eyebrow edges is excluded from the candidates in the above-described processing.
  • the CPU 21 determines that the edge pair corresponding to the data Dij N (d ij , t N ) is the upper edge and the lower edge. Are excluded from the edge candidates.
  • the data shown in FIG. 12 is data related to a pair of the upper edges 60A 1 and 60A 2 of the eyebrows and the lower edges 60B 1 and 60B 2 , for example. For this reason, the pair of eyebrow edges is excluded from the candidates in the above-described processing.
  • ⁇ 4th process The distance d when the driver 50 opens his eyes converges to a substantially constant value (here, 9) as can be seen with reference to FIG. Therefore, the CPU 21 performs the calculation represented by the above formula (3) using the minimum value d MIN and the maximum value d MAX of the distance d ij from the read data Dij N (d ij , t N ), The threshold th 3 is calculated. Then, the CPU 21 calculates a variance vr of the data Dij N (d ij , t N ) having a distance d ij that is equal to or greater than the threshold th 3 .
  • the CPU 21 selects an edge pair corresponding to the read data Dij N (d ij , t N ) as an upper eyelid edge and lower eyelid edge candidate.
  • the CPU 21 calculates the variance vr of the data Dij N (d ij , t N ) corresponding to the points shown in FIG.
  • the CPU 21 determines the edge pair corresponding to the read data Dij N (d ij , t N ) as the upper eyelid edge and the lower eyelid edge. Exclude from candidates.
  • a pair of eyebrow edges, a pair of lips edges, and the like are excluded.
  • upper eyelid edge 60A 3 shown in FIG. 9, 60A 4 and the lower eyelid of the edge 60B 3 data corresponding to 60B 4 Dij N (d ij, t N) only remain without being excluded. Therefore, CPU 21 detects the remaining data Dij N (d ij, t N ) to the corresponding edge 60A 3 and the right eye on the eyelid and right under eyes eyelid pairs edge 60B 3 edge pairs without being excluded . Further, CPU 21 detects the pair of edges 60A 4 and the edge 60B 4 as a pair of edges of the left eye on the eyelid and left under eyes eyelid.
  • the CPU 21 finishes detecting the pair of eyelid edges of the driver 50, the CPU 21 ends the series of processes. Later, CPU 21 is included in the image IM that is output from the imaging device 30, a pair of edge 60A 3 and the edge 60B 3, observing the pair of edges 60A 4 and the edge 60B 4 as eyelid edges of both eyes. Then, the CPU 21 samples the number of blinks of the driver 50, the interval, and the like. For example, when the distance d 33 between the edge 60A 3 and the edge 60B 3 or the distance d 44 between the edge 60A 4 and the edge 60B 4 becomes equal to or smaller than a predetermined threshold and then becomes a certain size, the CPU 21 determines that the driver 50 It can be determined that a blink has occurred.
  • the CPU 21 outputs the blink sampling result to, for example, an external device. This makes it possible to monitor the awakening level of the driver 50 who drives the vehicle.
  • the distance d between the edges detected and paired from the image IM is sequentially calculated. Then, based on the calculated change in the distance d, candidates with low accuracy as a pair of eyelid edges are excluded. A pair of edges finally remaining as a result of this exclusion is detected as a pair of upper and lower eyelid edges. For this reason, detection is performed in consideration of not only the characteristics close to the edge of the eyelid but also the behavior as the eyelid. Accordingly, it is possible to accurately detect the edge of the eyelid of the driver 50.
  • a pair of edges by a frame of glasses does not become a candidate for the edge of the eyelid.
  • the edge of the eyelid of the driver 50 can be accurately detected.
  • the variance vr of the data Dij N (d ij , t N ) corresponding to the points shown in FIG. 13 is larger than a predetermined reference value V3 min , the data Dij N (d ij , t N ) is excluded from the candidates for the upper eyelid edge and the lower eyelid edge.
  • a pair of lip edges or the like is not a candidate for a heel edge.
  • the edge of the eyelid of the driver 50 can be accurately detected.
  • the wrinkle detection apparatus 10A according to the present embodiment is different from the wrinkle detection apparatus 10 according to the first embodiment in that the arithmetic device 20 is configured by hardware that executes each of a series of processes. As shown in FIG. 14, the arithmetic device 20 includes a storage unit 20a, an edge detection unit 20b, a continuous edge detection unit 20c, a calculation unit 20d, a pairing unit 20e, and a detection unit 20f.
  • the storage unit 20a sequentially stores information related to the image output from the imaging device 30, and information including the processing results of the units 20b to 20f.
  • the edge detection unit 20b acquires the image information of the image IM N sequentially stored in the storage unit 20a, and detects the edge of the image IM N. This edge detection is performed by executing image processing using a Sobel filter on the image IM.
  • the continuous edge detector 20c detects a continuous edge. Specifically, the continuous edge detection unit 20c groups pixels adjacent to each other with the same edge value polarity among the pixels extracted by the edge detection unit 20b. Thereby, a plurality of pixel groups composed of a plurality of pixels are defined. Next, the continuous edge detection unit 20c detects, as a continuous edge, a group having a length in the horizontal direction (X-axis direction) equal to or greater than a threshold value from among a plurality of pixel groups. As a result, edges 60A and 60B indicated by broken lines and solid lines in FIG. 6 are detected.
  • the calculation unit 20d calculates the centroids SA and SB and the lengths of the edges 60A and 60B, respectively.
  • the pairing unit 20e performs edge pairing. Although there are individual differences between individuals, the size of the cocoon can be roughly predicted. Therefore, the pairing unit 20e extracts eyelid edge candidates based on the sizes (widths) of the edges 60A i and 60B j in the X-axis direction. Next, the pairing unit 20e, the difference in center of gravity of the lateral edge 60A i and edge 60B j is not less than the reference value, and the distance of the center of gravity SB j of the center of gravity SA i and edge 60B j of the edge 60A i A pair of edges 60A i and 60B j whose and are less than or equal to the reference value is extracted.
  • the pairing unit 20e associates the distance d ij between the paired edges 60A i and 60B j with the time t N when the image IM N is captured, and uses the data as D ij N (d ij , t N ). And stored in the auxiliary storage unit 23. Thereby, the data Dij N (d ij , t N ) is stored in time series.
  • the detecting unit 20f detects a pair of an upper eyelid edge and a lower eyelid edge from the paired edges. Specifically, the detection unit 20f detects the pair of the upper eyelid edge and the lower eyelid edge by performing the above-described first processing, second processing, third processing, and fourth processing. Then, the detection unit 20f outputs the detection result to, for example, an external device.
  • the distance d between the edges detected and paired from the image IM is sequentially calculated. Then, based on the calculated change in the distance d, candidates with low accuracy as a pair of eyelid edges are excluded. A pair of edges finally remaining as a result of this exclusion is detected as a pair of upper and lower eyelid edges. For this reason, detection is performed in consideration of not only the characteristics close to the edge of the eyelid but also the behavior as the eyelid. Accordingly, it is possible to accurately detect the edge of the eyelid of the driver 50.
  • the photographing apparatus 30 outputs image information regarding four images per second.
  • the imaging device 30 outputs image information relating to a number of images equal to the frame rate
  • the computing device 20 determines the edge of the eyelid based on the time-series data of all the image information output for 20 seconds. It is good also as performing the process for detecting a pair.
  • the threshold th is calculated based on the above formula (3).
  • the calculation formula is an example, and the threshold th may be calculated using another formula.
  • the functions of the arithmetic unit 20 according to the above embodiment can be realized by dedicated hardware or by a normal computer system.
  • the programs stored in the auxiliary storage unit 23 of the arithmetic unit 20 are a flexible disk, a CD-ROM (Compact Disk-Read-Only Memory), a DVD (Digital Versatile Disk), an MO (Magneto-Optical).
  • a device that executes the above-described processing may be configured by storing and distributing in a computer-readable recording medium such as disk) and installing the program in the computer.
  • the wrinkle detection apparatus, wrinkle detection method, and program of the present invention are suitable for detecting wrinkles.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

 ドライバの顔が写る画像から検出され、ペアリングされたエッジ同士の距離が順次算出される。そして、算出された距離の変化に基づいて、瞼のエッジのペアとしての確度が低い候補が除外されていく。その結果、最終的に残ったエッジのペアが、上瞼のエッジと下瞼のエッジのペアとして検出される。このため、瞼のエッジに近い特徴だけでなく、瞼としての振る舞いを考慮した検出を行うことができる。したがって、ドライバの瞼のエッジを、正確に検出することが可能となる。

Description

瞼検出装置、瞼検出方法及びプログラム
 本発明は、瞼検出装置、瞼検出方法及びプログラムに関し、更に詳しくは、眼の画像から瞼を検出する瞼検出装置、眼の画像から瞼を検出するための瞼検出方法及びプログラムに関する。
 近年、交通事故の発生件数は依然として高い水準にある。事故の原因は様々であるが、居眠り運転等、覚醒度が低下した状態でドライバが車両の運転を行うことも、事故を誘発する原因の1つである。そこで、ドライバの覚醒度を判定する際の指標となる瞼の動きを、精度良く検出するための技術が種々提案されている(例えば特許文献1及び2参照)。
特開2009-125518号公報 特開平9-230436号公報
 特許文献1に開示された装置は、ドライバの顔が写る写真から差分画像を生成する。そして、この装置は、差分画像に瞼の残像がある場合に、ドライバが瞬きをしているものと判断する。しかしながら、ドライバの顔全体が動いてしまった場合には、瞼が動いていないにもかかわらず、差分画像に瞼の残像が現れることがある。このような場合には、特許文献1に開示された装置では、ドライバが瞬きをしているかどうかを、正確に判断することが困難になると考えられる。
 特許文献2に開示された装置は、ドライバの眼によって反射される反射光の強度が、眼が開いているときと、閉じているときとで変化することを利用して、ドライバが瞬きをしているかどうかを判断する。しかしながら、ドライバの周囲環境の変化にともなって、ドライバの眼に入射する光の強度が変化すると、瞬きの有無にかかわらず、反射光の強度が変化してしまう。このような場合には、特許文献2に開示された装置では、ドライバが瞬きしているかどうかを、正確に判断することが困難になると考えられる。
 本発明は、上述の事情の下になされたもので、ドライバの瞼を正確に検出することを目的とする。
 上記目的を達成するために、本発明の第1の観点に係る瞼検出装置は、
 所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出するエッジ検出手段と、
 検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する抽出手段と、
 前記第1エッジと、前記第2エッジとをペアリングするペアリング手段と、
 ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する閾値算出手段と、
 前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する決定手段と、
 前記決定手段による決定結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する検出手段と、
 を備える。
 本発明の第2の観点に係る瞼検出方法は、
 所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出する工程と、
 検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する工程と、
 前記第1エッジと、前記第2エッジとをペアリングする工程と、
 ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する工程と、
 前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する工程と、
 前記決定の結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する工程と、
 を含む。
 本発明の第3の観点に係るプログラムは、
 コンピュータに、
 所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出する手順と、
 検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する手順と、
 前記第1エッジと、前記第2エッジとをペアリングする手順と、
 ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する手順と、
 前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する手順と、
 前記決定の結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する手順と、
 を実行させる。
 本発明によれば、ドライバの顔の画像から検出されたエッジの中から、瞼のエッジの候補が抽出され、ペアリングされる。そして、ペアリングされたエッジ同士の距離の時間的な変化に基づいて、ドライバの瞼のエッジのペアが検出される。このため、ドライバが一瞬顔を動かしたり、周囲環境が一時的に変化したりしても、時間的な変化を一定期間観察することで、正確にドライバの瞼のエッジを検出することができる。その結果、ドライバの覚醒度を正確に判定することが可能となる。
第1の実施形態に係る瞼検出装置のブロック図である。 撮影装置によって撮影された画像を示す図である。 CPUによって実行される一連の処理を示すフローチャートである。 水平エッジ検出オペレータを示す図である。 垂直エッジ検出オペレータを示す図である。 画像から検出されたエッジを示す図である。 瞼のエッジの候補を示す図である。 エッジ間の距離を算出する手順を説明するための図である。 瞼のエッジを検出するための手順を説明するための図である。 瞼のエッジを検出するための手順を説明するための図である。 瞼のエッジを検出するための手順を説明するための図である。 瞼のエッジを検出するための手順を説明するための図である。 瞼のエッジを検出するための手順を説明するための図である。 第2の実施形態に係る瞼検出装置のブロック図である。
《第1の実施形態》
 以下、本発明の第1の実施形態を、図面を参照しつつ説明する。図1は本実施形態に係る瞼検出装置10の概略的な構成を示すブロック図である。瞼検出装置10は、ドライバの顔が写る画像から、当該ドライバの瞼を検出する装置である。図1に示されるように、瞼検出装置10は、演算装置20と、撮影装置30を有している。
 撮影装置30は、被写体を撮影することにより取得した画像を電気信号に変換して出力する装置である。撮影装置30は、例えばステアリングコラム上或いはステアリングに取り付けられている。図2には、撮影装置30によって撮影された画像IMが示されている。画像IMを参照するとわかるように、この撮影装置30の取り付け角や画角は、車両の運転席に着座するドライバ50の顔が、視野のほぼ中心に位置するように調整されている。そして、撮影装置30は、ドライバ50の顔を所定のサンプリング周期で撮影し、撮影して得た画像に関する画像情報を演算装置20へ出力する。本実施形態では、撮影装置30は、例えば1秒間に4枚の画像に関する画像情報を出力する。
 ここで、説明の便宜上、画像IMの左下のコーナーを原点とするXY座標系を定義し、以下、適宜XY座標系を用いた説明を行う。
 図1に戻り、演算装置20は、CPU(Central Processing Unit)21、主記憶部22、補助記憶部23、表示部24、入力部25、及びインターフェイス部26を有するコンピュータである。
 CPU21は、補助記憶部23に記憶されたプログラムを読み出して実行する。CPU21の具体的な動作については後述する。
 主記憶部22は、RAM(Random Access Memory)等の揮発性メモリを有している。主記憶部22は、CPU21の作業領域として用いられる。
 補助記憶部23は、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを有している。補助記憶部23は、CPU21が実行するプログラム、及び各種パラメータなどを記憶している。また、補助記憶部23は、撮影装置30から出力される画像に関する情報、及びCPU21による処理結果などを含む情報を順次記憶する。
 表示部24は、LCD(Liquid Crystal Display)などの表示ユニットを有している。表示部24は、CPU21の処理結果等を表示する。
 入力部25は、入力キーや、タッチパネル等のポインティングデバイスを有している。オペレータの指示は、入力部25を介して入力され、システムバス27を経由してCPU21へ通知される。
 インターフェイス部26は、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮影装置30は、インターフェイス部26を介してシステムバス27に接続される。
 図3のフローチャートは、CPU21によって実行される瞼検出処理プログラムの一連の処理アルゴリズムに対応している。以下、図3を参照しつつ、瞼検出装置10の動作について説明する。図3のフローチャートに示される一連の処理は、例えば車両のイグニッションスイッチがオンになると、定期的に実行される。また、以下の説明では撮影装置30によって、図2に示される画像IM等が撮影されたものとする。
 まず、ステップS201では、CPU21は、内蔵するカウンタのカウンタ値Nを零にリセットする。
 次のステップS202では、CPU21は、カウンタ値Nをインクリメントする。
 次のステップS203では、CPU21は、補助記憶部23に順次蓄積された画像IMの画像情報を取得し、画像IMのエッジを検出する。このエッジの検出は、画像IMに対してソーベルフィルタを用いた画像処理を実行することにより行われる。
 具体的には、CPU21は、まず、図4に示される水平エッジ検出オペレータを用いて、画像IMを構成する画素それぞれのエッジ値を算出する。このエッジ値は、エッジ値の算出対象となる画素の上側(+Y側)の画素の輝度が高く、下側(-Y側)の画素の輝度が低い場合に+(正の値)になる。そして、このエッジ値は、エッジ値の算出対象となる画素の上側(+Y側)の画素の輝度が低く、下側(-Y側)の画素の輝度が高い場合に-(負の値)になる。そこで、CPU21は、エッジ値が第1の閾値以上の画素と、エッジ値が第2の閾値以下の画素を抽出する。
 次に、CPU21は、図5に示される垂直エッジ検出オペレータを用いて、画像IMを構成する画素それぞれのエッジ値を算出する。このエッジ値は、エッジ値の算出対象となる画素の左側(-X側)の画素の輝度が高く、右側(+X側)の画素の輝度が低い場合に+(正の値)になる。そして、このエッジ値は、エッジ値の算出対象となる画素の左側(-X側)の画素の輝度が低く、右側(+X側)の画素の輝度が高い場合に-(負の値)になる。そこで、CPU21は、エッジ値が第1の閾値以上の画素からなる画素と、エッジ値が第2の閾値以下の画素を抽出する。
 上述のようにCPU21によって抽出される画素は、図6に破線及び実線で示されるエッジ60A,60Bを構成する。破線で示されるエッジ60Aは、エッジ値の合計が+の画素からなるプラスエッジである。また、実線で示されるエッジ60Bは、エッジ値の合計が-の画素からなるマイナスエッジである。
 次のステップS204では、CPU21は、連続エッジの検出を行う。具体的には、CPU21は、ステップS203で抽出した画素のうち、エッジ値の正負の極性が等しく、相互に隣接する画素をグループ化する。これにより、複数の画素からなる画素群が複数規定される。次に、CPU21は、複数の画素群の中から横方向(X軸方向)の長さが閾値以上のグループを連続エッジとして検出する。
 例えば、図7に示されるエッジ60Aは、X軸方向に連続し、極性が+の画素によって構成される。CPU21によるエッジ検出が行われると、エッジ60Aに代表されるように、相互に隣接し極性が等しい画素からなる画素群が、連続エッジとして検出される。これにより、図6に破線及び実線で示されるエッジ60A,60Bが検出される。
 次のステップS205では、CPU21は、エッジ60A,60Bそれぞれの重心、及び長さを算出する。
 例えば、図8を参照するとわかるように、CPU21は、エッジ60Aの重心を求める場合には、エッジ60Aの両端の点D、DのX座標、X,Xを用いて、次式(1)で示される演算を行うことで、重心SAのX座標AXを算出する。そして、CPU21は、X座標をAXとし、エッジ60A上にある点を重心SAとして算出する。
AX=(X+X)/2 …(1)
 同様に、CPU21は、エッジ60Bの重心を求める場合には、エッジ60Bの両端の点D、DのX座標、X,Xを用いて、次式(2)で示される演算を行うことで、重心SBのX座標BXを算出する。そして、CPU21は、X座標をBXとし、エッジ60B上にある点を重心SBとして算出する。
BX=(X+X)/2 …(2)
 また、エッジ60A,60Bの長さは、例えば、エッジ60A,60Bにフィッティングした曲線の長さを算出することにより求めることができる。
 次のステップS206では、CPU21は、エッジのペアリングを行う。瞼の大きさは、個人相互間で個体差はあるが、概ねその大きさを予測することができる。そこで、CPU21は、エッジ60A,60BのX軸方向の大きさ(幅)に基づいて、瞼のエッジの候補を抽出する。これにより、極端に長いエッジや、極端に短いエッジが、瞼のエッジの候補から除外される。
 次に、CPU21は、エッジ60Aとエッジ60Bの横方向の重心位置の差が基準値以下であり、かつ、エッジ60Aの重心SAとエッジ60Bの重心SBの距離が基準値以下であるエッジ60A,60Bの組を抽出する。
 例えば、図8を参照するとわかるように、CPU21は、エッジ60Aの重心SAのX座標AXと、エッジ60Bの重心SBのX座標BXとの差df11を算出する。また、CPU21は、エッジ60Aの重心SAと、エッジ60Bの重心SBとの距離d11を算出する。そして、CPU21は、差df11と距離d11が、それぞれ所定の基準値以下である場合に、エッジ60Aとエッジ60Bをペアリングする。
 CPU21は、上述の処理を、各エッジ60Aと各エッジ60Bとの間で行うことで、エッジ60Aとエッジ60Bのペアリングを行う。これにより、図7を参照するとわかるように、エッジ60Aとエッジ60B、エッジ60Aとエッジ60B、エッジ60Aとエッジ60B、エッジ60Aとエッジ60B、及びエッジ60Aとエッジ60Bがそれぞれペアリングされる。
 なお、エッジ60Aは、ドライバ50の右眉の上側のエッジであり、エッジ60Bは、右眉の下側のエッジである。エッジ60Aは、ドライバ50の左眉の上側のエッジであり、エッジ60Bは、左眉の下側のエッジである。エッジ60Aは、ドライバ50の右眼上瞼のエッジであり、エッジ60Bは、右眼下瞼のエッジである。エッジ60Aは、ドライバ50の左眼上瞼のエッジであり、エッジ60Bは、左眼下瞼のエッジである。エッジ60Aは、ドライバ50の上唇の上側のエッジであり、エッジ60Bは、下唇の下側のエッジである。
 また、CPU21は、ペアリングされたエッジ60A,60B同士の距離dijを、画像IMが撮影された時間tと関連付けて、データDij(dij,t)として、補助記憶部23へ記憶する。これにより、データDij(dij,t)が、時系列的に保存される。
 次のステップS207では、CPU21は、カウンタ値Nが20以上か否かを判断する。ステップS207での判断が否定された場合は(ステップS207:No)、CPU21は、ステップS202へ戻る。以降、CPU21は、ステップS202~ステップS207までの処理を繰り返し実行する。これにより、画像IM~IM20について、それぞれエッジの検出、エッジのペアリング等の処理が行われる。そして、データDij(dij,t)が、補助記憶部23へ時系列的に保存される。
 本実施形態では、演算装置20に対して、1秒間に4枚の画像IMに関する画像情報が出力される。このため、これらのデータDij(dij,t)~Dij20(dij,t20)は、約5秒間ドライバ50を観察したときのデータとなる。
 一方、ステップS207での判断が肯定された場合は(ステップS207:Yes)、CPU21は、ステップS208へ移行する。
 ステップS208では、CPU21は、ペアリングされたエッジの中から、上瞼のエッジと下瞼のエッジとのペアを検出する。具体的には、CPU21は、後述する第1処理、第2処理、第3処理、及び第4処理を行うことで、上瞼のエッジと下瞼のエッジとのペアを検出する。
 例えば、図9には、縦軸を距離dとし、横軸を時間とする座標系にプロットされた点が示されている。これらの点は、上瞼のエッジと下瞼のエッジに対応するデータDij(dij,t)によって規定される点である。また、この一連のデータDij(dij,t)は、時刻tから時刻tまでの間に、瞬きが行われたときのものである。
 図9に示されるように、ドライバ50の眼が開いているときには、ドライバ50の上瞼のエッジと下瞼のエッジとの距離dは、閾値th以上になる。一方、ドライバ50の眼が閉じているときには、ドライバ50の上瞼のエッジと下瞼のエッジとの距離dが、閾値thよりも小さくなる。
 そして、データDij(dij,t)が、上瞼のエッジと下瞼のエッジに対応するデータである場合には、閾値th以上の距離dijをもつデータDij(dij,t)の数M1が、閾値thより小さい距離dijをもつデータDij(dij,t)の数よりも支配的になる。
《第1処理》
 そこで、CPU21は、補助記憶部23からデータDij(dij,t)を読み出す。そして、CPU21は、読み出したデータDij(dij,t)の中から、距離dijの最小値dMINと最大値dMAXを用いて、次式(3)で示される演算を行い、閾値th(th,th,th)を算出する。
th=dMIN+((dMAX-dMIN)/3) …(3)
 そして、CPU21は、閾値th以上の距離dijをもつデータDij(dij,t)の数M(M1、M2)をカウントする。そして、Mの値が、基準値よりも少ない場合には、CPU21は、読み出したデータDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。
 例えば、図10に示されるように、閾値thよりも小さい距離dijをもつデータDij(dij,t)の数M2が、閾値th以上の距離dijをもつデータDij(dij,t)の数よりも支配的である場合には、CPU21は、当該データDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。図10に示されるデータは、例えば眼鏡のフレームによるエッジのペアに関連するデータである。このため、上述の処理で、眼鏡のフレームによるペア等が候補から除外される。
《第2処理》
 図9を参照するとわかるように、ドライバ50が瞬きをすると、距離dは、所定の基準値V1min(例えば3.5)以下になる。そこで、CPU21は、補助記憶部23から読み出したデータDij(dij,t)の中から、距離dijの最小値dMINを抽出する。そして、CPU21は、この最小値dMINと基準値V1minとを比較する。距離dijの最小値dMINの方が、基準値V1minよりも大きい場合には、CPU21は、当該データDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。
 例えば、図11に示されるように、距離dijの最小値dMINの方が、基準値V1minよりも大きい場合には、CPU21は、当該データDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。図11に示されるデータは、例えば眉毛の上側のエッジ60A,60Aと下側のエッジ60B,60Bのペアに関連するデータである。このため、上述の処理で、眉毛のエッジのペアが候補から除外される。
《第3処理》
 図9に示されるように、ドライバ50が眼を開いているときの距離dと、眼を閉じているときの距離dとの差は、ある程度の大きさ(例えば6)になる。そこで、CPU21は、補助記憶部23から読み出したデータDij(dij,t)の中から、距離dijの最大値dMAXと、距離dijの最小値dMINとを抽出する。そして、CPU21は、最大値dMAXと最小値dMINとの差dff(=dMAX-dMIN)と、基準値V2minとを比較する。比較の結果、差dffの方が、基準値V2minよりも小さい場合には、CPU21は、当該データDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。
 例えば、図12を参照するとわかるように、最大値dMAXと最小値dMINとの差dff(=dMAX-dMIN)が比較的小さく、基準値V2minよりも小さい場合には、CPU21は、当該データDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。図12に示されるデータは、例えば眉毛の上側のエッジ60A,60Aと下側のエッジ60B,60Bのペアに関連するデータである。このため、上述の処理で、眉毛のエッジのペアが候補から除外される。
《第4処理》
 ドライバ50が眼を開いているときの距離dは、図9を参照するとわかるように、概ね一定の値(ここでは9)に収束する。そこで、CPU21は、読み出したデータDij(dij,t)の中から、距離dijの最小値dMINと最大値dMAXとを用いて上記式(3)で示される演算を行い、閾値thを算出する。そして、CPU21は、閾値th以上の距離dijをもつデータDij(dij,t)の分散vrを算出する。この分散vrが所定の基準値V3minより大きい場合には、CPU21は、読み出したデータDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。
 例えば、CPU21は、図13に塗りつぶして示される点に対応するデータDij(dij,t)の分散vrを算出する。そして、この分散vrが所定の基準値V3minより大きい場合には、CPU21は、読み出したデータDij(dij,t)に対応するエッジのペアを、上瞼のエッジと下瞼のエッジの候補から除外する。図13に示されるデータは、例えば上唇のエッジ60Aと、下唇のエッジ60Bのペアに関連するデータである。このため、上述の処理で、唇のエッジのペアが候補から除外される。
 CPU21によって、第1処理~第4処理が実行されると、眉毛のエッジのペアや、唇のエッジのペアなどが除外される。これにより、例えば図9に示される上瞼のエッジ60A,60Aと下瞼のエッジ60B,60Bに対応するデータDij(dij,t)だけが除外されることなく残る。そこで、CPU21は、除外されることなく残ったデータDij(dij,t)に対応するエッジ60Aとエッジ60Bのペアを右眼上瞼と右眼下瞼のエッジのペアとして検出する。また、CPU21は、エッジ60Aとエッジ60Bのペアを左眼上瞼と左眼下瞼のエッジのペアとして検出する。
 CPU21は、ドライバ50の瞼のエッジのペアの検出が終了すると、一連の処理を終了する。以降、CPU21は、撮影装置30から出力される画像IMに含まれる、エッジ60Aとエッジ60Bのペアと、エッジ60Aとエッジ60Bのペアを両眼の瞼のエッジとして観察する。そして、CPU21は、ドライバ50の瞬き回数や、間隔などをサンプリングする。例えばエッジ60Aとエッジ60Bとの距離d33、或いはエッジ60Aとエッジ60Bとの距離d44が、所定の閾値以下となりその後一定の大きさとなった場合に、CPU21は、ドライバ50が瞬きをしたと判断することができる。
 CPU21は、瞬きのサンプリング結果を、例えば外部装置等へ出力する。これにより、車両を運転するドライバ50の覚醒度等を監視することが可能となる。
 以上説明したように、本第1の実施形態では、画像IMから検出され、ペアリングされたエッジ同士の距離dが順次算出される。そして、算出された距離dの変化に基づいて、瞼のエッジのペアとしての確度が低い候補が除外されていく。この除外の結果として最終的に残ったエッジのペアが、上瞼のエッジと下瞼のエッジのペアとして検出される。このため、瞼のエッジに近い特徴だけでなく、瞼としての振る舞いを考慮した検出が行われる。したがって、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
 具体的には、例えば、図10に示されるように、閾値thよりも小さい距離dijをもつデータDij(dij,t)の数M2が、閾値th以上の距離dijをもつデータDij(dij,t)の数よりも支配的である場合には、当該データDij(dij,t)に対応するエッジのペアが、上瞼のエッジと下瞼のエッジの候補から除外される。これにより、例えば眼鏡のフレームによるエッジのペア等が、瞼のエッジの候補となることがなくなる。その結果、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
 また、例えば、図11に示されるように、距離dijの最小値dMINの方が、基準値V1minよりも大きい場合には、データDij(dij,t)に対応するエッジのペアが、上瞼のエッジと下瞼のエッジの候補から除外される。これにより、眉毛のエッジのペア等が、瞼のエッジの候補となることがなくなる。その結果、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
 また、例えば、図12を参照するとわかるように、最大値dMAXと最小値dMINとの差dff(=dMAX-dMIN)が比較的小さく、基準値V2minよりも小さい場合には、データDij(dij,t)に対応するエッジのペアが、上瞼のエッジと下瞼のエッジの候補から除外される。これにより、眉毛のエッジのペア等が、瞼のエッジの候補となることがなくなる。その結果、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
 また、例えば、図13に塗りつぶして示される点に対応するデータDij(dij,t)の分散vrが所定の基準値V3minより大きい場合には、当該データDij(dij,t)に対応するエッジのペアが、上瞼のエッジと下瞼のエッジの候補から除外される。これにより、唇のエッジのペア等が、瞼のエッジの候補となることがなくなる。その結果、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
《第2の実施形態》
 次に、本発明の第2の実施形態を、図面を参照しつつ説明する。なお、第1の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
 本実施形態に係る瞼検出装置10Aは、演算装置20が、一連の処理それぞれを実行するハードウエアで構成されている点で、第1の実施形態に係る瞼検出装置10と相違している。図14に示されるように、演算装置20は、記憶部20a、エッジ検出部20b、連続エッジ検出部20c、算出部20d、ペアリング部20e、及び検出部20fを有している。
 記憶部20aは、撮影装置30から出力される画像に関する情報、及び上記各部20b~20fの処理結果などを含む情報を順次記憶する。
 エッジ検出部20bは、記憶部20aに順次蓄積される画像IMの画像情報を取得し、画像IMのエッジを検出する。このエッジの検出は、画像IMに対してソーベルフィルタを用いた画像処理を実行することにより行われる。
 連続エッジ検出部20cは、連続エッジの検出を行う。具体的には、連続エッジ検出部20cは、エッジ検出部20bによって抽出された画素のうち、エッジ値の極性が等しく、相互に隣接する画素をグループ化する。これにより、複数の画素からなる画素群が複数規定される。次に、連続エッジ検出部20cは、複数の画素群の中から横方向(X軸方向)の長さが閾値以上のグループを連続エッジとして検出する。これにより、図6に破線及び実線で示されるエッジ60A,60Bが検出される。
 算出部20dは、エッジ60A,60Bそれぞれの重心SA,SB、及び長さを算出する。
 ペアリング部20eは、エッジのペアリングを行う。瞼の大きさは、個人相互間で個体差はあるが、概ねその大きさを予測することができる。そこで、ペアリング部20eは、エッジ60A,60BのX軸方向の大きさ(幅)に基づいて、瞼のエッジの候補を抽出する。次に、ペアリング部20eは、エッジ60Aとエッジ60Bの横方向の重心位置の差が基準値以下であり、かつ、エッジ60Aの重心SAとエッジ60Bの重心SBの距離とが基準値以下であるエッジ60A,60Bの組を抽出する。
 また、ペアリング部20eは、ペアリングされたエッジ60A,60B同士の距離dijを、画像IMが撮影された時間tと関連付けて、データDij(dij,t)として、補助記憶部23へ記憶する。これにより、データDij(dij,t)が、時系列的に保存される。
 検出部20fは、ペアリングされたエッジの中から、上瞼のエッジと下瞼のエッジとのペアを検出する。具体的には、検出部20fは、上述した第1処理、第2処理、第3処理、及び第4処理を行うことで、上瞼のエッジと下瞼のエッジとのペアを検出する。そして、検出部20fは、検出結果を例えば外部装置等へ出力する。
 以上説明したように、本第2の実施形態では、画像IMから検出され、ペアリングされたエッジ同士の距離dが順次算出される。そして、算出された距離dの変化に基づいて、瞼のエッジのペアとしての確度が低い候補が除外されていく。この除外の結果として最終的に残ったエッジのペアが、上瞼のエッジと下瞼のエッジのペアとして検出される。このため、瞼のエッジに近い特徴だけでなく、瞼としての振る舞いを考慮した検出が行われる。したがって、ドライバ50の瞼のエッジを、正確に検出することが可能となる。
 以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
 例えば、上記実施形態では、撮影装置30は、1秒間に4枚の画像に関する画像情報を出力することとした。これに限らず、撮影装置30は、フレームレートに等しい数の画像に関する画像情報を出力し、演算装置20は、20秒間に出力される画像情報すべての時系列データに基づいて、瞼のエッジのペアを検出するための処理を実行することとしてもよい。
 上記実施形態では、閾値thを上記式(3)に基づいて算出した。当該算出式は一例であり、他の式を用いて閾値thを算出することとしてもよい。
 上記実施形態に係る演算装置20の機能は、専用のハードウエアによっても、通常のコンピュータシステムによっても実現することができる。
 上記第1の実施形態において演算装置20の補助記憶部23に記憶されているプログラムは、フレキシブルディスク、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
 なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
 本出願は、2011年7月1日に出願された日本国特許出願2011-147470号に基づく。本明細書中に日本国特許出願2011-147470号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
 本発明の瞼検出装置、瞼検出方法及びプログラムは、瞼の検出に適している。
 10,10A 瞼検出装置
 20  演算装置
 20a 記憶部
 20b エッジ検出部
 20c 連続エッジ検出部
 20d 算出部
 20e ペアリング部
 20f 検出部
 21 CPU
 22 主記憶部
 23 補助記憶部
 24 表示部
 25 入力部
 26 インターフェイス部
 27 システムバス
 30 撮影装置
 50 ドライバ
 60A,60B エッジ
 D  点
 Dij データ
 F  顔
 IM 画像
 SA,SB 重心

Claims (7)

  1.  所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出するエッジ検出手段と、
     検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する抽出手段と、
     前記第1エッジと、前記第2エッジとをペアリングするペアリング手段と、
     ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する閾値算出手段と、
     前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する決定手段と、
     前記決定手段による決定結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する検出手段と、
     を備える瞼検出装置。
  2.  前記閾値算出手段は、
     ペアリングされた前記第1エッジと前記第2エッジとの距離の最大値と最小値とに基づいて、前記閾値を算出する請求項1に記載の瞼検出装置。
  3.  前記決定手段は、
     前記第1エッジと前記第2エッジとの距離の分散が、所定の基準値よりも大きい場合に、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外し、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外することを決定する請求項1又は2に記載の瞼検出装置。
  4.  前記決定手段は、
     前記第1エッジと前記第2エッジとの距離の最小値が、所定の基準値よりも大きい場合に、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外し、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外することを決定する請求項1乃至3のいずれか一項に記載の瞼検出装置。
  5.  前記決定手段は、
     前記第1エッジと前記第2エッジとの距離の最大値と最小値との差が、所定の基準値よりも小さい場合に、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外し、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外することを決定する請求項1乃至4のいずれか一項に記載の瞼検出装置。
  6.  所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出する工程と、
     検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する工程と、
     前記第1エッジと、前記第2エッジとをペアリングする工程と、
     ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する工程と、
     前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する工程と、
     前記決定の結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する工程と、
     を含む瞼検出方法。
  7.  コンピュータに、
     所定の期間に順次撮影されるドライバの顔の画像から、エッジを検出する手順と、
     検出された前記エッジから、前記ドライバの上瞼のエッジの候補となる第1エッジと、下瞼のエッジの候補となる第2エッジとを抽出する手順と、
     前記第1エッジと、前記第2エッジとをペアリングする手順と、
     ペアリングされた前記第1エッジと前記第2エッジとの距離の変化に応じて、前記距離の最小値よりも大きく、前記距離の最大値よりも小さい閾値を算出する手順と、
     前記距離が前記閾値以上となる回数に基づいて、前記第1エッジを前記ドライバの上瞼のエッジの候補から除外するか否かを決定するとともに、前記第2エッジを前記ドライバの下瞼のエッジの候補から除外するか否かを決定する手順と、
     前記決定の結果に基づいて、前記第1エッジと前記第2エッジとを除外し、残りの第1エッジと第2エッジとのペアの中から、前記ドライバの上瞼のエッジと下瞼のエッジのペアを検出する手順と、
     を実行させるためのプログラム。
PCT/JP2012/065435 2011-07-01 2012-06-15 瞼検出装置、瞼検出方法及びプログラム WO2013005560A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/128,211 US20140126776A1 (en) 2011-07-01 2012-06-15 Eyelid detection device, eyelid detection method, and recording medium
EP12807396.2A EP2728550A4 (en) 2011-07-01 2012-06-15 EYEWEAR DETECTION DEVICE, EYE DETECTION METHOD, AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-147470 2011-07-01
JP2011147470A JP2013015970A (ja) 2011-07-01 2011-07-01 瞼検出装置、瞼検出方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2013005560A1 true WO2013005560A1 (ja) 2013-01-10

Family

ID=47436917

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/065435 WO2013005560A1 (ja) 2011-07-01 2012-06-15 瞼検出装置、瞼検出方法及びプログラム

Country Status (4)

Country Link
US (1) US20140126776A1 (ja)
EP (1) EP2728550A4 (ja)
JP (1) JP2013015970A (ja)
WO (1) WO2013005560A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112740302A (zh) * 2018-09-20 2021-04-30 五十铃自动车株式会社 车辆用监视装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158922A (ja) * 2006-12-26 2008-07-10 Aisin Seiki Co Ltd 瞼検出装置、瞼検出方法及びプログラム
JP2008192100A (ja) * 2007-02-08 2008-08-21 Aisin Seiki Co Ltd 瞼検出装置及びプログラム
JP2008226189A (ja) * 2007-03-15 2008-09-25 Aisin Seiki Co Ltd 特徴点検出装置及びプログラム
JP2008226047A (ja) * 2007-03-14 2008-09-25 Aisin Seiki Co Ltd 瞼検出装置及びプログラム
JP2010224637A (ja) * 2009-03-19 2010-10-07 Toyota Central R&D Labs Inc 眠気判定装置及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4137969B2 (ja) * 2006-12-04 2008-08-20 アイシン精機株式会社 眼部検出装置、眼部検出方法及びプログラム
US8045766B2 (en) * 2007-02-16 2011-10-25 Denso Corporation Device, program, and method for determining sleepiness
JP4259585B2 (ja) * 2007-03-08 2009-04-30 株式会社デンソー 眠気判定装置,プログラムおよび眠気判定方法
JP5262243B2 (ja) * 2008-03-31 2013-08-14 アイシン精機株式会社 眼開閉判別装置、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158922A (ja) * 2006-12-26 2008-07-10 Aisin Seiki Co Ltd 瞼検出装置、瞼検出方法及びプログラム
JP2008192100A (ja) * 2007-02-08 2008-08-21 Aisin Seiki Co Ltd 瞼検出装置及びプログラム
JP2008226047A (ja) * 2007-03-14 2008-09-25 Aisin Seiki Co Ltd 瞼検出装置及びプログラム
JP2008226189A (ja) * 2007-03-15 2008-09-25 Aisin Seiki Co Ltd 特徴点検出装置及びプログラム
JP2010224637A (ja) * 2009-03-19 2010-10-07 Toyota Central R&D Labs Inc 眠気判定装置及びプログラム

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112740302A (zh) * 2018-09-20 2021-04-30 五十铃自动车株式会社 车辆用监视装置
CN112740302B (zh) * 2018-09-20 2023-03-24 五十铃自动车株式会社 车辆用监视装置

Also Published As

Publication number Publication date
US20140126776A1 (en) 2014-05-08
EP2728550A4 (en) 2015-05-13
EP2728550A1 (en) 2014-05-07
JP2013015970A (ja) 2013-01-24

Similar Documents

Publication Publication Date Title
US10810438B2 (en) Setting apparatus, output method, and non-transitory computer-readable storage medium
EP2698762B1 (en) Eyelid-detection device, eyelid-detection method, and program
JP6573193B2 (ja) 判定装置、判定方法、および判定プログラム
US20160232399A1 (en) System and method of detecting a gaze of a viewer
KR20160046495A (ko) 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법
JPWO2013008305A1 (ja) 瞼検出装置
JP2015232746A (ja) 皺検出装置および皺検出方法
EP3440592A1 (en) Method and system of distinguishing between a glance event and an eye closure event
JP5644414B2 (ja) 覚醒度判定装置、覚醒度判定方法及びプログラム
CN110211021B (zh) 图像处理装置、图像处理方法和存储介质
Thulasimani et al. Real time driver drowsiness detection using opencv and facial landmarks
JP2009064395A (ja) ポインティングデバイス、操作者の注視位置とカーソルの位置との誤差の補正をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5703068B2 (ja) 顔検出方法および顔検出装置、ならびに、プログラム
JP2012068948A (ja) 顔属性推定装置およびその方法
WO2013005560A1 (ja) 瞼検出装置、瞼検出方法及びプログラム
CN109901716B (zh) 视线点预测模型建立方法、装置及视线点预测方法
CN109657550B (zh) 一种疲劳度检测方法及装置
US20230171370A1 (en) Determining display zoom level
CN116086396A (zh) 一种获取距离的方法、装置、系统及存储介质
Daniluk et al. Eye status based on eyelid detection: A driver assistance system
JP7019394B2 (ja) 視認対象検知装置、視認対象検知方法、およびプログラム
JP6897467B2 (ja) 視線検出装置、視線検出プログラム、及び視線検出方法
KR100651104B1 (ko) 시선기반 컴퓨터 인터페이스 장치 및 방법
US20200008713A1 (en) Walking support system, walking support method, and program
Horak et al. Eyes detection and tracking for monitoring driver vigilance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12807396

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14128211

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012807396

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE