Image processing device, image processing method, and program

JP7632608B2Active Publication Date: 2025-02-19NEC CORP
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023523804
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-05-26
Publication Date
2025-02-19
Estimated Expiration
2041-05-26

AI Technical Summary

Benefits of technology

【0014】 本発明によれば、クエリが示す姿勢や行動と同じ姿勢や行動を示す画像を精度よく検索できるようになる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007632608000003
    Figure 0007632608000003
  • Figure 0007632608000004
    Figure 0007632608000004
  • Figure 0007632608000005
    Figure 0007632608000005
Patent Text Reader

Abstract

The present invention provides an image processing device (100) comprising: a query acquisition unit (109) that acquires a first query video including a plurality of chronological first frame images and at least one second query video including a plurality of chronological second frame images; a feature calculation unit (103) that calculates the feature of a key point detected from an object included in each of the first frame images and the second frame images; a correspondence relationship identification unit (114) that identifies a second frame image corresponding to each of the plurality of first frame images; and an integration unit (113) that subjects a plurality of combinations of a first frame image and a second frame image corresponding to each other to the processing of integrating features calculated from the first frame image and the second frame image, to thereby create an integrated query in which the integrated features are arranged chronologically.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an image processing device, an image processing method, and a program. [Background technology]

[0002] In recent years, in surveillance systems and the like, techniques for detecting and searching for states such as posture and behavior of a person from images of a surveillance camera are used. For example, Patent Documents 1 and 2 are known as related techniques. Patent Document 1 discloses a technique for searching for a similar posture of a person based on key joints of the person's head, limbs, etc. contained in a depth image. Patent Document 2 discloses a technique for searching for a similar image using posture information such as tilt added to an image, which is not related to the posture of a person. In addition, Non-Patent Document 1 is known as a technique related to human skeleton estimation.

[0003] Meanwhile, in recent years, it has also been considered to use a video as a query to search for videos similar to the query. For example, Patent Document 3 describes a method in which, when a reference video serving as a query is input, a similar video is searched for using the number of faces of the characters, as well as the position, size, and orientation of each character's face.

[0004] Patent Document 4 describes a technique for calculating an integrated scene feature by averaging the scene feature of each of a plurality of query videos. Patent Document 5 describes a technique for extracting an image that is likely to be well-received from a video consisting of a plurality of frame images. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Special Publication No. 2014-522035 [Patent Document 2] JP 2006-260405 A [Patent Document 3] International Publication No. 2006 / 025272 [Patent Document 4] Patent Publication No. 2021-006956 [Patent Document 5] JP 2020-035086 A [Non-patent literature]

[0006] [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]

[0007] Even when the posture (e.g., sitting on a chair) or the action (e.g., throwing an object) is the same, there are differences due to differences in physique and individual differences. For this reason, it is difficult to accurately search for an image showing the same posture or action as the posture or action shown in a query (still image or video image). One of the objects of the present invention is to enable accurate search for an image showing the same posture or action as the posture or action shown in a query. [Means for solving the problem]

[0008] According to the present invention, a query acquisition means for acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying means for specifying the second frame image corresponding to each of the plurality of first frame images; an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing apparatus is provided having the following:

[0009] Further, according to the present invention, The computer a query acquisition step of acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature calculation step of calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying step of specifying the second frame images corresponding to each of the plurality of first frame images; an integration process for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing method is provided that performs the following:

[0010] Further, according to the present invention, Computer, a query acquisition means for acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; A correspondence relationship specifying means for specifying the second frame images corresponding to each of the plurality of first frame images; and an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; A program is provided to function as a

[0011] Further, according to the present invention, A query acquisition means for acquiring a first query still image and at least one second query still image; a feature calculation means for calculating feature amounts of key points detected from objects included in each of the first query still image and the second query still image; an integration means for integrating the feature amounts calculated from the first query still image and the second query still image to create an integrated query; a search means for searching for still images using the integrated query as a key; having An image processing device is provided in which the search means searches for still images using weighting values ​​for each feature that are set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image.

[0012] Further, according to the present invention, The computer a query acquisition step of acquiring a first query still image and at least one second query still image; a feature calculation step of calculating feature amounts of key points detected from objects included in each of the first query still image and the second query still image; an integration step of integrating the feature amounts calculated from the first query still image and the second query still image to generate an integrated query; a search step of searching for still images using the integrated query as a key; Run In the search process, an image processing method is provided in which still images are searched for using weighting values ​​for each feature that are set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image.

[0013] Further, according to the present invention, Computer, a query acquisition means for acquiring a first query still image and at least one second query still image; a feature amount calculation means for calculating feature amounts of key points detected from objects included in each of the first query still image and the second query still image; an integration unit that integrates the feature amounts calculated from the first query still image and the second query still image to create an integrated query; and a search means for searching for still images using the integrated query as a key; Function as a The search means is provided with a program for searching for still images using weighting values ​​for each of the plurality of types of feature amounts calculated from the first query still image and each of the plurality of types of feature amounts calculated from the second query still image, the weighting values ​​being set based on the similarity between each of the plurality of types of feature amounts calculated from the first query still image. Effect of the Invention

[0014] According to the present invention, it becomes possible to accurately search for images showing the same posture or behavior as the posture or behavior indicated by a query. [Brief description of the drawings]

[0015] The above-mentioned objects, as well as other objects, features and advantages, will become more apparent from the following exemplary embodiments and the accompanying drawings. [Figure 1] 1 is a configuration diagram showing an overview of an image processing device according to an embodiment; [Diagram 2] 1 is a configuration diagram showing a configuration of an image processing device according to a first embodiment. [Diagram 3]4 is a flowchart showing an image processing method according to the first embodiment. [Figure 4] 4 is a flowchart showing a classification method according to the first embodiment. [Diagram 5] 4 is a flowchart showing a search method according to the first embodiment. [Figure 6] FIG. 4 is a diagram showing an example of detection of a skeletal structure according to the first embodiment. [Figure 7] FIG. 2 is a diagram showing a human body model according to the first embodiment. [Figure 8] FIG. 4 is a diagram showing an example of detection of a skeletal structure according to the first embodiment. [Figure 9] FIG. 4 is a diagram showing an example of detection of a skeletal structure according to the first embodiment. [Figure 10] FIG. 4 is a diagram showing an example of detection of a skeletal structure according to the first embodiment. [Figure 11] 4 is a graph showing a specific example of the classification method according to the first embodiment. [Figure 12] FIG. 4 is a diagram showing a display example of a classification result according to the first embodiment. [Figure 13] FIG. 2 is a diagram for explaining a search method according to the first embodiment. [Figure 14] FIG. 2 is a diagram for explaining a search method according to the first embodiment. [Figure 15] FIG. 2 is a diagram for explaining a search method according to the first embodiment. [Figure 16] FIG. 2 is a diagram for explaining a search method according to the first embodiment. [Figure 17] FIG. 4 is a diagram showing a display example of search results according to the first embodiment. [Figure 18] FIG. 11 is a configuration diagram showing a configuration of an image processing device according to a second embodiment. [Figure 19] 10 is a flowchart showing an image processing method according to the second embodiment. [Figure 20] 13 is a flowchart showing a specific example 1 of a height pixel number calculation method according to the second embodiment. [Figure 21] 13 is a flowchart showing a specific example 2 of the height pixel number calculation method according to the second embodiment. [Figure 22] 13 is a flowchart showing a specific example 3 of a height pixel number calculation method according to the second embodiment. [Diagram 23] 11 is a flowchart showing a normalization method according to the second embodiment. [Figure 24] FIG. 11 is a diagram showing a human body model according to a second embodiment. [Diagram 25] FIG. 11 is a diagram showing an example of detection of a skeletal structure according to the second embodiment. [Figure 26] FIG. 11 is a diagram showing an example of detection of a skeletal structure according to the second embodiment. [Figure 27] FIG. 11 is a diagram showing an example of detection of a skeletal structure according to the second embodiment. [Figure 28] FIG. 11 is a diagram showing a human body model according to a second embodiment. [Figure 29] FIG. 11 is a diagram showing an example of detection of a skeletal structure according to the second embodiment. [Diagram 30] 13 is a histogram for explaining a height pixel number calculation method according to the second embodiment. [Diagram 31] FIG. 11 is a diagram showing an example of detection of a skeletal structure according to the second embodiment. [Diagram 32] FIG. 11 is a diagram showing a three-dimensional human body model according to the second embodiment. [Diagram 33] FIG. 11 is a diagram for explaining a height pixel number calculation method according to the second embodiment. [Diagram 34] FIG. 11 is a diagram for explaining a height pixel number calculation method according to the second embodiment. [Diagram 35] FIG. 11 is a diagram for explaining a height pixel number calculation method according to the second embodiment. [Diagram 36] FIG. 11 is a diagram for explaining a normalization method according to the second embodiment. [Figure 37] FIG. 11 is a diagram for explaining a normalization method according to the second embodiment. [Figure 38] FIG. 11 is a diagram for explaining a normalization method according to the second embodiment. [Figure 39] FIG. 2 is a diagram illustrating an example of a hardware configuration of an image processing apparatus. [Diagram 40] FIG. 11 is a configuration diagram showing a configuration of an image processing device according to a third embodiment. [Diagram 41] FIG. 13 is a diagram for explaining a query frame selection process according to the third embodiment. [Diagram 42] FIG. 13 is a diagram for explaining a query frame selection process according to the third embodiment. [Diagram 43] 13 is a diagram for explaining a calculation process of a direction of change in a feature amount according to the third embodiment. FIG. [Diagram 44] 13 is a flowchart showing an example of a process flow of an image processing device according to the third embodiment. [Diagram 45] FIG. 11 is a configuration diagram showing a configuration of an image processing device according to a third embodiment. [Figure 46] 13 is a flowchart showing an example of a process flow of an image processing device according to the third embodiment. [Figure 47] FIG. 13 is a diagram for explaining the concept of processing by the image processing device according to the fourth and fifth embodiments. [Figure 48] FIG. 13 is a diagram for explaining the concept of processing by the image processing device according to the fourth and fifth embodiments. [Figure 49] FIG. 13 is a configuration diagram showing an example of the configuration of an image processing device according to embodiment 4. [Figure 50] FIG. 13 is a configuration diagram showing an example of the configuration of an image processing device according to embodiment 4. [Figure 51] FIG. 13 is a diagram showing the contents of processing performed by the image processing device according to the fourth embodiment. [Figure 52] FIG. 13 is a diagram showing the contents of processing performed by the image processing device according to the fourth embodiment. [Figure 53] FIG. 13 is a diagram showing the contents of processing performed by the image processing device according to the fourth embodiment. [Figure 54] 13 is a flowchart showing an example of a process flow of an image processing device according to embodiment 4. [Figure 55] 13 is a flowchart showing an example of a process flow of an image processing device according to embodiment 4. [Figure 56] FIG. 13 is a configuration diagram showing an example of the configuration of an image processing device according to embodiment 5. [Figure 57]FIG. 13 is a diagram showing the contents of processing performed by an image processing device according to a fifth embodiment. [Figure 58] 13 is a flowchart showing an example of a process flow of an image processing device according to the fifth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same components are given the same reference numerals and the description will be omitted as appropriate.

