WO2023238248A1 - 物体検出装置、及び物体検出方法 - Google Patents

物体検出装置、及び物体検出方法 Download PDF

Info

Publication number
WO2023238248A1
WO2023238248A1 PCT/JP2022/022986 JP2022022986W WO2023238248A1 WO 2023238248 A1 WO2023238248 A1 WO 2023238248A1 JP 2022022986 W JP2022022986 W JP 2022022986W WO 2023238248 A1 WO2023238248 A1 WO 2023238248A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
partial
planes
object detection
pages
Prior art date
Application number
PCT/JP2022/022986
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 PCT/JP2022/022986 priority Critical patent/WO2023238248A1/ja
Publication of WO2023238248A1 publication Critical patent/WO2023238248A1/ja

Links

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/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion

Definitions

  • the disclosed technology relates to an object detection device and an object detection method.
  • a technology has been disclosed that detects metadata including the position, attributes, and reliability of an object included in the image from an input image, and detects the object.
  • video processing technologies such as YOLO (You Only Look Once) and SSD (Single Shot Multibox), which use deep learning to detect object metadata, have been disclosed, and have been applied to surveillance cameras, drone flight control, etc. The application of is being considered.
  • Non-Patent Document 1 discloses a method of detecting objects using YOLO from input images of 320 ⁇ 320 pixels, 416 ⁇ 416 pixels, and 608 ⁇ 608 pixels.
  • Non-Patent Document 2 discloses a method of detecting objects using SSD.
  • Non-Patent Document 3 discloses that an input image is divided into a plurality of images, and a partial plane showing a part of the input image and a whole plane showing the whole image by reducing the input image are used. This document discloses a method of detecting an object using YOLO and synthesizing the detection results from a partial surface and the entire surface to obtain a final object detection result.
  • Non-Patent Document 4 discloses a method that makes it possible to thin out frames in which object detection is performed by predicting the moving position of each object based on a motion vector and correcting the object position.
  • the size of the image to be detected is limited.
  • object detection processing on ultra-high-definition video such as 4K (3840 x 2160 pixels)
  • a partial plane obtained by dividing the input image into multiple parts, and a whole plane obtained by reducing the input image are used. It may be detected using
  • object detection processing will be performed on each of the 28 partial planes, resulting in an enormous amount of processing.
  • the partial surfaces on which objects are detected are thinned out, and the detection results for the thinned out partial surfaces are subjected to position correction by predicting the movement of the object. Realized.
  • the number of partial surfaces on which object detection can be performed increases, which expands the object detection range in the same frame and improves object tracking.
  • reducing the total number of partial surfaces involves image reduction in each partial surface, leading to deterioration of object detection performance. That is, when detecting an object from an ultra-high-definition video, there is a possibility that object tracking performance and object detection performance are not compatible.
  • the present disclosure has been made in view of the above circumstances, and provides an object detection device and an object detection method that can achieve both object tracking performance and object detection performance when detecting objects from ultra-high definition images, etc.
  • the purpose is to propose.
  • a first aspect of the present disclosure is an object detection device that detects an object from an image included in a moving image, which uses an acquisition unit that acquires an image from the moving image and a difference between successive images to detect a plurality of images.
  • a number of planes setting unit sets the number of planes to be divided into partial planes, an allocation control unit that allocates the frequency of detecting objects for each divided partial plane, and an allocation control unit that divides the image into multiple parts according to the set number of planes.
  • a segmentation processing unit that divides the image into planes and detects objects from the partial planes according to the assigned frequency; an overall processing unit that reduces the image to a whole plane representing the whole image and detects objects from the whole plane;
  • the present invention is an object detection device including a combination processing unit that combines detection results detected from a surface and an entire surface to detect an object from an image.
  • a second aspect of the present disclosure is an object detection method for detecting an object from an image included in a moving image, in which an image is acquired from the moving image, and the image is divided into a plurality of partial planes using a difference between successive images.
  • Set the number of planes to be divided assign the frequency of object detection to each divided partial plane, divide the image into multiple partial planes according to the set number of planes, and Detect an object from a partial surface, reduce the image to a whole surface representing the entire image, detect the object from the whole surface, combine the detection results from the partial surface and the whole surface, and extract the object from the image.
  • This is an object detection method that detects.
  • FIG. 1 is a block diagram showing the hardware configuration of an object detection device according to the present embodiment.
  • FIG. 1 is a block diagram showing an example of the functional configuration of an object detection device 10 according to the present embodiment.
  • FIG. 3 is a data flow diagram showing an example of the data flow of detection processing to explain object detection according to the present embodiment.
  • FIG. 7 is a data flow diagram showing an example of the data flow of the number of pages setting process to explain the setting of the number of pages according to the present embodiment. It is a graph which shows an example of the time series data of the difference average value and the number of pages which serve for explanation of the guard time based on this embodiment.
  • FIG. 7 is a data flow diagram showing an example of the data flow of an allocation control process for explaining allocation of detection frequencies for each partial surface according to the present embodiment.
  • 7 is a flowchart illustrating an example of object detection processing according to the present embodiment.
  • 7 is a flowchart illustrating an example of page number setting processing according to the present embodiment.
  • 7 is a flowchart illustrating an example of allocation control processing according to the present embodiment.
  • FIG. 1 is a block diagram showing the hardware configuration of an object detection device 10 according to this embodiment.
  • the object detection device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input section 15, and a display section 16. , and communication It has an interface (I/F) 17.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input section
  • display section 16 a display section 16.
  • I/F interface
  • Each component is communicably connected to each other via a bus 18.
  • the configuration using the CPU and memory described above is merely an example, and may be implemented, for example, as a device equipped with a dedicated arithmetic circuit and specialized in detecting objects.
  • the CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above components and performs various arithmetic operations according to programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores an object detection processing program for detecting objects from images.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores programs or data as a work area.
  • the storage 14 is constituted by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs.
  • the display unit 16 is, for example, a liquid crystal display, and displays various information.
  • the display section 16 may adopt a touch panel method and function as the input section 15.
  • the communication interface 17 is an interface for communicating with other devices such as display devices. For this communication, for example, a wired communication standard such as Ethernet (registered trademark) or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used. Communication interface 17 obtains input data from external memory and transmits output data to external memory.
  • a wired communication standard such as Ethernet (registered trademark) or FDDI
  • a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark)
  • FIG. 2 is a block diagram showing an example of the functional configuration of the object detection device 10 according to the present embodiment.
  • the object detection device 10 has a functional configuration including an acquisition section 21, a division processing section 22, an overall processing section 23, a composition processing section 24, a storage section 25, an estimation section 26, a generation section 27, and a number of planes. It includes a setting section 28, a distribution section 29, and an allocation control section 30.
  • the acquisition section 21, the division processing section 22, the overall processing section 23, the composition processing section 24, the storage section 25, the estimation section 26, the generation section 27, the number of pages setting section 28, and the It functions as a division section 29 and an allocation control section 30.
  • the acquisition unit 21 acquires an image 32 for each frame from a moving image 31, as shown in FIG. 3 as an example.
  • the division processing unit 22 divides the acquired image 32 into images of each part (hereinafter referred to as "partial planes") 33 according to the set number of planes, and divides the acquired image 32 according to the assigned detection frequency. Object detection is performed for each partial surface 33.
  • the number of pages is set by the number of pages setting section 28 described later, and the detection frequency is set by the allocation control section 30.
  • the division processing unit 22 according to the present embodiment is a learning model that divides the image 32 into partial planes according to the number of planes and performs machine learning to detect an object from each partial plane.
  • the division processing unit 22 generates metadata including the position of the object included in each partial surface 33 (center of the object, height and width of the area including the object), attributes of the object, and reliability indicating the object. Detect.
  • the division processing unit 22 detects the metadata of the object included in each partial surface 33, and divides the metadata related to the reliability of a predetermined size or more into a detection result (hereinafter referred to as " The result is output as 34.
  • the overall processing unit 23 reduces the obtained image 32, detects metadata of the object from an image 35 showing the entire image (hereinafter referred to as “the entire image”), and detects object metadata with a reliability of at least a predetermined size. Such metadata is output as a detection result (hereinafter referred to as "overall processing result") 36.
  • the overall processing unit 23 according to the present embodiment is a learning model that reduces the image 32 to the entire surface and performs machine learning to detect an object from the reduced entire surface.
  • the synthesis processing unit 24 synthesizes the division processing result 34 and the overall processing result 36, detects an object from the image 32, and outputs the detected object. Specifically, as shown in FIG. 3, the synthesis processing unit 24 uses the division processing result 34 and the overall processing result 36 to detect corresponding metadata, and converts the metadata into a detection result (hereinafter referred to as It is output as 37 (referred to as "composition processing result"). Furthermore, the composition processing unit 24 detects objects (metadata) that are included in the division processing result 34 but not included in the overall processing result 36, and outputs them as a composition processing result 37.
  • the storage unit 25 stores the acquired image 32 and the division processing result 34.
  • the division processing result 34 is metadata of the object on each partial surface.
  • the estimation unit 26 calculates the difference between the image 32 in the current frame acquired by the acquisition unit 21 and the past image 39 indicating the image one frame before, which is stored in the storage unit 25.
  • a motion search is performed to estimate a motion vector 38 indicating the movement of the object.
  • the motion search method will be described using conventional techniques known to those skilled in the art, such as a method of comparing an image 32 in the current frame with a past image 39.
  • the motion search method according to this embodiment is not limited to this.
  • the generation unit 27 uses a past image 39 indicating an image one frame before, which is stored in the storage unit 25, and a motion vector 38 estimated by the estimation unit 26 to generate a current frame.
  • a predicted image 40 in which the position of the object is predicted is generated.
  • the number-of-planes setting section 28 sets the number 41 of the partial planes 33 using the image 32 indicating the current frame and the predicted image 40 generated by the generation section 27. Specifically, the number of frames setting unit 28 derives the absolute difference value of the pixel values of each pixel of the image 32 indicating the current frame and the predicted image 40, and calculates the sum of the absolute difference values of all pixels (hereinafter referred to as , called the "sum of absolute differences").
  • the sum of absolute differences according to this embodiment is expressed by the following formula.
  • diff is the sum of absolute differences in all pixels
  • N is the frame number that identifies the frame
  • c is the number of channels in the image
  • x is the x coordinate in the image
  • y is the y-coordinate within the image.
  • mvx is the x component of the motion vector 38
  • mvy is the y component of the motion vector 38.
  • the first term of the above equation (1) indicates the pixel value of the image related to the current frame
  • the second term indicates the pixel value of the image related to the previous frame by correcting it using the motion vector 38.
  • the pixel values of the predicted image 40 are shown.
  • the number of frames setting unit 28 derives the absolute difference between the pixel values of the image related to the current frame and the predicted image 40 corrected by the motion vector 38 for each pixel and channel of the image.
  • the number of frames setting unit 28 sums up the sum of absolute differences in all pixels and channels, and derives the sum of absolute differences diff for the current frame.
  • the number of frames setting unit 28 calculates a moving average (hereinafter referred to as a moving average) of the sum of absolute differences using the derived sum of absolute differences diff related to the current frame and the sum of absolute differences diff related to the past frames derived in the past. , ⁇ average difference sum'') 42 is derived.
  • the number of pages setting unit 28 sets the number of pages 41 according to the derived average difference sum 42, as shown in FIG. Specifically, as shown in FIG. 5 as an example, when the average difference sum 42 exceeds a predetermined threshold, the page number setting unit 28 sets the page number 41 corresponding to the threshold. For example, as shown in FIG. 5, when the average difference sum 42 exceeds a predetermined threshold, the number of pages setting unit 28 changes the number of pages to M2, which has a smaller number of pages than M1.
  • the number of pages setting unit 28 presets a guard time to prevent an excessive change in the number of pages 41, and when a change in the number of pages occurs, the average difference sum 42 is set to a predetermined threshold value.
  • the number of pages 41 is not changed until the guard time has elapsed, regardless of whether the number of pages exceeds 41 or not. Furthermore, when the guard time has elapsed and the average difference sum 42 is less than or equal to a predetermined threshold, the number of pages setting unit 28 changes and sets the number of pages 41 to M1 (initial value).
  • the number of pages setting unit 28 sets a plurality of predetermined thresholds, and when the average difference sum 42 exceeds the threshold, it determines the threshold with the largest value among the exceeded thresholds. The number of pages is changed to 41, which corresponds to the threshold value. Note that when a plurality of threshold values are set, the larger the threshold value, the smaller the number of pages is associated with it.
  • the distribution section 29 allocates the detected object included in the division processing result 34 stored in the storage section 25 to the partial surface 33 corresponding to the changed number of surfaces 41. Separate each. For example, when the number of surfaces 41 is changed, the partial surface 33 on which an object was detected in the current frame may not correspond to the partial surface 33 on which an object was detected in a past frame. Therefore, as shown in FIG. 4, when the number of faces 41 is changed, the distribution unit 29 replaces the partial face 33 of the division processing result 34 related to the past frame with the partial face corresponding to the changed number of faces 41. 33 and allocates the position of the detected object to the changed partial plane 33. This makes it possible to compare the partial surface 33 related to the current frame and the partial surface 33 related to the past frame even if the number of surfaces 41 is changed.
  • the allocation control unit 30 uses the division processing result 34 up to the current frame stored in the storage unit 25 and the number of frames 41 set by the number of frames setting unit 28.
  • a detection frequency 43 for detecting objects is assigned to each partial surface 33.
  • the allocation control unit 30 presets a cycle spanning a plurality of frames, and allocates a detection frequency 43 in the next cycle to each partial plane 33 using the division processing result 34 and the number of planes 41 in the current cycle.
  • the allocation control unit 30 derives a detection number fluctuation value for each period and for each partial surface, and proportionally allocates the allocatable amount to each partial surface 33 according to the derived detection number fluctuation value. Then, a detection frequency 43 in the next cycle is assigned to each partial surface.
  • the allocatable amount is determined by multiplying the predetermined number of partial surfaces that can be detected by the number of frames included in the period. For example, if the number of partial planes that can be detected per frame is T and the number of frames included in a cycle is R, the allocatable amount in the cycle is T ⁇ R. Furthermore, if the number of partial planes is greater than the number T of executable partial planes per frame, the division processing unit 22 narrows down (thinns out) the partial planes on which object detection is performed. Therefore, in detecting an object, the division processing unit 22 corrects the division processing result 34 of the past frame by applying the motion vector 38, and determines whether the object is included in the partial surface thinned out in the current frame. The object is detected by determining whether the This reduces the amount of processing required for detection.
  • the detection number fluctuation value according to this embodiment is expressed by the following formula.
  • f(n) is a detection number fluctuation value
  • n is a number for identifying a partial surface
  • u is a number for identifying a frame included in a period
  • U is, It is the number of frames within a period
  • D is a detected fluctuation value for each partial surface in each frame
  • k is a number for identifying the period.
  • d is the number of detected objects
  • davg is the average value of the number of detected objects (hereinafter referred to as "detection average value").
  • d(n, k, u) indicates the number of objects detected on the partial surface n in the frame u of the current period k.
  • the detection average value avg(n, k-1) indicates the detection average value detected in the past cycle k-1.
  • the detection average value davg detected up to the current cycle is updated every cycle, and is calculated by averaging the detection average value davg up to the past cycle and the average value of the number of objects d detected in the current cycle. obtained and used in the next cycle.
  • the detected average value davg(n, k) at the current period k and the partial surface n is the detected average value davg(n, k) at the current period k and the detected average value davg up to the past period k-1.
  • the form of deriving by averaging (n, k-1) has been explained. However, it is not limited to this.
  • i is the forgetting coefficient.
  • the allocation control unit 30 proportionally allocates the allocatable amount to each partial surface 33 so that the larger the detection frequency fluctuation value f(n) is, the higher the detection frequency 43 in the next cycle.
  • FIG. 7 is a flowchart illustrating an example of object detection processing according to this embodiment.
  • the CPU 11 reads the object detection program from the ROM 12 or the storage 14 and executes it
  • the object detection program shown in FIG. 7 is executed.
  • the object detection program shown in FIG. 7 is executed, for example, when a moving image 31 is input as input data and an instruction to execute object detection processing is input.
  • step S101 the CPU 11 sets the number of pages 41 and the detection frequency 43 to initial values. For example, as the number of surfaces 41, the number of surfaces with the largest number of surfaces among the number of surfaces that can be set as the number of surfaces is set, and as the detection frequency 43, 1 is set for each partial surface.
  • step S102 the CPU 11 sets the elapsed frame to 1 and the elapsed time to 1 as initial values.
  • step S103 the CPU 11 obtains the image 32 for each frame as input data.
  • step S104 the CPU 11 divides the image 32 into a plurality of partial planes 33 according to the set number of planes 41.
  • step S105 the CPU 11 detects objects from each partial surface 33 according to the set detection frequency 43.
  • the detection result for the non-thinning target partial surface is metadata obtained by executing object detection
  • the detection result for the thinning target partial surface 33 is the past frame stored in the storage unit 25.
  • This metadata is obtained by reading out the division processing result 34 in , and correcting the position of the object using the motion vector 38 estimated by the estimation unit 26 .
  • step S106 the CPU 11 reduces the image 32 to the entire image 35.
  • step S107 the CPU 11 detects an object from the reduced overall surface 35.
  • step S108 the CPU 11 uses the division processing result 34 and the overall processing result 36 to synthesize the detection results.
  • step S109 the CPU 11 detects an object from the synthesis processing result 37.
  • step S110 the CPU 11 stores the image 32 and the division processing result 34.
  • step S111 the CPU 11 outputs the composition processing result 37.
  • step S112 the CPU 11 adds 1 to the number of elapsed frames and the elapsed time.
  • step S113 the CPU 11 executes page number setting processing. Note that the page number setting process will be explained in detail in FIG. 8, which will be described later.
  • step S114 the CPU 11 determines whether the number of elapsed frames has passed a predetermined period and has reached the next period. When the next cycle has arrived (step S114: YES), the CPU 11 moves to step S115. On the other hand, if it is not the next cycle (the number of elapsed frames has not passed the predetermined cycle) (step S114: NO), the CPU 11 moves to step S116.
  • step S115 the CPU 11 executes allocation control processing. Note that the allocation control process will be explained in detail in FIG. 9, which will be described later.
  • step S116 the CPU 11 determines whether the next image 32 does not exist. If the next image 32 does not exist (step S116: YES), the CPU 11 ends the object detection process. On the other hand, if the next image 32 exists (step S116: NO), the CPU 11 moves to step S103.
  • FIG. 8 is a flowchart illustrating an example of page number setting processing according to the present embodiment.
  • the CPU 11 reads the page number setting program from the ROM 12 or the storage 14 and executes it, the page number setting program shown in FIG. 8 is executed.
  • the number-of-pages setting program shown in FIG. 8 is executed, for example, when an image 32 is input as input data and an instruction to execute the number-of-pages setting process is input.
  • step S201 the CPU 11 estimates the motion vector 38 using the acquired image 32 and the past image 39.
  • step S202 the CPU 11 applies the estimated motion vector 38 to the past image 39 one frame before to generate the predicted image 40.
  • step S203 the CPU 11 compares the image 32 related to the current frame and the predicted image 40, and derives the sum of absolute differences diff.
  • step S204 the CPU 11 derives the average difference sum 42 using the derived sum of absolute differences diff and the past sum of absolute differences diff.
  • step S205 the CPU 11 determines whether the elapsed time exceeds the guard time. If the elapsed time exceeds the guard time (step S205: YES), the CPU 11 moves to step S206. On the other hand, if the elapsed time does not exceed the guard time (step S205: NO), the CPU 11 moves to step S210.
  • step S206 the CPU 11 determines whether the average difference sum 42 exceeds a predetermined threshold. If the average difference sum 42 exceeds the predetermined threshold (step S206: YES), the CPU 11 moves to step S207. On the other hand, if the average difference sum 42 does not exceed the predetermined threshold (step S206: NO), the CPU 11 moves to step S208.
  • step S207 the CPU 11 sets the number of pages corresponding to the threshold value.
  • the number of pages corresponding to the threshold with the largest value among the thresholds exceeded by the average difference sum 42 is set.
  • step S208 the CPU 11 sets an initial value to the number of pages.
  • the number of pages that has the largest number of pages among the number of pages that can be set is set as the initial value.
  • step S209 the CPU 11 changes the partial plane 33 of the stored division processing result 34 according to the set number of planes 41, and changes the detected object included in the division processing result 34 to the changed part. Allocate each to side 33.
  • step S210 the CPU 11 sets the elapsed time to 1.
  • FIG. 9 is a flowchart illustrating an example of allocation control processing according to this embodiment.
  • the allocation control program shown in FIG. 9 is executed.
  • the allocation control program shown in FIG. 9 is executed, for example, when a predetermined cycle has elapsed and an instruction to execute allocation control processing is input.
  • step S301 the CPU 11 derives the detection number fluctuation value f(n) using the number of objects detected for each partial surface and the average value of the number of objects detected in the past cycle.
  • step S302 the CPU 11 assigns a detection frequency 43 to each partial surface 33 according to the detection number fluctuation value.
  • the detection frequency 43 assigned to each partial surface 33 is assigned by proportionally distributing the allocatable amount in the period according to the detection number fluctuation value.
  • step S303 the CPU 11 updates the detected average value davg to be used in the next cycle.
  • the CPU 11 uses the detection average value davg up to the past cycle and the average value of the number of objects d detected in the current cycle to derive the detection average value davg to be used in the next cycle.
  • step S305 the CPU 11 sets the number of elapsed frames to 1.
  • the detection frequency 43 according to the above embodiment has been described in a form in which the allocatable amount is allocated proportionally according to the detection number fluctuation value.
  • 1 may be assigned to the detection frequency 43 of each partial surface 33, and the remaining allocatable amount (allocatable amount - number of surfaces) may be allocated proportionally according to the detection number fluctuation value.
  • the object detection device 10 counts the number of times the number of faces 41 has been changed in a predetermined period, and when the number of changes exceeds a predetermined number, the object detection device 10 adds a predetermined time to the guard time. Guard time may be extended. This prevents the number of pages 41 from frequently changing.
  • the inference processing 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 processors include FPGA (Field-Programmable Gate Array), PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, and ASIC (Application Specific I).
  • FPGA Field-Programmable Gate Array
  • PLD Programmable Logic Device
  • ASIC Application Specific I
  • An example is a dedicated electric circuit that is a processor having a specially designed circuit configuration.
  • the object detection 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, a combination of 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.
  • the object detection processing program is stored (installed) in the storage 14 in advance, but the present invention is not limited to this.
  • the program can be installed on CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) stored in a non-transitory storage medium such as memory It may be provided in the form of Further, the program may be downloaded from an external device via a network.
  • the processor includes: An object detection device that detects an object from an image included in a moving image, obtaining the image from the moving image; setting the number of planes for dividing the image into a plurality of partial planes using the difference between the continuous images; Assigning a frequency of detecting the object to each of the divided partial surfaces, dividing the image into a plurality of partial planes according to a set number of planes, detecting objects from the partial planes according to the assigned frequency; reducing the image to an entire surface showing the entire image, detecting an object from the entire surface, detecting an object from the image by combining the detection results detected from the partial surface and the entire surface; An object detection device configured as follows.
  • a non-transitory storage medium storing a program executable by a computer to perform an object detection process,
  • the object detection process for detecting an object from an image included in a moving image includes: obtaining the image from the moving image; setting the number of planes for dividing the image into a plurality of partial planes using the difference between the continuous images; Assigning a frequency of detecting the object to each of the divided partial surfaces, dividing the image into a plurality of partial planes according to a set number of planes, detecting objects from the partial planes according to the assigned frequency; reducing the image to an entire surface showing the entire image, detecting an object from the entire surface, detecting an object from the image by combining the detection results detected from the partial surface and the entire surface; Non-transitory storage medium.

