YOLO¶
Detection Links¶
YOLOv2¶
-
class
chainercv.links.model.yolo.YOLOv2(n_fg_class=None, pretrained_model=None)[source]¶ YOLOv2.
This is a model of YOLOv2 1. This model uses
Darknet19Extractoras its feature extractor.- 1
Joseph Redmon, Ali Farhadi. YOLO9000: Better, Faster, Stronger. CVPR 2017.
- Parameters
n_fg_class (int) – The number of classes excluding the background.
pretrained_model (string) –
The weight file to be loaded. This can take
'voc0712', filepath orNone. The default value isNone.'voc0712': Load weights trained on trainval split of PASCAL VOC 2007 and 2012. The weight file is downloaded and cached automatically.n_fg_classmust be20orNone. These weights were converted from the darknet model provided by the original implementation. The conversion code is chainercv/examples/yolo/darknet2npz.py.filepath: A path of npz file. In this case,
n_fg_classmust be specified properly.None: Do not load weights.
YOLOv3¶
-
class
chainercv.links.model.yolo.YOLOv3(n_fg_class=None, pretrained_model=None)[source]¶ YOLOv3.
This is a model of YOLOv3 2. This model uses
Darknet53Extractoras its feature extractor.- 2
Joseph Redmon, Ali Farhadi. YOLOv3: An Incremental Improvement. arXiv 2018.
- Parameters
n_fg_class (int) – The number of classes excluding the background.
pretrained_model (string) –
The weight file to be loaded. This can take
'voc0712', filepath orNone. The default value isNone.'voc0712': Load weights trained on trainval split of PASCAL VOC 2007 and 2012. The weight file is downloaded and cached automatically.n_fg_classmust be20orNone. These weights were converted from the darknet model. The conversion code is chainercv/examples/yolo/darknet2npz.py.filepath: A path of npz file. In this case,
n_fg_classmust be specified properly.None: Do not load weights.
-
forward(x)[source]¶ Compute localization, objectness, and classification from a batch of images.
This method computes three variables,
locs,objs, andconfs.self._decode()converts these variables to bounding box coordinates and confidence scores. These variables are also used in training YOLOv3.- Parameters
x (chainer.Variable) – A variable holding a batch of images.
- Returns
This method returns three variables,
locs,objs, andconfs.locs: A variable of float arrays of shape \((B, K, 4)\), where \(B\) is the number of samples in the batch and \(K\) is the number of default bounding boxes.
objs: A variable of float arrays of shape \((B, K)\).
confs: A variable of float arrays of shape \((B, K, n\_fg\_class)\).
- Return type
tuple of chainer.Variable
-
to_cpu()[source]¶ Copies parameter variables and persistent values to CPU.
This method does not handle non-registered attributes. If some of such attributes must be copied to CPU, the link implementation should override
device_resident_accept()to do so.Returns: self
-
to_gpu(device=None)[source]¶ Copies parameter variables and persistent values to GPU.
This method does not handle non-registered attributes. If some of such attributes must be copied to GPU, the link implementation must override
device_resident_accept()to do so.- Parameters
device – Target device specifier. If omitted, the current device is used.
Returns: self
Utility¶
ResidualBlock¶
Darknet19Extractor¶
Darknet53Extractor¶
-
class
chainercv.links.model.yolo.Darknet53Extractor[source]¶ A Darknet53 based feature extractor for YOLOv3.
This is a feature extractor for
YOLOv3-
forward(x)[source]¶ Compute feature maps from a batch of images.
This method extracts feature maps from 3 layers.
- Parameters
x (ndarray) – An array holding a batch of images. The images should be resized to \(416\times 416\).
- Returns
Each variable contains a feature map.
- Return type
list of Variable
-
YOLOBase¶
-
class
chainercv.links.model.yolo.YOLOBase(**links)[source]¶ Base class for YOLOv2 and YOLOv3.
A subclass of this class should have
extractor,forward(), and_decode().-
predict(imgs)[source]¶ Detect objects from images.
This method predicts objects for each image.
- Parameters
imgs (iterable of numpy.ndarray) – Arrays holding images. All images are in CHW and RGB format and the range of their value is \([0, 255]\).
- Returns
This method returns a tuple of three lists,
(bboxes, labels, scores).bboxes: A list of float arrays of shape \((R, 4)\), where \(R\) is the number of bounding boxes in a image. Each bounding box is organized by \((y_{min}, x_{min}, y_{max}, x_{max})\) in the second axis.
labels : A list of integer arrays of shape \((R,)\). Each value indicates the class of the bounding box. Values are in range \([0, L - 1]\), where \(L\) is the number of the foreground classes.
scores : A list of float arrays of shape \((R,)\). Each value indicates how confident the prediction is.
- Return type
tuple of lists
-
use_preset(preset)[source]¶ Use the given preset during prediction.
This method changes values of
nms_threshandscore_thresh. These values are a threshold value used for non maximum suppression and a threshold value to discard low confidence proposals inpredict(), respectively.If the attributes need to be changed to something other than the values provided in the presets, please modify them by directly accessing the public attributes.
- Parameters
preset ({'visualize', 'evaluate'}) – A string to determine the preset to use.
-
YOLOv2Base¶
-
class
chainercv.links.model.yolo.YOLOv2Base(n_fg_class=None, pretrained_model=None)[source]¶ Base class for YOLOv2 and YOLOv2Tiny.
A subclass of this class should have
_extractor,_models, and_anchors.-
forward(x)[source]¶ Compute localization, objectness, and classification from a batch of images.
This method computes three variables,
locs,objs, andconfs.self._decode()converts these variables to bounding box coordinates and confidence scores. These variables are also used in training YOLOv2.- Parameters
x (chainer.Variable) – A variable holding a batch of images.
- Returns
This method returns three variables,
locs,objs, andconfs.locs: A variable of float arrays of shape \((B, K, 4)\), where \(B\) is the number of samples in the batch and \(K\) is the number of default bounding boxes.
objs: A variable of float arrays of shape \((B, K)\).
confs: A variable of float arrays of shape \((B, K, n\_fg\_class)\).
- Return type
tuple of chainer.Variable
-
to_cpu()[source]¶ Copies parameter variables and persistent values to CPU.
This method does not handle non-registered attributes. If some of such attributes must be copied to CPU, the link implementation should override
device_resident_accept()to do so.Returns: self
-
to_gpu(device=None)[source]¶ Copies parameter variables and persistent values to GPU.
This method does not handle non-registered attributes. If some of such attributes must be copied to GPU, the link implementation must override
device_resident_accept()to do so.- Parameters
device – Target device specifier. If omitted, the current device is used.
Returns: self
-