WO2021130978A1 - 動作分析システムおよび動作分析プログラム - Google Patents

動作分析システムおよび動作分析プログラム Download PDF

Info

Publication number
WO2021130978A1
WO2021130978A1 PCT/JP2019/051207 JP2019051207W WO2021130978A1 WO 2021130978 A1 WO2021130978 A1 WO 2021130978A1 JP 2019051207 W JP2019051207 W JP 2019051207W WO 2021130978 A1 WO2021130978 A1 WO 2021130978A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
target
data
posture
time
Prior art date
Application number
PCT/JP2019/051207
Other languages
English (en)
French (fr)
Inventor
勝大 草野
尚吾 清水
奥村 誠司
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201980103084.2A priority Critical patent/CN114846513A/zh
Priority to PCT/JP2019/051207 priority patent/WO2021130978A1/ja
Priority to JP2020528365A priority patent/JP6786015B1/ja
Priority to DE112019007857.7T priority patent/DE112019007857T5/de
Priority to TW109115675A priority patent/TW202125331A/zh
Publication of WO2021130978A1 publication Critical patent/WO2021130978A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Definitions

  • the present invention relates to a technique for motion analysis.
  • Cycle time is the time the worker assembles the product.
  • Work content analysis is performed to detect omissions or non-routine work.
  • Transient work is work that is not performed on a regular basis.
  • Manual processing involves a lot of human costs. Moreover, in the manual processing, only a limited range can be processed.
  • Patent Document 1 describes an operation analysis that is automatically performed.
  • a camera and a three-dimensional sensor are attached to a person's head, and the camera and the three-dimensional sensor are used to extract features of the person's motion.
  • Patent Document 1 a camera and a three-dimensional sensor are attached to a person's head for automatic motion analysis.
  • the method of Patent Document 1 is applied to analyze the movement of the worker, an object unnecessary for the work is attached to the body of the worker. Then, an object attached to the worker's body may interfere with the work.
  • An object of the present invention is to enable analysis of a worker's movement without interfering with the work.
  • the motion analysis system of the present invention A target image reception unit that accepts a plurality of target image data obtained by continuously shooting a target person performing a series of operations, and a target image reception unit.
  • a target posture detection unit that detects the posture of the target person reflected in the target image of each target image data and generates target posture data representing the detected posture. From the plurality of target posture data corresponding to the plurality of target image data, at least one of the target posture data at the target time, the time before the target time is continuous, and the time after the target time is continuous.
  • a target locus extraction unit that extracts two or more target posture data including the target posture data as target locus data representing the transition of the posture of the target person, and a target locus extraction unit. It includes an action specifying unit that obtains an action label that identifies the action of the target person based on the target trajectory data.
  • the present invention it is possible to identify the movement of the worker even if an object unnecessary for the work such as a camera and a three-dimensional sensor is not attached to the body of the worker (an example of the target person). That is, it is possible to analyze the movement of the worker without interfering with the work.
  • FIG. The block diagram of the motion analysis system 100 in Embodiment 1.
  • FIG. The block diagram of the motion analysis apparatus 200 in Embodiment 1.
  • FIG. The flowchart of the motion analysis method in Embodiment 1.
  • FIG. The flowchart of the target locus extraction process (S130) in Embodiment 1.
  • FIG. The block diagram of the operation database 291 in Embodiment 1.
  • FIG. The flowchart of the operation identification process (S140) in Embodiment 1.
  • FIG. The block diagram of the motion analysis system 100 in Embodiment 1.
  • FIG. The block diagram of the registration part 220 in Embodiment 1.
  • FIG. The flowchart of the registration process in Embodiment 1.
  • FIG. The block diagram of the registration part 220 in Embodiment 2.
  • FIG. The flowchart of the registration process in Embodiment 2.
  • FIG. The block diagram of the motion analysis apparatus 200 in Embodiment 3.
  • FIG. The block diagram of the learning part 230 in Embodiment 3.
  • FIG. The flowchart of the motion analysis method in Embodiment 3.
  • Embodiment 1 The motion analysis system 100 for automatically analyzing human motion will be described with reference to FIGS. 1 to 14.
  • the motion analysis system 100 includes a camera 101 and a motion analysis device 200.
  • the camera 101 photographs the subject 111.
  • the camera 101 may photograph the target person 111 from the front or may photograph the target person 111 from an oblique angle. Further, the camera 101 may photograph the whole body of the subject 111, or may photograph a part of the subject 111 (for example, the upper body).
  • the motion analysis device 200 analyzes the motion of the subject 111.
  • the target person 111 is a person who is the target of motion analysis.
  • a specific example of the target person 111 is a person (worker) who performs the work.
  • the configuration of the motion analyzer 200 will be described with reference to FIG.
  • the motion analyzer 200 is a computer including hardware such as a processor 201, a memory 202, an auxiliary storage device 203, a communication device 204, and an input / output interface 205. These hardware are connected to each other via signal lines.
  • the processor 201 is an IC that performs arithmetic processing and controls other hardware.
  • processor 201 is a CPU, DSP or GPU.
  • IC is an abbreviation for Integrated Circuit.
  • CPU is an abbreviation for Central Processing Unit.
  • DSP is an abbreviation for Digital Signal Processor.
  • GPU is an abbreviation for Graphics Processing Unit.
  • the memory 202 is a volatile or non-volatile storage device.
  • the memory 202 is also referred to as a main storage device or a main memory.
  • the memory 202 is a RAM.
  • the data stored in the memory 202 is stored in the auxiliary storage device 203 as needed.
  • RAM is an abbreviation for Random Access Memory.
  • the auxiliary storage device 203 is a non-volatile storage device.
  • the auxiliary storage device 203 is a ROM, HDD, or flash memory.
  • the data stored in the auxiliary storage device 203 is loaded into the memory 202 as needed.
  • ROM is an abbreviation for Read Only Memory.
  • HDD is an abbreviation for Hard Disk Drive.
  • Communication device 204 is a receiver and a transmitter.
  • the communication device 204 is a communication chip or NIC.
  • NIC is an abbreviation for Network Interface Card.
  • the input / output interface 205 is a port to which an input device and an output device are connected.
  • the input / output interface 205 is a USB terminal
  • the input device is a keyboard and a mouse
  • the output device is a display.
  • USB is an abbreviation for Universal Serial Bus.
  • the motion analyzer 200 includes elements such as a specific unit 210 and a registration unit 220.
  • the specific unit 210 includes elements such as a target image receiving unit 211, a target posture detecting unit 212, a target locus extraction unit 213, an motion specifying unit 214, and a result output unit 215. These elements are realized in software.
  • the auxiliary storage device 203 stores an operation analysis program for operating the computer as the specific unit 210 and the registration unit 220.
  • the motion analysis program is loaded into memory 202 and executed by processor 201.
  • the OS is further stored in the auxiliary storage device 203. At least part of the OS is loaded into memory 202 and executed by processor 201.
  • the processor 201 executes the motion analysis program while executing the OS.
  • OS is an abbreviation for Operating System.
  • the input / output data of the motion analysis program is stored in the storage unit 290.
  • the memory 202 functions as a storage unit 290.
  • a storage device such as an auxiliary storage device 203, a register in the processor 201, and a cache memory in the processor 201 may function as a storage unit 290 instead of the memory 202 or together with the memory 202.
  • the operation database 291 and the like are stored in the storage unit 290.
  • the motion analyzer 200 may include a plurality of processors that replace the processor 201.
  • the plurality of processors share the functions of the processor 201.
  • the motion analysis program can be computer-readablely recorded (stored) on a non-volatile recording medium such as an optical disk or flash memory.
  • the operation procedure of the motion analysis system 100 corresponds to the motion analysis method. Further, the operation procedure of the motion analysis device 200 corresponds to the processing procedure by the motion analysis program.
  • the target image receiving unit 211 receives a plurality of target image data.
  • the plurality of target image data can be obtained by continuously photographing the target person 111 performing a series of operations.
  • Each target image data represents a target image.
  • the target person 111 is shown in the target image.
  • a plurality of target image data are input to the motion analysis device 200 by the user.
  • the target image receiving unit 211 receives a plurality of input target image data.
  • a plurality of target image data are transmitted from the camera 101 and received by the motion analysis device 200.
  • the target image receiving unit 211 receives a plurality of received target image data.
  • step S120 the target posture detection unit 212 detects the posture of the target person 111 reflected in the target image of each target image data, and generates target posture data representing the detected posture. As a result, a plurality of target posture data corresponding to the plurality of target image data can be obtained.
  • the target posture detection process (S120) will be described with reference to FIG. [M-1], [m], and [m + 1] indicate three consecutive shooting times.
  • the shooting time is the time when the shooting was performed.
  • the target image data 121 at each shooting time represents the target image at each shooting time.
  • the target image at each shooting time shows the target person 111 at each shooting time.
  • the target posture detection unit 212 detects the posture of the target person 111 at each shooting time by performing image processing on the target image at each shooting time. Specifically, the target posture detection unit 212 detects the skeleton of the target person 111.
  • the posture of the subject 111 is specified by the skeleton of the subject 111. More specifically, the target posture detection unit 212 determines the position of each joint of the target person 111.
  • the position of each joint may be an absolute position in a specific coordinate system or may be a relative position with respect to other joints.
  • the position of each joint is identified by the coordinate values. Multiple joints, such as the neck and shoulder joints, identify the
  • the target posture detection unit 212 generates target posture data 122 representing the posture of the target person 111 at each shooting time.
  • each black circle represents the position of the joint of the subject 111.
  • Steps S130 and S140 are executed for each shooting time in the shooting time zone.
  • the shooting time zone is the time zone in which the shooting was performed.
  • the target locus extraction unit 213 extracts the target locus data from the plurality of target posture data corresponding to the plurality of target image data.
  • the target trajectory data is composed of two or more target posture data, and represents the transition of the posture of the target person 111.
  • two or more target posture data are arranged in time series.
  • the target trajectory data may be a polynomial function that approximates two or more target posture data.
  • the locus data is data of continuous time.
  • the target trajectory data is the target posture data at consecutive times.
  • the continuous time is a target time and a time continuous with the target time. When the target time is [t], the consecutive times are [t-1], [t], and [t + 1].
  • step S131 the target locus extraction unit 213 selects one unselected shooting time from the shooting time zone.
  • the shooting time zone is the time zone in which the shooting was performed.
  • the selected shooting time is referred to as "target time”.
  • the target locus extraction unit 213 determines the shooting time group with respect to the target time.
  • the shooting time group is composed of two or more consecutive shooting times, and includes a target time.
  • the number of shooting times included in the shooting time group is predetermined.
  • the target time is described as "m”.
  • the target locus extraction unit 213 determines a shooting time group composed of a shooting time (m-1), a shooting time (m), and a shooting time (m + 1) as a shooting time group with respect to the target time.
  • the determined shooting time group is referred to as a "target time group".
  • the target locus extraction unit 213 extracts the target locus data corresponding to the target time from the plurality of target posture data. For example, when the target time group is composed of time (m-1), time (m), and time (m + 1), the target locus extraction unit 213 uses the target posture data at time (m-1) and the time (m-1). The target posture data of m) and the target posture data of the time (m + 1) are extracted. The three extracted target posture data constitute the target trajectory data corresponding to the target time.
  • the target locus extraction process (S130) will be described with reference to FIG. [M-1], [m], and [m + 1] indicate three consecutive shooting times. It is assumed that the target time group is composed of [m-1], [m], and [m + 1].
  • the target locus extraction unit 213 extracts the target posture data 122 of [m-1], the target posture data 122 of [m], and the target posture data 122 of [m + 1].
  • the three extracted target posture data 122 constitute the target locus data 123 of [m].
  • step S140 the motion specifying unit 214 obtains an motion label that identifies the motion of the target person 111 based on the target trajectory data. Specifically, the motion specifying unit 214 extracts the motion label of the motion trajectory data matching the target trajectory data from the motion database 291.
  • the operation database 291 is a database in which one or more pairs of operation labels and operation locus data are registered.
  • the action label identifies the action.
  • the motion locus data represents the transition of the posture of the person performing the motion identified by the motion label.
  • the configuration of the operation database 291 will be described with reference to FIG. 7.
  • [T-1], [t], and [t + 1] indicate three consecutive shooting times.
  • the motion locus data 133 is composed of two or more motion posture data 132.
  • the motion locus data 133 is composed of two or more motion posture data 132 associated with two or more consecutive times.
  • the motion posture data 132 represents the posture of the person performing the motion.
  • the motion locus data 133 of [t] is composed of the motion posture data 132 of [t-1], the motion posture data 132 of [t], and the motion posture data 132 of [t + 1].
  • the operation locus data 133 includes time data that are continuous before and after the [t].
  • the motion locus data 133 of "t" represents the transition of the posture of the person performing the motion identified by the motion label "work A" at time t.
  • step S141 the operation specifying unit 214 selects one unselected time from the “time” of the operation database 291. Specifically, the operation specifying unit 214 selects the time in ascending order. The selected time is referred to as "comparison time”.
  • step S142 the operation specifying unit 214 determines a comparison time group with respect to the comparison time.
  • the comparison time group is composed of two or more consecutive times, and includes the comparison time. The number of times included in the comparison time group is predetermined.
  • the comparison time is described as "t".
  • the operation specifying unit 214 determines a time group including a time (t-1), a time (t), and a time (t + 1) as a comparison time group with respect to the comparison time.
  • step S143 the operation specifying unit 214 extracts the operation locus data corresponding to the comparison time from the operation database 291. For example, when the comparison time group is composed of the time (t-1), the time (t), and the time (t + 1), the operation specifying unit 214 uses the operation posture data of the time (t-1) and the time (t-1). ) And the time (t + 1) motion posture data are extracted. The three extracted motion posture data constitute motion trajectory data corresponding to the comparison time.
  • step S144 the motion specifying unit 214 compares the motion trajectory data with the target trajectory data.
  • the target trajectory data is extracted in step S130 (see FIG. 3).
  • the motion specifying unit 214 calculates the distance of the motion trajectory data with respect to the target trajectory data.
  • the distance of the motion trajectory data to the target trajectory data corresponds to the size of the difference between the posture transition represented by the target trajectory data and the posture transition represented by the motion trajectory data.
  • the comparison process (S144) will be described with reference to FIG.
  • the target posture data included in the target trajectory data is referred to as I (m) or I (m + k).
  • the motion posture data included in the motion trajectory data is referred to as R (t) or R (t + k).
  • K is an integer greater than or equal to ⁇ i and less than or equal to i.
  • I is an integer of 1 or more. When the number of target posture data included in the target trajectory data is "3", "i" is "1".
  • step S1441 the motion specifying unit 214 calculates the distance of the target posture data I (m + k) to the target posture data I (m).
  • the calculated distance is described as I'(m + k).
  • the distance I'(m + k) corresponds to the magnitude of the difference between the posture represented by the target posture data I (m) and the posture represented by the target posture data I (m + k).
  • the distance I'(m + k) can be expressed by the equation (1).
  • the motion specifying unit 214 calculates the distance I'(m + k) as follows.
  • the target posture data shows the positions of the plurality of joints.
  • the motion specifying unit 214 calculates the distance between the joint position in the target posture data I (m) and the joint position in the target posture data I (m + k) for each joint.
  • the motion specifying unit 214 may weight each joint and calculate the distance of each joint according to the weight of each joint. In that case, the important joint distance becomes a large value.
  • the motion specifying unit 214 calculates the difference between the distance between the joints in the target posture data I (m) and the distance between the joints in the target posture data I (m + k) as the distance to the joint group for each joint group. ..
  • the motion specifying unit 214 may weight each joint group and calculate the distance to each joint group according to the weight of each joint group. In that case, the distance to the important joints is large.
  • the motion specifying unit 214 calculates the total of the calculated distances. The calculated total is the distance I'(m + k).
  • step S1442 the motion specifying unit 214 calculates the distance of the motion posture data R (t + k) with respect to the motion posture data R (t).
  • the calculated distance is described as R'(t + k).
  • the distance R'(t + k) corresponds to the magnitude of the difference between the posture represented by the motion posture data R (t) and the posture represented by the motion posture data R (t + k).
  • the distance R'(t + k) can be expressed by the equation (2).
  • the motion specifying unit 214 calculates the distance R'(t + k) as follows.
  • the motion posture data shows the respective positions of the plurality of joints.
  • the motion specifying unit 214 calculates the distance between the joint position in the motion posture data R (t) and the joint position in the motion posture data R (t + k) for each joint.
  • the motion specifying unit 214 may weight each joint and calculate the distance of each joint according to the weight of each joint. In that case, the important joint distance becomes a large value.
  • the motion specifying unit 214 calculates, for each joint set, the difference between the distance between the joints in the motion posture data R (m) and the distance between the joints in the motion posture data I (m + k) as the distance to the joint set. ..
  • the motion specifying unit 214 may weight each joint group and calculate the distance to each joint group according to the weight of each joint group. In that case, the distance to the important joints is large.
  • the motion specifying unit 214 calculates the total of the calculated distances. The calculated total is the distance R'(t + k).
  • step S1443 the motion specifying unit 214 calculates the total difference between the distance I'(m + k) and the distance R'(t + k). The calculated total is the distance of the motion locus data to the target locus data.
  • the distance of the operation locus data to the target locus data can be expressed by the equation (3).
  • the distance of the motion trajectory data to the target trajectory data may be calculated by a method such as dynamic programming or a hidden Markov model. These methods dynamically expand and contract the time series to calculate the minimum distance. In these methods, for example, when the distance obtained by I'(m + k) -R'(m + (k + a)) is smaller than the distance obtained by I'(m + k) -R'(t + k), "k" and "k + a" ”Distance is added.
  • step S145 the operation specifying unit 214 determines whether or not there is an unselected comparison time. If there is an unselected comparison time, the process proceeds to step S141. If there is no unselected comparison time, the process proceeds to step S146.
  • step S146 the motion specifying unit 214 selects motion trajectory data that matches the target trajectory data based on the comparison result of each motion trajectory data and the target trajectory data.
  • the motion specifying unit 214 selects motion trajectory data that matches the target trajectory data based on the distance of each motion trajectory data with respect to the target trajectory data.
  • the motion locus data that matches the target locus data is determined as follows.
  • the operation specifying unit 214 selects the minimum distance among the distances calculated in step S144. Then, the motion specifying unit 214 selects the motion trajectory data corresponding to the selected distance.
  • the selected motion trajectory data is motion trajectory data that matches the target trajectory data. However, when the selected distance (minimum distance) is larger than the threshold value, the operation specifying unit 214 may determine that there is no operation locus data that matches the target locus data.
  • step S147 the operation specifying unit 214 extracts the operation label of the operation locus data that matches the target locus data from the operation database 291.
  • the operation specifying unit 214 selects a comparison time corresponding to the operation locus data selected in step S146, and extracts an operation label associated with the selected comparison time.
  • the extracted operation label is an operation label of the operation locus data that matches the target locus data. For example, it is assumed that the operation locus data 133 (see FIG. 7) of [t] is selected in step S146. In this case, the operation specifying unit 214 extracts the operation label “work A” associated with [t] from the operation database 291. However, if it is determined that there is no motion locus data that matches the target locus data (see step S146), the motion label is not extracted. When the operation label is not extracted, the operation specifying unit 214 assigns a label indicating an operation (unsteady operation) that is not normally performed.
  • step S130 and step S140 By executing steps S130 and S140 for each shooting time in the shooting time zone, an operation label is obtained for each shooting time. After steps S130 and S140 are executed for each shooting time in the shooting time zone, the process proceeds to step S150.
  • step S150 the result output unit 215 outputs the result data.
  • the result output unit 215 displays the result data on the display.
  • the result data includes an operation label for each shooting time.
  • FIG. 11 shows the configuration of the motion analysis system 100 when the motion database 291 is generated.
  • the motion analysis system 100 includes a camera 102 and a motion analysis device 200.
  • the camera 102 photographs the operator 112.
  • the camera 102 may be the same as the camera 101 (see FIG. 1), or may be a camera different from the camera 101.
  • the operator 112 is a person who performs an operation (target operation) to be registered in the operation database 291.
  • the operator 112 may be the same person as the target person 111 (see FIG. 1), or may be a different person from the target person 111.
  • the operator 112 When the operator 112 is an operator, the operator 112 performs normally performed work (steady work) as a series of operations. However, the operator 112 may perform a series of operations including operations that are not normally performed (unsteady operations).
  • FIG. 12 shows the configuration of the registration unit 220 provided in the motion analyzer 200.
  • the registration unit 220 includes elements such as an operation label reception unit 221, an operation image reception unit 222, an operation posture detection unit 223, and an operation registration unit 224.
  • the registration process by the registration unit 220 will be described with reference to FIG.
  • the operation database 291 (see FIG. 7) is generated by the registration process.
  • step S101 the operation label receiving unit 221 receives a plurality of operation labels to which a plurality of times are added.
  • the operation label receiving unit 221 accepts the operation label list.
  • the operation label list shows a plurality of pairs of time and operation label.
  • the motion label list is input to the motion analyzer 200 by the user.
  • the operation label receiving unit 221 receives the input operation label list.
  • a label indicating non-steady state is given to the operation which is not included in the steady work.
  • step S102 the motion image receiving unit 222 receives a plurality of motion image data to which a plurality of times are added.
  • the plurality of times added to the plurality of motion image data coincide with the plurality of times added to the plurality of motion labels.
  • the plurality of motion image data can be obtained by continuously photographing the operator 112 who performs a series of motions.
  • Each motion image data represents a motion image.
  • the operation image shows the operator 112.
  • the motion image receiving unit 222 receives the motion image file.
  • the motion image file includes a plurality of sets of time and motion image data.
  • the motion image file is input to the motion analyzer 200 by the user.
  • the motion image receiving unit 222 receives the input motion image file.
  • step S103 the motion posture detection unit 223 detects the posture of the operator 112 reflected in the motion image of each motion image data, and generates motion posture data representing the detected posture. As a result, a plurality of motion posture data corresponding to the plurality of motion image data can be obtained.
  • the operating posture detection process (S103) will be described with reference to FIG. [T-1], [t], and [t + 1] indicate three consecutive times.
  • the operation image data 131 at each time represents an operation image at each time.
  • the operation image at each time shows the operator 112 at each time.
  • the motion posture detection unit 223 detects the posture of the operator 112 at each time by performing image processing on the motion image at each time. Specifically, the motion posture detection unit 223 detects the skeleton of the operator 112.
  • the posture of the operator 112 is specified by the skeleton of the operator 112. More specifically, the motion posture detection unit 223 determines the position of each joint of the operator 112.
  • the position of each joint can be indicated by a coordinate value or a position relative to another joint. Multiple joints, such as the neck and shoulder joints, identify the skeleton.
  • the motion posture detection unit 223 generates motion posture data 132 representing the posture of the operator 112 at each time.
  • each black circle represents the position of the joint of the operator 112.
  • step S104 the operation registration unit 224 registers the plurality of times, the plurality of operation posture data, and the plurality of operation labels in the operation database 291 in association with each other.
  • the operation specifying unit 214 may specify a time zone in which steady work is performed and a time zone in which non-steady work is performed. Specifically, the operation specifying unit 214 measures the time zone between the times when the label indicating unsteady state is attached. The time zone to be measured is the time zone in which the non-routine work was performed. After that, the operation specifying unit 214 determines a time zone other than the time zone in which the unsteady work is performed. The time zone to be determined is the time zone in which routine work is performed.
  • Embodiment 1 it is possible to identify the movement of the worker even if an object unnecessary for the work such as a camera and a three-dimensional sensor is not attached to the body of the worker (an example of the target person). That is, it is possible to analyze the movement of the worker without interfering with the work.
  • the target person 111 can specify the time zone in which each operation is performed. That is, it is possible to specify the time zone in which the routine work is performed and the time zone in which the non-routine work is performed. Further, by comparing the locus data (continuous time data) called the target locus data and the operation locus data, the following effects can be obtained.
  • the work may involve multiple actions. Therefore, it is possible to determine more appropriate work by comparing the locus data which are continuous movements instead of comparing the movements at a single time.
  • Embodiment 2 The mode for improving the accuracy of the motion analysis will be described mainly different from the first embodiment with reference to FIGS. 15 to 18.
  • the configuration of the motion analysis system 100 is the same as the configuration in the first embodiment (see FIGS. 1 and 11). However, in FIG. 11, the operator 112 performs a series of operations a plurality of times, and the camera 102 captures a series of a plurality of operations by the operator 112.
  • the configuration of the motion analyzer 200 is the same as the configuration in the first embodiment (see FIG. 2). However, a part of the configuration of the registration unit 220 is different from the configuration in the first embodiment (see FIG. 12).
  • the configuration of the registration unit 220 will be described with reference to FIG.
  • the registration unit 220 includes elements such as an operation label reception unit 221, an operation image reception unit 222, a temporary posture detection unit 225, a temporary table generation unit 226, an operation posture generation unit 227, and an operation registration unit 224.
  • Steps S210 to S240 are executed for each of a series of a plurality of operations. That is, when the series of operations is performed three times, steps S210 to S240 are executed three times.
  • step S210 the operation label receiving unit 221 receives the operation label group.
  • the operation label group is a plurality of operation labels to which a plurality of times are added.
  • Step S210 corresponds to step S101 (see FIG. 13) in the first embodiment.
  • step S220 the motion image receiving unit 222 receives the motion image data group.
  • the motion image data group is a plurality of motion image data obtained by photographing an operator performing a series of motions and to which a plurality of times are added.
  • Step S220 corresponds to step S202 (see FIG. 13) in the first embodiment.
  • the temporary posture detection unit 225 detects the posture of the operator 112 reflected in the motion image of each motion image data in the motion image data group, and generates temporary posture data representing the detected posture. As a result, a temporary posture data group corresponding to the motion image data group can be obtained.
  • the temporary posture data group is a plurality of temporary posture data corresponding to a plurality of motion image data.
  • the method of generating the temporary posture data is the same as the method of generating the motion posture data in the first embodiment (see step S103 of FIG. 13).
  • step S240 the temporary table generation unit 226 generates a temporary table.
  • the temporary table is a table in which the time group, the temporary posture data group, and the operation label group are associated with each other.
  • a time group is a plurality of times added to a plurality of operation labels and a plurality of operation images.
  • steps S210 to S240 By executing steps S210 to S240 for each of a series of operations a plurality of times, a plurality of temporary tables are generated. After steps S210 to S240 are executed for each of the series of operations a plurality of times, the process proceeds to step S250.
  • step S250 the motion posture generation unit 227 generates two or more motion posture data corresponding to two or more times for each motion included in the series of motions.
  • Two or more motion posture data corresponding to two or more times are generated as follows.
  • the motion posture generation unit 227 extracts tentative trajectory data, which is two or more tentative posture data associated with two or more motion labels that identify the same motion, from each of the plurality of tentative tables.
  • the motion posture generation unit 227 generates two or more motion posture data corresponding to two or more times based on the plurality of temporary trajectory data extracted from the plurality of temporary tables.
  • Steps S251 to S253 are executed for each operation included in the series of operations.
  • step S251 the motion posture generation unit 227 extracts temporary trajectory data from each of the plurality of temporary tables. As a result, a plurality of provisional trajectory data are extracted.
  • the motion posture generation unit 227 determines the number of motion posture data constituting the motion trajectory data.
  • the determined number is referred to as "the number of constituent data".
  • the number of constituent data is the average of the number of temporary posture data in a plurality of temporary trajectory data.
  • the number of temporary posture data constituting the first temporary trajectory data is "3”
  • the number of temporary posture data constituting the second temporary trajectory data is "4"
  • the third temporary trajectory data is configured. It is assumed that the number of temporary posture data to be performed is "5". In this case, the number of configuration data is "4".
  • step S253 the motion posture generation unit 227 samples each provisional trajectory data. As a result, the number of temporary posture data constituting each temporary trajectory data becomes the same as the number of constituent data.
  • FIG. 18 shows a specific example of sampling.
  • An represents the temporary posture data included in the nth temporary trajectory data before sampling.
  • An ' represents the temporary posture data included in the nth temporary trajectory data after sampling.
  • "*" Means multiplication and "+” means addition.
  • Each tentative posture data indicates the position of each of the plurality of joints. Multiplication and addition are performed on the coordinate values that identify the joint position for each joint.
  • the first temporary trajectory data is composed of three temporary posture data A 1 (1 to 3).
  • the second temporary trajectory data is composed of four temporary posture data A 2 (1 to 4).
  • the temporary track data for the third time is composed of five temporary position data A 3 (1 ⁇ 5).
  • three temporary position data A 1 (1 ⁇ 3) 4 single temporary position based on the data A 1 '(1 ⁇ 4) are generated.
  • the sampling for the second tentative trajectory data four temporary position data A 2 (1 ⁇ 4) four temporary position based on the data A 2 '(1 ⁇ 4) are generated.
  • the temporary trajectory data for the third time By sampling the temporary trajectory data for the third time, four temporary posture data A 3 '(1 to 4) based on the five temporary posture data A 3 (1 to 5) are generated.
  • the first temporary trajectory data is composed of four temporary posture data A 1 '(1 to 4).
  • the second temporary trajectory data is composed of four temporary posture data A 2 '(1 to 4).
  • the temporary track data for the third time is composed of four provisional posture data A 3 '(1 ⁇ 4) .
  • step S254 the motion posture generation unit 227 generates the same number of motion posture data as the number of configuration data.
  • the motion posture generation unit 227 generates motion posture data at each time as follows.
  • the motion posture generation unit 227 calculates the sum of a plurality of temporary posture data associated with the same time.
  • the sum of the plurality of temporary posture data is performed on the coordinate values that identify the joint positions for each joint.
  • the motion posture generation unit 227 divides the sum of the plurality of temporary posture data by the number of temporary posture data.
  • the average of a plurality of temporary posture data associated with the same time is calculated.
  • the average of a plurality of temporary posture data is the motion posture data.
  • the motion posture generation unit 227 may calculate the variance of the plurality of temporary posture data together with the average of the plurality of temporary posture data.
  • step S260 the motion registration unit 224 sets two or more times, two or more motion posture data, and two or more motion labels that identify the same motion for each motion included in the series of motions. They are associated with each other and registered in the operation database 291.
  • the operation database 291 can be generated based on a series of operations performed a plurality of times. As a result, it is possible to improve the accuracy of motion analysis.
  • Embodiment 3 The mode in which the motion analysis is performed using the learning model will be described mainly different from the first and second embodiments with reference to FIGS. 19 to 22.
  • the configuration of the motion analyzer 200 will be described with reference to FIG.
  • the motion analyzer 200 includes elements such as a specific unit 210 and a learning unit 230. These elements are realized in software.
  • the motion analysis program causes the computer to function as a specific unit 210 and a learning unit 230.
  • the learning unit 230 generates a learning model 292.
  • the storage unit 290 stores the learning model 292.
  • the learning model 292 outputs an operation label in response to the input of the operation locus data.
  • the configuration of the learning unit 230 will be described with reference to FIG.
  • the learning unit 230 includes elements such as an operation label reception unit 231, an operation image reception unit 232, an operation posture detection unit 233, and an operation learning unit 234.
  • step S310 the target image receiving unit 211 receives a plurality of target image data.
  • Step S310 is the same as step S110 (see FIG. 3) in the first embodiment.
  • step S320 the target posture detection unit 212 detects the posture of the target person 111 reflected in the target image of each target image data, and generates target posture data representing the detected posture. As a result, a plurality of target posture data corresponding to the plurality of target image data can be obtained.
  • Step S320 is the same as step S120 (see FIG. 3) in the first embodiment.
  • step S330 the target locus extraction unit 213 extracts the target locus data from the plurality of target posture data corresponding to the plurality of target image data.
  • Step S330 is the same as step S130 (see FIG. 3) in the first embodiment.
  • step S340 the motion specifying unit 214 obtains an motion label that identifies the motion of the target person 111 based on the target trajectory data.
  • the operation label is obtained as follows.
  • the motion specifying unit 214 inputs the target trajectory data to the learning model.
  • the learning model outputs an operation label of the learning locus data that matches the input target locus data.
  • the motion specifying unit 214 obtains a motion label from the learning model.
  • Step S330 and step S340 are executed for each shooting time in the shooting time zone. As a result, an operation label is obtained for each shooting time. After steps S330 and S340 are executed for each shooting time in the shooting time zone, the process proceeds to step S350.
  • step S350 the result output unit 215 outputs the result data.
  • Step S350 is the same as step S150 (see FIG. 3) in the first embodiment.
  • the learning process by the learning unit 230 will be described with reference to FIG. 22.
  • the learning process generates a learning model 292.
  • step S301 the operation label receiving unit 231 receives a plurality of operation labels to which a plurality of times are added.
  • Step S301 is the same as step S101 (see FIG. 13) in the first embodiment.
  • step S302 the motion image receiving unit 232 receives a plurality of motion image data to which a plurality of times are added.
  • Step S302 is the same as step S102 (see FIG. 13) in the first embodiment.
  • step S303 the motion posture detection unit 233 detects the posture of the operator 112 reflected in the motion image of each motion image data, and generates motion posture data representing the detected posture. As a result, a plurality of motion posture data corresponding to the plurality of motion image data can be obtained.
  • Step S303 is the same as step S103 (see FIG. 13) in the first embodiment.
  • step S304 the motion learning unit 234 learns by using the set of the motion posture data and the motion label as the learning data for each time.
  • the motion learning unit 234 performs machine learning using an existing machine learning model. Specifically, the motion learning unit 234 inputs the learning data at each time into the machine learning model. Then, the machine learning model performs machine learning on the learning data at each time.
  • the motor learning unit 234 may perform learning by another method. As a result, the learning model 292 is generated. If the learning model 292 exists, the learning model 292 is updated.
  • the motion analysis can be performed using the learning model 292. As a result, it is possible to improve the accuracy of motion analysis.
  • the motion analyzer 200 includes a processing circuit 209.
  • the processing circuit 209 is hardware that realizes the specific unit 210, the registration unit 220, and the learning unit 230.
  • the processing circuit 209 may be dedicated hardware or a processor 201 that executes a program stored in the memory 202.
  • the processing circuit 209 is dedicated hardware, the processing circuit 209 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • ASIC is an abbreviation for Application Special Integrated Circuit.
  • FPGA is an abbreviation for Field Programmable Gate Array.
  • the motion analyzer 200 may include a plurality of processing circuits that replace the processing circuit 209.
  • the plurality of processing circuits share the functions of the processing circuit 209.
  • processing circuit 209 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • each function of the motion analyzer 200 can be realized by hardware, software, firmware, or a combination thereof.
  • Each embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention. Each embodiment may be partially implemented or may be implemented in combination with other embodiments. The procedure described using the flowchart or the like may be appropriately changed.
  • the "part” which is an element of the motion analyzer 200 may be read as “processing” or "process”.
  • the motion analysis device 200 may be realized by a plurality of devices.
  • the camera 101 and the camera 102 may be replaced with a depth sensor or other sensor. Three-dimensional image data can be obtained by these sensors.
  • the learning model 292 may be realized by hardware or may be realized by a combination of software and hardware.
  • 100 motion analysis system 101 camera, 102 camera, 111 target person, 112 operator, 121 target image data, 122 target posture data, 123 target trajectory data, 131 motion image data, 132 motion posture data, 133 motion trajectory data, 134 Temporary posture data group, 200 motion analyzer, 201 processor, 202 memory, 203 auxiliary storage device, 204 communication device, 205 input / output interface, 209 processing circuit, 210 specific unit, 211 target image reception unit, 212 target posture detection unit, 213 Target trajectory extraction unit, 214 Motion identification unit, 215 Result output unit, 220 Registration unit, 221 Operation label reception unit, 222 Operation image reception unit, 223 Operation posture detection unit, 224 Motion registration unit, 225 Temporary posture detection unit, 226 Temporary table generation unit, 227 operation posture generation unit, 230 learning unit, 231 operation label reception unit, 232 operation image reception unit, 233 operation posture detection unit, 234 operation learning unit, 290 storage unit, 291 operation database, 292 learning model.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