Landscapes

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

Abstract

物体検出装置は、動画像に含まれる画像から物体を検出する物体検出装置であって、動画像から画像を取得する取得部と、連続した画像の差分を用いて、画像を複数の部分面に分割する面数を設定する面数設定部と、分割された部分面毎に、物体を検出する頻度を割り当てる割当制御部と、設定された面数に応じて、画像を複数の部分面に分割し、割り当てられた頻度に応じて部分面から物体を検出する分割処理部と、画像を画像の全体を示す全体面に縮小し、全体面から物体を検出する全体処理部と、部分面、及び全体面から検出した各々の検出結果を合成して、画像から物体を検出する合成処理部と、を備えている。

Description

物体検出装置、及び物体検出方法
 開示の技術は、物体検出装置、及び物体検出方法に関する。
 入力された画像から画像に含まれる物体の位置、属性、及び信頼度を含むメタデータを検出し、物体を検出する技術が開示されている。例えば、深層学習を用いて、物体のメタデータを検出するYOLO(You Only Look Once)、及びSSD(Single Shot Multibox)等の映像処理の技術が開示され、監視カメラ、及びドローンの飛行制御等への適用が検討されている。
Joseph Redmon et.al,"YOLOv3: An Incremental Improvement". <URL:https://arxiv.org/abs/1804.02767> Wei Liu et.al, "SSD:Single Shot MultiBox Detector". <URL:https://arxiv.org/pdf/1512.02325.pdf> H.Uzawa et. al, "High-definition object detection technology based on AI inference scheme and its implementation", IEICE Electronics Express, 2021, Volume 18, Issue 22, Pages 20210323. 氏家 隆之等, "動画像コーデックにおける動きベクトルを用いたCNN物体検出の負荷緩和", Vol.2018-CVIM-210 No.4 情報処理学会研究報告
 非特許文献1には、320×320画素、416×416画素、及び608×608画素の入力画像からYOLOによって物体を検出する手法について開示されている。
 非特許文献2には、SSDによって物体を検出する手法について開示されている。
 非特許文献3には、入力された入力画像を複数の画像に分割し、入力画像の一部を示す部分面、及び入力された画像を縮小して画像の全体を示す全体面を用いて、YOLOによって物体を検出し、部分面及び全体面から検出した結果を合成して最終的な物体の検出結果を得る手法について開示されている。
 非特許文献4には、動きベクトルに基づいて各物体の移動位置を予測し、物体位置を補正することで、物体検出を実行するフレームを間引くことを可能にする手法について開示されている。
 ところで、深層学習を行った学習済みモデルを用いて、画像から物体を検出する場合、検出する画像の大きさが制限される。例えば、4K(3840×2160画素)等の超高精細映像に対して物体を検出する処理を行う場合、入力された画像を複数に分割して得られる部分面、入力画像を縮小した全体面を用いて検出することがある。ここで、超高精細映像における入力画像を608×608画素の部分面に分割した場合、28個の部分面に対して物体を検出する処理をそれぞれ行うことになり、処理量が膨大となる。そのため、処理量を抑制する手法として、上述したように、物体を検出する部分面を間引き、間引いた部分面に対する検出結果は、物体の移動予測によって位置補正を行うことで、処理量の抑制が実現される。
 しかしながら、1フレーム当たりの検出が実行可能な部分面が少ない、かつ部分面の総数が多い場合、各々の部分面において間引かれる(検出処理が実行されない)回数も増大する。そのため、動画像において、ドローンの急旋回等の急な変動が生じた場合、物体の移動が精度よく予測されず、物体の追従性能が劣化することがある。
 部分面の総数を減らすことにより、物体検出を実行可能な部分面数が増えるため、同一フレームにおいて、物体を検出する範囲が拡がり、物体の追従性が向上する。一方、部分面の総数を減らすことは、各々の部分面における画像縮小を伴い、物体の検出性能の劣化を招く。すなわち、超高精細映像から物体を検出する場合において、物体の追従性能、及び物体の検出性能が両立できない虞がある。
 本開示は、このような事情に鑑みてなされたもので、超高精細映像等から物体を検出する場合において、物体の追従性能、及び物体の検出性能を両立できる物体検出装置、及び物体検出方法を提案することを目的とする。
 本開示の第1態様は、動画像に含まれる画像から物体を検出する物体検出装置であって、動画像から画像を取得する取得部と、連続した画像の差分を用いて、画像を複数の部分面に分割する面数を設定する面数設定部と、分割された部分面毎に、物体を検出する頻度を割り当てる割当制御部と、設定された面数に応じて、画像を複数の部分面に分割し、割り当てられた頻度に応じて部分面から物体を検出する分割処理部と、画像を画像の全体を示す全体面に縮小し、全体面から物体を検出する全体処理部と、部分面、及び全体面から検出した各々の検出結果を合成して、画像から物体を検出する合成処理部と、を備えた物体検出装置である。
 本開示の第2態様は、動画像に含まれる画像から物体を検出する物体検出方法であって、動画像から画像を取得し、連続した画像の差分を用いて、画像を複数の部分面に分割する面数を設定し、分割された部分面毎に、物体を検出する頻度を割り当て、設定された面数に応じて、画像を複数の部分面に分割し、割り当てられた頻度に応じて部分面から物体を検出し、画像を画像の全体を示す全体面に縮小し、全体面から物体を検出し、部分面、及び全体面から検出した各々の検出結果を合成して、画像から物体を検出する、物体検出方法である。
 開示の技術によれば、超高精細映像等から物体を検出する場合において、物体の追従性能、及び物体の検出性能を両立できる。
