Monitoring device, method for monitoring, and program

By installing a camera in the vehicle and detecting the driver's posture, movement and object using image processing technology, it solves the problem that it is difficult to efficiently detect the driver's predetermined movement in the prior art, and achieves high-accurate driver motion monitoring.

JP2025069349APending Publication Date: 2025-04-30NEC CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025016726
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-04
Publication Date
2025-04-30

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently detect the driver's predetermined actions, especially in complex driving environments.

Method used

By installing a camera in the driver's vehicle, an image of the driver is acquired, and image processing technology is used to detect the driver's predetermined posture and movement, as well as the predetermined object detected in the image, thereby determining the driver's predetermined action.

Benefits of technology

High accuracy detection of drivers' predetermined actions is achieved, and it can work effectively in complex driving environments, improving driving safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025069349000001_ABST
    Figure 2025069349000001_ABST
Patent Text Reader

Abstract

To provide a monitoring device, a method for monitoring a driver, and a program which precisely detect the predetermined action of a driver.SOLUTION: A driver monitoring device 10 includes an image acquisition unit 11, a first detection unit 12, a second detection unit 13, and a third detection unit 14. The image acquisition unit 11 acquires the image of a person who is in a mobile body. The first detection unit 12 extracts the feature data of the body of the person in the image and detects at least one of a predetermined posture and a predetermined motion on the basis of the extracted feature data. The second detection unit 13 detects a predetermined object from the image. The third detection unit 14 detects the predetermined action of the person on the basis of the result of detection of at least one of the predetermined posture and the predetermined motion and the result of detection of the predetermined object.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a driver monitoring device, a driver monitoring method, and a program. [Background technology]

[0002] Patent Document 1 discloses a technique for detecting a driver's smoking, drinking, eating, making a phone call, recreational activities, etc. Non-Patent Document 1 discloses a technique related to human skeleton estimation. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Special Publication No. 2019-536673 [Non-patent literature]

[0004] [Non-Patent Document 1] Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, P. 7291-7299 Summary of the Invention [Problem to be solved by the invention]

[0005] An object of the present invention is to detect a predetermined behavior of a driver with high accuracy. [Means for solving the problem]

[0006] According to the present invention, An image acquisition means for acquiring an image of a driver of a moving object; a first detection means for extracting characteristic data of the body of the driver shown in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted characteristic data with reference data; A second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A driver monitoring device is provided having the following:

[0007] Further, according to the present invention, The computer An image acquisition step of acquiring an image of a driver of a mobile object; a first detection step of extracting feature data of the body of the driver captured in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted feature data with reference data; a second detection step of detecting a predetermined object from within the image; a third detection step of detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A driver monitoring method is provided that performs the following:

[0008] Further, according to the present invention, Computer, An image acquisition means for acquiring an image of a driver of a mobile object; a first detection means for extracting characteristic data of the body of the driver shown in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted characteristic data with reference data; A second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A program is provided to function as a Effect of the Invention

[0009] According to the present invention, a predetermined behavior of a driver can be detected with high accuracy. [Brief description of the drawings]

[0010] The above objects, as well as other objects, features and advantages, will become more apparent from the following exemplary embodiments and the accompanying drawings.

[0011] [Figure 1] 1 is a diagram illustrating an example of a hardware configuration of a driver monitoring device according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a diagram showing an example of a functional block diagram of the driver monitoring device according to the present embodiment. [Diagram 3] 2 is a diagram illustrating an example of information processed by the driver monitoring device of the present embodiment. FIG. [Figure 4] 2 is a diagram illustrating an example of information processed by the driver monitoring device of the present embodiment. FIG. [Diagram 5] 2 is a diagram illustrating an example of information processed by the driver monitoring device of the present embodiment. FIG. [Figure 6] 4 is a flowchart showing an example of a process flow of the driver monitoring device of the present embodiment. [Figure 7] FIG. 2 is a diagram showing an example of a functional block diagram of the driver monitoring device according to the present embodiment. [Figure 8] 4 is a flowchart showing an example of a process flow of the driver monitoring device of the present embodiment. [Figure 9] FIG. 2 is a diagram showing an example of a functional block diagram of the driver monitoring device according to the present embodiment. [Figure 10] FIG. 2 is a diagram showing an example of a functional block diagram of a driver monitoring device and a server according to the present embodiment. [Figure 11] FIG. 2 is a diagram showing an example of a functional block diagram of the driver monitoring device according to the present embodiment. [Figure 12] FIG. 2 is a diagram showing an example of a functional block diagram of the driver monitoring device according to the present embodiment. [Figure 13]FIG. 1 is a diagram illustrating an example of a functional block diagram of an image processing apparatus according to an embodiment of the present invention. [Figure 14] FIG. 1 is a diagram illustrating an example of a functional block diagram of an image processing apparatus according to an embodiment of the present invention. [Figure 15] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Figure 16] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Figure 17] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Figure 18] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 19] FIG. 1 is a diagram showing a human body model. [Figure 20] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 21] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 22] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 23] 11 is a graph showing a specific example of a classification method. [Figure 24] FIG. 13 is a diagram showing a display example of a classification result. [Diagram 25] FIG. 13 is a diagram for explaining a search method. [Figure 26] FIG. 13 is a diagram for explaining a search method. [Figure 27] FIG. 13 is a diagram for explaining a search method. [Figure 28] FIG. 13 is a diagram for explaining a search method. [Figure 29] FIG. 1 is a diagram illustrating an example of a functional block diagram of an image processing apparatus according to an embodiment of the present invention. [Diagram 30] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Diagram 31] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Diagram 32] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Diagram 33]5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Diagram 34] 5 is a flowchart showing an example of a processing flow of the image processing device of the present embodiment. [Diagram 35] FIG. 1 is a diagram showing a human body model. [Diagram 36] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 37] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 38] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Figure 39] FIG. 1 is a diagram showing a human body model. [Diagram 40] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Diagram 41] 13 is a histogram for explaining a height pixel number calculation method. [Diagram 42] FIG. 13 is a diagram showing an example of detection of a skeletal structure. [Diagram 43] FIG. 1 is a diagram showing a three-dimensional human body model. [Diagram 44] FIG. 13 is a diagram for explaining a height pixel number calculation method. [Diagram 45] FIG. 13 is a diagram for explaining a height pixel number calculation method. [Figure 46] FIG. 13 is a diagram for explaining a height pixel number calculation method. [Figure 47] FIG. 13 is a diagram for explaining a normalization method. [Figure 48] FIG. 13 is a diagram for explaining a normalization method. [Figure 49] FIG. 13 is a diagram for explaining a normalization method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In all the drawings, the same components are denoted by the same reference numerals, and the description thereof will be omitted as appropriate.

[0013] <First embodiment> "overview" The driver monitoring device of this embodiment analyzes an image captured of the driver, and detects at least one of a predetermined posture and movement of the driver, and a predetermined object. Hereinafter, "at least one of a posture and movement" may be referred to as "posture, etc." The predetermined posture, etc. of the driver is the posture, etc. of the driver when performing a predetermined action. The predetermined object is an object used by the driver when performing a predetermined action. The driver monitoring device then detects the driver's predetermined action based on the detection results of the driver's predetermined posture, etc. and the detection results of the predetermined object.

[0014] "Hardware Configuration" Next, an example of the hardware configuration of the driver monitoring device will be described. Each functional part of the driver monitoring device is realized by any combination of hardware and software, centering on a CPU (Central Processing Unit) of any computer, memory, programs loaded into the memory, a storage unit such as a hard disk for storing the programs (programs stored beforehand at the stage of shipping the device, as well as programs downloaded from storage media such as a CD (Compact Disc) or a server on the Internet, can be stored), and a network connection interface. Those skilled in the art will understand that there are various variations in the method of realizing the device and the device.

[0015] FIG. 1 is a block diagram illustrating an example of the hardware configuration of a driver monitoring device. As shown in FIG. 1, the driver monitoring device has a processor 1A, a memory 2A, an input / output interface 3A, a peripheral circuit 4A, and a bus 5A. The peripheral circuit 4A includes various modules. The driver monitoring device does not have to have the peripheral circuit 4A. The driver monitoring device may be composed of multiple devices that are physically and / or logically separated. In this case, each of the multiple devices can have the above hardware configuration.

[0016] The bus 5A is a data transmission path for the processor 1A, memory 2A, peripheral circuit 4A, and input / output interface 3A to transmit and receive data to each other. The processor 1A is an arithmetic processing device such as a CPU or a GPU (Graphics Processing Unit). The memory 2A is a memory such as a RAM (Random Access Memory) or a ROM (Read Only Memory). The input / output interface 3A includes an interface for acquiring information from an input device, an external device, an external server, an external sensor, a camera, etc., and an interface for outputting information to an output device, an external device, an external server, etc. Examples of the input device include a keyboard, a mouse, a microphone, a physical button, a touch panel, etc. Examples of the output device include a display, a speaker, a printer, a mailer, etc. The processor 1A can issue commands to each module and perform calculations based on the results of those calculations.

[0017] "Function Configuration" Next, the functional configuration of the driver monitoring device will be described. The driver monitoring device is a device that detects a predetermined behavior of the driver. The driver monitoring device of this embodiment may be a device mounted on a mobile body, or may be an external server configured to be able to communicate with the device mounted on the mobile body.

[0018] 2 shows an example of a functional block diagram of the driver monitoring device 10. As shown in the figure, the driver monitoring device 10 has an image acquisition unit 11, a first detection unit 12, a second detection unit 13, a third detection unit 14, and a storage unit 15. It is noted that the driver monitoring device 10 does not need to have the storage unit 15. In this case, an external device configured to be accessible from the driver monitoring device 10 has the storage unit 15.

[0019] The image acquisition unit 11 acquires an image of a driver of a moving object.

[0020] A "mobile body" is an object that moves in response to the operation of a driver, and examples of the object include, but are not limited to, automobiles, buses, trains, motorcycles, airplanes, ships, etc.

[0021] In this embodiment, a camera is installed on the moving body at a position and orientation that captures the driver. The camera preferably captures moving images, but may capture still images continuously at a predetermined time interval, or may capture a single still image. The camera may be any camera that can capture the driver's posture and the like and a predetermined object (described later) in a manner that allows the recognition of the image, and any camera may be used, such as a visible light camera or a near-infrared camera.

