WO2024018857A1 - 作業認識装置、作業認識方法、及び作業認識プログラム - Google Patents

作業認識装置、作業認識方法、及び作業認識プログラム Download PDF

Info

Publication number
WO2024018857A1
WO2024018857A1 PCT/JP2023/023862 JP2023023862W WO2024018857A1 WO 2024018857 A1 WO2024018857 A1 WO 2024018857A1 JP 2023023862 W JP2023023862 W JP 2023023862W WO 2024018857 A1 WO2024018857 A1 WO 2024018857A1
Authority
WO
WIPO (PCT)
Prior art keywords
work
series
cycle
unit
type
Prior art date
Application number
PCT/JP2023/023862
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 オムロン株式会社
Publication of WO2024018857A1 publication Critical patent/WO2024018857A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Definitions

  • the disclosed technology relates to a work recognition device, a work recognition method, and a work recognition program.
  • Japanese Patent No. 6825041 discloses a skeletal extraction unit that acquires skeletal data including feature point data indicating joint positions of a person appearing in the image data through image recognition using image data as input, and a posture label for each of the skeletal data. Based on the skeletal data obtained by the storage unit of the posture model associated with the skeletal model and the skeletal data acquired by the skeletal extraction unit, determine the posture of the person appearing in the image data from the posture label predetermined for the posture model.
  • a posture estimation unit that performs machine learning on the posture model using the posture label, which is the correct label input for each of the skeletal data, as learning data; a background that appears in a background area defined as part of the image data; For each of the image data, a background definition unit performs machine learning to create a background model using a background label that is an input correct label as learning data; a background estimation unit that outputs a label; a region that associates the coordinates of a feature point region defined as part of the image data, feature point data for determining whether or not it is within the feature point region, and a region label; A region definition section that defines a model, and a region estimation section that outputs the corresponding region label when the feature point data of the skeleton data acquired by the skeleton extraction section exists within the feature point region of the region model.
  • the posture estimation section further outputs the posture label using the skeletal data as input through machine learning inference using the posture model.
  • Japanese Patent No. 6825041 uses machine learning to recognize the worker's work, but since the work situation varies depending on the work site, it is difficult to accurately recognize the worker's work. requires a large amount of training data.
  • the disclosed technology has been developed in view of the above points, and is a work recognition method that can recognize the type of work with a simple configuration compared to the case of recognizing the work of a worker using machine learning.
  • the purpose of the present invention is to provide a device, a work recognition method, and a work recognition program.
  • a first aspect of the disclosure is a work recognition device, which includes a movement information acquisition unit that acquires movement information regarding movements when a worker performs a predetermined series of tasks a plurality of times; a teaching data acquisition unit that acquires teaching data for teaching each type of work; and a recognition unit that recognizes the type of each work in the series of works performed multiple times based on the movement information and the teaching data. , and an output unit that outputs a recognition result.
  • the recognition unit sets an attention area that is an area through which a part of the body of the worker passes at a timing when the series of tasks is started.
  • a motion vector series calculation section that computes a motion vector series of the worker based on the motion information, and a motion vector series calculation section that computes a motion vector series of the worker based on the motion vector series; an estimation unit that estimates the timing as the starting point of the work cycle of the series of work; a work cycle indicated by the teaching data; and each work cycle divided by the estimated start point of the work cycle. and a specifying part that specifies the type of each work in the process.
  • a third aspect of the disclosure is that in the second aspect, the identifying unit temporally aligns the work cycle indicated by the teaching data and each work cycle divided by the estimated start point of the work cycle. This identifies the type of work in each work cycle.
  • the specifying unit may select a work cycle indicated by the teaching data and a representative work cycle selected from among the work cycles estimated by the estimating unit. , the type of each work in the representative work cycle is specified, and the type of each work in the work cycle other than the representative work cycle is specified using the identified work type as teaching data.
  • a fifth aspect of the disclosure is that in the fourth aspect, the specifying unit determines, from among the work cycles estimated by the estimating unit, a work cycle having a median length of the work cycle as the representative work cycle. select.
  • the specifying unit selects the representative work cycle for each worker.
  • a seventh aspect of the disclosure is a work recognition method, in which a computer acquires movement information regarding movements when a worker performs a predetermined series of tasks a plurality of times, and recognizes one cycle of the series of tasks.
  • the method includes acquiring teaching data that teaches the type of each work, recognizing the type of each work in the series of works performed multiple times based on the movement information and the teaching data, and outputting a recognition result. Execute processing.
  • An eighth aspect of the disclosure is a work recognition program that causes a computer to acquire movement information regarding movements when a worker performs a predetermined series of tasks a plurality of times, and calculates one cycle of the series of tasks.
  • the method includes acquiring teaching data that teaches the type of each work, recognizing the type of each work in the series of works performed multiple times based on the movement information and the teaching data, and outputting a recognition result. Execute the process.
  • the type of work can be recognized with a simpler configuration compared to the case where the work of a worker is recognized using machine learning.
  • FIG. 1 is a configuration diagram of a work recognition system.
  • FIG. 2 is a configuration diagram showing the hardware configuration of the work recognition device.
  • FIG. 2 is a functional block diagram of a work recognition device.
  • FIG. 3 is a diagram for explaining types of work.
  • FIG. 3 is a diagram showing an example of teaching data.
  • FIG. 3 is a diagram for explaining a region of interest.
  • FIG. 3 is a diagram for explaining estimation of a starting point.
  • FIG. 3 is a diagram for explaining estimation of an end point.
  • FIG. 3 is a diagram for explaining temporal alignment.
  • FIG. 3 is a diagram for explaining temporal alignment. It is a flowchart of work recognition processing.
  • FIG. 1 shows the configuration of a work recognition system 10.
  • the work recognition system 10 includes a work recognition device 20 and a camera 30.
  • the task recognition device 20 recognizes the type of each task in the series of tasks performed by the worker W based on the moving image captured by the camera 30.
  • the worker W takes out the work object M placed on the workbench TB and performs a predetermined series of tasks in the work space S.
  • the series of operations performed by the worker W include various operations in one work cycle, such as grasping, transporting, assembling, inspecting, tightening screws with a screwdriver, and attaching labels to components, for example.
  • the camera 30 is a photographing device capable of photographing, for example, RGB color moving images.
  • the camera 30 is installed at a position where the movement of the worker W and the entire workbench TB can be easily recognized.
  • FIG. 2 is a block diagram showing the hardware configuration of the work recognition device 20 according to this embodiment.
  • the work recognition device 20 includes a controller 21.
  • the controller 21 is composed of a device including a general computer.
  • the controller 21 includes a CPU (Central Processing Unit) 21A, a ROM (Read Only Memory) 21B, a RAM (Random Access Memory) 21C, and an input/output interface (I/O) 2. Equipped with 1D.
  • the CPU 21A, ROM 21B, RAM 21C, and I/O 21D are connected to each other via a bus 21E.
  • Bus 21E includes a control bus, an address bus, and a data bus.
  • an operation section 22, a display section 23, a communication section 24, and a storage section 25 are connected to the I/O 21D.
  • the operation unit 22 includes, for example, a mouse and a keyboard.
  • the display unit 23 is composed of, for example, a liquid crystal display.
  • the communication unit 24 is an interface for performing data communication with an external device such as the camera 30.
  • the storage unit 25 is composed of a nonvolatile external storage device such as a hard disk. As shown in FIG. 2, the storage unit 25 stores a work recognition program 25A, teaching data 25B, attention area data 25C, and the like.
  • the CPU 21A is an example of a computer.
  • a computer here refers to a processor in a broad sense, and can be a general-purpose processor (e.g., CPU) or a dedicated processor (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: FI eld Programmable Gate array, programmable logic device, etc.).
  • CPU general-purpose processor
  • ASIC Application Specific Integrated Circuit
  • FPGA FI eld Programmable Gate array
  • programmable logic device etc.
  • the work recognition program 25A may be realized by being stored in a non-volatile non-transitory recording medium, or distributed via a network, and installed in the work recognition device 20 as appropriate. .
  • non-volatile non-transitional recording media examples include CD-ROM (Compact Disc Read Only Memory), magneto-optical disk, HDD (Hard Disk Drive), DVD-ROM (Digital Versatile Disc Read Only Memory), and DVD-ROM (Digital Versatile Disc Read Only Memory). Memory), flash memory, memory Cards etc. are assumed.
  • CD-ROM Compact Disc Read Only Memory
  • HDD Hard Disk Drive
  • DVD-ROM Digital Versatile Disc Read Only Memory
  • DVD-ROM Digital Versatile Disc Read Only Memory
  • Memory flash memory, memory Cards etc.
  • FIG. 3 is a block diagram showing the functional configuration of the CPU 21A of the work recognition device 20.
  • the CPU 21A functionally includes a motion information acquisition section 40, a teaching data acquisition section 41, a recognition section 42, and an output section 43.
  • the CPU 21A functions as each functional unit shown in FIG. 3 by reading and executing the work recognition program 25A stored in the storage unit 25.
  • the movement information acquisition unit 40 acquires movement information regarding the movement of the worker W when performing a predetermined series of tasks multiple times. Specifically, a moving image captured by the camera 30 showing the worker W performing a predetermined series of tasks is stored in the storage unit 25 as movement information. Then, the motion information acquisition unit 40 acquires the moving image by reading out the moving image stored in the storage unit 25. Note that instead of the camera 30, the movement information of the worker W may be acquired using a motion sensor or the like.
  • the teaching data acquisition unit 41 acquires teaching data 25B that teaches the type of each work in a series of work for one period by reading it from the storage unit 25.
  • the teaching data 25B is, for example, time-series data of labels representing the type of each task when a standard worker W performs a series of tasks.
  • a series of tasks is a task in which three types of tasks, task 0, task 1, and task 2 are sequentially performed.
  • work 0 is a work in which a barcode attached to a box is read by a barcode reader (work start).
  • Work 1 is work such as sealing the box according to the barcode reading result.
  • Work 2 is the work of reading the barcode again with a barcode reader (work completed).
  • teaching data 25B is time-series data (0, 0, 1, 1, 1, 2, 2, 2) of labels indicating the type of work, as shown in FIG. Note that the time series data is data in which tasks are labeled for each predetermined unit frame period t. Therefore, in the case of the teaching data 25B shown in FIG. 5, work 0 requires tx2 hours, and work 1 and 2 require tx3 hours.
  • the recognition unit 42 recognizes the type of each task in the series of tasks performed multiple times based on the moving image acquired by the motion information acquisition unit 40 and the teaching data 25B acquired by the teaching data acquisition unit 41.
  • the recognition unit 42 includes an attention area setting unit 44 , a motion vector sequence calculation unit 45 , an estimation unit 46 , and a specification unit 47 .
  • the attention area setting unit 44 sets an attention area that is an area through which a part of the body of the worker W passes at the timing when a series of tasks is started. Specifically, the attention area is set based on the attention area data 25C stored in the storage unit 25.
  • FIG. 6 shows an example of setting a region of interest. In the example of FIG. 6, a region of interest 52 is set in a part of a video shooting range 50. The attention area 52 is set, for example, as an area through which the wrist of the worker W passes at the timing when the worker W starts a series of tasks. This attention area is set in advance and stored in the storage unit 25 in advance as attention area data 25C indicating the position and range of the attention area 52 with respect to the photographing range 50.
  • the motion vector sequence calculation unit 45 calculates the motion vector sequence of the worker W based on the moving image acquired by the motion information acquisition unit 40.
  • the motion vector series is an example of a posture series, and is series data of motion features obtained by applying motion feature extraction processing to a skeletal series.
  • the motion vector sequence calculation unit 45 estimates the posture of the worker W based on the moving image and calculates the estimated posture so as not to be influenced by the background, clothes of the worker W, etc. Convert to skeletal series.
  • the skeletal series includes the coordinates of feature points such as body parts and joints of the worker W, link information in which links connecting each feature point are defined, and labels representing the body parts of the feature points.
  • the feature points include facial parts such as the eyes and nose of the worker W, joints such as the neck, shoulders, elbows, wrists, hips, knees, and ankles.
  • OpenPose uses a learned model that uses a moving image as input and a skeletal sequence as output, and is trained using a large number of moving images as training data.
  • a learning method for obtaining such a trained model a known method such as CNN (Regions with Convolutional Neural Networks) is used, for example.
  • this embodiment uses a method called MotionRetargeting described in Reference 2 below to convert a skeletal sequence obtained from a video image into a motion representation representing a motion feature amount. Convert to vector series.
  • a skeletal sequence is input and an encoder is used to output feature vectors of three components: motion, body shape, and camera viewpoint.
  • an encoder is used to output feature vectors of three components: motion, body shape, and camera viewpoint.
  • Only the feature vector of the motion component is used.
  • the skeletal sequence is subjected to three preprocessing processes: time series interpolation processing, time series smoothing, and lower body interpolation processing before conversion to a motion vector series. You may do so.
  • time-series interpolation processing if there is a joint point for which pose estimation has failed, the joint point of the previous frame is copied.
  • time series smoothing in order to remove noise in pose estimation, series data is smoothed using a Gaussian filter.
  • OpenPose used in this embodiment estimates not only the posture of the upper body of a person but also the posture of the lower body. When working in a factory, workers often work on a desk-top workbench, so their lower body is often shielded by the desk, resulting in loss of joints in the lower body.
  • Encoders that extract motion features, such as MotionRetargeting take as input the skeletal sequence of a person's entire body, so if lower body joint points are missing, the motion component feature vector cannot be properly output.
  • the joint points of at least one of both knees and both feet may be interpolated with a length proportional to the length of the person's torso.
  • the estimation section 46 estimates the timing at which a part of the body of the worker W appears in the attention area as the starting point of the work cycle of the series of tasks.
  • the timing at which the wrist of the worker W appears in the attention area 52 is estimated as the starting point of the work cycle of a series of tasks.
  • the work cycle is the cycle of a series of work that the worker W repeatedly performs.
  • the starting point of a work cycle refers to the point in time when a series of works starts.
  • Figure 7 shows an example of the starting point of the work cycle.
  • a series of tasks is executed multiple times, and the unit frame period including the timing when the wrist of the worker W appears in the attention area 52 is estimated as the starting point.
  • four unit frame periods out of 15 unit frame periods are set as starting points. Therefore, it can be estimated that the series of operations was repeated four times.
  • the starting point can be estimated, as shown in FIG. 8, the unit frame period immediately before the starting point and the last unit frame period of the series of tasks can be estimated as the ending point.
  • the work cycle of the first cycle is expressed as [0, 3]
  • the work cycle of the 3rd cycle is represented as [4, 7]
  • the work cycle of the 3rd cycle is represented as [8, 11]
  • the work cycle of the 4th cycle is represented as [12, 14].
  • the specifying unit 47 performs temporal alignment between the work cycle indicated by the teaching data 25B and each work cycle separated by the start point of the work cycle estimated by the estimation unit 46, thereby determining the type of each work in each work cycle. Identify. That is, the unit frame period of the work cycle indicated by the teaching data 25B is temporally associated with each unit frame period of each work cycle estimated by the estimation unit 46.
  • DTW Dynamic Time Warping
  • FIG. 9 shows an example of the results of temporal alignment.
  • the type of work in the first work cycle is determined.
  • the time series data shown is specified as (0, 1, 2, 2).
  • the type of work is identified by performing temporal alignment with the teaching data 25B.
  • the time series data representing the type of work in the second cycle is (0, 0, 1, 2)
  • the time series data representing the type of work in the third cycle is (0, 1). , 2, 2)
  • the time series data representing the type of work in the fourth cycle is (0, 1, 2).
  • the output unit 43 outputs the recognition result of recognizing each type of work, that is, time-series data labeled with the type of each work included in each work cycle of a series of work repeatedly performed by each worker, to the storage unit 25, for example. and store it.
  • step S100 the CPU 21A acquires a moving image captured by the camera 30 of the worker W performing a predetermined series of tasks by reading it from the storage unit 25.
  • step S101 the CPU 21A acquires teaching data 25B that teaches the type of each task in a series of tasks for one period by reading it from the storage unit 25.
  • step S102 the CPU 21A reads the attention area data 25C from the storage unit 25, and sets the attention area 52 based on the read attention area data 25C.
  • step S103 the CPU 21A calculates a motion vector sequence of the worker W based on the moving image acquired in step S100.
  • step S104 the CPU 21A estimates the timing at which the wrist of the worker W appears in the attention area 52 as the starting point of the work cycle of the series of tasks, based on the motion vector series calculated in step S103.
  • step S105 the CPU 21A performs temporal alignment between the work cycle indicated by the teaching data 25B and each work cycle divided by the start point of the work cycle estimated in step S104, so that each work in each work cycle is Identify the type.
  • step S106 the CPU 21A outputs and stores the time-series data labeled with the type of each task identified in step S105 to the storage unit 25 as the task recognition result.
  • the type of each task is recognized based on the moving image and one cycle of teaching data when the operator performs a predetermined series of tasks multiple times.
  • the type of work can be recognized with a simpler configuration compared to the case where the work of the worker is recognized using machine learning.
  • the identifying unit 47 identifies the type of each work in the representative work cycle based on the work cycle indicated by the teaching data and the representative work cycle selected from the work cycles estimated by the estimation unit 46.
  • the identified work types may be used as teaching data to specify the work types in work cycles other than the representative work cycle.
  • the identifying unit 47 may select a work cycle whose work cycle length is the median value as the representative work cycle from among the work cycles estimated by the estimating unit 46. For example, suppose that when a series of tasks is performed five times, the working periods of the first to fifth cycles are t ⁇ 1, t ⁇ 4, t ⁇ 5, t ⁇ 6, and t ⁇ 10. In this case, since the median value is t ⁇ 5 in the third period, the third period is taken as the representative work period. Then, by temporally aligning the teaching data 25B with the third cycle, the type of work in the third cycle is specified.
  • the specifying unit 47 may select a representative work cycle for each worker and specify the type of each work in each work cycle for each worker.
  • the work recognition process that the CPU reads and executes the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processor in this case is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Intel).
  • An example is a dedicated electric circuit that is a processor having a specially designed circuit configuration.
  • the work recognition process may be executed by one of these various processors, or by a combination of two or more processors of the same type or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA). etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit that is a combination of circuit elements such as semiconductor elements.

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