動作分析装置(200)は、一連の動作を行う対象者(111)を連続して撮影することによって得られる複数の対象画像データを受け付ける。動作分析装置は、各対象画像データの対象画像に映る対象者の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する。動作分析装置は、複数の対象画像データに対応する複数の対象姿勢データから、2つ以上の対象姿勢データを、対象者の姿勢の推移を表す対象軌跡データとして抽出する。動作分析装置は、対象軌跡データに基づいて対象者の動作を識別する動作ラベルを得る。

Description

動作分析システムおよび動作分析プログラム
 本発明は、動作分析のための技術に関するものである。
 産業分野において、サイクルタイムの計測と作業内容の分析といった処理を人手で行うことが主流となっている。
 サイクルタイムは、作業者が製品を組み立てる時間である。
 作業内容の分析は、作業の抜け又は非定常作業の検知のために行われる。非定常作業は定常的には行われない作業である。
 人手による処理は、多くの人的コストがかかる。また、人手による処理では、限定的な範囲についてしか処理の対象とすることができない。
 作業者の動作を分析することが容易になれば、サイクルタイムの計測と作業内容の分析といった処理が容易になるものと考えられる。
 特許文献1には、自動的に行われる動作分析が記載されている。動作分析のために、カメラ及び三次元センサが人の頭部に取り付けられ、そのカメラ及び三次元センサが用いられ、人の動作の特徴量が抽出される。
