330 - Fine tuning Detectron2 for instance segmentation using custom data

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ย. 2024
  • This video tutorial explains the process of fine tuning Detectron2 for instance segmentation using custom data. It walks you through the entire process, from annotating your data, to training a model, to segmenting images, to measuring object morphological parameters, to exporting individual masks (results) as images for further processing.
    Code generated in the video can be downloaded from here: github.com/bns...
    All other code:
    github.com/bns...
    Detectron2 repo: github.com/fac...
    Annotations were done using Makesense: www.makesense.ai/
    Dataset from: leapmanlab.git...
    Direct link to the dataset: www.dropbox.co...
    Data courtesy of:
    Guay, M.D., Emam, Z.A.S., Anderson, A.B. et al. ​
    Dense cellular segmentation for EM using 2D-3D neural network ensembles. Sci Rep 11, 2561 (2021). ​
    Data annotated for 4 classes:
    1: Cell
    2: Mitochondria​
    3: Alpha granule​
    4: Canalicular vessel​

ความคิดเห็น • 90

  • @sozno4222
    @sozno4222 ปีที่แล้ว +4

    I honestly believe you have the best tutorial videos on youtube for vision ml. It's very thorough providing all the necessary information for somebody to work through it from scratch. Keep it up. Love these

  • @ajay0909
    @ajay0909 ปีที่แล้ว +3

    The hardest part is annotating the images, I have done a lot of annotations before. You have done a good job by explaining annotations in detail which is very rare. Can you please share the type of applications that are in demand so that we can try out new things with the knowledge you give us here. Thanks for all the extra effort you put in to explain each line of code.

  • @temiwale88
    @temiwale88 ปีที่แล้ว +1

    I love you Doc. I needed this. Thank you, DigitalSreeni!

  • @SkalskiP
    @SkalskiP 11 หลายเดือนก่อน +15

    Hi 👋 I'm the creator of MakeSense! Thanks a lot for using the tool in your tutorial!

    • @DigitalSreeni
      @DigitalSreeni  10 หลายเดือนก่อน +1

      Nice to meet you. Thanks for creating a very useful tool :)

    • @utkarshdeshmukh3268
      @utkarshdeshmukh3268 7 หลายเดือนก่อน

      @SkalskiP. You have made a fantastic tool. Great job! I found a minor bug in it. I believe the coco-json structure has evolved. Under "annotations" it is expected to have a category_id, which your tool does not populate.

  • @zubairkhalid3209
    @zubairkhalid3209 8 หลายเดือนก่อน

    Appreciate your tutorials a lot! Keep the good work going.

  • @nguyenthehoang9148
    @nguyenthehoang9148 ปีที่แล้ว

    A point you made at the very end of this video is very important. U-NET is not capable of segmenting overlapping objects. Would you think of making a video comparing between different models for segmentation or other computer vision tasks? Thank you!

  • @PoojaMaurya-i6n
    @PoojaMaurya-i6n 11 หลายเดือนก่อน

    Thank you very much for this helpful tutorial. God bless!

  • @patis.IA-AI
    @patis.IA-AI 7 หลายเดือนก่อน

    Merci , super tuto , bien clair , bien explique en un mot "amazing"

  • @buildingconstructioninnova6620
    @buildingconstructioninnova6620 10 หลายเดือนก่อน

    Great job. We will reference you. Keep impacting

    • @DigitalSreeni
      @DigitalSreeni  10 หลายเดือนก่อน +1

      Awesome, thank you!

  • @dimitheodoro
    @dimitheodoro ปีที่แล้ว +2

    Thanks for sharing knowledge!
    Again i cannot find the code link!!!!

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +1

      You will find the code link now. There is a 4 to 5 hr gap between the video publishing time and me waking up and pushing the code to github. You caught me while I was still asleep :)

  • @computing_T
    @computing_T 9 หลายเดือนก่อน

    23:17
    I love coffee as well hahaha . Thanks sir for the content

  • @raihanvalentino2175
    @raihanvalentino2175 ปีที่แล้ว +2

    Very nice content. But I think your link in description is not working well. Please fix it. Thank you!

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว

      If you are referring to the dataset link then try this link: www.dropbox.com/s/68yclbraqq1diza/platelet_data_1219.zip

  • @chewchengkai2769
    @chewchengkai2769 6 หลายเดือนก่อน

    Hi Sir, I want to ask about the evaluation part, how to find performance metrics other than mAP, such as confusion matrix, and IOU? Find so many code online no show example with using detectron2 to find these.

    • @praveenavala2297
      @praveenavala2297 3 หลายเดือนก่อน

      same doubt bro, did u get it?

  • @junk90s92
    @junk90s92 6 หลายเดือนก่อน

    Hey DigitalSreeni. Love the video!
    Where can I access the .json files and .png images? I see tiff files in the dropbox but not the others
    If unaccessible, do I need to create them myself?

  • @rariwa
    @rariwa 9 หลายเดือนก่อน

    Thanks for the tutorial, do you know a reference to train instance segmentation using label mask only (same image size with original image) ? I have one class but I would like to differentiate different object.

  • @pointrally1713
    @pointrally1713 8 หลายเดือนก่อน

    Why do no results appear in the image after training with images with only 1 class? Of course I changed it to NUM.CLASSES = 1.

  • @mahilkr
    @mahilkr 3 หลายเดือนก่อน

    Awesome explanation

  • @yahaisha
    @yahaisha ปีที่แล้ว +1

    sir..can you show how to display result performance using tensorboard for this example .for total loss

    • @jackyu6466
      @jackyu6466 9 หลายเดือนก่อน +1

      if you start the training process ( trainer.train() ) inside the same block as default trainer, tensorboard should work

  • @alexis.martin-comte
    @alexis.martin-comte ปีที่แล้ว

    Hey, i watched your tutorial and it was very clear but i would love to use custom data format (like tiffs with more than 3 bands) and i find it very difficult to do

  • @inquisitiverakib5844
    @inquisitiverakib5844 11 หลายเดือนก่อน

    It will be very helpful if you look into MMsegmentation framework. It's quite similar to this. But there is very few videos about this...😊

  • @alexiscarlier2773
    @alexiscarlier2773 ปีที่แล้ว

    Thanks again. Do you know if it is possible to train mask r cnn using only bounding boxes that still performs the segmentation after training?

  • @prayag_pawar
    @prayag_pawar 8 หลายเดือนก่อน

    Hey , as i work on aerial imagery, i thinking of using detectron2 resnet101 model and create my own pretrained model as they used coco datatset for creating pretrained in .pkl format than fine tune the model according my needs how can i do that thank you helping 👍

  • @sushmanthreddymereddy3074
    @sushmanthreddymereddy3074 ปีที่แล้ว

    @DigitalSreeni I have been thinking to fine-tune dataset on cell-lineage analysis for C .elegans??

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว

      Do you have the training data? Often times it comes down to data and knowledge to annotate.

  • @alocatnaf
    @alocatnaf ปีที่แล้ว

    thanks for your great tutorials!
    are there any benefits using detectron2 with maskrcnn instead of, e.g, matterports maskrcnn?

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +2

      Detectron2 makes it easy to access Mask R-CNN compared to matterport or other forms. Underneath, they are all using the same approach. So, no benefit when it comes to results but super beneficial when making the technology accessible.

    • @alocatnaf
      @alocatnaf ปีที่แล้ว +1

      @@DigitalSreeni ok i see.
      very helpful, thanks alot!

  • @lukasb7013
    @lukasb7013 ปีที่แล้ว

    Detectron2 is a Two-Stage-Detector right? Is it therefore better at detecting and segmenting filigree defects? And does the library mentioned offer the possibility for hyperparameter tuning as i sparsely see any content about it with regards to the topic of instance segmentation

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว

      I do not know what Filigree is so I cannot share my opinion based on any experience. But if you are trying to detect specific objects in an image then this approach will work for you. Regarding hyperparameter tuning, you can do it via adjusting the parameters in the config file.

    • @lukasb7013
      @lukasb7013 ปีที่แล้ว

      @@DigitalSreeni Thanks a lot. Filigree = very small details :)

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว

      Thanks for educating me :) Learning something new every day :)

    • @lukasb7013
      @lukasb7013 ปีที่แล้ว

      @@DigitalSreeni :D Back to my question, 2 stage detectors should be better for such details right?

  • @NandaKishoreBellamMuralidhar
    @NandaKishoreBellamMuralidhar 8 หลายเดือนก่อน

    Is it safe to use MakeSense?

    • @DigitalSreeni
      @DigitalSreeni  8 หลายเดือนก่อน

      Not sure what you mean by safe. Please check their data policy. In general, if you are using any product or service for 'free', there is a good chance that your data will be used to improve their future offering. This can range from learning about how their product gets used to using customers' data to train their own DL models. Nothing is free in life!!!

  • @saichandanakoganti3410
    @saichandanakoganti3410 10 หลายเดือนก่อน

    Sir, I need to try instance segmentation with Mask RCNN using my custom dataset could you help me with this.

    • @DigitalSreeni
      @DigitalSreeni  10 หลายเดือนก่อน

      That is exactly what this video is all about.

    • @saichandanakoganti3410
      @saichandanakoganti3410 8 หลายเดือนก่อน

      Sir, i have a separate annotation file for every single image in the form of .csv can i convert all those files into single .json file?

  • @vtjustin333
    @vtjustin333 7 หลายเดือนก่อน

    Dear Sreeni, I love all of your videos. I have a specific use case. Is there any chance to connect with you.? I have tried in Linkedin, but unfortunately couldn't connect with you yet. :(

  • @jayakrishna7995
    @jayakrishna7995 ปีที่แล้ว +1

    for annotation tool lets use roboflow for auto segmentation process...🤚🤚🤚👍

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +1

      You can try Roboflow on these images. Hopefully you will have better luck than I.

    • @-_MUBESSIRULUMMAH
      @-_MUBESSIRULUMMAH 4 หลายเดือนก่อน

      ​@@DigitalSreeniI tried using roboflow to annotate and apply your code for detection, but I experienced an error.

  • @vsbhadouria6768
    @vsbhadouria6768 ปีที่แล้ว

    Can you make a video on how to perform virtual staining using deep learning?

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +1

      Hopefully in future. Here is a link from my bookmarks. I saved it to test for future video but haven't found time yet. github.com/softmatterlab/live-apoptotic-virtual-staining

    • @vsbhadouria6768
      @vsbhadouria6768 ปีที่แล้ว

      @@DigitalSreeni Thanks a lot for your response. I will go through the github link and see if I can crack it.

  • @yahaisha
    @yahaisha ปีที่แล้ว

    thanks sir .🎉🎉

  • @kridsumangsri964
    @kridsumangsri964 ปีที่แล้ว

    Sir please guide how to deploy custom model on web app thx you ^^

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +1

      th-cam.com/play/PLZsOBAyNTZwYSk07iwEbWFaDxeRw1NXt6.html&si=d8qH4MK-ACg6pNya

    • @kridsumangsri964
      @kridsumangsri964 ปีที่แล้ว

      Thank you❤

  • @Brickkzz
    @Brickkzz ปีที่แล้ว

    What a pain to install it on Windows...

    • @clabrop
      @clabrop 11 หลายเดือนก่อน

      were you able to do it?

  • @AnilAntony-y7p
    @AnilAntony-y7p 8 หลายเดือนก่อน

    trainer.train() time error results like RuntimeError Traceback (most recent call last)
    in ()
    ----> 1 trainer.train() #Start the training process
    13 frames
    /content/detectron2/detectron2/layers/wrappers.py in nonzero_tuple(x)
    151 return x.nonzero().unbind(1)
    152 else:
    --> 153 return x.nonzero(as_tuple=True)
    154
    155
    RuntimeError: CUDA error: device-side assert triggered
    CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
    For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
    Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
    Reason for the error??

  • @junk90s92
    @junk90s92 6 หลายเดือนก่อน

    Could you provide the annotations and json files you used? I was not able to reproduce the results -- the accuracy on the test images was quite poor.

  • @seanolivieri4829
    @seanolivieri4829 4 หลายเดือนก่อน

    for d in random.sample(train_dataset_dicts, 2):
    img = cv2.imread(d["file_name"])
    visualizer = Visualizer(img[:, :, ::-1], metadata=train_metadata, scale=0.5)
    vis = visualizer.draw_dataset_dict(d)
    plt.imshow(vis.get_image()[:, :, ::-1])
    plt.show()
    I dont see the right labels, they are labeled as 1-12 in my dataset instead of the category names. Probably its a problem with my json but does anyone know a solution?

  • @muhammadzeeshan9548
    @muhammadzeeshan9548 หลายเดือนก่อน

    hi there love the content can you please do a video for panoptic segmentation using are own dataset and please make it from scratch meaning how we get the instance segmentation mask and the semantic segmentation mask then how we combine them and run it on own own dataset.

  • @billlee2641
    @billlee2641 4 หลายเดือนก่อน

    at 26:02, does initiate weight means exactly same as transfer learning ?

  • @mohamadmahdinafar7638
    @mohamadmahdinafar7638 หลายเดือนก่อน

    great video.

  • @askitloud3168
    @askitloud3168 ปีที่แล้ว

    Thanks for this sir. I understand each and very thing very clearly. I have few questions. 1) - Why size of the model_final.pth is 334.2 MB and how we reduce size of model without loosing model accuracy and detection rate. 2) - For getting best accuracy and detection rate from detectron2 what should the minimum annotated labels per class and how many max classes we involve in single model. 3) - How, we check our model performance after training, is there any metrices and anything so that we can get rough understanding about model accuracy.

  • @NandaKishoreBellamMuralidhar
    @NandaKishoreBellamMuralidhar 8 หลายเดือนก่อน

    Is MakeSense safe to use? Any data security issues?

    • @DigitalSreeni
      @DigitalSreeni  8 หลายเดือนก่อน

      Not sure what you mean by safe. Please check their data policy. In general, if you are using any product or service for 'free', there is a good chance that your data will be used to improve their future offering. This can range from learning about how their product gets used to using customers' data to train their own DL models. Nothing is free in life!!!

  • @zeynabbayat5596
    @zeynabbayat5596 8 หลายเดือนก่อน

    I appreciate your free tutorial. The problem is that I want to use the weights and the output of TensorFlow, but the result in the output folder is not like what I had in my YOLO training. I don't know how to find the weight folder and TensorFlow output images.

  • @minhloinguyen8639
    @minhloinguyen8639 9 หลายเดือนก่อน

    Thank you for worderful lecture, but I get in trouble with dataset detached in description. I don't know how to convert it to COCO format to apply detectron2, I think data include image and label so I don't need to use makesense to label it manually. Give me some tips for using data provided.

  • @QubitsQuantum
    @QubitsQuantum 2 หลายเดือนก่อน

    KING YOU ARE A KING!!!!!!!!THANK UUUUUUUUUUUUUUUUUUUUUUU U ARE THE BEST!!!!!!! I THINK U SHOULD GET AN AWARD. THANK YOU!!!

  • @nguyenthehoang9148
    @nguyenthehoang9148 11 หลายเดือนก่อน

    I looked at some notebooks in the Sartorius - Cell Instance Segmentation competition on Kaggle but people don't report quantifying metrics. It's kind of confusing.
    Do people don't really care about the metrics like AP in segmentation tasks?

  • @ErikCarrieri
    @ErikCarrieri 10 หลายเดือนก่อน

    Do you know how to adapt this process in order to work on images with multiple bands? For instance, for aerial images of homogeneus areas sometimes having just RGB images could not provide enough information and the accuracy of the segmentation could result too poor. Hence, to improve accuracy more bands (such as a Digital Terrain Model, or a slope band) can be used, since they provide more information for the segmentation of the object. Do you think something like this is feasible?

  • @moumitamoitra1829
    @moumitamoitra1829 6 หลายเดือนก่อน

    please make a tutorial on DETR instance segmentation. Your videos are really helpful.

  • @PoojaMaurya-i6n
    @PoojaMaurya-i6n 8 หลายเดือนก่อน

    Thank you very much for this heloful tutorial. I have a question regarding the unites of area of each class- is it pixel?

  • @sudiptaproggaislam7321
    @sudiptaproggaislam7321 10 หลายเดือนก่อน

    please make a video of detectron2 for panoptic segmentation...

  • @boppadapusaiteja8074
    @boppadapusaiteja8074 11 หลายเดือนก่อน

    You didn't discussed about finetuning why the tile that you have kept

  • @arkanaliraqi-r2g
    @arkanaliraqi-r2g ปีที่แล้ว

    thanks a lot sir, can you show us how to run it in python under windows environment?

  • @Md.NahidulAlam
    @Md.NahidulAlam ปีที่แล้ว

    very goood explanation,how can i contact u?

  • @acmontesh102
    @acmontesh102 ปีที่แล้ว

    Thank you for such a great explanation. It would be very nice to complement the tutorial with the workflow to build on top of detectron2, i.e., to use the pooled feature map that the object detection and the masking model use to add a new module within the architecture.

  • @satwikpandey9977
    @satwikpandey9977 ปีที่แล้ว

    Happy teacher's day bhaiya. You've made me fall in love with machine learning. Your videos are to the point and nicely explained. Thanks❤

  • @soumen_das
    @soumen_das 7 หลายเดือนก่อน

    Excellent Tutorial!

  • @astitva5002
    @astitva5002 ปีที่แล้ว

    your resources have been incredibly helpful. thank you so much

  • @shreyasinha7926
    @shreyasinha7926 ปีที่แล้ว

    Thanks for sharing! I really needed exactly this. I cannot find the dataset. The link is not working

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว

      Can you try this direct link for the dataset, I hope it works for you (unless region-blocked for some reason): www.dropbox.com/s/68yclbraqq1diza/platelet_data_1219.zip

  • @msaoc22
    @msaoc22 ปีที่แล้ว

    thank you again for this great tutorial. You make amazing job for us. Detectron works a lot better for me then Yolo8 or Faster RCNN. I will play a bit more with parameters in future, but even with small dataset I was able to get reasonable result =)

    • @DigitalSreeni
      @DigitalSreeni  ปีที่แล้ว +2

      Similar experience as mine. I too like Detectron2 results better and I find it to be more reliable compared to other instance segmentation frameworks available.