[0017] (Considerations leading to the 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, behavior, and other conditions of people from images.

[0018] 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.

[0019] Therefore, the inventors have considered a method of using a skeleton estimation technique such as that described in Non-Patent Document 1 in order to recognize the state of a person desired by a user from an image on demand. In related skeleton estimation techniques such as OpenPose disclosed in Non-Patent Document 1, a person's skeleton 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.

[0020] 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.

[0021] (Outline of the embodiment) FIG. 1 shows an overview of an image processing device 10 according to an embodiment. As shown in FIG. 1, the image processing device 10 includes a skeleton detection unit 11, a feature calculation unit 12, and a recognition unit 13. The skeleton detection unit 11 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 calculation unit 12 calculates feature amounts of the plurality of two-dimensional skeleton structures detected by the skeleton detection unit 11. The recognition unit 13 performs recognition processing of the states of the plurality of people based on the similarity of the plurality of feature amounts calculated by the feature calculation unit 12. The recognition processing is classification processing, search processing, etc. of the states of the people.

[0022] In this manner, in the 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 features calculated from this two-dimensional skeletal structure, thereby enabling the desired state of a person to be flexibly recognized.

[0023] (Embodiment 1) Hereinafter, the first embodiment will be described with reference to the drawings. Fig. 2 shows the configuration of an image processing device 100 according to this embodiment. The image processing device 100, together with a camera 200 and a database (DB) 201, constitutes an image processing system 1. The image processing system 1 including the image processing device 100 is a system that classifies and searches for states such as posture and behavior of a person based on the skeletal structure of the person estimated from an image.

[0024] Camera 200 is an imaging unit such as a surveillance camera that generates a two-dimensional image. 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. Camera 200 is directly connected to image processing device 100 so as to be able to output the captured image (video) to the image processing device 100, or is connected via a network or the like. Camera 200 may be provided inside image processing device 100.

[0025] The database 201 is a database that stores information (data) necessary for processing by the image processing device 100, processing results, and the like. 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, features calculated by the feature calculation unit 103, classification results by the classification unit 104, search results by the search unit 105, and the like. 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.

[0026] As shown in FIG. 2, the image processing device 100 includes an image acquisition unit 101, a skeletal structure detection unit 102, a feature amount calculation 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.

[0027] The image acquiring unit 101 acquires a two-dimensional image including a person captured by the camera 200. The image acquiring 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. Note that the image may not be acquired from the camera 200, but may be acquired from a database 201 or the like that includes a person that has been prepared in advance.

[0028] The skeletal structure detection unit 102 detects the two-dimensional skeletal structure of a person in an image based on the acquired two-dimensional image. The skeletal structure detection unit 102 detects the skeletal structure of all people recognized in the acquired image. The skeletal structure detection unit 102 detects the skeletal structure of a person based on the features of the recognized 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.

[0029] The feature amount calculation unit 103 calculates the feature amount of the detected two-dimensional skeletal structure, and stores the calculated feature amount in the database 201 in association with the image to be processed. The feature amount of the skeletal structure indicates the feature amount of a person, and is an element for classifying and searching the state of a person based on the person's skeleton. Usually, this feature amount includes a plurality of parameters (for example, classification elements described later). The feature amount may be the feature amount of the entire skeletal structure, may be the feature amount of a part of the skeletal structure, or may include a plurality of feature amounts like each part of the skeletal structure. The method for calculating the feature amount 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 amount is a feature amount obtained by machine learning the skeletal structure, a size of the skeletal structure from the head to the foot 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, a 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.

[0030] In order to perform classification and search as desired by the user, it is preferable to use features that are 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, features that are 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 only in the up-down direction of the skeleton, features that are not dependent on the orientation or body type of a person can be obtained.

[0031] The classification unit 104 classifies (clusters) the multiple skeletal structures stored in the database 201 based on the similarity of the feature amounts of the skeletal structures. It can also be said that the classification unit 104 classifies the states of multiple people based on the feature amounts of the skeletal structures as a recognition process of the state of the person. The similarity is the distance between the feature amounts of the skeletal structures. The classification unit 104 may classify based on the similarity of the feature amounts of the entire skeletal structures, may classify based on the similarity of the feature amounts of a part of the skeletal structures, or may classify based on the similarity of the feature amounts of a first part (e.g., both hands) and a second part (e.g., both feet) of the skeletal structures. Note that the posture of a person may be classified based on the feature amounts of the skeletal structures of the person in each image, or the behavior of a person may be classified based on the change in the feature amounts of the skeletal structures of the person in multiple images that are consecutive in time series. That is, the classification unit 104 can classify the state of a person, including the posture and behavior of the person, based on the feature amounts of the skeletal structures. 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 amounts to be classified, and classifies the skeletal structures having high similarity into 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, and displays them on the display unit 107.

[0032] The search unit 105 searches for a skeletal structure having a high similarity to the feature amount of the search query (query state) from among a plurality of skeletal structures stored in the database 201. It can also 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 amount 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 amounts of the skeletal structures. The search unit 105 may search based on the similarity of the feature amount of the entire skeletal structure, may search based on the similarity of the feature amount of a part of the skeletal structure, or may search based on the similarity of the feature amount 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 a person may be searched based on the feature amount of the skeletal structure of the person in each image, or the behavior of a person may be searched based on the change in the feature amount of the skeletal structure of the person in a plurality of images that are consecutive in time series. That is, the search unit 105 can search for a state of a person including the posture and behavior of the person based on the feature amount of the skeletal structure. For example, the search unit 105 searches for the feature amounts of a plurality of skeletal structures in a plurality of images captured during a predetermined monitoring period as the search target, similar to the classification target. In addition, a skeletal structure (posture) specified by the user from among the classification results displayed by the classification unit 104 is used as a search query (search key). The search query may be selected from a plurality of unclassified skeletal structures, not limited to the classification results, or the user may input a skeletal structure to be used as a search query. The search unit 105 searches for feature quantities that are highly similar to the feature quantities of the skeletal structure of the search query from among the feature quantities to be searched. The search unit 105 stores the search results of the feature quantities in the database 201 and displays them on the display unit 107.

[0033] 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 monitor who monitors a person in a suspicious state from an image of a surveillance camera. The input unit 106 is, for example, a GUI (Graphical User Interface), and information according to a user's operation is input from an input device such as a keyboard, a mouse, or a touch panel. For example, the input unit 106 accepts a skeletal structure of a specified person from among the skeletal structures (postures) classified by the classification unit 104 as a search query.

[0034] The display unit 107 is a display unit that displays the results of the operation (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. The display unit 107 displays the classification results of the classification unit 104 and the search results of the search unit 105 on a GUI according to the similarity, etc.

[0035] 39 is a diagram showing an example of the hardware configuration of the image processing device 100. The image processing device 100 includes a bus 1010, a processor 1020, a memory 1030, a storage device 1040, an input / output interface 1050, and a network interface 1060.

[0036] The bus 1010 is a data transmission path for transmitting and receiving data among the processor 1020, memory 1030, storage device 1040, input / output interface 1050, and network interface 1060. However, the method of connecting the processor 1020 and the like to each other is not limited to bus connection.

[0037] The processor 1020 is implemented by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.

[0038] The memory 1030 is a main storage device realized by a RAM (Random Access Memory) or the like.

[0039] The storage device 1040 is an auxiliary storage device realized by a hard disk drive (HDD), a solid state drive (SSD), a memory card, a read only memory (ROM), or the like. The storage device 1040 stores program modules that realize each function of the image processing device 100 (for example, the image acquisition unit 101, the skeletal structure detection unit 102, the feature amount calculation unit 103, the classification unit 104, the search unit 105, and the input unit 106). The processor 1020 loads each of these program modules onto the memory 1030 and executes them, thereby realizing each function corresponding to the program module. The storage device 1040 may also function as a database 201.

[0040] The input / output interface 1050 is an interface for connecting the image processing device 100 to various input / output devices. When the database 201 is located outside the image processing device 100, the image processing device 100 may be connected to the database 201 via the input / output interface 1050.

[0041] The network interface 1060 is an interface for connecting the image processing device 100 to a network. This network is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network). The network interface 1060 may connect to the network wirelessly or by wire. The image processing device 100 may communicate with the camera 200 via the network interface 1060. When the database 201 is located outside the image processing device 100, the image processing device 100 may connect to the database 201 via the network interface 1060. Note that an example of the hardware configuration of the image processing device 100 is the same in all the following embodiments.

[0042] Figures 3 to 5 show the operation of image processing device 100 according to this embodiment. Figure 3 shows the flow from image acquisition to search processing in image processing device 100, Figure 4 shows the flow of classification processing (S104) in Figure 3, and Figure 5 shows the flow of search processing (S105) in Figure 3.

[0043] 3, the image processing device 100 acquires an image from the camera 200 (S101). The image acquisition unit 101 acquires images of people in order to classify and search based on their skeletal structures, and stores the acquired images in the database 201. The image acquisition unit 101 acquires, for example, a plurality of images captured during a predetermined monitoring period, and performs the following processes on all people included in the plurality of images.

[0044] Next, the image processing device 100 detects the skeletal structure of the person based on the acquired image of the person (S102). Fig. 6 shows an example of detecting the skeletal structure. As shown in Fig. 6, 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.

[0045] Fig. 7 shows the skeletal structure of the human body model 300 detected at this time, and Fig. 8 to Fig. 10 show examples of detected skeletal structures. The skeletal structure detection unit 102 detects the skeletal structure of the human body model (two-dimensional skeletal model) 300 as shown in Fig. 7 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.

[0046] 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. 7, 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.

[0047] Fig. 8 shows an example of detecting a person standing upright. In Fig. 8, 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.

[0048] Fig. 9 shows an example of detecting a person in a crouching state. In Fig. 9, the person in a crouching state 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.

[0049] Fig. 10 shows an example of detecting a person who is lying down. In Fig. 10, 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.

[0050] Next, as shown in Fig. 3, the image processing device 100 calculates the feature amounts of the detected skeletal structure (S103). For example, when the height or area of ​​the skeletal region is used as the feature amount, the feature amount calculation unit 103 extracts a region including the skeletal structure and calculates the height (number of pixels) and area (pixel area) of the region. The height and area of ​​the skeletal region are calculated from the coordinates of the ends of the extracted skeletal region and the coordinates of the key points of the ends. The feature amount calculation unit 103 stores the calculated feature amounts of the skeletal structure in the database 201.

[0051] In the example of Figure 8, 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.

[0052] In the example of Figure 9, 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.

[0053] In the example of Figure 10, 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.

[0054] Subsequently, as shown in FIG. 3, the image processing device 100 performs a classification process (S104). In the classification process, as shown in FIG. 4, the classification unit 104 calculates the similarity of the calculated feature amount of the skeletal structure (S111), and classifies the skeletal structure based on the calculated feature amount (S112). The classification unit 104 calculates the similarity of the feature amount between all skeletal structures stored in the database 201 to be classified, and classifies (clusters) the skeletal structure (posture) with the highest similarity into the same cluster. Furthermore, the classification is repeated by calculating the similarity between the classified clusters until a predetermined number of clusters are obtained. FIG. 11 shows an image of the classification result of the feature amount of the skeletal structure. FIG. 11 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. 11, the feature amounts of a plurality of skeletal structures are classified into three clusters C1 to C3 as a result of classification. 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.

[0055] In this embodiment, various classification methods can be used by classifying based on the feature amount 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.

[0056] (Classification method 1) Multi-level classification 、 The classification is performed by hierarchically combining 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 the feature amounts of the first and second parts of the skeletal structure, and further classification may be performed by weighting the feature amounts of the first and second parts.

[0057] (Classification method 2) Classification using multiple images over time It is. Classification is based on the feature values ​​of the skeletal structure in multiple consecutive images in a time series. For example, feature values ​​may be accumulated 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 values ​​of the skeletal structure in multiple consecutive images.

[0058] (Classification method 3) Classification without regard to the left and right side of the skeleton It is. Classify opposite skeletal structures on the right and left sides of a person as the same skeletal structure.

[0059] 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. 12 shows a display example when postures are classified into three. For example, as shown in FIG. 12, 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 sitting posture classified into cluster C3. 3 The system displays skeletal structures and people in positions similar to those in a sleeping position, classified as .

[0060] Subsequently, as shown in FIG. 3, the image processing device 100 performs a search process (S105). In the search process, as shown in FIG. 5, the search unit 105 accepts an input of a search condition (S121) and searches for a skeletal structure based on the search condition (S122). The search unit 105 accepts an input of a search query, which is a search condition, from the input unit 106 in response to a user's operation. When inputting a search query from a classification result, for example, in the display example of FIG. 12, the user specifies (selects) a skeletal structure of a posture to be searched from among posture areas WA1 to WA3 displayed in the display window W1. Then, the search unit 105 uses the skeletal structure specified by the user as a search query to search for a skeletal structure having a high similarity in feature amount from among all skeletal structures stored in the database 201 as a search target. The search unit 105 calculates a similarity between the feature amount of the skeletal structure of the search query and the feature amount of the skeletal structure of the search target, and extracts a skeletal structure having a calculated similarity amount higher than a predetermined threshold value. The feature amount of the skeletal structure of the search query may be a feature amount calculated in advance, or a feature amount calculated at the time of the search. Note that the search query may be input by moving each part of the skeletal structure according to the user's operation, or the posture demonstrated by the user in front of the camera may be used as the search query.

[0061] In this embodiment, similarly to the classification method, a variety of search methods can be used by searching based on the feature amount of a person's skeletal structure. The search method may be preset, or may be arbitrarily set 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)".

[0062] (Search method 1) Search using only height features It is.By performing a search using only the height feature of a person, the effect of lateral changes in the person can be suppressed, and robustness against changes in the person's orientation and body type is improved. For example, as in skeletal structures 501 to 503 in Fig. 13, even if the person's orientation or body type is different, the height feature does not change significantly. For this reason, the skeletal structures 501 to 503 can be determined to have the same posture during search (classification).

[0063] (Search method 2) Partial Search It is. When a part of a person's body is hidden in an image, a search is performed using only information on the recognizable part. For example, as in the case of skeletal structures 511 and 512 in FIG. 14, even if the left foot key point cannot be detected because the left foot is hidden, a search can be performed using the feature amounts of other detected key points. For this reason, in the case of 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 the feature amounts of some key points, not all key points. In the example of skeletal structures 521 and 522 in FIG. 15, although the directions of both feet are different, it is possible to determine that the postures are the same by using the feature amounts of the upper body key points (A1, A2, A31, A32, A41, A42, A51, A52) as a search query. In addition, a search can be performed by weighting the part (feature point) to be searched, or a threshold value for similarity judgment can be changed. When a part of the body is hidden, a search can be performed by ignoring the hidden part, or a search can be performed by 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.

[0064] (Search method 3) Searching without considering the left and right sides of the skeleton It is.Skeletal structures with opposite skeletal structures on the right and left sides of a person are searched for as the same skeletal structure. For example, 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, as in skeletal structures 531 and 532 in Fig. 16. In the example of Fig. 16, 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.

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

[0066] (Search method 5) Searching for multiple images along a timeline It is. Searches are performed based on the feature values ​​of the skeletal structure in multiple consecutive images in a time series. For example, the feature values ​​may be accumulated in the time series direction, and searches may be performed based on the cumulative value. Furthermore, searches may be performed based on the change (amount of change) in the feature values ​​of the skeletal structure in multiple consecutive images.

[0067] Furthermore, the search unit 105 displays the search results of the skeletal structure (S123). The search unit 105 acquires the necessary skeletal structure and person images from the database 201, and displays the skeletal structure and person obtained as the search results on the display unit 107. For example, when a plurality of search queries (search conditions) are specified, the search results are displayed for each search query. FIG. 17 shows a display example when a search is performed using three search queries (postures). For example, as shown in FIG. 17, in the display window W2, the skeletal structures and people of the specified search queries Q10, Q20, and Q30 are displayed at the left end, and the skeletal structures and people of the search results Q11, Q21, and Q31 of each search query are displayed side by side to the right of the search queries Q10, Q20, and Q30.

[0068] The order in which the search results are displayed next to the search query may be the order in which the corresponding skeletal structures were found, or the order in which the similarity is highest. When a partial search is performed with weights applied to the parts (feature points), the results may be displayed in order of similarity calculated using the weights. The results may also be displayed in order of similarity calculated only from the parts (feature points) selected by the user. In addition, images (frames) before and after the search result image (frame) may be cut out for a certain period of time and displayed.

[0069] 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 the feature amount 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.

[0070] (Embodiment 2) Hereinafter, the second embodiment will be described with reference to the drawings. In this embodiment, a specific example of feature amount calculation in the first embodiment will be described. In this embodiment, the feature amount is obtained by normalizing using the person's height. The rest is the same as in the first embodiment.

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

[0072] 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).