作業認識装置は、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、認識結果を出力する出力部と、を備える。

Description

作業認識装置、作業認識方法、及び作業認識プログラム
 開示の技術は、作業認識装置、作業認識方法、及び作業認識プログラムに関する。
 特許第6825041号公報には、画像データを入力とした画像認識により、前記画像データに写る人物の関節位置を示す特徴点データを含む骨格データを取得する骨格抽出部、前記骨格データごとに姿勢ラベルが対応づけられている姿勢モデルの記憶部、前記骨格抽出部が取得した前記骨格データをもとに、前記姿勢モデルに予め決められた前記姿勢ラベルから、前記画像データに写る人物の姿勢を判別する姿勢推定部、前記骨格データごとに入力された正解ラベルである前記姿勢ラベルを学習データとして前記姿勢モデルを機械学習する姿勢学習部、前記画像データの一部として定義された背景領域に写る背景前記画像データごとに、入力された正解ラベルである背景ラベルを学習データとして背景モデルを機械学習する背景定義部、前記背景モデルを用いた機械学習の推論により、背景前記画像データを入力として前記背景ラベルを出力する背景推定部、前記画像データの一部として定義された特徴点領域の座標と、特徴点領域内か否かを判定するための特徴点データと、領域ラベルとを対応づけた領域モデルを定義する領域定義部、前記骨格抽出部が取得した前記骨格データの特徴点データが前記領域モデルの特徴点領域内に存在するときに、対応する前記領域ラベルを出力する領域推定部としてコンピュータを機能させ、前記姿勢推定部は、さらに、前記姿勢モデルを用いた機械学習の推論により、前記骨格データを入力として前記姿勢ラベルを出力することを特徴とする姿勢分析プログラムが開示されている。
 上記特許第6825041号公報記載の技術では、機械学習を用いて作業者の作業を認識するが、作業の現場によって作業の状況は様々に変化するため、精度良く作業者の作業を認識するためには、大量の学習データが必要となる。
 しかしながら、そのような大量の学習データを収集することは困難である、という問題があった。
 開示の技術は、上記の点に鑑みてなされたものであり、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる作業認識装置、作業認識方法、及び作業認識プログラムを提供することを目的とする。
 開示の第1態様は、作業認識装置であって、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、認識結果を出力する出力部と、を備える。
 開示の第2態様は、上記第1態様において、前記認識部は、前記一連の作業が開始されるタイミングで前記作業者の身体の一部が通過する領域である注目領域を設定する注目領域設定部と、前記動き情報に基づいて、前記作業者の動作ベクトル系列を算出する動作ベクトル系列算出部と、前記動作ベクトル系列に基づいて、前記作業者の体の一部が前記注目領域に出現したタイミングを前記一連の作業の作業周期の始点として推定する推定部と、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、に基づいて、各作業周期における各作業の種類を特定する特定部と、を含む。
 開示の第3態様は、上記第2態様において、前記特定部は、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。
 開示の第4態様は、上記第2態様又は第3態様において、前記特定部は、前記教示データが示す作業周期と、前記推定部により推定された各作業周期の中から選択した代表作業周期と、に基づいて、前記代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、前記代表作業周期以外の作業周期における各作業の種類を特定する。
 開示の第5態様は、上記第4態様において、前記特定部は、前記推定部により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を前記代表作業周期として選択する。
 開示の第6態様は、上記第4態様又は第5態様において、前記作業者が複数の場合、前記特定部は、作業者毎に前記代表作業周期を選択する。
 開示の第7態様は、作業認識方法であって、コンピュータが、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、認識結果を出力する、ことを含む処理を実行する。
 開示の第8態様は、作業認識プログラムであって、コンピュータに、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、認識結果を出力する、ことを含む処理を実行させる。
 開示の技術によれば、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる。