[0022] The image acquisition unit 11 acquires images generated by the camera as described above. It is preferable that the image acquisition unit 11 acquires images generated by the camera in real time. For example, the camera installed in the mobile body and the driver monitoring device 10 may be communicatively connected to each other. Alternatively, the driver monitoring device 10 and a device (such as an ECU: electronic control unit) that collects data from the camera installed in the mobile body may be communicatively connected to each other. Then, the driver monitoring device 10 acquires images generated by the camera from these devices in real time.

[0023] The first detection unit 12 extracts physical feature data of the driver shown in the image acquired by the image acquisition unit 11, and detects at least one of a predetermined posture and movement by performing feature data matching to compare the extracted feature data with reference data.

[0024] The "predetermined posture and movement" refers to the posture and movement of the driver when performing a predetermined action while driving. Examples include, but are not limited to, "a posture of putting the hand on the side of the face (a posture when talking on a mobile phone, etc.)", "a posture of operating a mobile phone, etc. while looking at the screen", "a posture of reading a magazine or book in the hand", "a posture of reading a newspaper in the hand", "a movement of eating food held in the hand", "a movement of drinking a drink held in the hand", "a movement of taking a cigarette out of a case", "a movement of lighting a cigarette", etc.

[0025] "Specified actions" are actions that are undesirable for the driver to perform while driving, and examples of prohibited actions include, but are not limited to, "talking on a mobile phone," "operating a mobile phone," "reading a magazine, book, newspaper, etc.," "eating," "drinking," "taking a cigarette out of its case," and "lighting a cigarette."

[0026] The "reference data" is characteristic data of a person's body when performing a specific posture or movement. The movement can be represented, for example, by a change in the characteristic data of the person's body over time. The reference data is stored in the storage unit 15 in advance.

[0027] An example of the reference data is shown in FIG. 3. In the illustrated example, feature data of a posture in which the hand is placed on the side of the face is registered. Note that, as shown in FIG. 4, multiple feature data may be registered for one posture or movement. Even for the same posture (e.g., a posture in which the hand is placed on the side of the face), there may be differences depending on the gender, age, physique, the structure of the vehicle being driven, and the like. By linking multiple variations of feature data to one posture or movement and registering them, a specific posture or movement can be detected with high accuracy.

[0028] The process performed by the first detector 12 will be described in further detail in the following embodiment.

[0029] Returning to FIG. 2, the second detection unit 13 detects a predetermined object from within the image acquired by the image acquisition unit 11.

[0030] The "predetermined object" is an object that the driver uses when performing the predetermined action. For example, the predetermined object may be, but is not limited to, a mobile phone, a smartphone, a tablet terminal, a newspaper, a book, a magazine, a cigarette, a lighter, a match, a drink, food, etc.

[0031] The detection of these objects by the second detection unit 13 can be realized by using any conventional technology such as a neural network, pattern matching, etc. The storage unit 15 stores data necessary for object detection using these technologies.

[0032] The third detection unit 14 detects a predetermined action of the driver based on the detection result of a predetermined posture or the like by the first detection unit 12 and the detection result of a predetermined object by the second detection unit 13.

[0033] For example, as shown in Fig. 5, predetermined behavior information that links the driver's posture when performing the predetermined behavior with a predetermined object used by the driver when performing the predetermined behavior is stored in advance in the storage unit 15. Then, the third detection unit 14 detects the driver's predetermined behavior by referring to the predetermined behavior information. Specifically, the third detection unit 14 detects the driver's predetermined behavior based on whether a pair of the driver's posture detected by the first detection unit 12 and the predetermined object detected by the second detection unit 13 is registered as a predetermined behavior in the predetermined behavior information as shown in Fig. 5.

[0034] Next, an example of the flow of processing by the driver monitoring device 10 will be described with reference to the flowchart of FIG.

[0035] First, the driver monitoring device 10 acquires an image of the driver of the mobile object (S10).

[0036] Thereafter, the driver monitoring device 10 extracts feature data of the driver's body shown in the image acquired in S10, and performs feature data matching to compare the extracted feature data with reference data, thereby detecting at least one of a predetermined posture and a predetermined movement (S11). The driver monitoring device 10 also detects a predetermined object from the image acquired in S10 (S12). Note that S11 and S12 may be performed in the order shown in FIG. 6, in the reverse order, or in parallel.

[0037] Thereafter, the driver monitoring device 10 detects a predetermined behavior of the driver based on the detection result of at least one of the predetermined posture and movement in S11 and the detection result of the predetermined object in S12 (S13).

[0038] Although not shown, the driver monitoring device 10 may output a warning to the driver when a predetermined behavior of the driver is detected in S13. The warning is realized via a speaker, a display, a lamp, a vibrator, etc., installed in the moving object, or a seat or a steering wheel of the moving object.

[0039] Also, although not shown, when a predetermined behavior of the driver is detected in S13, the driver monitoring device 10 may register the predetermined behavior history in association with the driver's identification information. In addition, when a predetermined behavior of the driver is detected in S13, the driver monitoring device 10 may link the predetermined behavior history to the driver's identification information and transmit the predetermined behavior history to an external server. The predetermined behavior history indicates, for example, the date and time when the predetermined behavior was detected, the content of the detected predetermined behavior, and the like. The information accumulated in this way can be used to evaluate, for example, the driving of the driver. Note that the driver can be identified by using any conventional technology, such as face recognition using an image.

[0040] "Action and effect" The driver monitoring device 10 of the present embodiment detects a predetermined behavior of the driver based on the detection result of the driver's posture when performing the predetermined behavior and the detection result of a predetermined object used by the driver when performing the predetermined behavior. The driver monitoring device 10 can detect the predetermined behavior of the driver with high accuracy.

[0041] <Second embodiment> The driver monitoring device 10 of this embodiment detects the driver's specified behavior based on the detection results of the driver's posture when performing a specified behavior, the detection results of a specified object used by the driver when performing the specified behavior, and further based on data generated by a sensor installed in the moving body.

[0042] An example of a functional block diagram of the driver monitoring device 10 of this embodiment is shown in Fig. 7. As shown in the figure, the driver monitoring device 10 of this embodiment differs from the first embodiment in that it has a sensor data acquisition unit 19.

[0043] The sensor data acquisition unit 19 acquires data generated by a center installed in a mobile object.

[0044] Examples of "sensors" include, but are not limited to, sensors that detect the gripping state of the handle, and sensors that generate data that can identify whether or not a moving object is moving (speed sensors, acceleration sensors, accelerator sensors, etc.).

[0045] The sensor data acquisition unit 19 acquires data generated by the sensors as described above. It is preferable that the sensor data acquisition unit 19 acquires the data generated by the sensors in real time. For example, the sensor installed in the mobile body and the driver monitoring device 10 may be communicatively connected to each other. Alternatively, the driver monitoring device 10 and a device (such as an ECU) that collects data from the sensors installed in the mobile body may be communicatively connected to each other. Then, the driver monitoring device 10 acquires the data generated by the sensors from these devices in real time.

[0046] The third detection unit 14 detects a predetermined behavior of the driver based on the detection results of a predetermined posture, etc. by the first detection unit 12, the detection results of a predetermined object by the second detection unit 13, and the sensor data acquired by the sensor data acquisition unit 19.

[0047] For example, the third detection unit 14 may detect a state in which both of the following two conditions are satisfied as a state in which the driver is performing a predetermined action.

[0048] The sensor data meets a specified condition. A pair of the driver's posture, etc. detected by the first detection unit 12 and a predetermined object detected by the second detection unit 13 is registered as a predetermined behavior in the predetermined behavior information as shown in FIG. 5.

[0049] The predetermined conditions for the sensor data may include at least one of "the handlebars are not being gripped with both hands" and "the mobile object is not at a standstill."

[0050] When the steering wheel is held with both hands, it is unlikely that the driver is performing a predetermined action such as "talking on a mobile phone", "operating a mobile phone", "reading a magazine, book, newspaper, etc.", "eating", "drinking", "taking a cigarette out of its case", "lighting a cigarette", etc. By configuring the system so that the driver's predetermined action is detected when the condition "not holding the steering wheel with both hands" is met, it is possible to reduce the inconvenience of the third detection unit 14 erroneously detecting the predetermined action when the driver is not performing the predetermined action.

[0051] Furthermore, when the moving object is stopped, actions such as "talking on a mobile phone", "operating a mobile phone", "reading a magazine, book, newspaper, etc.", "eating", "drinking", "taking a cigarette out of its case", "lighting a cigarette", etc. are permitted. By configuring the driver's predetermined action to be detected when the condition "the moving object is not stopped" is satisfied, it is possible to reduce the inconvenience of the third detection unit 14 unnecessarily detecting a predetermined action when that action is permitted.

[0052] Next, an example of the flow of processing by the driver monitoring device 10 will be described with reference to the flowchart of FIG.

[0053] First, the driver monitoring device 10 acquires an image of the driver of the vehicle (S20).

[0054] Thereafter, the driver monitoring device 10 extracts feature data of the driver's body shown in the image acquired in S20, and performs feature data matching to compare the extracted feature data with reference data, thereby detecting at least one of a predetermined posture and a predetermined movement (S21). The driver monitoring device 10 also detects a predetermined object from the image acquired in S20 (S22). The driver monitoring device 10 also acquires data generated by a sensor installed in the moving object (S23). Note that S21, S22, and S23 may be performed in the order shown in FIG. 8, or in another order, or may be performed in parallel.

[0055] Thereafter, the driver monitoring device 10 detects a predetermined behavior of the driver based on the detection result of at least one of the predetermined posture and movement in S21, the detection result of the predetermined object in S22, and the sensor data acquired in S23 (S24).

[0056] Although not shown, the driver monitoring device 10 may output a warning to the driver when a predetermined behavior of the driver is detected in S24. The warning is realized via a speaker, a display, a lamp, a vibrator, etc., installed in the moving object, or a seat or a steering wheel of the moving object.

[0057] Also, although not shown, when a predetermined behavior of the driver is detected in S24, the driver monitoring device 10 may register the predetermined behavior history in association with the driver's identification information. In addition, when a predetermined behavior of the driver is detected in S24, the driver monitoring device 10 may link the predetermined behavior history to the driver's identification information and transmit the predetermined behavior history to an external server. The predetermined behavior history indicates, for example, the date and time when the predetermined behavior was detected, the content of the detected predetermined behavior, etc. Using the information accumulated in this way, for example, the driving of the driver can be evaluated. Note that the driver can be identified using any conventional technology, such as face recognition using an image.