特開2016-099982号公報
 特許文献1では、自動的な動作分析のために、人の頭部にカメラ及び三次元センサが取り付けられる。
 作業者の動作を分析するために特許文献1の方法が適用される場合、作業に不要な物が作業者の体に取り付けられる。そして、作業者の体に取り付けられた物が作業の妨げとなる可能性がある。
 本発明は、作業を妨げずに作業者の動作を分析できるようにすることを目的とする。
 本発明の動作分析システムは、
 一連の動作を行う対象者を連続して撮影することによって得られる複数の対象画像データを受け付ける対象画像受付部と、
 各対象画像データの対象画像に映る前記対象者の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する対象姿勢検出部と、
 前記複数の対象画像データに対応する複数の対象姿勢データから、対象時刻の対象姿勢データと、前記対象時刻と連続する前時刻と前記対象時刻と連続する後時刻とのうちの少なくとも一方の時刻の対象姿勢データと、を含む2つ以上の対象姿勢データを、前記対象者の姿勢の推移を表す対象軌跡データとして抽出する対象軌跡抽出部と、
 前記対象軌跡データに基づいて前記対象者の動作を識別する動作ラベルを得る動作特定部と、を備える。
 本発明によれば、カメラおよび三次元センサなど作業に不要な物が作業者(対象者の一例)の体に取り付けられなくても、作業者の動作を特定することが可能となる。つまり、作業を妨げずに作業者の動作を分析することが可能となる。