作業認識システムの構成図である。 作業認識装置のハードウェア構成を示す構成図である。 作業認識装置の機能ブロック図である。 作業の種類について説明するための図である。 教示データの一例を示す図である。 注目領域について説明するための図である。 始点の推定について説明するための図である。 終点の推定について説明するための図である。 時間的アライメントについて説明するための図である。 時間的アライメントについて説明するための図である。 作業認識処理のフローチャートである。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
 図1は、作業認識システム10の構成を示す。作業認識システム10は、作業認識装置20及びカメラ30を備える。
 作業認識装置20は、カメラ30で撮影された動画像に基づいて、作業者Wが行った一連の作業の各作業の種類を認識する。
 作業者Wは、一例として作業台TBに載置された作業の対象物Mを取り出して、作業スペースSで予め定めた一連の作業を行う。作業者Wが行う一連の作業は、例えば部品の把持、運搬、組み立て、検査、ドライバによるねじ締め、及びラベル貼り等、1つの作業周期に多様な動作が含まれる作業である。
 カメラ30は、例えばRGBのカラー動画像を撮影可能な撮影装置である。カメラ30は、作業者Wの動き及び作業台TB全体を認識しやすい位置に設置される。
 また、本実施形態では、カメラ30が1台の場合について説明するが、複数台のカメラ30を設けた構成としてもよい。
 図2は、本実施形態に係る作業認識装置20のハードウェア構成を示すブロック図である。図2に示すように、作業認識装置20は、コントローラ21を備える。コントローラ21は、一般的なコンピュータを含む装置で構成される。
 図2に示すように、コントローラ21は、CPU(Central Processing Unit)21A、ROM(Read Only Memory)21B、RAM(Random Access Memory)21C、及び入出力インターフェース(I/O)21Dを備える。そして、CPU21A、ROM21B、RAM21C、及びI/O21Dがバス21Eを介して各々接続されている。バス21Eは、コントロールバス、アドレスバス、及びデータバスを含む。
 また、I/O21Dには、操作部22、表示部23、通信部24、及び記憶部25が接続されている。
 操作部22は、例えばマウス及びキーボードを含んで構成される。
 表示部23は、例えば液晶ディスプレイ等で構成される。
 通信部24は、カメラ30等の外部装置とデータ通信を行うためのインターフェースである。
 記憶部25は、ハードディスク等の不揮発性の外部記憶装置で構成される。図2に示すように、記憶部25は、作業認識プログラム25A、教示データ25B、及び注目領域データ25C等を記憶する。
 CPU21Aは、コンピュータの一例である。ここでいうコンピュータとは、広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU)、又は、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
 なお、作業認識プログラム25Aは、不揮発性の非遷移的(non-transitory)記録媒体に記憶して、又はネットワークを介して配布して、作業認識装置20に適宜インストールすることで実現してもよい。
 不揮発性の非遷移的記録媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD(ハードディスクドライブ)、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
 図3は、作業認識装置20のCPU21Aの機能構成を示すブロック図である。図3に示すように、CPU21Aは、機能的には、動き情報取得部40、教示データ取得部41、認識部42、及び出力部43の各機能部を備える。
 CPU21Aは、記憶部25に記憶された作業認識プログラム25Aを読み込んで実行することにより図3に示す各機能部として機能する。
 動き情報取得部40は、作業者Wが予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する。具体的には、作業者Wが予め定めた一連の作業を行った様子をカメラ30によって撮影された動画像を動き情報として記憶部25に記憶しておく。そして、動き情報取得部40は、記憶部25に記憶された動画像を読み出すことにより取得する。なお、カメラ30に代えて、モーションセンサ等を用いて作業者Wの動き情報を取得してもよい。
 教示データ取得部41は、1周期分の一連の作業の各作業の種類を教示する教示データ25Bを記憶部25から読み出すことにより取得する。教示データ25Bは、例えば標準的な作業者Wが一連の作業を行った場合の各作業の種類を表すラベルの時系列データである。
 本実施形態では、図4に示すように、一例として一連の作業が作業0、作業1、作業2の3種類の作業を順次行う作業である場合について説明する。例えば作業0は、箱に貼付されたバーコードをバーコードリーダで読み取る作業である(作業開始)。作業1は、バーコードの読み取り結果に従って、箱に対して封をする等の作業である。作業2は、バーコードリーダで再度バーコードを読み取る作業である(作業終了)。そして、教示データ25Bが、図5に示すように、作業の種類を示すラベルの時系列データ(0、0、1、1、1、2、2、2)である場合について説明する。なお、時系列データは、予め定めた単位フレーム期間t毎に作業をラベル付けしたデータである。従って、図5に示す教示データ25Bの場合、作業0はt×2時間、作業1、2はt×3時間ずつ要したことになる。
 認識部42は、動き情報取得部40が取得した動画像及び教示データ取得部41が取得した教示データ25Bに基づいて、複数回行った一連の作業の各作業の種類を認識する。
 認識部42は、注目領域設定部44、動作ベクトル系列算出部45、推定部46、及び特定部47を備える。
 注目領域設定部44は、一連の作業が開始されるタイミングで作業者Wの身体の一部が通過する領域である注目領域を設定する。具体的には、記憶部25に記憶された注目領域データ25Cに基づいて注目領域を設定する。図6に注目領域の設定例を示す。図6の例では、動画像の撮影範囲50の一部に注目領域52が設定されている。注目領域52は、一例として作業者Wが一連の作業を開始するタイミングで作業者Wの手首が通過する領域として設定されている。この注目領域は事前に設定され、撮影範囲50に対する注目領域52の位置及び範囲を示す注目領域データ25Cとして予め記憶部25に記憶される。
 動作ベクトル系列算出部45は、動き情報取得部40が取得した動画像に基づいて、作業者Wの動作ベクトル系列を算出する。動作ベクトル系列は姿勢系列の一例であり、骨格系列に対して動作特徴量抽出処理を適用することにより得られる動作特徴量の系列データである。
 具体的には、動作ベクトル系列算出部45は、背景及び作業者Wの服装等に影響を受けないようにするため、動画像に基づいて作業者Wの姿勢の推定を行い、推定した姿勢を骨格系列に変換する。
 作業者Wの姿勢を推定し、推定した姿勢を骨格系列に変換する手法としては、下記参考文献1に記載されたOpenPoseと呼ばれる公知の手法を用いることができる。骨格系列は、作業者Wの体の部位及び関節等の特徴点の座標と、各特徴点を接続するリンクが定義されたリンク情報と、特徴点の身体の部位を表すラベルと、を含む時系列のデータである。例えば特徴点は、作業者Wの目及び鼻等の顔の部位、首、肩、肘、手首、腰、膝、及び足首等の関節等を含む。
 OpenPoseでは、動画像を入力とし、骨格系列を出力とする学習モデルを、多数の動画像を教師データとして学習した学習済みモデルを用いる。このような学習済みモデルを得る学習方法としては、例えばCNN(Regions with Convolutional Neural Networks)等の公知の方法が用いられる。