[0058] Other configurations of the driver monitoring device 10 of this embodiment are similar to those of the first embodiment.

[0059] As described above, the driver monitoring device 10 of this embodiment achieves the same effects as those of the first embodiment. Also, the driver monitoring device 10 of this embodiment detects a predetermined behavior of the driver based on the detection result of at least one of the driver's posture and movement when performing a predetermined behavior, the detection result of a predetermined object used by the driver when performing the predetermined behavior, and data from a sensor installed in the mobile object. Such a driver monitoring device 10 can detect the predetermined behavior of the driver with high accuracy.

[0060] <Third embodiment> Fig. 9 shows an example of the configuration of the driver monitoring device 10 of this embodiment. As shown in the figure, the driver monitoring device 10 of this embodiment is mounted on a moving object. The camera 30 shown in the figure is a camera that photographs the driver. The camera 30 is also mounted on the moving object.

[0061] The other configurations of the monitoring device 10 of this embodiment are similar to those of the first and second embodiments.

[0062] As described above, the driver monitoring device 10 of this embodiment achieves the same effects as those of the first and second embodiments. Furthermore, according to the driver monitoring device 10 of this embodiment, as shown in Fig. 9, the camera 30, image acquisition unit 11, first detection unit 12, second detection unit 13, third detection unit 14, and storage unit 15 are realized within the driver monitoring device 10 mounted on a mobile object. Therefore, even when the driver monitoring device 10 is in an offline state where it is not connected to an external device so as to be able to communicate with the external device, the driver monitoring device 10 can execute the process of detecting the predetermined behavior of the driver described above.

[0063] <Fourth embodiment> Fig. 10 shows an example of the configuration of the driver monitoring device 10 of this embodiment. Fig. 11 shows an example of a functional block diagram of the driver monitoring device 10 of this embodiment. As shown in Fig. 11, the driver monitoring device 10 differs from the first to third embodiments in that it has an update unit 16. Although not shown in Fig. 11, the driver monitoring device 10 may also have a sensor data acquisition unit 19.

[0064] As shown in Fig. 10, the driver monitoring device 10 of this embodiment is mounted on a moving body. A server 20 installed at a location different from the moving body generates the above-mentioned reference data. The server 20 includes a skeletal structure detection unit 102, a feature data extraction unit 103, a classification unit 104, and a reference data database (DB) 21.

[0065] First, an image showing a predetermined posture or the like is input to the skeletal structure detection unit 102. Based on the input image, the skeletal structure detection unit 102 detects the two-dimensional skeletal structure of a person in the image. The feature data extraction unit 103 extracts feature data of the detected two-dimensional skeletal structure. The classification unit 104 classifies (clusters) the multiple skeletal structures extracted by the feature data extraction unit 103 based on the similarity of the feature data of the skeletal structures, and stores them in the reference data DB 21. The configurations of the skeletal structure detection unit 102, the feature data extraction unit 103, and the classification unit 104 will be described in detail in the following embodiments.

[0066] The reference data stored in the reference data DB 21 is input to the driver monitoring device 10 by any means. The update unit 16 accepts the input of the reference data by any means and stores the additional reference data in the storage unit 15. After the reference data is added, the first detection unit 12 considers the added reference data as a comparison target for the above-mentioned feature data matching, in addition to the reference data originally existing in the storage unit 15.

[0067] There are various means for the update unit 16 to accept the input of additional reference data, and any means can be adopted. For example, OTA (over the air) technology or other communication technology may be used to transmit the reference data from the server 20 to the driver monitoring device 10. Alternatively, another communication terminal of the user (personal computer, smartphone, tablet terminal, etc.) may access the server 20, and the reference data may be downloaded once to the other communication terminal. Then, these other communication terminals and the driver monitoring device 10 may be connected by any wired and / or wireless means, and the reference data stored in these other communication terminals may be moved to the driver monitoring device 10. Alternatively, the reference data stored in these other communication terminals may be moved to the driver monitoring device 10 via any portable storage device such as a USB memory or an SD card.

[0068] Other configurations of the monitoring device 10 of this embodiment are similar to those of the first to third embodiments.

[0069] As described above, the driver monitoring device 10 of this embodiment achieves the same operational effects as the first to third embodiments. Furthermore, the driver monitoring device 10 of this embodiment can add reference data generated by the server 20 to the storage unit 15 of the driver monitoring device 10. After the reference data is added, the driver monitoring device 10 targets the added reference data for comparison in the above-mentioned feature data matching, in addition to the reference data originally present in the storage unit 15.

[0070] According to the driver monitoring device 10 of this embodiment, the predetermined postures and movements can be expanded by a simple task of adding reference data to the memory unit 15.

[0071] <Fifth embodiment> This embodiment has the configuration of FIG. 10 described in the fourth embodiment, and further has a function of, when a predetermined behavior of the driver is detected, receiving a user input indicating whether the behavior is correct or incorrect, and, when receiving a user input indicating correctness, transmitting an image used for detecting the predetermined behavior to the server 20 as an image indicating the predetermined behavior.

[0072] Fig. 12 shows an example of a functional block diagram of the driver monitoring device 10 of this embodiment. As shown in Fig. 12, the driver monitoring device 10 differs from the first to fourth embodiments in that it has a correct / incorrect input receiving unit 17 and a transmitting unit 18. Although not shown in Fig. 12, the driver monitoring device 10 may have at least one of an updating unit 16 and a sensor data acquiring unit 19.

[0073] When a predetermined behavior of the driver is detected, the correct / incorrect input receiving unit 17 outputs information indicating that to the user, and receives a user input indicating whether the output content is correct or incorrect.

[0074] -Detection of specific driver behavior- The detection of the predetermined behavior of the driver performed for the processing of the correct / incorrect input receiving unit 17 may be realized by the third detection unit 14. In addition, the detection of the predetermined behavior of the driver performed for the processing of the correct / incorrect input receiving unit 17 may be realized by a means other than the third detection unit 14.

[0075] An example of a means different from the third detection unit 14 is to detect a predetermined action of the driver based on data generated by a sensor installed in the moving body, without using the detection results of a predetermined posture, etc., and the detection results of a predetermined object. In this example, data from a sensor that detects the gripping state of the steering wheel, a sensor that detects the steering angle of the steering wheel, a sensor that detects the brake operation by the driver, etc. can be used.

[0076] When the driver performs the above-mentioned predetermined behavior, the state of the steering wheel is unstable and the steering angle of the steering wheel may change in small increments. Also, when the driver performs the above-mentioned predetermined behavior, the driver may become less attentive to the surroundings and may apply the brakes frequently. The correct / incorrect input receiving unit 17 may detect the driver's predetermined behavior by detecting characteristic data appearing in response to such phenomena from the sensor data.

[0077] In addition, phenomena such as "the steering wheel state is unstable and the steering angle of the steering wheel changes in small increments" and "frequent braking" may occur even when the driver is not performing a predetermined action. For example, such phenomena may occur when the driver's driving skill, state of tension, state of health, etc. meet certain conditions.

[0078] Therefore, the correct / incorrect input receiving unit 17 may detect characteristic data appearing in response to the above-mentioned phenomenon from the sensor data, and when data from the sensor detecting the gripping state of the steering wheel indicates that the steering wheel is not being gripped with both hands, detect this as a predetermined behavior of the driver.

[0079] When the steering wheel is held with both hands, it is unlikely that the driver is performing a predetermined action such as "talking on a mobile phone", "operating a mobile phone", "reading a magazine, book, newspaper, etc.", "eating", "drinking", "taking a cigarette out of its case", "lighting a cigarette", etc. By configuring the system to detect the driver's predetermined action when the condition "not holding the steering wheel with both hands" is met, it is possible to reduce the inconvenience of erroneously detecting the predetermined action when the driver is not performing the predetermined action.

[0080] - Output to users and reception of input - When a predetermined behavior of the driver is detected, the correct / incorrect input receiving unit 17 can output information indicating the same to the user via various output devices. Examples of the output devices include, but are not limited to, a display, a speaker, a projector, and the like.

[0081] The correct / incorrect input receiving unit 17 may output the information at the timing when the predetermined behavior of the driver is detected. Alternatively, the correct / incorrect input receiving unit 17 may output the information at the timing when the movement of the moving object first stops after the predetermined behavior of the driver is detected.

[0082] The output information indicates the content of the detected predetermined behavior, and also includes a request to input whether the detection result is correct or incorrect. In the case where the above information is output at the timing when the movement of the moving object first stops after the driver's predetermined behavior is detected, it is preferable that the output information further includes information indicating the timing when the driver's predetermined behavior was detected (e.g., 5 minutes ago, 13:15, etc.). Examples of the output information include, but are not limited to, "A call using a mobile phone while driving was detected. Is this detection result correct? Yes or No", "A call using a mobile phone while driving was detected 5 minutes ago. Is this detection result correct? Yes or No", etc.

[0083] After performing the above-mentioned output, the correct / incorrect input receiving unit 17 receives user input indicating the correctness of the output contents (detection results) via various input devices. Examples of the input devices include, but are not limited to, a touch panel, a microphone, a physical button, a camera for gesture input, and the like.

[0084] When the correct / incorrect input receiving unit 17 receives a user input indicating that the output content is correct, the transmitting unit 18 transmits the image used to detect the predetermined behavior as an image indicating the predetermined behavior to the server 20. There are no particular limitations on the transmitting means, and any technology can be used.

[0085] The server 20 generates new reference data based on the received image showing the predetermined behavior, and registers the new reference data in the reference data DB 21.

[0086] Other configurations of the driver monitoring device 10 of this embodiment are similar to those of the first to fourth embodiments.

[0087] As described above, the driver monitoring device 10 of this embodiment achieves the same operational effects as the first to fourth embodiments. Furthermore, the driver monitoring device 10 of this embodiment can transmit images showing predetermined actions actually performed by the driver to the server 20. The server 20 can then process the received images and update the reference data. As a result, the reference data can be enriched over time, and detection accuracy improves accordingly.

[0088] Sixth embodiment In this embodiment, a process of analyzing an image and detecting a predetermined posture or the like is embodied.