本実施形態に係る物体検出装置のハードウェア構成を示すブロック図である。 本実施形態に係る物体検出装置10の機能構成の一例を示すブロック図である。 本実施形態に係る物体の検出の説明に供する検出処理のデータの流れの一例を示すデータフロー図である。 本実施形態に係る面数の設定の説明に供する面数設定処理のデータの流れの一例を示すデータフロー図である。 本実施形態に係るガードタイムの説明に供する差分平均値、及び面数の時系列データの一例を示すグラフである。 本実施形態に係る部分面毎の検出頻度の割当の説明に供する割当制御処理のデータの流れの一例を示すデータフロー図である。 本実施形態に係る物体検出処理の一例を示すフローチャートである。 本実施形態に係る面数設定処理の一例を示すフローチャートである。 本実施形態に係る割当制御処理の一例を示すフローチャートである。
 以下、図面を参照して、本開示を実施するための形態例を詳細に説明する。
 まず、図1を参照して、本実施形態に係る物体検出装置10のハードウェア構成について説明する。図1は、本実施形態に係る物体検出装置10のハードウェア構成を示すブロック図である。
 図1に示すように、物体検出装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16、及び通信インタフェース(I/F)17を有する。各構成は、バス18を介して相互に通信可能に接続されている。なお、上述したCPUは、及びメモリを用いる構成は例示に過ぎず、例えば、専用の演算回路を搭載した物体の検出を専門に行う装置として実装してもよい。
 CPU11は、中央演算処理ユニットであり、各種プログラムの実行、及び各部の制御を行う。すなわち、CPU11は、ROM12、又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12、又はストレージ14に記憶されているプログラムに従って、上記各構成の制御、及び各種の演算処理を行う。本実施形態では、ROM12、又はストレージ14には、画像から物体を検出するための物体検出処理プログラムが格納されている。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
 通信インタフェース17は、表示機器等の他の機器と通信するためのインタフェースである。当該通信には、たとえば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。通信インタフェース17は、外部メモリから入力データを取得し、外部メモリに出力データを送信する。
 次に、図2を参照して、物体検出装置10の機能構成について説明する。図2は、本実施形態に係る物体検出装置10の機能構成の一例を示すブロック図である。
 図2に示すように、物体検出装置10は、機能構成として、取得部21、分割処理部22、全体処理部23、合成処理部24、記憶部25、推定部26、生成部27、面数設定部28、振分部29、及び割当制御部30を備えている。CPU11が物体検出処理プログラムを実行することによって、取得部21、分割処理部22、全体処理部23、合成処理部24、記憶部25、推定部26、生成部27、面数設定部28、振分部29、及び割当制御部30として機能する。
 取得部21は、一例として図3に示すように、動画像31からフレーム毎の画像32を取得する。
 分割処理部22は、設定された面数に応じて、取得した画像32を各々の部分の画像(以下、「部分面」という。)33に分割し、割り当てられた検出頻度に応じて、分割された部分面33毎に物体の検出を行う。ここで、面数は、後述する面数設定部28によって設定され、検出頻度は、割当制御部30によって設定される。なお、本実施形態に係る分割処理部22は、画像32を面数に応じた部分面に分割し、各々の部分面から物体を検出するための機械学習を行った学習モデルである。分割処理部22は、各々の部分面33に含まれている物体の位置(物体の中心、物体が含まれる領域の高さ及び幅)、物体の属性、及び物体を示す信頼度を含むメタデータを検出する。
 分割処理部22は、図3に示すように、各々の部分面33に含まれている物体のメタデータを検出し、所定の大きさ以上の信頼度に係るメタデータを検出結果(以下、「分割処理結果」という。)34として出力する。
 全体処理部23は、取得した画像32を縮小し、画像の全体を示した画像(以下、「全体面」という。)35から物体のメタデータを検出し、所定の大きさ以上の信頼度に係るメタデータを検出結果(以下、「全体処理結果」という。)36として出力する。なお、本実施形態に係る全体処理部23は、画像32を全体面に縮小し、縮小した全体面から物体を検出するための機械学習を行った学習モデルである。
 合成処理部24は、分割処理結果34、及び全体処理結果36を合成して画像32から物体を検出して出力する。具体的には、図3に示すように、合成処理部24は、分割処理結果34、及び全体処理結果36を用いて、対応するメタデータを検出して、当該メタデータを検出結果(以下、「合成処理結果」という。)37として出力する。また、合成処理部24は、分割処理結果34に含まれ、かつ全体処理結果36に含まれない物体(メタデータ)を検出して、合成処理結果37として出力する。
 記憶部25は、取得した画像32、及び分割処理結果34を記憶する。ここで、分割処理結果34は、各々の部分面における物体のメタデータである。
 推定部26は、一例として図4に示すように、取得部21によって取得された現フレームにおける画像32と、記憶部25に記憶されている1フレーム前の画像を示す過去画像39と、の間で動き探索を行い、物体の移動を示す動きベクトル38を推定する。動き探索の方法は、現フレームにおける画像32と、過去画像39と、比較する方法等の当業者に公知となっている従来技術を用いる形態について説明する。しかし、本実施形態に係る動き探索の方法は、これに限定されない。
 生成部27は、図4に示すように、記憶部25に記憶されている1フレーム前の画像を示す過去画像39、及び推定部26によって推定された動きベクトル38を用いて、現在のフレームに係る物体の位置を予測した予測画像40を生成する。
 面数設定部28は、図4に示すように、現在のフレームを示す画像32と、生成部27によって生成された予測画像40と、を用いて、部分面33の面数41を設定する。具体的には、面数設定部28は、現在のフレームを示す画像32、及び予測画像40の各々の画素における画素値の差分絶対値を導出し、全ての画素における差分絶対値の総和(以下、「差分絶対値和」という。)を導出する。ここで、本実施形態に係る差分絶対値和は、以下の数式によって表される。
 ここで、diffは、全ての画素における差分絶対値和であり、Nは、フレームを識別するフレーム番号であり、cは画像のチャネル数であり、xは、画像内のx座標であり、yは、画像内のy座標である。また、mvxは、動きベクトル38のx成分であり、mvyは、動きベクトル38のy成分を示している。
 すなわち、上述した式(1)の第1項は、現在のフレームに係る画像の画素値を示しており、第2項は、1フレーム前のフレームに係る画像を動きベクトル38を用いて補正した予測画像40の画素値を示している。面数設定部28は、画像の画素及びチャネル毎に、現在のフレームに係る画像の画素値と、動きベクトル38によって補正された予測画像40と、の画素値の差分絶対値を導出する。面数設定部28は、全ての画素及びチャネルにおいて差分絶対値和を総和して、現在のフレームにかかる差分絶対値和diffを導出する。
 面数設定部28は、導出した現在のフレームに係る差分絶対値和diffと、過去に導出した過去のフレームに係る差分絶対値和diffと、を用いて、差分絶対値和の移動平均(以下、「平均差分和」という。)42を導出する。
 面数設定部28は、図4に示すように、導出した平均差分和42に応じて、面数41を設定する。具体的には、一例として図5に示すように、面数設定部28は、平均差分和42が、予め定められた閾値を超えた場合、閾値に対応した面数41を設定する。例えば、図5に示すように、面数設定部28は、平均差分和42が、予め定められた閾値を超えた場合、M1より面数が少ないM2に変更して設定する。ここで、面数設定部28は、面数41において過度な変更が生じないように、ガードタイムを予め設定し、面数の変更が生じた場合、平均差分和42が、予め定められた閾値を超えたか否かに関わらず、ガードタイムが経過するまで面数41を変更しない。また、面数設定部28は、ガードタイムが経過した場合において、平均差分和42が、予め定められた閾値以下である場合、面数41をM1(初期値)に変更して設定する。
 すなわち、平均差分和42が大きくなった(画像の変動が大きい)場合、面数41を少なく(各々の部分面を大きく)することによって、物体を検出する範囲が拡大し、物体の追従性能が向上する。また、平均差分和42が小さくなった(画像の変動が小さい)場合、面数41を多く(各々の部分面を小さく)することによって、物体の検出性能が向上する。
 なお、本実施形態では、閾値は1つである形態について説明した。しかし、これに限定されない。閾値は複数であってもよい。例えば、面数設定部28は、複数の予め定められた閾値を設定し、平均差分和42が、閾値を超えた場合、超えた閾値のうち、最も値が大きい閾値を判別し、判別された閾値に対応する面数41に変更して設定する。なお、複数の閾値が設定される場合、大きい閾値ほど、少ない面数が対応付けられる。
 振分部29は、変更された面数41に応じて、記憶部25に記憶されている分割処理結果34に含まれる検出された物体を、変更された面数41に対応した部分面33にそれぞれ振り分ける。例えば、面数41が変更された場合、現在のフレームにおいて、物体が検出された部分面33と、過去のフレームにおいて、物体が検出された部分面33と、が対応しないことがある。そのため、振分部29は、図4に示すように、面数41の変更が生じた場合、過去のフレームに係る分割処理結果34の部分面33を変更された面数41に対応した部分面33に変更し、検出された物体の位置を変更された部分面33に割り振る。これにより、面数41の変更が生じた場合であっても、現在のフレームに係る部分面33と、過去のフレームに係る部分面33と、の比較が可能となる。
 割当制御部30は、一例として図6に示すように、記憶部25に記憶されている現在のフレームまでの分割処理結果34、及び面数設定部28によって設定された面数41を用いて、部分面33毎に、物体を検出する検出頻度43を割り当てる。割当制御部30は、複数のフレームに跨る周期を予め設定し、現在の周期における分割処理結果34、及び面数41を用いて、次の周期における検出頻度43を部分面33毎に割り当てる。
 具体的には、割当制御部30は、周期毎、及び部分面毎に検出数揺らぎ値を導出し、導出した検出数揺らぎ値に応じて、割当可能量を各々の部分面33に比例配分して、部分面毎に次の周期における検出頻度43を割り当てる。
 ここで、割当可能量は、予め定められた検出が実行可能な部分面の数に、周期に含まれるフレーム数を積算して定められる。例えば、1フレーム当たりの検出が実行可能な部分面の数がTであり、周期に含まれるフレーム数がRである場合、当該周期における割当可能量は、T×Rとなる。また、部分面の数が、1フレーム当たりの実行可能な部分面の数Tより多い場合、分割処理部22において、物体の検出が実行される部分面が絞られる(間引かれる)。そのため、分割処理部22は、物体の検出において、過去のフレームに係る分割処理結果34に動きベクトル38を適用して補正し、現在のフレームにおいて間引かれた部分面に物体が含まれるか否かを判定して物体を検出する。これにより、検出による処理量が削減される。
 本実施形態に係る検出数揺らぎ値は、以下の数式によって表される。
 ここで、f(n)は、検出数揺らぎ値であり、nは、部分面を識別するための番号であり、uは、周期に含まれるフレームを識別するための番号であり、Uは、周期内のフレーム数であり、Dは、各々のフレームにおける部分面毎の検出揺らぎ値であり、kは、周期を識別するための番号である。また、dは、検出した物体数であり、davgは、検出した物体数の平均値(以下、「検出平均値」という。)である。例えば、上述した式(3)において、d(n,k,u)は、現在の周期kのフレームuにおける部分面nで検出された物体数を示している。また、検出平均値avg(n,k-1)は、過去の周期k-1における検出された検出平均値を示している。現在の周期までに検出した検出平均値davgは、周期毎に更新され、過去の周期までの検出平均値davgと、現在の周期において検出された物体数dの平均値と、を平均することによって得られ、次の周期において用いられる。
 なお、本実施形態では、現在の周期k、及び部分面nにおける検出平均値davg(n,k)は、現在の周期kにおける検出平均値と、過去の周期k-1までの検出平均値davg(n,k-1)と、を平均することによって導出する形態について説明した。しかし、これに限定されない。重み値を積算して次の周期におけるdavgを導出してもよい。具体的には、davg=davg(n,k-1)+(1-i)davg(n,k)として導出してもよい。ここで、iは、忘却係数である。
 割当制御部30は、検出数揺らぎ値f(n)が大きい部分面ほど、次の周期における検出頻度43が多くなるように、各々の部分面33に割当可能量を比例配分する。
 次に、図7から図9を参照して、本実施形態に係る物体検出装置10の作用について説明する。図7は、本実施形態に係る物体検出処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から物体検出プログラムを読み出し、実行することによって、図7に示す物体検出プログラムが実行される。図7に示す物体検出プログラムは、例えば、入力データとして動画像31が入力され、物体検出処理を実行する指示が入力された場合、実行される。
 ステップS101において、CPU11は、面数41、及び検出頻度43に初期値を設定する。例えば、面数41として、面数に設定し得る面数のうち、最も面数が多い面数が設定され、検出頻度43として、各々の部分面に1が設定される。
 ステップS102において、CPU11は、初期値として、経過フレームに1を設定し、経過時間に1を設定する。
 ステップS103において、CPU11は、入力データとして1フレーム毎に画像32を取得する。
 ステップS104において、CPU11は、設定された面数41に応じて、画像32を複数の部分面33に分割する。
 ステップS105において、CPU11は、設定された検出頻度43に応じて、各々の部分面33から物体を検出する。ここで、非間引き対象の部分面に対する検出結果は、物体の検出を実行して得られるメタデータであり、間引き対象の部分面33に対する検出結果は、記憶部25に記憶されている過去のフレームにおける分割処理結果34を読み出し、推定部26によって推定された動きベクトル38を用いて物体の位置を補正することで得られるメタデータである。
 ステップS106において、CPU11は、画像32を全体面35に縮小する。
 ステップS107において、CPU11は、縮小した全体面35から物体を検出する。
 ステップS108において、CPU11は、分割処理結果34、及び全体処理結果36を用いて、検出結果を合成する。
 ステップS109において、CPU11は、合成処理結果37から物体を検出する。
 ステップS110において、CPU11は、画像32、及び分割処理結果34を記憶する。
 ステップS111において、CPU11は、合成処理結果37を出力する。
 ステップS112において、CPU11は、経過フレーム数、及び経過時間に1を加算する。
 ステップS113において、CPU11は、面数設定処理を実行する。なお、面数設定処理は、後述する図8において詳細に説明する。
 ステップS114において、CPU11は、経過フレーム数が、所定の周期を経過して、次の周期となったか否かを判定する。次の周期となった場合(ステップS114:YES)、CPU11は、ステップS115に移行する。一方、次の周期となっていない(経過フレーム数が、所定の周期を経過していない)場合(ステップS114:NO)、CPU11は、ステップS116に移行する。
 ステップS115において、CPU11は、割当制御処理を実行する。なお、割当制御処理は、後述する図9において詳細に説明する。
 ステップS116において、CPU11は、次の画像32が存在しないか否かを判定する。次の画像32が存在しない場合(ステップS116:YES)、CPU11は、物体検出処理を終了する。一方、次の画像32が存在する場合(ステップS116:NO)、CPU11は、ステップS103に移行する。
 次に、図8を参照して、本実施形態に係る面数設定処理について説明する。図8は、本実施形態に係る面数設定処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から面数設定プログラムを読み出し、実行することによって、図8に示す面数設定プログラムが実行される。図8に示す面数設定プログラムは、例えば、入力データとして画像32が入力され、面数設定処理を実行する指示が入力された場合、実行される。
 ステップS201において、CPU11は、取得した画像32と、過去画像39と、を用いて、動きベクトル38を推定する。
 ステップS202において、CPU11は、推定した動きベクトル38を1フレーム前の過去画像39に適用して、予測画像40を生成する。
 ステップS203において、CPU11は、現在のフレームに係る画像32と、予測画像40と、を比較して、差分絶対値和diffを導出する。
 ステップS204において、CPU11は、導出した差分絶対値和diffと、過去の差分絶対値和diffと、を用いて、平均差分和42を導出する。
 ステップS205において、CPU11は、経過時間が、ガードタイムを超えたか否かを判定する。経過時間が、ガードタイムを超えた場合(ステップS205:YES)、CPU11は、ステップS206に移行する。一方、経過時間が、ガードタイムを超えていない場合(ステップS205:NO)、CPU11は、ステップS210に移行する。
 ステップS206において、CPU11は、平均差分和42が、予め定められた閾値を超えたか否かを判定する。平均差分和42が、予め定められた閾値を超えた場合(ステップS206:YES)、CPU11は、ステップS207に移行する。一方、平均差分和42が、予め定められた閾値を超えていない場合(ステップS206:NO)、CPU11は、ステップS208に移行する。
 ステップS207において、CPU11は、閾値に対応する面数を設定する。ここで、閾値が複数設定されている場合、平均差分和42が超えた閾値のうち、最も値が大きい閾値に対応する面数を設定する。
 ステップS208において、CPU11は、面数に初期値を設定する。ここで、初期値として、設定され得る面数のうち、最も面数が多い面数が設定される。
 ステップS209において、CPU11は、設定された面数41に応じて、記憶されている分割処理結果34の部分面33を変更し、分割処理結果34に含まれる検出された物体を、変更された部分面33にそれぞれ振り分ける。
 ステップS210において、CPU11は、経過時間に1を設定する。
 次に、図9を参照して、本実施形態に係る割当制御処理について説明する。図9は、本実施形態に係る割当制御処理の一例を示すフローチャートである。CPU11がROM12又はストレージ14から割当制御プログラムを読み出し、実行することによって、図9に示す割当制御プログラムが実行される。図9に示す割当制御プログラムは、例えば、所定の周期が経過し、割当制御処理を実行する指示が入力された場合、実行される。
 ステップS301において、CPU11は、部分面毎に検出した物体数、及び過去の周期において検出した物体数の平均値を用いて、検出数揺らぎ値f(n)を導出する。
 ステップS302において、CPU11は、検出数揺らぎ値に応じて、各々の部分面33に検出頻度43を割り当てる。ここで、各々の部分面33に割り当てられる検出頻度43は、検出数揺らぎ値に応じて、周期における割当可能量を比例配分して割り当てられる。
 ステップS303において、CPU11は、次の周期において用いられる検出平均値davgを更新する。ここで、CPU11は、過去の周期までの検出平均値davgと、現在の周期において検出された物体数dの平均値と、を用いて、次の周期において用いられる検出平均値davgを導出する。
 ステップS305において、CPU11は、経過フレーム数に1を設定する。
 以上説明したように、本実施形態によれば、超高精細映像等から物体を検出する場合において、物体の追従性能、及び物体の検出性能を両立できる。
 なお、上記実施形態に係る検出頻度43は、割当可能量を検出数揺らぎ値に応じて比例配分して割り当てられる形態について説明した。しかし、これに限定されない。例えば、各々の部分面33の検出頻度43に1を割り当て、残りの割当可能量(割当可能量-面数)を検出数揺らぎ値に応じて比例配分してもよい。
