WO2021220398A1 - オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム - Google Patents

オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム Download PDF

Info

Publication number
WO2021220398A1
WO2021220398A1 PCT/JP2020/018114 JP2020018114W WO2021220398A1 WO 2021220398 A1 WO2021220398 A1 WO 2021220398A1 JP 2020018114 W JP2020018114 W JP 2020018114W WO 2021220398 A1 WO2021220398 A1 WO 2021220398A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame image
information
image
area
frame
Prior art date
Application number
PCT/JP2020/018114
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 US17/269,570 priority Critical patent/US11922667B2/en
Priority to JP2021507094A priority patent/JP6899986B1/ja
Priority to PCT/JP2020/018114 priority patent/WO2021220398A1/ja
Publication of WO2021220398A1 publication Critical patent/WO2021220398A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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

Definitions

  • the present invention relates to a technical field for mapping positions that affect the identification of a class of objects in image recognition.
  • CNN convolutional neural network
  • CAM class activation mapping
  • the class activation map does not accurately show the entire location where the object of the identified class exists, but has the property of easily emphasizing the location that is easily distinguishable from other classes. Therefore, even if CAM is simply used, it is difficult to accurately identify an area surrounding an object in the image, for example, a bounding box.
  • the present invention has been made in view of the above points, and an example of the problem is an object area specifying device and an object area specifying method capable of accurately specifying an area corresponding to a position where an object exists in an image. , And to provide an object area identification program.
  • one aspect of the present invention includes a frame image acquisition means for acquiring a time-continuous first frame image and a second frame image, and a model for identifying an object in the image.
  • a position information acquisition means for inputting a one-frame image and acquiring position information indicating a position on the first frame image that affects the identification of an object in the first frame image, and the first frame image.
  • a motion information acquisition means for acquiring motion information indicating the motion of the object in the 1st frame image, and based on the acquired position information and motion information, It is an object area specifying device including an area information generating means for generating area information indicating an area corresponding to a position where the object exists, which is an area on the first frame image.
  • area information indicating an area corresponding to the position where the object exists is generated based on the position information and the movement information.
  • the position information indicates the position that affects the identification of the object in the frame image. Therefore, the position information is likely to indicate the location of at least a certain range of the locations where the object exists.
  • the motion information indicates the motion of the object. Therefore, if the object is in motion, the motion information is likely to at least indicate the entire location where the object is located. Therefore, by generating area information using these information, it is possible to accurately identify the area corresponding to the position where the object exists in the image.
  • the area information generating means generates the area information based on integrating the position information and the motion information.
  • the range corresponding to the position affecting the identification of the object is specified among the plurality of ranges with motion in the frame image. Therefore, the area corresponding to the position where the object exists can be accurately specified.
  • the motion information acquisition means generates the motion information indicating the moving direction and the moving distance of the object for each position in the first frame image.
  • the area information generating means is characterized in that the area information is generated based on adding the position information and the motion information for each position.
  • the position that affects the identification of the object is changed by the moving direction and the moving distance at that position.
  • the image of the area indicated by the acquired area information in the second frame image is input to the second model for identifying the object in the image.
  • the detection means for detecting the object of the second frame image is further provided.
  • the image corresponding to the area indicated by the generated area information is input to the model that identifies the object in the image. Therefore, the objects in the frame image are identified by this model.
  • the area information indicates the area corresponding to the position of the object. Therefore, the object in the frame image can be detected with high accuracy.
  • highly accurate area information is automatically generated, it is possible to detect an object without machine learning that requires human annotation of the area information.
  • the object area specifying device further includes training means for training the model based on the generated area information.
  • the model is trained based on the automatically generated region information, so that human annotation of the region information is performed for machine learning to identify the region corresponding to the position of the object. It becomes unnecessary.
  • the position information acquisition means further inputs the second frame image into the model and is a position on the second frame image.
  • the second position information indicating the position affecting the identification of the object in the second frame image is acquired, and the training means is the first image of the region indicated by the acquired region information from the second frame image.
  • the area on the second frame image indicating the area corresponding to the position affecting the identification of the object.
  • the second region information generation means for generating the two-region information, the second extraction means for extracting the second image of the region indicated by the acquired second region information from the second frame image, and the acquired second region information. It is characterized by including an updating means for updating the weight of the model based on the first image and the second image.
  • the first image of the region indicated by the region information generated based on the position information and the motion information and in the second frame image, based on the second position information.
  • the weights of the model are updated based on the second image of the region indicated by the generated second region information. If the position indicated by the position information and the position that affects the identification of the object in the first frame image is changed by the movement indicated by the motion information, the changed position is the object in the second frame image. It is thought that it corresponds to the position that affects the identification of. Therefore, the model can be appropriately trained by using the first image and the second image.
  • the training means obtains the features of the extracted first image and the features of the extracted second image.
  • the update means further includes a second feature acquisition means to be acquired, and the update means updates the weight of the model based on the acquired first feature and the second feature.
  • the weights of the model are updated based on the features of the first image and the features of the second image.
  • the second area information indicates an area corresponding to a position that affects the identification of the object in the second frame image. Therefore, the features of the second image extracted from that region indicate the features of the object to be detected. Therefore, for example, the model can be appropriately trained by updating the weights so that the features of the first image and the features of the second image are close to each other.
  • the position information is at least a part of a class activation map.
  • the motion information is an optical flow.
  • Yet another aspect of the present invention is to identify a frame image acquisition step of acquiring a temporally continuous first frame image and a second frame image and an object in the image in an object area identification method executed by a computer.
  • a position information acquisition step in which the first frame image is input to the model and position information indicating a position on the first frame image that affects the identification of an object in the first frame image is acquired.
  • a motion information acquisition step of acquiring motion information indicating the motion of the object in the first frame image based on the first frame image and the second frame image, and the acquired position information and motion information.
  • it is an object area specifying method including an area information generation step for generating area information indicating an area corresponding to a position where the object exists, which is an area on the first frame image. And.
  • Yet another aspect of the present invention is to use the computer as a frame image acquisition means for acquiring a temporally continuous first frame image and a second frame image, and the first frame image as a model for identifying an object in the image.
  • a position information acquisition means for inputting and acquiring position information indicating a position on the first frame image that affects the identification of an object in the first frame image, the first frame image, and the position information.
  • the motion information acquisition means for acquiring motion information indicating the motion of the object in the first frame image, and the first frame based on the acquired position information and motion information. It is an area on an image, and is an object area specifying program that functions as an area information generating means for generating area information indicating an area corresponding to a position where the object exists.
  • Object detection includes at least identifying the area corresponding to the location of the object present in the image.
  • the detection of an object may be to identify both the class of the object and the area corresponding to the position where the object exists, or the area corresponding to the specific object or the position where the object of the specific class exists. It may be to specify.
  • the device that executes learning and the device that performs object detection may be separate devices.
  • FIG. 1 is a block diagram showing an example of an outline configuration of the image processing device 1 according to the present embodiment.
  • the image processing unit 1 includes a system control unit 11, a system bus 12, an input / output interface 13, a storage unit 14, a communication unit 15, an input unit 16, and a display unit 17. It includes a GPU (Graphics Processing Unit) 18, a GPU memory 19 (or a video RAM), and an imaging unit 20.
  • the system control unit 11 and the input / output interface 13 are connected via the system bus 12.
  • Examples of the image processing device 1 include a server device, a personal computer, and the like.
  • the system control unit 11 is composed of a CPU (Central Processing Unit) 11a, a ROM (Read Only Memory) 11b, a RAM (Random Access Memory) 11c, and the like.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 13 performs interface processing between the system control unit 11, the storage unit 14, the communication unit 15, the input unit 16, the display unit 17, the GPU 18, the GPU memory 19, and the imaging unit 20.
  • the storage unit 14 is composed of, for example, a hard disk drive, a solid state drive, or the like.
  • the generated model 2 and training data used for generating the model 2 are stored in the storage unit 14.
  • the training data includes the video data and the label (Ground Truth) of the class of the object existing in the video indicated by the video data.
  • As an example of the video data format, H. 264, MPEG-2 and the like can be mentioned.
  • the storage unit 14 further stores an operating system, a model generation program, an object detection program, and the like.
  • the training data and various programs may be acquired from a predetermined computer via a network, or may be recorded on a recording medium such as an optical disk, a memory card, or a magnetic tape and read via a drive device. It may be.
  • the generated model 2 may be delivered via the network or via a recording medium. good.
  • the communication unit 15 is composed of, for example, a network interface controller or the like.
  • the communication unit 15 connects to another computer via a predetermined network such as the Internet or a LAN (Local Area Network), and controls the communication state with the computer.
  • a predetermined network such as the Internet or a LAN (Local Area Network)
  • the input unit 16 receives an operation by the operator and outputs a signal corresponding to the operation content to the system control unit 11.
  • Examples of the input unit 16 include a keyboard, a mouse, a touch panel, and the like.
  • the display unit 17 is composed of, for example, a graphic controller, a display, and the like.
  • the display unit 17 displays information such as images and characters under the control of the system control unit 11.
  • Examples of display panels include liquid crystal panels, organic EL (Light Emitting) panels, and the like.
  • the GPU 18 executes matrix operations and the like in machine learning under the control of the system control unit 11.
  • the GPU 18 pipelines a plurality of operations in parallel.
  • the GPU 18 and the GPU memory 19 are connected.
  • the GPU memory 19 stores data and calculation results used in the calculation by the GPU 18.
  • the system control unit 11 executes all the operations in machine learning, the GPU 18 and the GPU memory 19 are unnecessary.
  • the imaging unit 20 includes, for example, a digital camera including a CCD (Charge-Coupled Device) sensor, a CMOS (Complementary Metal Oxide Semiconductor) sensor, and the like.
  • the image pickup unit 39 captures a moving image based on the control by the system control unit 11.
  • the imaging unit 39 outputs moving image data indicating the captured moving image to the system control unit 11 or the storage unit 14.
  • the device that executes learning and the device that performs object detection are separate devices, the device that executes learning does not have to include the imaging unit 20.
  • the image processing device 1 is the imaging unit. It is not necessary to have 20.
  • the image processing device 1 itself does not have to include at least one of the input unit 16, the display unit 17, the GPU 18, the GPU memory 19, and the imaging unit 20. At least one of these may be connected to the image processing device 1 via wire or wireless.
  • FIG. 2 is a diagram showing an example of functional blocks of the system control unit 11 and the GPU 18 of the image processing device 1 according to the present embodiment.
  • the system control unit 11 and the GPU 18 read and execute various codes and the like included in the program stored in the storage unit 14 by the CPU 11a, so that the frame acquisition unit 111 and the position information acquisition unit 112 , The motion information acquisition unit 113, the area information generation unit 114, the training unit 115, the detection unit 116, and the like.
  • FIG. 3 is a diagram showing a configuration example of the model 2.
  • the model 2 includes a CAM detection unit 210, a flow detection unit 220, and a region estimation algorithm 230.
  • the CAM detection unit 210 includes the model 211.
  • the frame acquisition unit 111 acquires time-continuous frame images.
  • the frame image is a still image included in the moving image. It is assumed that the object 100 to be detected is shown in this moving image. This object 100 is assumed to be moving in the moving image. Of the frame images included in the moving image, at least one frame image does not have to include the object 100. That is, the object 100 may be framed out or framed in. Also, the object 100 does not have to move at all between some frame images.
  • This video contains temporally continuous frames.
  • the time-continuous frame is, for example, a frame in which the imaging time is continuous. For example, if the frame rate is 30 fps, frames are imaged at 1/30 second intervals.
  • the frame acquisition unit 111 may sequentially acquire frame images from the moving image data according to the imaging order.
  • the frame acquisition unit 111 acquires, for example, the frame t-1 and the frame t.
  • the frame t-1 is the t-1th frame image according to the imaging order among the frame images included in the moving image.
  • the frame t is the t-th frame image. Therefore, the frame t-1 and the frame t are continuous in time.
  • the position information acquisition unit 112 inputs the frame t-1 acquired by the frame acquisition unit 111 into the model 211. As a result, the position information acquisition unit 112 acquires the position information 510 indicating the position on the frame t-1 and affecting the identification of the object 100 in the frame t-1.
  • Model 211 identifies an object in the image. Therefore, the position information 510 indicates a position that affects the identification by the model 211.
  • Model 211 may be a classifier.
  • Model 211 may be, for example, CNN.
  • model 211 may include a convolutional layer, a pooling layer, a fully coupled layer, a softmax function, and the like. In model 211, the convolutional layer and the pooling layer generate a feature map of frame t-1.
  • the fully connected layer extracts the features of frame t-1 from the feature map.
  • the softmax function generates a value indicating the existence probability of each class in the frame t-1 from the extracted features.
  • Examples of CNN include ResNet, GoogleNet, AlexNet, VGGNet and the like.
  • the CAM detection unit 210 generates position information.
  • the position information acquisition unit 112 acquires position information from the CAM detection unit 210.
  • the position that affects the identification of the object 100 may be, for example, a position that is the basis for the identification of the object 100. Further, the position that affects the identification of the object 100 may be a position that is important for the identification of the object 100.
  • the position that affects the identification of the object 100 may be a position that distinguishes the object 100 from an object of a class different from the class of the object 100. Further, the position that affects the identification of the object 100 is compared with the case where the probability value output from the model 211 is changed from the case of other positions by changing the value of the position in the feature map generated by the model 211. It may be a big change.
  • the location information 510 may be, for example, a class activation map generated by a CAM algorithm or a part thereof. Examples of CAM algorithms include Grad-CAM, Grad-CAM ++, and Smooth Grad.
  • the CAM detection unit 210 may, given a class of an object, calculate the gradient of the final layer of the model 211 for each feature map according to that class.
  • the CAM detection unit 210 may calculate the weight of each feature map based on the calculated gradient.
  • the CAM detection unit 210 may generate the position information 510 by weighting the feature maps and adding these feature maps together.
  • the position information 510 may be, for example, a two-dimensional heat map showing a value indicating the degree of influence or importance on identification for each position.
  • the position information 510 may be a position matrix indicating a position where the degree of influence or the degree of importance is equal to or higher than a predetermined value. That is, the position information 510 may indicate an important position for identifying the object 100 in the frame t.
  • the position information acquisition unit 112 may extract a position whose degree of influence or importance is equal to or higher than a predetermined value from the activation map and generate a position matrix thereof.
  • the motion information acquisition unit 113 acquires motion information 520 indicating the movement of the object 100 in the frame t-1 based on the frame t-1 and the frame t acquired by the frame acquisition unit 111.
  • the movement of the object 100 may be the displacement of the object 100 between the frame t-1 and the frame t.
  • the frame t-1 corresponds to the object 100 before the movement
  • the frame t corresponds to the object after the movement.
  • the motion information 520 may indicate, for example, a travel direction and a travel distance (or a travel speed).
  • the motion information 520 may include a vector indicating a moving direction and a moving distance for each position in the frame t-1.
  • the motion information 520 may indicate the difference between the coordinates of the position and the coordinates after the movement for each position of the frame t-1.
  • the motion information 520 may be an optical flow.
  • the motion information acquisition unit 113 inputs the frame t-1 and the frame t to the flow detection unit 220, and acquires the motion information 520 from the flow detection unit 220.
  • the flow detection unit 220 may be a model including, for example, a CNN. Examples of the flow detection unit 220 include FlowNet, FlowNet2.0, LiteFlowNet, and the like. A pre-learned model may be used as the flow detection unit 220.
  • the flow detection unit 220 may be stored in the storage unit 14 in advance, or may be loaded into the RAM 14 or the GPU memory 19 when necessary.
  • a method for generating an optical flow a method that does not use machine learning may be used. Examples of such a method include a block matching method, a gradient method, and the like.
  • the area information generation unit 114 is an area on the frame t acquired by the frame acquisition unit 111 based on the position information 510 acquired by the position information acquisition unit 112 and the motion information 520 acquired by the motion information acquisition unit 113. Therefore, the area information 540 indicating the area corresponding to the position where the object 100 exists is generated.
  • the area corresponding to the position where the object 100 exists may be, for example, an area surrounding the object 100.
  • the shape of the region may be, for example, a rectangle. This area may be, for example, a bounding box.
  • the area information 540 may include, for example, the coordinates of the area and its size.
  • the coordinates of the region may be the coordinates of the center or the coordinates of any of the vertices.
  • the size of the region may include the height and width of the region.
  • the area information generation unit 114 may generate the area information 540 according to the area estimation algorithm 230. For example, the area information generation unit 114 may generate the area information 540 based on the integration of the position information 510 and the motion information 520. For example, the area information generation unit 114 may generate the area information 540 based on adding the position information 510 and the motion information 520 for each position. For example, the area information generation unit 114 may generate new position information 530 based on the position information 510 and the motion information 520.
  • FIG. 4 is a diagram showing an example of generating new position information 530. In FIG.
  • the position information 510 is, for example, a position matrix indicating the X coordinate and the Y coordinate of a position (a position important for identifying the object 100) whose degree of influence or importance is equal to or higher than a predetermined value.
  • the motion information 520 is a position information matrix showing the difference between the X coordinate and the Y coordinate of the position and the X coordinate and the Y coordinate of the destination position for each position in the frame t-1.
  • the area information generation unit 114 may generate new position information 530 by adding, for example, a matrix of position information 510 and a matrix of motion information 520 for each element. Specifically, addition may be performed for each element whose coordinates match between the position information 510 and the motion information 520. As a result, the position that affects the identification of the object 100 in the frame t-1 may be converted to the position after the movement in the frame t. For other positions, the motion information 520 may be taken over by the new position information 530 as it is.
  • the area information generation unit 114 estimates the area corresponding to the position of the object 100 based on the new position information 530. For example, in the new position information 530, the area information generation unit 114 may specify one or more range of positions where the movement direction and the movement distance are the same or similar to each other as candidates for the location of the object. Further, the area information generation unit 114 may specify the range of the position that affects the identification in the new position information 530 after the movement. The area information generation unit 114 may presume that among the candidates for the location of the object, the candidate including the range of the position that affects the identification after the movement is the location of the object 100. The area information generation unit 114 may set the area 531 circumscribing the estimated range at the location of the object 100. The area information generation unit 114 generates area information 540 indicating the area 531.
  • the position information 510 indicates a position that affects the identification of the object 100.
  • the value of the portion where the object 100 is easily visually distinguishable from the objects of other classes tends to be higher than the value of the other portion. Therefore, the position information 510 is likely to indicate a rough position of the object 100 or a part of the object 100. Therefore, the position information 510 does not always accurately indicate the entire range in which the object 100 exists.
  • the motion information 520 indicates the motion of the object 100. Assuming that the object 100 is moving between the frame t-1 and the frame t, there is a possibility that the motion information 520 indicates that there is movement over the entire range in which the object 100 exists.
  • the new position information 530 makes it possible to accurately estimate the area where the object 100 exists.
  • FIG. 5 is a diagram showing an estimation example of the area corresponding to the position of the object 100. It is assumed that moving objects 100, 110 and 120 are imaged and moving image data is generated. The classes of objects 100, 110 and 120 are different from each other. As shown in FIG. 5, frame t-1 includes objects 100, 110 and 120. When the position information 510 is generated for the class of the object 100, the position information 510 indicates, for example, a part of the positions 300 where the object 100 exists as a position that affects the identification. In the motion information 520 generated based on the frame t-1 and the frame t, it is shown that there is motion in the ranges 400, 410, and 420 in which the objects 100, 110, and 120 exist, respectively.
  • the range 400 out of the ranges 400, 410 and 420 overlaps with the position 300. Therefore, for example, a region 531 that surrounds the range 400 is estimated.
  • FIG. 6 is a diagram showing an example of the processing flow of the image processing apparatus 1 in the learning stage.
  • the image processing device 1 generates a model 2 for detecting an object by learning with weak supervised learning. Normally, when generating a model for detecting an object, area information is required as a label to be included in the training data. Area information requires manual annotation by humans. Moreover, even in semi-supervised learning, manual annotation of area information cannot be completely excluded. On the other hand, the image processing device 1 generates a model for detecting an object without manually annotating the area information by a human. As a result, the work cost due to annotation can be omitted.
  • the label required to generate model 2 is a class of objects.
  • Training data includes video data and class labels.
  • the training data may be stored in the storage unit 14 in advance.
  • the position information acquisition unit 112 acquires the position information 510 corresponding to the class acquired as a label by the frame acquisition unit 111 from the CAM detection unit 210.
  • the position information acquisition unit 112 acquires the position information 560 corresponding to the class acquired as a label from the CAM detection unit 210 by further inputting the frame t into the model 211.
  • the acquisition of the position information 560 means that the position information 510 is obtained. It is the same as getting.
  • the functions of the motion information acquisition unit 113 and the area information generation unit 114 are as described in Section 3-1.
  • the training unit 115 trains the model 211 based on the area information 540 generated by the area information generation unit 114.
  • the training unit 115 extracts the image 550 of the region 531 indicated by the region information 540 from the frame t.
  • the training unit 115 is an area 561 on the frame t based on the position information 560 acquired by the position information acquisition unit 112, and indicates an area 561 corresponding to a position that affects the identification of the object 100.
  • Generate information 570 For example, the training unit 115 may specify a range in the position information 560 in which the value indicating the degree of influence or the degree of importance is equal to or greater than a predetermined value.
  • the training unit 115 may set a region 561 that circumscribes the specified range.
  • the shape of the region 561 may be rectangular.
  • the area information 570 may include the coordinates and size of the area 561.
  • the training unit 115 extracts the image 580 of the region 561 indicated by the region information 570 from the frame t.
  • the training unit 115 updates the weight of the model 211 based on the image 550 and the image 580.
  • the bias of model 211 may be further updated.
  • the training unit 115 acquires the features of the image 550.
  • the training unit 115 may acquire feature information 590 indicating the features of the image 550 by inputting the image 550 into the model 240.
  • the model 240 is a model for extracting the features of the image.
  • Model 240 may be a classifier.
  • Model 240 may be CNN.
  • model 240 may include a convolutional layer, a pooling layer, a fully connected layer and a softmax function. In model 240, the convolutional layer and the pooling layer generate a feature map of image 550.
  • the fully connected layer transforms the generated feature map to generate feature information 590.
  • the feature information 590 may be, for example, a one-dimensional vector.
  • the training unit 115 acquires the features of the image 580.
  • the training unit 115 may acquire the feature information 600 indicating the features of the image 580 by inputting the image 580 into the model 260.
  • the structure and function of the model 260 may be the same as the structure and function of the model 240.
  • the model 240 and the model 260 may share weights.
  • the model 240 may also serve as the model 260.
  • the training unit 115 may update the weight of the model 211 based on the features of the image 550 and the features of the image 580. For example, the training unit 115 may calculate or acquire an error 610 between the feature information 590 and the feature information 600. For example, the error 610 is calculated using a predetermined loss function. The training unit 115 may update the weights of the model 211 based on the calculated error 610. For example, the training unit 115 backpropagates the error 610. As a result, the training unit 115 updates the weights of the models 240 and 260, and further updates the weights of the model 211. Models 211, 240 and 260 are trained so that feature information 590 and feature information 600 are close to each other by error backpropagation.
  • the motion is added to the important positions that affect the identification of the object 100 in the frame t-1, so that the motion information 510 and the motion information 520 are integrated. It is estimated that the position is converted to the position in frame t. From this point of view, it is assumed that the important position indicated by the new position information 530 and the important position indicated by the position information 560 correspond to each other. Further, the area information 570 indicates an area 561 corresponding to a position that affects the identification of the object 100 in the frame t. Therefore, it can be said that the features of the image 580 extracted from the region 561 represent the features of the object 100.
  • the training unit 115 may train the models 240, 260 and 211 based on the classification error between the class acquired as the label and the classification result of the class by the model 240. For example, the training unit 115 may update the weights of the models 240, 260 and 211 by backpropagating the classification error.
  • the training unit 115 When the training unit 115 finishes learning the model 211, the training unit 115 stores the model 2 in the storage unit 14. In the model 2, since it is the model 211 whose parameters are updated by learning, the training unit 115 may store the model 211 in the storage unit 14.
  • FIG. 7 is a diagram showing an example of the processing flow of the image processing apparatus 1 in the practical stage.
  • the frame acquisition unit 111 may sequentially acquire frame data from the image pickup unit 20 in real time, for example, while the image pickup unit 20 is capturing a moving image.
  • the frame acquisition unit 111 may acquire frame image data from the moving image data stored in advance in the storage unit 14.
  • the frame acquisition unit 111 may acquire frame image data from moving image data transmitted by streaming from another computer via a network.
  • the position information acquisition unit 112 may acquire the position information 510 corresponding to one or a plurality of classes from the CAM detection unit 210 by inputting the frame t-1 into the model 211.
  • the position information acquisition unit 112 may acquire only the position information 510 corresponding to the class.
  • the position information acquisition unit 112 may acquire the position information 510 of each of all the classes, for example.
  • the position information acquisition unit 112 acquires the position information 510 for each of the plurality of identifiable classes, for which the value indicating the existence probability output from the model 211 is equal to or greater than a predetermined value. You may.
  • the function of the motion information acquisition unit 113 is as described in Section 3-1.
  • the area information generation unit 114 generates the area information 540 for each class in which the motion information 520 is acquired by the motion information acquisition unit 113.
  • the area information generation unit 114 may output only the area information 540 as the detection result of the object 100.
  • Model 3 is a model that identifies objects in an image.
  • Model 3 may be, for example, a classifier.
  • Model 3 may be CNN.
  • Model 3 may be model 240 for which learning has been completed.
  • Model 3 generates class information 620 from image 550.
  • the class information 620 is information indicating the class of the object in the image 550.
  • the class information 620 may include a value indicating the existence probability of an object of each class.
  • the class information 620 may be information that identifies the class of the object having the highest probability of existence in the image 550 among the plurality of identifiable classes.
  • the detection unit 116 may input the image 550 into the model 3 for each class in which the image 550 is extracted to acquire the class information.
  • the detection unit 116 may specify the existence probability of the class from the class information for each class from which the image 550 is extracted. Then, the detection unit 116 may output the class information of the class having the highest existence probability and the area information 540 generated for the class as the detection result of the object 100. Alternatively, the detection unit 116 may output the class information and the area information 540 for each class whose existence probability is equal to or higher than a predetermined value.
  • Examples of the output destination of the detection result of the object 100 include a RAM 11c, a storage unit 14, a display unit 17, a computer other than the image processing device 1, and the like.
  • FIG. 8 is a flowchart showing an example of learning processing by the system control unit 11 and the GPU 18 of the image processing device 1.
  • the system control unit 11 and the GPU 18 execute the learning process according to the program code included in the model generation program.
  • the learning process may be executed in response to an instruction from the operator using the input unit 16.
  • the frame acquisition unit 111 acquires the first set of moving image data and class labels included in the training data stored in the storage unit 14 (step S101). Next, the frame acquisition unit 111 sets the frame number t to 1 (step S102). The frame acquisition unit 111 acquires the frame t from the acquired moving image data. Next, the position information acquisition unit 112 acquires the position information 510 corresponding to the class acquired as a label by inputting the frame t into the model 211 (step S103).
  • the frame acquisition unit 111 increments the frame number t by 1 (step S104).
  • the frame acquisition unit 111 acquires the frame t from the acquired moving image data.
  • the motion information acquisition unit 113 acquires motion information 520 by inputting the frame t-1 and the frame t into the flow detection unit 220 (step S105).
  • the frame t-1 at this point is the frame acquired in step S102.
  • the area information generation unit 114 integrates the position information 510 and the motion information 520 to generate the new position information 530 (step S106).
  • the area information generation unit 114 generates the area information 540 based on the generated new position information 530 (step S107).
  • the area information generation unit 114 extracts an image 550 of the area indicated by the area 531 indicated by the area information 540 from the frame t (step S108).
  • the training unit 115 acquires the position information 510 of the class acquired as a label by inputting the frame t into the model 211 (step S109). Next, the training unit 115 generates the area information 570 based on the acquired position information 510 (step S110). Next, the training unit 115 extracts the image 580 of the region 561 indicated by the region information 570 from the frame t (step S111).
  • the training unit 115 acquires the feature information 590 by inputting the extracted image 550 into the model 240. Further, the training unit 115 acquires the feature information 600 by inputting the extracted image 580 into the model 260. (Step S112). Next, the training unit 115 calculates an error 610 between the feature information 590 and the feature information 600. (Step S113). The training unit 115 then updates the weights and biases of the models 240, 260 and 211 by backpropagating the calculated error 610 (step S114). For convenience of explanation, the weight is updated for each frame, but for example, the weight may be updated for each batch including a predetermined number of frames or for each moving image data.
  • the training unit 115 determines whether or not there is a frame t + 1 in the acquired moving image data (step S115). If there is a frame t + 1 (step S115: YES), the process proceeds to step S104. On the other hand, when there is no frame t + 1 (step S115: NO), the training unit 115 determines whether or not the next moving image data is included in the training data (step S116). When there is the next moving image data (step S116: YES), the frame acquisition unit 111 acquires the next set of moving image data and class labels from the training data (step S117), and the process proceeds to step S102.
  • step S118 determines whether or not to end the learning. For example, when learning is executed a number of times corresponding to a preset number of epochs, the training unit 115 may determine that the learning is terminated. Alternatively, the training unit 115 may calculate the error 610 by detecting the object using the test data. The training unit 115 may determine that the learning is terminated when the average value of the calculated error 610 is less than a predetermined value. If the learning is not completed (step S118: NO), the process proceeds to step S101. When the learning ends (step S118: YES), the learning process ends.
  • FIG. 9 is a flowchart showing an example of object detection processing by the system control unit 11 and the GPU 18 of the image processing device 1.
  • the processing example shown in FIG. 9 is a processing example in which an object is detected in real time from a moving image captured by the imaging unit 20.
  • the object detection process is executed using the model 211 in which the learning by the learning process shown in FIG. 8 is completed.
  • the system control unit 11 and the GPU 18 execute the object detection process according to the program code included in the object detection program.
  • the object detection process may be executed when the imaging unit 20 starts imaging a moving image based on an instruction from the system control unit 11.
  • the frame acquisition unit 111 sets the frame number t to 0 (step S201). Next, the frame acquisition unit 111 increments the frame number t by 1 (step S202). Next, the frame acquisition unit 111 acquires the latest frame as the frame t from the image pickup unit 20 (step S203).
  • step S204 the frame acquisition unit 111 determines whether or not the frame number t is larger than 1 (step S204). If the frame number t is not greater than 1 (step S204: NO), the process proceeds to step S202.
  • step S204 when the frame number t is larger than 1 (step S204: YES), the position information acquisition unit 112 acquires the position information 510 by inputting the frame t-1 into the model 211 (step S205).
  • the position information acquisition unit 112 acquires the position information 510 corresponding to each of the one or a plurality of classes based on the identification result output from the model 211.
  • the motion information acquisition unit 113 acquires the motion information 520 by inputting the frame t-1 and the frame t into the flow detection unit 220 (step S206).
  • the area information generation unit 114 integrates the position information 510 and the motion information 520 for each class in which the position information 510 is acquired, and generates a new position information 530 (step S207).
  • the area information generation unit 114 generates area information 540 based on the new position information 530 for each class in which the new position information 530 is generated (step S208).
  • the area information generation unit 114 extracts the image 550 of the area 531 indicated by the area information 540 from the frame t for each class in which the area information 540 is generated (step S209).
  • the detection unit 116 acquires the class information 620 by inputting the image 550 into the model 3 for each class in which the image 550 is generated.
  • the detection unit 116 outputs the class information 620 and the area information 540 based on the identification result by the model 3 (step S210).
  • the detection unit 116 determines whether or not to end the object detection (step S211).
  • the conditions for ending the object detection may be predetermined according to the application of the image processing device 1. If the object detection is not completed (step S211: NO), the process proceeds to step S202. On the other hand, when the object detection ends (step S211: YES), the object detection process ends.
  • the image processing device 1 acquires the frame t-1 and the frame t. Further, the image processing device 1 inputs the frame t-1 to the model 211, and the position information indicating the position on the frame t-1 and affecting the identification of the object 100 in the frame t-1. Get 510. Further, the image processing device 1 acquires motion information 520 indicating the motion of the object 100 in the frame t-1 based on the frame t-1 and the frame t. Further, the image processing device 1 generates area information 540 indicating an area on the frame t-1 corresponding to the position where the object 100 exists, based on the acquired position information 510 and motion information 520. do.
  • the area information 540 indicating the area corresponding to the position where the object 100 exists is generated.
  • the position information 510 indicates a position that affects the identification of the object 100 in the frame image. Therefore, the position information 510 is likely to indicate a location in at least a certain range of the locations where the object 100 exists.
  • the motion information 520 indicates the motion of the object 100. Therefore, when the object 100 is moving, the motion information 520 is likely to indicate at least the entire location where the object 100 resides. Therefore, by generating the area information 540 using these information, it is possible to accurately identify the area corresponding to the position where the object 100 exists in the image.
  • the image processing device 1 may generate the area information 540 based on the integration of the position information 510 and the motion information 520.
  • the range corresponding to the position that affects the identification of the object 100 is specified among the plurality of ranges with motion in the frame image. Therefore, the area corresponding to the position where the object 100 exists can be accurately specified.
  • the image processing device 1 may generate motion information 520 indicating the moving direction and the moving distance of the object 100 for each position in the frame t-1. Further, the image processing device 1 may generate the area information 540 by adding the position information 510 and the motion information 520 for each position. In this case, the position that affects the identification of the object 100 is changed by the moving direction and the moving distance at that position.
  • the image processing device 1 inputs the image 550 of the area indicated by the acquired area information 540 in the frame t into the model 3 that identifies the object 100 in the image, so that the object 100 of the frame t is input. It may be detected.
  • the image 550 corresponding to the region indicated by the generated region information 540 is input to the model 3 that identifies the object 100 in the image. Therefore, the object 100 in the frame image is identified by this model 3.
  • the area information 540 indicates the area 531 corresponding to the position of the object 100. Therefore, the object 100 in the frame image can be detected with high accuracy. Further, since the highly accurate area information 540 is automatically generated, the object 100 can be detected without the device learning that requires the annotation of the area information by a human.
  • the image processing device 1 may train the model 211 based on the generated area information 540.
  • the model 211 is trained based on the automatically generated area information 540, human annotation of the area information for machine learning to identify the area 531 corresponding to the position of the object 100. Is unnecessary.
  • the image processing device 1 further inputs the frame t to the model 211, and provides the second position information 560 indicating a position on the frame t that affects the identification of the object 100 in the frame t. You may get it. Further, the image processing device 1 may extract the image 550 of the region 531 indicated by the acquired region information 540 from the frame t. Further, the image processing device 1 provides the area information 570 indicating the area 560 on the frame t and the area 560 corresponding to the position affecting the identification of the object 100, based on the acquired second position information 510. It may be generated. Further, the image processing device 1 may extract the image 580 of the region 561 indicated by the acquired region information 570 from the frame t.
  • the image processing device 1 may update the weight of the model 211 based on the acquired images 550 and 580.
  • the position indicated by the position information 510 and the position affecting the identification of the object 100 in the frame t-1 is changed by the movement indicated by the motion information 520, the changed position is in the frame t. It is considered to correspond to the position that affects the identification of the object 100. Therefore, the model 211 can be properly trained by using the image 550 and the image 580.
  • the image processing device 1 may acquire the features of the extracted image 550. Further, the image processing device 1 may acquire the characteristics of the extracted image 580. Further, the image processing device 1 may update the weight of the model 211 based on these acquired features.
  • the area information 570 indicates an area corresponding to a position that affects the identification of the object 100 in the frame t. Therefore, the features of the image 580 extracted from that region indicate the features of the object 100 to be detected. Therefore, for example, the model 211 can be appropriately trained by updating the weights so that the features of the image 550 and the features of the image 580 are close to each other.
  • the location information 510 may be at least a part of the class activation map.
  • the motion information 520 may be an optical flow.
  • Image processing device 11
  • System unit 12 System bus 13
  • Input / output interface 14 Storage unit 15
  • Communication unit 16
  • Input unit 17 Display unit 18
  • GPU 19
  • Display unit 111
  • Frame acquisition unit 112 Position information acquisition unit 113
  • Motion information acquisition unit 114
  • Area information generation unit 115 Training unit 116 Detection unit 2, 3, 211, 240, 260 Model 210 CAM detection unit 220
  • Flow detection unit 230 Region estimation algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

画像においてオブジェクトが存在する位置に対応する領域を精度よく特定することを目的とする。 オブジェクト領域特定装置は、時間的に連続する第1フレーム画像及び第2フレーム画像を取得する。オブジェクト領域特定装置は、画像内のオブジェクトを識別するモデルに第1フレーム画像を入力して、第1フレーム画像上の位置であって、第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する。オブジェクト領域特定装置は、第1フレーム画像及び第2フレーム画像に基づいて、第1フレーム画像内におけるオブジェクトの動きを示す動き情報を取得する。オブジェクト領域特定装置は、取得された位置情報及び動き情報に基づいて、第1フレーム画像上の領域であって、オブジェクトが存在する位置に対応する領域を示す領域情報を生成する。

Description

オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム
 本発明は、画像認識において、オブジェクトのクラスの識別に影響を与える位置をマッピングする技術分野に関する。
 従来、コンピュータビジョンにおいて、畳み込みニューラルネットワーク(CNN)を用いた画像認識の研究開発が盛んに行われている。CNNは、訓練データとなる画像からエンドツーエンドの学習が可能である。その一方で、CNNを用いたモデルは複雑であることから、モデルの解釈が難しいという面がある。そこで、そのようなモデルの解釈手法の一つとして、クラスアクティベーションマッピング(CAM)が登場するに至っている(例えば、非特許文献1)。CAMは、CNNが画像からオブジェクトのクラスを識別したとき、その画像において、そのクラスの識別の根拠となる位置を示すクラスアクティベーションマップ(或いは、ヒートマップ、ローカリゼーションマップ)を出力する。このマップは、画像において、識別されたクラスのオブジェクトが存在する場所を大雑把に示していると言うことができる。