実施の形態1における動作分析システム100の構成図。 実施の形態1における動作分析装置200の構成図。 実施の形態1における動作分析方法のフローチャート。 実施の形態1における対象姿勢検出処理(S120)の説明図。 実施の形態1における対象軌跡抽出処理(S130)のフローチャート。 実施の形態1における対象軌跡抽出処理(S130)の説明図。 実施の形態1における動作データベース291の構成図。 実施の形態1における動作特定処理(S140)のフローチャート。 実施の形態1における比較処理(S144)のフローチャート。 実施の形態1における動的計画法の利用についての説明図。 実施の形態1における動作分析システム100の構成図。 実施の形態1における登録部220の構成図。 実施の形態1における登録処理のフローチャート。 実施の形態1における動作姿勢検出処理(S103)の説明図。 実施の形態2におけう登録部220の構成図。 実施の形態2における登録処理のフローチャート。 実施の形態2における動作姿勢生成処理(S250)のフローチャート。 実施の形態2におけるサンプリングの具体例を示す図。 実施の形態3における動作分析装置200の構成図。 実施の形態3における学習部230の構成図。 実施の形態3における動作分析方法のフローチャート。 実施の形態3における学習処理のフローチャート。 実施の形態における動作分析装置200のハードウェア構成図。
 実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
 実施の形態1.
 人の動作を自動で分析するための動作分析システム100について、図1から図14に基づいて説明する。
***構成の説明***
 図1に基づいて、動作分析システム100の構成を説明する。
 動作分析システム100は、カメラ101と動作分析装置200とを備える。
 カメラ101は、対象者111を撮影する。カメラ101は、対象者111を正面から撮影してもよいし、対象者111を斜めから撮影してもよい。また、カメラ101は、対象者111の全身を撮影してもよいし、対象者111の一部(例えば上半身)を撮影してもよい。
 動作分析装置200は、対象者111の動作を分析する。
 対象者111は、動作分析の対象となる人である。対象者111の具体例は、作業を行う人(作業者)である。
 図2に基づいて、動作分析装置200の構成を説明する。
 動作分析装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201は、CPU、DSPまたはGPUである。
 ICは、Integrated Circuitの略称である。
 CPUは、Central Processing Unitの略称である。
 DSPは、Digital Signal Processorの略称である。
 GPUは、Graphics Processing Unitの略称である。
 メモリ202は揮発性または不揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
 RAMは、Random Access Memoryの略称である。
 補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
 ROMは、Read Only Memoryの略称である。
 HDDは、Hard Disk Driveの略称である。
 通信装置204はレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。
 NICは、Network Interface Cardの略称である。
 入出力インタフェース205は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース205はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
 USBは、Universal Serial Busの略称である。
 動作分析装置200は、特定部210と登録部220といった要素を備える。特定部210は、対象画像受付部211と対象姿勢検出部212と対象軌跡抽出部213と動作特定部214と結果出力部215といった要素を備える。これらの要素はソフトウェアで実現される。
 補助記憶装置203には、特定部210と登録部220としてコンピュータを機能させるための動作分析プログラムが記憶されている。動作分析プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
 補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
 プロセッサ201は、OSを実行しながら、動作分析プログラムを実行する。
 OSは、Operating Systemの略称である。
 動作分析プログラムの入出力データは記憶部290に記憶される。
 メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
 記憶部290には、動作データベース291などが記憶される。
 動作分析装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の機能を分担する。
 動作分析プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
