Commit 836d599f authored by The-Indian-Chinna's avatar The-Indian-Chinna
Browse files

Minor: Simple Documentation Fixes.

parent 34e39103
...@@ -17,9 +17,9 @@ repository. ...@@ -17,9 +17,9 @@ repository.
## Description ## Description
YOLO v1 the original implementation was released in 2015 providing a YOLO v1 the original implementation was released in 2015 providing a
groundbreakingalgorithm that would quickly process images and locate objects in ground breaking algorithm that would quickly process images and locate objects
a single pass through the detector. The original implementation used a in a single pass through the detector. The original implementation used a
backbone derived from state of the art object classifiers of the time, like backbone derived from state of the art object classifiers of the time, like
[GoogLeNet](https://arxiv.org/abs/1409.4842) and [GoogLeNet](https://arxiv.org/abs/1409.4842) and
[VGG](https://arxiv.org/abs/1409.1556). More attention was given to the novel [VGG](https://arxiv.org/abs/1409.1556). More attention was given to the novel
...@@ -32,14 +32,14 @@ update and develop this model. ...@@ -32,14 +32,14 @@ update and develop this model.
YOLO v3 and v4 serve as the most up to date and capable versions of the YOLO YOLO v3 and v4 serve as the most up to date and capable versions of the YOLO
network group. This model uses a custom backbone called Darknet53 that uses network group. This model uses a custom backbone called Darknet53 that uses
knowledge gained from the ResNet paper to improve its predictions. The new knowledge gained from the ResNet paper to improve its predictions. The new
backbone also allows for objects to be detected at multiple scales. As for the backbone also allows for objects to be detected at multiple scales. As for the
new detection head, the model now predicts the bounding boxes using a set of new detection head, the model now predicts the bounding boxes using a set of
anchor box priors (Anchor Boxes) as suggestions. Multiscale predictions in anchor box priors (Anchor Boxes) as suggestions. Multiscale predictions in
combination with Anchor boxes allow for the network to make up to 1000 object combination with Anchor boxes allow for the network to make up to 1000 object
predictions on a single image. Finally, the new loss function forces the network predictions on a single image. Finally, the new loss function forces the network
to make better predictions by using Intersection Over Union (IOU) to inform the to make better predictions by using Intersection Over Union (IOU) to inform the
model's confidence rather than relying on the mean squared error for the entire model's confidence rather than relying on the mean squared error for the entire
output. output.
...@@ -80,5 +80,5 @@ connected to a new, more powerful backbone if a person chose to. ...@@ -80,5 +80,5 @@ connected to a new, more powerful backbone if a person chose to.
[![Python 3.8](https://img.shields.io/badge/Python-3.8-3776AB)](https://www.python.org/downloads/release/python-380/) [![Python 3.8](https://img.shields.io/badge/Python-3.8-3776AB)](https://www.python.org/downloads/release/python-380/)
DISCLAIMER: this YOLO implementation is still under development. No support DISCLAIMER: this YOLO implementation is still under development. No support
will be provided during the development phase. will be provided during the development phase.
...@@ -8,13 +8,13 @@ class TiledNMS(): ...@@ -8,13 +8,13 @@ class TiledNMS():
IOU_TYPES = {'diou': 0, 'giou': 1, 'ciou': 2, 'iou': 3} IOU_TYPES = {'diou': 0, 'giou': 1, 'ciou': 2, 'iou': 3}
def __init__(self, iou_type='diou', beta=0.6): def __init__(self, iou_type='diou', beta=0.6):
'''Initialization for all non max suppression operations mainly used to """Initialization for all non max suppression operations mainly used to
select hyperparameters for the iou type and scaling. select hyperparameters for the iou type and scaling.
Args: Args:
iou_type: `str` for the version of IOU to use {diou, giou, ciou, iou}. iou_type: `str` for the version of IOU to use {diou, giou, ciou, iou}.
beta: `float` for the amount to scale regularization on distance iou. beta: `float` for the amount to scale regularization on distance iou.
''' """
self._iou_type = TiledNMS.IOU_TYPES[iou_type] self._iou_type = TiledNMS.IOU_TYPES[iou_type]
self._beta = beta self._beta = beta
...@@ -326,8 +326,10 @@ def sorted_non_max_suppression_padded(scores, boxes, max_output_size, ...@@ -326,8 +326,10 @@ def sorted_non_max_suppression_padded(scores, boxes, max_output_size,
def sort_drop(objectness, box, classificationsi, k): def sort_drop(objectness, box, classificationsi, k):
"""This function sorts and drops boxes such that there are only k boxes """This function sorts and then drops boxes.
sorted by number the objectness or confidence
Boxes are sorted and dropped such that there are only k boxes sorted by the
objectness or confidence.
Args: Args:
objectness: a `Tensor` of shape [batch size, N] that needs to be objectness: a `Tensor` of shape [batch size, N] that needs to be
...@@ -447,7 +449,7 @@ def nms(boxes, ...@@ -447,7 +449,7 @@ def nms(boxes,
boxes, classes, confidence = segment_nms(boxes, classes, confidence, boxes, classes, confidence = segment_nms(boxes, classes, confidence,
prenms_top_k, nms_thresh) prenms_top_k, nms_thresh)
# sort the classes of the unspressed boxes # sort the classes of the unsuppressed boxes
class_confidence, class_ind = tf.math.top_k( class_confidence, class_ind = tf.math.top_k(
classes, k=tf.shape(classes)[-1], sorted=True) classes, k=tf.shape(classes)[-1], sorted=True)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment