YOLO V1 - YOU ONLY LOOK ONCE || YOLO OBJECT DETECTION SERIES

Ғылым және технология

Hi Guys, I am starting a new series about YOLO object detection model family. This is not an overview series, we will dig deeper into every detail of these yolo object detectors. Everyone uses YOLO models, they are the state of the art models for object detection. Hope you learn something from these videos.
YOLO Object Detection Series:
• YOLO OBJECT DETECTION ...
PDF links:
github.com/MLForNerds/YOLO-OB...
Timestamps:
00:00 Introduction
00:32 Object Detection background
02:10 YOLO - Intro & Steps
03:20 Responsibility of Grid Cells
04:20 Target calculations - Label Encoding
10:33 Understanding the Prediction Vector
13:35 Parsing the Model outputs
16:56 Model Architecture
19:27 Understand the Training Process
22:05 Breaking down the Loss Function
29:45 Fast-YOLO
30:35 Performance of YOLO
31:50 Generalization Capability
32:50 Limitations of YOLO
35:10 Conclusion
#yolo #yolov4 #yolov5 #yolov3 #yolov2 #yolov7 #yolov6

Пікірлер: 83

  • @MLForNerds
    @MLForNerds Жыл бұрын

    Watch my latest in-detailed video on YOLO-V2 object detector. kzread.info/dash/bejne/go2k0JOAg9q9nsY.html

  • @madhavpr
    @madhavpr7 ай бұрын

    Hands down the BEST explanation of the Yolo family found online. Great job brother!! Keep up the great work.

  • @shubha07m
    @shubha07m10 ай бұрын

    I am so surprised that, you are doing such a phenomenal job, (trust me: almost no KZread channel does such a deep dive into theoretical understanding video!), but you do not have so many subscribers! I will definitely spread about this excellent channel.

  • @MLForNerds

    @MLForNerds

    10 ай бұрын

    Glad you enjoy it! Thank you!

  • @TimidMeercat
    @TimidMeercat Жыл бұрын

    After viewing multiple videos on YOLO workings, I found your video very detailed and helpful. Thanks!

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Thank you Nitin, glad it helped you.

  • @chandank5266
    @chandank52665 ай бұрын

    The best video on yolo v1 so far.

  • @user-io5lj2fi2n
    @user-io5lj2fi2n6 ай бұрын

    You are a god man ! Thanks for such clear and deep explanations of Yolo.

  • @aryangaur276
    @aryangaur2765 ай бұрын

    You are really awesome. My all concepts cleared.

  • @ahsentahir4473
    @ahsentahir44732 ай бұрын

    Great! I have not seen such indepth explanation anywhere. God bless you!

  • @MLForNerds

    @MLForNerds

    2 ай бұрын

    Glad it was helpful!

  • @ParbatSingh-sl3ko
    @ParbatSingh-sl3ko3 ай бұрын

    Loved the simplicity of explaining, and the presentation was also very minimal and apt. You really deserve more subs and views 🙌❤

  • @user-tx7tg1dl8p
    @user-tx7tg1dl8p4 ай бұрын

    Bro ! I stuck to understand Yolo until I found your video. This deserves more than 15k views. now I know at least how Yolo working

  • @AryanKumarBaghel-cp1jv
    @AryanKumarBaghel-cp1jv26 күн бұрын

    Fantastic explaination. Super clear

  • @salilbhatnagar3260
    @salilbhatnagar3260 Жыл бұрын

    A great lecture about YoLO! Thanks!

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Thank you Salil!

  • @zaidazhari9386
    @zaidazhari9386 Жыл бұрын

    Thank you very much sir, i've been watching few videos regarding YOLO v1, but had difficulty grasping the loss function. But your video has helped a lot in understanding it 👍👍👍

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    You are most welcome

  • @azama74
    @azama747 ай бұрын

    Thanks, your videos is the best from another related videos of yolo expalanation

  • @kvnptl4400
    @kvnptl44002 ай бұрын

    🌟A very in-depth analysis of the paper. I would say this is one of the best easy to understand explanations of YOLOv1. Keep up the good work

  • @MLForNerds

    @MLForNerds

    2 ай бұрын

    Glad it was helpful!

  • @Endless_emotions1
    @Endless_emotions15 ай бұрын

    Amazing video overall 👏

  • @AndreiChegurovRobotics
    @AndreiChegurovRobotics2 ай бұрын

    great material!

  • @poojaverma9168
    @poojaverma9168 Жыл бұрын

    Great content, very informative wating for the next versions...🙂

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Thanks! 🙂

  • @nayabwaris-pl8lj
    @nayabwaris-pl8ljАй бұрын

    please make video soon on remaining yolo variants

  • @Jayanth_mohan
    @Jayanth_mohan Жыл бұрын

    It was really awesomoe Learnt a lot !! Thanks

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Glad you liked it! Thank you 👍

  • @pavantripathi1890
    @pavantripathi189011 ай бұрын

    Great explanation of loss function.

  • @MLForNerds

    @MLForNerds

    11 ай бұрын

    Glad you liked it

  • @mdminhazurrahman8673
    @mdminhazurrahman8673 Жыл бұрын

    your videos are gems bro!! I have not got such a clear explanation on yolo anywhere. please make a video on yolov5 as well. thank you!!!

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Thank you Rahman, Sure will make.

  • @aishwaryamahajan6773
    @aishwaryamahajan6773 Жыл бұрын

    Awesome Content, please can you also create videos on RCNN, SPPNet, Fast RCNN, SSD and FPN, It would vey grateful, if possible. Very well explained. Waiting for more on videos🙂

  • @giriprasad5221
    @giriprasad5221 Жыл бұрын

    Great work in the image, class probability map says that cell occupies max area than we are giving that class and building targets we are just giving zeros to the cells which contains of center of object

  • @jeffreydanowitz3083
    @jeffreydanowitz30836 ай бұрын

    This is a very clear and concise video. It really helped me to put everything together. Question: each supergrid box has associated with it 2 bounding boxes for the object. So the algorithms allows for dual results. If surrounding supergrid boxes decide to give some confidence - say for a larger object - is there some non-maximal suppression or some mechanism that makes sure that each object is reported, in the end, only 1 time? Also just for clarity - in the training, the 2 5 valued vectors for the box are identical, I assume. Is this correct? We are just giving the algorithm some breathing space by potentially finding 2 bounding boxes per supergrid boxes in my understanding. Is this also correct?

  • @user-oq7ju6vp7j
    @user-oq7ju6vp7jАй бұрын

    Hi! thank you for your wonderfull explanation! Unfortunately in the original paper there are many unclear moments. Your video helped me a lot. But i still have some questions. 1) "Grid cell is "responsible" if the center of bbox falls into it." In training data we have annotated bboxes. But in test data there are no annotated bboxes and therefore centers. So which grid cell will be "responsible" in that case? 2) if c 3) if only 2 grid cells (in your case) predict the coordinates of bboxes, what is the use of the other 47 grid cells (are the useless at all or not?) 4) How one small grid cell (64x64) predicts a box for an object that is a way bigger than this cell (450x450)? 5) Why you are telling that there are only 2 object cells, if the woman overlap at least 6 cells? Maybe you mean only 2 "responsible" cells?

  • @user-uj9sw3ze2d
    @user-uj9sw3ze2d Жыл бұрын

    thank you very much

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    You are welcome

  • @sagaradoshi
    @sagaradoshi2 ай бұрын

    Hello , Great explanation on the content. Not seen such detailed content on YOLO. I have some question looking forward for your support. 1. Each cell can have two bounding box, but how is that the size of bounding box for each grid cell be different. For example in grid cell1 one bounding box could be rectangle and other as square. Or both are rectangles with different dimensions. So how is this possible? 2. Each bounding box provides x,y,w,h relative to grid cell starting co-ordinate and original/ground truth width and height bounding box. Correct? What I didn't further understand is how each cell calculates it C score value per bounding box and how it calculated probabilities value? 3. Then later you mentioned that out of two bounding box any one is considered for each cell based on confidence score of that bounding box * class probability right? 4. When you are calculating the final loss. a. For cell with object , we took one of two bounding box and its x,y,w,h and c value and compared with ground truth value . Right? b. For cell with no object, we took C values from both bounding box and subtracted with 0 since ground truth confidence score is 0 for that cell. Right? 5. Do we use IOU to calculate C value per bounding box per grid cell? If yes, how is it possible to calculate C value per grid as IOU depends on original size of bounding box which may spread across cells. Isn't? 5. To get this ground truth value for each cell (x,y,w,h,c, p1....p20) do we do manual annotation for all the images in dataset if its custom dataset? Looking forward for your support

  • @vishnum7985
    @vishnum7985 Жыл бұрын

    Great content. Can you create a videos on latest YOLO models (7). Waiting for more. Good Luck!

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Thank you Vishnu, I will make all the yolo versions one by one.

  • @mdabdullahalhasib1730
    @mdabdullahalhasib17304 ай бұрын

    please release all the version of YOLO. Thanks

  • @abbasjafarpour4506
    @abbasjafarpour45067 ай бұрын

    Very informative, thank you.

  • @thuytran2880
    @thuytran28809 ай бұрын

    Thank youu, you helped me so much. But can I ask you a question? I tried to find the knowledge about yolov1: the paper, websites, ... but I didnt find any sources having detailed knowledge as your video. Please, can you share to me how do you search and have this deep understanding. I will be very very very very very happy if you see my comment and reply me.

  • @MLForNerds

    @MLForNerds

    9 ай бұрын

    Yes of course! Read the paper and look inti the code implementation to understand in detail. Once you look at the implementation, most of your doubts get clarified. Hope it helps!

  • @tttmgwl

    @tttmgwl

    9 ай бұрын

    Thank you very much❤❤, i will try reading the code

  • @matecaste
    @matecaste6 ай бұрын

    I have two question. If YOLO predicts two boxes, how do you create the label? Do you repeat (x,y,w,h,c) two times?? And finally, what would you do in the process of create the label if the center of two objects are in the same cell?? Thank you, NICE VIDEO!!

  • @YarkoFFXI
    @YarkoFFXI Жыл бұрын

    Great content man, I'm really grateful for your videos. I have 2 questions regarding YOLO v1 that I hope you can help me with. 1) how did the authors pretrain the model on 224x224 images, and then "resize" their network to accommodate 448x448 images for further training? Were you able to find details about this step? 2) the authors state that yolo considers the whole image as opposed to more classical sliding window techniques such as overfeat. Is this thanks to the fully connected layers at the end? Because up until the 7x7x1024 conv layer, each activation has a receptive field that is smaller than the full image. So the only step that is a function of the whole image are the last FC layers.. And that's one weird architecture, my brain has a hard time keeping track what is going on, considering the flattening, the dense layers, and then reshaping again. Ugh.

  • @thuytran2880

    @thuytran2880

    9 ай бұрын

    hello, i read your cmt and such a very amazing question. It almost 5 months ago, but I wanna ask have you found out the answer? If you have, can you share the answer with me

  • @YarkoFFXI

    @YarkoFFXI

    9 ай бұрын

    @@thuytran2880 no unfortunately I haven't made any progress in finding these answers :/

  • @praveenkandula8011

    @praveenkandula8011

    4 ай бұрын

    "the authors state that yolo considers the whole image as opposed to more classical sliding window techniques such as overfeat. Is this thanks to the fully connected layers at the end? ". The network structure doesn't play anyrole but the way they train does. In sliding window, slices of image pass thorugh a classifer multple times. Whereas in yolo, image is passed single time and the bounding box predictions are caluclated.

  • @fotoluminescencjastudiesai1239
    @fotoluminescencjastudiesai123915 күн бұрын

    great video, now I finally understand it :) could you just please clarify why in 22:32 only 2 grid cells contain objects? the woman appears in a few other cells as well, so why only two?

  • @MLForNerds

    @MLForNerds

    15 күн бұрын

    Wherever the object centroid falls, only those cells are considered

  • @fotoluminescencjastudiesai1239

    @fotoluminescencjastudiesai1239

    15 күн бұрын

    @@MLForNerds thank you!! just to make sure that I understand correctly - in this example, one cell has a centroid for the horse and one has a centroid for the person? also, are you planning on making a video on Yolo v7? :)

  • @MLForNerds

    @MLForNerds

    15 күн бұрын

    Yes, you are right regarding object centers. I will continue this series and finish all yolo versions

  • @mallaswetha5629
    @mallaswetha5629 Жыл бұрын

    sir can you explain yolov5 or suggest me the best video for yolov5??????

  • @lorenzobennati3269
    @lorenzobennati32694 ай бұрын

    Thank you for the video.. very well detailed. I have a question: how Yolo create 2 bounding box for each celll? By randomly creating the coordinates? This is still not clear for me.

  • @MLForNerds

    @MLForNerds

    3 ай бұрын

    Yes, correct. Box coordinates are learned as regression parameters.

  • @TheSougata1
    @TheSougata110 ай бұрын

    Sir, can you please explain YOLOv5 architecture.

  • @prathameshdinkar2966
    @prathameshdinkar296611 ай бұрын

    Very nicely explained! I have a doubt, what if there are more than one gt box centers in one cell?

  • @neeru1196

    @neeru1196

    10 ай бұрын

    That's one of the limitations I guess. Each cell can only output one class.

  • @prathameshdinkar2966

    @prathameshdinkar2966

    10 ай бұрын

    @@neeru1196 Ok thanks

  • @giuliorusso1046
    @giuliorusso10463 ай бұрын

    But in the paper they say the objecness is Pr(Object) x IoU. Can anyone explain that? Why the video say 1?

  • @luansouzasilva31
    @luansouzasilva312 ай бұрын

    If only one grid cell is labeled as class X, how does it get the bbox for the entire object?

  • @MLForNerds

    @MLForNerds

    2 ай бұрын

    Grid call is only for box centre, the box dimensions will be learned as regression parameters

  • @spencergameing3575
    @spencergameing357510 ай бұрын

    there are two C scores if the grid cell contains object. then for( Ci-Ci^)^2 whihch one should we consider

  • @MLForNerds

    @MLForNerds

    10 ай бұрын

    Consider the highest confidence score and it's corresponding object.

  • @dimitrisspiridonidis3284
    @dimitrisspiridonidis3284 Жыл бұрын

    I often see in other videos people saying that width and height is relative to the grid contrary to the paper which clearly states relative to the image. Even Andrew ng him self in his courses says relative to the grid meaning that width and height can be greater than 1 , I wonder why is every one get's it wrong maybe they change it relative to the grid in the next papers.

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Yes, but I checked few implementations, they are implementing as in the paper. Only x&y is encoded with respect to grid cell. Width and height are just normalised by image dimensions.

  • @yasht1328
    @yasht1328 Жыл бұрын

    Bro please upload YOLOv5 model as soon as possible 🙏

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Sure, thanks.

  • @akarshjain7141
    @akarshjain714110 ай бұрын

    Why IoU is not taken into account while selecting the bbox out of 2 predicted bounding box?

  • @MLForNerds

    @MLForNerds

    10 ай бұрын

    During prediction, there is no groundtruth, how can we calculate IOU?

  • @ZakiMubarak-wk1vl

    @ZakiMubarak-wk1vl

    6 ай бұрын

    @@MLForNerds then, when do we use IoU?

  • @asthapatidar5507
    @asthapatidar55075 ай бұрын

    how the center of object is marked?..........for calculating the target?

  • @MLForNerds

    @MLForNerds

    3 ай бұрын

    That happens during training. You can calculate the center from bounding box obtained from GT

  • @srivaasjaideep522
    @srivaasjaideep5223 ай бұрын

    how is the center of the object detected?

  • @MLForNerds

    @MLForNerds

    3 ай бұрын

    From the groundtruth box, we can calculate the center of the object. It's used to identify which grid is responsible for detecting that object.

  • @techie_gangwar
    @techie_gangwar Жыл бұрын

    Can you share the ppt? It's really helpful

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    github.com/MLForNerds/YOLO-OBJECT-DETECTION-TUTORIALS

  • @Raj-xz4vz
    @Raj-xz4vz Жыл бұрын

    How we got ground truth value here i.e 200,311,142,250

  • @MLForNerds

    @MLForNerds

    Жыл бұрын

    Groundtruth values are provided by dataset.

  • @jeffg4686
    @jeffg46863 ай бұрын

    Grounding Dino, what do you guys need a refresher course? It's all YOLO World these days... kzread.info/dash/bejne/hZ5-u7CTmdW3c7g.html

Келесі