The present application is based on and claims priority to Japanese Patent Application No. 2007-273897 filed on Oct. 22, 2007, the contents of which are incorporated in their entirety herein by reference.
1. Field of the Invention
The present invention relates to a body position detecting apparatus.
2. Description of the Related Art
In a conventional body position detecting method, a position of a human body is detected without contacting by using a video image as disclosed, for example, in JP-A-2003-109015. In the method, a body model that schematically represents a human body is superimposed on a body in the video image. Then, a position of a feature point of the body model is detected as a coordinate so as to detect the body part. In the method, the body model is required to be superimposed on each frame of the video image. Thus, the method has an issue that a calculation amount is large.
In view of such circumstances, an exemplary method for reducing the calculation amount is disclosed in Masanobu Yamamoto, “Ubiquitous Motion Capture and Applications Thereof”, an academic conference of “Study of Visual Information for Detecting A Human Body”, at a small hall of a library in Osaka Electro-Communication University, 2004. In the method, an initial position of a body is detected by applying a body model to the body in the video image. After that, a displacement of each body part is detected and the displacement is accumulated to the initial position. Thereby, the calculation amount can be reduced.
In the present case, by accumulating the displacement to the initial position sequentially, a detection error of the displacement may also be accumulated. Thus, the detected position of the body part may be out of an actual position with time. Therefore, the initial position is required for being updated as needed. However, the initial position is difficult to be detected by fitting the body model without a constrained condition.
In view of the foregoing problems, it is an object of the present invention to provide a body position detecting apparatus.
In a body position detecting apparatus according to a first aspect of the invention, a controller repeatedly acquires image data that includes an object and an operator in a place where the operator is capable of operating the object. When a predetermined instructing condition is satisfied, a control signal from the controller causes an instruction that instructs the operator to operate the object. The controller detects a position of a body part of the operator in the image data that is acquired after the controller instructs the operator and the controller sets the position of the body part to an initial position. The controller detects a position of the body part of the operator in the image data that is acquired after the initial position is set, by detecting a displacement from a position of the body part detected last time and accumulating the displacement to the initial position.
In the present body position detecting apparatus, the controller can detect the position of the body part of the operator in the image data by using a state where the operator operates the object as a constraint condition. Thus, the position of the body part can be detected easily compared with a case where the position of the body part is detected without a constraint condition.
In a body position detecting apparatus according to a second aspect of the invention, a controller repeatedly acquires image data that includes an object and an operator in a place where the operator is capable of operating the object. When the controller detects that the operator is in an operating position where the operator operates the object, the controller detects a position of a body part of the operator in the image data and sets the position of the body part to an initial position. The controller detects a position of the body part of the operator in the image data that is acquired after the initial position is set, by detecting a displacement from a position of the body part detected last time and accumulating the displacement to the initial position.
In the present body position detecting apparatus, the controller can detect the position of the body part of the operator in the image data by using a state where the operator operates the object as a constraint condition. Thus, the position of the body part can be detected easily compared with a case where the position of the body part is detected without a constraint condition.
Additional objects and advantages of the present invention will be more readily apparent from the following detailed description of preferred embodiments when taken together with the accompanying drawings. In the drawings:
A body position detecting apparatus 1 according to a first embodiment of the invention will be described with reference to
The engine ECU 3 controls a rotation of an engine of the vehicle based on a detection signal from an accelerator sensor 11. The accelerator sensor 11 detects an opening degree of an accelerator in accordance with a pressed amount of an accelerator pedal operated by a driver.
The transmission ECU 4 controls a transmission gear ratio of an automatic transmission based on an operating state of the vehicle. The transmission ECU 4 determines the operating state of the vehicle based on a detection signal from a shift switch 12 that detects a selected position of a shift lever (e.g., P, R, N, D, 1st, and 2nd) operated by the driver, the detection signal from the accelerator sensor 11, and a detection signal from a speed sensor 13 that detects a speed of the vehicle, for example.
The brake ECU 5 controls an antilock brake system (ABS) and a traction control system based on a detection signal from a master cylinder pressure sensor (not shown) and the detection signal from the speed sensor 13. The master cylinder pressure sensor detects an operating amount of a brake based on a hydraulic pressure of a master cylinder that feeds a brake oil with applying pressure in accordance with a pressed amount of a brake pedal operated by the driver.
The steering ECU 6 controls a power steering based on a detection signal from a steering angle sensor 14 that detects a steering angle of a front wheel. The power steering generates an assist force when a steering wheel 18 is operated so as to change the steering angle.
The navigation ECU 7 detects the present location of the vehicle based on a global positioning system (GPS) signal received by a GPS antenna (not shown) and provides a routing assistance from the present location to a destination. The navigation ECU 7 is disposed adjacent to a display panel of a navigation device (not shown). The navigation ECU 7 changes an image display of the navigation device based on a signal from a navigation switch 15. The navigation switch 15 includes a present location switch for displaying the present location of the vehicle on the display panel and a broad/detail switch for zooming in and zooming out a map displayed on the display panel.
The A/C ECU 8 controls an air conditioner based on an air-conditioner switch (A/C switch) 16 and a temperature sensor (not shown). The A/C switch 16 includes an on/off switch for activating and deactivating the air conditioner and a temperature setting switch for setting a target temperature. The temperature sensor detects a temperature in a vehicle compartment and a temperature at an outside of the vehicle.
The various information detected by the ECUs 3-8, i.e., information including the opening degree of the accelerator, the position of the shift lever, the speed of the vehicle, and the steering angle is transmitted and received by each of the ECUs 3-8 through the in-vehicle LAN 2.
As illustrated in
As illustrated in
The data storage 24 is configured by a magnetic storage device such as a hard disk. The data storage 24 stores body position detecting information. The body position detecting information includes a model body template TP and a deformation allowable range of the model body template TP. As illustrated in
The controller 26 includes a microcomputer configured by a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), an input/output device (I/O), and a bus that couples the CPU, the ROM, the RAM, and the I/O. The controller 26 executes various processes based on programs stored in the ROM and the RAM.
In the body position detecting apparatus 1, the controller 26 repeatedly executes a body position detecting process for detecting a position of the body part of the driver while the controller 26 is activated.
As illustrated in
At S20, the controller 26 determines whether a measured body template (T-1) set at S60 or S70 is stored in the data storage 24. An identification number “T-1” of the measured body template (T-1) is a number for identifying the measured body template set at S60 or S70. The identification number of the measured body template has the same number as corresponding image data that is measured for setting the measure body template. For example, in a case where the measured body template is set from the image data (T), the measured body template has the identification number “T” and is expressed as the measured body template (T).
If the measured body template (T-1) is not stored in the data storage 24, corresponding to “NO” at S20, a control signal is transmitted from the controller 26 to the audio output part 23 at S30. Then, the audio output part 23 outputs an audio guidance that instructs the driver to grip the steering wheel 18 with both hands. At S40, the controller 26 reads the model body template TP from the data storage 24. At S50, the controller 26 deletes the image data (T) read at S10 and transmits a control signal to the camera 21. Then, the camera 21 retakes an image data (T) and the controller 26 rereads the image data (T) from the camera 21. The image data (T) read at S50 has the same identification number as the image data (T) read at S10.
At S60, the controller 26 executes a body template setting process. In the body template setting process, the model body template TP read at S40 is applied to the driver in the image data (T) read at S50 as illustrated in
If the measured body template (T-1) is stored in the data storage 24, corresponding to “YES” at S20, the process proceeds to S70. At S70, the controller 26 executes a body template tracking process, for example, by using a method disclosed in Masanobu Yamamoto, “Ubiquitous Motion Capture and Applications Thereof”, an academic conference of “Study of Visual Information for Detecting A Human Body”, at a small hall of a library in Osaka Electro-Communication University, 2004. The controller 26 detects a displacement of the driver in the image data (T) from the measured body template (T-1). Then, the controller 26 accumulates the displacement to an initial position based on the initial position body template detected at S60, and thereby the measured body template (T) is set. After that, the process proceeds to S80.
At S80, the controller 26 detects a feature point P1 of a neck, a feature point P2 of a right shoulder, a feature point P3 of a right elbow, a feature point P4 of a right wrist, a feature point P5 of a left shoulder, a feature point P6 of a left elbow, and a feature point P7 of a left wrist from the measured body template (T) set at S60 or S70. For example, a middle point of a lower side of the face rectangle K1 is set to the feature point P1, a middle point of an upper side of the right upper arm rectangle K2 is set to the feature point P2, a middle point of a lower side of the right upper arm rectangle K2 is set to the feature point P3, a middle point of a lower side of the right forearm rectangle K3 is set to the feature point P4, a middle point of an upper side of the left upper arm rectangle K4 is set to the feature point P5, a middle point of a lower side of the left upper arm rectangle K4 is set to the feature point P6, a middle point of a lower side of the left forearm rectangle K5 is set to the feature point P7. When the process at S80 ends, the controller 26 ends the body position detecting process once.
Next, the body template setting process performed at S60 will be described with reference to
At S230, the controller 26 detects an edge of the image data (T) within the deformation allowable range K2a of the right upper arm rectangle K2 and fits the right upper arm rectangle K2 to the edge. At S240, the controller 26 detects an edge of the image data (T) within the deformation allowable range K3a of the right forearm rectangle K3 and fits the right forearm rectangle K3 to the edge. At S250, the controller 26 detects an edge of the image data (T) within the deformation allowable range K4a of the left upper arm rectangle K4 and fits the left upper arm rectangle K4 to the edge.
At S260, the controller 26 detects an edge of the image data (T) within the deformation allowable range K5a of the left forearm rectangle K5 and fits the left forearm rectangle K5 to the edge. At S270, the controller 26 moves the trunk rectangle K6 in parallel so that an upper side of the trunk rectangle K6 corresponds to the lower side of the face rectangle K1.
At S280, the controller 26 sets the fitted rectangles K1-K6 as the measured body template (T) and stores the measured body template (T) in the data storage 24. Then, the controller 26 ends the body template setting process. As described above, in the body position detecting process according to the present embodiment, the controller 26 repeatedly acquires the image data (T) that includes the steering wheel 18 and the driver at a position where the driver is capable of operating the steering wheel 18. If the measured body template (T-1) is not stored in the data storage 24, corresponding to “NO” at S20, the audio output part 23 outputs the audio guidance that instructs the driver to grip the steering wheel 18 with the both hands at S30. Then, the controller 26 reads the model body template TP from the data storage 24 at S40 and rereads the image data (T) at S50. At S60, the controller 26 sets the initial position body template by fitting the model body template TP to the driver in the image data (T) read at S50. After setting the initial position body template, if the measured body template (T-1) is stored in the data storage 24, corresponding to “YES” at S20, the process proceeds to S70 where the controller 26 sets the measured body template (T) by detecting the displacement of the driver in the image data (T) from the measured body template (T-1) and accumulating the displacement to the initial position.
In the body position detecting apparatus 1, because the audio guidance is provided at S30, the driver in the image data (T) read after the audio guidance grips the steering wheel 18 with the both hands with a high degree of certainty. Thus, in the body template setting process at S60, the initial position body template can be detected by using a state where the driver grips the steering wheel 18 with the both hands as a constraint condition. As a result, the initial position body template can be detected easily compared with a case where the initial position body template is detected without a constraint condition.
In the present embodiment, the process at S10 and the process at S50 correspond to image acquisition means, the process at S60 corresponds to initial position detecting means, the process at S70 corresponds to accumulating means, the steering wheel 18 corresponds to an operated object, the determination condition at S20 corresponds to a instruction condition, the measured body template (T) corresponds to a position of a body part of an operator, for example.
A body position detecting apparatus 1 according to a second embodiment of the invention will be described with reference to
In the present body position detecting apparatus 1, body position detecting information stored in the data storage 24 includes a model body template TP in a state where the driver operates the navigation switch 15 as illustrated in
As illustrated in
If the measured body template (T-1) is not stored in the data storage 24, corresponding to “NO” at S20, the process proceeds to S22 where the controller 26 executes an operation determining process for determining which equipment among the steering wheel 18, the navigation switch 15, the A/C switch 16, and the shift lever is operated by the driver. At S24, the controller 26 determines whether an initial position flag that is set or cleared at S22 is set.
If the initial position flag is not set, corresponding to “NO” at S24, the controller 26 ends the body position detecting process once. If the initial position flag is set, corresponding to “YES” at S24, the process proceeds to S42 where the controller 26 reads the model body template TP corresponding to the equipment that is determined to be operated by the driver at S22. Then, the process proceeds to S60.
The operation determining process performed at S22 will be described with reference to
If two touch sensors 17 are turned on, corresponding to “YES” at S410, the process proceeds to S450. If two touch sensors 17 are not turned on, corresponding to “NO” at S410, the process proceeds to S420 where the controller 26 determines whether the navigation switch 15 is operated. For example, the controller 26 determines whether the navigation switch 15 including the present location switch and the broad/detail switch is turned on.
If the navigation switch 15 is operated, corresponding to “YES” at S420, the process proceeds to S450. When the navigation switch 15 is not operated, corresponding to “NO” at S420, the process proceeds to S430 where the controller 26 determines whether the A/C switch 16 including the on/off switch and the temperature setting switch is operated. For example, the controller 26 determines whether the A/C switch 16 is turned on.
If the A/C switch 16 is operated, corresponding to “YES” at S430, the process proceeds to S450. If the A/C switch 16 is not operated, corresponding to “NO” at S430, the process proceeds to S440 where the controller 26 determines where the position of the shift level is changed, for example, from N to D or from D to R, based on the detection signal from the shift switch 12.
If the position of the shift lever is changed, corresponding to “YES” at S440, the process proceeds to S450. If the position of the shift lever is not changed, corresponding to “NO” at S440, the process proceeds to S470 where the controller 26 clears the initial position flag. Then, the controller 26 ends the operation determining process.
At S450, the controller 26 determines whether the steering angle is in a predetermined range, for example, from about −19.6 degree to about +18.1 degree.
If the steering angle is out of the predetermined range, corresponding to “NO” at S450, the process proceeds to S470 where the controller 26 clears the initial position flag. Then, the controller 26 ends the operation determining process. If the steering angle is in the predetermined range, corresponding to “YES” at S450, the process proceeds to S460 where the controller 26 sets the initial position flag. Then, the controller 26 ends the operation determining process.
The predetermined range can be determined by measuring the steering angle at a time when the driver operates the steering wheel 18 so that the vehicle goes straight in a state where the driver faces front, as demonstrated by the inventors. According to a measured result demonstrated by the inventors, the steering angle at a time when the driver drives the vehicle along the straight road in the state where the driver faces front is in a range from about −19.6 degree to about +18.1 degree, as illustrated in
As described above, in the body position detecting process according to the present embodiment, the controller 26 repeatedly acquires the image data (T) that includes the steering wheel 18 and the driver at a position where the driver is capable of operating the steering wheel 18. If the measured body template (T-1) is stored in the data storage 24, corresponding to “NO” at S20, the process proceeds to S22 where the controller 26 determines which equipment among the steering wheel 18, the navigation switch 15, the A/C switch 16, and the shift lever is operated. If the controller 26 determines that one of the equipment is operated, corresponding to “YES” at S24, the process proceeds to S42 where the controller 26 reads the model body template TP corresponding to the equipment that is determined to be operated by the driver at S22. Then, the process proceeds to S60. At S60, the controller 26 measures the initial position body template by fitting the model body template TP corresponding to the operated equipment to the driver in the image data (T). After setting the initial body position template, if the measured body template (T-1) is stored in the data storage 24, corresponding to “YES” at S20, the process proceeds to S70 where the controller 26 sets the measured body template (T) by detecting the displacement of the driver in the image data (T) from the measured body template (T-1) and accumulating the displacement to the initial position.
In the body position detecting apparatus 1 according to the present embodiment, the image data (T) that is acquired at a time when the controller 26 determines that the driver operates one of the steering wheel 18, the navigation switch, the A/C switch 16 and the shift lever is used for the body template detecting process at S60. Thus, at S60, the controller 26 can detect the initial position body template by using a state where the driver operates one of the steering wheel 18, the navigation switch 15, the A/C switch, and the shift lever as a constraint condition. As a result, the initial position body template can be detected easily compared with a case where the initial position body template is detected without a constraint condition.
At S410-S440, the controller 26 detects which equipment among the steering wheel 18, the navigation switch 15, the A/C switch 16, and the shift lever is operated by the driver, based on the detection signal from corresponding one of the touch sensors 17, the navigation switch 15, the A/C switch 16, and the shift switch 12. Thus, the operation determining process can be easily realized compared with a case where the operation determining process is realized by an image processing.
The driver frequently operates the steering wheel 18 while the driver drives the vehicle. Thus, by disposing the touch sensors 17 at the steering wheel 18, the process at S60 can be frequently executed.
If the steering angle is in the predetermined range, for example, from about −19.6 degree to about +18.1 degree, corresponding to “YES” at S450, the controller 26 executes the process at S60. Thus, the controller 26 can detect the initial position body template at the time when the vehicle goes straight and can discriminate the time when the vehicle goes straight from the time when the vehicle turns right or left. Furthermore, the controller 26 can easily determine whether the vehicle goes straight.
In the present embodiment, the process at S10 corresponds to image acquisition means, the process at S22 corresponds to position detecting means, the process at S60 corresponds to initial position detecting means, the process at S70 corresponds to accumulating means, and the steering wheel 18, the navigation switch 15, the A/C switch 16 and the shift lever correspond to an operated object, for example.
In addition, the touch sensors 17, the navigation switch 15, the A/C switch 16, and the shift switch 12 correspond to operation detecting means, the navigation switch 15, the A/C switch 16, and the shift switch 12 correspond to an electronic device provided in the vehicle, and the steering angle sensor 14 corresponds to vehicle state detecting means.
A body position detecting apparatus 1 according to a third embodiment of the invention will be described with reference to
As illustrated in
If the initial position flag is not set, corresponding to “NO” at S74, the process proceeds to S80. If the initial position flag is set, corresponding to “YES” at S74, the controller 26 executes a body template resetting process at S76. Then, the process proceeds to S80.
Next, the body template resetting process at S76 will be described with reference to
If all of the six body parts is located in the corresponding deformation allowable ranges K1a-K6a, corresponding to “YES” at S610, the controller 26 sets the tracked result at S700 to the measured body template (T) and stores the measured body template (T) at the data storage 24. Then, the controller 26 ends the body template resetting process.
If at least one of the six body parts is located at an outside of the corresponding one of the deformation allowable ranges K1a-K6a, corresponding to “NO” at S610, the process proceeds to S620. At S620, the controller 26 reads the model body template TP that corresponds to the equipment determined to be operated at the operation determining process at S72 from the data storage 24. Then, at S630, the controller 26 superimposes the model body template TP on the image data (T).
At S640 the controller 26 detects the position of the face of the driver within the deformation allowable range K1a of the face rectangle K1. At S650, the controller 26 detects an edge of the image data (T) within the deformation allowable range K2a of the right upper arm rectangle K2 and fits the right upper arm rectangle K2 to the edge. At S660, the controller 26 detects an edge of the image data (T) within the deformation allowable range K3a of the right forearm rectangle K3 and fits the right forearm rectangle K3 to the edge. At S670, the controller 26 detects an edge of the image data (T) within the deformation allowable range K4a of the left upper arm rectangle K4 and fits the left upper arm rectangle K4 to the edge.
At S680, the controller 26 detects an edge of the image data (T) within the deformation allowable range K5a of the left forearm rectangle K5 and fits the left forearm rectangle K5 to the edge. At S690, the controller 26 moves the trunk rectangle K6 in parallel so that the upper side of the trunk rectangle K6 corresponds with the lower side of the face rectangle K1.
At S700, the controller 26 sets the fitted rectangles K1-K6 as the measured body template (T) and stores the measured body template (T) in the data storage 24. Then, the body template resetting process ends.
In the body position detecting process according to the present embodiment, at S72, the controller 26 determines which equipment among the steering wheel 18, the navigation switch 15, the A/C switch 16, and the shift lever is operated. If the controller 26 determines that one of the equipment is operated, corresponding to “YES” at S74, and the controller 26 determines that at least one of the six body parts tracked at S70 is located at the outside of the corresponding one of the deformation allowable ranges K1a-K6a, corresponding to “NO” at S610, the initial body position template is reset at S620-S700.
Thus, even if the driver continues to operate the steering wheel 18, the initial position body template is not reset until the accumulating error of the measured body template (T) increases, and thereby one of the six body parts, that is, one of the face, the right upper arm, the right forearm, the left upper arm, the left forearm, and the trunk is determined to be located at the outside of the corresponding one of the deformation allowable ranges K1a-K6a. As a result, the body position detecting apparatus 1 can restrict an increase of a processing load.
In addition, because the accumulation of the detection error of the displacement can be canceled by resetting the initial position body template, the detection error of the position of the body part can be reduced.
In the present embodiment, the process at S610 corresponds to operating position determining means, for example.
Although the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art.
For example, in the operation determining process illustrated in
In the above-described embodiments, the audio output part 23 outputs the audio guidance for instructing the driver to grip the steering wheel 18 with the both hands just after the body position detecting apparatus 1 is activated. Alternatively, the audio output part 23 may start to output the audio guidance when an operation for outputting the audio guidance is performed, for example, by pushing an audio guidance starting button.
Number | Date | Country | Kind |
---|---|---|---|
2007-273897 | Oct 2007 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5293427 | Ueno et al. | Mar 1994 | A |
5813989 | Saitoh et al. | Sep 1998 | A |
5850254 | Takano et al. | Dec 1998 | A |
5892855 | Kakinami et al. | Apr 1999 | A |
6021221 | Takaha | Feb 2000 | A |
7379564 | Kakinami et al. | May 2008 | B2 |
7433494 | Niwa | Oct 2008 | B2 |
Number | Date | Country |
---|---|---|
B2-2822508 | Jul 1991 | JP |
A-2003-109015 | Apr 2003 | JP |
A-2005-17117 | Jan 2005 | JP |
A-2007-249352 | Sep 2007 | JP |
A-2007-253726 | Oct 2007 | JP |
Number | Date | Country | |
---|---|---|---|
20090103815 A1 | Apr 2009 | US |