[0089] "Considerations leading to this embodiment" In recent years, image recognition technology that utilizes machine learning such as deep learning has been applied to various systems. For example, it is being applied to surveillance systems that monitor using images from surveillance cameras. By utilizing machine learning in surveillance systems, it is becoming possible to grasp to some extent the posture, movement, and other conditions of people from images.

[0090] However, such related technologies may not always be able to grasp the state of a person desired by a user on demand. For example, the state of a person that a user wants to search and grasp may be specified in advance, or may not be specifically specified, such as an unknown state. In such cases, the user may not be able to specify in detail the state of the person that he or she wants to search for. Furthermore, a search or the like may not be possible if part of the person's body is hidden. In the related technologies, the state of a person can only be searched for based on specific search criteria, making it difficult to flexibly search and classify the state of a desired person.

[0091] Therefore, in this embodiment, in order to recognize the state of a person desired by a user from an image on demand, a skeleton estimation technique such as that described in Non-Patent Document 1 is used. In related skeleton estimation techniques such as OpenPose disclosed in Non-Patent Document 1, a skeleton of a person is estimated by learning various patterns of image data with correct answers. In the following embodiment, such a skeleton estimation technique is utilized to enable flexible recognition of a person's state.

[0092] Note that the skeletal structure estimated by a skeletal estimation technique such as OpenPose is composed of "key points" which are characteristic points such as joints, and "bones (bone links)" which indicate the links between the key points. For this reason, in the following embodiments, the skeletal structure will be described using the terms "key points" and "bones", but unless otherwise specified, "key points" correspond to the "joints" of a person, and "bones" correspond to the "bones" of a person.

[0093] "overview" Fig. 13 shows an overview of an image processing device 1000 according to an embodiment. As shown in Fig. 13, the image processing device 1000 includes a skeleton detection unit 1001, a feature data extraction unit 1002, and a recognition unit 1003. The skeleton detection unit 1001 detects two-dimensional skeleton structures of a plurality of people based on a two-dimensional image acquired from a camera or the like. The feature data extraction unit 1002 extracts feature data of the plurality of two-dimensional skeleton structures detected by the skeleton detection unit 1001. The recognition unit 1003 performs recognition processing of the states of the plurality of people based on the similarity of the plurality of feature data extracted by the feature data extraction unit 1002. The recognition processing is classification processing, search processing, etc. of the state of the person.

[0094] In this manner, in this embodiment, a two-dimensional skeletal structure of a person is detected from a two-dimensional image, and recognition processing such as classification and search of the person's state is performed based on feature data extracted from this two-dimensional skeletal structure, thereby enabling the desired state of a person to be flexibly recognized.

[0095] In this embodiment, the first detection unit 12 of the driver monitoring device 10 is realized by using such an image processing device 1000.

[0096] "Function Configuration" The functional configuration of this embodiment will be described in detail below with reference to the drawings. Fig. 14 shows the configuration of an image processing device 100 according to this embodiment. The image processing device 100 is a more specific embodiment of the functional configuration of the image processing device 1000 described above. The image processing device 100 constitutes an image processing system 1 together with a camera 200 and a database (DB) 201. The image processing system 1 including the image processing device 100 is a system that classifies and searches for states such as posture and movement of a person based on the skeletal structure of the person estimated from an image.

[0097] The camera 200 is an imaging unit such as a surveillance camera that generates a two-dimensional image. The camera 200 is installed at a predetermined location and captures an image of a person or the like in an imaging area from the installation location. In this embodiment, the camera 200 is installed in a moving object at a position and orientation that allows the driver to be captured. The camera 200 is directly connected to the image processing device 100 so that the captured image (video) can be output to the image processing device 100, or is connected via a network or the like. The camera 200 may be provided inside the image processing device 100.

[0098] The database 201 is a database that stores information (data) necessary for processing by the image processing device 100, processing results, etc. The database 201 stores images acquired by the image acquisition unit 101, detection results by the skeletal structure detection unit 102, data for machine learning, feature data extracted by the feature data extraction unit 103, classification results by the classification unit 104, search results by the search unit 105, etc. The database 201 is directly connected to the image processing device 100 as necessary so as to be able to input and output data, or is connected via a network or the like. The database 201 may be provided inside the image processing device 100 as a non-volatile memory such as a flash memory, a hard disk device, or the like.

[0099] As shown in FIG. 14, the image processing device 100 includes an image acquisition unit 101, a skeletal structure detection unit 102, a feature data extraction unit 103, a classification unit 104, a search unit 105, an input unit 106, and a display unit 107. The configuration of each unit (block) is an example, and may be configured with other units as long as the method (operation) described later is possible. The image processing device 100 is realized by a computer device such as a personal computer or a server that executes a program, but may be realized by one device or by multiple devices on a network. For example, the input unit 106, the display unit 107, etc. may be external devices. The image processing device 100 may include both the classification unit 104 and the search unit 105, or only one of them. Both or one of the classification unit 104 and the search unit 105 is a recognition unit that performs recognition processing of a person's state.

[0100] The image acquisition unit 101 acquires a two-dimensional image including a person captured by the camera 200. The image acquisition unit 101 acquires, for example, an image including a person (a video including a plurality of images) captured by the camera 200 during a predetermined monitoring period.

[0101] The skeletal structure detection unit 102 detects the two-dimensional skeletal structure of a person in the image based on the acquired two-dimensional image. The skeletal structure detection unit 102 detects the skeletal structure of a person detected in an area in the image where the driver will be located. The skeletal structure detection unit 102 detects the skeletal structure of a person based on the recognized features of the person's joints and the like using a skeletal estimation technology using machine learning. The skeletal structure detection unit 102 uses a skeletal estimation technology such as OpenPose in Non-Patent Document 1, for example.

[0102] The feature data extraction unit 103 extracts feature data of the detected two-dimensional skeletal structure, and stores the extracted feature data in the database 201 in association with the image to be processed. The feature data of the skeletal structure indicates the features of the person's skeleton, and is an element for classifying and searching the state of the person based on the person's skeleton. Usually, this feature data includes a plurality of parameters (e.g., classification elements described later). The feature data may be feature data of the entire skeletal structure, or may be feature data of a part of the skeletal structure, or may include a plurality of feature data like each part of the skeletal structure. The method of extracting the feature data may be any method such as machine learning or normalization, and a minimum value or a maximum value may be obtained as normalization. As an example, the feature data is feature data obtained by machine learning the skeletal structure, the size of the skeletal structure from the head to the feet on the image, etc. The size of the skeletal structure is the vertical height or area of ​​the skeletal region including the skeletal structure on the image. The vertical direction (height direction or vertical direction) is the vertical direction (Y-axis direction) in the image, for example, the direction perpendicular to the ground (reference surface). Moreover, the left-right direction (horizontal direction) is the left-right direction in the image (X-axis direction), for example, a direction parallel to the ground.

[0103] In order to perform classification and search as desired by the user, it is preferable to use feature data that is robust to classification and search processing. For example, if the user desires classification and search that are not dependent on the orientation or body type of a person, feature data that is robust to the orientation or body type of a person may be used. By learning the skeletons of people facing in various directions in the same posture or the skeletons of people with various body types in the same posture, or by extracting features of only the up-down direction of the skeleton, feature data that is not dependent on the orientation or body type of a person can be obtained.

[0104] The classification unit 104 classifies (clusters) the multiple skeletal structures stored in the database 201 based on the similarity of the feature data of the skeletal structures. It can be said that the classification unit 104 classifies the multiple human states based on the feature data of the skeletal structures as a recognition process of the human state. The similarity is the distance between the feature data of the skeletal structures. The classification unit 104 may classify based on the similarity of the feature data of the entire skeletal structure, may classify based on the similarity of the feature data of a part of the skeletal structure, or may classify based on the similarity of the feature data of a first part (e.g., both hands) and a second part (e.g., both feet) of the skeletal structure. Note that the posture of the person may be classified based on the feature data of the person's skeletal structure in each image, or the movement of the person may be classified based on the change in the feature data of the person's skeletal structure in multiple images that are consecutive in time series. That is, the classification unit 104 can classify the state of the person, including the posture and movement of the person, based on the feature data of the skeletal structure. For example, the classification unit 104 classifies multiple skeletal structures in multiple images captured during a predetermined monitoring period. The classification unit 104 obtains the similarity between the feature data to be classified, and classifies the data so that skeletal structures with high similarity are in the same cluster (a group of similar postures). As with the search, the classification conditions may be specified by the user. The classification unit 104 stores the classification results of the skeletal structures in the database 201.

[0105] The search unit 105 searches for a skeletal structure having a high similarity to feature data of a search query (query state) from among a plurality of skeletal structures stored in the database 201. In this embodiment, feature data indicating the driver's posture, etc., extracted from an image capturing the driver, becomes the search query.

[0106] It can be said that the search unit 105 searches for a state of a person that meets the search criteria (query state) from among a plurality of states of a person based on the feature data of the skeletal structure as a recognition process of the state of the person. As in classification, the similarity is the distance between the feature data of the skeletal structure. The search unit 105 may search based on the similarity of the feature data of the entire skeletal structure, may search based on the similarity of the feature data of a part of the skeletal structure, or may search based on the similarity of the feature data of a first part (e.g., both hands) and a second part (e.g., both feet) of the skeletal structure. Note that the search unit 105 may search for a person's posture based on the feature data of the person's skeletal structure in each image, or may search for a person's movement based on a change in the feature data of the person's skeletal structure in a plurality of images that are successive in time series. That is, the search unit 105 can search for a state of a person, including the posture and movement of the person, based on the feature data of the skeletal structure. For example, the search unit 105 searches for feature data of a plurality of skeletal structures in a plurality of images captured during a predetermined monitoring period, similar to the classification target. Note that the search query may be selected from a plurality of unclassified skeletal structures, not limited to the classification result, or the user may input a skeletal structure that is the search query. The search unit 105 searches the feature data of the search target for feature data that has a high similarity to the feature data of the skeletal structure of the search query.

[0107] The input unit 106 is an input interface that acquires information input by a user who operates the image processing device 100. For example, the user is a driver of a moving object. The input unit 106 is, for example, a GUI (Graphical User Interface), and information according to user operations is input from an input device such as a keyboard, a mouse, a touch panel, or a microphone.

[0108] The display unit 107 is a display unit that displays the results of the operations (processing) of the image processing device 100, and is, for example, a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display.