***動作の説明***
 動作分析システム100の動作の手順は動作分析方法に相当する。また、動作分析装置200の動作の手順は動作分析プログラムによる処理の手順に相当する。
 図3に基づいて、動作分析方法を説明する。
 ステップS110において、対象画像受付部211は、複数の対象画像データを受け付ける。
 複数の対象画像データは、一連の動作を行う対象者111を連続して撮影することによって得られる。
 各対象画像データは対象画像を表す。対象画像には、対象者111が映っている。
 例えば、複数の対象画像データは、利用者によって、動作分析装置200に入力される。対象画像受付部211は、入力された複数の対象画像データを受け付ける。
 例えば、複数の対象画像データは、カメラ101から送信され、動作分析装置200によって受信される。対象画像受付部211は、受信された複数の対象画像データを受け付ける。
 ステップS120において、対象姿勢検出部212は、各対象画像データの対象画像に映る対象者111の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する。
 これにより、複数の対象画像データに対応する複数の対象姿勢データが得られる。
 図4に基づいて、対象姿勢検出処理(S120)について説明する。[m-1]と[m]と[m+1]は、連続する3つの撮影時刻を示している。撮影時刻は撮影が行われた時刻である。
 各撮影時刻の対象画像データ121は各撮影時刻の対象画像を表す。各撮影時刻の対象画像には各撮影時刻の対象者111が映っている。
 対象姿勢検出部212は、各撮影時刻の対象画像に対して画像処理を行うことによって、各撮影時刻における対象者111の姿勢を検出する。
 具体的には、対象姿勢検出部212は、対象者111の骨格を検出する。対象者111の骨格によって、対象者111の姿勢が特定される。
 より具体的には、対象姿勢検出部212は、対象者111の各関節の位置を判別する。各関節の位置は、特定の座標系における絶対位置であってもよいし、他の関節に対する相対位置であってもよい。各関節の位置は座標値で識別される。首の関節および肩の関節などの複数の関節によって、骨格が特定される。
 対象姿勢検出部212は、各撮影時刻における対象者111の姿勢を表す対象姿勢データ122を生成する。
 各撮影時刻の対象姿勢データ122において、各黒丸は対象者111の関節の位置を表している。
 図3に戻り、ステップS130以降の説明を続ける。
 ステップS130およびステップS140は、撮影時間帯の各撮影時刻に対して実行される。撮影時間帯は、撮影が行われた時間帯である。
 ステップS130において、対象軌跡抽出部213は、複数の対象画像データに対応する複数の対象姿勢データから、対象軌跡データを抽出する。
 対象軌跡データは、2つ以上の対象姿勢データで構成され、対象者111の姿勢の推移を表す。対象軌跡データにおいて、2つ以上の対象姿勢データは時系列に並べられる。但し、対象軌跡データは、2つ以上の対象姿勢データを近似して表す多項式関数であってもよい。
 対象軌跡データについて補足する。軌跡データは連続する時刻のデータである。対象軌跡データは連続する時刻の対象姿勢データである。連続する時刻は、対象時刻および対象時刻と連続する時刻である。対象時刻が[t]である場合、連続する時刻は[t-1]と[t]と[t+1]である。
 図5に基づいて、対象軌跡抽出処理(S130)について説明する。
 ステップS131において、対象軌跡抽出部213は、撮影時間帯から、未選択の撮影時刻を1つ選択する。
 撮影時間帯は、撮影が行われた時間帯である。
 選択される撮影時刻を「対象時刻」と称する。
 ステップS132において、対象軌跡抽出部213は、対象時刻に対する撮影時刻群を決定する。
 撮影時刻群は、連続する2つ以上の撮影時刻で構成され、対象時刻を含む。撮影時刻群に含まれる撮影時刻の数は予め決められる。
 対象時刻を「m」と記す。例えば、対象軌跡抽出部213は、撮影時刻(m-1)と撮影時刻(m)と撮影時刻(m+1)とで構成される撮影時刻群を、対象時刻に対する撮影時刻群に決定する。
 決定される撮影時刻群を「対象時刻群」と称する。
 ステップS133において、対象軌跡抽出部213は、複数の対象姿勢データから、対象時刻に対応する対象軌跡データを抽出する。
 例えば、対象時刻群が時刻(m-1)と時刻(m)と時刻(m+1)とで構成される場合、対象軌跡抽出部213は、時刻(m-1)の対象姿勢データと、時刻(m)の対象姿勢データと、時刻(m+1)の対象姿勢データと、を抽出する。抽出される3つの対象姿勢データが、対象時刻に対応する対象軌跡データを構成する。
 図6に基づいて、対象軌跡抽出処理(S130)について説明する。[m-1]と[m]と[m+1]は、連続する3つの撮影時刻を示している。
 対象時刻群が[m-1]と[m]と[m+1]とで構成されると仮定する。
 対象軌跡抽出部213は、[m-1]の対象姿勢データ122と[m]の対象姿勢データ122と[m+1]の対象姿勢データ122とを抽出する。
 抽出される3つの対象姿勢データ122が、[m]の対象軌跡データ123を構成する。
 図3に戻り、ステップS140から説明を続ける。
 ステップS140において、動作特定部214は、対象軌跡データに基づいて、対象者111の動作を識別する動作ラベルを得る。
 具体的には、動作特定部214は、動作データベース291から、対象軌跡データに合致する動作軌跡データの動作ラベルを抽出する。
 動作データベース291は、動作ラベルと動作軌跡データとの組が1つ以上登録されたデータベースである。
 動作ラベルは、動作を識別する。
 動作軌跡データは、動作ラベルで識別される動作を行う人の姿勢の推移を表す。
 図7に基づいて、動作データベース291の構成を説明する。[t-1]と[t]と[t+1]は、連続する3つの撮影時刻を示している。
 動作データベース291には、複数の時刻と複数の動作姿勢データと複数の動作ラベルが互いに対応付けられる。
 動作軌跡データ133は、2つ以上の動作姿勢データ132で構成される。具体的には、動作軌跡データ133は、連続する2つ以上の時刻に対応付けられた2つ以上の動作姿勢データ132で構成される。
 動作姿勢データ132は、動作を行う人の姿勢を表す。
 [t]の動作軌跡データ133は、[t-1]の動作姿勢データ132と[t]の動作姿勢データ132と[t+1]の動作姿勢データ132で構成される。なお、動作軌跡データ133は[t]を中心にして前後に連続する時刻のデータを含む。
 「t」の動作軌跡データ133は、時刻tの動作ラベル「作業A」によって識別される動作を行う人の姿勢の推移を表す。
 図8に基づいて、動作特定処理(S140)について説明する。
 ステップS141において、動作特定部214は、動作データベース291の「時刻」から、未選択の時刻を1つ選択する。具体的には、動作特定部214は、昇順に時刻を選択する。
 選択される時刻を「比較時刻」と称する。
 ステップS142において、動作特定部214は、比較時刻に対する比較時刻群を決定する。
 比較時刻群は、連続する2つ以上の時刻で構成され、比較時刻を含む。比較時刻群に含まれる時刻の数は、予め決められる。
 比較時刻を「t」と記す。例えば、動作特定部214は、時刻(t-1)と時刻(t)と時刻(t+1)とから成る時刻群を、比較時刻に対する比較時刻群に決定する。
 ステップS143において、動作特定部214は、動作データベース291から、比較時刻に対応する動作軌跡データを抽出する。
 例えば、比較時刻群が時刻(t-1)と時刻(t)と時刻(t+1)とで構成される場合、動作特定部214は、時刻(t-1)の動作姿勢データと、時刻(t)の動作姿勢データと、時刻(t+1)の動作姿勢データと、を抽出する。抽出される3つの動作姿勢データが、比較時刻に対応する動作軌跡データを構成する。
 ステップS144において、動作特定部214は、動作軌跡データを対象軌跡データと比較する。対象軌跡データはステップS130(図3参照)で抽出されている。
 具体的には、動作特定部214は、対象軌跡データに対する動作軌跡データの距離を算出する。
 対象軌跡データに対する動作軌跡データの距離は、対象軌跡データによって表される姿勢の推移と動作軌跡データによって表される姿勢の推移との差の大きさに相当する。
 図9に基づいて、比較処理(S144)について説明する。
 対象軌跡データに含まれる対象姿勢データをI(m)またはI(m+k)と記す。
 動作軌跡データに含まれる動作姿勢データをR(t)またはR(t+k)と記す。
 「k」は-i以上+i以下の整数である。「i」は1以上の整数である。対象軌跡データに含まれる対象姿勢データの数が「3」である場合、「i」は「1」である。
 ステップS1441において、動作特定部214は、対象姿勢データI(m)に対する対象姿勢データI(m+k)の距離を算出する。算出される距離をI’(m+k)と記す。
 距離I’(m+k)は、対象姿勢データI(m)によって表される姿勢と対象姿勢データI(m+k)によって表される姿勢との差の大きさに相当する。
 距離I’(m+k)は、式(1)で表すことができる。
 I’(m+k) = I(m+k)-I(m)   (1)
 具体的には、動作特定部214は、距離I’(m+k)を以下のように算出する。
 対象姿勢データは、複数の関節のそれぞれの位置を示す。
 動作特定部214は、関節毎に、対象姿勢データI(m)における関節の位置と対象姿勢データI(m+k)における関節の位置との距離を算出する。動作特定部214は、各関節に対して重み付けを行い、各関節の重みに応じて各関節の距離を算出してもよい。その場合、重要な関節の距離は大きな値となる。
 または、動作特定部214は、関節組毎に、対象姿勢データI(m)における関節間の距離と対象姿勢データI(m+k)における関節間の距離との差を、関節組に対する距離として算出する。動作特定部214は、各関節組に対して重み付けを行い、各関節組の重みに応じて各関節組に対する距離を算出してもよい。その場合、重要な関節組に対する距離は大きな値となる。
 動作特定部214は、算出した距離の合計を算出する。算出される合計が距離I’(m+k)となる。
 ステップS1442において、動作特定部214は、動作姿勢データR(t)に対する動作姿勢データR(t+k)の距離を算出する。算出される距離をR’(t+k)と記す。
 距離R’(t+k)は、動作姿勢データR(t)によって表される姿勢と動作姿勢データR(t+k)によって表される姿勢との差の大きさに相当する。
 距離R’(t+k)は、式(2)で表すことができる。
 R’(t+k) = R(t+k)-R(t)   (2)
 具体的には、動作特定部214は、距離R’(t+k)を以下のように算出する。
 動作姿勢データは、複数の関節のそれぞれの位置を示す。
 動作特定部214は、関節毎に、動作姿勢データR(t)における関節の位置と動作姿勢データR(t+k)における関節の位置との距離を算出する。動作特定部214は、各関節に対して重み付けを行い、各関節の重みに応じて各関節の距離を算出してもよい。その場合、重要な関節の距離は大きな値となる。
 または、動作特定部214は、関節組毎に、動作姿勢データR(m)における関節間の距離と動作姿勢データI(m+k)における関節間の距離との差を、関節組に対する距離として算出する。動作特定部214は、各関節組に対して重み付けを行い、各関節組の重みに応じて各関節組に対する距離を算出してもよい。その場合、重要な関節組に対する距離は大きな値となる。
 動作特定部214は、算出した距離の合計を算出する。算出される合計が距離R’(t+k)となる。
 ステップS1443において、動作特定部214は、距離I’(m+k)と距離R’(t+k)との差の合計を算出する。
 算出される合計が、対象軌跡データに対する動作軌跡データの距離となる。
 対象軌跡データに対する動作軌跡データの距離は、式(3)で表すことができる。