Ramprasaath R. Selvaraju1,et al.、"Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization"、[令和2年3月3日検索]、[online]、2016年10月7日、インターネット<URL: https://arxiv.org/abs/1610.02391>
 しかしながら、クラスアクティベーションマップは、識別されたクラスのオブジェクトが存在する場所全体を正確に示すのではなく、他のクラスとの区別がしやすい場所を強調しやすいなどの性質がある。そのため、CAMを単純に利用しても、画像内のオブジェクトを囲うような領域、例えばバウンディングボックスを、精度よく特定することが難しい。
 本願発明は以上の点に鑑みてなされてものであり、その課題の一例は、画像においてオブジェクトが存在する位置に対応する領域を精度よく特定することが可能なオブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラムを提供することである。
 上記課題を解決するために、本発明の一の側面は、時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得手段と、画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得手段と、前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得手段と、前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成手段と、を備えるオブジェクト領域特定装置であることを特徴とする。
 この側面によれば、位置情報及び動き情報に基づいて、オブジェクトが存在する位置に対応する領域を示す領域情報が生成される。位置情報は、フレーム画像内のオブジェクトの識別に影響を与える位置を示す。従って、位置情報は、そのオブジェクトが存在する場所のうち、少なくともある程度の範囲の場所を示す蓋然性がある。動き情報は、そのオブジェクトの動きを示す。従って、そのオブジェクトが動いている場合、動き情報は、そのオブジェクトが存在する場所全体を少なくとも示す蓋然性がある。そのため、これらの情報を用いて領域情報を生成することで、画像においてオブジェクトが存在する位置に対応する領域を精度よく特定することができる。
 本発明の別の側面は、前記オブジェクト領域特定装置において、前記領域情報生成手段は、前記位置情報と前記動き情報とを統合することに基づいて、前記領域情報を生成することを特徴とする。
 この側面によれば、位置情報と動き情報との統合により、フレーム画像において、動きがある複数の範囲のうち、オブジェクトの識別に影響を与える位置に対応する範囲が特定される。従って、オブジェクトが存在する位置に対応する領域を精度よく特定することができる。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記動き情報取得手段は、前記第1フレーム画像における各位置について、前記オブジェクトの移動方向及び移動距離を示す前記動き情報を生成し、前記領域情報生成手段は、前記位置情報と前記動き情報とを、位置ごとに足し合わせることに基づいて、前記領域情報を生成することを特徴とする。
 この側面によれば、オブジェクトの識別に影響を与える位置が、その位置における移動方向及び移動距離で変更される。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記第2フレーム画像のうち、前記取得された領域情報により示される領域の画像を、画像内のオブジェクトを識別する第2モデルに入力することにより、前記第2フレーム画像のオブジェクトを検出する検出手段を更に備えることを特徴とする。
 この側面によれば、フレーム画像において、生成された領域情報により示される領域に対応する画像が、その画像内のオブジェクトを識別するモデルに入力される。従って、フレーム画像内のオブジェクトがこのモデルにより識別される。また、領域情報により、そのオブジェクトの位置に対応する領域が示される。従って、フレーム画像内のオブジェクトを精度よく検出することができる。また、精度の高い領域情報が自動的に生成されるので、人間による領域情報のアノテーションを必要とする機械学習なくして、オブジェクトの検出が可能である。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記生成された領域情報に基づいて、前記モデルを訓練する訓練手段を更に備えることを特徴とする。
 この側面によれば、自動的に生成された領域情報に基づいて、モデルが訓練されるので、オブジェクトの位置に対応する領域を特定するための機械学習のために、人間による領域情報のアノテーションが不要となる。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記位置情報取得手段は、前記モデルに更に前記第2フレーム画像を入力して、前記第2フレーム画像上の位置であって、前記第2フレーム画像内のオブジェクトの識別に影響を与える位置を示す第2位置情報を取得し、前記訓練手段は、前記第2フレーム画像から、前記取得された領域情報により示される領域の第1画像を抽出するする第1抽出手段と、前記取得された第2位置情報に基づいて、前記第2フレーム画像上の領域であって、前記オブジェクトの識別に影響を与える位置に対応する領域を示す第2領域情報を生成する第2領域情報生成手段と、前記第2フレーム画像から、前記取得された第2領域情報により示される領域の第2画像を抽出する第2抽出手段と、前記取得された第1画像及び第2画像に基づいて、前記モデルの重みを更新する更新手段と、を含むことを特徴とする。
 この発明によれば、第2フレーム画像のうち、位置情報及び動き情報に基づいて生成された領域情報により示される領域の第1画像と、第2フレーム画像のうち、第2位置情報に基づいて生成された第2領域情報により示される領域の第2画像と、に基づいて、モデルの重みが更新される。位置情報により示される位置であって、第1フレーム画像においてオブジェクトの識別に影響を与える位置が、動き情報により示される動きで変更される場合、変更後の位置は、第2フレーム画像において、オブジェクトの識別に影響を与える位置に対応するものと考えられる。そのため、第1画像及び第2画像を用いることで、モデルを適切に訓練することができる。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記訓練手段は、前記抽出された第1画像の特徴を取得する第1特徴取得手段と、前記抽出された第2画像の特徴を取得する第2特徴取得手段と、を更に含み、前記更新手段は、前記取得された第1特徴及び第2特徴に基づいて、前記モデルの重みを更新することを特徴とする。
 この発明によれば、第1画像の特徴及び第2画像の特徴に基づいて、モデルの重みが更新される。第2領域情報は、第2フレーム画像において、オブジェクトの識別に影響を与える位置に対応する領域を示す。従って、その領域から抽出された第2画像の特徴は、検出される対象となるオブジェクトの特徴を示す。そこで、例えば、第1画像の特徴と第2画像の特徴とが互いに近づくように、重みが更新されることにより、モデルを適切に訓練することができる。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記位置情報は、クラスアクティベーションマップの少なくとも一部であることを特徴とする。
 本発明の更に別の側面は、前記オブジェクト領域特定装置において、前記動き情報は、オプティカルフローであることを特徴とする。
 本発明の更に別の側面は、コンピュータにより実行されるオブジェクト領域特定方法において、時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得ステップと、画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得ステップと、前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得ステップと、前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成ステップと、を含むオブジェクト領域特定方法であることを特徴とする。
 本発明の更に別の側面は、コンピュータを、時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得手段と、画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得手段と、前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得手段と、前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成手段と、として機能させるオブジェクト領域特定プログラムであることを特徴とする。
 本発明によれば、画像においてオブジェクトが存在する位置に対応する領域を精度よく特定することができる。
