2023-Q4-AI 11. UNet, Semantic Segmentation

 

11.1. Video / Materiāli

Video: https://youtube.com/live/mkJ_RP-GaPs?feature=share

Jamboard: https://jamboard.google.com/d/1msH78IjK3zH5VYb4QdRMhI_3djLT3hW4zUC82vGJGl0/edit?usp=sharing

Sagatavošanās materiāli:

^ Shared with stefan.dayneko@gmail.com

 

Youtube RTMP key: 57q6-rs12-e26p-8c07-11pj

Iepriekšējā gada video un jamboard

Video:

https://youtu.be/um1U66VDd5M

Jamboard:

https://jamboard.google.com/d/1BAwk5fRda0dWjI4sDVzIORKLsuqfIIC4niuBJG56_tc/edit?usp=sharing

Saturs

  1. Izstāstīt par Semantic Segmentation / UNet

  2. Likt pašiem implementēt UNet ar concat

  3. Kad netiek galā parādīt kā implementēt

  4. Likt pašiem implementēt UNet ar addition

  5. Kad netiek galā parādīt kā implementēt

  6. Uztaisi vēl vienu uzdevumu ar YOLO (tagad tas ir Pytorch) ==https://pytorch.org/hub/ultralytics_yolov5/==

  7. Pastāstīt par mājasdarbu

Source Code: http://share.yellowrobot.xyz/quick/2023-11-16-151E1E92-44FA-47BD-9500-0FA4CA2A6356.zip

 

11.2. Implementēt UNet modeļa forward funkciju ar concat

Pirmkoda sagatave pieejama šeit: http://share.yellowrobot.xyz/quick/2023-11-16-C31604C9-53E7-49D2-8D21-B13FF215C139.zip

Implementēt UNet modeļa forward funkciju ar concat, Vienādojumi pieejami šeit: http://share.yellowrobot.xyz/quick/2023-11-16-FFCB9809-93A8-4FDA-AB74-789B8A3CFDD9.zip

 

 

11.3. Implementēt UNet modeļa forward funkciju ar saskaitīšanu

Izmantot iepriekšējā uzdevuma sagatavi, Implementēt UNet modeļa forward funkciju ar saskaitīšanu. Nepieciešams arī izmainīt modeļa struktūru (kanālu skaitu).

Vienādojumi pieejami šeit: http://share.yellowrobot.xyz/quick/2023-11-16-301CDAC6-B071-4C15-A7E3-09F6BAEF7B8F.zip

 

 

11.4. Implementēt UNet modeli ar LinearLayer pa vidu

Izmantot iepriekšējā uzdevuma sagatavi, Implementēt UNet modeļa forward funkciju ar LinearLayer pa vidu. Šāds modelis jāsagatavo tā, lai tas spētu strādāt ar iepriekš zināmu input attēla izmēru atšķiribā no FCN (Fully Convolutional Network) kādi bija iepriekšējie modeļi.

Vienādojumi pieejami šeit: http://share.yellowrobot.xyz/quick/2023-11-16-A3514013-559C-4D6E-8E78-6A0134010B4E.zip

 

11.5. Mājasdarbs. Implementēt DICE kļūdu un IoU metriku

 

  1. Pie iepriekšēja uzdevuma pievienot DICE kļūdu - izmantot kā kļūdas funkciju (izveidot kompozīta kļūdas funkciju ar koeficientiem katrai kļūdas funkcijas daļai)

    http://share.yellowrobot.xyz/quick/2023-11-16-21573785-E9DC-407B-BF85-A94F8B5E55A1.zip

  2. Pievienot metriku IoU, attēlot to grafiski (Jaccard index) http://share.yellowrobot.xyz/quick/2023-11-16-CE0C1761-0283-44B7-A013-9511AF9DE2EE.zip

  3. Papildus uzdevums - Implementēt UNet++ arhitektūru: https://arxiv.org/pdf/1807.10165

Apmācīt modeļus ar jaunajām izmaiņām iesniegt ekrānšāviņus un pirmkodu.

Loss Dice (per pixel)

 

ConvNet vs FCN image-20231116230036487

 

 

IoU

IoU-2

 

image-20220403230547459

 

Materiāli

image-20220403230646112

 

image-20220403230707477

 

image-20220403230714843

 

image-20220403230724939

image-20220403230738840

 

image-20220403230757961

 

image-20220403230802914

 

image-20220403230811154

image-20220403230815944

Untitled (67)

Untitled (65)

Untitled (63)

 

Untitled (62)

 

 

Untitled (65)

 

Untitled (60)

Untitled (61)

 

Untitled (59)

 

Untitled (57)