[変形例]
 上記実施形態では、予め定められたガードタイムを経過した場合、面数41を変更して設定する形態について、説明した。本変形例では、ガードタイムが変動する形態について説明する。
 例えば、物体検出装置10は、所定の期間において生じた面数41の変更回数を計数し、当該変更回数が、所定の回数を超えた場合、ガードタイムに予め定められた時間を加算して、ガードタイムを延長してもよい。これにより、頻繁に面数41の変更が生じることが抑制される。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した推論処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、物体検出処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、物体検出処理プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 動画像に含まれる画像から物体を検出する物体検出装置であって、
 前記動画像から前記画像を取得し、
 連続した前記画像の差分を用いて、前記画像を複数の部分面に分割する面数を設定し、
 分割された前記部分面毎に、前記物体を検出する頻度を割り当て、
 設定された面数に応じて、前記画像を複数の前記部分面に分割し、割り当てられた前記頻度に応じて前記部分面から物体を検出し、
 前記画像を前記画像の全体を示す全体面に縮小し、前記全体面から物体を検出し、
 前記部分面、及び前記全体面から検出した各々の検出結果を合成して、前記画像から物体を検出する、
 ように構成されている物体検出装置。
 (付記項2)
 物体検出処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 動画像に含まれる画像から物体を検出する前記物体検出処理は、
 前記動画像から前記画像を取得し、
 連続した前記画像の差分を用いて、前記画像を複数の部分面に分割する面数を設定し、
 分割された前記部分面毎に、前記物体を検出する頻度を割り当て、
 設定された面数に応じて、前記画像を複数の前記部分面に分割し、割り当てられた前記頻度に応じて前記部分面から物体を検出し、
 前記画像を前記画像の全体を示す全体面に縮小し、前記全体面から物体を検出し、
 前記部分面、及び前記全体面から検出した各々の検出結果を合成して、前記画像から物体を検出する、
 非一時的記憶媒体。