[0109] Fig. 15 to Fig. 17 show the operation of the image processing device 100 according to this embodiment. Fig. 15 shows the flow of processing when the image processing device 100 is applied to the server 20 in Fig. 10, and Fig. 17 shows the flow of processing when the image processing device 100 is applied to the driver monitoring device 10 in Fig. 10.

[0110] First, a process flow will be described when the image processing device 100 is applied to the server 20 in Fig. 10. As shown in Fig. 15, the image processing device 100 acquires an image data set (S101). The image acquisition unit 101 acquires images of people in order to classify them based on their skeletal structures, and stores the acquired images in the database 201.

[0111] Next, the image processing device 100 detects the skeletal structure of the person based on the acquired image of the person (S102). Fig. 18 shows an example of detecting the skeletal structure. As shown in Fig. 18, an image acquired from a surveillance camera or the like includes multiple people, and the skeletal structure is detected for each person included in the image.

[0112] Fig. 19 shows the skeletal structure of the human body model 300 detected at this time, and Fig. 20 to Fig. 22 show examples of skeletal structure detection. The skeletal structure detection unit 102 detects the skeletal structure of the human body model (two-dimensional skeletal model) 300 as shown in Fig. 19 from a two-dimensional image using a skeletal estimation technique such as OpenPose. The human body model 300 is a two-dimensional model made up of key points such as a person's joints and bones connecting each key point.

[0113] The skeletal structure detection unit 102, for example, extracts feature points that can be key points from an image, and detects each key point of a person by referring to information obtained by machine learning the image of the key points. In the example of Fig. 19, the following key points of a person are detected: head A1, neck A2, right shoulder A31, left shoulder A32, right elbow A41, left elbow A42, right hand A51, left hand A52, right hip A61, left hip A62, right knee A71, left knee A72, right foot A81, and left foot A82. Furthermore, the bones of the person connected by these key points are detected as bones, including bone B1 connecting the head A1 and neck A2, bones B21 and B22 connecting the neck A2 to the right shoulder A31 and left shoulder A32 respectively, bones B31 and B32 connecting the right shoulder A31 and left shoulder A32 to the right elbow A41 and left elbow A42 respectively, bones B41 and B42 connecting the right elbow A41 and left elbow A42 to the right hand A51 and left hand A52 respectively, bones B51 and B52 connecting the neck A2 to the right hip A61 and left hip A62 respectively, bones B61 and B62 connecting the right hip A61 and left hip A62 to the right knee A71 and left knee A72 respectively, and bones B71 and B72 connecting the right knee A71 and left knee A72 to the right foot A81 and left foot A82 respectively. The skeletal structure detection unit 102 stores the detected skeletal structure of the person in the database 201.

[0114] Fig. 20 shows an example of detecting a person standing upright. In Fig. 20, an image of a person standing upright is captured from the front, and bones B1, B51 and B52, B61 and B62, and B71 and B72 are detected without overlapping when viewed from the front, and bones B61 and B71 of the right foot are slightly more bent than bones B62 and B72 of the left foot.

[0115] Fig. 21 is an example of detecting a person in a crouching state (sitting state). In Fig. 21, the person crouching is imaged from the right side, and bones B1, B51 and B52, B61 and B62, and B71 and B72 are detected as seen from the right side, and bones B61 and B71 of the right foot and bones B62 and B72 of the left foot are greatly bent and overlap each other.

[0116] Fig. 22 shows an example of detecting a person who is lying down. In Fig. 22, the person lying down is imaged from the diagonal front left, and bones B1, B51 and B52, B61 and B62, and B71 and B72 seen from the diagonal front left are detected, and bones B61 and B71 of the right foot and bones B62 and B72 of the left foot are bent and overlapped.

[0117] 15, the image processing device 100 extracts feature data of the detected skeletal structure (S103). For example, when the height or area of ​​the skeletal region is used as feature data, the feature data extraction unit 103 extracts a region including the skeletal structure and obtains the height (number of pixels) and area (pixel area) of the region. The height and area of ​​the skeletal region are obtained from the coordinates of the ends of the extracted skeletal region and the coordinates of the key points of the ends. The feature data extraction unit 103 stores the obtained feature data of the skeletal structure in the database 201.

[0118] In the example of Figure 20, a skeletal region including all bones is extracted from the skeletal structure of a person standing upright. In this case, the top end of the skeletal region is key point A1 on the head, the bottom end of the skeletal region is key point A82 on the left foot, the left end of the skeletal region is key point A41 on the right elbow, and the right end of the skeletal region is key point A52 on the left hand. Therefore, the height of the skeletal region is calculated from the difference in the Y coordinates of key point A1 and key point A82. In addition, the width of the skeletal region is calculated from the difference in the X coordinates of key point A41 and key point A52, and the area is calculated from the height and width of the skeletal region.

[0119] In the example of Figure 21, a skeletal region including all bones is extracted from the skeletal structure of a crouching person. In this case, the top end of the skeletal region is key point A1 on the head, the bottom end of the skeletal region is key point A81 on the right foot, the left end of the skeletal region is key point A61 on the right hip, and the right end of the skeletal region is key point A51 on the right hand. Therefore, the height of the skeletal region is calculated from the difference in the Y coordinates of key points A1 and A81. The width of the skeletal region is calculated from the difference in the X coordinates of key points A61 and A51, and the area is calculated from the height and width of the skeletal region.

[0120] In the example of Figure 22, a skeletal region including all bones is extracted from the skeletal structure of a person lying down in the left-right direction of the image. In this case, the top end of the skeletal region is the left shoulder key point A32, the bottom end of the skeletal region is the left hand key point A52, the left end of the skeletal region is the right hand key point A51, and the right end of the skeletal region is the left foot key point A82. Therefore, the height of the skeletal region is calculated from the difference in the Y coordinates of key points A32 and A52. The width of the skeletal region is calculated from the difference in the X coordinates of key points A51 and A82, and the area is calculated from the height and width of the skeletal region.

[0121] Subsequently, as shown in FIG. 15, the image processing device 100 performs a classification process (S104). In the classification process, as shown in FIG. 16, the classification unit 104 calculates the similarity of the extracted skeletal structure feature data (S111), and classifies the skeletal structures based on the extracted feature data (S112). The classification unit 104 obtains the similarity of the feature data between all skeletal structures stored in the database 201 to be classified, and classifies (clusters) the skeletal structures (postures) having the highest similarity into the same cluster. Furthermore, the classification is repeated by obtaining the similarity between the classified clusters until a predetermined number of clusters are obtained. FIG. 23 shows an image of the classification result of the skeletal structure feature data. FIG. 23 shows an image of cluster analysis by two-dimensional classification elements, and the two classification elements are, for example, the height of the skeletal region and the area of ​​the skeletal region. In FIG. 23, the classification result shows that the feature data of a plurality of skeletal structures are classified into three clusters C1 to C3. The clusters C1 to C3 correspond to different postures, such as standing, sitting, and lying down, and skeletal structures (people) are classified according to similar postures.

[0122] In this embodiment, various classification methods can be used by classifying based on the characteristic data of the person's skeletal structure. The classification method may be set in advance, or may be set arbitrarily by the user. In addition, classification may be performed by the same method as the search method described later. In other words, classification may be performed by classification conditions similar to the search conditions. For example, the classification unit 104 performs classification by the following classification methods. Any of the classification methods may be used, or arbitrarily selected classification methods may be combined. By adopting an appropriate classification method, clusters corresponding to each of various predetermined postures can be generated.

[0123] (Classification method 1) Classification by multiple hierarchies Classification is performed by combining hierarchically classification based on the skeletal structure of the entire body, classification based on the skeletal structure of the upper and lower body, classification based on the skeletal structure of the arms and legs, etc. In other words, classification may be performed based on feature data of a first part and a second part of the skeletal structure, and further classification may be performed by weighting the feature data of the first part and the second part.

[0124] (Classification method 2) Classification based on multiple images in a time series Classification is based on the feature data of the skeletal structure in multiple images that are consecutive in a time series. For example, feature data may be stacked in the time series direction and classification may be based on the cumulative value. Furthermore, classification may be based on the change (amount of change) in the feature data of the skeletal structure in multiple consecutive images.

[0125] (Classification method 3) Classification ignoring the left and right skeletal structure Classify people whose right and left sides have opposite skeletal structures as the same skeletal structure.

[0126] Furthermore, the classification unit 104 displays the classification result of the skeletal structure (S113). The classification unit 104 acquires the necessary skeletal structure and person images from the database 201, and displays the skeletal structure and person for each similar posture (cluster) on the display unit 107 as the classification result. FIG. 24 shows a display example when postures are classified into three. For example, as shown in FIG. 24, posture areas WA1 to WA3 for each posture are displayed in the display window W1, and the skeletal structure and person (image) of the posture corresponding to each posture area WA1 to WA3 are displayed. The posture area WA1 is, for example, a display area for a standing posture, and displays the skeletal structure and person similar to the standing posture classified into cluster C1. The posture area WA2 is, for example, a display area for a sitting posture, and displays the skeletal structure and person similar to the sitting posture classified into cluster C2. The posture area WA3 is, for example, a display area for a lying posture, and displays the skeletal structure and person similar to the lying posture classified into cluster C2.

[0127] Next, a process flow will be described when the image processing device 100 is applied to the driver monitoring device 10 of Fig. 10. As shown in Fig. 17, the image processing device 100 acquires an image (image of the driver) generated by the camera 200 (camera 30) (S101). The image acquisition unit 101 acquires the image.

[0128] Next, the image processing device 100 detects the skeletal structure of the person based on the acquired image of the person (S102). Next, the image processing device 100 extracts feature data of the detected skeletal structure (S103). S102 and S103 are the same as the processes described with reference to FIG.

[0129] Next, the image processing device 100 searches the database 201 (storage unit 15) using the feature data extracted in S103 as a search query, and identifies at least one of the posture and the movement indicated by the feature data extracted in S103. Specifically, the search unit 105 searches for feature data having a similarity to the feature data of the search query equal to or greater than a threshold value from among all feature data stored in the database 201. Then, the search unit 105 identifies at least one of the posture and the movement associated with the searched feature data.

[0130] In this embodiment, similarly to the classification method, various search methods can be used by searching based on characteristic data of a person's skeletal structure. The search method may be preset, or may be set arbitrarily by the user. For example, the search unit 105 performs a search using the following search methods. Any of the search methods may be used, or arbitrarily selected search methods may be combined. A search may be performed by combining a plurality of search methods (search conditions) using a logical expression (e.g., AND (logical product), OR (logical sum), NOT (negation)). For example, a search may be performed using the search conditions "(posture with right hand raised) AND (posture with left leg raised)".

