Patent Publication Number: US-11023782-B2

Title: Object detection device, vehicle control system, object detection method, and non-transitory computer readable medium

Description:
FIELD 
     The present invention relates to an object detection device, a vehicle control system, object detection method, and a non-transitory computer-readable medium storing an object detection use computer program. 
     BACKGROUND 
     Known in the past has been the technique of detecting an object from an image generated by a camera etc. For example, NPLs 1 and 2 describes that it is possible to use a neural network to improve the accuracy of detection of an object. 
     In such a neural network, predetermined parameters (weight etc.,) at each layer of the neural network are adjusted in advance by learning. In learning, an image with a true label including the name of a known object is used as training data. It is possible to use a large number of training data to train a neural network and thereby raise the accuracy of detection of an object. 
     CITATION LIST 
     Nonpatent Literature 
     
         
         [NPL 1] Wei Liu et al., “SSD: Single Shot MultiBox Detector”, ECCV2016, 2016 
         [NPL 2] Shaoqing Ren et al., “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”, NIPS, 2015 
       
    
     SUMMARY 
     Technical Problem 
     However, it is difficult to prepare the large number of training data for rare objects, so the accuracy of detection of the objects falls. Further, the accuracy of detection of an object falls even if glare, motion blur, etc., causes an object in an image to become unclear. 
     Therefore, an object of the present invention is to suppress that an object remains undetected in a situation where detection of the object is difficult. 
     Solution to Problem 
     The summary of the present disclosure is as follows. 
     (1) An object detection device comprising a position region detecting part configured to use a first neural network to detect a position region of an object in the image, a large attribute identification part configured to use a second neural network to identify a large attribute of the object, a small attribute identification part configured to use a third neural network to identify a small attribute of the object which is a lower concept of the large attribute, and an object judging part configured to judge a result of detection of the object, wherein the object judging part is configured to judge that a result of identification of the small attribute is the result of detection if a confidence of the result of identification of the small attribute by the small attribute identification part is equal to or more than a threshold value, and judge the result of detection based on a result of identification of the large attribute if the confidence is less than the threshold value. 
     (2) The object detection device described in above (1), wherein the object judging part is configured to judge the result of detection based on the result of identification of the large attribute and a distribution of confidence of the small attribute if the confidence is less than the threshold value. 
     (3) The object detection device described in above (1) or (2), wherein the object is a sign. 
     (4) The object detection device described in above (3), wherein the object judging part is configured to judge that a speed limit sign of a slowest speed in candidates of the small attribute is the result of detection if the confidence is less than the threshold value and the result of identification of the large attribute by the large attribute identification part is a speed limit sign. 
     (5) The object detection device described in any one of above (1) to (4), wherein the object judging part is configured to judge that the result of identification of the large attribute is the result of detection if the confidence is less than the threshold value. 
     (6) A vehicle control system comprising an object detection device according to any one of above (1) to (5), a drive planning part configured to create a drive plan of a vehicle based on the result of detection of the object, and a vehicle control part configured to control the vehicle so that the vehicle drives in accordance with a drive plan prepared by the drive planning part. 
     (7) A method of detection of an object comprising using a first neural network to detect a position region of an object in an image, using a second neural network to identify a large attribute of the object, using a third neural network to identify a small attribute of the object which is a lower concept of the large attribute, and, when a confidence of a result of identification of the small attribute is equal to or more than a threshold value, judging that the result of identification of the small attribute is a result of detection of the object and, when the confidence is less than the threshold value, judging the result of detection based on a result of identification of the large attribute. 
     (8) A non-transitory computer-readable medium storing an object detection use computer program making a computer use a first neural network to detect a position region of an object in an image, use a second neural network to identify a large attribute of the object, use a third neural network to identify a small attribute of the object which is a lower concept of the large attribute, and, when a confidence of a result of identification of the small attribute is equal to or more than a threshold value, judge that the result of identification of the small attribute is a result of detection of the object and, when the confidence is less than the threshold value, judge the result of detection based on a result of identification of the large attribute. 
     Advantageous Effects of Invention 
     According to the present invention, it is possible to suppress that an object remains undetected in a situation where detection of the object is difficult. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a view schematically showing the configuration of a vehicle control system according to the present embodiment. 
         FIG. 2  is a view of a hardware configuration of an ECU. 
         FIG. 3  is a block diagram of functions of the ECU relating to processing for vehicle control. 
         FIG. 4  is a view showing one example of the configuration of a neural network utilized as a classifier. 
         FIG. 5  is a view showing one example of training data when an object being detected is a vehicle. 
         FIG. 6  is a view showing one example of training data when an object being detected is a sign. 
         FIG. 7  is a flow chart showing a control routine of processing for vehicle control in the present embodiment. 
         FIG. 8  is a view showing another example of the configuration of a neural network utilized as a classifier. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Below, referring to the drawings, an object detection device, a vehicle control system, object detection method, and A non-transitory computer-readable medium according to embodiments of the present invention will be explained. Note that, in the following explanation, similar component elements are assigned the same reference notations. 
     &lt;Vehicle Control System&gt; 
       FIG. 1  is a view schematically showing the configuration of a vehicle control system according to the present embodiment. The vehicle control system  1  is mounted in a vehicle  10  and controls the vehicle  10 . In the present embodiment, the vehicle control system  1  performs automated driving of the vehicle  10 . 
     The vehicle control system  1  is provided with a camera  2  and electronic control unit (ECU)  3 . The camera  2  and the ECU  3  are connected to be able to communicate with each other through an in-vehicle network  4  compliant with a standard such as the CAN (Controller Area Network). 
     The camera  2  captures an image of a predetermined range and generates an image of the predetermined range. The camera  2  includes a lens and an imaging device and, for example, is a CMOS (complementary metal oxide film semiconductor) camera or CCD (charge coupled device) camera. 
     In the present embodiment, the camera  2  is provided at the vehicle  10  and captures the surroundings of the vehicle  10 . Specifically, the camera  2  is provided at the inside of the vehicle  10  and captures the region in front of the vehicle  10 . For example, the camera  2  is provided at a back surface of a room mirror of the vehicle  10 . The camera  2  captures an image of the front region of the vehicle  10  at predetermined imaging intervals (for example, 1/30 second to 1/10 second) while the ignition switch of the vehicle  10  is on, and generates an image of the front region. The image generated by camera  2  is sent through the in-vehicle network  4  from the camera  2  to the ECU  3 . The image generated by the camera  2  is a color image or gray image. 
       FIG. 2  is a view of a hardware configuration of the ECU  3 . The ECU  3  includes a communication interface  21 , memory  22 , and processor  23  and performs various control of the vehicle  10 . The communication interface  21  and memory  22  are connected through signal lines to the processor  23 . 
     The communication interface  21  is an interface circuit for connecting the ECU  3  to the in-vehicle network  4 . That is, the communication interface  21  is connected through the in-vehicle network  4  to the camera  2 . The communication interface  21  receives an image from the camera  2  and transfers the received image to the processor  23 . 
     The memory  22 , for example, has a volatile semiconductor memory and nonvolatile semiconductor memory. The memory  22  stores various data etc., used when the processor  23  performs various processing. For example, the memory  22  stores an image generated by the camera  2 , map information, etc. 
     The processor  23  has one or more CPUs (central processing unit) and their peripheral circuits. The processor  23  performs processing for vehicle control including processing for object detection each time receiving an image from the camera  2 . Note that, the processor  23  may further have processing circuits such as logic processing units or numeric processing units. 
       FIG. 3  is a functional block diagram of the ECU  3  relating to processing for vehicle control. The vehicle control system  1  is provided with the camera  2 , an object detection device  30 , drive planning part  35 , and vehicle control part  36 . The object detection device  30  receives an image from the camera  2  and detects an object in the image generated by the camera  2 . The drive planning part  35  creates a drive plan of a vehicle  10  based on the result of detection of an object by the object detection device  30 . The vehicle control part  36  controls the vehicle  10  so that the vehicle  10  drives according to the drive plan created by the drive planning part  35 . 
     &lt;Processing for Object Detection&gt; 
     The object detection device  30  uses a neural network to detect an object in an image. In the neural network, predetermined parameters (weight etc.,) at each layer of the neural network are adjusted in advance by learning. In learning, images with true labels including the names of known objects are used as training data. It is possible to use a large number of training data to train a neural network and thereby raise the accuracy of detection of an object. 
     However, it is difficult to prepare the large number of training data for rare objects, so the accuracy of detection of an object falls. Further, the accuracy of detection of an object falls even if glare, motion blur, etc., causes an object in an image to become unclear. If it is not possible to obtain a grasp of the surrounding environment of the vehicle  10  due to an object remaining undetected, it becomes difficult for the vehicle control system  1  to continue automated driving of the vehicle  10 . 
     On the other hand, even if details of an object cannot be detected, sometimes an outline of the object can be detected. For example, even if the type of the vehicle in the image (passenger car, truck, bus, etc.) cannot be detected, sometimes the fact that the object is a vehicle can be detected. In this case, it is possible to predict an object from the outline of the object to suppress that the object remains undetected. For this reason, in the present embodiment, the object detection device  30  separately identifies a small attribute and large attribute of an object to thereby judge the final result of detection of the object. 
     A small attribute of an object is a lower concept of a large attribute of an object. For example, if a large attribute of an object is a vehicle, a small attribute of the object is a passenger car, truck, bus, etc. Further, if a large attribute of an object is a speed limit sign prescribing an allowable upper limit speed, a small attribute of the object is a speed limit sign of 30 km/h, 60 km/h, 80 km/h, etc. Further, if a large attribute of an object is a warning sign (yellow diamond shaped sign in Japan), a small attribute of the object is a sign warning of the existence of a railroad crossing, existence of a traffic light, danger of falling rocks, reduction of the number of lanes, etc. Further, if a large attribute of an object is a fallen object, a small attribute of the object is wood, cardboard, a tire, magazine, bedding, etc. 
     As shown in  FIG. 3 , the object detection device  30  is provided with a position region detecting part  31 , a large attribute identification part  32 , a small attribute identification part  33 , and an object judging part  34 . The position region detecting part  31  detects a position region of an object in the image. The large attribute identification part  32  identifies a large attribute of an object in the image. The small attribute identification part  33  identifies a small attribute of an object in the image. The object judging part  34  judges the result of detection of an object based on the results of detection of the large attribute and the small attribute of the object. 
     For example, the object being detected by the object detection device  30  is a sign. Unlike a vehicle having tires, bumpers, windows, lights, or numerous other features, a sign does not have numerous features. For this reason, in a detection method not using a neural network, if the features of the numbers or graphics are unclear, the sign will remain undetected. On the other hand, in the object detection device  30  using a neural network, even if the features of the numbers or graphics are unclear, often an object is detected as a sign based on other fine features. For this reason, by using the large attribute identification part  32  to identify the large attribute of an object, it is possible to keep an object from remaining undetected even when there are few features like a sign. 
     In the present embodiment, the ECU  3  has the position region detecting part  31 , the large attribute identification part  32 , the small attribute identification part  33 , the object judging part  34 , the drive planning part  35 , and the vehicle control part  36 . These functional blocks are, for example, functional modules realized by a computer program running on the processor  23  of the ECU  3 . Note that, these functional blocks may be dedicated processing circuits provided in the processor  23 . 
     The position region detecting part  31 , the large attribute identification part  32 , and the small attribute identification part  33  of the object detection device  30  form a classifier detecting an object by a neural network.  FIG. 4  is a view showing one example of the configuration of a neural network utilized as a classifier. The classifier  40  is a deep neural network having a plurality of hidden layers between an input layer and output layer. 
     The classifier  40  has a principal neural network (below, referred to as a “principal NN”)  41 , a position region detection neural network (below, referred to as a “position region detection NN”)  42 , a large attribute identification neural network (below, referred to as a “large attribute identification NN”)  43 , and a small attribute identification neural network (below, referred to as a “small attribute identification NN”)  44 . 
     The position region detection NN  42  is connected in series to the principal NN  41  and is arranged at a downstream side (output side) from the principal NN  41 . The large attribute identification NN  43  is connected in series to the principal NN  41  and is arranged at a downstream side from the principal NN  41 . The small attribute identification NN  44  is connected in series to the large attribute identification NN  43  and is arranged at a downstream side from the principal NN  41  and large attribute identification NN  43 . The large attribute identification NN  43  is arranged between the principal NN  41  and the small attribute identification NN  44 . 
     The principal NN  41  is a base network having an input layer to which an image is input. For example, the principal NN  41  is configured as a convolutional neural network (CNN) having a plurality of convolutional layers. The principal NN  41  may include a pooling layer provided for one convolutional layer or a plurality of convolutional layers. Further, the principal NN  41  may include one or more fully connected layers. For example, the principal NN  41  can have a configuration similar to the VGG  16  which is the base network of the Single Shot MultiBox Detector (SSD) described in NPL 1. Further, the principal NN  41  may have a configuration similar to a ResNet (Residual Network), AlexNet, or other CNN architecture. 
     The output of the principal NN  41  is input to the position region detection NN  42 . The position region detection NN  42  has an output layer outputting the position region of an object in an image. The output layer of the position region detection NN  42  outputs a bounding box showing the position region of the object, specifically the center coordinates (x, y), width “w”, and height “h” of the bounding box. The bounding box is expressed as a circumscribing rectangle surrounding an object in the image. 
     Further, the output of the principal NN  41  is input to the large attribute identification NN  43 . The large attribute identification NN  43  has an output layer outputting a large attribute of an object in the image. The output layer of the large attribute identification NN  43  outputs the result of detection of the large attribute (that is, the type of the large attribute) and the confidence of the result of detection. The activation function of the output layer is for example a softmax function. 
     The output of the large attribute identification NN  43  is input to the small attribute identification NN  44 . The small attribute identification NN  44  has an output layer outputting a small attribute of the object in the image. The output layer of the small attribute identification NN  44  outputs the result of detection of the small attribute (that is, the type of small attribute) and the confidence of the result of detection. The activation function of the output layer is for example a softmax function. 
     For example, the position region detection NN  42 , the large attribute identification NN  43 , and the small attribute identification NN  44  are respectively convolutional neural networks (CNN) having pluralities of convolutional layers. For example, the position region detection NN  42 , the large attribute identification NN  43 , and the small attribute identification NN  44  respectively are configured to generate pluralities of feature maps. Note that, the position region detection NN  42 , the large attribute identification NN  43 , and the small attribute identification NN  44  respectively may also include pooling layers provided for one convolutional layer or a plurality of convolutional layers. Further, the position region detection NN  42 , the large attribute identification NN  43 , and the small attribute identification NN  44  may respectively include one or more fully connected layers. 
     The position region detecting part  31  uses the first neural network to detect the position region of an object in the image. In the example of  FIG. 4 , the first neural network is a deep neural network and is comprised of the principal NN  41  and the position region detection NN  42 . The large attribute identification part  32  uses the second neural network to identify the large attribute of an object in the image. In the example of  FIG. 4 , the second neural network is a deep neural network and is comprised of the principal NN  41  and the large attribute identification NN  43 . The small attribute identification part  33  uses a third neural network to identify a small attribute of an object in the image. In the example of  FIG. 4 , the third neural network is a deep neural network and is comprised of the principal NN  41 , the large attribute identification NN  43 , and the small attribute identification NN  44 . 
     For example, the first neural network, the second neural network, and the third neural network can respectively have configurations similar to a Single Shot MultiBox Detector (SSD), Faster R-CNN, You Only Look Once (YOLO), etc. so that the accuracy of detection of the object is high and the speed of detection of the object becomes faster. 
     In the first neural network, the second neural network, and the third neural network, learning is used to improve the accuracy of detection. In learning, an image with a true label is used as the training data. A true label includes a position region, a large attribute, and a small attribute of an object in the image. 
       FIG. 5  shows one example of training data when the object being detected is a vehicle. In this example, the training data (training image)  500  includes as a true label the center coordinates (x, y), width “w”, and height “h” of the bounding box  502  showing the position region of the object  501 , the large attribute of the object  501  (in this example, a vehicle), and the small attribute of the object  501  (in this example, a passenger car). 
       FIG. 6  shows one example of training data when the object being detected is a sign. In this example, the training data (training image)  600  includes as a true label the center coordinates (x, y), width “w”, and height “h” of the bounding box  602  showing the position region of the object  601 , the large attribute of the object  601  (in this example, a speed limit sign), and the small attribute of the object  601  (in this example, an 80 km/h speed limit sign). 
     The learning operations of the first neural network, second neural network, and third neural network are respectively performed using the large number of training data such as shown in  FIG. 5  and  FIG. 6  by a learning technique such as error back propagation. In error back propagation, the weights of the layers of the neural networks are updated so that the outputs of the neural networks approach the true labels, that is, so that the values of the loss functions become smaller. In the learning operations of the first neural network, the second neural network, and the third neural network, the same training data can be used. For this reason, the learning operations of these neural networks can be efficiently performed. 
     As shown in  FIG. 3 , the outputs of the position region detecting part  31 , the large attribute identification part  32 , and the small attribute identification part  33  are respectively input to the object judging part  34 . The object judging part  34  judges the result of detection of the object at the position region detected by the position region detecting part  31  based on the result of detection of the large attribute by the large attribute identification part  32  and the result of detection of the small attribute by the small attribute identification part  33 . 
     Specifically, the object judging part  34  judges that the result of detection of the small attribute is the result of detection of the object if the confidence of the result of detection of the small attribute by the small attribute identification part  33  is equal to or more than a threshold value. On the other hand, if the confidence of the result of detection of the small attribute by the small attribute identification part  33  is less than the threshold value, the object judging part  34  judges the result of detection based on the result of detection of the large attribute by the large attribute identification part  32 . By doing this, even if the confidence of the result of detection of the small attribute becomes low in a situation where detection of the object is difficult, it is possible to keep the object from remaining undetected. 
     &lt;Processing for Vehicle Control&gt; 
     Below, referring to the flow chart of  FIG. 7 , processing for vehicle control including processing for object detection will be explained in detail.  FIG. 7  is a flow chart showing a control routine of processing for vehicle control in the present embodiment. The present control routine is repeatedly performed by the ECU  3  at predetermined execution intervals. The predetermined execution intervals are, for example, intervals at which the camera  2  sends an image to the ECU  3 . 
     At step S 101  to S 107 , the processing for object detection is performed. First, at step S 101 , the position region detecting part  31 , the large attribute identification part  32 , and the small attribute identification part  33  receive an image from the camera  2 . 
     Next, at step S 102 , the position region detecting part  31  uses the first neural network to detect the position region of the object in the image. Specifically, the position region detecting part  31  inputs the image data to the first neural network and makes the first neural network output the position region of the object. 
     Next, at step S 103 , the large attribute identification part  32  uses the second neural network to identify the large attribute of the object in the image. Specifically, the large attribute identification part  32  inputs the image data to the second neural network and makes the second neural network output the large attribute of the object. 
     The second neural network outputs a confidence (0 to 1) corresponding to each type of predetermined large attribute (vehicle, speed limit sign, warning sign, fallen object, animal, etc.) The confidence expresses the possibility of the large attribute of the object in the image being a large attribute of the type to which this confidence is assigned, and shows that the higher the value of the confidence, the more accurately the large attribute of the object in the image is identified. Further, the total of all types of confidences becomes “1”. Note that, if the position region detecting part  31  detects a plurality of position regions, the large attribute identification part  32  identifies the large attributes of objects for each of the plurality of position regions. 
     Next, at step S 104 , the small attribute identification part  33  uses the third neural network to identify the small attribute of the object in the image. Specifically, the small attribute identification part  33  inputs the image data to the third neural network and makes the third neural network output the small attribute of the object. 
     The third neural network outputs a confidence (0 to 1) corresponding to each type of predetermined small attribute (passenger car, bus, truck, etc., if the large attribute is a vehicle). The confidence expresses the possibility of the small attribute of the object in the image being a small attribute of the type to which this confidence is output, and shows that the higher the value of the confidence, the more accurately the small attribute of the object in the image is identified. Further, the total of all types of confidences becomes “1”. Note that, if the position region detecting part  31  detects a plurality of position regions, the small attribute identification part  33  identifies the small attributes of objects for each of the plurality of position regions. 
     Next, at step S 105 , the object judging part  34  judges whether the confidence of the result of detection of the small attribute by the small attribute identification part  33  is equal to or more than a threshold value. The threshold value is predetermined and, for example, is set to a value of 0.6 to 0.9. Note that, the “result of detection of the small attribute” is the type of small attribute at which the third neural network outputs the maximum confidence. 
     If at step S 105  it is judged that the confidence of the result of detection of the small attribute is equal to or more than the threshold value, the present control routine proceeds to step S 106 . At step S 106 , the object judging part  34  employs the result of detection of the small attribute as the result of detection of the object. That is, the object judging part  34  judges that the result of detection of the small attribute is the result of detection of the object. 
     On the other hand, if at step S 105  it is judged that the confidence of the result of detection of the small attribute is less than the threshold value, the present control routine proceeds to step S 107 . At step S 107 , the object judging part  34  judges the result of detection of the object based on the result of detection of the large attribute by the large attribute identification part  32 . Note that, the “result of detection of the large attribute” is the type of large attribute at which the second neural network outputs the maximum confidence. 
     For example, the object judging part  34  judges that the result of detection of the large attribute is the result of detection of the object. By doing this, an outline of the object can be grasped and an object can be kept from remaining undetected. 
     Further, the object judging part  34  may judge the result of detection of the object based on the result of detection of the large attribute and the distribution of confidences of the small attributes. By doing this as well, it is possible to keep an object from remaining undetected. 
     For example, if the result of detection of the large attribute is a speed limit sign, the object judging part  34  may calculate the average value of the small attributes identified by the small attribute identification part  33  based on the distribution of confidences of the small attributes and judge that the calculated average value of the small attributes is the result of detection of the object. For example, if the confidences of the speed limit signs of 30 km/h, 60 km/h, and 80 km/h are respectively 0.1, 0.5, and 0.4, the average value of the small attributes becomes the speed limit sign of 62.3 km/h (30×0.1+60×0.5+80×0.4=62.3). Note that, the one&#39;s place or the first decimal place of the average value of the small attributes may be rounded off. 
     Further, if the result of detection of the large attribute is a vehicle, the object judging part  34  may calculate the average value of the magnitudes of small attributes identified by the small attribute identification part  33  (for example, passenger car, truck, and bus) based on the distribution of confidences of the small attributes and judge that the vehicle having the magnitude of the calculated average value is the result of detection of the object. In this case, the magnitude of each small attribute is stored in advance in the memory  22  of the ECU  3 . 
     Further, if the result of detection of the large attribute is a speed limit sign, the object judging part  34  may judge the speed limit sign of the slowest speed in the candidates of the small attribute to be the result of detection of the object. For example, if the candidates of the small attribute are 30 km/h, 60 km/h, and 80 km/h speed limit signs, the object judging part  34  judges that the 30 km/h speed limit sign is the result of detection of the object. By doing this, it is possible to keep the object from remaining undetected while improving the safety of automated driving of the vehicle  10  by the vehicle control system  1 . 
     The candidates of the small attribute are, for example, preset types of small attributes in the third neural network of the small attribute identification part  33 . Further, the candidates of the small attribute may be determined from the current position of the vehicle  10  and map information. For example, if the road on which the vehicle  10  is driven is a predetermined highway, all of the speed limits able to be present on the highway are made candidates of the small attribute. The current position of the vehicle  10  is detected by a GPS receiver provided at the vehicle  10 , and the map information is stored in advance in the memory  22 . 
     Further, the candidates of the small attribute may be determined from the speeds of other vehicles around the vehicle  10 . For example, the speeds of all other vehicles whose speeds are detected may be made candidates for the small attribute. The speeds of other vehicles are detected using a speed sensor provided in the vehicle  10 , a camera  2  able to detect the relative speed between the vehicle  10  and other vehicles, a milliwave radar or laser radar, etc. 
     After step S 106  or step S 107 , at step S 108 , the drive planning part  35  creates a drive plan of the vehicle  10  based on the result of detection of the object. For example, if the result of detection of the object is an 80 km/h speed limit sign, the drive planning part  35  sets the target speed of the vehicle  10  so that the speed of the vehicle  10  does not exceed 80 km/h. Further, if the result of detection of the object is a vehicle, fallen object, or other obstacle, the drive planning part  35  sets the driving path, target speed, etc., of the vehicle  10  so that the vehicle  10  does not contact the obstacle. 
     Next, at step S 109 , the vehicle control part  36  controls the vehicle  10  so that the vehicle  10  drives according to the drive plan created by the drive planning part  35 . Specifically, the vehicle control part  36  operates the various actuators of the vehicle  10  (throttle valve, motor, steering system, brake actuator, etc.) to control the acceleration, steering, and braking of the vehicle  10 . After step S 109 , the present control routine is ended. 
     Above, preferred embodiments according to the present invention were explained, but the present invention is not limited to these embodiments and may be corrected and changed in various ways within the language of the claims. For example, the vehicle control part  36  may control only a part of the acceleration, braking, and steering of the vehicle  10 . 
     Further, as shown in  FIG. 8 , the small attribute identification NN  44  may be connected in series to the principal NN  41  and the large attribute identification NN  43  may be connected in parallel to the small attribute identification NN  44 . In this case, the third neural network of the small attribute identification part  33  is comprised of the principal NN  41  and small attribute identification NN  44 . 
     Further, a computer program realizing the functions of the object detection device  30  may be provided in a form recorded in a computer readable portable recording medium such as a semiconductor memory, magnetic recording medium, or optical recording medium. 
     Further, the object detection device  30  may be mounted in something other than a vehicle. For example, the object detection device  30  may be mounted in a server etc., and detect an object from an image generated by a monitoring camera installed at the inside or outside of a building or a camera mounted in a drone. Further, instead of the ECU  3 , the GPU (graphics processing unit) may have the position region detecting part  31 , the large attribute identification part  32 , the small attribute identification part  33 , and the object judging part  34 . 
     REFERENCE SIGNS LIST 
     
         
           1 . vehicle control system 
           3 . electronic control unit (ECU) 
           10 . vehicle 
           30 . object detection device 
           31 . position region detecting part 
           32 . large attribute identification part 
           33 . small attribute identification part 
           34 . object judging part 
           35 . drive planning part 
           36 . vehicle control part