一実施形態に係る画像処理装置1の概要構成の一例を示すブロック図である。 一実施形態に係る画像処理装置1のシステム制御部11及びGPU18の機能ブロックの一例を示す図である。 モデル2の構成例を示す図である。 新位置情報530の生成例を示す図である。 オブジェクト100の位置に対応する領域の推定例を示す図である。 学習段階における画像処理装置1の処理の流れの一例を示す図である。 実用段階における画像処理装置1の処理の流れの一例を示す図である。 画像処理装置1のシステム制御部11及びGPU18による学習処理の一例を示すフローチャートである。 画像処理装置1のシステム制御部11及びGPU18によるオブジェクト検出処理の一例を示すフローチャートである。
 以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態においては、画像からオブジェクトを検出するモデルを生成するための学習の実行と、生成されたモデルを用いてオブジェクトの検出を行う画像処理装置に対して本発明を適用した場合の実施形態である。オブジェクトの検出は、画像内に存在するオブジェクトが存在する位置に対応する領域を特定することを少なくとも含む。オブジェクトの検出は、オブジェクトのクラス及びそのオブジェクトが存在する位置に対応する領域の両方を特定することであってもよいし、特定のオブジェクト若しくは特定のクラスのオブジェクトが存在する位置に対応する領域を特定することであってもよい。なお、学習を実行する装置と、オブジェクト検出を行う装置とは別々の装置であってもよい。