[0131] (Search method 1) Search using only height feature data Searching using only the height feature data of a person can reduce the effect of lateral changes in the person, improving robustness against changes in the person's orientation and body type. For example, as in skeletal structures 501-503 in Fig. 25, even if the person's orientation and body type are different, the height feature data does not change significantly. For this reason, skeletal structures 501-503 can be determined to have the same posture during search (classification).

[0132] (Search method 2) When a part of a person's body is hidden in a partial search image, only information on recognizable parts is used for search. For example, as in the skeletal structures 511 and 512 in FIG. 26, even if the left foot key point cannot be detected because the left foot is hidden, search can be performed using feature data of other detected key points. For this reason, in the skeletal structures 511 and 512, it is possible to determine that the postures are the same at the time of search (classification). In other words, classification and search can be performed using feature data of some key points, not all key points. In the example of the skeletal structures 521 and 522 in FIG. 27, although the directions of both feet are different, it is possible to determine that the postures are the same by using feature data of the key points (A1, A2, A31, A32, A41, A42, A51, A52) of the upper body as a search query. In addition, a weight may be applied to the part (feature point) to be searched, or a threshold value for similarity judgment may be changed. When a part of the body is hidden, a search may be performed ignoring the hidden part, or a search may be performed taking the hidden part into account. By including hidden parts in the search, it is possible to search for postures in which the same body part is hidden.

[0133] (Search method 3) Search ignoring the left and right sides of skeletal structures Skeletal structures with opposite right and left sides of a person are searched for as the same skeletal structure. For example, as in skeletal structures 531 and 532 in Fig. 28, a posture in which the right hand is raised and a posture in which the left hand is raised can be searched for (classified) as the same posture. In the example of Fig. 28, skeletal structures 531 and 532 have different positions for key point A51 on the right hand, key point A41 on the right elbow, key point A52 on the left hand, and key point A42 on the left elbow, but the positions of the other key points are the same. Of the key points A51 on the right hand and A41 on the right elbow of skeletal structure 531, and the key points A52 on the left hand and A42 on the left elbow of skeletal structure 532, if the key points of one of the skeletal structures are flipped left to right, they will be in the same position as the key points of the other skeletal structure. Furthermore, of the key points A52 on the left hand and A42 on the left elbow of skeletal structure 531, and the key points A51 on the right hand and A41 on the right elbow of skeletal structure 532, if the key points of one of the skeletal structures are flipped left to right, they will be in the same position as the key points of the other skeletal structure, so they are determined to be the same posture.

[0134] (Search method 4) Search using vertical and horizontal feature data After performing a search using only the feature data in the vertical direction (Y-axis direction) of a person, the obtained results are further searched using the feature data in the horizontal direction (X-axis direction) of the person.

[0135] (Search method 5) Searching for multiple images in a time series Searching is performed based on feature data of the skeletal structure in multiple images that are consecutive in a time series. For example, feature data may be stacked in the time series direction and searching may be performed based on the accumulated value. Furthermore, searching may be performed based on the change (amount of change) in the feature data of the skeletal structure in multiple consecutive images.

[0136] As described above, in this embodiment, it is possible to detect a person's skeletal structure from a two-dimensional image, and to perform classification and search based on feature data of the detected skeletal structure. This allows classification into similar poses with high similarity, and also allows searching for similar poses with high similarity to a search query (search key). By classifying and displaying similar poses from an image, it is possible to grasp the pose of a person in an image without the user specifying a pose, etc. Since the user can specify the pose of a search query from the classification results, it is possible to search for a desired pose even if the user does not know in advance the pose he or she wants to search in detail. For example, classification and search can be performed using the whole or part of a person's skeletal structure as a condition, which enables flexible classification and search.

[0137] Seventh embodiment Hereinafter, the seventh embodiment will be described with reference to the drawings. In this embodiment, a specific example of the feature data extraction process in the sixth embodiment will be described. In this embodiment, feature data is obtained by normalizing using the person's height. The rest is the same as in the sixth embodiment.

[0138] Fig. 29 shows the configuration of an image processing device 100 according to this embodiment. As shown in Fig. 29, the image processing device 100 further includes a height calculation unit 108 in addition to the configuration of the sixth embodiment. Note that the feature data extraction unit 103 and the height calculation unit 108 may be integrated into one processing unit.