[0073] 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.

[0074] The feature amount calculation unit 103 in 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 amount calculation unit 103 stores the feature amount (normalization value) of the normalized skeletal structure in the database 201. The feature amount calculation 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 keypoint can be obtained from a value (number of pixels) along a vertical projection axis obtained by projecting an axis perpendicular to the ground in the real world onto a two-dimensional coordinate space based on the camera parameters. The camera parameters are image capture parameters, such as the attitude, 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, the degree to which the vertical direction in the real world is tilted in the image can be found by using the parameters of the camera that captured the image. Therefore, the value of the keypoint along the vertical projection axis projected onto the image based on the camera parameters is normalized by height, and the keypoint can be characterized in consideration of the deviation between the real world and the image. The left-right direction (horizontal direction) refers to 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 onto the two-dimensional coordinate space.

[0075] Fig. 19 to Fig. 23 show the operation of the image processing device 100 according to this embodiment. Fig. 19 shows the flow from image acquisition to search processing in the image processing device 100, Fig. 20 to Fig. 22 show the flow of specific examples 1 to 3 of the height pixel number calculation processing (S201) in Fig. 19, and Fig. 23 shows the flow of the normalization processing (S202) in Fig. 19.

[0076] 19, in this embodiment, height pixel number calculation processing (S201) and normalization processing (S202) are performed as the feature amount calculation processing (S103) in embodiment 1. The rest is the same as in embodiment 1.