[1.画像処理装置の構成]
 先ず、画像処理装置1の構成について、図1を用いて説明する。図1は、本実施形態に係る画像処理装置1の概要構成の一例を示すブロック図である。図1に示すように、画像処理装置1は、システム制御部11と、システムバス12と、入出力インターフェース13と、記憶部14と、通信部15と、入力部16と、表示部17と、GPU(Graphics Processing Unit)18と、GPUメモリ19(または、ビデオRAM)と、撮像部20と、を備えている。システム制御部11と入出力インターフェース13とは、システムバス12を介して接続されている。画像処理装置1の例として、サーバ装置、パーソナルコンピュータ等が挙げられる。
 システム制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c等により構成されている。
 入出力インターフェース13は、システム制御部11と、記憶部14、通信部15、入力部16、表示部17、GPU18、GPUメモリ19及び撮像部20と、の間のインターフェース処理を行う。
 記憶部14は、例えば、ハードディスクドライブ又はソリッドステートドライブ等により構成されている。この記憶部14には、生成されたモデル2、及びモデル2の生成に用いられる訓練データ等が記憶される。訓練データは、動画データ及びその動画データにより示される動画内に存在するオブジェクトのクラスのラベル(Ground Truth)を含む。動画データのフォーマットの例として、H.264、MPEG-2等が挙げられる。記憶部14には、更にオペレーティングシステム、モデル生成用のプログラム、オブジェクト検出用のプログラム等が記憶されている。訓練データ及び各種プログラムは、例えば、所定のコンピュータからネットワークを介して取得されるようにしてもよいし、光ディスク、メモリカード、磁気テープ等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。モデル2を生成する装置とオブジェクト検出を行う装置とが別々の装置である場合、生成されたモデル2の受け渡しは、ネットワークを介して行われてもよいし、記録媒体を介して行われてもよい。
 通信部15は、例えばネットワークインターフェースコントローラ等により構成されている。通信部15は、インターネット、LAN(Local Area Network)等の所定のネットワークを介して他のコンピュータと接続し、そのコンピュータとの通信状態を制御する。
 入力部16は、オペレータによる操作を受け付け、操作内容に対応する信号をシステム制御部11に出力する。入力部16の例として、キーボード、マウス、タッチパネル等が挙げられる。
 表示部17は、例えば、グラフィックコントローラ及びディスプレイ等により構成されている。表示部17は、システム制御部11の制御により、画像、文字等の情報を表示する。ディスプレイのパネルの例として、液晶パネル、有機EL(Light Emitting)パネル等が挙げられる。
 GPU18は、システム制御部11からの制御により、機械学習における行列演算等を実行する。GPU18は、複数の演算を並列にパイプライン処理する。GPU18とGPUメモリ19とは接続されている。GPUメモリ19は、GPU18による演算に用いられるデータや演算結果を記憶する。なお、システム制御部11が機械学習における全ての演算を実行する場合、GPU18及びGPUメモリ19は不要である。
 撮像部20は、例えばCCD(Charge-Coupled Device)センサ、又はCMOS(Complementary Metal Oxide Semiconductor)センサ等を備えるデジタルカメラを含む。撮像部39は、システム制御部11による制御に基づき、動画を撮像する。撮像部39は、撮像された動画を示す動画データをシステム制御部11又は記憶部14に出力する。学習を実行する装置と、オブジェクト検出を行う装置とが別々の装置である場合においては、学習を実行する装置は、撮像部20を備えなくてもよい。また、撮像部20により撮像される動画からリアルタイムでオブジェクト検出を実行するのではなく、他のコンピュータ又は記録媒体から取得された動画データからオブジェクト検出を実行する場合、画像処理装置1は、撮像部20を備えなくてもよい。
 画像処理装置1自身は、入力部16、表示部17、GPU18、GPUメモリ19及び撮像部20の少なくとも何れか一は備えなくてもよい。これらのうち少なくとも一つは、有線又は無線を介して画像処理装置1と接続されてもよい。
[2.システム制御部の機能概要]
 次に、図2乃至図7を用いて、システム制御部11及びGPU18の機能概要について説明する。図2は、本実施形態に係る画像処理装置1のシステム制御部11及びGPU18の機能ブロックの一例を示す図である。システム制御部11及びGPU18は、CPU11aが、記憶部14に記憶されているプログラムに含まれる各種コード等を読み出し実行することにより、図2に示すように、フレーム取得部111、位置情報取得部112、動き情報取得部113、領域情報生成部114、訓練部115、検出部116等として機能する。
 図3は、モデル2の構成例を示す図である。図3に示すように、モデル2は、CAM検出部210と、フロー検出部220と、領域推定アルゴリズム230と、を含む。CAM検出部210は、モデル211を含む。
[2-1.基本機能]
 フレーム取得部111は、時間的に連続するフレーム画像を取得する。フレーム画像は、動画に含まれる静止画である。この動画には、検出される対象であるオブジェクト100が映っていると想定される。このオブジェクト100は、動画内で動いていると想定される。動画に含まれるフレーム画像のうち、少なくとも一のフレーム画像は、オブジェクト100を含まなくてもよい。すなわち、オブジェクト100がフレームアウトしたりフレームインしたりしてもよい。また、幾つかのフレーム画像間においては、オブジェクト100が全く動かなくてもよい。この動画は、時間的に連続するフレームを含む。時間的に連続するフレームとは、例えば、撮像時刻が連続するフレームである。例えば、フレームレートが30fpsである場合、30分の1秒間隔でフレームが撮像される。フレーム取得部111は、撮像順序に従って、動画データから順次フレーム画像を取得してもよい。図3において、フレーム取得部111は、例えばフレームt-1及びフレームtを取得する。フレームt-1は、動画に含まれるフレーム画像のうち、撮像順序に従ってt-1番目のフレーム画像である。フレームtは、t番目のフレーム画像である。従って、フレームt-1とフレームtとは時間的に連続する。
 位置情報取得部112は、モデル211に、フレーム取得部111により取得されたフレームt-1を入力する。これにより、位置情報取得部112は、フレームt-1上の位置であって、フレームt-1内のオブジェクト100の識別に影響を与える位置を示す位置情報510を取得する。モデル211は、画像内のオブジェクトを識別する。従って、位置情報510は、モデル211による識別に影響を与える位置を示す。モデル211は、分類器であってもよい。モデル211は、例えばCNNであってもよい。例えば、モデル211は、畳み込み層、プーリング層、全結合層、ソフトマックス関数等を含んでもよい。モデル211において、畳み込み層及びプーリング層は、フレームt-1の特徴マップを生成する。全結合層は、特徴マップから、フレームt-1の特徴を抽出する。ソフトマックス関数は、抽出された特徴から、フレームt-1における各クラスの存在確率を示す値を生成する。CNNの例として、ResNet、GoogleNet、AlexNet、VGGNet等が挙げられる。CAM検出部210は、位置情報を生成する。位置情報取得部112は、CAM検出部210から位置情報を取得する。オブジェクト100の識別に影響を与える位置とは、例えばオブジェクト100の識別の根拠となる位置であってもよい。また、オブジェクト100の識別に影響を与える位置とは、オブジェクト100の識別に重要な位置であってもよい。また、オブジェクト100の識別に影響を与える位置とは、オブジェクト100を、そのオブジェクト100のクラスとは異なるクラスのオブジェクトと区別化する位置であってもよい。また、オブジェクト100の識別に影響を与える位置とは、モデル211が生成する特徴マップにおいて、その位置の値が変化することによって、モデル211から出力される確率値が、他の位置の場合と比較して大きく変化することであってもよい。位置情報510は、例えばCAMアルゴリズムにより生成されるクラスアクティベーションマップ又はその一部であってもよい。CAMのアルゴリズムの例として、Grad-CAM、Grad-CAM++、Smooth Grad等が挙げられる。例えば、CAM検出部210は、或るオブジェクトのクラスが与えられると、そのクラスに応じて、各特徴マップについて、モデル211の最終層の勾配を算出してもよい。CAM検出部210は、算出された勾配に基づいて、各特徴マップの重みを算出してもよい。CAM検出部210は、特徴マップに重みを掛けて、これらの特徴マップを足し合わせることにより、位置情報510を生成してもよい。位置情報510は、例えば識別に対する影響度合い又は重要度を示す値を位置ごとに示す二次元のヒートマップであってもよい。或いは、位置情報510は、影響度合い又は重要度合いが所定値以上である位置を示す位置行列であってもよい。すなわち、位置情報510は、フレームtにおいて、オブジェクト100の識別について重要な位置を示してもよい。位置情報取得部112は、アクティベーションマップから、影響度合い又は重要度合いが所定値以上である位置を抽出して、その位置行列を生成してもよい。
 動き情報取得部113は、フレーム取得部111により取得されたフレームt-1及びフレームtに基づいて、フレームt-1内におけるオブジェクト100の動きを示す動き情報520を取得する。オブジェクト100の動きとは、フレームt-1とフレームtとの間での、オブジェクト100の変位であってもよい。フレームt-1とフレームtとの関係において、フレームt-1は、移動前におけるオブジェクト100に対応し、フレームtは、移動後におけるオブジェクトに対応する。動き情報520は、例えば、移動方向及び移動距離(或いは移動速度)を示してもよい。例えば、動き情報520は、フレームt-1における各位置について、移動方向及び移動距離を示すベクトルを含んでもよい。例えば、動き情報520は、フレームt-1の各位置について、その位置の座標と、移動後の座標との差分を示してもよい。例えば、動き情報520は、オプティカルフローであってもよい。例えば、動き情報取得部113は、フレームt-1及びフレームtをフロー検出部220に入力して、フロー検出部220から動き情報520を取得する。フロー検出部220は、例えばCNNを含むモデルであってもよい。フロー検出部220の例として、FlowNet、FlowNet 2.0、LiteFlowNet等が挙げられる。フロー検出部220として、予め学習済みのモデルが使用されてもよい。フロー検出部220は、予め記憶部14に記憶されてもよく、必要なときにRAM14又はGPUメモリ19にロードされてもよい。オプティカルフローの生成方法として、機械学習を用いない方法が用いられてもよい。そのような方法の例として、ブロックマッチング法、勾配法等が挙げられる。
 領域情報生成部114は、位置情報取得部112により取得された位置情報510及び動き情報取得部113により取得された動き情報520に基づいて、フレーム取得部111により取得されたフレームt上の領域であって、オブジェクト100が存在する位置に対応する領域を示す領域情報540を生成する。オブジェクト100が存在する位置に対応する領域とは、例えばオブジェクト100を囲むような領域であってもよい。領域の形状は、例えば矩形であってもよい。この領域は、例えばバウンディングボックスであってもよい。領域情報540は、例えばその領域の座標及びそのサイズを含んでもよい。領域の座標は、中心座標又は何れかの頂点の座標であってもよい。領域のサイズは、領域の高さ及び幅を含んでもよい。
 領域情報生成部114は、領域推定アルゴリズム230に従って、領域情報540を生成してもよい。例えば、領域情報生成部114は、位置情報510と動き情報520とを統合することに基づいて、領域情報540を生成してもよい。例えば、領域情報生成部114は、位置情報510と動き情報520とを、位置ごとに足し合わせることに基づいて、領域情報540を生成してもよい。例えば、領域情報生成部114は、位置情報510及び動き情報520に基づいて、新位置情報530を生成してもよい。図4は、新位置情報530の生成例を示す図である。図4において、位置情報510は、例えば影響度合い又は重要度合いが所定値以上である位置(オブジェクト100の識別に重要な位置)のX座標及びY座標をそれぞれ示す位置行列である。図4において、動き情報520は、フレームt-1における各位置について、その位置のX座標及びY座標と、移動先の位置のX座標及びY座標と、の差分を示す位置情報行列である。領域情報生成部114は、例えば位置情報510の行列と、動き情報520の行列とを、要素ごとに足し合わせることにより、新位置情報530を生成してもよい。具体的には、位置情報510と動き情報520との間で座標が一致する要素ごとに、足し合わせが行われてもよい。これにより、フレームt-1においてオブジェクト100の識別に影響を与える位置が、フレームtにおける移動後の位置に変換されてもよい。その他の位置については、動き情報520がそのまま新位置情報530に引き継がれてもよい。
 領域情報生成部114は、新位置情報530に基づいて、オブジェクト100の位置に対応する領域を推定する。例えば、領域情報生成部114は、新位置情報530において、移動方向及び移動距離が互いに同一又は類似する位置の範囲を、オブジェクトの場所の候補として一又は複数特定してしてもよい。また、領域情報生成部114は、新位置情報530において、移動後において、識別に影響を与える位置の範囲を特定してもよい。領域情報生成部114は、オブジェクトの場所の候補のうち、移動後において、識別に影響を与える位置の範囲を含む候補を、オブジェクト100の場所と推定してもよい。領域情報生成部114は、オブジェクト100の場所に推定された範囲を外接する領域531を設定してもよい。領域情報生成部114は、領域531を示す領域情報540を生成する。
 前述したように、位置情報510は、オブジェクト100の識別に影響を与える位置を示す。位置情報510においては、オブジェクト100が他のクラスのオブジェクトと視覚的に区別がしやすい箇所の値が、他の部分の値と比べて高くなりやすい。従って、位置情報510は、オブジェクト100の大雑把な位置又はオブジェクト100の一部分の位置を示す蓋然性がある。そのため、位置情報510は、オブジェクト100が存在する範囲全体を正確に示すとは限らない。一方、動き情報520は、オブジェクト100の動きを示す。フレームt-1とフレームtとの間でオブジェクト100が動いていると仮定すれば、動き情報520において、オブジェクト100が存在する範囲全体について、動きがあることが示される蓋然性がある。しかしながら、検出対象であるオブジェクト100以外に、フレーム画像内に動いているオブジェクトが存在しない場合、その範囲についても、動きがあることが示される。そのため、動き情報520のみでは、オブジェクト100の場所を特定することは難しい。オブジェクトが移動する方向及び距離の少なくとも何れか一方は、オブジェクト間で異なる可能性がある。そこで、位置情報510と動き情報520とを統合することで、フレーム画像において動きがある複数の範囲のうち、オブジェクト100の識別に影響を与える位置を含む範囲を特定することができる。そのため、新位置情報530により、オブジェクト100が存在する領域を精度よく推定することが可能となる。
 図5は、オブジェクト100の位置に対応する領域の推定例を示す図である。動いているオブジェクト100、110及び120が撮像されて、動画データが生成されたとする。オブジェクト100、110及び120のクラスは互いに異なる。図5に示すように、フレームt-1は、オブジェクト100、110及び120を含む。オブジェクト100のクラスについて、位置情報510が生成される場合、その位置情報510は、例えばオブジェクト100が存在する位置のうち、一部の位置300を、識別に影響を与える位置として示す。フレームt-1及びフレームtに基づいて生成される動き情報520において、オブジェクト100、110及び120それぞれが存在する範囲400、410及び420について、動きがあることを示している。位置情報510と動き情報520を統合して生成された新位置情報530においては、範囲400、410及び420のうち、範囲400が、位置300と重複している。従って、例えば範囲400を囲むような領域531が推定される。