Figure JPOXMLDOC01-appb-M000001
 対象軌跡データに対する動作軌跡データの距離は、動的計画法または隠れマルコフモデルなどの手法によって算出されてもよい。これらの手法は、時系列を動的に伸縮させて最小距離を算出する。
 これらの手法では、例えば、I’(m+k)-R’(t+k)で求まる距離よりもI’(m+k)-R’(m+(k+a))で求まる距離が小さい場合、「k」と「k+a」の距離が加算される。
 図10に基づいて、動的計画法の利用について説明する。
 表の中の数字は、|I’(m+a)-R’(t+b)|の値を示している。但し、-2≦aであり、b≦2である。実線矢印はパス(I’とR’の対応)を示している。
 動的計画法では「a」「b」を変化させて各グリッドの距離が算出される。そして、距離の総和が小さくなるパス(実線矢印を参照)が選択される。
 図8に戻り、ステップS145から説明を続ける。
 ステップS145において、動作特定部214は、未選択の比較時刻があるか判定する。
 未選択の比較時刻がある場合、処理はステップS141に進む。
 未選択の比較時刻がない場合、処理はステップS146に進む。
 ステップS146において、動作特定部214は、各動作軌跡データと対象軌跡データの比較結果に基づいて、対象軌跡データに合致する動作軌跡データを選択する。
 具体的には、動作特定部214は、対象軌跡データに対する各動作軌跡データの距離に基づいて、対象軌跡データに合致する動作軌跡データを選択する。
 対象軌跡データに合致する動作軌跡データは、以下のように決定される。
 動作特定部214は、ステップS144で算出された距離のうちの最小の距離を選択する。そして、動作特定部214は、選択した距離に対応する動作軌跡データを選択する。選択される動作軌跡データが、対象軌跡データに合致する動作軌跡データである。
 但し、選択される距離(最小の距離)が閾値より大きい場合、動作特定部214は、対象軌跡データに合致する動作軌跡データがない、と判断してもよい。
 ステップS147において、動作特定部214は、動作データベース291から、対象軌跡データに合致する動作軌跡データの動作ラベルを抽出する。
 具体的には、動作特定部214は、ステップS146で選択された動作軌跡データに対応する比較時刻を選択し、選択した比較時刻に対応付けられた動作ラベルを抽出する。抽出される動作ラベルが、対象軌跡データに合致する動作軌跡データの動作ラベルである。
 例えば、ステップS146で[t]の動作軌跡データ133(図7参照)が選択されたと仮定する。この場合、動作特定部214は、動作データベース291から、[t]に対応付けられた動作ラベル「作業A」を抽出する。
 但し、対象軌跡データに合致する動作軌跡データがないと判断された場合(ステップS146を参照)、動作ラベルは抽出されない。動作ラベルが抽出されない場合、動作特定部214は、通常行われない作業(非定常作業)を示すラベルを付与する。
 図3に戻り、ステップS130およびステップS140の後の処理について説明する。
 ステップS130およびステップS140が撮影時間帯の各撮影時刻に対して実行されることにより、各撮影時刻に対して動作ラベルが得られる。
 ステップS130およびステップS140が撮影時間帯の各撮影時刻に対して実行された後、処理はステップS150に進む。
 ステップS150において、結果出力部215は結果データを出力する。
 例えば、結果出力部215は、結果データをディスプレイに表示する。
 結果データは、各撮影時刻の動作ラベルを含む。
***前処理の補足***
 動作データベース291を生成する方法について説明する。
 図11に、動作データベース291が生成される際の動作分析システム100の構成を示す。
 動作分析システム100は、カメラ102と動作分析装置200とを備える。
 カメラ102は、動作者112を撮影する。カメラ102は、カメラ101(図1参照)と同じであってもよいし、カメラ101とは別のカメラであってもよい。
 動作者112は、動作データベース291への登録の対象となる動作(対象動作)を行う人である。動作者112は、対象者111(図1参照)と同じ人であってもよいし、対象者111とは別の人であってもよい。
 動作者112が作業者である場合、動作者112は、通常行われる作業(定常作業)を一連の動作として行う。但し、動作者112は、通常行われない作業(非定常作業)を含めて一連の動作を行ってもよい。
 図12に、動作分析装置200に備わる登録部220の構成を示す。
 登録部220は、動作ラベル受付部221と動作画像受付部222と動作姿勢検出部223と動作登録部224といった要素を備える。
 図13に基づいて、登録部220による登録処理を説明する。
 登録処理によって、動作データベース291(図7参照)が生成される。
 ステップS101において、動作ラベル受付部221は、複数の時刻が付加された複数の動作ラベルを受け付ける。
 例えば、動作ラベル受付部221は、動作ラベルリストを受け付ける。動作ラベルリストは、時刻と動作ラベルとの組を複数示す。
 例えば、動作ラベルリストは、利用者によって、動作分析装置200に入力される。動作ラベル受付部221は、入力された動作ラベルリストを受け付ける。
 なお、定常作業に含まれない動作に対しては、非定常を示すラベルが付与される。
 ステップS102において、動作画像受付部222は、複数の時刻が付加された複数の動作画像データを受け付ける。複数の動作画像データに付加された複数の時刻は、複数の動作ラベルに付加された複数の時刻と一致する。
 複数の動作画像データは、一連の動作を行う動作者112を連続して撮影することによって得られる。
 各動作画像データは動作画像を表す。動作画像には、動作者112が映っている。
 例えば、動作画像受付部222は、動作画像ファイルを受け付ける。動作画像ファイルは、時刻と動作画像データとの組を複数含む。
 例えば、動作画像ファイルは、利用者によって、動作分析装置200に入力される。動作画像受付部222は、入力された動作画像ファイルを受け付ける。
 ステップS103において、動作姿勢検出部223は、各動作画像データの動作画像に映る動作者112の姿勢を検出し、検出した姿勢を表す動作姿勢データを生成する。
 これにより、複数の動作画像データに対応する複数の動作姿勢データが得られる。
 図14に基づいて、動作姿勢検出処理(S103)について説明する。[t-1]と[t]と[t+1]は、連続する3つの時刻を示している。
 各時刻の動作画像データ131は各時刻の動作画像を表す。各時刻の動作画像には各時刻の動作者112が映っている。
 動作姿勢検出部223は、各時刻の動作画像に対して画像処理を行うことによって、各時刻における動作者112の姿勢を検出する。
 具体的には、動作姿勢検出部223は、動作者112の骨格を検出する。動作者112の骨格によって、動作者112の姿勢が特定される。
 より具体的には、動作姿勢検出部223は、動作者112の各関節の位置を判別する。各関節の位置は、座標値、または、他の関節に対する相対位置で示すことができる。首の関節および肩の関節などの複数の関節によって、骨格が特定される。
 動作姿勢検出部223は、各時刻における動作者112の姿勢を表す動作姿勢データ132を生成する。
 各時刻の動作姿勢データ132において、各黒丸は動作者112の関節の位置を表している。
 図13に戻り、ステップS104を説明する。
 ステップS104において、動作登録部224は、複数の時刻と複数の動作姿勢データと複数の動作ラベルとを互いに対応付けて動作データベース291に登録する。
***実施例の説明***
 動作特定部214は、定常作業が行われた時間帯および非定常作業が行われた時間帯を特定してもよい。
 具体的には、動作特定部214は、非定常を示すラベルが付与された時刻間の時間帯を計測する。計測される時間帯が、非定常作業が行われた時間帯である。その後、動作特定部214は、非定常作業が行われた時間帯以外の時間帯を判別する。判別される時間帯が、定常作業が行われた時間帯である。
***実施の形態1の効果***
 実施の形態1により、カメラおよび三次元センサなど作業に不要な物が作業者(対象者の一例)の体に取り付けられなくても、作業者の動作を特定することが可能となる。つまり、作業を妨げずに作業者の動作を分析することが可能となる。
 さらに、対象者111によって各動作が行われた時間帯を特定することが可能となる。つまり、定常作業が行われた時間帯および非定常作業が行われた時間帯を特定することが可能となる。
 また、対象軌跡データと動作軌跡データという軌跡データ(連続時刻データ)同士が比較されることにより、次のような効果が得られる。作業は複数の動作を含むことがある。そのため、単一時刻の動作を比較するのではなく連続した動作である軌跡データ同士を比較することにより、より適切な作業の判定が可能となる。
 実施の形態2.
 動作分析の精度を高めるための形態について、主に実施の形態1と異なる点を図15から図18に基づいて説明する。
***構成の説明***
 動作分析システム100の構成は、実施の形態1における構成(図1および図11を参照)と同じである。
 但し、図11において、動作者112は一連の動作を複数回行い、カメラ102は動作者112による複数回の一連の動作を撮影する。
 動作分析装置200の構成は、実施の形態1における構成(図2参照)と同じである。
 但し、登録部220の構成の一部が、実施の形態1における構成(図12参照)と異なる。
 図15に基づいて、登録部220の構成を説明する。
 登録部220は、動作ラベル受付部221と動作画像受付部222と仮姿勢検出部225と仮テーブル生成部226と動作姿勢生成部227と動作登録部224といった要素を備える。
***動作の説明***
 図16に基づいて、登録部220による登録処理を説明する。
 登録処理によって、動作データベース291(図7参照)が生成される。
 ステップS210からステップS240は、複数回の一連の動作のそれぞれに対して実行される。つまり、一連の動作が3回行われた場合、ステップS210からステップS240は3回実行される。
 ステップS210において、動作ラベル受付部221は、動作ラベル群を受け付ける。
 動作ラベル群は、複数の時刻が付加された複数の動作ラベルである。
 ステップS210は、実施の形態1におけるステップS101(図13参照)に相当する。
 ステップS220において、動作画像受付部222は、動作画像データ群を受け付ける。
 動作画像データ群は、一連の動作を行う動作者を撮影することによって得られて複数の時刻が付加された複数の動作画像データである。
 ステップS220は、実施の形態1におけるステップS202(図13参照)に相当する。
 ステップS230において、仮姿勢検出部225は、動作画像データ群の中の各動作画像データの動作画像に映る動作者112の姿勢を検出し、検出した姿勢を表す仮姿勢データを生成する。
 これにより、動作画像データ群に対応する仮姿勢データ群が得られる。仮姿勢データ群は、複数の動作画像データに対応する複数の仮姿勢データである。
 仮姿勢データを生成する方法は、実施の形態1において動作姿勢データを生成する方法と同じである(図13のステップS103を参照)。
 ステップS240において、仮テーブル生成部226は、仮テーブルを生成する。
 仮テーブルは、時刻群と仮姿勢データ群と動作ラベル群とが互いに対応付けられたテーブルである。
 時刻群は、複数の動作ラベルと複数の動作画像とに付加された複数の時刻である。
 ステップS210からステップS240が複数回の一連の動作のそれぞれに対して実行されることにより、複数の仮テーブルが生成される。
 ステップS210からステップS240が複数回の一連の動作のそれぞれに対して実行された後、処理はステップS250に進む。
 ステップS250において、動作姿勢生成部227は、一連の動作に含まれる動作毎に、2つ以上の時刻に対応する2つ以上の動作姿勢データを生成する。
 2つ以上の時刻に対応する2つ以上の動作姿勢データは以下のように生成される。
 動作姿勢生成部227は、同じ動作を識別する2つ以上の動作ラベルに対応付けられた2つ以上の仮姿勢データである仮軌跡データを、複数の仮テーブルのそれぞれから抽出する。
 動作姿勢生成部227は、複数の仮テーブルから抽出した複数の仮軌跡データに基づいて、2つ以上の時刻に対応する2つ以上の動作姿勢データを生成する。
 図17に基づいて、動作姿勢生成処理(S250)について説明する。
 ステップS251からステップS253は、一連の動作に含まれる各動作に対して実行される。
 ステップS251において、動作姿勢生成部227は、複数の仮テーブルのそれぞれから仮軌跡データを抽出する。これにより、複数の仮軌跡データが抽出される。
 ステップS252において、動作姿勢生成部227は、動作軌跡データを構成する動作姿勢データの数を決定する。決定される数を「構成データ数」と称する。
 例えば、構成データ数は、複数の仮軌跡データにおける仮姿勢データの数の平均である。1回目の仮軌跡データを構成する仮姿勢データの数が「3」であり、2回目の仮軌跡データを構成する仮姿勢データの数が「4」であり、3回目の仮軌跡データを構成する仮姿勢データの数が「5」であると仮定する。この場合、構成データ数は「4」である。
 ステップS253において、動作姿勢生成部227は、各仮軌跡データに対してサンプリングを行う。
 これにより、各仮軌跡データを構成する仮姿勢データの数が、構成データ数と同じ数になる。
 図18に、サンプリングの具体例を示す。
 「A」は、サンプリング前のn回目の仮軌跡データに含まれる仮姿勢データを表す。
 「A’」は、サンプリング後のn回目の仮軌跡データに含まれる仮姿勢データを表す。
 「*」は乗法を意味し、「+」は加法を意味する。
 各仮姿勢データは、複数の関節のそれぞれの位置を示す。乗法および加法は、関節毎に関節の位置を識別する座標値に対して行われる。
 構成データ数が「4」であると仮定する。
 サンプリング前において、1回目の仮軌跡データは3つの仮姿勢データA(1~3)で構成されている。また、2回目の仮軌跡データは4つの仮姿勢データA(1~4)で構成されている。また、3回目の仮軌跡データは5つの仮姿勢データA(1~5)で構成されている。
 1回目の仮軌跡データに対するサンプリングによって、3つの仮姿勢データA(1~3)に基づく4つの仮姿勢データA’(1~4)が生成される。
 2回目の仮軌跡データに対するサンプリングによって、4つの仮姿勢データA(1~4)に基づく4つの仮姿勢データA’(1~4)が生成される。
 3回目の仮軌跡データに対するサンプリングによって、5つの仮姿勢データA(1~5)に基づく4つの仮姿勢データA’(1~4)が生成される。
 サンプリング後において、1回目の仮軌跡データは4つの仮姿勢データA’(1~4)で構成されている。また、2回目の仮軌跡データは4つの仮姿勢データA’(1~4)で構成されている。また、3回目の仮軌跡データは4つの仮姿勢データA’(1~4)で構成されている。
 図17に戻り、ステップS254を説明する。
 ステップS254において、動作姿勢生成部227は、構成データ数と同じ数の動作姿勢データを生成する。
 動作姿勢生成部227は、各時刻の動作姿勢データを以下のように生成する。
 動作姿勢生成部227は、同じ時刻に対応付けられた複数の仮姿勢データの和を算出する。複数の仮姿勢データの和は、関節毎に関節の位置を識別する座標値に対して行われる。
 動作姿勢生成部227は、複数の仮姿勢データの和を仮姿勢データの数で割る。これにより、同じ時刻に対応付けられた複数の仮姿勢データの平均が算出される。複数の仮姿勢データの平均が動作姿勢データとなる。
 但し、動作姿勢生成部227は、複数の仮姿勢データの平均とともに、複数の仮姿勢データの分散を算出してもよい。
 図16に戻り、ステップS260を説明する。
 ステップS260において、動作登録部224は、一連の動作に含まれる動作毎に、2つ以上の時刻と、2つ以上の動作姿勢データと、同じ動作を識別する2つ以上の動作ラベルと、を互いに対応付けて動作データベース291に登録する。
