From 7679a943b67460fd5ce7b0cc6965c9ecc9688681 Mon Sep 17 00:00:00 2001 From: Aditya Oke Date: Mon, 6 Sep 2021 23:23:20 +0530 Subject: [PATCH] add lrsapp model and basic info --- images/lraspp2.png | Bin 0 -> 16563 bytes scripts/pytorch_vision_lraspp.md | 100 +++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 images/lraspp2.png create mode 100644 scripts/pytorch_vision_lraspp.md diff --git a/images/lraspp2.png b/images/lraspp2.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4c8f1eebd0949f205712be0643b52594acdbf7 GIT binary patch literal 16563 zcmeHvWl)<@uqaZXc#9Wpaf%oBwzyky_d;+D4yAa30>!O(u>|)(AjOKcxVr~PDDE%4 zciy}=bALSf`Q~LNljMBgSv$LX_S>_YSS<}jLOg0bG&D3qWhFTsG&FQL>YeZu8#Tgj zZnT5?c;fY5`NLDxE9j|h4C?m_Z+Sy+T{nAgKPyi=GzV8V7dvh*8&5ksSFew5-U!TY zX*9H#Xv%W$J^*u%mi^qB_k(w?-R$-4j50qtey91^C?YUv6G#v(Dd2b&i$XKP&#h) zMOj@<6QQmXjvnl7_C!DCidb9|+AFSBUJ0Gk4;1GA4{&#D-v+tO@wO)Z!F$f|jk2uG zciSUw8*3HpBIudlwDS*VWx3ctZ0aii3)KIW+92!Fz*?Q)1B*s|d z8WsZ-$8mM|xFzs&)5PssfHLEx4&kxg+rrMP*7DtlaY7{u-tM~0D@-7>$T*Q+{V~oZ zQ2N&($by-EwfSJSO(Qn8j=}Th>Tz`GDwefbOYTm`ZR>Tlyz!7mtqsCq4zg=usbCEc zg>3SPgnlDc3`v?F2J4nR3!;(#DS`(`ChU(Zqnf)$zo5OEo%^G9&g)I9vW=xddu;~F zyD7skvBj(q@f334p1||{R0t`s9bX9zckBZM);N;zOU#8LL$S0h;~UXyuqhqiaAsTE zBFf?T2Whi)lZPEgp@o2}+N2uNWImLc2pY{oU-=^L&!avC82wbK3*OzW(^-~oRFmsP z+3SSb2^nlrCf-hvehMv<6#_w&g|0mh1+g&}mef)>7TE^i=Sf|L?XM=~TPf`Ab&j^c zW0kJhtL3wQblkdHC!4Q=7w3c7e(Iu3Sg!XS3ZR@>)@{&{9K;L4+hr^#EVC>omko{cu^zayz~W&%`iJ>REC^j(f(Yw| ze(21+mNdL8I;JtI*SG}tjTA8nE>J@(Z6(6a_`eS`TT%!^?h(^LO)*pIe#FUPX&ihq zr}|YnuNY}E|IK1$%`Y-FCODJY*-g~;^#(N!+W!;Dr}=pS+Xe@W;H19D1}!bacxMIF zaa zi4H-$vjGZUr|$VD6_mH1V9v_FjWwq0frOWyR?7=>qNGjwvjclh{H`HfkH2ArN(zE_ zy0ySK5%7=DJqDmm#nkcI3RG|(9!kau5~z_EWB%ZxXFT3f1 zdemJc$vdcZe8M~eWChwpG_XHYOHrIUbuy-uJH04#z zlq{IFf|GL*!Z<;T+HJb$aicDRQ}Q|RsHO`fK-*0hVU(9Za$~Eu#+lJz~0nsr_KUN0y4CAk$Dn65o zp)!kp4;ag4m%`nOX0e;Kt-$1Bw|n7K$^us(fZP)lyQ+qB%s3ad4v*c8lcz6Plii=3 z*Ox*=_9HFyiA|WFp!QyM`_lG#$YloA(u0R{6{qPdNXn-B{=};LS>&ptkE+~)IV728 zq9b0Z)u_Vt;`mXo8F7bo_>r~q9ie6R*;!{QP{E{KPPp>fs+HXP%7zRnoCh&krUFNm zI#QXRsj|+?7gk({`Xcgj2etgif{d?{k5^&g5+U&*P=|<`7A93xU*dB2`#Qn#G}YBI zNtr(ftg%Xjf)3m|rQVO`uHEp*5~g6jCD;nUJ&&Y#_94I6?LoSl<0WTHXiUgcAGeNK zV87b4`cqKk@;%oq2fx^fAmw;yc*W_scG+(fpU%dp+ct^~FVSF31Tj}eV#@=Jmr0%*q5Mq!`%XZZ z3#`Ct*!;X6=p5El!{F>AAZLpe*))ik)rF(Pa*5)Á=@qvS`f`fz+1&u{tax}e$ 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 literal 0 HcmV?d00001 diff --git a/scripts/pytorch_vision_lraspp.md b/scripts/pytorch_vision_lraspp.md new file mode 100644 index 00000000..e6756377 --- /dev/null +++ b/scripts/pytorch_vision_lraspp.md @@ -0,0 +1,100 @@ +--- +layout: hub_detail +background-class: hub-background +body-class: hub +title: LR-ASPP +summary: Lite Reduced Atrous Spatial Pyramid Pooling model with MobileNetV3-Large backbone. +category: researchers +image: lraspp2.png +author: Pytorch Team +tags: [vision, scriptable] +github-link: https://github.com/pytorch/vision/blob/main/torchvision/models/segmentation/lraspp.py +github-id: pytorch/vision +featured_image_1: deeplab1.png +featured_image_2: lraspp2.png +accelerator: cuda-optional +order: 10 +--- + +```python +import torch +model = torch.hub.load('pytorch/vision:v0.10.0', 'lraspp_mobilenet_v3_large', pretrained=True) +model.eval() +``` + +All pre-trained models expect input images normalized in the same way, +i.e. mini-batches of 3-channel RGB images of shape `(N, 3, H, W)`, where `N` is the number of images, `H` and `W` are expected to be at least `224` pixels. +The images have to be loaded in to a range of `[0, 1]` and then normalized using `mean = [0.485, 0.456, 0.406]` +and `std = [0.229, 0.224, 0.225]`. + +The model returns an `OrderedDict` with two Tensors that are of the same height and width as the input Tensor, but with 21 classes. +`output['out']` contains the semantic masks, and `output['aux']` contains the auxillary loss values per-pixel. In inference mode, `output['aux']` is not useful. +So, `output['out']` is of shape `(N, 21, H, W)`. More documentation can be found [here](https://pytorch.org/vision/stable/models.html#object-detection-instance-segmentation-and-person-keypoint-detection). + + +```python +# Download an example image from the pytorch website +import urllib +url, filename = ("https://github.com/pytorch/hub/raw/master/images/deeplab1.png", "deeplab1.png") +try: urllib.URLopener().retrieve(url, filename) +except: urllib.request.urlretrieve(url, filename) +``` + +```python +# sample execution (requires torchvision) +from PIL import Image +from torchvision import transforms +input_image = Image.open(filename) +input_image = input_image.convert("RGB") +preprocess = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), +]) + +input_tensor = preprocess(input_image) +input_batch = input_tensor.unsqueeze(0) # create a mini-batch as expected by the model + +# move the input and model to GPU for speed if available +if torch.cuda.is_available(): + input_batch = input_batch.to('cuda') + model.to('cuda') + +with torch.no_grad(): + output = model(input_batch)['out'][0] +output_predictions = output.argmax(0) +``` + +The output here is of shape `(21, H, W)`, and at each location, there are unnormalized probabilities corresponding to the prediction of each class. +To get the maximum prediction of each class, and then use it for a downstream task, you can do `output_predictions = output.argmax(0)`. + +Here's a small snippet that plots the predictions, with each color being assigned to each class (see the visualized image on the left). + +```python +# create a color pallette, selecting a color for each class +palette = torch.tensor([2 ** 25 - 1, 2 ** 15 - 1, 2 ** 21 - 1]) +colors = torch.as_tensor([i for i in range(21)])[:, None] * palette +colors = (colors % 255).numpy().astype("uint8") + +# plot the semantic segmentation predictions of 21 classes in each color +r = Image.fromarray(output_predictions.byte().cpu().numpy()).resize(input_image.size) +r.putpalette(colors) + +import matplotlib.pyplot as plt +plt.imshow(r) +# plt.show() +``` + +### Model Description + +LR-ASPP description here. + +Their accuracies of the pre-trained models evaluated on COCO val2017 dataset are listed below. + +| Model structure | Mean IOU | Global Pixelwise Accuracy | +| ----------------- | ----------- | --------------------------| +| lraspp_mobilenet_v3_large | 57.9 | 91.2 | + +### Resources + + - [Searching for MobileNetV3](https://arxiv.org/abs/1905.02244) + - [PyTorch Blog on Training LRSAPP Model](https://pytorch.org/blog/torchvision-mobilenet-v3-implementation)