[2-2.学習段階]
 図6は、学習段階における画像処理装置1の処理の流れの一例を示す図である。画像処理装置1は、弱教師あり学習により、オブジェクトを検出するためのモデル2を生成する。通常、オブジェクトを検出するためのモデルを生成する場合、訓練データに入れるラベルとして、領域情報が必要である。領域情報は、人間の手動によるアノテーションが必要である。また、半教師あり学習であっても、手動による領域情報のアノテーションを完全に排除することはできない。これに対して、画像処理装置1は、人間の手動による領域情報のアノテーションなくして、オブジェクトを検出するためのモデルを生成する。これにより、アノテーションによる作業コストを省略することができる。モデル2の生成に必要なラベルは、オブジェクトのクラスである。
 学習段階において、フレーム取得部111は、訓練データを取得する。訓練データは、動画データ及びクラスのラベルを含む。例えば、訓練データは、記憶部14に予め記憶されてもよい。
 位置情報取得部112は、モデル211に、フレームt-1を入力することにより、フレーム取得部111によりラベルとして取得されたクラスに対応する位置情報510を、CAM検出部210から取得する。位置情報取得部112は、モデル211に、更にフレームtを入力することにより、ラベルとして取得されたクラスに対応する位置情報560を、CAM検出部210から取得する。位置情報取得部112が、動画データから順次フレーム画像を取得し、位置情報取得部112が、順次フレーム画像をモデル211に入力する場合には、位置情報560を取得することは、位置情報510を取得することと同一である。
 動き情報取得部113及び領域情報生成部114の機能は、3-1項で述べたとおりである。
 訓練部115は、領域情報生成部114により生成された領域情報540に基づいて、モデル211を訓練する。
 例えば、訓練部115は、フレームtから、領域情報540により示される領域531の画像550を抽出する。
 また、訓練部115は、位置情報取得部112により取得された位置情報560に基づいて、フレームt上の領域561であって、オブジェクト100の識別に影響を与える位置に対応する領域561を示す領域情報570を生成する。例えば、訓練部115は、位置情報560において、影響度合い又は重要度を示す値が所定値以上である範囲を特定してもよい。訓練部115は、特定された範囲を外接する領域561を設定してもよい。領域561の形状は矩形であってもよい。領域情報570は、領域561の座標及びサイズを含んでもよい。
 訓練部115は、フレームtから、領域情報570により示される領域561の画像580を抽出する。
 訓練部115は、画像550及び画像580に基づいて、モデル211の重みを更新する。モデル211のバイアスが更に更新されてもよい。
 例えば、訓練部115は、画像550の特徴を取得する。例えば、訓練部115は、画像550をモデル240に入力することにより、画像550の特徴を示す特徴情報590を取得してもよい。モデル240は、画像の特徴を抽出するモデルである。モデル240は、分類器であってもよい。モデル240は、CNNであってもよい。例えば、モデル240は、畳み込み層、プーリング層、全結合層及びソフトマックス関数を含んでもよい。モデル240において、畳み込み層及びプーリング層は、画像550の特徴マップを生成する。全結合層は、生成された特徴マップを変換して、特徴情報590を生成する。特徴情報590は、例えば一次元のベクトルであってもよい。
 また、訓練部115は、画像580の特徴を取得する。例えば、訓練部115は、画像580をモデル260に入力することにより、画像580の特徴を示す特徴情報600を取得してもよい。モデル260の構造及び機能は、モデル240の構造及び機能と同一であってもよい。モデル240とモデル260とは、重みを共有してもよい。或いは、モデル240がモデル260を兼ねてもよい。
 訓練部115は、画像550の特徴及び画像580の特徴に基づいて、モデル211の重みを更新してもよい。例えば、訓練部115は、特徴情報590と特徴情報600との間の誤差610を算出又は取得してもよい。例えば、所定の損失関数を用いて誤差610が算出される。訓練部115は、算出された誤差610に基づいて、モデル211の重みを更新してもよい。例えば、訓練部115は、誤差610を逆伝搬する。これにより、訓練部115は、モデル240及び260の重みを更新し、更にモデル211の重みを更新する。誤差逆伝搬により、特徴情報590と特徴情報600とが互いに近づくように、モデル211、240及び260が訓練される。
 図4を用いて説明した例において、位置情報510と動き情報520とを統合することにより、フレームt-1においてオブジェクト100の識別に影響を与える重要な位置に、動きが加わることで、それらの位置が、フレームtにおける位置に変換されるものと推定される。この観点から、新位置情報530により示される重要な位置と、位置情報560により示される重要な位置とは、対応するものと想定される。また、領域情報570は、フレームtにおいて、オブジェクト100の識別に影響を与える位置に対応する領域561を示す。従って、領域561から抽出された画像580の特徴は、オブジェクト100の特徴を表すと言える。そこで、特徴情報590と特徴情報600とが互いに近づくようにモデル211を訓練することで、適切な学習が行われる。そして、新位置情報530を用いた、オブジェクト100が存在する領域531の推定精度が、学習前よりも向上する。
 訓練部115は、ラベルとして取得されたクラスと、モデル240によるクラスの識別結果と間の分類誤差に更に基づいて、モデル240、260及び211を訓練してもよい。例えば、訓練部115は、分類誤差を逆伝搬することにより、モデル240、260及び211の重みを更新してもよい。
 訓練部115は、モデル211の学習を終えると、モデル2を記憶部14に記憶させる。モデル2において、学習によりパラメータが更新されるのはモデル211であるので、訓練部115は、モデル211を記憶部14に記憶させればよい。
[2-3.実用段階]
 図7は、実用段階における画像処理装置1の処理の流れの一例を示す図である。
 学習終了後の実用段階において、フレーム取得部111は、例えば撮像部20による動画の撮像中に、リアルタイムで撮像部20から順次フレームのデータを取得してもよい。或いは、フレーム取得部111は、記憶部14に予め記憶されている動画データからフレーム画像のデータを取得してもよい。或いは、フレーム取得部111は、ネットワークを介して他のコンピュータからストリーミングで送信されてくる動画データから、フレーム画像のデータを取得してもよい。
 位置情報取得部112は、モデル211に、フレームt-1を入力することにより、一又は複数のクラスにそれぞれ対応する位置情報510を、CAM検出部210から取得してもよい。予め定められた一のクラスのオブジェクト100を検出する場合、位置情報取得部112は、そのクラスに対応する位置情報510のみを取得してもよい。オブジェクト100のクラスを識別する場合、位置情報取得部112は、例えば全クラスのそれぞれの位置情報510を取得してもよい。或いは、位置情報取得部112は、例えば識別可能な複数のクラスのうち、モデル211から出力される存在確率を示す値が所定値以上である1又は複数のクラスそれぞれについて、位置情報510を取得してもよい。
 動き情報取得部113の機能は、3-1項で述べたとおりである。
 領域情報生成部114は、動き情報取得部113により動き情報520が取得された各クラスについて、領域情報540を生成する。予め定められた一のクラスのオブジェクト100を検出する場合、領域情報生成部114は、オブジェクト100の検出結果として、領域情報540のみを出力してもよい。
 検出部116は、フレーム取得部111により取得されたフレームtのうち、領域情報生成部114により取得された領域情報540により示される領域531の画像550を、モデル3に入力することにより、オブジェクト100を検出してもよい。モデル3は、画像内のオブジェクトを識別するモデルである。モデル3は、例えば分類器であってもよい。モデル3は、CNNであってもよい。モデル3は、学習が完了したモデル240であってもよい。モデル3は、画像550から、クラス情報620を生成する。クラス情報620は、画像550内のオブジェクトのクラスを示す情報である。例えば、クラス情報620は、各クラスのオブジェクトの存在確率を示す値を含んでもよい。或いは、クラス情報620は、識別可能な複数のクラスのうち、画像550内における存在確率が最も高いオブジェクトのクラスを識別する情報であってもよい。
 検出部116は、画像550が抽出されたクラスごとに、画像550をモデル3に入力して、クラス情報を取得してもよい。検出部116は、画像550が抽出されたクラスごとに、クラス情報からそのクラスの存在確率を特定してもよい。そして、検出部116は、存在確率が最も高いクラスのクラス情報及びそのクラスについて生成された領域情報540を、オブジェクト100の検出結果として出力してもよい。或いは、検出部116は、存在確率が所定値以上である各クラスについて、クラス情報及び領域情報540を出力してもよい。
 オブジェクト100の検出結果の出力先の例としては、RAM11c、記憶部14、表示部17、画像処理装置1以外のコンピュータ等が挙げられる。