(参考文献1) "OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", Zhe Cao, Student Member, IEEE, Gines Hidalgo, Student Member, IEEE, Tomas Simon, Shih-En Wei, and Yaser Sheikh, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE.
 ここで、工場の作業において、体型の異なる様々な作業者が作業を行うため、体型の違いによる影響が大きい。体型の違いに影響を受けることがないように、本実施形態では、下記参考文献2に記載されたMotionRetargetingと呼ばれる手法を用いて、動画像から得られた骨格系列を、動作特徴量を表す動作ベクトル系列に変換する。
(参考文献2)K. Aberman, R. Wu, D. Lischinski, B. Chen, and D. Cohen-Or,“Learning character-agnostic motion for motion retargeting in 2d,”TOG, vol.38, no.4, p.75, 2019.
 MotionRetargetingでは、骨格系列を入力として、エンコーダーを用いて、動作、体型、カメラ視点の3つの成分の特徴ベクトルを出力するが、本実施形態では、一例として体型及びカメラ視点の影響を少なくするため、動作成分の特徴ベクトルのみを用いる。
 なお、姿勢推定のノイズの影響を除くため、動作ベクトル系列への変換を行う前に、骨格系列に対して、時系列の補間処理、時系列平滑化、及び下半身の補間処理の3つの前処理を行ってもよい。
 時系列の補間処理では、姿勢推定に失敗している関節点があれば、1つ前のフレームの関節点をコピーする。時系列平滑化では、姿勢推定のノイズを除去するため、系列データに対してガウシアンフィルタで平滑化を行う。本実施形態で用いるOpenPoseでは、人物の上半身だけでなく、下半身の姿勢も推定する。工場における作業の場合、机上の作業台で作業することが多いため、下半身が机で遮蔽され、下半身の関節点が欠損することが多い。MotionRetargetingのような動作特徴量を抽出するエンコーダーは、人物の全身の骨格系列を入力とするため、下半身の関節点が欠損している場合は、動作成分の特徴ベクトルを適切に出力することができない場合がある。そのため、下半身の補完処理を行ってもよい。具体的には、下半身の補間処理として、人物の胴体の長さに比例する長さで両膝及び両足の少なくとも一方の関節点を補完してもよい。
 推定部46は、動作ベクトル系列算出部45が算出した動作ベクトル系列に基づいて、作業者Wの体の一部が注目領域に出現したタイミングを一連の作業の作業周期の始点として推定する。図6の例では、作業者Wの手首が注目領域52に出現したタイミングを一連の作業の作業周期の始点として推定する。ここで、作業周期とは、作業者Wが繰り返し行う一連の作業の周期である。そして、作業周期の始点とは、一連の作業を開始した時点をいう。
 図7に作業周期の始点の一例を示す。図7の例では、一連の作業が複数回実行され、作業者Wの手首が注目領域52に出現したタイミングを含む単位フレーム期間を始点として推定する。これにより、図7の例では、15個の単位フレーム期間のうち4個の単位フレーム期間が始点として設定される。このため、一連の作業が4回繰り返されたと推定することができる。また、始点を推定することができれば、図8に示すように、始点の直前の単位フレーム期間及び一連の作業の最後の単位フレーム期間を終点と推定することができる。
 ここで、始点の位置s及び終点の位置eを用いて作業周期を[s,e]と表すと、図8の例では、1周期目の作業周期は[0,3]と表され、2周期目の作業周期は[4,7]と表され、3周期目の作業周期は[8,11]と表され、4周期目の作業周期は[12,14]と表される。
 特定部47は、教示データ25Bが示す作業周期と、推定部46が推定した作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。すなわち、教示データ25Bが示す作業周期の単位フレーム期間と、推定部46が推定した各作業周期の各単位フレーム期間と、の時間的な対応付けを行う。
 時間的アライメントの手法としては、例えば、ハミング距離を距離関数としたDTW(Dynamic Time Warping)を用いることができるが、これに限られるものではない。
 図9に時間的アライメントを行った結果の一例を示す。図9に示すように、教示データ25Bが示す作業周期と、推定部46が推定した1周期目の作業周期と、の時間的アライメントを行った結果、1周期目の作業周期における作業の種類を示す時系列データは、(0、1、2、2)と特定される。2~4周期目についても同様に、教示データ25Bとの時間的アライメントを行うことにより、作業の種類を特定する。図9の例では、2周期目の作業の種類を表す時系列データは、(0、0、1、2)であり、3周期目の作業の種類を表す時系列データは、(0、1、2、2)であり、4周期目の作業の種類を表す時系列データは、(0、1、2)である。
 なお、複数の作業者の動画像を取得した場合は、作業者毎に上記の処理を行う。例えば図10に示すように、5人の作業者1~5の動画像を取得した場合は、教示データ25Bが示す作業周期と、作業者1の各作業周期と、の時間的アライメントを行う。作業者2~5についても同様である。
 出力部43は、各作業の種類を認識した認識結果、すなわち各作業者が繰り返し行った一連の作業の各作業周期に含まれる各作業の種類をラベル付けした時系列データを、例えば記憶部25に出力し、記憶する。
 次に、作業認識装置20のCPU21Aで実行される作業認識処理について、図11に示すフローチャートを参照して説明する。
 ステップS100では、CPU21Aが、作業者Wが予め定めた一連の作業を行った様子をカメラ30によって撮影された動画像を記憶部25から読み出すことにより取得する。
 ステップS101では、CPU21Aが、1周期分の一連の作業の各作業の種類を教示する教示データ25Bを記憶部25から読み出すことによりを取得する。
 ステップS102では、CPU21Aが、記憶部25から注目領域データ25Cを読出し、読み出した注目領域データ25Cに基づいて、注目領域52を設定する。
 ステップS103では、CPU21Aが、ステップS100で取得した動画像に基づいて、作業者Wの動作ベクトル系列を算出する。
 ステップS104では、CPU21Aが、ステップS103で算出した動作ベクトル系列に基づいて、作業者Wの手首が注目領域52に出現したタイミングを一連の作業の作業周期の始点として推定する。
 ステップS105では、CPU21Aが、教示データ25Bが示す作業周期と、ステップS104で推定した作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。
 ステップS106では、CPU21Aが、ステップS105で特定した各作業の種類をラベル付けした時系列データを作業の認識結果として記憶部25に出力し、記憶する。
 このように、本実施形態では、作業者が予め定めた一連の作業を複数回行ったときの動画像及び1周期分の教示データに基づいて各作業の種類を認識する。これにより、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる。
 なお、上記実施形態は、本開示の構成例を例示的に説明するものに過ぎない。本開示は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。
 例えば本実施形態では、予め記憶部25に記憶された教示データ25Bのみを用いて作業の種類を認識する場合について説明したが、これに限られない。
 例えば、特定部47は、教示データが示す作業周期と、推定部46により推定された各作業周期の中から選択した代表作業周期と、に基づいて、代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、代表作業周期以外の作業周期における各作業の種類を特定するようにしてもよい。
 ここで、特定部47は、推定部46により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を代表作業周期として選択するようにしてもよい。例えば、一連の作業を5回行った場合に、1~5周期目の各作業期間が、t×1、t×4、t×5、t×6、t×10であったとする。この場合、中央値は3周期目のt×5であるため、3周期目を代表作業周期とする。そして、教示データ25Bと、3周期目との時間的アライメントを行うことにより3周期目の作業の種類を特定する。次に、代表作業周期である3周期目と、代表作業周期以外の作業周期である1周期目、2周期目、4周期目、及び5周期目との時間的アライメントを各々行うことにより、1周期目、2周期目、4周期目、及び5周期目の各作業の種類を特定する。また、作業者が複数の場合、特定部47は、作業者毎に代表作業周期を選択し、作業者毎に各作業周期の各作業の種類を特定するようにしてもよい。
 また、上各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した作業認識処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の認識の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、作業認識処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 なお、日本国特許出願第2022-116725号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (8)

  1.  作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、
     1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、
     前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、
     認識結果を出力する出力部と、
     を備えた作業認識装置。
  2.  前記認識部は、
     前記一連の作業が開始されるタイミングで前記作業者の身体の一部が通過する領域である注目領域を設定する注目領域設定部と、
     前記動き情報に基づいて、前記作業者の動作ベクトル系列を算出する動作ベクトル系列算出部と、
     前記動作ベクトル系列に基づいて、前記作業者の体の一部が前記注目領域に出現したタイミングを前記一連の作業の作業周期の始点として推定する推定部と、
     前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、に基づいて、各作業周期における各作業の種類を特定する特定部と、
     を含む請求項1記載の作業認識装置。
  3.  前記特定部は、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する
     請求項2記載の作業認識装置。
  4.  前記特定部は、前記教示データが示す作業周期と、前記推定部により推定された各作業周期の中から選択した代表作業周期と、に基づいて、前記代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、前記代表作業周期以外の作業周期における各作業の種類を特定する
     請求項2又は請求項3記載の作業認識装置。
  5.  前記特定部は、前記推定部により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を前記代表作業周期として選択する
     請求項4記載の作業認識装置。
  6.  前記作業者が複数の場合、前記特定部は、作業者毎に前記代表作業周期を選択する
     請求項4記載の作業認識装置。
  7.  コンピュータが、
     作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、
     1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、
     前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、
     認識結果を出力する、
     ことを含む処理を実行する作業認識方法。
  8.  コンピュータに、
     作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、
     1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、
     前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、
     認識結果を出力する、
     ことを含む処理を実行させる作業認識プログラム。