***実施の形態2の効果***
 実施の形態2により、複数回行われる一連の動作に基づいて動作データベース291を生成することができる。その結果、動作分析の精度を高めることが可能となる。
 実施の形態3.
 学習モデルを利用して動作分析を行う形態について、主に実施の形態1および実施の形態2と異なる点を図19から図22に基づいて説明する。
***構成の説明***
 動作分析システム100の構成は、実施の形態1における構成(図1および図11を参照)と同じである。
 図19に基づいて、動作分析装置200の構成を説明する。
 動作分析装置200は、特定部210と学習部230といった要素を備える。これらの要素はソフトウェアで実現される。
 動作分析プログラムは、特定部210と学習部230としてコンピュータを機能させる。
 学習部230は、学習モデル292を生成する。
 記憶部290は、学習モデル292を記憶する。
 学習モデル292は、動作軌跡データの入力に対して動作ラベルを出力する。
 図20に基づいて、学習部230の構成を説明する。
 学習部230は、動作ラベル受付部231と動作画像受付部232と動作姿勢検出部233と動作学習部234といった要素を備える。
***動作の説明***
 図21に基づいて、動作分析方法を説明する。
 ステップS310において、対象画像受付部211は、複数の対象画像データを受け付ける。
 ステップS310は、実施の形態1におけるステップS110(図3参照)と同じである。
 ステップS320において、対象姿勢検出部212は、各対象画像データの対象画像に映る対象者111の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する。
 これにより、複数の対象画像データに対応する複数の対象姿勢データが得られる。
 ステップS320は、実施の形態1におけるステップS120(図3参照)と同じである。
 ステップS330において、対象軌跡抽出部213は、複数の対象画像データに対応する複数の対象姿勢データから、対象軌跡データを抽出する。
 ステップS330は、実施の形態1におけるステップS130(図3参照)と同じである。
 ステップS340において、動作特定部214は、対象軌跡データに基づいて、対象者111の動作を識別する動作ラベルを得る。
 動作ラベルは以下のようにして得られる。
 動作特定部214は、対象軌跡データを学習モデルに入力する。
 学習モデルは、入力された対象軌跡データに合致する学習軌跡データの動作ラベルを出力する。
 動作特定部214は、学習モデルから動作ラベルを得る。
 ステップS330およびステップS340は、撮影時間帯の各撮影時刻に対して実行される。これにより、各撮影時刻に対して動作ラベルが得られる。
 ステップS330およびステップS340が撮影時間帯の各撮影時刻に対して実行された後、処理はステップS350に進む。
 ステップS350において、結果出力部215は結果データを出力する。
 ステップS350は、実施の形態1におけるステップS150(図3参照)と同じである。
***前処理の説明***
 図22に基づいて、学習部230による学習処理を説明する。
 学習処理によって、学習モデル292が生成される。
 ステップS301において、動作ラベル受付部231は、複数の時刻が付加された複数の動作ラベルを受け付ける。
 ステップS301は、実施の形態1におけるステップS101(図13参照)と同じである。
 ステップS302において、動作画像受付部232は、複数の時刻が付加された複数の動作画像データを受け付ける。
 ステップS302は、実施の形態1におけるステップS102(図13参照)と同じである。
 ステップS303において、動作姿勢検出部233は、各動作画像データの動作画像に映る動作者112の姿勢を検出し、検出した姿勢を表す動作姿勢データを生成する。
 これにより、複数の動作画像データに対応する複数の動作姿勢データが得られる。
 ステップS303は、実施の形態1におけるステップS103(図13参照)と同じである。
 ステップS304において、動作学習部234は、各時刻に対して動作姿勢データと動作ラベルとの組を学習データにして学習を行う。
 例えば、動作学習部234は、既存の機械学習モデルを利用して機械学習を行う。具体的には、動作学習部234は、各時刻の学習データを機械学習モデルに入力する。そして、機械学習モデルが、各時刻の学習データに対する機械学習を行う。但し、動作学習部234は、他の方法による学習を行ってもよい。
 これにより、学習モデル292が生成される。なお、学習モデル292が存在する場合、学習モデル292が更新される。
***実施の形態3の効果***
 実施の形態3により、学習モデル292を利用して動作分析を行うことができる。その結果、動作分析の精度を高めることが可能となる。
***実施の形態の補足***
 図23に基づいて、動作分析装置200のハードウェア構成を説明する。
 動作分析装置200は処理回路209を備える。
 処理回路209は、特定部210と登録部220と学習部230とを実現するハードウェアである。
 処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
 処理回路209が専用のハードウェアである場合、処理回路209は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 ASICは、Application Specific Integrated Circuitの略称である。
 FPGAは、Field Programmable Gate Arrayの略称である。
 動作分析装置200は、処理回路209を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路209の機能を分担する。
 処理回路209において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、動作分析装置200の各機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 各実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
 動作分析装置200の要素である「部」は、「処理」または「工程」と読み替えてもよい。
 動作分析装置200は、複数の装置で実現されてもよい。
 カメラ101およびカメラ102は、深度センサまたは他のセンサに置き換えてもよい。それらのセンサによって、3次元画像データが得られる。
 学習モデル292は、ハードウェアで実現されてもよいし、ソフトウェアとハードウェアとの組み合わせで実現されてもよい。
 100 動作分析システム、101 カメラ、102 カメラ、111 対象者、112 動作者、121 対象画像データ、122 対象姿勢データ、123 対象軌跡データ、131 動作画像データ、132 動作姿勢データ、133 動作軌跡データ、134 仮姿勢データ群、200 動作分析装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 通信装置、205 入出力インタフェース、209 処理回路、210 特定部、211 対象画像受付部、212 対象姿勢検出部、213 対象軌跡抽出部、214 動作特定部、215 結果出力部、220 登録部、221 動作ラベル受付部、222 動作画像受付部、223 動作姿勢検出部、224 動作登録部、225 仮姿勢検出部、226 仮テーブル生成部、227 動作姿勢生成部、230 学習部、231 動作ラベル受付部、232 動作画像受付部、233 動作姿勢検出部、234 動作学習部、290 記憶部、291 動作データベース、292 学習モデル。