10   物体検出装置
21   取得部
22   分割処理部
23   全体処理部
24   合成処理部
25   記憶部
26   推定部
27   生成部
28   面数設定部
29   振分部
30   割当制御部

Claims (8)

  1.  動画像に含まれる画像から物体を検出する物体検出装置であって、
     前記動画像から前記画像を取得する取得部と、
     連続した前記画像の差分を用いて、前記画像を複数の部分面に分割する面数を設定する面数設定部と、
     分割された前記部分面毎に、前記物体を検出する頻度を割り当てる割当制御部と、
     設定された面数に応じて、前記画像を複数の前記部分面に分割し、割り当てられた前記頻度に応じて前記部分面から物体を検出する分割処理部と、
     前記画像を前記画像の全体を示す全体面に縮小し、前記全体面から物体を検出する全体処理部と、
     前記部分面、及び前記全体面から検出した各々の検出結果を合成して、前記画像から物体を検出する合成処理部と、
     を備えた物体検出装置。
  2.  前記画像から物体の移動を示すベクトルを推定する推定部と、
     前記ベクトルを用いて、現在の前記物体の位置を予測した予測画像を生成する生成部と、
     をさらに備え、
     前記面数設定部は、前記予測画像、及び取得した前記画像を用いて算出した差分絶対値和が、予め定められた条件を満たした場合、前記予め定められた条件に対応する面数に変更して設定する
     請求項1に記載の物体検出装置。
  3.  前記面数設定部は、前記面数を設定してから予め定められた期間が経過した後に、予め定められた条件を満たした場合、前記面数に変更して設定する
     請求項2に記載の物体検出装置。
  4.  前記面数設定部は、前記面数の変更が生じた回数が、予め定められた回数を超えた場合、前記予め定められた期間に、予め定められた時間を加算する
     請求項3に記載の物体検出装置。
  5.  前記割当制御部は、複数の画像を含む周期を設定し、現在の周期における物体を検出した検出数、及び現在の周期までに検出した検出数の平均値の差分に基づいて、次の周期における前記頻度を前記部分面毎に割り当てる
     請求項1に記載の物体検出装置。
  6.  前記割当制御部は、現在の周期における検出数の平均値と、過去の周期における検出数の平均値と、を用いて、前記現在の周期までに検出した検出数の平均値を導出する
     請求項5に記載の物体検出装置。
  7.  前記割当制御部は、前記現在の周期における検出数の平均値に重み値を積算した値を用いて、前記現在の周期までに検出した検出数の平均値を導出する
     請求項6に記載の物体検出装置。
  8.  動画像に含まれる画像から物体を検出する物体検出方法であって、
     前記動画像から前記画像を取得し、
     連続した前記画像の差分を用いて、前記画像を複数の部分面に分割する面数を設定し、
     分割された前記部分面毎に、前記物体を検出する頻度を割り当て、
     設定された面数に応じて、前記画像を複数の前記部分面に分割し、割り当てられた前記頻度に応じて前記部分面から物体を検出し、
     前記画像を前記画像の全体を示す全体面に縮小し、前記全体面から物体を検出し、
     前記部分面、及び前記全体面から検出した各々の検出結果を合成して、前記画像から物体を検出する、
     物体検出方法。
