WO2025220141A1 - 物体検出装置及び方法 - Google Patents
物体検出装置及び方法Info
- Publication number
- WO2025220141A1 WO2025220141A1 PCT/JP2024/015192 JP2024015192W WO2025220141A1 WO 2025220141 A1 WO2025220141 A1 WO 2025220141A1 JP 2024015192 W JP2024015192 W JP 2024015192W WO 2025220141 A1 WO2025220141 A1 WO 2025220141A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- object detection
- unit
- frame
- predetermined number
- detection
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/96—Management of image or video recognition tasks
Definitions
- the disclosed technology relates to an object detection device and an object detection method.
- An object detection device is a device that detects objects contained in an input image and extracts metadata including location information such as a rectangular frame indicating the area of the object, attributes indicating the type of object (person, vehicle, etc.), and the reliability of the detection results.
- Non-Patent Documents 1 and 2 Non-Patent Documents 1 and 2.
- the input size is limited to 320 (width) x 320 (height) pixels, 416 x 416 pixels, or 608 x 608 pixels.
- Non-Patent Document 3 A method has been disclosed that enables deep learning-based object detection for high-resolution images such as full HD and 4K, while still meeting the above-mentioned constraints on the input size of a machine learning model. Specifically, the method involves reducing the input image to an input size that satisfies the above-mentioned constraints, performing overall processing to detect objects in the entire image, and segmentation processing to divide the input image and perform object detection for each divided image, and then combining the results of the overall processing and the segmentation processing to obtain the final detection result.
- Non-Patent Document 3 has the problem that when ultra-high definition video such as 4K (3840 x 2160 pixels) is used as input, the number of segmented images increases, resulting in a huge amount of calculation required for the segmentation process. For example, in the case of YOLOv3, if the input size is restricted to 608 x 608 pixels, the maximum number of segmented images is 28, resulting in a huge amount of calculation required for the segmentation process to detect objects from each segmented image.
- 4K 3840 x 2160 pixels
- One way to reduce the amount of calculation required for object detection is to narrow down (thin out) the number of faces on which object detection is performed for the same frame (faces corresponding to reduced images and faces corresponding to divided images). It is possible to determine the number of faces on which object detection is performed per frame depending on the frame rate of the object detection process, but because the frame rate of the object detection process can fluctuate, it is not uniquely determined, making it difficult to determine an appropriate number of faces. If the number of faces on which object detection is performed is too small, the accuracy of object detection will decrease, and if the number of faces on which object detection is performed is too large, the amount of calculation will increase, so it is desirable to determine an appropriate number of faces.
- the disclosed technology was developed in consideration of the above points, and aims to appropriately narrow down the number of surfaces on which object detection is performed when there are multiple target surfaces for object detection per frame.
- a first aspect of the present disclosure is an object detection device that includes a detection unit that detects an object from each of a predetermined number of faces for each frame among faces corresponding to each of the divided images obtained by dividing an image of each frame included in a video into a plurality of parts and a reduced image obtained by reducing the entire image; a synthesis unit that synthesizes the object detection results for each of the predetermined number of faces; and a determination unit that determines the predetermined number based on an index related to the difference between the input frame rate of the video and the frame rate of the object detection process performed by the detection unit.
- a second aspect of the present disclosure is an object detection method executed by an object detection device including a detection unit, a synthesis unit, and a determination unit, in which the detection unit detects an object from each of a predetermined number of surfaces for each frame among surfaces corresponding to each of the divided images obtained by dividing an image of each frame included in a video into multiple parts and a reduced image obtained by reducing the entire image, the synthesis unit synthesizes the object detection results for each of the predetermined number of surfaces, and the determination unit determines the predetermined number based on an index related to the difference between the input frame rate of the video and the frame rate of the object detection process in the detection unit.
- the disclosed technology makes it possible to appropriately narrow down the number of surfaces on which object detection is performed when there are multiple surfaces on which object detection is performed per frame.
- FIG. 2 is a diagram illustrating object detection in the present embodiment.
- FIG. 2 is a block diagram showing a hardware configuration of the object detection device.
- FIG. 2 is a block diagram illustrating an example of a functional configuration of an object detection device.
- FIG. 10 is a control diagram for determining the total number of faces.
- 10A and 10B are diagrams for explaining how the number of narrowing-down planes for each frame is determined in the first embodiment.
- 10 is a flowchart showing the flow of an object detection process.
- 10 is a flowchart showing the flow of a decision process.
- FIG. 11 is a diagram for explaining how to determine the number of narrowing-down planes for each frame in the second embodiment.
- the object detection device performs a segmentation process in which an input image of one frame of video is segmented into a plurality of images and object detection is performed for each segmented image, and a whole process in which object detection is performed for a reduced image obtained by reducing the entire input image.
- the object detection device performs image scaling to reduce the input image to an image size that can be input into an object detection model prepared in advance for the reduced image, generating a reduced image, and inputs the reduced image into the object detection model.
- the object detection device then performs object detection processing using the object detection model, detects objects contained in the reduced image, and obtains a detection result.
- the detection result includes information identifying the area indicating the detected object, information indicating the object's attributes, and the reliability of the detection result.
- the information identifying the area indicating the object is, for example, position information of the object's circumscribing rectangle (hereinafter referred to as the "detection frame").
- the position information may be, for example, a specified point of the detection frame (e.g., the center point, the point in the upper left corner, etc.) and the size (width and height).
- the information indicating the object's attributes is information indicating the object's type, etc., and in the example of Figure 1, this is "dog,” "bicycle,” etc. Because these are detection results for the reduced image, the object detection device scales the detection frame (adjusts metadata) to map it to the input image before reduction. After adjusting the metadata, objects detected are selected whose reliability is above a preset threshold and output to subsequent synthesis processing.
- the object detection device In the segmentation process, the object detection device generates segmented images by dividing the input image into image sizes that can be input into an object detection model prepared in advance for the segmented images, and inputs each segmented image into the object detection model. The object detection device then performs object detection processing using the object detection model, detects objects contained in each segmented image, and obtains detection results. Because the detection results obtained here are detection results for the segmented images, the object detection device adjusts metadata to map them to the input image before segmentation. In addition, in the segmentation process, the object detection device performs screening on the detection results for each segmented image, retaining only one detection result for the same object that has been detected multiple times and removing the rest. After metadata adjustment and screening, the object detection device selects objects with a reliability above a threshold, just as in the overall processing, and outputs them to the subsequent synthesis process.
- the object detection device outputs a final detection result that combines the detection result from the segmentation process and the detection result from the overall process. For example, in the synthesis process, the object detection device interpolates objects that were not detected in the overall process with objects detected in the segmentation process. In selecting objects to be interpolated, a match is determined between the objects detected in the overall process and the objects detected in the segmentation process, and objects detected in the segmentation process that do not match the objects detected in the overall process are output as objects to be interpolated.
- object detection is performed from a reduced image created by reducing the entire input image and each divided image created by dividing the input image. This makes it possible to simultaneously detect both large and small objects contained in the input image, even for high-definition video that exceeds the input size constraints of the object detection model.
- the number of planes on which object detection is performed for the same frame (hereinafter referred to as the "number of narrowed-down planes M") is given by, for example, (N ⁇ R object )/R input .
- R input is the input frame rate of the video
- R object is the frame rate of object detection processing for one plane by a processing core
- N is the number of processing cores.
- N ⁇ R object represents the maximum frame rate of object detection processing. Therefore, (N ⁇ R object )/M is the frame rate of object detection processing for one frame.
- R object can fluctuate and cannot be uniquely determined, it is difficult to appropriately narrow down the number of faces for which object detection is performed, which means that it is difficult to appropriately determine the value of M in advance.
- the value of the number of narrowed-down planes M is dynamically adjusted in accordance with the speed difference between the video input frame rate (R input ) and the frame rate of the object detection process ((N ⁇ R object )/M). Specifically, when (N ⁇ R object )/M ⁇ R input , the next frame will be input before the execution of object detection on M planes is completed, and the number of frames waiting to be executed for object detection will increase. In order to reduce this number of frames waiting to be executed, the value of M is reduced. On the other hand, when (N ⁇ R object )/M ⁇ R input , the value of M is maintained or increased. As a result, even if R object fluctuates, the value of M is automatically adjusted to be optimal accordingly.
- FIG. 2 is a block diagram showing the hardware configuration of object detection device 10.
- object detection device 10 has a central processing unit (CPU) 11, a read-only memory (ROM) 12, a random access memory (RAM) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17.
- CPU central processing unit
- ROM read-only memory
- RAM random access memory
- storage 14 an input unit
- display unit 16 and a communication interface (I/F) 17.
- I/F communication interface
- CPU 11 is a central processing unit that executes various programs and controls each component. That is, CPU 11 reads programs from ROM 12 or storage 14 and executes the programs using RAM 13 as a work area. CPU 11 controls the above components and performs various calculation processes in accordance with the programs stored in ROM 12 or storage 14. In this embodiment, ROM 12 or storage 14 stores an object detection program, which will be described later.
- ROM 12 stores various programs and data.
- RAM 13 temporarily stores programs or data as a working area.
- Storage 14 is made up of storage devices such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives), and stores various programs and data, including the operating system.
- the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to enter various types of input.
- the display unit 16 is, for example, an LCD display, and displays various types of information.
- the display unit 16 may also function as the input unit 15 by employing a touch panel system.
- the communication I/F 17 is an interface for communicating with other devices.
- wired communication standards such as Ethernet (registered trademark) and FDDI
- wireless communication standards such as 4G, 5G, and Wi-Fi (registered trademark) are used.
- Figure 3 is a block diagram showing an example of the functional configuration of the object detection device 10.
- the object detection device 10 includes, as its functional components, a division unit 21, a reduction unit 22, a first buffer 23, a determination unit 24, a first selection unit 25, a detection unit 26, a second buffer 27, a result holding unit 28, and a second selection unit 29.
- the object detection device 10 also includes a motion estimation unit 30, a third buffer 31, a correction unit 32, and a synthesis unit 33.
- Each functional component is realized when the CPU 11 reads out an object detection program stored in the ROM 12 or storage 14, expands it in the RAM 13, and executes it.
- the division unit 21 acquires each input image corresponding to each frame included in the video input to the object detection device 10.
- the division unit 21 divides the acquired input image into multiple divided images of a size according to the input size of the object detection model used by the detection unit 26, which will be described later.
- the division unit 21 assigns consecutive numbers (hereinafter referred to as "partial surface numbers") to the multiple partial surfaces corresponding to the multiple divided images, in order, starting from the partial surface corresponding to the upper left of the frame, for example, and stores them in the first buffer 23.
- the reduction unit 22 acquires each input image corresponding to each frame included in the video input to the object detection device 10.
- the reduction unit 22 reduces the acquired input image to a reduced image of a size corresponding to the input size of the object detection model used by the detection unit 26 (described below).
- the reduction unit 22 stores the entire surface corresponding to the reduced image in the first buffer 23.
- the first buffer 23, second buffer 27, and third buffer 31 are buffers for adjusting the speed between the input frame rate of video (R input ) and the frame rate of object detection in the detection unit 26 ((N ⁇ R object )/M).
- the determination unit 24 determines the number of planes on which object detection is performed for the same frame in the detection unit 26, i.e., the number of narrowed-down planes M, based on an index related to the difference between the input frame rate of the video and the frame rate of the object detection process in the detection unit 26.
- the determination unit 24 determines M to be a number that is less than the currently set M. Furthermore, if the indicator indicates that the input frame rate is equal to or less than the frame rate of the object detection process, the determination unit 24 determines to maintain the currently set M, or determines M to be a number that is greater than the currently set M.
- the determination unit 24 sets the index as the difference between the number of frames waiting for the detection unit 26 to execute the object detection process and a predetermined target number, and determines M so that the difference approaches 0.
- M is determined using the above difference value as the index.
- the determination unit 24 executes a process of determining the number of narrowed-down planes M at a cycle of every J frames (hereinafter referred to as a "determination cycle"), where J is a predetermined integer equal to or greater than 1.
- the determination unit 24 executes the following process to determine M so that the number of frames waiting to be executed Baccum accumulated in the first buffer 23 becomes a predetermined target value Btarget .
- the determination unit 24 determines the total number of surfaces (total surface count) on which object detection will be performed in the next determination cycle.
- the total surface count is the sum of the number of narrowed-down surfaces M in each frame included in the determination cycle.
- the determination unit 24 determines the total surface count, for example, based on PD control, so that the number of execution waiting frames B accum converges to the target value B target .
- FIG. 4 shows a control diagram for determining the total surface count.
- the determination unit 24 adds together a proportional value P obtained by multiplying the calculated difference value e by a constant Kp and a differential value D obtained by multiplying the difference value e (e_prev) in the previous determination cycle and the difference value e in the current determination cycle by a constant Kd. If the evaluation value SUM_INT obtained by converting the sum of the proportional value P and the differential value D into an integer value is 0, the determination unit 24 maintains the currently set total number of faces. On the other hand, if the evaluation value is not 0, the determination unit 24 sets the total number of faces in the next determination cycle to the greater of either the value obtained by adding the evaluation value SUM_INT to the currently set total number of faces or a predetermined lower limit value for the total number of faces.
- Kp is an example of a "first constant” in the present disclosure
- the proportional value P is an example of a "first value” in the present disclosure
- Kd is an example of a "second constant” in the present disclosure
- D is an example of a "second value” in the present disclosure.
- the value obtained by adding the evaluation value SUM_INT to the currently set total number of sides is an example of a "third value” in the present disclosure.
- the determination unit 24 determines the number of faces M i distributed to each frame when the remaining number becomes 0 as the number of narrowed-down faces M to be executed for the i-th frame in the next determination cycle.
- the number of narrowed-down planes Mi is determined to be 3 planes in frame #0 of the next determination cycle, 3 planes in frame #1, 2 planes in frame #2, and 2 planes in frame #3.
- the determination unit 24 also determines which partial surface will be subjected to object detection and at what timing, i.e., which frame in the next determination cycle. In this embodiment, one surface of M i is assigned to the whole surface, and the remaining M i ⁇ 1 surfaces are assigned to the partial surfaces.
- the determination unit 24 determines which partial surface of each frame will be subjected to object detection, based on, for example, the absolute value of the difference between the average value of the number of object detections in past determination cycles and the number of object detections in the current determination cycle. Specifically, the determination unit 24 calculates the absolute value of the difference in the number of object detections for each partial surface.
- the determination unit 24 allocates (total number of surfaces—number of frames in the determination cycle) to each partial surface in a ratio according to the calculated absolute value of the difference for each partial surface.
- the determination unit 24 may then allocate the number of partial surfaces to each frame within the range of the narrowed-down surface number M i so that the allocated number of partial surfaces is selected in the next determination cycle, thereby determining the partial surface on which object detection will be performed in the next determination cycle.
- the method of determining the partial surface on which object detection is to be performed is not limited to the above example.
- the determination unit 24 may randomly select a partial surface of the M i -1 surface for each frame and determine it as the partial surface on which object detection is to be performed.
- the determination unit 24 may select a partial surface of the M i -1 surface from the partial surface next to the partial surface selected in the previous frame in order of partial surface number and determine it as the partial surface on which object detection is to be performed.
- the determination unit 24 notifies the first selection unit 25 and the second selection unit 29 of determination information that associates the frame number of the i-th frame in the next determination cycle with the partial surface number of the partial surface on which object detection is performed in that frame.
- the first selection unit 25 Based on the decision information notified by the decision unit 24, the first selection unit 25 reads from the first buffer 23 the full surface and partial surface on which object detection is to be performed, and outputs them to the detection unit 26. The first selection unit 25 also deletes from the first buffer 23 the partial surface that was not selected as the partial surface on which object detection is to be performed in each frame, i.e., the partial surface that was thinned out in each frame.
- the detection unit 26 uses an object detection model to detect objects from each of the overall surface and partial surface output from the first selection unit 25, and stores the detection results in the second buffer 27.
- the object detection model is, for example, a machine learning model such as YOLO.
- the second buffer 27 divides the accumulated detection results into frame-by-frame detection results and outputs them in order to the synthesis unit 33, while also notifying the result holding unit 28 of the detection results.
- the result storage unit 28 stores the detection results for each partial surface of each frame in the previous determination cycle (hereinafter referred to as the "previous detection results").
- the result storage unit 28 is notified by the second buffer 27 of the detection results for a partial surface by the detection unit 26, it updates the detection results it has stored for the partial surface for the relevant frame in the determination cycle with the notified detection results.
- the result storage unit 28 is notified by the correction unit 32 (described later) of the detection results corrected based on the motion vector for the thinned partial surfaces, it updates the detection results it has stored for the partial surface for the relevant frame in the determination cycle with the notified detection results.
- the second selection unit 29 reads the detection results for the previous partial surfaces that have been thinned out in each frame from the result storage unit 28 and outputs them to the correction unit 32.
- the motion estimation unit 30 estimates the motion vector for each frame from the difference between frames of the input image. Conventional methods can be used to estimate the motion vector, so a detailed explanation will be omitted here.
- the motion estimation unit 30 stores the estimated motion vector for each frame in the third buffer 31.
- the third buffer 31 outputs the accumulated motion vectors to the correction unit 32 frame by frame.
- the correction unit 32 corrects the position coordinates of the detection frame in the previous detection result output from the second selection unit 29 based on the motion vector output from the third buffer 31, and substitutes this as the detection result for the thinned-out partial surface.
- the result of correcting the detection result stored in the result storage unit 28 based on the motion vector is used as the detection result for the corresponding partial surface of the corresponding frame in the current determination cycle.
- the correction unit 32 outputs the detection result for the thinned-out partial surface to the synthesis unit 33, and notifies the result storage unit 28 of this.
- the synthesis unit 33 synthesizes the detection results based on the object detection model for the entire surface and selected partial surfaces output from the second buffer 27 with the detection results corrected with the motion vector for the thinned partial surfaces output from the correction unit 32, to obtain the final detection result.
- the synthesis unit 33 outputs the final detection result.
- Figure 6 is a flowchart showing the flow of the object detection process performed by the object detection device 10.
- the object detection process is performed by the CPU 11 reading an object detection program from the ROM 12 or storage 14, expanding it into the RAM 13, and executing it.
- step S10 the CPU 11, functioning as the determination unit 24, determines whether it is time to execute the process for determining the number of narrowed-down surfaces M for the next determination cycle. If it is time to execute the process, the process proceeds to step S20, where the determination process is executed. On the other hand, if it is not time to execute the process, the process proceeds to step S30.
- step S21 the CPU 11, functioning as the determination unit 24, determines the total number of narrowed-down surfaces M in each frame included in the next determination cycle.
- step S23 the CPU 11, as the determination unit 24, assigns one of the M i faces to the whole face and the remaining M i ⁇ 1 faces to the partial faces, and determines the partial faces on which object detection will be performed for each frame of the next determination cycle.
- step S24 the CPU 11, as the determination unit 24, notifies the first selection unit 25 and the second selection unit 29 of determination information that associates the frame number of the i-th frame in the next determination cycle with the partial face number of the partial face on which object detection will be performed in that frame, and then returns to the object detection process ( FIG. 6 ).
- step S30 the CPU 11, acting as the division unit 21, divides the input image into a plurality of divided images, assigns partial surface numbers to the plurality of partial surfaces corresponding to the plurality of divided images, and stores them in the first buffer 23. Furthermore, the CPU 11, acting as the reduction unit 22, reduces the input image into reduced images, and stores the entire surface corresponding to the reduced images in the first buffer 23.
- step S40 the CPU 11, functioning as the first selection unit 25, reads from the first buffer 23 the full surface and partial surface on which object detection is to be performed, based on the decision information notified by the decision unit 24, and outputs them to the detection unit 26. Then, the CPU 11, functioning as the detection unit 26, detects objects from each of the full surface and partial surface output from the first selection unit 25 using an object detection model, and stores the detection results in the second buffer 27.
- step S50 the CPU 11, acting as the first selection unit 25, deletes from the first buffer 23 the partial surfaces that were not selected as partial surfaces for performing object detection in each frame, i.e., the thinned partial surfaces.
- step S60 the CPU 11, acting as the second buffer 27, divides the accumulated detection results into detection results for each frame and outputs them in order to the synthesis unit 33, while also notifying the result holding unit 28 of the detection results.
- the CPU 11, acting as the result holding unit 28 updates the detection result of the relevant partial surface of the relevant frame, from the previous detection results for each partial surface that it holds, with the notified detection result.
- step S70 the CPU 11, acting as the second selection unit 29, reads out the previous detection results of the thinned partial surfaces in each frame from the result storage unit 28 and outputs them to the correction unit 32.
- the CPU 11, acting as the motion estimation unit 30, estimates the motion vector for each frame and stores it in the third buffer 31.
- the CPU 11, acting as the third buffer 31, outputs the stored motion vectors to the correction unit 32 frame by frame.
- the CPU 11, acting as the correction unit 32 corrects the position coordinates of the detection frame in the previous detection results output from the second selection unit 29 based on the motion vector output from the third buffer 31 to obtain the detection results of the thinned partial surfaces.
- step S80 the CPU 11, functioning as the synthesis unit 33, synthesizes the detection results output in steps S60 and S70 to obtain and output a final detection result.
- step S90 the CPU 11 determines whether or not to end the object detection process. For example, it may determine that the object detection process is to end when the final frame of the video has been reached, when a command indicating the end of object detection has been input, etc. If the determination is negative, the process returns to step S10, and if the determination is positive, the object detection process ends.
- the detection unit detects objects from each of a predetermined number of surfaces for each frame, among surfaces corresponding to the divided images obtained by dividing the image of each frame included in the video into multiple parts and the reduced image obtained by reducing the entire image.
- the synthesis unit also synthesizes the object detection results for each of the predetermined number of surfaces.
- the determination unit determines the predetermined number based on an index related to the difference between the input frame rate of the video and the frame rate of the object detection process performed by the detection unit. This makes it possible to appropriately narrow down the number of surfaces on which object detection is performed when there are multiple target surfaces for object detection per frame.
- the hardware configuration of the object detection device 210 according to the second embodiment is similar to the hardware configuration of the object detection device 10 according to the first embodiment shown in Figure 2.
- the functional configuration of the object detection device 210 will be described. Note that the same functional configuration as the object detection device 10 according to the first embodiment will be assigned the same reference numerals and detailed description will be omitted.
- the object detection device 210 includes, as a functional configuration, a determination unit 224 instead of the determination unit 24 of the object detection device 10 according to the first embodiment.
- the determination unit 224 allows the occurrence of frames in which the number of narrowed-down planes M i per frame is 0, and determines the number of narrowed-down planes per frame to be a predetermined fixed value M' for frames in which the number of narrowed-down planes M i is not 0.
- M' the number of narrowed-down planes M i is not 0.
- the determination unit 224 allocates a fixed value M' of face numbers sequentially starting from the first frame of the next determination cycle based on the total number of faces.
- the number of frames to which the number of faces M' can be allocated is obtained by Floor (total number of faces/M').
- the determination unit 224 allocates all remaining numbers to the next frame, and sets M i to 0 for subsequent frames in the determination cycle.
- the narrowed-down number of faces M i is determined to be 3 faces for frames #0 to #2 of the next determination cycle, and 1 face for frame #3.
- the object detection process using the object detection model in the detection unit 26 is skipped.
- no detection result may be obtained, or a detection result in which the position coordinates of the previous detection result are corrected based on the motion vector estimated by the motion estimator 30 may be used instead, as in the first embodiment.
- the operation of the object detection device 210 according to the second embodiment is the same as that of the first embodiment, except that in step S22 of the determination process in FIG. 7, the determination unit 224 determines M i using a fixed value M′, and therefore a description thereof will be omitted.
- the object detection device when there are multiple target surfaces for which object detection is to be performed per frame, the number of surfaces for which object detection is to be performed can be appropriately narrowed down.
- the B accumulator when determining the total number of frames to be narrowed down for the next determination cycle, the B accumulator is acquired at the end of the current determination cycle.
- the B accumulator may be acquired several frames before the end to determine the total number of frames.
- the result storage unit not only stores the previous detection result for each partial face, but also the previous detection result for the whole face. Then, as with the partial faces, when the whole face is thinned out from the targets of the object detection process using the object detection model, the previous detection result for the whole face is substituted with a detection result corrected by a motion vector.
- the number of narrowed-down planes M is determined based on the difference between the number of frames waiting to be executed and the target value, but this is not limiting.
- the input frame rate and object detection frame rate for the current determination cycle may be measured, and the number of narrowed-down planes M may be determined based on the difference between these values.
- the object detection process executed by the CPU in each of the above embodiments by loading software may be executed by various processors other than the CPU.
- processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays), whose circuit configuration can be changed after manufacture, and dedicated electrical circuits, such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations specifically designed to execute specific processes.
- 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 or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA).
- the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.
- the program may be provided in a form stored on a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory.
- the program may also be downloaded from an external device via a network.
- a detection unit that detects an object from each of a predetermined number of surfaces for each frame among surfaces corresponding to divided images obtained by dividing an image of each frame included in the video into a plurality of parts and reduced images obtained by reducing the entire image; a synthesis unit that synthesizes the detection results of the object for each of the predetermined number of surfaces; a determination unit that determines the predetermined number based on an index related to a difference between an input frame rate of the video and a frame rate of the object detection process performed by the detection unit;
- An object detection device comprising:
- the determination unit If the indicator indicates that the input frame rate is greater than the frame rate of the object detection process, the predetermined number is determined to be a number that is reduced from the currently set predetermined number; If the indicator indicates that the input frame rate is equal to or lower than the frame rate of the object detection process, the currently set predetermined number is determined to be maintained, or the currently set predetermined number is determined to be a number increased from the currently set predetermined number.
- Item 2 The object detection device according to item 1.
- a motion estimation unit that estimates a motion vector for each frame based on the image difference between the frames; a correction unit that obtains an object detection result in a current frame by correcting, for each frame, a detection result of an object in front of each face that is not included in the predetermined number of faces, based on the motion vector estimated by the motion estimation unit; the combining unit combines the object detection result for each of the predetermined number of surfaces with the object detection result obtained by the correction unit; 8.
- the object detection device according to any one of claims 1 to 7.
- a detection unit that detects an object from each of a predetermined number of surfaces for each frame among surfaces corresponding to divided images obtained by dividing an image of each frame included in the video into a plurality of parts and reduced images obtained by reducing the entire image; a synthesis unit that synthesizes the object detection results for each of the predetermined number of surfaces; and an object detection program that causes the program to function as a determination unit that determines the predetermined number based on an index related to a difference between an input frame rate of the video and a frame rate of the object detection process in the detection unit.
- the object detection device is configured to determine the predetermined number based on an index related to a difference between an input frame rate of the video and a frame rate of the object detection process.
- a non-transitory storage medium storing a program executable by a computer to perform an object detection process,
- the object detection process includes: Detecting an object from each of a predetermined number of surfaces for each frame among surfaces corresponding to divided images obtained by dividing an image of each frame included in the video into a plurality of parts and reduced images obtained by reducing the entire image; combining the object detection results for each of the predetermined number of surfaces;
- the predetermined number is determined based on an index relating to a difference between an input frame rate of the video and a frame rate of the object detection process.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
物体検出装置は、映像に含まれる各フレームの画像を複数に分割した分割画像、及び画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、所定数の面の各々についての物体の検出結果を合成し、映像の入力フレームレートと物体の検出処理のフレームレートとの差に関する指標に基づいて、所定数を決定する。
Description
開示の技術は、物体検出装置及び物体検出方法に関する。
物体検出装置は、入力画像の中から、その画像に含まれる物体を検出し、その物体の領域を示す矩形枠等の位置情報、人、車等の物体の種別を示す属性、及び検出結果の信頼度を含むメタデータを検出する装置である。
近年、深層学習により訓練された機械学習モデルを用いた物体検出が行われており、監視カメラやエッジコンピューティングにおけるAI画像処理等への利用が検討されている。そのような機械学習モデルの一例として、YOLO(You Only Look Once)、SSD(Single Shot multibox Detector)等が提案されている(非特許文献1及び2)。
これら深層学習に基づく物体検出では、機械学習モデルに入力される画像のサイズに制約がある。例えば、YOLOv3の標準モデル(非特許文献1)では、入力サイズは320(幅)×320(高さ)画素、416×416画素、及び608×608画素のいずれかである。
上記のような機械学習モデルへの入力サイズの制約下で、フルHD、4K等の高精細画像に対して深層学習に基づく物体検出を可能にするための方法が開示されている(非特許文献3)。具体的には、入力画像を上記制約下の入力サイズに縮小し、画像全体に対して物体検出を行う全体処理と、入力画像を分割し、分割画像毎に物体検出を行う分割処理とを行い、全体処理結果と分割処理結果とを合成して最終的な検出結果を得る方法である。
Joseph Redmon et.al, "YOLOv3: An Incremental Improvement", arXiv:1804.02767v1 [cs.CV] 8 Apr 2018.
Wei Liu et.al, "SSD: Single Shot MultiBox Detector", arXiv:1512.02325v5 [cs.CV] 29 Dec 2016.
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.
上記の非特許文献3の方法において、4K(3840×2160画素)等の超高精細映像を入力とする場合、分割画像数が多くなり、分割処理における計算量が膨大となる課題がある。例えば、YOLOv3の場合において、入力サイズの制約が608×608画素の場合、分割画像数は最大で28個となり、それぞれの分割画像から物体検出を行う分割処理における計算量が膨大となる。
物体検出の計算量を削減する方法として、同一フレームに対して物体検出を実行する面(縮小画像に相当する面及び分割画像に相当する面)を絞り込む(間引く)ことが考えられる。物体検出処理のフレームレートに応じて、1フレームにつき物体検出を実行する面数を決定することが考えられるが、物体検出処理のフレームレートは揺らぎ得るため、一意に定まらず、適切な面数を決定することが困難である。物体検出を実行する面数が少な過ぎる場合には、物体検出の精度が低下し、物体検出を実行する面数が多過ぎる場合には、計算量の増加を招くため、適切な面数を決定することが望ましい。
開示の技術は、上記の点に鑑みてなされたものであり、1フレームにつき物体検出を実行する対象の面が複数ある場合に、物体検出を実行する面数を適切に絞り込むことを目的とする。
本開示の第1態様は、物体検出装置であって、映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部と、前記所定数の面の各々についての前記物体の検出結果を合成する合成部と、前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部と、を含む。
本開示の第2態様は、検出部と、合成部と、決定部とを含む物体検出装置が実行する物体検出方法であって、前記検出部が、映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、前記合成部が、前記所定数の面の各々についての前記物体の検出結果を合成し、前記決定部が、前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する。
開示の技術によれば、1フレームにつき物体検出を実行する対象の面が複数ある場合に、物体検出を実行する面数を適切に絞り込むことができる。
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<本開示の概要>
各実施形態の詳細を説明する前に、図1を参照して、本開示の概要について説明する。本開示に係る物体検出装置は、映像の1フレーム分の入力画像を複数の画像に分割した分割画像毎に物体検出を行う分割処理と、入力画像全体を縮小した縮小画像の物体検出を行う全体処理とを実行する。
各実施形態の詳細を説明する前に、図1を参照して、本開示の概要について説明する。本開示に係る物体検出装置は、映像の1フレーム分の入力画像を複数の画像に分割した分割画像毎に物体検出を行う分割処理と、入力画像全体を縮小した縮小画像の物体検出を行う全体処理とを実行する。
物体検出装置は、全体処理において、縮小画像用に予め用意された物体検出モデルに入力可能な画像サイズに入力画像を縮小するための画像スケーリング処理を行って縮小画像を生成し、縮小画像を物体検出モデルへ入力する。そして、物体検出装置は、物体検出モデルにより物体検出処理を実行し、縮小画像内に含まれる物体を検出し、検出結果を得る。検出結果には、検出された物体を示す領域を特定する情報、物体の属性を示す情報、及び検出結果の信頼度が含まれる。図1の例では、物体を示す領域を特定する情報は、例えば、物体の外接矩形(以下、「検出枠」という)の位置情報である。位置情報は、例えば、検出枠の所定点(例えば、中心点、左上角の点等)及びサイズ(幅及び高さ)としてよい。物体の属性を示す情報は、物体の種別等を示す情報であり、図1の例では「dog」、「bicycle」等である。これらは、縮小画像に対する検出結果であるため、物体検出装置は、縮小前の入力画像にマッピングするために検出枠のスケーリング(メタデータ調整)を行う。メタデータ調整後の検出物体群に対して、信頼度が予め設定された閾値以上の物体を選別し、後段の合成処理に出力する。
物体検出装置は、分割処理において、分割画像用に予め用意された物体検出モデルに入力可能な画像サイズに入力画像を分割して分割画像を生成し、各分割画像を物体検出モデルへ入力する。そして、物体検出装置は、物体検出モデルにより物体検出処理を実行し、各分割画像内に含まれる物体を検出し、検出結果を得る。ここで得られる検出結果は分割画像に対する検出結果であるため、物体検出装置は、分割前の入力画像にマッピングするためのメタデータ調整を行う。また、物体検出装置は、分割処理において、各分割画像の検出結果に対して、多重検出された同一物体の検出結果を1つだけ残し、残りを除去するスクリーニングを実行する。物体検出装置は、メタデータ調整及びスクリーニング後に、全体処理と同様に、信頼度が閾値以上の物体を選別し、後段の合成処理に出力する。
物体検出装置は、合成処理において、分割処理による検出結果と、全体処理による検出結果とを合成した最終的な検出結果を出力する。例えば、物体検出装置は、合成処理において、全体処理で検出されなかった物体を、分割処理で検出された物体で補間する。補間対象の物体の選別においては、全体処理で検出された物体と、分割処理で検出された物体との一致判定を行い、分割処理で検出された物体のうち、全体処理で検出された物体と一致しない物体を補間対象として出力する。
このように、入力画像全体を縮小した縮小画像と、入力画像を分割した各分割画像とから物体検出を行うため、物体検出モデルの入力サイズの制約を上回る高精細映像に対しても、入力画像に含まれる大小両方の物体を一度に検出することができる。
ここで、上述したように、4K等の超高精細映像を入力とする場合、分割画像数が多くなり、分割処理における計算量が膨大となる課題がある。物体検出の計算量を削減する方法として、同一フレームに対して物体検出を実行する面を絞り込む(間引く)ことが考えられる。なお、ここでの「面」とは、入力画像全体を縮小した縮小画像に相当する全体面、及び入力画像を分割した各分割画像に相当する部分面である。例えば、上記のように分割画像数が28個となる入力画像の場合、1フレーム当たりの面数は29面である。
同一フレームに対して物体検出を実行する面数(以下、「絞り込み面数M」という)は、例えば、(N×Robject)/Rinputで与えられる。ここで、Rinputは、映像の入力フレームレート、Robjectは、演算コアによる1面分の物体検出処理のフレームレート、Nは演算コア数である。N×Robjectは、物体検出処理の最大フレームレートを表す。したがって、(N×Robject)/Mが1フレーム分の物体検出処理のフレームレートとなる。
しかしながら、Robjectは揺らぎ得るため、一意に定まらず、物体検出を実行する面数を適切に絞り込むことが困難である。すなわち、Mの値を予め適切に定めることが困難である。
そこで、以下の各実施形態では、映像の入力フレームレート(Rinput)と物体検出処理のフレームレート((N×Robject)/M)との速度差に合わせて、動的に絞り込み面数Mの値を調整する。具体的には、(N×Robject)/M<Rinputの場合には、M面の物体検出の実行が完了するよりも前に、次のフレームが入ってくることになり、物体検出の実行待ちフレーム数が増えてくる。この実行待ちフレーム数を減らすために、Mの値を低減させる。一方、(N×Robject)/M≧Rinputの場合には、Mの値を維持又は増加させる。これにより、Robjectが揺らいでも、それに合わせて自動的にMの値が最適となるように調整される。以下、各実施形態について詳述する。
<第1実施形態>
図2は、物体検出装置10のハードウェア構成を示すブロック図である。図2に示すように、物体検出装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、ストレージ14と、入力部15と、表示部16と、通信I/F(Interface)17とを有する。各構成は、バス19を介して相互に通信可能に接続されている。
図2は、物体検出装置10のハードウェア構成を示すブロック図である。図2に示すように、物体検出装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、ストレージ14と、入力部15と、表示部16と、通信I/F(Interface)17とを有する。各構成は、バス19を介して相互に通信可能に接続されている。
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として機能してもよい。
通信I/F17は、他の機器と通信するためのインタフェースである。当該通信には、例えば、イーサネット(登録商標)、FDDI等の有線通信の規格、又は、4G、5G、Wi-Fi(登録商標)等の無線通信の規格が用いられる。
次に、物体検出装置10の機能構成について説明する。図3は、物体検出装置10の機能構成の例を示すブロック図である。図3に示すように、物体検出装置10は、機能構成として、分割部21と、縮小部22と、第1バッファ23と、決定部24と、第1選択部25と、検出部26と、第2バッファ27と、結果保持部28と、第2選択部29とを含む。また、物体検出装置10は、動き推定部30と、第3バッファ31と、補正部32と、合成部33とを含む。各機能構成は、CPU11がROM12又はストレージ14に記憶された物体検出プログラムを読み出し、RAM13に展開して実行することにより実現される。
分割部21は、物体検出装置10に入力される映像に含まれる各フレームに相当する各入力画像を取得する。分割部21は、取得した入力画像を、後述する検出部26で用いる物体検出モデルの入力サイズに応じたサイズの複数の分割画像に分割する。分割部21は、複数の分割画像に相当する複数の部分面に、例えばフレームの左上に相当する部分面から順番に連番(以下、「部分面番号」という)を付与し、第1バッファ23に蓄積する。
縮小部22は、物体検出装置10に入力される映像に含まれる各フレームに相当する各入力画像を取得する。縮小部22は、取得した入力画像を、後述する検出部26で用いる物体検出モデルの入力サイズに応じたサイズの縮小画像に縮小する。縮小部22は、縮小画像に相当する全体面を第1バッファ23に蓄積する。
すなわち、第1バッファ23には、物体検出の実行待ちフレームが蓄積される。なお、詳細は後述するが、第1バッファ23、第2バッファ27、及び第3バッファ31は、映像の入力フレームレート(Rinput)と検出部26における物体検出のフレームレート((N×Robject)/M)との速度調整のためのバッファである。
決定部24は、映像の入力フレームレートと検出部26における物体の検出処理のフレームレートとの差に関する指標に基づいて、検出部26において、同一フレームに対して物体検出を実行する面数、すなわち絞り込み面数Mを決定する。
具体的には、決定部24は、指標が、入力フレームレートが物体の検出処理のフレームレートよりも大きいことを示している場合は、Mを、現在設定されているMより減少させた数に決定する。また、決定部24は、指標が、入力フレームレートが物体の検出処理のフレームレート以下であることを示している場合は、現在設定されているMを維持するように決定するか、又は、Mを、現在設定されているMより増加させた数に決定する。
例えば、決定部24は、指標を、検出部26による物体の検出処理の実行待ちフレーム数と、予め定めた目標数との差分値とし、差分値が0に近づくようにMを決定する。上記の差分値を指標として用いてMを決定する場合の実現例について具体的に説明する。
決定部24は、絞り込み面数Mを決定する処理を、Jフレーム毎の周期(以下、「決定周期」という)で実行する。Jは、予め定めた1以上の整数である。決定部24は、第1バッファ23に蓄積された実行待ちフレーム数Baccumが、予め定めた目標値BtargetとなるようにMを決定するために、以下の処理を実行する。
まず、決定部24は、次の決定周期で物体検出を実行する面数の総数(総面数)を決定する。総面数は、決定周期に含まれる各フレームにおける絞り込み面数Mの総数である。決定部24は、実行待ちフレーム数Baccumが目標値Btargetに収束するように、例えばPD制御に基づいて総面数を決定する。図4に、総面数の決定のための制御図を示す。決定部24は、現決定周期の末尾にて、第1バッファ23に蓄積されている実行待ちフレーム数Baccumを取得し、目標値Btargetとの差分値e(e=Btarget-Baccum)を算出する。決定部24は、算出した差分値eに定数Kpを乗算して得られる比例値Pと、前決定周期における差分値e(e_prev)と現決定周期の差分値eとの差分値に定数Kdを乗算して得られる微分値Dとを加算する。決定部24は、得られた比例値Pと微分値Dとの加算値を整数値に変換して得られる評価値SUM_INTが0の場合、現在設定されている総面数を維持する。一方、決定部24は、評価値が0でない場合、現在設定されている総面数に評価値SUM_INTを加算して得られる値、及び予め定めた総面数の下限値のいずれか大きい方の値を次の決定周期における総面数にする。
なお、Kpは、本開示の「第1の定数」の一例であり、比例値Pは、本開示の「第1の値」の一例である。また、Kdは、本開示の「第2の定数」の一例であり、Dは、本開示の「第2の値」の一例である。また、現在設定されている総面数に評価値SUM_INTを加算して得られる値は、本開示の「第3の値」の一例である。
また、決定部24は、決定した総面数に基づいて、次の決定周期内のフレーム毎の絞り込み面数Mi(i=0,1,2,・・・,J-1)を決定する。具体的には、決定部24は、図5のAに示すように、次の決定周期(図5の例では4フレーム)内のフレームに総面数(図5の例は、総面数=10)を均等に振り分ける。この段階で、各フレームに2面ずつ振り分けられると共に、残数が2面となっている。決定部24は、図5のBに示すように、フレーム番号をスイープさせながら残数を1つずつ、該当のフレームに分配する面数に加算する。決定部24は、図5のCに示すように、残数が0になった段階で各フレームに振り分けられている面数Miを、次の決定周期のi番目のフレームについて実行される絞り込み面数Mとして決定する。図5の例では、破線部に示すように、絞り込み面数Miが、次の決定周期のフレーム#0では3面、フレーム#1では3面、フレーム#2では2面、フレーム#3では2面と決定されている。
また、決定部24は、どの部分面の物体検出を、どのタイミング、すなわち次の決定周期のどのフレームで実行するか決定する。本実施形態では、Miのうちの1面を全体面に割り当て、残りのMi-1面を部分面に割り当てることとする。決定部24は、各フレームの部分面のうち、どの部分面を物体検出を実行する部分面とするかを、例えば、過去の決定周期における物体検出数の平均値と現決定周期における物体検出数との差分絶対値に基づいて決定する。具体的には、決定部24は、部分面毎に上記の物体検出数の差分絶対値を算出する。決定部24は、算出した部分面毎の差分絶対値に応じた比となるように、(総面数-決定周期内フレーム数)を各部分面に配分する。そして、決定部24は、当該配分数だけ各部分面が次の決定周期内で選択されるように、絞り込み面数Miの範囲内で各フレームに配分することで、次の決定周期にて物体検出を実行する部分面を決定してよい。
なお、物体検出を実行する部分面の決定方法は上記の例に限定されない。例えば、決定部24は、フレーム毎にランダムにMi-1面の部分面を選択して、物体検出を実行する部分面として決定してもよい。また、例えば、決定部24は、部分面番号の順番に、前のフレームで選択済みの部分面の次の部分面からMi-1面の部分面を選択して、物体検出を実行する部分面として決定してもよい。
決定部24は、次の決定周期のi番目のフレームのフレーム番号に、そのフレームにおいて物体検出を実行する部分面の部分面番号を対応付けた決定情報を、第1選択部25及び第2選択部29へ通知する。
第1選択部25は、決定部24から通知された決定情報に基づいて、第1バッファ23から、物体検出を実行する全体面及び部分面を読み出し、検出部26へ出力する。また、第1選択部25は、各フレームにおいて、物体検出を実行する部分面として選択されなかった部分面、すなわち各フレームにおいて間引かれた部分面を第1バッファ23から削除する。
検出部26は、第1選択部25から出力された全体面及び部分面の各々から、物体検出モデルを用いて物体を検出し、検出結果を第2バッファ27に蓄積する。物体検出モデルは、例えばYOLO等の機械学習モデルである。
ここで、検出部26による物体検出はN個の演算コアで並列に実行される。すなわち、N面の物体検出が並列に実行される。そこで、N面の中に複数のフレームの全体面及び部分面が混在することを許容する。例えば、N=4、Mi=2、及びMi+1=2の場合には、Mi+Mi+1=4であるため、現決定周期の先頭からi番目のフレームに対して実行するMi面と、i+1番目のフレームに対して実行するMi+1面とを、N個の演算コアを用いて並列に実行する。
第2バッファ27は、蓄積された検出結果を、1フレームずつの検出結果に分けて順番に合成部33に出力すると共に、結果保持部28に検出結果を通知する。
結果保持部28は、前の決定周期における各フレームの部分面毎の検出結果(以下、「前の検出結果」という)を保持している。結果保持部28は、第2バッファ27から、検出部26による部分面の検出結果が通知されると、決定周期内の該当のフレームについての該当の部分面について保持している検出結果を通知された検出結果で更新する。また、結果保持部28は、後述する補正部32から、間引かれた部分面について、動きベクトルに基づいて補正された検出結果(詳細は後述)が通知されると、決定周期内の該当のフレームについての該当の部分面について保持している検出結果を通知された検出結果で更新する。
第2選択部29は、決定部24から通知された決定情報に基づいて、各フレームにおいて間引かれた部分面の前の検出結果を結果保持部28から読み出し、補正部32へ出力する。
動き推定部30は、入力画像のフレーム間における差分から、各フレームにおける動きベクトルを推定する。動きベクトルの推定方法は従来手法を適用してよいため、ここでは詳細な説明を省略する。動き推定部30は、推定したフレーム毎の動きベクトルを第3バッファ31に蓄積する。
第3バッファ31は、蓄積された動きベクトルを、1フレームずつ補正部32に出力する。
補正部32は、第3バッファ31から出力された動きベクトルに基づいて、第2選択部29から出力された前の検出結果における検出枠の位置座標を補正して、間引かれた部分面の検出結果として代用する。すなわち、間引かれた部分面については、検出部26による物体検出モデルを用いた物体検出に代えて、結果保持部28で保持されている検出結果を動きベクトルに基づいて補正した結果を、現決定周期における該当のフレームの該当の部分面の検出結果とする。補正部32は、間引かれた部分面の検出結果を合成部33に出力すると共に、結果保持部28へ通知する。
合成部33は、第2バッファ27から出力された、全体面及び選択された部分面についての物体検出モデルによる検出結果と、補正部32から出力された、間引かれた部分面についての、動きベクトルで補正された検出結果とを合成し、最終的な検出結果を得る。合成部33は、最終的な検出結果を出力する。
次に、第1実施形態に係る物体検出装置10の作用について説明する。図6は、物体検出装置10による物体検出処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から物体検出プログラムを読み出して、RAM13に展開して実行することにより、物体検出処理が行なわれる。
ステップS10において、CPU11は、決定部24として、次の決定周期の絞り込み面数Mを決定する処理の実行タイミングとなったか否かを判定する。実行タイミングの場合には、ステップS20へ移行し、決定処理が実行される。一方、実行タイミングではない場合には、ステップS30へ移行する。
ここで、図7を参照して、決定処理について説明する。
ステップS21で、CPU11は、決定部24として、次の決定周期に含まれる各フレームにおける絞り込み面数Mの総面数を決定する。次に、ステップS22で、CPU11は、決定部24として、決定した総面数に基づいて、次の決定周期内のフレーム毎の絞り込み面数Mi(i=0,1,2,・・・,J-1)を決定する。
次に、ステップS23で、CPU11は、決定部24として、次の決定周期の各フレームについて、Miのうちの1面を全体面に割り当て、残りのMi-1面を部分面に割り当てると共に、物体検出を実行する部分面を決定する。次に、ステップS24で、CPU11は、決定部24として、次の決定周期のi番目のフレームのフレーム番号に、そのフレームにおいて物体検出を実行する部分面の部分面番号を対応付けた決定情報を、第1選択部25及び第2選択部29へ通知し、物体検出処理(図6)にリターンする。
次に、ステップS30で、CPU11は、分割部21として、入力画像を複数の分割画像に分割し、複数の分割画像に相当する複数の部分面に部分面番号を付与して、第1バッファ23に蓄積する。また、CPU11は、縮小部22として、入力画像を縮小画像に縮小し、縮小画像に相当する全体面を第1バッファ23に蓄積する。
次に、ステップS40で、CPU11は、第1選択部25として、決定部24から通知された決定情報に基づいて、第1バッファ23から、物体検出を実行する全体面及び部分面を読み出し、検出部26へ出力する。そして、CPU11は、検出部26として、第1選択部25から出力された全体面及び部分面の各々から、物体検出モデルを用いて物体を検出し、検出結果を第2バッファ27に蓄積する。
次に、ステップS50で、CPU11は、第1選択部25として、各フレームにおいて、物体検出を実行する部分面として選択されなかった部分面、すなわち間引かれた部分面を第1バッファ23から削除する。次に、ステップS60で、CPU11は、第2バッファ27として、蓄積された検出結果を、1フレームずつの検出結果に分けて順番に合成部33に出力すると共に、結果保持部28に検出結果を通知する。CPU11は、結果保持部28として、保持している部分面毎の前の検出結果のうち、該当のフレームの該当の部分面の検出結果を、通知された検出結果で更新する。
次に、ステップS70で、CPU11は、第2選択部29として、各フレームにおいて間引かれた部分面の前の検出結果を結果保持部28から読み出し、補正部32へ出力する。また、CPU11は、動き推定部30として、各フレームにおける動きベクトルを推定し、第3バッファ31に蓄積する。CPU11は、第3バッファ31として、蓄積された動きベクトルを、1フレームずつ補正部32に出力する。そして、CPU11は、補正部32として、第3バッファ31から出力された動きベクトルに基づいて、第2選択部29から出力された前の検出結果における検出枠の位置座標を補正して、間引かれた部分面の検出結果を得る。CPU11は、補正部32として、間引かれた部分面の検出結果を合成部33に出力すると共に、結果保持部28へ通知する。CPU11は、結果保持部28として、保持している部分面毎の前の検出結果のうち、該当のフレームの該当の部分面の検出結果を、通知された検出結果で更新する。
次に、ステップS80で、CPU11は、合成部33として、上記ステップS60及びS70で出力された検出結果を合成して、最終的な検出結果を得て、出力する。次に、ステップS90で、CPU11は、物体検出処理を終了するか否かを判定する。例えば、映像の最終フレームまで到達した場合、物体検出の終了を示すコマンドが入力された場合等の場合に、物体検出処理を終了すると判定してよい。否定判定の場合には、ステップS10に戻り、肯定判定の場合には、物体検出処理は終了する。
以上説明したように、第1実施形態に係る物体検出装置では、検出部が、映像に含まれる各フレームの画像を複数に分割した分割画像、及び画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する。また、合成部が、所定数の面の各々についての物体の検出結果を合成する。そして、決定部が、映像の入力フレームレートと検出部における物体の検出処理のフレームレートとの差に関する指標に基づいて、所定数を決定する。これにより、1フレームにつき物体検出を実行する対象の面が複数ある場合に、物体検出を実行する面数を適切に絞り込むことができる。
<第2実施形態>
次に、第2実施形態について説明する。
次に、第2実施形態について説明する。
第2実施形態に係る物体検出装置210のハードウェア構成は、図2に示す第1実施形態に係る物体検出装置10のハードウェア構成と同様である。
次に、物体検出装置210の機能構成について説明する。なお、第1実施形態に係る物体検出装置10と同一の機能構成については、同一符号を付して詳細な説明を省略する。
図3に示すように、物体検出装置210は、機能構成として、第1実施形態に係る物体検出装置10の決定部24に代えて、決定部224を含む。
決定部224は、総面数の決定及び物体検出を実行する部分面の決定については、第1実施形態の決定部24と同様の処理を実行する。ただし、フレーム毎の絞り込み面数Mi(i=0,1,2,・・・,J-1)を決定する処理において、絞り込み面数Mを固定化し、物体検出処理のフレームレートを調整する点が第1実施形態における決定部24と異なる。
具体的には、決定部224は、フレーム毎の絞り込み面数Miが0となるフレームが生じることを許容し、絞り込み面数Miが0ではないフレームには、予め定めた固定値M’となるようにフレーム毎の絞り込み面数を決定する。これにより、物体検出モデルによる物体検出がスキップされるフレームが発生するが、物体検出モデルによる物体検出が実行されるフレームでは十分な面数の物体検出が可能となり、検出性能を高めることができる。
例えば、決定部224は、総面数に基づいて、次の決定周期の先頭フレームから順に固定値M’の面数を割り振る。ここで、面数M’を割り振ることが可能なフレーム数は、Floor(総面数/M’)で得られる。決定部224は、図8のAに示すように、次の決定周期の先頭から数えてFloor(総面数/M’)までのフレームは、Mi=M’とする。また、決定部224は、図8のBに示すように、その次のフレームに残数を全て割り振り、決定周期内の以降のフレームのMiは0とする。図8の例では、破線部に示すように、絞り込み面数Miが、次の決定周期のフレーム#0~#2では3面、フレーム#3では1面と決定されている。
Miが0のフレームについては、上述したように、検出部26における物体検出モデルを用いた物体検出処理がスキップされる。この場合、物体検出処理をスキップしたフレームについては、検出結果を無しとしてもよいし、第1実施形態と同様に、動き推定部30で推定した動きベクトルに基づいて、前の検出結果における位置座標を補正した検出結果で代用してもよい。
第2実施形態に係る物体検出装置210の作用については、図7の決定処理におけるステップS22において、決定部224が、固定値M’を用いたMiの決定を行う点を除いて、第1実施形態と同様であるため、説明を省略する。
以上説明したように、第2実施形態に係る物体検出装置においても、第1実施形態に係る物体検出装置と同様に、1フレームにつき物体検出を実行する対象の面が複数ある場合に、物体検出を実行する面数を適切に絞り込むことができる。
なお、上記各実施形態では、次の決定周期の絞り込み総面数を決定する際、現決定周期の末尾にてBaccumを取得する場合について説明したが、これに限定されない。処理時間を鑑みて末尾よりも数フレーム前にBaccumを取得して、総面数を決定するようにしてもよい。
また、上記各実施形態では、Miのうちの1面を全体面に割り当て、残りのMi-1面を部分面に割り当てる場合について説明したが、これに限定されない。全体面及び部分面群の中からMi個の面を選択するようにしてもよい。この場合、結果保持部には、部分面毎の前の検出結果を保持するだけでなく、全体面の前の検出結果も保持することとする。そして、部分面と同様に、全体面が物体検出モデルを用いた物体検出処理の対象から間引かれた場合には、全体面についての前の検出結果を動きベクトルで補正した検出結果で代用する。
また、上記各実施形態では、実行待ちフレーム数と目標値との差分値に基づいて、絞り込み面数Mを決定する場合について説明したが、これに限定されない。例えば、現決定周期における入力フレームレート及び物体検出のフレームレートを計測し、その差分値に基づいて、絞り込み面数Mを決定してもよい。
また、上記各実施形態で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)
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部と、
前記所定数の面の各々についての前記物体の検出結果を合成する合成部と、
前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部と、
を含む物体検出装置。
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部と、
前記所定数の面の各々についての前記物体の検出結果を合成する合成部と、
前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部と、
を含む物体検出装置。
(付記項2)
前記決定部は、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレートよりも大きいことを示している場合は、前記所定数を、現在設定されている前記所定数より減少させた数に決定し、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレート以下であることを示している場合は、現在設定されている前記所定数を維持するように決定するか、又は、前記所定数を、現在設定されている前記所定数より増加させた数に決定する、
付記項1に記載の物体検出装置。
前記決定部は、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレートよりも大きいことを示している場合は、前記所定数を、現在設定されている前記所定数より減少させた数に決定し、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレート以下であることを示している場合は、現在設定されている前記所定数を維持するように決定するか、又は、前記所定数を、現在設定されている前記所定数より増加させた数に決定する、
付記項1に記載の物体検出装置。
(付記項3)
前記決定部は、前記指標を、前記検出部による物体の検出処理の実行待ちフレーム数と、予め定めた目標数との差分値とし、前記差分値が0に近づくように前記所定数を決定する付記項1又は付記項2に記載の物体検出装置。
前記決定部は、前記指標を、前記検出部による物体の検出処理の実行待ちフレーム数と、予め定めた目標数との差分値とし、前記差分値が0に近づくように前記所定数を決定する付記項1又は付記項2に記載の物体検出装置。
(付記項4)
前記決定部は、前記所定数の決定を実行する所定フレーム数の周期に含まれるフレームにおける前記所定数の総数を、前記差分値に予め定めた第1の定数を乗じて得られる第1の値と、前周期における前記差分値と現周期における前記差分値との差に予め定めた第2の定数を乗じて得られる第2の値とを加算した加算値を整数に変換した評価値が0の場合には、現在設定されている前記所定数の総数を維持し、前記評価値が0でない場合には、現在設定されている前記所定数の整数に前記評価値を加算した第3の値、及び予め定めた前記所定数の総数の下限値のいずれか大きい方の値として決定する付記項3に記載の物体検出装置。
前記決定部は、前記所定数の決定を実行する所定フレーム数の周期に含まれるフレームにおける前記所定数の総数を、前記差分値に予め定めた第1の定数を乗じて得られる第1の値と、前周期における前記差分値と現周期における前記差分値との差に予め定めた第2の定数を乗じて得られる第2の値とを加算した加算値を整数に変換した評価値が0の場合には、現在設定されている前記所定数の総数を維持し、前記評価値が0でない場合には、現在設定されている前記所定数の整数に前記評価値を加算した第3の値、及び予め定めた前記所定数の総数の下限値のいずれか大きい方の値として決定する付記項3に記載の物体検出装置。
(付記項5)
前記決定部は、前記周期に含まれるフレームに、前記所定数の総数を均等に分配し、余りを前記周期に含まれる先頭のフレームから順に1つずつ分配することで、フレーム毎の前記所定数を決定する付記項4に記載の物体検出装置。
前記決定部は、前記周期に含まれるフレームに、前記所定数の総数を均等に分配し、余りを前記周期に含まれる先頭のフレームから順に1つずつ分配することで、フレーム毎の前記所定数を決定する付記項4に記載の物体検出装置。
(付記項6)
前記決定部は、前記周期に含まれる先頭のフレームから順に、前記所定数の総数を前記所定数として予め定めた固定数ずつ割り当て、余りを前記固定数が最後に割り当てられたフレームの次のフレームの前記所定数として割り当て、残りのフレームの所定数を0とする付記項4に記載の物体検出装置。
前記決定部は、前記周期に含まれる先頭のフレームから順に、前記所定数の総数を前記所定数として予め定めた固定数ずつ割り当て、余りを前記固定数が最後に割り当てられたフレームの次のフレームの前記所定数として割り当て、残りのフレームの所定数を0とする付記項4に記載の物体検出装置。
(付記項7)
前記検出結果は、前記物体を示す領域を特定する情報、前記物体の属性を示す情報、及び前記検出結果の信頼度を含む付記項1~付記項6のいずれか1項に記載の物体検出装置。
前記検出結果は、前記物体を示す領域を特定する情報、前記物体の属性を示す情報、及び前記検出結果の信頼度を含む付記項1~付記項6のいずれか1項に記載の物体検出装置。
(付記項8)
フレーム間の画像の差分に基づいて、各フレームの動きベクトルを推定する動き推定部と、
各フレームにおいて、前記所定数の面に含まれない面について、前記動き推定部で推定された動きベクトルに基づいて、各面の前の物体の検出結果を補正することで現フレームにおける物体の検出結果を得る補正部と、を含み、
前記合成部は、前記所定数の面の各々についての前記物体の検出結果と、前記補正部による前記物体の検出結果とを合成する、
付記項1~付記項7のいずれか1項に記載の物体検出装置。
フレーム間の画像の差分に基づいて、各フレームの動きベクトルを推定する動き推定部と、
各フレームにおいて、前記所定数の面に含まれない面について、前記動き推定部で推定された動きベクトルに基づいて、各面の前の物体の検出結果を補正することで現フレームにおける物体の検出結果を得る補正部と、を含み、
前記合成部は、前記所定数の面の各々についての前記物体の検出結果と、前記補正部による前記物体の検出結果とを合成する、
付記項1~付記項7のいずれか1項に記載の物体検出装置。
(付記項9)
コンピュータを、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部、
前記所定数の面の各々についての前記物体の検出結果を合成する合成部、並びに、
前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部
として機能させるための物体検出プログラム。
コンピュータを、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部、
前記所定数の面の各々についての前記物体の検出結果を合成する合成部、並びに、
前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部
として機能させるための物体検出プログラム。
(付記項10)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、
前記所定数の面の各々についての前記物体の検出結果を合成し、
前記映像の入力フレームレートと前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する
ように構成されている物体検出装置。
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、
前記所定数の面の各々についての前記物体の検出結果を合成し、
前記映像の入力フレームレートと前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する
ように構成されている物体検出装置。
(付記項11)
物体検出処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記物体検出処理は、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、
前記所定数の面の各々についての前記物体の検出結果を合成し、
前記映像の入力フレームレートと前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する
非一時的記憶媒体。
物体検出処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記物体検出処理は、
映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、
前記所定数の面の各々についての前記物体の検出結果を合成し、
前記映像の入力フレームレートと前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する
非一時的記憶媒体。
10、210 物体検出装置
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 表示部
17 通信I/F
19 バス
21 分割部
22 縮小部
23 第1バッファ
24、224 決定部
25 第1選択部
26 検出部
27 第2バッファ
28 結果保持部
29 第2選択部
30 動き推定部
31 第3バッファ
32 補正部
33 合成部
11 CPU
12 ROM
13 RAM
14 ストレージ
15 入力部
16 表示部
17 通信I/F
19 バス
21 分割部
22 縮小部
23 第1バッファ
24、224 決定部
25 第1選択部
26 検出部
27 第2バッファ
28 結果保持部
29 第2選択部
30 動き推定部
31 第3バッファ
32 補正部
33 合成部
Claims (4)
- 映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出する検出部と、
前記所定数の面の各々についての前記物体の検出結果を合成する合成部と、
前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する決定部と、
を含む物体検出装置。 - 前記決定部は、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレートよりも大きいことを示している場合は、前記所定数を、現在設定されている前記所定数より減少させた数に決定し、
前記指標が、前記入力フレームレートが前記物体の検出処理のフレームレート以下であることを示している場合は、現在設定されている前記所定数を維持するように決定するか、又は、前記所定数を、現在設定されている前記所定数より増加させた数に決定する、
請求項1に記載の物体検出装置。 - 前記決定部は、前記指標を、前記検出部による物体の検出処理の実行待ちフレーム数と、予め定めた目標数との差分値とし、前記差分値が0に近づくように前記所定数を決定する請求項1又は請求項2に記載の物体検出装置。
- 検出部と、合成部と、決定部とを含む物体検出装置が実行する物体検出方法であって、
前記検出部が、映像に含まれる各フレームの画像を複数に分割した分割画像、及び前記画像全体を縮小した縮小画像の各々に相当する面のうち、フレーム毎に所定数の面の各々から物体を検出し、
前記合成部が、前記所定数の面の各々についての前記物体の検出結果を合成し、
前記決定部が、前記映像の入力フレームレートと前記検出部における前記物体の検出処理のフレームレートとの差に関する指標に基づいて、前記所定数を決定する、
物体検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/015192 WO2025220141A1 (ja) | 2024-04-16 | 2024-04-16 | 物体検出装置及び方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/015192 WO2025220141A1 (ja) | 2024-04-16 | 2024-04-16 | 物体検出装置及び方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025220141A1 true WO2025220141A1 (ja) | 2025-10-23 |
Family
ID=97403072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/015192 Pending WO2025220141A1 (ja) | 2024-04-16 | 2024-04-16 | 物体検出装置及び方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025220141A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022101321A (ja) * | 2020-12-24 | 2022-07-06 | 中部電力パワーグリッド株式会社 | 物体検出装置 |
| WO2022259299A1 (ja) * | 2021-06-07 | 2022-12-15 | 日本電信電話株式会社 | 物体検出装置および方法 |
-
2024
- 2024-04-16 WO PCT/JP2024/015192 patent/WO2025220141A1/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022101321A (ja) * | 2020-12-24 | 2022-07-06 | 中部電力パワーグリッド株式会社 | 物体検出装置 |
| WO2022259299A1 (ja) * | 2021-06-07 | 2022-12-15 | 日本電信電話株式会社 | 物体検出装置および方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102115066B1 (ko) | 비디오 안정화를 위한 적응적 경로 평활화 | |
| US12423852B2 (en) | Device and method for dividing, scaling, and combining similar attributes for object detection | |
| US11900529B2 (en) | Image processing apparatus and method for generation of a three-dimensional model used for generating a virtual viewpoint image | |
| US11537857B2 (en) | Pooling processing method and system applied to convolutional neural network | |
| US10990826B1 (en) | Object detection in video | |
| CN107784281B (zh) | 人脸检测方法、装置、设备及计算机可读介质 | |
| CN109977952B (zh) | 基于局部最大值的候选目标检测方法 | |
| CN109191498B (zh) | 基于动态记忆和运动感知的目标检测方法及系统 | |
| US20140294293A1 (en) | Image processing circuit and image detection device | |
| CN115205519B (zh) | 一种锚框参与训练的目标检测方法及装置 | |
| JP7529056B2 (ja) | 物体検出装置、方法、及びプログラム | |
| JP2018180945A (ja) | 物体検出装置及びプログラム | |
| US20240296648A1 (en) | Object detecting device and method | |
| US20240062506A1 (en) | Object detection device, object detection method, and object detection program | |
| JP7803411B2 (ja) | 物体検出装置、及び物体検出方法 | |
| JP2022142119A (ja) | 情報処理装置、情報処理システム、情報処理方法、及び、プログラム | |
| CN115797719A (zh) | 图像检测模型的训练方法、图像检测方法及装置 | |
| US20170076187A1 (en) | Image processing apparatus and image processing method for estimating time required for print processing | |
| US20260080652A1 (en) | Object detection device, object detection method, and object detection program | |
| US11676372B2 (en) | Object/region detection and classification system with improved computer memory efficiency | |
| CN117746433A (zh) | 文本检测方法和装置、电子设备和存储介质 | |
| US11057641B1 (en) | Systems and methods of motion estimation using monocular event-based sensor | |
| CN110427816B (zh) | 物体检测方法、装置、计算机设备和存储介质 | |
| JP2009194626A (ja) | 動き補償に伴う更新領域検出装置 | |
| WO2024257361A1 (ja) | 推論処理装置、推論処理方法及び推論処理プログラム |
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: 24935946 Country of ref document: EP Kind code of ref document: A1 |