jinyu121 / DW2TF

Darknet Weights to TensorFlow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to read the output of the graph?

noob-ja opened this issue · comments

commented

hi, so how exactly we read the output of the network?

for example, using yolov3-tiny, i feed in an image
the output of it is with shape (1,26,26,255)
Screenshot from 2019-04-05 15-08-12

whats the next step to get the predicted class and bounding box?
sry im new with this

commented

im able to extract the output now, however, the result is not what i was expected

person_detected
dog_detected

it keeps detecting a lot of aeroplane and apples in every single photo i feed in

in the picture below, i have set the object threshold to be 0.7, yet it detected aeroplane and apples to be above even that
zidane_detected

@noob-ja - the purpose of DW2TF is to translate the convolutional layers in a network defined in darknet to TensorFlow. It is up to you to add the necessary post-processing (e.g. non-max suppression etc) to convert the features to the respective bounding box and class predictions. Sorry I couldn't be of help here.

@noob-ja
After getting the output of the net, use non-max suppression (NMS) to select the "best" boxes.
The pipeline in original YOLO code is "get the output of the net -> set a threshold to filter the boxes -> NMS".
For the last image, may be the net is not well-trained? Or, you should adjust the clustering parameters before training.

commented

i see, thx for the help :) really appreciate it

@noob-ja have you found the way to perform nms on the output?

@noob-ja sorry, I am quite new to TF, how did you get the bounding box coordinates from those output layers? I am aware of how to do nms etc but can't understand how you can convert the output layers into bboxes,classes and scores (apologies if this is a basic question)

@kapil0kumar Hi, were you able to extract the bounding boxes from the output? I'm having some trouble with that.