Claims (9)

  1.  一連の動作を行う対象者を連続して撮影することによって得られる複数の対象画像データを受け付ける対象画像受付部と、
     各対象画像データの対象画像に映る前記対象者の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する対象姿勢検出部と、
     前記複数の対象画像データに対応する複数の対象姿勢データから、対象時刻の対象姿勢データと、前記対象時刻と連続する前時刻と前記対象時刻と連続する後時刻とのうちの少なくとも一方の時刻の対象姿勢データと、を含む2つ以上の対象姿勢データを、前記対象者の姿勢の推移を表す対象軌跡データとして抽出する対象軌跡抽出部と、
     前記対象軌跡データに基づいて前記対象者の動作を識別する動作ラベルを得る動作特定部と、
    を備える動作分析システム。
  2.  前記動作特定部は、動作を識別する動作ラベルと前記動作ラベルで識別される動作を行う人の姿勢の推移を表す動作軌跡データとの組が複数登録された動作データベースから、前記対象軌跡データに合致する動作軌跡データの動作ラベルを抽出する
    請求項1に記載の動作分析システム。
  3.  前記動作データベースには、複数の時刻と複数の動作姿勢データと複数の動作ラベルが互いに対応付けられ、
     各動作軌跡データは、2つ以上の動作姿勢データで構成され、
     前記対象軌跡抽出部は、前記対象時刻を含む対象時刻群を決定し、前記対象時刻群を構成する2つ以上の撮影時刻に対応する2つ以上の対象姿勢データを前記対象軌跡データとして抽出し、
     前記動作特定部は、比較時刻毎に比較時刻を含む比較時刻群を決定し、決定された比較時刻群を構成する2つ以上の比較時刻に対応付けられた2つ以上の動作姿勢データを前記動作データベースから抽出し、抽出された2つ以上の動作姿勢データで構成される動作軌跡データを前記対象軌跡データと比較し、各動作軌跡データと前記対象軌跡データの比較結果に基づいて前記対象軌跡データに合致する前記動作軌跡データを選択し、選択された動作軌跡データに対応する比較時刻に対応付けられた動作ラベルを前記対象軌跡データに合致する動作ラベルとして抽出する
    請求項2に記載の動作分析システム。
  4.  前記複数の時刻が付加された前記複数の動作ラベルを受け付ける動作ラベル受付部と、
     一連の動作を行う動作者を連続して撮影することによって得られて前記複数の時刻が付加された複数の動作画像データを受け付ける動作画像受付部と、
     各動作画像データの動作画像に映る前記動作者の姿勢を検出し、検出した姿勢を表す動作姿勢データを生成する動作姿勢検出部と、
     前記複数の時刻と前記複数の動作画像データに対応する前記複数の動作姿勢データと前記複数の動作ラベルとを互いに対応付けて前記動作データベースに登録する動作登録部と、
    を備える請求項3に記載の動作分析システム。
  5.  複数の時刻が付加された複数の動作ラベルである動作ラベル群を複数受け付ける動作ラベル受付部と、
     一連の動作を行う動作者を撮影することによって得られて複数の時刻が付加された複数の動作画像データである動作画像データ群を複数受け付ける動作画像受付部と、
     受け付けられた動作画像データ群毎に、動作画像データ群の中の各動作画像データの動作画像に映る前記動作者の姿勢を検出し、検出した姿勢を表す仮姿勢データを生成する仮姿勢検出部と、
     時刻群と動作画像データ群に対応する仮姿勢データ群と動作ラベル群が互いに対応付けられた仮テーブルを複数生成する仮テーブル生成部と、
     前記一連の動作に含まれる動作毎に、同じ動作を識別する2つ以上の動作ラベルに対応付けられた2つ以上の仮姿勢データである仮軌跡データを複数の仮テーブルのそれぞれから抽出し、前記複数の仮テーブルから抽出した複数の仮軌跡データに基づいて2つ以上の時刻に対応する2つ以上の動作姿勢データを生成する動作姿勢生成部と、
     前記一連の動作に含まれる動作毎に、2つ以上の時刻と、2つ以上の動作姿勢データと、同じ動作を識別する2つ以上の動作ラベルと、を互いに対応付けて動作データベース291に登録する動作登録部と、
    を備える請求項3に記載の動作分析システム。
  6.  前記動作特定部は、人の姿勢の推移を表す動作軌跡データの入力に対して動作を識別する動作ラベルを出力する学習モデルに前記対象軌跡データを入力し、前記学習モデルから動作ラベルを得る
    請求項1に記載の動作分析システム。
  7.  複数の時刻が付加された複数の動作ラベルを受け付ける動作ラベル受付部と、
     一連の動作を行う動作者を連続して撮影することによって得られて前記複数の時刻が付加された複数の動作画像データを受け付ける動作画像受付部と、
     各動作画像データの動作画像に映る前記動作者の姿勢を検出し、検出した姿勢を表す動作姿勢データを生成する動作姿勢検出部と、
     各時刻に対して動作姿勢データと動作ラベルとの組を学習データにして学習を行うことによって、前記学習モデルを生成する動作学習部と、
    を備える請求項6に記載の動作分析システム。
  8.  各対象姿勢データは、前記対象者の複数の関節のそれぞれの位置を示す
    請求項1から請求項7のいずれか1項に記載の動作分析システム。
  9.  一連の動作を行う対象者を連続して撮影することによって得られる複数の対象画像データを受け付ける対象画像受付処理と、
     各対象画像データの対象画像に映る前記対象者の姿勢を検出し、検出した姿勢を表す対象姿勢データを生成する対象姿勢検出処理と、
     前記複数の対象画像データに対応する複数の対象姿勢データから、対象時刻の対象姿勢データと、前記対象時刻と連続する前時刻と前記対象時刻と連続する後時刻とのうちの少なくとも一方の時刻の対象姿勢データと、を含む2つ以上の対象姿勢データを、前記対象者の姿勢の推移を表す対象軌跡データとして抽出する対象軌跡抽出処理と、
     前記対象軌跡データに基づいて前記対象者の動作を識別する動作ラベルを得る動作特定処理と、
    をコンピュータに実行させるための動作分析プログラム。
PCT/JP2019/051207 2019-12-26 2019-12-26 動作分析システムおよび動作分析プログラム WO2021130978A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201980103084.2A CN114846513A (zh) 2019-12-26 2019-12-26 动作分析系统和动作分析程序
PCT/JP2019/051207 WO2021130978A1 (ja) 2019-12-26 2019-12-26 動作分析システムおよび動作分析プログラム
JP2020528365A JP6786015B1 (ja) 2019-12-26 2019-12-26 動作分析システムおよび動作分析プログラム
DE112019007857.7T DE112019007857T5 (de) 2019-12-26 2019-12-26 Bewegungsanalysesystem und bewegungsanalyseprogramm
TW109115675A TW202125331A (zh) 2019-12-26 2020-05-12 動作分析系統以及動作分析程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/051207 WO2021130978A1 (ja) 2019-12-26 2019-12-26 動作分析システムおよび動作分析プログラム

Publications (1)

Publication Number Publication Date
WO2021130978A1 true WO2021130978A1 (ja) 2021-07-01

Family

ID=73219985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/051207 WO2021130978A1 (ja) 2019-12-26 2019-12-26 動作分析システムおよび動作分析プログラム

Country Status (5)

Country Link
JP (1) JP6786015B1 (ja)
CN (1) CN114846513A (ja)
DE (1) DE112019007857T5 (ja)
TW (1) TW202125331A (ja)
WO (1) WO2021130978A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023095329A1 (ja) * 2021-11-29 2023-06-01 日本電気株式会社 動作評価システム、動作評価方法、及び非一時的なコンピュータ可読媒体
WO2023218557A1 (ja) * 2022-05-11 2023-11-16 三菱電機株式会社 動作分析装置、動作分析方法、動作分析プログラムおよび動作分析システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083955A (ja) * 2010-10-12 2012-04-26 Nippon Telegr & Teleph Corp <Ntt> 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
US20190294871A1 (en) * 2018-03-23 2019-09-26 Microsoft Technology Licensing, Llc Human action data set generation in a machine learning system
JP2019219836A (ja) * 2018-06-19 2019-12-26 Kddi株式会社 映像データから人の骨格位置の変位の軌跡を描写するプログラム、装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016099982A (ja) 2014-11-26 2016-05-30 日本電信電話株式会社 行動認識装置、行動学習装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012083955A (ja) * 2010-10-12 2012-04-26 Nippon Telegr & Teleph Corp <Ntt> 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
US20190294871A1 (en) * 2018-03-23 2019-09-26 Microsoft Technology Licensing, Llc Human action data set generation in a machine learning system
JP2019219836A (ja) * 2018-06-19 2019-12-26 Kddi株式会社 映像データから人の骨格位置の変位の軌跡を描写するプログラム、装置及び方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ICHIAKI FUJISAWA, YUKIHIRO MATSUBARA, NORIYUKI IWANE, YUKIE MASHIMA: "2133: Simple Work Posture Diagnostic System oriented Portability and Automatic Posture Classification Method based on Joint Angle", PROCEEDINGS OF THE HUMAN INTERFACE SYMPOSIUM 2006; SEPTEMBER 25-28, 2006, 25 September 2006 (2006-09-25) - 1 January 2006 (2006-01-01), JP, pages 551 - 554, XP009533923 *
OKAMOTO, MASARU ET AL.: " Motion Classification Method using Probabilistic Graphical Model and Its Application to Working Posture Analysis.", IEICI TECHNICAL REPORT, vol. 111, no. 473 (ET2011-120), 3 March 2012 (2012-03-03), pages 113 - 118, XP009533870 *
TAKUKO KOBAYASHI, YOSHIMITSU AOKI, SHOGO SHIMIZU, KATSUHIRO KUSANO, SEIJI OKUMURA: "IS3-14/SO3-14 Recognition of detailed behavior in work video of production line", 25TH SYMPOSIUM ON SENSING VIA IMAGE INFORMATION (SSII2019); JUNE 12-14, 2019, 12 June 2019 (2019-06-12) - 14 June 2019 (2019-06-14), JP, pages 1 - 7, XP009533924 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023095329A1 (ja) * 2021-11-29 2023-06-01 日本電気株式会社 動作評価システム、動作評価方法、及び非一時的なコンピュータ可読媒体
WO2023218557A1 (ja) * 2022-05-11 2023-11-16 三菱電機株式会社 動作分析装置、動作分析方法、動作分析プログラムおよび動作分析システム
JP7462857B1 (ja) 2022-05-11 2024-04-05 三菱電機株式会社 動作分析装置、動作分析方法、動作分析プログラムおよび動作分析システム

Also Published As

Publication number Publication date
DE112019007857T5 (de) 2022-08-25
CN114846513A (zh) 2022-08-02
JPWO2021130978A1 (ja) 2021-12-23
TW202125331A (zh) 2021-07-01
JP6786015B1 (ja) 2020-11-18

Similar Documents

Publication Publication Date Title
EP3220353B1 (en) Image processing apparatus, image processing method, and recording medium
US10169641B2 (en) Apparatus and method for visualization of region of interest
US10255673B2 (en) Apparatus and method for detecting object in image, and apparatus and method for computer-aided diagnosis
JP2016091108A (ja) 人体部位検出システムおよび人体部位検出方法
US10860845B2 (en) Method and system for automatic repetitive step and cycle detection for manual assembly line operations
KR101436050B1 (ko) 손모양 깊이영상 데이터베이스 구축방법, 손모양 인식방법 및 손모양 인식 장치
KR20140093359A (ko) 사용자 인터랙션 기반의 영상 세그멘테이션 장치 및 방법
JP6786015B1 (ja) 動作分析システムおよび動作分析プログラム
US8315457B2 (en) System and method for performing multi-image training for pattern recognition and registration
EP3889588A1 (en) Inspection assistance device, inspection assistance method, and inspection assistance program for concrete structure
EP3300025A1 (en) Image processing device and image processing method
JP2021125003A5 (ja)
JP2019158628A (ja) 検査装置、検査方法、及び検査プログラム
JP5704909B2 (ja) 注目領域検出方法、注目領域検出装置、及びプログラム
US20230326251A1 (en) Work estimation device, work estimation method, and non-transitory computer readable medium
JP2020071566A (ja) 画像処理装置及び画像処理方法
JPWO2019215746A5 (ja)
JP7230722B2 (ja) 画像処理装置及び画像処理方法
JP2015111128A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
CN117095236A (zh) 一种用于评估叶根轮槽试验精确性的方法及系统
TWI695980B (zh) 檢查結果提示裝置、檢查結果提示方法以及非暫態電腦可讀取儲存媒體
WO2020111139A1 (ja) 座標算出装置、座標算出方法、及びコンピュータ読み取り可能な記録媒体
CN110599456A (zh) 一种医学图像的特定区域的提取方法
JP2007018269A (ja) 映像中の動き確率計算方法、映像中の動き確率マップ計算方法、変化検出方法、及びプログラム
WO2022230413A1 (ja) 検出装置、検出装置の制御方法、学習済モデルを生成するモデル生成装置によるモデル生成方法、情報処理プログラム、および記録媒体

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020528365

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19957938

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19957938

Country of ref document: EP

Kind code of ref document: A1