[0139] The height calculation unit (height estimation unit) 108 calculates (estimates) the height (called height pixel count) of a person in a two-dimensional image when standing upright, based on the two-dimensional skeletal structure detected by the skeletal structure detection unit 102. The height pixel count can also be said to be the height of a person in a two-dimensional image (the length of the person's entire body in two-dimensional image space). The height calculation unit 108 finds the height pixel count (number of pixels) from the length of each bone of the detected skeletal structure (the length in two-dimensional image space).

[0140] In the following examples, concrete examples 1 to 3 are used as a method for calculating the height pixel number. Any of the concrete examples 1 to 3 may be used, or a combination of a plurality of arbitrarily selected methods may be used. In concrete example 1, the height pixel number is calculated by adding up the lengths of the bones from the head to the feet among the bones of the skeletal structure. If the skeletal structure detection unit 102 (skeletal estimation technology) does not output the top of the head and the feet, it can be corrected by multiplying a constant as necessary. In concrete example 2, the height pixel number is calculated using a human body model that indicates the relationship between the length of each bone and the length of the whole body (height in a two-dimensional image space). In concrete example 3, the height pixel number is calculated by fitting (applying) a three-dimensional human body model to the two-dimensional skeletal structure.

[0141] The feature data extraction unit 103 of this embodiment is a normalization unit that normalizes the skeletal structure (skeletal information) of a person based on the calculated height pixel number of the person. The feature data extraction unit 103 stores the feature data (normalization value) of the normalized skeletal structure in the database 201. The feature data extraction unit 103 normalizes the height of each key point (feature point) included in the skeletal structure on the image by the height pixel number. In this embodiment, for example, the height direction is the up-down direction (Y axis direction) in the two-dimensional coordinate (XY coordinate) space of the image. In this case, the height of the key point can be obtained from the Y coordinate value (pixel number) of the key point. Alternatively, the height direction may be the direction of the vertical projection axis (vertical projection direction) obtained by projecting the direction of the vertical axis perpendicular to the ground (reference plane) in the three-dimensional coordinate space of the real world onto the two-dimensional coordinate space. In this case, the height of the key point can be obtained from the value (pixel number) along the vertical projection axis obtained by projecting the axis perpendicular to the ground in the real world onto the two-dimensional coordinate space based on the camera parameters. The camera parameters are image capture parameters of an image, and examples of the camera parameters include the posture, position, image capture angle, and focal length of the camera 200. The camera 200 captures an image of an object whose length and position are known in advance, and the camera parameters can be obtained from the image. Distortion occurs at both ends of the captured image, and the vertical direction in the real world and the up-down direction of the image may not match. In response to this, by using the parameters of the camera that captured the image, it is possible to know to what extent the vertical direction in the real world is tilted in the image. Therefore, by normalizing the value of the keypoint along the vertical projection axis projected into the image based on the camera parameters by height, the keypoint can be converted into feature data taking into account the deviation between the real world and the image. The left-right direction (horizontal direction) is the left-right direction (X-axis direction) in the two-dimensional coordinate (XY coordinate) space of the image, or the direction parallel to the ground in the three-dimensional coordinate space of the real world projected into the two-dimensional coordinate space.

[0142] Fig. 30 to Fig. 34 show the operation of the image processing device 100 according to this embodiment. Fig. 30 shows the flow from image acquisition to search processing in the image processing device 100, Fig. 31 to Fig. 33 show the flow of specific examples 1 to 3 of the height pixel number calculation processing (S201) in Fig. 30, and Fig. 34 shows the flow of the normalization processing (S202) in Fig. 30.

[0143] As shown in Fig. 30, in this embodiment, height pixel number calculation processing (S201) and normalization processing (S202) are performed as the feature data extraction processing (S103) in the sixth embodiment. The rest is the same as in the sixth embodiment. Note that the image processing device 100 may perform both the classification processing (S104) and the search processing (S105) as shown in Fig. 30, or may perform only one of them.

[0144] Following image acquisition (S101) and skeletal structure detection (S102), the image processing device 100 performs height pixel number calculation processing based on the detected skeletal structure (S201). In this example, as shown in Fig. 35, the height of the skeletal structure of a person standing upright in the image is taken as height pixel number (h), and the height of each key point of the skeletal structure in the state of the person in the image is taken as key point height (yi). Specific examples 1 to 3 of height pixel number calculation processing will be described below.

[0145] <Example 1> In specific example 1, the height pixel number is calculated using the length of the bones from the head to the feet. In specific example 1, as shown in Fig. 31, the height calculation unit 108 obtains the length of each bone (S211) and sums up the obtained lengths of each bone (S212).

[0146] The height calculation unit 108 obtains the length of the bones on the two-dimensional image from the head to the feet of the person, and calculates the height pixel number. That is, from the image in which the skeletal structure is detected, the length (number of pixels) of each of the bones in FIG. 35, bone B1 (length L1), bone B51 (length L21), bone B61 (length L31), and bone B71 (length L41), or bone B1 (length L1), bone B52 (length L22), bone B62 (length L32), and bone B72 (length L42), is obtained. The length of each bone can be obtained from the coordinates of each key point in the two-dimensional image. The total of these, L1+L21+L31+L41, or L1+L22+L32+L42, is multiplied by a correction constant to calculate the height pixel number (h). When both values ​​can be calculated, for example, the longer value is set as the height pixel number. That is, each bone will be the longest in the image when it is photographed from the front, and will appear shorter when tilted in the depth direction relative to the camera. Therefore, it is more likely that a longer bone was photographed from the front, and is closer to the true value. For this reason, it is preferable to select the longer value.

[0147] In the example of Fig. 36, bone B1, bones B51 and B52, bones B61 and B62, and bones B71 and B72 are detected without overlapping. The totals of these bones, L1+L21+L31+L41 and L1+L22+L32+L42, are calculated, and the height pixel number is determined by multiplying the detected bone L1+L22+L32+L42 on the left leg side, which has the longer length, by a correction constant.

[0148] 37, bone B1, bone B51 and bone B52, bone B61 and bone B62, and bone B71 and bone B72 are detected, and bones B61 and B71 of the right foot overlap with bones B62 and B72 of the left foot. The totals of these bones, L1+L21+L31+L41 and L1+L22+L32+L42, are calculated, and the height pixel number is determined by multiplying the detected bone length L1+L21+L31+L41 on the right foot side, which is longer, by a correction constant.

[0149] 38, bone B1, bone B51 and bone B52, bone B61 and bone B62, and bone B71 and bone B72 are detected, and bones B61 and B71 of the right foot overlap with bones B62 and B72 of the left foot. The totals of these bones, L1+L21+L31+L41 and L1+L22+L32+L42, are calculated, and the height pixel number is determined by multiplying the detected bone length, for example, L1+L22+L32+L42 on the left foot side, which is longer, by a correction constant.

[0150] In Example 1, height can be calculated by adding up the lengths of the bones from head to toe, so the height pixel count can be calculated in a simple manner. In addition, because it is sufficient to detect at least the skeleton from head to toe using machine learning-based skeleton estimation technology, the height pixel count can be estimated with high accuracy even when the entire person is not necessarily captured in the image, such as when the person is crouching.

[0151] <Example 2> In specific example 2, the height pixel number is calculated using a two-dimensional skeleton model that indicates the relationship between the length of the bones included in the two-dimensional skeleton structure and the length of the entire body of a person in a two-dimensional image space.

[0152] FIG. 39 shows a human body model (two-dimensional skeletal model) 301 used in the concrete example 2, which shows the relationship between the length of each bone in the two-dimensional image space and the length of the whole body in the two-dimensional image space. As shown in FIG. 39, the relationship between the length of each bone of an average person and the length of the whole body (the ratio of the length of each bone to the length of the whole body) is associated with each bone of the human body model 301. For example, the length of the head bone B1 is the length of the whole body×0.2 (20%), the length of the right hand bone B41 is the length of the whole body×0.15 (15%), and the length of the right foot bone B71 is the length of the whole body×0.25 (25%). By storing such information of the human body model 301 in the database 201, the average whole body length can be obtained from the length of each bone. In addition to the human body model of the average person, a human body model may be prepared for each person's attributes such as age, sex, and nationality. This makes it possible to obtain the whole body length (height) appropriately according to the person's attributes.

[0153] In specific example 2, as shown in Fig. 32, height calculation unit 108 acquires the length of each bone (S221). Height calculation unit 108 acquires the length of all bones (length in two-dimensional image space) in the detected skeletal structure. Fig. 40 shows an example in which a person in a crouching state is imaged from diagonally behind to the right and the skeletal structure is detected. In this example, the person's face and left side are not captured, so the head bone and the left arm and left hand bones cannot be detected. Therefore, the length of each of the detected bones B21, B22, B31, B41, B51, B52, B61, B62, B71, and B72 is acquired.

[0154] Next, the height calculation unit 108 calculates the height pixel number from the length of each bone based on the human body model as shown in Fig. 32 (S222). The height calculation unit 108 refers to a human body model 301 showing the relationship between each bone and the length of the whole body as shown in Fig. 39, and calculates the height pixel number from the length of each bone. For example, since the length of the right hand bone B41 is the whole body length × 0.15, the height pixel number based on the bone B41 is calculated by dividing the length of the bone B41 by 0.15. Also, since the length of the right foot bone B71 is the whole body length × 0.25, the height pixel number based on the bone B71 is calculated by dividing the length of the bone B71 by 0.25.

[0155] The human body model to be referenced at this time is, for example, an average human body model, but a human body model may be selected according to the attributes of the person, such as age, sex, and nationality. For example, when a person's face is captured in a captured image, the attributes of the person are identified based on the face, and a human body model corresponding to the identified attributes is referenced. The attributes of the person can be recognized from the facial features of the image by referring to information obtained by machine learning of the face for each attribute. Also, when the attributes of the person cannot be identified from the image, an average human body model may be used.

[0156] Furthermore, the height pixel count calculated from the bone lengths may be corrected by camera parameters. For example, when a person is photographed looking down from a high position with a camera, the horizontal length of the shoulder width bones in the two-dimensional skeletal structure is not affected by the camera's inclination angle, but the vertical length of the neck-waist bones decreases as the camera's inclination angle increases. As a result, the height pixel count calculated from the horizontal length of the shoulder width bones tends to be larger than the actual height pixel count. Therefore, by utilizing camera parameters, the angle at which the camera is looking down on the person can be known, and this inclination angle information can be used to correct the two-dimensional skeletal structure to one as if photographed from the front. This allows the height pixel count to be calculated more accurately.

[0157] Next, the height calculation unit 108 calculates the optimum value of the height pixel number as shown in FIG. 32 (S223). The height calculation unit 108 calculates the optimum value of the height pixel number from the height pixel number obtained for each bone. For example, as shown in FIG. 41, a histogram of the height pixel number obtained for each bone is generated, and the largest height pixel number is selected from among them. In other words, a height pixel number longer than the others is selected from the multiple height pixel numbers obtained based on multiple bones. For example, the top 30% is set as a valid value, and the height pixel numbers of bones B71, B61, and B51 are selected in FIG. 41. The average of the selected height pixel numbers may be obtained as the optimum value, or the largest height pixel number may be obtained as the optimum value. Since the height is obtained from the length of the bone in the two-dimensional image, if the bone is not shot from the front, that is, if the bone is shot tilted in the depth direction when viewed from the camera, the length of the bone will be shorter than when shot from the front. In this case, a value with a large height pixel number is more likely to have been shot from the front than a value with a small height pixel number, and is therefore a more likely value, so a larger value is set as the optimum value.

[0158] In Example 2, the height pixel number is calculated based on the detected bones of the skeletal structure using a human body model showing the relationship between the bones in the two-dimensional image space and the length of the whole body, so that even if all the bones from the head to the feet cannot be obtained, the height pixel number can be calculated from some of the bones. In particular, the height pixel number can be estimated with high accuracy by adopting the larger value among the values ​​calculated from multiple bones.

[0159] <Example 3> In a third specific example, the two-dimensional skeletal structure is fitted to a three-dimensional human body model (three-dimensional skeletal model), and the skeletal vector of the entire body is obtained using the height pixel count of the fitted three-dimensional human body model.

[0160] In the specific example 3, as shown in Fig. 33, the height calculation unit 108 first calculates the camera parameters based on the images captured by the camera 200 (S231). The height calculation unit 108 extracts an object whose length is known in advance from the multiple images captured by the camera 200, and obtains the camera parameters from the size (number of pixels) of the extracted object. Note that the camera parameters may be obtained in advance, and the obtained camera parameters may be acquired as necessary.

[0161] Next, the height calculation unit 108 adjusts the position and height of the three-dimensional human body model (S232). The height calculation unit 108 prepares a three-dimensional human body model for calculating the number of height pixels for the detected two-dimensional skeletal structure, and places it in the same two-dimensional image based on the camera parameters. Specifically, the "relative positional relationship between the camera and the person in the real world" is specified from the camera parameters and the two-dimensional skeletal structure. For example, assuming that the camera position is at coordinates (0,0,0), the coordinates (x,y,z) of the position where the person is standing (or sitting) are specified. Then, the two-dimensional skeletal structure and the three-dimensional human body model are superimposed by assuming an image when the three-dimensional human body model is placed at the same position (x,y,z) as the specified person and captured.

[0162] FIG. 42 shows an example in which a person who is crouching is imaged from the left diagonal front and a two-dimensional skeletal structure 401 is detected. The two-dimensional skeletal structure 401 has two-dimensional coordinate information. It is preferable that all bones are detected, but some bones may not be detected. A three-dimensional human body model 402 as shown in FIG. 43 is prepared for this two-dimensional skeletal structure 401. The three-dimensional human body model (three-dimensional skeletal model) 402 has three-dimensional coordinate information and is a skeletal model having the same shape as the two-dimensional skeletal structure 401. Then, as shown in FIG. 44, the prepared three-dimensional human body model 402 is arranged and superimposed on the detected two-dimensional skeletal structure 401. In addition to the superimposition, the height of the three-dimensional human body model 402 is adjusted to match the two-dimensional skeletal structure 401.

[0163] The three-dimensional human body model 402 prepared at this time may be a model in a state close to the posture of the two-dimensional skeletal structure 401, as shown in Fig. 44, or may be a model in an upright state. For example, a three-dimensional human body model 402 in an estimated posture may be generated using a technology that uses machine learning to estimate a posture in three-dimensional space from a two-dimensional image. By learning information on the joints in the two-dimensional image and the joints in three-dimensional space, it is possible to estimate a three-dimensional posture from a two-dimensional image.

[0164] Next, the height calculation unit 108 fits the three-dimensional human body model to the two-dimensional skeletal structure as shown in FIG. 33 (S233). As shown in FIG. 45, the height calculation unit 108 deforms the three-dimensional human body model 402 so that the postures of the three-dimensional human body model 402 and the two-dimensional skeletal structure 401 match in a state where the three-dimensional human body model 402 is superimposed on the two-dimensional skeletal structure 401. That is, the height, body orientation, and joint angles of the three-dimensional human body model 402 are adjusted and optimized so that there is no difference with the two-dimensional skeletal structure 401. For example, the joints of the three-dimensional human body model 402 are rotated within the range of human movement, and the entire three-dimensional human body model 402 is rotated and the overall size is adjusted. The fitting of the three-dimensional human body model to the two-dimensional skeletal structure is performed in a two-dimensional space (two-dimensional coordinates). In other words, a 3D human body model is mapped onto a 2D space, and the 3D human body model is optimized to a 2D skeletal structure, taking into consideration how the deformed 3D human body model changes in the 2D space (image).

[0165] Next, height calculation unit 108 calculates the height pixel number of the fitted three-dimensional human body model as shown in FIG. 33 (S234). When the difference between three-dimensional human body model 402 and two-dimensional skeletal structure 401 disappears and the postures match as shown in FIG. 46, height calculation unit 108 calculates the height pixel number of three-dimensional human body model 402 in that state. With optimized three-dimensional human body model 402 in an upright state, the length of the entire body in two-dimensional space is calculated based on the camera parameters. For example, the height pixel number is calculated based on the bone length (number of pixels) from the head to the feet when three-dimensional human body model 402 is upright. As in specific example 1, the bone lengths from the head to the feet of three-dimensional human body model 402 may be summed up.

[0166] In specific example 3, a 3D human body model is fitted to a 2D skeletal structure based on the camera parameters, and height pixel count is calculated based on the 3D human body model. This makes it possible to estimate height pixel count with high accuracy even when not all bones are viewed from the front, i.e., even when all bones are viewed at an angle, resulting in a large error.

[0167] <Normalization process> As shown in FIG. 30, the image processing device 100 performs normalization processing (S202) following the height pixel number calculation processing. In the normalization processing, as shown in FIG. 34, the feature data extraction unit 103 calculates the key point height (number of pixels) of all key points included in the detected skeletal structure. The key point height is the length (number of pixels) in the height direction from the lowest end of the skeletal structure (for example, a key point of any foot) to the key point. Here, as an example, the key point height is obtained from the Y coordinate of the key point in the image. As described above, the key point height may be obtained from the length in the direction along the vertical projection axis based on the camera parameters. For example, in the example of FIG. 35, the height (yi) of the neck key point A2 is a value obtained by subtracting the Y coordinate of the right foot key point A81 or the left foot key point A82 from the Y coordinate of the key point A2.

[0168] Next, the feature data extraction unit 103 specifies a reference point for normalization (S242). The reference point is a point that serves as a reference for expressing the relative height of the key point. The reference point may be set in advance, or may be selectable by the user. The reference point is preferably the center of the skeletal structure or higher than the center (upward in the vertical direction of the image), and for example, the coordinates of the key point of the neck are set as the reference point. Note that the reference point is not limited to the neck, and the coordinates of the head or other key points may also be set as the reference point. The reference point is not limited to the key point, and any coordinates (for example, the center coordinates of the skeletal structure, etc.) may also be set as the reference point.

[0169] Next, the feature data extraction unit 103 normalizes the keypoint height (yi) by the height pixel count (S243). The feature data extraction unit 103 normalizes each keypoint using the keypoint height, reference point, and height pixel count of each keypoint. Specifically, the feature data extraction unit 103 normalizes the relative height of the keypoint with respect to the reference point by the height pixel count. Here, as an example focusing on only the height direction, only the Y coordinate is extracted, and normalization is performed with the reference point being the neck keypoint. Specifically, the Y coordinate of the reference point (neck keypoint) is set as (yc), and the feature data (normalized value) is obtained using the following formula (1). Note that when a vertical projection axis based on the camera parameters is used, (yi) and (yc) are converted to values ​​in the direction along the vertical projection axis.

[0170]

number

[0171] For example, when there are 18 keypoints, the coordinates of the 18 keypoints (x0, y0), (x1, y1), ... (x17, y17) are converted into 18-dimensional feature data using the above formula (1) as follows:

[0172]

number

[0173] FIG. 47 shows an example of feature data of each key point obtained by the feature data extraction unit 103. In this example, the neck key point A2 is set as the reference point, so the feature data of the key point A2 is 0.0, and the feature data of the right shoulder key point A31 and the left shoulder key point A32, which are at the same height as the neck, are also 0.0. The feature data of the head key point A1, which is higher than the neck, is -0.2. The feature data of the right hand key point A51 and the left hand key point A52, which are lower than the neck, is 0.4, and the feature data of the right foot key point A81 and the left foot key point A82 are 0.9. If the person raises his / her left hand from this state, the left hand becomes higher than the reference point as shown in FIG. 48, so the feature data of the left hand key point A52 becomes -0.4. On the other hand, since normalization is performed using only the coordinate of the Y axis, the feature data does not change even if the width of the skeletal structure changes as shown in FIG. 49 compared to FIG. 47. That is, the feature data (normalized value) of this embodiment indicates the features in the height direction (Y direction) of the skeletal structure (key point), and is not affected by changes in the lateral direction (X direction) of the skeletal structure.

[0174] As described above, in this embodiment, a person's skeletal structure is detected from a two-dimensional image, and each key point of the skeletal structure is normalized using the height pixel count (height when standing upright in two-dimensional image space) calculated from the detected skeletal structure. By using this normalized feature data, robustness when classification, search, etc. are performed can be improved. That is, the feature data of this embodiment is not affected by lateral changes of the person as described above, and is therefore highly robust against changes in the person's orientation and body shape.

[0175] Furthermore, in this embodiment, since this can be realized by detecting the skeletal structure of a person using a skeletal estimation technique such as OpenPose, there is no need to prepare learning data for learning the posture of a person. Also, by normalizing the key points of the skeletal structure and storing them in a database, classification and search of postures of a person is possible, so that classification and search can be performed even for unknown postures. Also, by normalizing the key points of the skeletal structure, clear and easy-to-understand feature data can be obtained, so that users can be more convinced of the processing results, unlike black-box algorithms such as machine learning.

[0176] A part or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes. 1. An image acquisition means for acquiring an image of a driver of a moving object; a first detection means for extracting characteristic data of the body of the driver shown in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted characteristic data with reference data; A second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A driver monitoring device having a 2. A driver monitoring device as described in 1, wherein the first detection means detects key points on the driver's body and extracts the feature data based on the detected key points. 3. The driver monitoring device described in 1 or 2, wherein the third detection means detects the specified actions by the driver based on specified action information that links each of the multiple specified actions to a combination of at least one of a specified posture and movement and the specified object. 4. The method further comprises: storing means for storing the reference data; 4. The driver monitoring device according to any one of 1 to 3, wherein the first detection means compares the extracted feature data with the reference data stored in the storage means. 5. The driver monitoring device according to claim 4, further comprising an update means for accepting input of additional reference data and storing the data in the storage means. 6. A correct / incorrect input receiving means for, when the predetermined behavior of the driver is detected, outputting information indicating the same to a user and receiving a user input indicating whether the output content is correct or incorrect; a transmission means for transmitting, when the user input indicating that the output content is correct is received, the image used for detecting the predetermined behavior to an external server as an image indicating the predetermined behavior; 6. A driver monitoring device as described in any one of 1 to 5, further comprising: 7. The vehicle further includes a sensor data acquisition means for acquiring data generated by a sensor mounted on the vehicle; The third detection means detects the specified behavior of the driver based on the detection results of at least one of the specified posture and movement, the detection results of the specified object, and the data generated by the sensor. 8. A driver monitoring device as described in 7, wherein the third detection means detects the specified behavior of the driver when the steering wheel of the vehicle is not being held with both hands. 9. A driver monitoring device as described in any one of 1 to 8, wherein the driver monitoring device is an in-vehicle device. 10. The computer: An image acquisition step of acquiring an image of a driver of a mobile object; a first detection step of extracting feature data of the body of the driver captured in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted feature data with reference data; a second detection step of detecting a predetermined object from within the image; a third detection step of detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A driver monitoring method that performs the above. 11. Computer An image acquisition means for acquiring an image of a driver of a mobile object; a first detection means for extracting characteristic data of the body of the driver shown in the image and detecting at least one of a predetermined posture and a predetermined movement by comparing the extracted characteristic data with reference data; A second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the driver based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A program that functions as a [Explanation of symbols]

[0177] 1. Image Processing System 1000 Image Processing Device 1001 Skeleton detection unit 1002 Feature data extraction unit 1003 Recognition part 100 Image processing device 101 Image acquisition unit 102 Skeletal structure detection unit 103 Feature Data Extraction Unit 104 Classification Department 105 Search Department 106 Input section 107 Display section 108 Height Calculator 109 Query Acquisition Unit 110 Change calculation unit 111 Search Department 112 Query Frame Selection Section 10 Driver monitoring device 11 Image acquisition section 12 First detection unit 13 Second detector 14 Third detector 15 Storage section 16 Update section 17 Correct / Incorrect Input Receiver 18 Transmitter 200 Cameras 201 Database 300, 301 Human body models 401 2D Skeleton Structure

Claims

1. An image acquisition means for acquiring an image of a person riding on a moving object; a first detection means for extracting feature data of the body of the person appearing in the image and detecting at least one of a predetermined posture and a predetermined movement based on the extracted feature data; a second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the person based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A monitoring device having the above configuration.

2. 2. The monitoring device according to claim 1, wherein said first detection means detects key points on the body of said person, and extracts said feature data based on said detected key points.

3. The monitoring device according to claim 1 or 2, wherein the third detection means detects the specified behavior by the person based on specified behavior information that links each of the multiple specified behaviors to a combination of at least one of a specified posture and movement and the specified object.

4. a correct / incorrect input receiving means for, when the predetermined behavior of the person is detected, outputting information indicating that to a user and receiving a user input indicating whether the output content is correct or incorrect; a transmission means for transmitting, when the user input indicating that the output content is correct is received, the image used for detecting the predetermined behavior to an external server as an image indicating the predetermined behavior; The monitoring device according to any one of claims 1 to 3, further comprising:

5. The monitoring device according to claim 4 , wherein the information output to the user is output at a timing when the movement of the moving object first stops after a predetermined action of the person is detected.

6. The vehicle further includes a sensor data acquisition unit for acquiring data generated by a sensor mounted on the vehicle, The monitoring device according to any one of claims 1 to 5, wherein the third detection means detects the specified behavior of the person based on the detection result of at least one of the specified posture and movement, the detection result of the specified object, and data generated by the sensor.

7. The computer An image acquisition step of acquiring an image of a person riding on a moving object; a first detection step of extracting feature data of the body of the person appearing in the image, and detecting at least one of a predetermined posture and a predetermined movement based on the extracted feature data; a second detection step of detecting a predetermined object from within the image; a third detection step of detecting a predetermined behavior of the person based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; The monitoring method to perform.

8. Computer, An image acquisition means for acquiring an image of a person riding on a moving object; a first detection means for extracting feature data of the body of the person appearing in the image and detecting at least one of a predetermined posture and a predetermined movement based on the extracted feature data; A second detection means for detecting a predetermined object from within the image; a third detection means for detecting a predetermined behavior of the person based on a detection result of at least one of the predetermined posture and movement and a detection result of the predetermined object; A program that functions as a

Citation Information

Patent Citations

  • Information processing device, information processing system, and information processing method

    JP2017111508A

  • Classification apparatus, classification method and program

    JP2018092489A

  • Action analysis device and action analysis method

    JP2020135747A

  • A method for activity recognition using video tubes.

    JP2021510225A

  • Monitoring system

    US20200012848A1