[0077] 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. 24, 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.

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

[0079] 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. 24, 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.

[0080] In the example of Fig. 25, 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 length, for example, L1+L22+L32+L42 on the left leg side, which is longer, by a correction constant.

[0081] 26, 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.

[0082] 27, 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+L22+L32+L42 on the left foot side, which is longer, by a correction constant.

[0083] 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.

[0084] <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.

[0085] FIG. 28 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. 28, 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 allows the length of the whole body (height) to be obtained appropriately according to the person's attributes.

[0086] In specific example 2, as shown in Fig. 21, 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. 29 shows an example in which a person in a crouching state is imaged from diagonally behind to the right and a 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.

[0087] 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. 21 (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. 28, 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.

[0088] 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.

[0089] 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.

[0090] Next, the height calculation unit 108 calculates the optimum value of the height pixel number as shown in FIG. 21 (S223). The height calculation unit 108 calculates the optimum value of the height pixel number from the height pixel number calculated for each bone. For example, a histogram of the height pixel number calculated for each bone as shown in FIG. 30 is generated, and the largest height pixel number among them is selected. In other words, a height pixel number longer than the others is selected from a plurality of height pixel numbers calculated based on a plurality of bones. For example, the top 30% are considered to be valid values, and in FIG. 30, the height pixel numbers of bones B71, B61, and B51 are selected. The average of the selected height pixel numbers may be calculated as the optimum value, or the largest height pixel number may be calculated as the optimum value. In order to calculate the height from the length of the bones in the two-dimensional image, the bones are viewed from the front. Imaging If this is not possible, i.e. if the bone is photographed tilted in the depth direction as viewed from the camera, the length of the bone will be shorter than when photographed from the front. In this case, a value with a larger height pixel count is more likely to have been photographed from the front than a value with a smaller height pixel count, and is therefore a more likely value. Therefore, the larger value is set as the optimal value.

[0091] 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.

[0092] <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.

[0093] In specific example 3, as shown in Fig. 22, height calculation unit 108 first calculates camera parameters based on images captured by camera 200 (S231). Height calculation unit 108 extracts an object whose length is known in advance from a plurality of images captured by camera 200, and obtains 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.

[0094] 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.

[0095] FIG. 31 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. For this two-dimensional skeletal structure 401, a three-dimensional human body model 402 as shown in FIG. 32 is prepared. 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. 33, 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.

[0096] 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. 33, 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.

[0097] Next, the height calculation unit 108 fits the three-dimensional human body model to the two-dimensional skeletal structure as shown in FIG. 22 (S233). In a state where the three-dimensional human body model 402 is superimposed on the two-dimensional skeletal structure 401 as shown in FIG. 34, 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. 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).