PCT/JP2023/023862 2022-07-21 2023-06-27 作業認識装置、作業認識方法、及び作業認識プログラム WO2024018857A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-116725 2022-07-21
JP2022116725A JP2024014119A (ja) 2022-07-21 2022-07-21 作業認識装置、作業認識方法、及び作業認識プログラム

Publications (1)

Publication Number Publication Date
WO2024018857A1 true WO2024018857A1 (ja) 2024-01-25

Family

ID=89617667

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/023862 WO2024018857A1 (ja) 2022-07-21 2023-06-27 作業認識装置、作業認識方法、及び作業認識プログラム

Country Status (2)

Country Link
JP (1) JP2024014119A (ja)
WO (1) WO2024018857A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015529A (ja) * 2007-07-03 2009-01-22 Toshiba Corp 作業分析装置および方法
JP2020201772A (ja) * 2019-06-11 2020-12-17 株式会社 日立産業制御ソリューションズ 姿勢分析プログラム、および、姿勢分析装置
JP2021067981A (ja) * 2019-10-17 2021-04-30 国立大学法人九州大学 作業分析装置及び作業分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015529A (ja) * 2007-07-03 2009-01-22 Toshiba Corp 作業分析装置および方法
JP2020201772A (ja) * 2019-06-11 2020-12-17 株式会社 日立産業制御ソリューションズ 姿勢分析プログラム、および、姿勢分析装置
JP2021067981A (ja) * 2019-10-17 2021-04-30 国立大学法人九州大学 作業分析装置及び作業分析方法