[3.画像処理装置の動作]
 次に、画像処理装置1の動作について、図8及び図9を用いて説明する。図8は、画像処理装置1のシステム制御部11及びGPU18による学習処理の一例を示すフローチャートである。モデル生成用のプログラムに含まれるプログラムコードに従って、システム制御部11及びGPU18は学習処理を実行する。例えば、入力部16を用いたオペレータからの指示に応じて、学習処理が実行されてもよい。
 図8に示すように、フレーム取得部111は、記憶部14に記憶された訓練データに含まれる第一組の動画データ及びクラスのラベルを取得する(ステップS101)。次いで、フレーム取得部111は、フレーム番号tを1に設定する(ステップS102)。フレーム取得部111は、取得された動画データから、フレームtを取得する。次いで、位置情報取得部112は、フレームtをモデル211に入力することにより、ラベルとして取得されたクラスに対応する位置情報510を取得する(ステップS103)。
 次いで、フレーム取得部111は、フレーム番号tを1増加させる(ステップS104)。フレーム取得部111は、取得された動画データから、フレームtを取得する。次いで、動き情報取得部113は、フレームt-1及びフレームtをフロー検出部220に入力することにより、動き情報520を取得する(ステップS105)。この時点におけるフレームt-1は、ステップS102で取得されたフレームである。
 次いで、領域情報生成部114は、位置情報510と動き情報520とを統合して、新位置情報530を生成する(ステップS106)。次いで、領域情報生成部114は、生成された新位置情報530に基づいて、領域情報540を生成する(ステップS107)。次いで、領域情報生成部114は、フレームtから、領域情報540により示される領域531により示される領域の画像550を抽出する(ステップS108)。
 次いで、訓練部115は、フレームtをモデル211に入力することにより、ラベルとして取得されたクラスの位置情報510を取得する(ステップS109)。次いで、訓練部115は、取得された位置情報510に基づいて、領域情報570を生成する(ステップS110)。次いで、訓練部115は、フレームtから、領域情報570により示される領域561の画像580を抽出する(ステップS111)。
 次いで、訓練部115は、抽出された画像550をモデル240に入力することにより、特徴情報590を取得する。また、訓練部115は、抽出された画像580をモデル260に入力することにより、特徴情報600を取得する。(ステップS112)。次いで、訓練部115は、特徴情報590と特徴情報600との間の誤差610を算出する。(ステップS113)。次いで、訓練部115は、算出された誤差610を逆伝搬することにより、モデル240、260及び211の重み及びバイアスを更新する(ステップS114)。なお、説明の便宜上、一フレームごとに重みが更新されているが、例えば所定数のフレームを含むバッチごとに又は動画データごとに重みが更新されてもよい。
 次いで、訓練部115は、取得された動画データの中に、フレームt+1があるか否かを判定する(ステップS115)。フレームt+1がある場合(ステップS115:YES)、処理はステップS104に進む。一方、フレームt+1がない場合(ステップS115:NO)、訓練部115は、訓練データの中に次の動画データがあるか否かを判定する(ステップS116)。次の動画データがある場合(ステップS116:YES)、フレーム取得部111は、訓練データから、次の組の動画データ及びクラスのラベルを取得して(ステップS117)、処理はステップS102に進む。一方、次の動画データがない場合(ステップS116:NO)、訓練部115は、学習を終了させるか否かを判定する(ステップS118)。例えば、予め設定されたエポック数に相当する回数学習が実行された場合、訓練部115は、学習を終了させると判定してもよい。或いは、訓練部115は、テストデータを用いてオブジェクトの検出を行うことにより、誤差610を算出してもよい。訓練部115は、算出された誤差610の平均値が所定値未満である場合、学習を終了させると判定してもよい。学習が終了しない場合(ステップS118:NO)、処理はステップS101に進む。学習が終了する場合(ステップS118:YES)、学習処理は終了する。
 図9は、画像処理装置1のシステム制御部11及びGPU18によるオブジェクト検出処理の一例を示すフローチャートである。図9に示す処理例は、撮像部20により撮像される動画からリアルタイムでオブジェクトを検出する場合の処理例である。例えば、図8に示す学習処理による学習が完了したモデル211を用いて、オブジェクト検出処理が実行される。システム制御部11及びGPU18は、オブジェクト検出用のプログラムに含まれるプログラムコードに従って、オブジェクト検出処理を実行する。例えば、システム制御部11からの指示に基づいて、撮像部20による動画の撮像が開始されたとき、オブジェクト検出処理が実行されてもよい。
 図9に示すように、フレーム取得部111は、フレーム番号tを0に設定する(ステップS201)。次いで、フレーム取得部111は、フレーム番号tを1増加させる(ステップS202)。次いで、フレーム取得部111は、撮像部20から、最新のフレームを、フレームtとして取得する(ステップS203)。
 次いで、フレーム取得部111は、フレーム番号tが1より大きいか否かを判定する(ステップS204)。フレーム番号tが1より大きくはない場合(ステップS204:NO)、処理はステップS202に進む。
 一方、フレーム番号tが1より大きい場合(ステップS204:YES)、位置情報取得部112は、フレームt-1をモデル211に入力することにより、位置情報510を取得する(ステップS205)。ここで、位置情報取得部112は、モデル211から出力される識別結果に基づいて、一又は複数のクラスそれぞれに対応する位置情報510を取得する。
 次いで、動き情報取得部113は、フレームt-1及びフレームtをフロー検出部220に入力することにより、動き情報520を取得する(ステップS206)。
 次いで、領域情報生成部114は、位置情報510が取得されたクラスごとに、位置情報510と動き情報520とを統合して、新位置情報530を生成する(ステップS207)。次いで、領域情報生成部114は、新位置情報530が生成されたクラスごとに、新位置情報530に基づいて、領域情報540を生成する(ステップS208)。次いで、領域情報生成部114は、領域情報540が生成されたクラスごとに、フレームtから、領域情報540により示される領域531の画像550を抽出する(ステップS209)。
 次いで、検出部116は、画像550が生成されたクラスごとに、画像550をモデル3に入力することにより、クラス情報620を取得する。検出部116は、モデル3による識別結果に基づいて、クラス情報620及び領域情報540を出力する(ステップS210)。
 次いで、検出部116は、オブジェクト検出を終了させるか否かを判定する(ステップS211)。オブジェクト検出が終了する条件は、画像処理装置1の用途に応じて予め定められていてもよい。オブジェクト検出が終了しない場合(ステップS211:NO)、処理はステップS202に進む。一方、オブジェクト検出が終了する場合(ステップS211:YES)、オブジェクト検出処理は終了する。
 以上説明したように、本実施形態によれば、画像処理装置1が、フレームt-1及びフレームtを取得する。また、画像処理装置1が、モデル211にフレームt-1を入力して、フレームt-1上の位置であって、フレームt-1内のオブジェクト100の識別に影響を与える位置を示す位置情報510を取得する。また、画像処理装置1が、フレームt-1及びフレームtに基づいて、フレームt-1内におけるオブジェクト100の動きを示す動き情報520を取得する。また、画像処理装置1が、取得された位置情報510及び動き情報520に基づいて、フレームt-1上の領域であって、オブジェクト100が存在する位置に対応する領域を示す領域情報540を生成する。従って、位置情報510及び動き情報520に基づいて、オブジェクト100が存在する位置に対応する領域を示す領域情報540が生成される。位置情報510は、フレーム画像内のオブジェクト100の識別に影響を与える位置を示す。従って、位置情報510は、そのオブジェクト100が存在する場所のうち、少なくともある程度の範囲の場所を示す蓋然性がある。動き情報520は、そのオブジェクト100の動きを示す。従って、そのオブジェクト100が動いている場合、動き情報520は、そのオブジェクト100が存在する場所全体を少なくとも示す蓋然性がある。そのため、これらの情報を用いて領域情報540を生成することで、画像においてオブジェクト100が存在する位置に対応する領域を精度よく特定することができる。
 ここで、画像処理装置1が、位置情報510と動き情報520とを統合することに基づいて、領域情報540を生成してもよい。この場合、位置情報510と動き情報520との統合により、フレーム画像において、動きがある複数の範囲のうち、オブジェクト100の識別に影響を与える位置に対応する範囲が特定される。従って、オブジェクト100が存在する位置に対応する領域を精度よく特定することができる。
 ここで、画像処理装置1が、フレームt-1における各位置について、オブジェクト100の移動方向及び移動距離を示す動き情報520を生成てもよい。また、画像処理装置1が、位置情報510と動き情報520とを、位置ごとに足し合わせることにより、領域情報540を生成してもよい。この場合、オブジェクト100の識別に影響を与える位置が、その位置における移動方向及び移動距離で変更される。
 また、画像処理装置1が、フレームtのうち、取得された領域情報540により示される領域の画像550を、画像内のオブジェクト100を識別するモデル3に入力することにより、フレームtのオブジェクト100を検出してもよい。この場合、フレーム画像において、生成された領域情報540により示される領域に対応する画像550が、その画像内のオブジェクト100を識別するモデル3に入力される。従って、フレーム画像内のオブジェクト100がこのモデル3により識別される。また、領域情報540により、そのオブジェクト100の位置に対応する領域531が示される。従って、フレーム画像内のオブジェクト100を精度よく検出することができる。また、精度の高い領域情報540が自動的に生成されるので、人間による領域情報のアノテーションを必要とする機器学習なくして、オブジェクト100の検出が可能である。
 また、画像処理装置1が、生成された領域情報540に基づいて、モデル211を訓練してもよい。この場合、自動的に生成された領域情報540に基づいて、モデル211が訓練されるので、オブジェクト100の位置に対応する領域531を特定するための機械学習のために、人間による領域情報のアノテーションが不要となる。
 ここで、画像処理装置1が、モデル211に更にフレームtを入力して、フレームt上の位置であって、フレームt内のオブジェクト100の識別に影響を与える位置を示す第2位置情報560を取得してもよい。また、画像処理装置1が、フレームtから、取得された領域情報540により示される領域531の画像550を抽出してもよい。また、画像処理装置1が、取得された第2位置情報510に基づいて、フレームt上の領域560であって、オブジェクト100の識別に影響を与える位置に対応する領域560を示す領域情報570を生成してもよい。また、画像処理装置1が、フレームtから、取得された領域情報570により示される領域561の画像580を抽出してもよい。また、画像処理装置1が、取得された画像550及び画像580に基づいて、モデル211の重みを更新してもよい。位置情報510により示される位置であって、フレームt-1においてオブジェクト100の識別に影響を与える位置が、動き情報520により示される動きで変更される場合、変更後の位置は、フレームtにおいて、オブジェクト100の識別に影響を与える位置に対応するものと考えられる。そのため、画像550及び画像580を用いることで、モデル211を適切に訓練することができる。
 ここで、画像処理装置1が、抽出された画像550の特徴を取得してもよい。また、画像処理装置1が、抽出された画像580の特徴を取得してもよい。また、画像処理装置1が、取得されたこれらの特徴に基づいて、モデル211の重みを更新してもよい。領域情報570は、フレームtにおいて、オブジェクト100の識別に影響を与える位置に対応する領域を示す。従って、その領域から抽出された画像580の特徴は、検出される対象となるオブジェクト100の特徴を示す。そこで、例えば、画像550の特徴と画像580の特徴とが互いに近づくように、重みが更新されることにより、モデル211を適切に訓練することができる。
 また、位置情報510は、クラスアクティベーションマップの少なくとも一部であってもよい。
 また、動き情報520は、オプティカルフローであってもよい。