[0098] Next, height calculation unit 108 calculates the height pixel number of the fitted three-dimensional human body model as shown in FIG. 22 (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. 35, 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.

[0099] 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.

[0100] <Normalization process> As shown in FIG. 19, the image processing device 100 performs normalization processing (S202) following the height pixel number calculation processing. In the normalization processing, as shown in FIG. 23, the feature amount calculation unit 103 calculates the key point height (the number of pixels) of all key points included in the detected skeletal structure. The key point height is the length (the 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. 24, 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.

[0101] Next, the feature amount calculation 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 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 be set as the reference point.

[0102] Next, the feature calculation unit 103 normalizes the keypoint height (yi) by the height pixel count (S243). The feature calculation unit 103 normalizes each keypoint using the keypoint height, reference point, and height pixel count of each keypoint. Specifically, the feature calculation 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 (normalized value) is calculated using the following formula (1). Note that when a vertical projection axis based on the camera parameters is used, (yi) and (yc) are converted into values ​​in the direction along the vertical projection axis.

[0103]

number

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

[0105]

number

[0106] FIG. 36 shows an example of the feature amount of each key point calculated by the feature amount calculation unit 103. In this example, the neck key point A2 is set as the reference point, so the feature amount of the key point A2 is 0.0, and the feature amounts 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 amount of the head key point A1, which is higher than the neck, is -0.2. The feature amount 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 amount 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. 37, so the feature amount of the left hand key point A52 is -0.4. On the other hand, since normalization is performed using only the coordinate of the Y axis, the feature amount does not change even if the width of the skeletal structure changes as shown in FIG. 38 compared to FIG. 36. That is, the feature amount (normalized value) in this embodiment indicates the feature 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.

[0107] 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 amount, robustness when classification, search, etc. are performed can be improved. That is, the feature amount 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.

[0108] Furthermore, in this embodiment, since this can be realized by detecting the skeletal structure of a person using a skeletal estimation technology such as OpenPose, there is no need to prepare learning data for learning the posture, etc. of a person. Also, by normalizing the key points of the skeletal structure and storing them in a database, classification and search of posture, etc. of a person is possible, so 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 features can be obtained, so that users can be more convinced of the processing results, unlike black-box algorithms such as machine learning.

[0109] (Embodiment 3) Hereinafter, the third embodiment will be described with reference to the drawings. In this embodiment, a specific example of a process for searching for a moving image including a desired scene will be described.

[0110] 40 shows an example of a functional block diagram of the image processing device 100 according to the present embodiment. As shown in the figure, the image processing device 100 has a query acquisition unit 109, a query frame selection unit 112, a skeletal structure detection unit 102, a feature calculation unit 103, a change calculation unit 110, and a search unit 111. Note that the image processing device 100 may further include other functional units described in the first and second embodiments.

[0111] The query acquisition unit 109 acquires a query moving image composed of a plurality of first frame images in time series. For example, the query acquisition unit 109 acquires a query moving image (moving image file) input / specified / selected by a user operation.

[0112] The query frame selection unit 112 selects at least a portion of the multiple first frame images as a query frame. As shown in Figs. 41 and 42, the query frame selection unit 112 can intermittently select query frames from multiple time-series first frame images included in a query moving image. The number of first frame images between query frames may be constant or may vary. The query frame selection unit 112 can execute, for example, any of the following selection processes 1 to 3.

[0113] -Selection process 1- In selection process 1, the query frame selection unit 112 selects a query frame based on a user input. That is, the user performs an input to specify at least a part of a plurality of first frame images as a query frame. Then, the query frame selection unit 112 selects the first frame image specified by the user as a query frame.

[0114] -Selection process 2- In the selection process 2, the query frame selection unit 112 selects a query frame according to a predetermined rule.

[0115] Specifically, as shown in Fig. 41, the query frame selection unit 112 selects a plurality of query frames from a plurality of first frame images at a predetermined fixed interval. That is, the query frame selection unit 112 selects a query frame every M frames. M is, for example, 2 or more and 10 or less, but is not limited to this. M may be determined in advance, or may be selectable by the user.

[0116] -Selection process 3- In the selection process 3, the query frame selection unit 112 selects a query frame according to a predetermined rule.

[0117] Specifically, as shown in Fig. 42, query frame selection unit 112 selects one query frame, and then calculates the similarity between that query frame and each of the first frame images that follow the query frame in chronological order. The similarity is the same concept as in embodiments 1 and 2. Then, query frame selection unit 112 selects the first frame image that has a similarity equal to or less than a reference value and is the earliest in chronological order as a new query frame.

[0118] Next, the query frame selection unit 112 calculates the similarity between the newly selected query frame and each of the first frame images that follow the query frame in the chronological order. Then, the query frame selection unit 112 selects the first frame image whose similarity is equal to or less than the reference value and that is the earliest in the chronological order as a new query frame. The query frame selection unit 112 repeats the process to select query frames. According to this process, the poses of people included in adjacent query frames differ from each other to a certain extent. Therefore, it is possible to select multiple query frames that show characteristic poses of people while suppressing an increase in the number of query frames. The above reference value may be determined in advance, may be selectable by the user, or may be set by other means.

[0119] Returning to Fig. 40, the skeletal structure detection unit 102 detects key points of a person (object) included in each of the multiple first frame images. The skeletal structure detection unit 102 may subject only the query frame to the detection process, or may subject all the first frame images to the detection process. The configuration of the skeletal structure detection unit 102 is the same as in the first and second embodiments, and therefore a detailed description thereof will be omitted here.

[0120] The feature amount calculation unit 103 calculates the feature amount of the detected key point, i.e., the feature amount of the detected two-dimensional skeletal structure, for each first frame image. The feature amount calculation unit 103 may perform the calculation process only on the query frame, or may perform the calculation process on all first frame images. The configuration of the feature amount calculation unit 103 is the same as in the first and second embodiments, and therefore a detailed description thereof will be omitted here.

[0121] The change calculation unit 110 calculates the direction of change in the feature amount along the time axis of a plurality of time-series first frame images. The change calculation unit 110 calculates the direction of change in the feature amount, for example, between adjacent query frames. The feature amount is the above feature amount calculated by the feature amount calculation unit 103. The feature amount is the height, area, etc. of the skeletal region, and is expressed as a numerical value. The direction of change in the feature amount is, for example, divided into three directions: "a direction in which the numerical value increases," "no change in the numerical value," and "a direction in which the numerical value decreases." "No change in the numerical value" may be a case in which the absolute value of the change in the feature amount is 0, or may be a case in which the absolute value of the change in the feature amount is equal to or less than a threshold value.

[0122] An example will be described with reference to Fig. 43. Comparing the images before and after the change shown in the figure, the difference is that the right arm, which was lowered before the change, is raised after the change. For example, the angle P between key point A2, key point A31, and key point A41 is calculated as the feature amount. In this case, the change calculation unit 110 determines the direction in which the numerical value increases as the direction of the change in the feature amount along the time axis.

[0123] When three or more query frames are processed, the change calculation unit 110 can calculate time series data indicating a time series change in the direction of change of the feature amount. The time series data is, for example, "the direction in which the numerical value increases" → "the direction in which the numerical value increases" → "the direction in which the numerical value increases" → "no change in the numerical value" → "no change in the numerical value" → "the direction in which the numerical value increases", etc. If the "direction in which the numerical value increases" is represented as, for example, "1", "no change in the numerical value" is represented as, for example, "0", and the "direction in which the numerical value decreases" is represented as, for example, "-1", the time series data can be represented as a numerical sequence, for example, "111001".

[0124] When only two query frames are processed, the change calculation unit 110 can calculate the direction of the change in the feature amount that occurred between the two images.

[0125] Returning to Fig. 40, the search unit 111 searches for a moving image using the direction of change in the feature amount calculated by the change calculation unit 110 as a key. Specifically, the search unit 111 searches for a DB moving image matching the key from among the moving images stored in the database 201 (hereinafter, DB moving images). The search unit 111 can execute, for example, either of the following moving image search processes 1 and 2.

[0126] -Video search process 1- When time-series data of the direction of change in the feature amount is used as a key, the search unit 111 can search for DB videos whose similarity to the time-series data is equal to or greater than a reference value. There is no particular limitation on the method of calculating the similarity of the time-series data, and any technique can be adopted.

[0127] The time series data may be created in advance in the same manner as above for each DB video stored in the database 201 and stored in the database. Alternatively, the search unit 111 may process each DB video stored in the database 201 in the same manner as above every time a search process is performed to create the time series data for each DB video.

[0128] -Video search processing 2- When the direction of a change in a feature amount that occurs between two query frames is used as a key, the search unit 111 can search the DB video that indicates the direction of the change in the feature amount.

[0129] Note that index data of the direction of change in the feature amount shown in each DB moving image may be created and stored in the database in advance for each DB moving image stored in the database 201. Alternatively, the search unit 111 may process each DB moving image stored in the database 201 in the same manner as described above and create index data of the direction of change in the feature amount shown in each DB moving image for each DB moving image each time a search process is performed.

[0130] Next, an example of the process flow of the image processing device 100 will be described with reference to Fig. 44. Note that the purpose here is to describe the process flow. Details of each process have been described above, so description here will be omitted.

[0131] When the image processing device 100 acquires a query moving image made up of a plurality of time-series first frame images (S400), the image processing device 100 selects at least a portion of the plurality of first frame images as query frames (S401).

[0132] Next, the image processing device 100 detects key points of objects included in each of the multiple first frame images (S402). Note that only the query frame selected in S401 may be subject to this process, or all the first frame images may be subject to this process.

[0133] Next, the image processing device 100 calculates the feature amount of the detected key point for each of the multiple first frame images (S403). Note that only the query frame selected in S401 may be subject to this processing, or all the first frame images may be subject to this processing.

[0134] Next, the image processing device 100 calculates the direction of change of the feature amount along the time axis of the multiple first frame images in time series (S404). The image processing device 100 calculates the direction of change of the feature amount between adjacent query frames. The direction of change is divided into three types, for example, "a direction in which the numerical value increases," "no change in the numerical value," and "a direction in which the numerical value decreases."

[0135] When three or more query frames are processed, the image processing device 100 can calculate time-series data indicating a time-series change in the direction of change in the feature amount. When only two query frames are processed, the image processing device 100 can calculate the direction of change in the feature amount that occurred between the two images.

[0136] Next, the image processing device 100 searches the DB moving image using the direction of change in the feature amount calculated in S404 as a key (S405). Specifically, the image processing device 100 searches the DB moving image that matches the key from among the DB moving images stored in the database 201. Then, the image processing device 100 outputs the search result. The output of the search result can be realized by employing any technology.

[0137] Here, a modification of this embodiment will be described. The image processing device 100 of this embodiment can be configured to employ one or more of the following modifications 1 to 7.

[0138] -Variation 1- As shown in the functional block diagram of FIG. 45, the image processing device 100 does not need to have a query frame selection unit 112. In this case, the change calculation unit 110 can calculate the direction of change in feature amount between adjacent first frame images. When three or more first frame images are processed, the change calculation unit 110 can calculate time-series data indicating a time-series change in the direction of change in feature amount. When only two first frame images are processed, the change calculation unit 110 can calculate the direction of change in feature amount that occurred between the two images.

[0139] Next, an example of the process flow of the image processing device 100 in this modified example will be described with reference to Fig. 46. Note that the purpose here is to describe the process flow. Details of each process have been described above, so description here will be omitted.

[0140] The image processing device 100 acquires a query video composed of a plurality of first frame images in time series (S300). Next, the image processing device 100 detects key points of an object included in each of the plurality of first frame images (S301). Next, the image processing device 100 calculates the feature amount of the detected key points for each of the plurality of first frame images (S302).

[0141] Next, the image processing device 100 calculates the direction of change in the feature amount along the time axis of the first frame images in time series (S303). Specifically, the image processing device 100 calculates the direction of change in the feature amount between adjacent first frame images.

[0142] Next, the image processing device 100 searches the DB moving image using the direction of change in the feature amount calculated in S303 as a key (S304). Specifically, the image processing device 100 searches for DB moving images that match the key from among the DB moving images stored in the database 201. Then, the image processing device 100 outputs the search result. The output of the search result can be realized by employing any technology.

[0143] -Variation 2- In the above embodiment, the image processing device 100 detects key points of a person's body and searches the DB video using the direction of change as a key. In the second modification, the image processing device 100 can detect key points of an object other than a person and search the DB video using the direction of change as a key. The object is not particularly limited, and examples include animals, plants, natural objects, and artificial objects.

[0144] -Variation 3- The change calculation unit 110 can calculate the magnitude of the change in the feature amount in addition to the direction of the change in the feature amount. The change calculation unit 110 can calculate the magnitude of the change in the feature amount between adjacent query frames or between adjacent first frame images. The magnitude of the change in the feature amount can be expressed, for example, by the absolute value of the difference between the numerical values ​​indicating the feature amounts. Alternatively, the magnitude of the change in the feature amount may be a value obtained by normalizing the absolute value.

[0145] When three or more images (query frames or first frame images) are to be processed, the change calculation unit 110 can calculate time series data that further indicates the time series change in the magnitude of the change in the feature amount in addition to the direction of the change.

[0146] When only two images (query frame or first frame image) are targeted for processing, the change calculation section 110 can calculate the direction and magnitude of the change in feature amount that has occurred between the two images.

[0147] The search unit 111 searches the DB video using the direction and magnitude of the change calculated by the change calculation unit 110 as a key.

[0148] When time-series data of the direction and magnitude of change in feature amount is used as a key, the search unit 111 can search for DB videos whose similarity to the time-series data is equal to or greater than a reference value. There is no particular limitation on the method of calculating the similarity to the time-series data, and any technique can be adopted.

[0149] When the direction and magnitude of the change in feature amount that occurred between two images (query frame or first frame image) are used as a key, the search unit 111 can search the DB video that indicates the direction and magnitude of the change in the feature amount.

[0150] -Variation 4- The change calculation unit 110 can calculate the speed of change in the feature amount in addition to the direction of change in the feature amount. This modification is effective in the case where query frames are selected at random intervals from the first frame image as shown in Fig. 42, and the direction of change in the feature amount between adjacent query frames is calculated. In this case, by referring to the speed of change in the feature amount between adjacent query frames, it is possible to search for more similar DB videos.

[0151] The change calculation unit 110 can calculate the speed of change in the feature between adjacent query frames. The speed can be calculated by dividing the magnitude of the change in the feature by a value indicating the length of time between adjacent query frames (such as the number of frames or a value converted into time based on the frame rate). The magnitude of the change in the feature can be expressed, for example, by the absolute value of the difference between the numerical values ​​indicating the feature. Alternatively, the magnitude of the change in the feature may be a value obtained by normalizing the absolute value.

[0152] When three or more query frames are processed, the change calculation section 110 can calculate time-series data that further indicates the speed of change in addition to the direction of change in the feature amount.

[0153] When only two query frames are processed, the change calculation unit 110 can calculate the direction and speed of the change in the feature amount that has occurred between the two images.

[0154] The search unit 111 searches the DB video using the direction and speed of the change calculated by the change calculation unit 110 as keys.

[0155] When time-series data of the direction and speed of change in feature amount are used as a key, the search unit 111 can search for DB videos whose similarity to the time-series data is equal to or greater than a reference value. There is no particular limitation on the method of calculating the similarity to the time-series data, and any technique can be adopted.

[0156] When the direction and speed of a change in a feature amount that occurs between two query frames are used as a key, the search unit 111 can search the DB video that indicates the direction and speed of the change in the feature amount.

[0157] -Variation 5- Up to this point, the search unit 111 has searched for DB videos that match the key, but it may also search for DB videos that do not match the key. That is, the search unit 111 may search for DB videos whose similarity to the time-series data that is the key is less than a reference value. In addition, the search unit 111 may search for DB videos that do not include the direction of change of the feature amount that is the key (which may include magnitude, speed, etc.).

[0158] Furthermore, the search unit 111 may search for DB videos that match a search condition in which a plurality of keys are connected by an arbitrary logical operator.

[0159] -Variation 6- The search unit 111 searches the results calculated by the change calculation unit 110 (particularly Signs In addition to the direction, magnitude, speed, etc. of the change in quantity, a representative image selected from the first frame image of the query video can be used as a key to search the DB video. There may be one or more representative images. For example, the query frame may be used as the representative image, a frame selected from the query frame by any means may be used as the representative image, or a representative image may be selected from the first frame image by other means.

[0160] The search unit 111 searches the DB videos stored in the database 201 for a similarity between the query video and the representative image, and the result calculated by the change calculation unit 110 (particularly Signs It is possible to search for database videos whose total similarity, which is calculated based on the direction, magnitude, speed, etc. of change in quantity, and the similarity with the query video is equal to or greater than a certain value.

[0161] Here, a method for calculating the similarity based on the representative image will be described. The search unit 111 can calculate the similarity between each DB video and the query video based on the following criteria.

[0162] Increase the similarity of DB videos that contain frame images whose similarity to the representative image is equal to or greater than a certain threshold. When there are multiple representative images, the similarity of the DB video that contains frame images that are similar to more representative images (similarity is equal to or greater than a reference value) is increased. When there are multiple representative images, the more similar the chronological order of the multiple representative images is to the chronological order of the frame images similar to each of the multiple representative images, the higher the similarity of the DB video is set.

[0163] The similarity between the representative image and the frame images is calculated based on the posture of the person included in each image. The more similar the posture is, the higher the similarity between the representative image and the frame images. The search unit 111 may calculate the similarity of the feature amount of the skeletal structure described in the above embodiment as the similarity between the representative image and the frame images, or may calculate the similarity of the posture of the person using other well-known techniques.

[0164] Next, the result calculated by the change calculation unit 110 (particularly Signs A method for calculating similarity based on time series data of the direction of feature change (which may further indicate the magnitude and speed of the feature change) will be described. When using time series data of the direction of feature change (which may further indicate the magnitude and speed of the feature change), the similarity of that time series data can be calculated as the similarity between each DB video and the query video.

[0165] When using the direction, magnitude, or speed of change in features between two query frames, the similarity of the DB video is increased if it shows the same direction of change as the query video and the magnitude and speed of change are similar to those shown in the query video.

[0166] The similarity based on the representative image and the result calculated by the change calculation unit 110 (particularly SignsThere are various methods for integrating similarities based on the representative image and similarities based on the change calculation unit 110 (such as the direction, magnitude, and speed of the change in the amount). For example, each similarity may be normalized and added together. In this case, each similarity may be weighted. That is, the similarity based on the representative image or its normalized value multiplied by a predetermined weighting coefficient is integrated with the result calculated by the change calculation unit 110 (such as the direction, magnitude, and speed of the change in the amount). Signs Alternatively, the integration result may be calculated by adding a value obtained by multiplying a predetermined weighting coefficient to the similarity based on the amount of change (such as the direction, magnitude, or speed of the change in amount) or a standardized value thereof.

[0167] As described above, the image processing device 100 of this embodiment achieves the same effects as those of the first and second embodiments. Moreover, the image processing device 100 of this embodiment can search for a video using the direction of change in the posture of an object included in the image, the magnitude of the change, the speed of the change, and the like as keys. The image processing device 100 of this embodiment can accurately search for a video including a desired scene.

[0168] -Variation 7- As in the first and second embodiments, the image processing device 100 may constitute an image processing system 1 together with a camera 200 and a database 201 .

[0169] (Embodiment 4) Hereinafter, a fourth embodiment will be described with reference to the drawings. In this embodiment, a plurality of queries showing the same posture and the same action are integrated, and a search is performed using the integrated query, thereby enabling an accurate search for an image showing the same posture or action as the posture or action shown by the query.

[0170] First, the reason why the search accuracy is improved by performing a search using the integrated query will be explained. As described above, even if the posture (e.g., sitting on a chair) or the action (e.g., throwing an object) is the same, there are differences due to differences in physique, individual differences, etc. For this reason, it is difficult to accurately search for images showing the same posture or action as that shown by the query (still image or video image). A specific explanation will be given with reference to FIG. 47. In FIG. 47, for the sake of simplicity, points corresponding to each of a plurality of images are plotted on two axes, the first feature amount f1 and the second feature amount f2. As shown in the figure, images belonging to the same classification (images showing the same posture or action) are clustered together, but have a certain spread. This spread occurs due to differences due to differences in physique, individual differences, etc.

[0171] Here, consider a case where a search is performed by using an image of a point indicated by "query" in the figure as a query image and images of other points as images to be searched. The query image belongs to class A. For this reason, it is preferable to realize a search in which all images belonging to class A are included in the search results and images other than class A are not included in the search results. Meanwhile, in the search process, an image is searched for that has a feature similarity between the query image and the query image that is equal to or greater than a threshold. If the threshold is set too high as in S1 in the figure, the inconvenience of images other than class A being included in the search results can be suppressed, but the inconvenience of images belonging to class A being omitted from the search results may occur. On the other hand, if the threshold is set too low as in S2 in the figure, the inconvenience of images belonging to class A being omitted from the search results can be suppressed, but the inconvenience of images other than class A being included in the search results may occur.

[0172] The above-mentioned inconvenience may occur when the plot position of the query image is not located near the center of the area occupied by the points of images belonging to the same classification. In contrast, as shown in FIG. 48, when a new query is created by integrating (averaging, etc.) multiple queries belonging to the same classification, the plot position of the query is more likely to be located near the center of the area occupied by the points of images belonging to the same classification. When a search is performed using such a query, it is easy to realize a search in which all images showing the same posture or behavior as the behavior indicated by the query are included in the search results, and images showing postures or behaviors different from the behavior indicated by the query are not included in the search results.

[0173] Next, a functional configuration of the image processing device 100 of this embodiment will be described. Fig. 49 shows an example of a functional block diagram of the image processing device 100 of this embodiment. As shown in the figure, the image processing device 100 has a query acquisition unit 109, a skeletal structure detection unit 102, a feature amount calculation unit 103, a correspondence relationship identification unit 114, and an integration unit 113. As shown in Fig. 50, the image processing device 100 may further have a search unit 111. In addition, the image processing device 100 may further include other functional units described in the first to third embodiments.

[0174] The query acquisition unit 109 acquires a first query video and at least one second query video. For example, the query acquisition unit 109 acquires a first query video and a second query video input / specified / selected by a user operation. As shown in Fig. 51, the first query video has a plurality of first frame images in time series. Also, the second query video has a plurality of second frame images in time series.

[0175] The first query video and the second query video show the same posture or the same action. The first query video and the second query video may have the same or different time lengths. That is, the number of the first frame images and the number of the second frame images may be the same or different. The first query video and the second query video may include the same person or different people. Depending on the feature amount used, it is desirable to align the angle of view of the first query video and the angle of view of the second query video to some extent.

[0176] The skeletal structure detection unit 102 detects key points of a person (object) included in each of a plurality of first frame images. The skeletal structure detection unit 102 also detects key points of a person (object) included in each of a plurality of second frame images. The configuration of the skeletal structure detection unit 102 is the same as in the first to third embodiments, and therefore detailed description thereof will be omitted here.

[0177] The feature amount calculation unit 103 calculates the feature amount of the detected key points, i.e., the feature amount of the detected two-dimensional skeletal structure, for each first frame image. Also, the feature amount calculation unit 103 calculates the feature amount of the detected key points, i.e., the feature amount of the detected two-dimensional skeletal structure, for each second frame image. The configuration of the feature amount calculation unit 103 is the same as in the first to third embodiments, so detailed description will be omitted here.

[0178] The correspondence identifying unit 114 identifies a second frame image corresponding to each of the multiple first frame images. As shown in FIG. 51, the first query video and the second query video may have different time lengths (i.e., the number of first frame images and the number of second frame images may be different). Even if the first query video and the second query video show the same behavior, the timing at which the behavior starts and ends may differ from each other. As shown in FIG. 52, the correspondence identifying unit 114 associates frame images in which a person performing a predetermined behavior in the first query video and a person performing a predetermined behavior in the second query video have a similar posture. That is, the correspondence identifying unit 114 identifies second frame images in which a person has a posture similar to the posture of the person shown in each of the multiple first frame images, and associates them with each other. In FIG. 52, the first frame images and the second frame images corresponding to each other are connected by a line. Note that, as shown in the figure, one first frame image may be associated with multiple second frame images. Also, one second frame image may be associated with multiple first frame images.

[0179] The above correspondence can be determined, for example, by DTW (D y This can be achieved by using techniques such as Dynamic Time Warping. In this case, the distance score required to identify the correspondence can be the distance between features (Manhattan distance or Euclidean distance).

[0180] The integration unit 113 performs a process of integrating feature amounts calculated from first and second frame images that correspond to each other. The integration unit 113 performs this process on multiple combinations of first and second frame images that correspond to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order. FIG. 53 shows a schematic diagram of an example of an integrated query. The illustrated integrated query is created based on the first query moving image and the second query moving image shown in FIG. 51 and the correspondence relationship shown in FIG. 52.

[0181] In Figure 53, "F 11 +F 21 Feature quantities f1 to fp is the first frame image F 11 The features f1 to f p and the second frame image F 21 The features f1 to f p Similarly, "F 11 +F 22 Feature quantities f1 to f p is the first frame image F 11 The features f1 to f p and the second frame image F 22 The features f1 to f p In FIG. 53, feature quantities f1 to f2 are created by performing integration processing on multiple combinations of corresponding first and second frame images. p The integration unit 113 can calculate the arithmetic average or weighted average of the feature amounts calculated from the first frame image and the second frame image as the integrated feature amount. 11 +F 21 The integrated features f1 to f p The feature value f1 in the first frame image F 11 The feature value f1 calculated from the second frame image F 21 is the arithmetic average or weighted average of the feature amount f1 calculated from

[0182] Similarly, when creating an integrated query based on a first query video and multiple second query videos, it is possible to identify the correspondence between the first and second query videos and calculate the arithmetic mean or weighted mean of the features calculated from each of multiple corresponding frame images, thereby creating an integrated query in which the integrated features are arranged in chronological order.

[0183] As shown in FIG. 53, the search unit 111 searches the integrated feature quantities f1 to f p The video is searched for using the integrated query in which the video is arranged in chronological order as a key. The video search method is not particularly limited, and any method can be adopted. The search unit 111 may adopt the method described in the first to third embodiments, or may adopt another method.

[0184] Next, an example of the process flow of the image processing device 100 of this embodiment will be described with reference to the flowchart in Fig. 54. Note that the purpose here is to describe the process flow. Details of each process have been described above, so description here will be omitted.

[0185] The image processing device 100 acquires a first query moving image having a plurality of time-series first frame images, and at least one second query moving image having a plurality of time-series second frame images (S500).

[0186] Next, the image processing device 100 detects key points of an object included in each of the first and second frame images (S501), and then calculates feature amounts of the detected key points (S502).

[0187] Next, the image processing device 100 identifies the correspondence between the multiple first frame images and the multiple second frame images (S503). Next, the image processing device 100 performs a process of integrating the feature amounts calculated from the corresponding first frame images and second frame images for multiple combinations of corresponding first frame images and second frame images, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order (S504).

[0188] Next, an example of the process flow of the image processing device 100 of this embodiment will be described using the flowchart in Fig. 55. Note that the purpose here is to explain the process flow. Details of each process have been described above, so the description here will be omitted.

[0189] The processes of S600 to S604 shown in the figure are the same as the processes of S500 to S504 described with reference to Fig. 54. In the example shown in Fig. 55, after S604, the image processing device 100 searches for videos by using the integrated query created in S604 as a key (S605).

[0190] As described above, according to the image processing device 100 of this embodiment, which integrates multiple queries indicating the same posture and the same action, creates an integrated query, and performs a search using the integrated query, the search accuracy of the process of searching for images showing the same posture or action as the posture or action indicated by the query is improved.

[0191] Here, a modification of this embodiment will be described. The image processing device 100 of this embodiment can be configured to employ one or more of the following modifications 8 and 9.

[0192] -Variation 8- The search unit 111 may search for a video by using weighting values ​​set for multiple types of feature amounts. In the example shown in FIG. 53, feature amounts f1 to f p A weighting value is assigned to each, and these are used to search for videos.

[0193] Here, an example of a method for setting weighting values ​​will be described. The weighting values ​​are set by, for example, the integration unit 113. The integration unit 113 can set weighting values ​​for each feature based on the similarity of each of a plurality of types of feature calculated from the first frame image and the second frame image corresponding to each other. A feature with a low similarity is a feature related to a body part that moves characteristically in the action, and it is considered that the similarity is low due to differences in physique, individual differences, etc. For this reason, the integration unit 113 may set a higher weighting value for a feature with a low similarity. As another way of thinking, a feature with a high similarity can be considered as a common part that can have similar content for all people regardless of differences in physique, individual differences, etc. in the action. For this reason, the integration unit 113 may set a higher weighting value for a feature with a high similarity. Which way of thinking to adopt can be determined based on the content of the action, the required performance of the search, etc.

[0194] Next, an example of search processing using weighting values ​​will be described. The search unit 111 calculates the similarity between the query image and the image to be searched for each of a plurality of types of feature amounts, and integrates (for example, adds up) the multiple similarities calculated for the plurality of types of feature amounts to calculate an integrated similarity. The weighting values ​​can be used in this integration. For example, the integrated similarity can be calculated by multiplying each of the multiple similarities calculated for the plurality of types of feature amounts by a coefficient corresponding to the weighting value of each feature amount and adding the resulting values. The search unit 111 can search for an image whose integrated similarity is equal to or greater than a threshold value as an image similar to the query image.

[0195] -Variation 9- The search unit 111 can search for a video by using a part of the integrated query as a key. The part used as a key is a part created based on the first frame image and the second frame image included in a time period in which a change in a feature amount equal to or greater than a threshold occurs in both the first query video and the second query video (a large change in the posture of a person in the video). The time period in which a change in a feature amount equal to or greater than a threshold occurs is a time period in which a change in a feature amount from a predefined reference posture is equal to or greater than the threshold. For example, if an upright posture is defined as the reference posture, a time period in which a change from an upright posture is greater than a threshold, for example, a time period in which a hand is raised or a person is crouched, is identified as a time period in which a change in a feature amount equal to or greater than a threshold occurs. The reference posture may be defined by the user. Alternatively, an average or most frequent posture of postures shown in multiple images may be calculated as the reference posture. The multiple images may be images stored in a database, may be images extracted from the query video, or may be images specified by the user.

[0196] -Variation 10- In the above embodiment, the image processing device 100 detects key points on the body of a person and searches for videos showing the same actions and postures as those of the person. 10 In this example, the image processing device 100 detects key points of objects other than people and objectA video showing the same actions and postures as those of the object may be searched for. The object is not particularly limited, and examples thereof include animals, plants, natural objects, and artificial objects.

[0197] (Embodiment 5) In the fourth embodiment, the image processing device 100 creates a combined query based on a plurality of query videos, and searches for videos using the created combined query. In the present embodiment, the image processing device 100 creates a combined query based on a plurality of query still images, and searches for still images using the created combined query. Then, the image processing device 100 performs a search similar to the search using weighting values ​​set for a plurality of types of feature amounts described as modification 8 in the fourth embodiment.

[0198] 56 shows an example of a functional block diagram of the image processing device 100 according to the present embodiment. As shown in the figure, the image processing device 100 has a query acquisition unit 109, a skeletal structure detection unit 102, a feature amount calculation unit 103, an integration unit 113, and a search unit 111. Note that the image processing device 100 may further include other functional units described in the first to fourth embodiments.

[0199] The query acquisition unit 109 acquires a first query still image and at least one second query still image. For example, the query acquisition unit 109 acquires a first query still image and a second query still image input / specified / selected by a user operation.

[0200] 57, the first query still image and the second query still image show the same posture. The first query still image and the second query still image may include the same person or different people. Depending on the feature amount used, it is preferable to align the angle of view of the first query still image and the angle of view of the second query still image to some extent.

[0201] The skeletal structure detection unit 102 detects key points of a person (object) included in each of the first query still image and the second query still image. The configuration of the skeletal structure detection unit 102 is the same as that of the first to second query still images. 4 Therefore, detailed description will be omitted here.

[0202] The feature amount calculation unit 103 calculates feature amounts of key points detected from each of the first query still image and the second query still image, i.e., feature amounts of the detected two-dimensional skeleton structure. The configuration of the feature amount calculation unit 103 is the same as in the first to fourth embodiments, and therefore a detailed description thereof will be omitted here.

[0203] The integration unit 113 integrates the feature amounts calculated from the first query still image and the second query still image to generate an integrated query. p , a plurality of types of feature amounts f1 to f2 calculated from the second query still image p , and multiple types of feature quantities f1 to f2 created by integrating them p The integration unit 113 can calculate an arithmetic average or a weighted average of the feature amounts calculated from the first query still image and the second query still image as the integrated feature amount. p The feature amount f1 in is the arithmetic average or weighted average of the feature amount f1 calculated from the first query still image and the feature amount f1 calculated from the second query still image.

[0204] Similarly, when creating an integrated query based on a first query still image and multiple second query still images, the integrated query can be created by calculating the arithmetic mean or weighted mean of the features calculated from each of the multiple query still images.

[0205] The search unit 111 searches for still images using the integrated query as a key. The search unit 111 searches for still images using weighting values ​​set for multiple types of feature amounts. In the example shown in FIG. 57, the feature amounts f1 to f p A weighting value is assigned to each of the weights, and the weighting values ​​are used to search for still images. The method of setting the weighting values ​​and an example of the search process using the weighting values ​​are the same as those described in the fourth embodiment.

[0206] Next, an example of the process flow of the image processing device 100 of this embodiment will be described using the flowchart in Fig. 58. Note that the purpose here is to explain the process flow. Details of each process have been described above, so the description here will be omitted.

[0207] The image processing device 100 acquires a first query still image and at least one second query still image (S700).

[0208] Next, the image processing device 100 detects key points of objects included in each of the first query still image and the second query still image (S701). Next, the image processing device 100 calculates feature amounts of the detected key points (S702).

[0209] Next, the image processing device 100 integrates the feature amounts calculated from the first query still image and the second query still image to create an integrated query (S703). The image processing device 100 also sets weighting values ​​for the multiple types of feature amounts. Next, the image processing device 100 uses the integrated query created in S703 as a key, and further uses the weighting values ​​for the multiple types of feature amounts created in S703 to search for still images (S705).

[0210] As described above, the image processing device 100 of the present embodiment, which integrates multiple queries showing the same pose and performs a search using the integrated query, improves the search accuracy of the process of searching for an image showing the same pose as the query. In addition, by performing a search using weighting values ​​for multiple types of feature amounts, further improvement in search accuracy is expected.

[0211] Although the embodiments of the present invention have been described above with reference to the drawings, these are merely examples of the present invention, and various configurations other than those described above can also be adopted.

[0212] In addition, in the flowcharts used in the above description, multiple steps (processes) are described in order, but the order of execution of the steps performed in each embodiment is not limited to the order described. In each embodiment, the order of the steps shown in the figures can be changed to the extent that does not cause problems in terms of content. In addition, the above-mentioned embodiments can be combined to the extent that the content is not contradictory.

[0213] A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes. 1. A query acquisition means for acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying means for specifying the second frame image corresponding to each of the plurality of first frame images; an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing device comprising: 2. The image processing device according to claim 1, wherein the integration means calculates an arithmetic average or weighted average of the feature amounts calculated from the first frame image and the second frame image as the integrated feature amount. 3. The image processing device according to 1 or 2, further comprising a search means for searching for videos using the integrated query as a key. 4. The image processing device according to claim 3, wherein the search means searches for the video using weighting values ​​set for each of the multiple types of features. 5. The image processing device according to claim 4, wherein the weighting value for each of a plurality of types of feature amounts is set based on the similarity between each of the first frame image and the second frame image corresponding to each other. 6. The search means An image processing device according to any one of claims 3 to 5, which searches for videos using as a key a part of the integrated query, the part being created based on the first frame image and the second frame image included in a time period in which a change in the feature amount greater than or equal to a threshold occurs in both the first query video and the second query video. 7. The computer: a query acquisition step of acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature calculation step of calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying step of specifying the second frame images corresponding to each of the plurality of first frame images; an integration process for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing method that performs 8. The computer a query acquisition means for acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; A correspondence relationship specifying means for specifying the second frame images corresponding to each of the plurality of first frame images; and an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; A program that functions as a 9. A query acquisition means for acquiring a first query still image and at least one second query still image; a feature amount calculation means for calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration means for integrating the feature amounts calculated from the first query still image and the second query still image to create an integrated query; a search means for searching for still images using the integrated query as a key; having The search means is an image processing device that searches for still images using weighting values ​​for each of the multiple types of features calculated from the first query still image and each of the multiple types of features calculated from the second query still image, which are set based on the similarity between each of the multiple types of features calculated from the first query still image. 10. The computer: a query acquisition step of acquiring a first query still image and at least one second query still image; a feature calculation step of calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration step of integrating the feature amounts calculated from the first query still image and the second query still image to generate an integrated query; a search step of searching for still images using the integrated query as a key; Run In the search step, a still image is searched for using a weighting value for each feature that is set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image. 11. Computer a query acquisition means for acquiring a first query still image and at least one second query still image; a feature amount calculation means for calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration unit that integrates the feature amounts calculated from the first query still image and the second query still image to create an integrated query; and a search means for searching for still images using the integrated query as a key; Function as a The search means is a program that searches for still images using weighting values ​​for each of the multiple types of features calculated from the first query still image and each of the multiple types of features calculated from the second query still image, the weighting values ​​being set based on the similarity between each of the multiple types of features calculated from the first query still image. [Explanation of symbols]

[0214] 1. Image Processing System 10 Image processing device 11 Skeleton detection section 12 Feature Calculation Unit 13 Recognition part 100 Image processing device 101 Image acquisition unit 102 Skeletal structure detection unit 103 Feature Calculation 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 113 Integration Department 114 Correspondence Identification Unit 200 Cameras 201 Database 300, 301 Human body models 401 2D Skeleton Structure

Claims

1. A query acquisition means for acquiring a first query moving image having a plurality of first frame images in time series and at least one second query moving image having a plurality of second frame images in time series; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying means for specifying the second frame image corresponding to each of the plurality of first frame images; an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing device comprising:

2. The image processing apparatus according to claim 1 , wherein the integrating means calculates, as the integrated feature amount, an arithmetic average or a weighted average of the feature amounts calculated from the first frame image and the second frame image.

3. The image processing device according to claim 1 , further comprising a search unit that searches for a video using the integrated query as a key.

4. The image processing apparatus according to claim 3 , wherein the search means searches for the moving image using weighting values ​​set for a plurality of types of the feature amounts.

5. The image processing apparatus according to claim 4 , wherein the weighting value for each of a plurality of types of feature amounts is set based on a similarity between the plurality of types of feature amounts calculated from the first frame image and the second frame image corresponding to each other.

6. The computer a query acquisition step of acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation step of calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying step of specifying the second frame images corresponding to each of the plurality of first frame images; an integration process for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; An image processing method that performs

7. Computer, a query acquisition means for acquiring a first query moving image having a plurality of time-series first frame images and at least one second query moving image having a plurality of time-series second frame images; a feature amount calculation means for calculating feature amounts of key points detected from an object included in each of the first frame image and the second frame image; a correspondence relationship specifying means for specifying the second frame images corresponding to each of the plurality of first frame images; and an integration means for performing a process of integrating the feature amounts calculated from the first frame image and the second frame image corresponding to each other for a plurality of combinations of the first frame image and the second frame image corresponding to each other, thereby creating an integrated query in which the integrated feature amounts are arranged in chronological order; A program that functions as a

8. A query acquisition means for acquiring a first query still image and at least one second query still image; a feature amount calculation means for calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration unit that integrates the feature amounts calculated from the first query still image and the second query still image to create an integrated query; a search means for searching for still images using the integrated query as a key; having The search means is an image processing device that searches for still images using weighting values ​​for each feature that are set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image.

9. The computer a query acquisition step of acquiring a first query still image and at least one second query still image; a feature calculation step of calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration step of integrating the feature amounts calculated from the first query still image and the second query still image to generate an integrated query; a search step of searching for still images using the integrated query as a key; Run In the search process, an image processing method is provided in which still images are searched for using weighting values ​​for each feature that are set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image.

10. Computer, a query acquisition means for acquiring a first query still image and at least one second query still image; a feature amount calculation means for calculating feature amounts of key points detected from objects included in the first query still image and the second query still image; an integration unit that integrates the feature amounts calculated from the first query still image and the second query still image to create an integrated query; and a search means for searching for still images using the integrated query as a key; Function as a The search means is a program that searches for still images using weighting values ​​for each feature that are set based on the similarity between each of the multiple types of feature calculated from the first query still image and each of the multiple types of feature calculated from the second query still image.

Citation Information

Patent Citations

  • Methods for establishing an action recognition library, electronic devices, and storage media

    CN109308438B

  • Image information updating system, image inputting device, image processing device, image updating device, image information updating method, image information updating program, and recording medium recording the program

    JP2006260405A

  • Apparatus and method for retrieving object poses

    JP2014522035A

  • Image processing device, image processing method, image processing program and image processing system

    JP2016181743A

  • Information processing system, information processing apparatus and program

    JP2020035086A