Also Published As

Publication number Publication date
JP2024014119A (ja) 2024-02-01

Similar Documents

Publication Publication Date Title
Sun et al. Compositional human pose regression
US7324110B2 (en) Method and system for cleaning motion capture data
JP5243529B2 (ja) 拡張リアリティイメージのためのカメラポーズ推定装置および方法
JP4792824B2 (ja) 動作分析装置
CN111414797B (zh) 用于估计对象的姿势和姿态信息的系统和方法
CN109241844B (zh) 三维物体的姿态估计方法、装置、设备及存储介质
Xia et al. Human motion recovery jointly utilizing statistical and kinematic information
CN114663593B (zh) 三维人体姿态估计方法、装置、设备及存储介质
Pitteri et al. CorNet: generic 3D corners for 6D pose estimation of new objects without retraining
CN114155610B (zh) 基于上半身姿态估计的面板装配关键动作识别方法
JP2010061376A (ja) 動作評価装置および動作評価方法
WO2024018857A1 (ja) 作業認識装置、作業認識方法、及び作業認識プログラム
JP7385747B2 (ja) 物体の把持点の三次元位置、ローカル参照フレーム及び把持パターンを求める方法及びシステム
Izquierdo-Domenech et al. Supporting interaction in augmented reality assisted industrial processes using a CNN-based semantic layer
WO2024029411A1 (ja) 作業特徴量表示装置、作業特徴量表示方法、及び作業特徴量表示プログラム
EP4016376A1 (en) Computer-implemented process monitoring method
WO2024018856A1 (ja) 作業周期推定装置、作業周期推定方法、及び作業周期推定プログラム
WO2023176162A1 (ja) 作業認識装置、作業認識方法、及び作業認識プログラム
JP4449483B2 (ja) 画像解析装置、および画像解析方法、並びにコンピュータ・プログラム
WO2023171167A1 (ja) 作業認識装置、作業認識方法、及び作業認識プログラム
CN110991304A (zh) 基于摄像头与热感探头的交互手势采集和识别方法及装置
WO2023090274A1 (ja) 作業認識装置、作業認識方法、及び作業認識プログラム
JP2007257489A (ja) 画像処理装置および画像処理方法
Urgo et al. AI-Based Pose Estimation of Human Operators in Manufacturing Environments
Pauli et al. Servoing mechanisms for peg-in-hole assembly operations

Legal Events

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

Ref document number: 23842788

Country of ref document: EP

Kind code of ref document: A1