Learning method and learning device for a fluctuation-resistant object detector based on CNN using a target estimation network and corresponding test method and test device
Patent Information
- Application Number
- DE602019071885
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-01-22
- Filing Date
- 2019-12-31
- Publication Date
- 2025-07-02
- Estimated Expiration
- 2039-12-31
AI Technical Summary
Existing CNN-based object detectors struggle to efficiently detect objects of various sizes in images, particularly small-sized objects, due to reduced feature maps and increased computational load when enlarging images for detection.
A learning and testing method using a target object estimating network to manipulate images into pyramids of varying sizes, applying convolutional and pooling operations, and fully connected layers to efficiently detect objects with reduced computational load.
Efficient detection of objects of various sizes with reduced computational load by focusing on target regions within manipulated images, minimizing processing time and load.
Description
[0001] The present disclosure relates to a method for learning parameters of a fluctuation-robust object detector.
[0002] The present disclosure further relates to a learning device, a testing method, and a testing device.
[0003] In machine learning, a convolutional neural network (CNN, or ConvNet) is a class of deep, feed-forward artificial neural network that has successfully been applied to analyzing visual imagery.
[0004] The CNN-based object detector may (i) instruct a convolutional layer to apply convolution operations to an input image, to thereby generate a feature map corresponding to the input image, (ii) instruct an RPN (Region Proposal Network) to identify proposals corresponding to an object in the input image by using the feature map, (iii) instruct a pooling layer to apply at least one pooling operation to the area on the feature map corresponding to the identified proposals, to thereby generate a pooled feature map, and (iv) instruct an FC (Fully Connected) layer to apply at least one fully connected operation to the acquired pooled feature map to output class information and regression information for the object, to thereby detect the object on the input image.
[0005] However, since the CNN-based object detector uses the feature map whose size is reduced from a size of the input image by the convolutional layer, although large-sized objects in the input image can be easily detected, it is difficult to detect a small-sized object in the input image.
[0006] As another example, it is possible to detect the small-sized object by using a resized image obtained by enlarging the input image. In this case, however, the amount of computation by the object detector tremendously increases, thereby deteriorating the performance of the object detector.
[0007] Accordingly, the inventors of the present disclosure propose a learning method, a learning device for efficiently detecting objects with various sizes in the input image with less computational time, and a testing method and a testing device using the same are disclosed herein as well.
[0008] In this connection reference is made to a prior art approach disclosed by XIA FANGTING ET AL: "Zoom Better to See Clearer: Human and Object Parsing with Hierarchical Auto-Zoom Net", 16 September 2016 (2016-09-16), INTERNATIONAL CONFERENCE ON FINANCIAL CRYPTOGRAPHY AND DATA SECURITY; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 648 - 663, XP047355104, ISBN: 978-3-642-17318-9.
[0009] It is an object of the present disclosure to solve all the aforementioned problems.
[0010] It is another object of the present disclosure to provide an object detector based on a CNN capable of efficiently detecting objects in an image without regard to their sizes.
[0011] It is still another object of the present disclosure to provide the object detector based on the CNN capable of detecting small-sized objects on the image without additional computational load.
[0012] In accordance with one aspect of the present disclosure, there is provided a computer-implemented method for learning as claimed in claim 1. Optional features of the computer-implemented method for learning are claimed in claims 2 and 3.
[0013] In accordance with a second aspect of the present disclosure there is provided a computer-implemented method for testing in claim 4. Optional features of the computer-implemented method for testing are claimed in claim 5.
[0014] In accordance with a third aspect of the present disclosure there is provided a learning device as claimed in claim 6. Optional features of the learning device are claimed in claims 7 and 8.
[0015] In accordance with a fourth aspect of the present disclosure there is provided a testing device as claimed in claim 9.
[0016] In addition, recordable media that are readable by a computer for storing a computer program to execute the method of the present disclosure is further provided.
[0017] The above and other objects and features of the present disclosure will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings.
[0018] The following drawings to be used to explain example embodiments of the present disclosure are only part of example embodiments of the present disclosure and other drawings can be obtained based on the drawings by those skilled in the art of the present disclosure without inventive work. Fig. 1 is a drawing schematically illustrating a learning device for learning an object detector based on a CNN using a target object estimating network in accordance with one example embodiment of the present disclosure. Fig. 2 is a drawing schematically illustrating a learning method for learning the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure. Fig. 3 is a drawing schematically illustrating object proposals, outputted from an RPN, to be considered for the learning method for the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure. Fig. 4 is a drawing schematically illustrating a process of searching for target regions, by using the object proposals outputted from the RPN, to be considered for the learning method for the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure. Fig. 5 is a drawing schematically illustrating a process of detecting at least one target object by using manipulated images in accordance with one example embodiment of the present disclosure. Fig. 6 is a drawing schematically illustrating a testing device for the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure. Fig. 7 is a drawing schematically illustrating a testing method for the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure.
[0019] Detailed explanation on the present disclosure to be made below refer to attached drawings and diagrams illustrated as specific embodiment examples under which the present disclosure may be implemented to make clear of purposes, technical solutions, and advantages of the present disclosure. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure.
[0020] Besides, in the detailed description and claims of the present disclosure, a term "include" and its variations are not intended to exclude other technical features, additions, components or steps. Other objects, benefits, and features of the present disclosure will be revealed to one skilled in the art, partially from the specification and partially from the implementation of the present disclosure. The following examples and drawings will be provided as examples but they are not intended to limit the present disclosure.
[0021] Moreover, the present disclosure covers all possible combinations of example embodiments indicated in this specification. It is to be understood that the various embodiments of the present disclosure, although different, are not necessarily mutually exclusive. For example, a particular feature, structure, or characteristic described herein in connection with one embodiment may be implemented within other embodiments without departing from the spirit and scope of the present disclosure. In addition, it is to be understood that the position or arrangement of individual elements within each disclosed embodiment may be modified without departing from the spirit and scope of the present disclosure. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present disclosure is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In the drawings, like numerals refer to the same or similar functionality throughout the several views.
[0022] Any images referred to in the present disclosure may include images related to any roads paved or unpaved, in which case the objects on the roads or near the roads may include vehicles, persons, animals, plants, buildings, flying objects like planes or drones, or any other obstacles which may appear in a road-related scene, but the scope of the present disclosure is not limited thereto. As another example, said any images referred to in the present disclosure may include images not related to any roads, such as images related to alleyway, land lots, sea, lakes, rivers, mountains, forests, deserts, sky, or any indoor space, in which case the objects in said any images may include vehicles, persons, animals, plants, buildings, flying objects like planes or drones, ships, amphibious planes or ships, or any other obstacles which may appear in a scene related to alleyway, land lots, sea, lakes, rivers, mountains, forests, deserts, sky, or any indoor space, but the scope of the present disclosure is not limited thereto.
[0023] To allow those skilled in the art to the present disclosure to be carried out easily, the example embodiments of the present disclosure by referring to attached diagrams will be explained in detail as shown below.
[0024] Fig. 1 is a drawing schematically illustrating a learning device for learning an object detector based on a CNN using a target object estimating network in accordance with one example embodiment of the present disclosure.
[0025] By referring to Fig. 1, the learning device 100 includes a communication part 110 and a processor 120.
[0026] First, the communication part 110 is configured to acquire or support another device to acquire at least one training image.
[0027] Herein, the training image may be stored in a database 130, and the database 130 may store at least one ground truth, i.e., GT, of class information and location information on each of one or more objects in the training images.
[0028] In addition, the learning device further includes a memory 115 capable of storing computer readable instructions for performing following processes. As one example, the processor, the memory, a medium, etc. may be integrated with an integrated processor.
[0029] Next, if at least one training image is acquired, the processor 120 performs or supports another device to perform processes of (ia) instructing an image-manipulating network S100 to generate an image pyramid including k images P1, P2, P3,,... with different sizes which are created by manipulating the training image, (ib) instructing one or more convolutional layers 121 to generate at least one first feature map by applying one or more convolution operations to at least one first manipulated image corresponding to a first image P1 which is a smallest-sized image among the image pyramid, (ii) instructing an RPN (Region Proposal Network) 122 to generate one or more first object proposals corresponding to each of one or more first objects in the first manipulated image by using the first feature map, (iii) instructing a pooling layer 123 to apply one or more pooling operations to each region, corresponding to each of the first object proposals, on the first feature map, to thereby generate at least one first pooled feature map, (iv) instructing an FC layer (Fully Connected Layer) 124 to apply at least one fully connected operation to the first pooled feature map, to thereby generate first object detection information corresponding to the first objects, and (v) instructing an FC loss layer 125 to generate one or more first FC losses by referring to the first object detection information and its corresponding GT, to thereby learn at least part of parameters of the FC layer and the convolutional layers by backpropagating the first FC losses.
[0030] Then, the processor 120 performs or supports another device to perform processes of (Bi) instructing the target object estimating network 127 to search for a first target region TR1, corresponding to an area where at least one target object is estimated as located, on the first manipulated image MI1, by referring to one or more first object proposals on the first manipulated image MI1, (Biia) acquiring a second manipulated image MI2 corresponding to the first target region TR1 on a second image P2 which is a next smallest-sized image among the image pyramid, (Biib) instructing the convolutional layers 121 to apply the convolution operations to the second manipulated image MI2, to thereby generate a second feature map, (Biii) instructing the RPN 122 to generate one or more second object proposals corresponding to each of one or more second objects on the second manipulated image by referring to the second feature map, (Biv) instructing the pooling layer 123 to apply the pooling operations to each region, corresponding to each of the second object proposals, on the second feature map, to thereby generate at least one second pooled feature map, (Bv) instructing the FC layer 124 to apply the fully connected operation to the second pooled feature map, to thereby generate second object detection information corresponding to the second objects, and (Bvi) instructing the FC loss layer 125 to generate one or more second FC losses by referring to the second object detection information and its corresponding GT, to thereby learn at least part of parameters of the FC layer 124 and the convolutional layers 121 by backpropagating the k-th FC losses.
[0031] In the process indicated as Bi, the processor 120 instructs the target object estimating network 127 to: (i) divide the first manipulated image MI1 into an M×N grid, (ii) generate at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of said each corresponding proposals is present in its corresponding cell of the grid, and (iii) determine the first target region by using at least one region of a moving window, and wherein the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.
[0032] The processes indicated above as Bi, Biia, Biib, Biii, Biv, Bv and Bvi are then repeated by increasing k from 2 to n.
[0033] Also, the processor 120 may instruct an RPN loss layer to calculate one or more first RPN losses by referring to information on the first object proposals and their corresponding GTs, to thereby adjust at least part of parameters of the RPN by backpropagating the first RPN losses, and may instruct the RPN loss layer to calculate one or more k-th RPN losses by referring to information on the k-th object proposals and their corresponding GTs, to thereby adjust at least part of the parameters of the RPN by backpropagating the k-th RPN losses.
[0034] Herein, the learning device 100 in accordance with one example of the present disclosure may be a computing device, and may be any digital device with a processor capable of computation. For reference, although Fig. 1 shows the single learning device 100, the scope of the present disclosure is not limited thereto. For example, the learning device may be configured as several devices to perform its functions.
[0035] A method for learning parameters of the object detector based on the CNN using the target object estimating network by using the learning device 100 in accordance with one example embodiment of the present disclosure is described by referring to Fig. 2 as follows.
[0036] First of all, if the training image is inputted, the learning device 100 instructs a convolutional layer 121 to apply the convolution operations to the first manipulated image corresponding to the training image, to thereby generate the first feature map. Herein, the convolutional layer 121 may be a single convolutional layer or multiple convolutional layers.
[0037] Herein, the learning device 100 instructs an image-manipulating network 111 to generate an image pyramid including multiple images with different sizes which are created by manipulating the training image, and inputs one image among the image pyramid into the convolutional layer 121 as the first manipulated image MI1. The first manipulated image MI1 corresponds to a first image P1 that is the smallest-sized image among the image pyramid.
[0038] Next, the learning device 100 instructs an RPN 122 to generate one or more first object proposals corresponding to the first objects in the first manipulated image by using the first feature map.
[0039] As one example, by referring to Fig. 3, the first object proposals outputted from the RPN 122 may correspond to each of the first objects in the first manipulated image, and each of the first object proposals may include information on each proposal box having location information corresponding to each of the first objects, i.e., a tagged area and information on whether it is an object. Herein, the information on whether it is an object may include probability information by which said each object proposal is estimated as an object, and information on the proposal box may include probability information by which the proposal box is estimated as matching the location of the object.
[0040] Next, the learning device 100 instructs a pooling layer 123 to generate the first pooled feature map by applying one or more pooling operations to each region, corresponding to each of the first object proposals, on the first feature map, to thereby generate at least one first pooled feature map and instructs an FC layer 124 to generate first object detection information corresponding to the first objects by applying the fully connected operation to the first pooled feature map to thereby generate first object detection information corresponding to the first objects.
[0041] Herein, the first object detection information may include information on bounding boxes, i.e., location information on each of the first objects, and class information on each of the first objects corresponding to the first object proposals. Also, the class information may include probability information by which each of the first objects is estimated as each class, and the information on the bounding boxes may include probability information by which each of the bounding boxes is estimated to match the location of the object.
[0042] Then, the learning device 100 instructs at least one FC loss layer 125 to generate one or more first FC losses by referring to the first object detection information and its corresponding GT, to thereby adjust at least part of parameters of the FC layer 124 and the convolutional layer 121 by backpropagating the first FC losses.
[0043] Also, the learning device 100 may instruct at least one RPN loss layer 126 to generate one or more first RPN losses by referring to the first object proposals and their corresponding GTs, to thereby adjust at least part of parameters of the RPN 122 by backpropagating the first RPN losses.
[0044] Then, the learning device 100 instructs a target object estimating network 127 to search for a first target region TR1, corresponding to an area where the target object is estimated as located, on the first manipulated image MI1, by referring to the first object proposals on the first manipulated image.
[0045] As shown in Fig. 4, the target object estimating network 127 (i) divides the first manipulated image into an M×N grid, (ii) generates at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of each of the corresponding proposals is present in its corresponding cell of the grid, where, preferably, the sizes of the corresponding proposals are smaller than a predetermined size corresponding to a size of the target object, among the object proposals outputted from the RPN 122 and (iii) determine the first target region TR by using at least one region of a moving window with a size of PxQ corresponding to a size of the first target region, where the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.
[0046] Next, the learning device 100 repeats the following steps by increasing k from 2 to n. Hence for k =2 the learning device acquires or supports another device to acquire a second manipulated image MI2 corresponding to the first target region TR1 on a second image P2, which is a next smallest-sized image among the image pyramid.
[0047] Herein, the learning device 100 may instruct the image-manipulating network 111 to crop at least one region, corresponding to the first target region TR, on the second image P2, to thereby generate the second manipulated image.
[0048] As one example, the image-manipulating network 111 may crop at least one region, corresponding to the first target region TR1, on an image with a size larger than that of the first manipulated image among the image pyramid corresponding to the training image, to thereby generate the second manipulated image. Also, the image-manipulating network 111 may crop at least one region, on the training image, corresponding to the first target region TR and then may resize the cropped image, to thereby generate the second manipulated image. Herein, the second manipulated image may be resized such that its size is larger than that of the first target region. In order to do so, the image-manipulating network 111 may resize the cropped image to be corresponding to a size of a next image of the first manipulated image among the image pyramid of the training image, to thereby generate the second manipulated image.
[0049] Hence, the learning device 100 repeats the above processes by increasing k from 2 to n, using the generated k-th (second for k = 2) manipulated image, to thereby efficiently detect a small-sized object on the training image, that is, an object located in the long distance.
[0050] When repeating these processes, the learning device 100 performs or supports another device to perform processes of (i) instructing the target object estimating network 127 to search for a (k-1)-th target region, corresponding to an area where the target object is estimated as located, on a (k-1)-th manipulated image, by referring to one or more (k-1)-th object proposals on the (k-1)-th manipulated image, (iia) acquiring a k-th manipulated image which corresponds to the (k-1)-th target region on a k-th image, which is a next smallest-sized image among the image pyramid (iib) instructing the convolutional layers 121 to apply the convolution operations to the k-th manipulated image, to thereby generate a k-th feature map,. (iii) Then, the learning device 100 instructs the RPN 122 to generate k-th object proposals corresponding to each of the k-th objects in the k-th manipulated image by using the k-th feature map, and (iv) instructs the pooling layer 123 to apply the pooling operations to each region, on the k-th feature map, corresponding to each of the k-th object proposals, to thereby generate at least one k-th pooled feature map. (v) Thereafter, the learning device 100 instructs the FC layer 124 to apply the fully connected operation to the k-th pooled feature map, to thereby generate k-th object detection information corresponding to the k-th objects. (vi) Then, the learning device 100 instructs the FC loss layer 125 to generate one or more k-th FC losses by referring to the k-th object detection information and its corresponding GT, to thereby adjust at least part of parameters of the FC layer 125 and the convolutional layer 121 by backpropagating the k-th FC losses.
[0051] Also, the learning device 100 may instruct the RPN loss layer 126 to generate one or more k-th RPN losses by referring to the k-th object proposals and their corresponding GTs, to thereby adjust at least part of the parameters of the RPN 122 by backpropagating the k-th RPN losses.
[0052] Fig. 5 shows that object detection is performed on the first manipulated image MI1, corresponding to a first image P1 which is a smallest-sized image among the image pyramid, and thus the first target region TR1 is estimated, and object detection is performed on the second manipulated image MI2, corresponding to the first target region TR1 on a second image P2 which is a next smallest-sized image among the image pyramid, and a second target region TR2 is identified, and object detection is performed on a third manipulated image MI3, corresponding to the second target region TR2 on a second image P3 which is a next smallest-sized image to the P2 among the image pyramid. Thus, as a result, k-th objects with specific sizes, preferably small-sized objects in the long distance, are easily detected thanks to less computational time. Herein, sizes of the first target region to an (n-1)-th target region on the first manipulated image to an (n-1)-th manipulated image may be controlled to be the same, or each of the sizes may set to be different with each other according to each of sizes of the manipulated images while each of their corresponding aspect ratio is set as identical. Also, the sizes of the first manipulated image to the n-th manipulated image may be set as the same.
[0053] By using the method above, the k-th objects with various sizes on the training image, especially the k-th objects in the long distance which are small-sized, are detected efficiently. Also, computational load is reduced since only regions corresponding to the estimated target regions are used and thus computing time of the object detector based on the CNN is reduced.
[0054] Also, in the description so far, it is assumed that there is just one target object on the training image, however, even in case there are multiple target objects on the training image, detection of each of the target objects is possible by using each target region corresponding to each of the target objects on the training image as in the method mentioned above.
[0055] Fig. 6 is a drawing schematically illustrating a testing device for testing the object detector based on the CNN using the target object estimating network in accordance with one example embodiment of the present disclosure, and by referring to Fig. 6, the testing device 200 includes a communication part 210 and a processor 220.
[0056] First, the communication part 210 is configured to acquire or support another device to acquire at least one test image.
[0057] In addition, the testing device includes a memory 215 capable of storing computer readable instructions for performing following processes. As one example, the processor, the memory, a medium, etc. may be integrated with an integrated processor.
[0058] Herein, it is presumed that the object detector based on the CNN using the target object estimating network has been learned by the learning method described by referring to Figs. 1 to 5.
[0059] For reference, in the description below, the phrase "for training" is added for terms related to the learning processes, and the phrase "for testing" is added for terms related to testing processes, to avoid possible confusion.
[0060] Next, the processor 220 of the testing device performs or supports another device to perform processes of (ia) acquiring at least one test image, and instructing an image-manipulating network to generate an image pyramid including k images with different sizes which are created by manipulating the test image; (ib) instructing the convolutional layers to generate at least one first feature map for testing by applying the convolution operations to at least one first manipulated image for testing corresponding to a first image which is a smallest-sized image among the image pyramid, (ii) instructing the RPN to generate one or more first object proposals for testing corresponding to each of one or more first objects for testing in the first manipulated image for testing by using the first feature map for testing, (iii) instructing the pooling layer to apply the pooling operations to each region, corresponding to each of the first object proposals for testing, on the first feature map for testing, to thereby generate at least one first pooled feature map for testing, (iv) instructing the FC layer to apply the fully connected operation to the first pooled feature map for testing, to thereby generate first object detection information for testing corresponding to the first objects for testing.
[0061] Then, the processor 220 performs or supports another device to repeatedly perform the processes (i -v) specified below by increasing k from 2 to n. (i) instructing the target object estimating network to search for a (k-1)-th target region for testing, corresponding to an area where at least one target object for testing is estimated as located, on a (k-1)-th manipulated image for testing, by referring to one or more (k-1)-th object proposals for testing on the (k-1)-th manipulated image for testing (ii) if a k-th manipulated image for testing is acquired which corresponds to the (k-1)-th target region for testing on a second image which is a next smallest-sized image among the image pyramid, instructing the convolutional layers to apply the convolution operations to the k-th manipulated image for testing, to thereby generate a k-th feature map for testing, (iii) instructing the RPN to generate one or more k-th object proposals for testing corresponding to each of one or more k-th objects for testing on the k-th manipulated image for testing by referring to the k-th feature map for testing, (iv) instructing the pooling layer to apply the pooling operations to each region, on the k-th feature map for testing, corresponding to each of the k-th object proposals for testing, to thereby generate at least one k-th pooled feature map for testing, (v) instructing the FC layer to apply the fully connected operation to the k-th pooled feature map for testing, to thereby generate k-th object detection information for testing corresponding to the k-th objects for testing, by increasing k from 2 to n.
[0062] Herein, the testing device 200 in accordance with one example embodiment of the present disclosure may be a computing device, and may be any device with a processor capable of computation. For reference, although Fig. 6 shows the single testing device 200, but the scope of the present disclosure is not limited thereto. For example, the testing device may be configured as several devices to perform its functions.
[0063] A method for testing the object detector based on the CNN using the target object estimating network by using the testing device 200 in accordance with one example embodiment of the present disclosure is described by referring to Fig. 7 as follows. In the description below, the part easily deducible from the learning method described by referring to Figs. 1 to 5 will be omitted.
[0064] First, on condition that at least part of parameters of an FC layer 224, a convolutional layer 221, and an RPN 222 has been learned according to the learning method described by referring to Figs. 1 to 5, if the test image is inputted, the testing device 200 instructs the convolutional layer 221 to apply the convolution operations to a first manipulated image for testing. Herein, the convolutional layer 221 may be a single convolutional layer or multiple convolutional layers.
[0065] Herein, the testing device 200 instructs an image-manipulating network 211 to generate an image pyramid including images with different sizes which are created by manipulating the test image, and may input one image which is a smallest-sized image among the image pyramid into the convolutional layer 221 as the first manipulated image for testing.
[0066] Next, the testing device 200 instructs the RPN 222 to generate one or more first object proposals for testing corresponding to each of the first objects for testing in the first manipulated image for testing by using the first feature map for testing.
[0067] Herein, each of the first object proposals for testing may include information on each proposal box for testing having location information corresponding to each of the first objects for testing, i.e., a tagged area and information on whether it is an object.
[0068] Next, the testing device 200 instructs a pooling layer 223 to generate at least one first pooled feature map for testing by applying the pooling operations to at least one region corresponding to the first object proposals for testing on the first feature map for testing, and instructs the FC layer 224 to generate first object detection information for testing corresponding to the first objects for testing by applying the fully connected operation to the first pooled feature map for testing.
[0069] Herein, the first object detection information for testing may include information on bounding boxes for testing, i.e., location information on each of the first objects for testing, and class information on each of the first objects for testing corresponding to the first object proposals for testing.
[0070] Then, the testing device 200 instructs a target object estimating network 227 to search for a first target region for testing, corresponding to an area where at least one target object for testing is estimated as located, on the first manipulated image for testing, by referring to the first object proposals for testing on the first manipulated image for testing.
[0071] Next, the testing device 200 acquires or support another device to acquire a second manipulated image for testing corresponding to the first target region for testing on a second image for testing which is a next smallest-sized image among the image pyramid.
[0072] Herein, the testing device 200 may instruct the image-manipulating network 211 to crop at least one region, corresponding to the first target region on the second image for testing, to thereby generate the second manipulated image for testing.
[0073] As one example, the image-manipulating network 211 may crop at least one region, corresponding to the first target region for testing, on an image with a size larger than that of the first manipulated image for testing among the image pyramid corresponding to the test image, to thereby generate the second manipulated image for testing. Also, the image-manipulating network 211 may crop at least one region, corresponding to the first target region for testing, and resize the cropped image, on the test image, to thereby generate the second manipulated image for testing. Herein, the second manipulated image for testing may be resized such that its size is larger than that of the first target region for testing. In order to do so, the image-manipulating network 211 may resize an image cropped to be corresponding to a size of a next image of the first manipulated image for testing among the image pyramid of the test image, to thereby generate the second manipulated image for testing.
[0074] Next, the testing device 200 repeats the above processes by increasing k from 2 to n, using the generated second manipulated image for testing, to thereby efficiently detect a small-sized object on the test image, that is, an object located in the long distance.
[0075] That is, the testing device 200 performs or supports another device to perform processes of (i) instructing the target object estimating network 227 to search for a (k-1)-th target region for testing, corresponding to an area where at least one target object for testing is estimated as located, on a (k-1)-th manipulated image for testing , by referring to one or more (k-1)-th object proposals for testing on the (k-1)-th manipulated image for testing, (iia) acquiring a k-th manipulated image for testing which corresponds to the (k-1)-th target region for testing on a second image for testing which is a next smallest-sized image among the image pyramid, (iib) instructing the convolutional layer 221 to apply the convolution operations to the k-th manipulated image for testing, to thereby generate a k-th feature map for testing. (iii) Then, the testing device 200 instructs the RPN 222 to generate k-th object proposals for testing corresponding to each of the k-th objects for testing in the k-th manipulated image for testing by using the k-th feature map for testing, and (iv) instructs the pooling layer 223 to apply the pooling operations to each region, corresponding to each of the k-th object proposals for testing, on the k-th feature map for testing, to thereby generate at least one k-th pooled feature map for testing. (v) Thereafter, the testing device 200 instructs the FC layer 224 to apply the fully connected operation to the k-th pooled feature map for testing, to thereby generate k-th object detection information for testing corresponding to the k-th objects for testing.
[0076] By using the method above, the k-th objects with various sizes on the test image, especially the k-th objects in the long distance which are small-sized, are detected efficiently. Also, computational load is reduced since only regions corresponding to the estimated target regions are used and thus computation time of the object detector based on the CNN is reduced.
[0077] Also, in the description so far, it is assumed that there is just one target object on the test image, however, in case there are multiple target objects on the test image, detection of each of the target objects is possible by using each target region corresponding to each of the target objects on the test image as in the method mentioned above.
[0078] The present disclosure has an effect of detecting small objects in an image with ease by using target regions where objects are estimated as located on each of the manipulated images that are images with various sizes into which the input image is transformed.
[0079] The present disclosure has another effect of minimizing computational load and time by detecting small objects in an image with ease by using manipulated images, i.e., the cropped target regions where objects are estimated as located on each of the manipulated images that are images with various sizes into which the input image is transformed.
[0080] By learning parameters of an object detector, a target object estimating network adaptable to customers' requirements such as KPI(key performance index) can be provided.
Claims
1. A computer-implemented method for learning parameters of an object detector by using a target object estimating network, comprising steps of: (a1) if at least one training image is acquired, instructing an image-manipulating network (S100) to generate an image pyramid including k images (P1, P2, P3,,...) with different sizes which are created by manipulating the training image; (a2): (i) instructing one or more convolutional layers (121) to generate at least one first feature map by applying one or more convolution operations to a first manipulated image (MI1) corresponding to a first image (P1) which is a smallest-size image among the image pyramid, (ii) instructing a Region Proposal Network (RPN) (122) to generate one or more first object proposals corresponding to each of one or more first objects in the first manipulated image by using the first feature map, (iii) instructing a pooling layer (123) to apply one or more pooling operations to each region, corresponding to each of the first object proposals, on the first feature map, to thereby generate at least one first pooled feature map, (iv) instructing a Fully Connected (FC) layer (124) to apply at least one fully connected operation to the first pooled feature map, to thereby generate first object detection information corresponding to the first objects, and (v) instructing an FC loss layer (125) to generate one or more first FC losses by referring to the first object detection information and its corresponding Ground Truth (GT), to thereby learn at least part of parameters of the FC layer (124) and the convolutional layers (121) by backpropagating the first FC losses; and (b) (i) instructing the target object estimating network (127) to search for a first target region (TR1), corresponding to an area where at least one target object is estimated as located, on the first manipulated image (MI1), by referring to one or more object proposals on the first manipulated image, (iia) acquiring a second manipulated image (MI2) corresponding to the first target region (TR1) on a second image (P2) which is a next smallest-sized image among the image pyramid, (iib) instructing the convolutional layers (121) to apply the convolution operations to the second manipulated image (MI2), to thereby generate a second feature map, (iii) instructing the RPN (122) to generate one or more second object proposals corresponding to each of one or more second objects on the second manipulated image by referring to the second feature map, (iv) instructing the pooling layer (123) to apply the pooling operations to each region, corresponding to each of the second object proposals, on the second feature map, to thereby generate at least one second pooled feature map, (v) instructing the FC layer (124) to apply the fully connected operation to the at least one second pooled feature map, to thereby generate second object detection information corresponding to the second objects, and (vi) instructing the FC loss layer (125) to generate one or more second FC losses by referring to the second object detection information and its corresponding GT, to thereby learn at least part of parameters of the FC layer (124) and the convolutional layers (121) by backpropagating the second FC losses, (c) repeating the steps (b) by increasing k from 2 to n; characterized in that at the step of (b), the the target object estimating network (127): (i) divides the first manipulated image (MI1) into an M×N grid, (ii) generates at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of said each corresponding proposals is present in its corresponding cell of the grid, and (iii) determines the first target region by using at least one region of a moving window, and wherein the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.
2. The method of Claim 1, wherein, at the step of (a), an RPN loss layer (126) is instructed to calculate one or more first RPN losses by referring to information on the first object proposals and their corresponding GTs, to thereby adjust at least part of parameters of the RPN (122) by backpropagating the first RPN losses, and wherein, at the step of (b), the RPN loss layer (126) is instructed to calculate one or more second RPN losses by referring to information on the second object proposals and their corresponding GTs, to thereby adjust at least part of the parameters of the RPN (126) by backpropagating the second RPN losses.
3. The method of Claim 1, wherein, at the step of (b), at least one region, corresponding to the first target region, on the second image (P2) is cropped which is the next smallest-sized image among the image pyramid, to thereby generate the second manipulated image.
4. A computer-implemented method for testing an object detector obtained with the method by using a target object estimating network of either of the claims 1 to 3, comprising steps of: (a1) if at least one test image is acquired, instructing an image-manipulating network (S200) to generate an image pyramid including k images (P1, P2, P3,,...) with different sizes which are created by manipulating the training image,; (a2): (i) instructing the convolutional layers (121) to generate at least one first feature map for testing by applying the convolution operations to a first manipulated image (MI1) for testing corresponding to a first image (P1) which is a smallest-sized image among the image pyramid , (ii) instructing the RPN (222) to generate one or more first object proposals for testing corresponding to each of one or more first objects for testing in the first manipulated image for testing by using the first feature map for testing, (iii) instructing the pooling layer (223) to apply the pooling operations to each region, corresponding to each of the first object proposals for testing, on the first feature map for testing, to thereby generate at least one first pooled feature map for testing, and (iv) instructing the FC layer (224) to apply the fully connected operation to the first pooled feature map for testing, to thereby generate first object detection information for testing corresponding to the first objects for testing; and (b): (i) instructing the target object estimating network (227) to search for a first target region (TR1) for testing, corresponding to an area where at least one target object for testing is estimated as located, on the first manipulated image (MI1) for testing, by referring to one or more first object proposals for testing on the first manipulated image (MI1) for testing, (iia) acquiring a second manipulated image for testing corresponding to the first target region (TR1) on a second image (P2) for testing which is a next smallest-sized image among the image pyramid, (iib) instructing the convolutional layers (221) to apply the convolution operations to the second manipulated image for testing, to thereby generate a second feature map for testing, (iii) instructing the RPN (222) to generate one or more second object proposals for testing corresponding to each of one or more second objects for testing on the second manipulated image for testing by referring to the second feature map for testing, (iv) instructing the pooling layer (223) to apply the pooling operations to each region, corresponding to each of the second object proposals for testing, on the second feature map for testing, to thereby generate at least one second pooled feature map for testing, and (v) instructing the FC layer (224) to apply the fully connected operation to the second pooled feature map for testing, to thereby generate second object detection information for testing corresponding to the second objects for testing, , (c) repeating the steps (b) by increasing k from 2 to n, characterized in that at the step of (b), the target object estimating network (227): (i) divides the first manipulated image (MI1) into an M×N grid, (ii) generates at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of said each corresponding proposals is present in its corresponding cell of the grid, and (iii) determines the first target region by using at least one region of a moving window, and wherein the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.
5. The method of Claim 4, wherein, at the step of (b), at least one region, corresponding to the first target region for testing, on the second image (P2) is cropped for testing which is the next smallest-sized image among the image pyramid, to thereby generate the second manipulated image for testing.
6. A learning device (100) for learning parameters of an object detector by using a target object estimating network (127), comprising: at least one memory (115) that stores instructions; and at least one processor (120) configured to execute the instructions to: perform processes of (Ia) if at least one training image is acquired, instructing an image-manipulating network (S100) to generate an image pyramid including k images (P1, P2, P3,,...) with different sizes which are created by manipulating the training image, (Ib) (i) instructing one or more convolutional layers (121) to generate at least one first feature map by applying one or more convolution operations to at least a first manipulated image (MI1) corresponding to a first image (P1) which is a smallest-sized image among the image pyramid, (ii) instructing an Region Proposal Network (RPN) (122) to generate one or more first object proposals corresponding to each of one or more first objects in the first manipulated image by using the first feature map, (iii) instructing a pooling layer (123) to apply one or more pooling operations to each region, corresponding to each of the first object proposals, on the first feature map, to thereby generate at least one first pooled feature map, (iv) instructing an Fully Connected (FC) layer (124) to apply at least one fully connected operation to the first pooled feature map, to thereby generate first object detection information corresponding to the first objects, and (v) instructing an FC loss layer (125) to generate one or more first FC losses by referring to the first object detection information and its corresponding Ground Truth (GT), to thereby learn at least part of parameters of the FC layer (124) and the convolutional layers (121) by backpropagating the first FC losses, and (II) (i) instructing the target object estimating network (127) to search for a first target region (TR1), corresponding to an area where at least one target object is estimated as located, on the first manipulated image (MI1), by referring to one or more first object proposals on the first manipulated image (MI1), (iia) acquiring a second manipulated image (MI2) corresponding to the first target region (TR1) on a second image (P2) which is a next smallest-sized image among the image pyramid, (iib) instructing the convolutional layers (121) to apply the convolution operations to the second manipulated image (MI2), to thereby generate a second feature map, (iii) instructing the RPN (122) to generate one or more second object proposals corresponding to each of one or more second objects on the second manipulated image (MI2) by referring to the second feature map, (iv) instructing the pooling layer (123) to apply the pooling operations to each region, corresponding to each of the second object proposals, on the second feature map, to thereby generate at least one second pooled feature map, (v) instructing the FC layer (124) to apply the fully connected operation to the at least one second pooled feature map, to thereby generate second object detection information corresponding to the second objects, and (vi) instructing the FC loss layer (125) to generate one or more second FC losses by referring to the second object detection information and its corresponding GT, to thereby learn at least part of parameters of the FC layer (124) and the convolutional layers (121) by backpropagating the second FC losses, (III) repeating the processes of (b) by increasing k from 2 to n; characterized in that in the process of (b), the at least one processor (120) instructs the target object estimating network (127) to: (i) divide the first manipulated image (MI1) into an M×N grid, (ii) generate at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of said each corresponding proposals is present in its corresponding cell of the grid, and (iii) determine the first target region by using at least one region of a moving window, and wherein the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.
7. The learning device (100) of Claim 6, wherein, at the process of (I), the processor (120) instructs an RPN loss layer (126) to calculate one or more first RPN losses by referring to information on the first object proposals and their corresponding GTs, to thereby adjust at least part of parameters of the RPN (122) by backpropagating the first RPN losses, and wherein, at the process of (II), the processor (120) instructs the RPN loss layer (126) to calculate one or more second RPN losses by referring to information on the second object proposals and their corresponding GTs, to thereby adjust at least part of the parameters of the RPN (122) by backpropagating the second RPN losses.
8. The learning device (100) of Claim 7, wherein, at the process of (II), the processor crops at least one region, corresponding to the first target region (TR1), on the second image (P2) which is the next smallest-sized image among the image pyramid, to thereby generate the second manipulated image.
9. A testing device (200) for testing an object detector obtained with the learning device according to either of the claims 6-8 by using a target object estimating network, the testing device (200) comprising: at least one memory (215) that stores instructions; and at least one processor (220), configured to execute the instructions to: perform processes of (Ia): if at least one testing image is acquired, instructing the image-manipulating network (S100) to generate an image pyramid including k images (P1, P2, P3,,...) with different sizes which are created by manipulating the testing image; perform processes of (Ib): (i) instructing the one or more convolutional layers (221) to generate at least one first feature map for testing by applying the convolution operations to a first manipulated image (MI1) corresponding to a first image (P1) which is a smallest-sized image among the image pyramid, (ii) instructing the RPN (222) to generate one or more first object proposals for testing corresponding to each of one or more first objects for testing in the first manipulated image (MI1) for testing by using the first feature map for testing, (iii) instructing the pooling layer (223) to apply the pooling operations to each region, corresponding to each of the first object proposals for testing, on the first feature map for testing, to thereby generate at least one first pooled feature map for testing, and (iv) instructing the FC layer (224) to apply the fully connected operation to the first pooled feature map for testing, to thereby generate first object detection information for testing corresponding to the first objects for testing, and perform processes of (II) (i) instructing the target object estimating network (127) to search for a first target region (TR1) for testing, corresponding to an area where at least one target object for testing is estimated as located, on the first manipulated image for testing, by referring to one or more first object proposals for testing on the first manipulated image for testing, (iia) acquiring a second manipulated image for testing corresponding to the first target region (TR1) on a second image (P2) which is a next smallest-sized image among the image pyramid, (iib) instructing the convolutional layers (221) to apply the convolution operations to the second manipulated image for testing, to thereby generate a second feature map for testing, (iii) instructing the RPN (222) to generate one or more second object proposals for testing corresponding to each of one or more second objects for testing on the second manipulated image for testing by referring to the second feature map for testing, (iv) instructing the pooling layer (223) to apply the pooling operations to each region, corresponding to each of the second object proposals for testing, on the second feature map for testing, to thereby generate at least one second pooled feature map for testing, and (v) instructing the FC layer (224) to apply the fully connected operation to the second pooled feature map for testing, to thereby generate second object detection information for testing corresponding to the second objects for testing, , perform processes of (III)repeating the steps (II) by increasing k from 2 to n; characterized in that at the process of (II), the learning device instructs the target object estimating network (227) to: (i) divide the first manipulated image (MI1) into an M×N grid, (ii) generate at least one histogram representing the number of each corresponding proposals, among the first object proposals, per each cell of the grid, wherein each partial area or each whole area of said each corresponding proposals is present in its corresponding cell of the grid, and (iii) determine the first target region by using at least one region of a moving window, and wherein the at least one region has a largest value of summation of the histogram among all regions to be occupied by changing a location of the moving window.