PCT/JP2022/022986 2022-06-07 2022-06-07 物体検出装置、及び物体検出方法 WO2023238248A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022986 WO2023238248A1 (ja) 2022-06-07 2022-06-07 物体検出装置、及び物体検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022986 WO2023238248A1 (ja) 2022-06-07 2022-06-07 物体検出装置、及び物体検出方法

Publications (1)

Publication Number Publication Date
WO2023238248A1 true WO2023238248A1 (ja) 2023-12-14

Family

ID=89118116

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022986 WO2023238248A1 (ja) 2022-06-07 2022-06-07 物体検出装置、及び物体検出方法

Country Status (1)

Country Link
WO (1) WO2023238248A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280043A (ja) * 2006-04-06 2007-10-25 Mitsubishi Electric Corp 映像監視検索システム
JP2014092997A (ja) * 2012-11-05 2014-05-19 Toshiba Corp 画像処理装置、方法、及びプログラム、並びに、画像表示装置
WO2021161513A1 (ja) * 2020-02-14 2021-08-19 日本電信電話株式会社 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280043A (ja) * 2006-04-06 2007-10-25 Mitsubishi Electric Corp 映像監視検索システム
JP2014092997A (ja) * 2012-11-05 2014-05-19 Toshiba Corp 画像処理装置、方法、及びプログラム、並びに、画像表示装置
WO2021161513A1 (ja) * 2020-02-14 2021-08-19 日本電信電話株式会社 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム

Similar Documents

Publication Publication Date Title
US8279930B2 (en) Image processing apparatus and method, program, and recording medium
US9524562B2 (en) Object tracking method and device
US8204124B2 (en) Image processing apparatus, method thereof, and program
KR102398599B1 (ko) 모션 추정을 사용한 시간적 포비티드 렌더링
WO2014133769A2 (en) Method and system for image processing
WO2015186347A1 (ja) 検出システム、検出方法及びプログラム記憶媒体
KR20150146419A (ko) 시간적으로 일관된 수퍼픽셀들을 생성하기 위한 방법 및 장치
KR101537559B1 (ko) 객체 검출 장치, 차량용 객체 검출 장치 및 이들의 방법
WO2023238248A1 (ja) 物体検出装置、及び物体検出方法
KR101371657B1 (ko) 이미지 클러스터링 방법 및 이를 적용한 컴퓨터 판독가능 기록 매체
JP6275719B2 (ja) ビデオシーケンスの画像の色をサンプル化する方法および色クラスタリングへの適用
JP2014110020A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP5412984B2 (ja) フォロー対象検出装置、フォロー対象検出方法およびフォロー対象検出プログラム
WO2018037479A1 (ja) 画像処理装置、ステレオカメラ装置及び画像処理方法
KR101337206B1 (ko) 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.
KR101806453B1 (ko) 무인 비행체 충돌 회피를 위한 이동 객체 검출 장치 및 방법
KR101480824B1 (ko) 다중 호모그래피 기법을 이용한 배경 움직임 보상 방법
EP4293611A1 (en) Object detection device, method, and program
EP2461565B1 (en) Motion estimation method for frame rate up conversion applications
US20230058896A1 (en) Image Processing Device, Image Processing System, Image Processing Method, and Image Processing Program
JP6257337B2 (ja) 画像選択装置
US8934055B1 (en) Clustering based motion layer detection
KR20180082739A (ko) 단일 카메라를 이용한 영상에서 움직이는 객체 검출 방법 및 시스템
JP2022076346A (ja) 画像処理装置、画像処理方法、およびプログラム
US10359974B2 (en) Printing apparatus, method for estimating a time required for a rendering process, and storage medium

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

Country of ref document: EP

Kind code of ref document: A1