1 画像処理装置
11 システム御部
12 システムバス
13 入出力インターフェース
14 記憶部
15 通信部
16 入力部
17 表示部
18 GPU
19 GPUメモリ
20 表示部
111 フレーム取得部
112 位置情報取得部
113 動き情報取得部
114 領域情報生成部
115 訓練部
116 検出部
2、3、211、240、260 モデル
210 CAM検出部
220 フロー検出部
230 領域推定アルゴリズム

Claims (11)

  1.  時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得手段と、
     画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得手段と、
     前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得手段と、
     前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成手段と、
     を備えることを特徴とするオブジェクト領域特定装置。
  2.  前記領域情報生成手段は、前記位置情報と前記動き情報とを統合することに基づいて、前記領域情報を生成することを特徴とする請求項1に記載のオブジェクト領域特定装置。
  3.  前記動き情報取得手段は、前記第1フレーム画像における各位置について、前記オブジェクトの移動方向及び移動距離を示す前記動き情報を生成し、
     前記領域情報生成手段は、前記位置情報と前記動き情報とを、位置ごとに足し合わせることに基づいて、前記領域情報を生成することを特徴とする請求項2に記載のオブジェクト領域特定装置。
  4.  前記第2フレーム画像のうち、前記取得された領域情報により示される領域の画像を、画像内のオブジェクトを識別する第2モデルに入力することにより、前記第2フレーム画像のオブジェクトを検出する検出手段を更に備えることを特徴とする請求項1又は2に記載のオブジェクト領域特定装置。
  5.  前記生成された領域情報に基づいて、前記モデルを訓練する訓練手段を更に備えることを特徴とする請求項1乃至4の何れか一項に記載のオブジェクト領域特定装置。
  6.  前記位置情報取得手段は、前記モデルに更に前記第2フレーム画像を入力して、前記第2フレーム画像上の位置であって、前記第2フレーム画像内のオブジェクトの識別に影響を与える位置を示す第2位置情報を取得し、
     前記訓練手段は、
     前記第2フレーム画像から、前記取得された領域情報により示される領域の第1画像を抽出するする第1抽出手段と、
     前記取得された第2位置情報に基づいて、前記第2フレーム画像上の領域であって、前記オブジェクトの識別に影響を与える位置に対応する領域を示す第2領域情報を生成する第2領域情報生成手段と、
     前記第2フレーム画像から、前記取得された第2領域情報により示される領域の第2画像を抽出する第2抽出手段と、
     前記取得された第1画像及び第2画像に基づいて、前記モデルの重みを更新する更新手段と、
     を含むことを特徴とする請求項5に記載のオブジェクト領域特定装置。
  7.  前記訓練手段は、
     前記抽出された第1画像の特徴を取得する第1特徴取得手段と、
     前記抽出された第2画像の特徴を取得する第2特徴取得手段と、
     を更に含み、
     前記更新手段は、前記取得された第1特徴及び第2特徴に基づいて、前記モデルの重みを更新することを特徴とする請求項6に記載のオブジェクト領域特定装置。
  8.  前記位置情報は、クラスアクティベーションマップの少なくとも一部であることを特徴とする請求項1乃至7の何れか一項に記載のオブジェクト領域特定装置。
  9.  前記動き情報は、オプティカルフローであることを特徴とする請求項1乃至8の何れか一項に記載のオブジェクト領域特定装置。
  10.  コンピュータにより実行されるオブジェクト領域特定方法において、
     時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得ステップと、
     画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得ステップと、
     前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得ステップと、
     前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成ステップと、
     を含むことを特徴とするオブジェクト領域特定方法。
  11.  コンピュータを、
     時間的に連続する第1フレーム画像及び第2フレーム画像を取得するフレーム画像取得手段と、
     画像内のオブジェクトを識別するモデルに前記第1フレーム画像を入力して、前記第1フレーム画像上の位置であって、前記第1フレーム画像内のオブジェクトの識別に影響を与える位置を示す位置情報を取得する位置情報取得手段と、
     前記第1フレーム画像及び前記第2フレーム画像に基づいて、前記第1フレーム画像内における前記オブジェクトの動きを示す動き情報を取得する動き情報取得手段と、
     前記取得された位置情報及び動き情報に基づいて、前記第1フレーム画像上の領域であって、前記オブジェクトが存在する位置に対応する領域を示す領域情報を生成する領域情報生成手段と、
     として機能させることを特徴とするオブジェクト領域特定プログラム。
PCT/JP2020/018114 2020-04-28 2020-04-28 オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム WO2021220398A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/269,570 US11922667B2 (en) 2020-04-28 2020-04-28 Object region identification device, object region identification method, and object region identification program
JP2021507094A JP6899986B1 (ja) 2020-04-28 2020-04-28 オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム
PCT/JP2020/018114 WO2021220398A1 (ja) 2020-04-28 2020-04-28 オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/018114 WO2021220398A1 (ja) 2020-04-28 2020-04-28 オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム

Publications (1)

Publication Number Publication Date
WO2021220398A1 true WO2021220398A1 (ja) 2021-11-04

Family

ID=76650090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/018114 WO2021220398A1 (ja) 2020-04-28 2020-04-28 オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム

Country Status (3)

Country Link
US (1) US11922667B2 (ja)
JP (1) JP6899986B1 (ja)
WO (1) WO2021220398A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6230751B1 (ja) * 2016-09-15 2017-11-15 三菱電機株式会社 物体検出装置および物体検出方法
WO2019171440A1 (ja) * 2018-03-05 2019-09-12 日本電気株式会社 画像解析装置、画像解析方法および画像解析プログラム
JP2020038669A (ja) * 2018-09-05 2020-03-12 株式会社ストラドビジョン 複数のビデオフレームを利用してcnnのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112017004394T5 (de) * 2016-09-01 2019-05-16 Mitsubishi Electric Corporation Gestenbeurteilungseinrichtung, Gestenbedienungseinrichtung und Gestenbeurteilungsverfahren
US10152627B2 (en) * 2017-03-20 2018-12-11 Microsoft Technology Licensing, Llc Feature flow for video recognition
EP3625727A1 (en) * 2017-11-14 2020-03-25 Google LLC Weakly-supervised action localization by sparse temporal pooling network
US11155259B2 (en) * 2018-09-13 2021-10-26 Honda Motor Co., Ltd. System and method for egocentric-vision based future vehicle localization
US10991122B2 (en) * 2018-11-13 2021-04-27 Google Llc Processing images to localize novel objects
DK3656302T3 (da) * 2018-11-26 2020-10-19 Lindera Gmbh System og fremgangsmåde til analyse af menneskelig gang
KR20200061747A (ko) * 2018-11-26 2020-06-03 한국전자통신연구원 스포츠 경기 영상에서 이벤트를 인식하는 장치 및 방법
US10991156B2 (en) * 2018-12-05 2021-04-27 Sri International Multi-modal data fusion for enhanced 3D perception for platforms
CN109961019B (zh) * 2019-02-28 2021-03-26 华中科技大学 一种时空行为检测方法
US10825188B1 (en) * 2019-03-08 2020-11-03 Zoox, Inc. Detector-tracker architecture
CN111275518B (zh) * 2020-01-15 2023-04-21 中山大学 一种基于混合光流的视频虚拟试穿方法及装置
AU2021255130B2 (en) * 2020-04-16 2024-01-18 Jayant RATTI Artificial intelligence and computer vision powered driving-performance assessment
CN111524166B (zh) * 2020-04-22 2023-06-30 北京百度网讯科技有限公司 视频帧的处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6230751B1 (ja) * 2016-09-15 2017-11-15 三菱電機株式会社 物体検出装置および物体検出方法
WO2019171440A1 (ja) * 2018-03-05 2019-09-12 日本電気株式会社 画像解析装置、画像解析方法および画像解析プログラム
JP2020038669A (ja) * 2018-09-05 2020-03-12 株式会社ストラドビジョン 複数のビデオフレームを利用してcnnのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ISOGAYA, KAZUKI; HARIMOTO, YOH; URAKUBO, TAKATERU: "1P2-N09 Safe landing site detection for autonomous landing of a Tilt-rotor UAV", PROCEEDINGS OF THE 2019 JSME CONFERENCE ON ROBOTICS AND MECHATRONICS; HIROSHIMA, JAPAN; JUNE 5-8 2019, 5 June 2019 (2019-06-05), JP, pages 1P2-N09(1) - 1P2-N09(3), XP009531961 *

Also Published As

Publication number Publication date
JP6899986B1 (ja) 2021-07-07
US11922667B2 (en) 2024-03-05
US20220122340A1 (en) 2022-04-21
JPWO2021220398A1 (ja) 2021-11-04

Similar Documents

Publication Publication Date Title
US10467804B2 (en) Automated spatial indexing of images based on floorplan features
KR101870902B1 (ko) 영상 처리 장치 및 영상 처리 방법
JP6095018B2 (ja) 移動オブジェクトの検出及び追跡
CN110998594A (zh) 检测动作的方法和系统
JP2023509953A (ja) ターゲット追跡方法、装置、電子機器及び記憶媒体
EP3159126A1 (en) Device and method for recognizing location of mobile robot by means of edge-based readjustment
CN111695402A (zh) 用于标注3d点云数据中人体姿态的工具和方法
CN111062263B (zh) 手部姿态估计的方法、设备、计算机设备和存储介质
US10867390B2 (en) Computer vision processing
US11734882B2 (en) Machine learning based object identification using scaled diagram and three-dimensional model
Masoumian et al. Absolute Distance Prediction Based on Deep Learning Object Detection and Monocular Depth Estimation Models.
CN111382637A (zh) 行人检测跟踪方法、装置、终端设备及介质
JP2010157093A (ja) 運動推定装置及びプログラム
JPWO2018235219A1 (ja) 自己位置推定方法、自己位置推定装置および自己位置推定プログラム
CN111415370A (zh) 一种基于嵌入式的红外复杂场景目标实时跟踪方法及系统
JP2022012626A (ja) モデル生成装置、回帰装置、モデル生成方法、及びモデル生成プログラム
JP6899986B1 (ja) オブジェクト領域特定装置、オブジェクト領域特定方法、及びオブジェクト領域特定プログラム
JP6659095B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2017033556A (ja) 画像処理方法及び電子機器
JP2011090708A (ja) 対象個数検出装置および対象個数検出方法
KR102597692B1 (ko) 영상을 이용한 물건 부피의 측정 장치, 방법, 및 컴퓨터 프로그램
KR101668649B1 (ko) 주변 환경 모델링 방법 및 이를 수행하는 장치
JP2023008030A (ja) 画像処理システム、画像処理方法及び画像処理プログラム
JP2011043863A (ja) 対象領域判定・追跡装置、方法、プログラム及び対象領域判定装置
CN111860070A (zh) 识别发生改变的对象的方法和装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021507094

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: 20933590

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20933590

Country of ref document: EP

Kind code of ref document: A1