Kooderi-dekooderi-Atrous-erotettavissa olevan konvoluution-semanttisen kuvan segmentoinnin kanssa

Encoder Decoder With Atrous Separable Convolution



kuva

kun

  • ECCV 2018

mitä

  • Spatial Pyramid Pool Module or Encoding - Dekooderirakennetta käytetään semanttisten segmentointitehtävien ratkaisemiseen syvissä hermoverkoissa.
  • Entinen verkko pystyy koodaamaan monen mittakaavan kontekstitietoja havaitsemalla syöttöominaisuudet suodattimien avulla tai yhdistämällä useita nopeuksia ja useita tehokkaita näkökenttiä, kun taas jälkimmäinen verkko voi kaapata selkeämmät objektirajat palauttamalla asteittain paikkatiedot.
  • Tässä työssä ehdotamme molempien menetelmien etujen yhdistämistä. Tarkemmin sanottuna ehdotettu malli DeepLabv3 + laajentaa DeepLabv3: ta lisäämällä yksinkertaisen ja tehokkaan dekooderimoduulin segmentointitulosten optimoimiseksi etenkin objektirajoja pitkin. Tutkimme edelleen Xception-mallia ja sovellamme syvyydellä erotettavissa olevaa konvoluutiota Atrous Spatial Pyramid Pooling- ja Decoder-moduuleihin nopeamman ja vahvemman kooderi-dekooderiverkon tuottamiseksi.
  • Osoitamme ehdotetun mallin pätevyyden PASCAL VOC 2012 -semanttisen kuvan segmentointitiedostossa ja saavutamme 89%: n suorituskyvyn testisarjassa ilman jälkikäsittelyä. Paperimme mukana on julkinen viitetoteutus Tensorflow'ssa ehdotetusta mallista.

Kuka (motivaatio)

  • Semanttisen segmentoinnin tarkoituksena on määrittää semanttiset tunnisteet [17, 25, 13, 83, 5] jokaiselle kuvan pikselille, joka on yksi tietokonenäön perusteemoista. Täysin konvoluutiohermoverkoihin [64, 49] perustuvat syvät konvoluutiohermoverkot [41, 38, 64, 68, 70] osoittavat merkittäviä parannuksia käsintehtyihin ominaisuuksiin perustuvien järjestelmien vertailutehtävissä [28, 65, 36, 39, 22, 79]. Tässä työssä tarkastelemme kahden tyyppisiä hermoverkkoja semanttiselle segmentoinnille käyttämällä spatiaalista pyramidipoolimoduulia [23, 40, 26] tai kooderi-dekooderirakennetta [61, 3], jossa edellinen kulkee erilaisten resoluutioiden läpi. Arvioi kokoelmaominaisuudet sieppaamaan rikas kontekstitieto. Jälkimmäinen voi saada teräviä esineiden rajoja.

  • Kontekstitietojen kaappaamiseksi useassa mittakaavassa DeepLabv3 [10] käyttää useita rinnakkaisia ​​atoottisia käänteitä (kutsutaan Atrous Spatial Pyramid Pooling tai ASPP) eri nopeuksilla, kun taas PSPNet [81] suorittaa pooloinnin eri ruudukkoasteikoilla. toiminnassa. Vaikka lopulliseen karttaan koodattaisikin rikas semanttinen informaatio, objektirajaan liittyvää yksityiskohtaista tietoa puuttuu johtuen verkon rungon sisäisistä harppausoperaatioista. Tätä voidaan lievittää soveltamalla huokoista konvoluutiota tiheämpiä karttoja varten. Kun kuitenkin otetaan huomioon olemassa olevien hermoverkkojen [38, 68, 70, 27, 12] ja rajoitetun GPU-muistin suunnittelu, 8 tai jopa 4 kertaa pienempi kuin sisääntulon erottelukyky on lähtötietokarttojen laskeminen laskennallisesti kielletty. Ottaen esimerkkinä ResNet-101 [27], kun huokoista konvoluutiota käytetään 16 kertaa pienempiin tulosignaaleihin kuin sisääntulon resoluutio, 3 viimeisen jäännöslohkon (9 kerroksen) ominaisuuksia on laajennettava. Mikä pahempaa, jos tarvitset kahdeksan kertaa syötettä pienemmän lähtöominaisuuden, se vaikuttaa 26 jäännöslohkoon (78 kerrosta!). Siksi, jos tämän tyyppiselle mallille puretaan tiheämpiä lähtöominaisuuksia, niin laskennallisesti intensiivistä. Toisaalta, kooderi-dekooderimalli [61, 3] tekee nopeammin laskea itsensä kooderin polulle (koska mitään ominaisuuksia ei ole laajennettu) ja palauttaa vähitellen terävät objektirajat dekooderin polulle. Yritettäessä yhdistää molempien menetelmien edut, ehdotamme, että kooderimoduuli rikastetaan kooderi-dekooderiverkossa yhdistämällä monitasoinen kontekstitieto.



  • Erityisesti ehdotettu malli, nimeltään DeepLabv3 +, laajentaa DeepLabv3: ta [10] lisäämällä yksinkertaisen mutta tehokkaan dekooderimoduulin objektirajojen palauttamiseksi, kuten kuvassa 1 on esitetty. DeepLabv3: n ulostuloon koodataan rikas semanttinen informaatio, jonka atroosi konvoluutio sallii yksi ohjaamaan kooderin ominaisuuksien tiheyttä laskentaresurssien budjetin perusteella. Lisäksi dekooderimoduuli mahdollistaa objektirajan yksityiskohtaisen palauttamisen.



img

  • Syvän erotettavissa olevan konvoluution [67, 71, 12, 31, 80] viimeaikaisen menestyksen vuoksi tutkimme myös tätä operaatiota säätämällä Xception-mallia [12] semanttisille segmentointitehtäville ja näytämme sen nopeuden ja tarkkuuden suhteen. Parannuksia, samanlainen kuin [60], ja soveltamalla huokoisia erotettavissa olevia käänteitä ASPP- ja dekooderimoduuleihin. Lopuksi osoitamme ehdotetun mallin tehokkuuden PASCAL VOC 2012 Semantic Segmentation -vertailuarvossa ja saavutamme 89,0%: n suorituskyvyn testijoukossa ilman jälkikäsittelyä luomalla uuden ja ajan tasalla olevan tekniikan.

missä

Katsella

  • Kokeellinen osa on erittäin jännittävä.

Innovaatio

  • Ehdotamme uutta kooderi-dekooderi-arkkitehtuuria, joka käyttää DeepLabv3: ta tehokkaana kooderimoduulina ja yksinkertaisena ja tehokkaana dekooderimoduulina.
  • Ehdotetussa enkooderi-dekooderirakenteessa purettujen kooderien ominaisuuksien tarkkuutta voidaan hallita mielivaltaisesti voimakkaalla konvoluutiolla tarkkuuden ja ajonajan vaarantamiseksi, mikä ei ole mahdollista olemassa olevien kooderidekooderimallien kanssa. .
  • Käytämme Xception-mallia segmentointitehtäviin ja sovellamme syvyydellä erotettavissa olevia käänteitä ASPP-moduuliin ja dekooderimoduuliin nopeamman ja vahvemman kooderi-dekooderiverkon tuottamiseksi.
  • Ehdotettu malli on saanut uuden ja ajantasaisen suorituskyvyn PASCAL VOC 2012 -tietojoukossa. Tarjoamme myös yksityiskohtaisen analyysin suunnitteluvaihtoehdoista ja mallivaihtoehdoista.
  • Tarjoamme julkisesti ehdotetun Tensorflow-malliin perustuvan mallin toteutuksen.

Liittyvä työ

Täydellisiin konvoluutioverkkoihin (FCN) [64, 49] perustuvat mallit ovat osoittaneet merkittäviä parannuksia useissa osiointikriteereissä [17, 52, 13, 83, 5]. Useita mallivaihtoehtoja on ehdotettu segmentoitaviksi kontekstitiedon avulla [28, 65, 36, 39, 22, 79, 51, 14], mukaan lukien ne, jotka käyttävät monitasoista syötettä (eli kuvapyramidit) [18, 16, 58, 44, 11 , 9] tai todennäköisyyskarttamalleja (kuten DenseCRF [37] ja tehokkaita päättelyalgoritmeja [2]) käyttävät [8, 4, 82, 44, 48, 55, 63, 34, 72, 6], 7, 9] . Tässä työssä keskustelemme lähinnä malleista, joissa käytetään spatiaalista pyramidipoolia ja kooderi-dekooderirakenteita.

Avaruus pyramidin yhdistäminen Mallit, kuten PSPNet [81] tai DeepLab [9, 10], suorittavat spatiaalisia pyramidipooleja [23, 40] useilla ruudukkoasteikoilla (mukaan lukien kuvatason altaat [47]) tai käyttävät useita rinnakkaisia ​​atroosikierroksia eri nopeuksilla (kutsutaan Atrous Spatial PyramidPooling tai ASPP). Hyödyntämällä monisuuntaista tietoa nämä mallit ovat osoittaneet lupaavia tuloksia useilla segmentointikriteereillä.



Kooderi-dekooderi : Kooderi-dekooderiverkkoja on sovellettu menestyksekkäästi moniin tietokonenäön tehtäviin, mukaan lukien ihmisen piste-estimointi [53], kohteen havaitseminen [45, 66, 19] ja semanttinen segmentointi [49, 54, 61, 3, 43, 59, 57, 33, 76, 20]. Yleensä kooderi-dekooderiverkko sisältää (1) kooderimoduulin, joka vähentää asteittain ominaisuuskarttoja ja sieppaa korkeamman semanttisen informaation, ja (2) dekooderimoduulin, joka palauttaa asteittain paikkatiedon. Tämän ajatuksen perusteella suosittelemme DeepLabv3: n [10] käyttöä kooderimoduulina ja yksinkertaisen ja tehokkaan dekooderimoduulin lisäämistä selkeämmän segmentoinnin takaamiseksi.

Syvyys konvoluutio : Syvyydellä erotettavissa oleva konvoluutio [67,71] tai ryhmäkonvoluutio [38,78] on tehokas operaatio, joka vähentää laskennallisia kustannuksia ja parametrien määrää säilyttäen samalla (tai hieman paremman) suorituskyvyn. Tämä operaatio on otettu käyttöön monissa viimeaikaisissa hermoverkkosuunnitelmissa [35, 74, 12, 31, 80, 60, 84]. Tutkimme erityisesti Xception-mallia [12], joka on samanlainen kuin [60] COCO2017-havaitsemishaasteiden lähettämisessä, ja osoitimme parannuksia semanttisten segmentointitehtävien tarkkuudessa ja nopeudessa.

Miten

Kooderi-dekooderi Atrous-konvoluutiolla

Röyhkeä konvoluutio : Atrous Convolution, tehokas työkalu, jonka avulla voimme ohjata nimenomaisesti syvien konvoluutio-hermoverkkojen laskemien ominaisuuksien tarkkuutta ja säätää suodattimen näkökenttää monen mittakaavan tiedon sieppaamiseksi ja yleisten konvoluutiooperaatioiden yleistämiseksi. Erityisesti kaksiulotteisen signaalin kohdalla kullekin kohdalle i lähtöominaisuuksien kartalla y ja konvoluutiosuodattimelle w sovelletaan atroottista konvoluutiota sisääntulokarttakarttaan x seuraavasti:

y  vasen [i  right] =  sum_ {k} ^ {} {x [i + r  cdot k]  omega [k]}

Niistä huokoinen nopeus r määrittää vaiheen koon, josta otamme tulosignaalin. Kiinnostuneet lukijat voivat katsoa lisätietoja kohdasta [9]. Huomaa, että vakiokonvoluutio on erikoistapaus nopeudesta r = 1. Suodattimen näkökenttää muokataan mukauttamalla nopeuden arvoa.

** Syvyyserotettava konvoluutio: ** syvyydellä erotettavissa oleva konvoluutio, vakiotilavuusintegraali on ratkaistu syvänä konvoluutiona, sitten pisteenkohtainen konvoluutio (ts. 1 × 1 konvoluutio), mikä vähentää huomattavasti laskennallisen monimutkaisuutta. Erityisesti syvyyskonvoluutio suorittaa spatiaalisen konvoluution itsenäisesti jokaiselle tulokanavalle, kun taas pistekohtaista konvoluutiota käytetään yhdistämään syvän konvoluution ulostulo. TensorFlow [1] -syvyydessä erotettavissa olevan konvoluution avulla atoori konvoluutio tukee syvää konvoluutiota (ts. Spatiaalista konvoluutiota). Tässä työssä viittaamme konvoluutioon, jota olemme kutsuneet atroosiksi erotettavaksi konvoluutioksi, ja havaitsimme, että atoorinen erotettavissa oleva konvoluutio vähentää merkittävästi ehdotetun mallin laskennallista monimutkaisuutta säilyttäen samalla (tai paremman) suorituskyvyn. .

DeepLabv3 kooderina : DeepLabv3 [10] käyttää atoottista konvoluutiota [30, 21, 64, 56] poimimaan ominaisuuksia, jotka on laskettu mielivaltaisen resoluution syvillä konvoluutio-hermoverkoilla. Tässä me edustamme lähtösignaalia tulokuvan paikkatarkkuuden ja lopullisen ulostulotarkkuuden suhteena (ennen globaalia poolia tai täysin yhdistettyä kerrosta). Kuvaluokittelun kannalta lopullisen karttakuvan spatiaalinen resoluutio on yleensä 32 kertaa pienempi kuin sisääntulevan kuvan tarkkuus, joten lähtöaskel = 32. Semanttisen segmentoinnin tehtävässä ulostulostrategia = 16 (tai 8) voidaan käyttää viimeisen poistamiseen (Tai kaksi lohkon vaiheista ja soveltamaan vastaavasti atrista konvoluutiota voimakkaampaan piirteen purkamiseen (esimerkiksi käytämme nopeutta) = 2 ja nopeus = 4 tulostusvaiheen kahdelle viimeiselle lohkolle = 8) .Lisäksi DeepLabv3 parantaa Atrous Space Pyramid Pooling Module -moduulia, joka havaitsee monisuuntaiset konvoluutioominaisuudet soveltamalla atroosia konvoluutio- ja kuvatason ominaisuuksia eri nopeuksilla [47]. Ehdotetussa kooderi-dekooderirakenteessa käytimme viimeistä ominaisuuskarttaa ennen sisäänkirjautumista alkuperäisen DeepLabv3-kooderilähdönä. Huomaa, että kooderin lähtöominaisuuksien kartta sisältää 256 kanavaa ja runsaasti semanttista tietoa. Laskentabudjetti, ominaisuudet voidaan poimia millä tahansa resoluutiolla soveltamalla huokoista konvoluutiota.

** Ehdotettu dekooderi: ** DeepLabv3: n enkooderitoiminto lasketaan yleensä lähtötaajuudella = 16. [10]: n työssä nämä piirteet otettiin kaksinkertaisesti näytteeksi 16 kertaa, mitä voidaan pitää alkuperäisenä dekooderimoduulina. Tämä alkuperäinen dekooderimoduuli ei kuitenkaan välttämättä pysty palauttamaan objektisegmentointitietoja. Siksi ehdotamme yksinkertaista ja tehokasta dekooderimoduulia, kuten kuvassa 2 on esitetty. Enkooderin ominaisuudet otetaan ensin kaksisuuntaisesti näytteiksi 4 kertaa ja niillä on sitten sama spatiaalinen resoluutio kuin verkon rungolla, jolla on samat toiminnot (esimerkiksi Conv2 ennen ResNetissä siirtymistä) -101 [27]) [25] yhdistää ne. Käytämme toista 1 × 1-konvoluutiota matalan tason ominaisuuksiin vähentämään kanavien määrää, koska vastaavat matalan tason ominaisuudet sisältävät yleensä suuren määrän kanavia (esimerkiksi 256 tai 512), mikä saattaa ylittää rikkaiden merkityksen koodausominaisuudet (vain mallissamme) 256 kanavaa) vaikeuttavat harjoittelua. Yhdistämisen jälkeen käytämme useita 3 × 3-kääntymiä ominaisuuksien tarkentamiseksi ja suoritamme sitten toisen yksinkertaisen bilineaarisen näytteenoton 4 kertaa. Käytämme lähdön askelmäärää = 16 kooderimoduulina osassa 4 parhaan tasapainon saavuttamiseksi nopeuden ja tarkkuuden välillä. Kun lähtöjuoksu = 8 käytetään kooderimoduulina, suorituskyky paranee hieman laskennallisen monimutkaisuuden kustannuksella.

img

Muokattu kohdistus Xception

  • Xception-malli [12] osoitti kuvan luokittelutulokset nopeasti laskennallisilla ominaisuuksilla ImageNetissä [62]. Äskettäin MSRA-tiimi [60] muutti Xception-mallia (nimeltään Aligned Xception) ja edisti edelleen kohteen havaitsemistoimintojen suorittamista. Näiden havaintojen johdosta pyrimme mukauttamaan Xception-mallin semanttisen kuvan segmentoinnin tehtävään samaan suuntaan. Erityisesti teimme joitain muutoksia MSRA-muutoksiin,
    1. Samanlainen kuin [60]: n syvempi Xception, paitsi että emme muokkaa sisääntulovirran verkkorakennetta nopean laskennan ja muistin tehokkuuden vuoksi.
    2. Kaikki maksimaaliset poolointitoiminnot korvataan syvällä erotettavissa olevilla konvoluutioilla stridingiksi, mikä antaa meille mahdollisuuden poimia ominaisuuskarttoja millä tahansa resoluutiolla käyttämällä atrous erottuvia konvoluutioita (toinen vaihtoehto on laajentaa atrous algoritmi maksimaaliseen pooling-operaatioon).
    3. Lisäerä normalisointi [32] ja ReLU-aktivaation lisääminen jokaisen 3x3-syväkonvoluution jälkeen, samanlainen kuin MobileNet-malli [31]. Muokattu Xception-rakenne on esitetty kuvassa 3.

img

kuinka paljon

Kokeellinen arviointi

  • Käytämme ResNet-101: tä [27] tai muokattua kohdistusta Xception [12, 60], jotka on esikoulutettu ImageNet-1k-tietojoukossa [62] tiheiden piirikarttojen poimimiseksi huokoisella konvoluutiolla. Toteutuksemme perustuu TensorFlowiin [1] ja on julkisesti julkaistu.
  • Ehdotettua mallia arvioidaan PASCAL VOC 2012 Semantic Segmentation Benchmarkissa [17], joka sisältää 20 etualan objektiluokkaa ja taustaluokan. Raakatietojoukko sisältää 1 464 (koulutus), 1449 (todentaminen) ja 1456 (testi) pikselitason annotoitua kuvaa. Laajennamme tietojoukkoa lisähuomautuksilla, jotka [24] tarjoaa 10582 (koulutuksen parannus) harjoittelukuvien luomiseksi. Suorituskyky mitataan 21 luokan keskimääräisellä pikseliristikombinaatiolla (mIOU).
  • Noudatamme samaa harjoitusprotokollaa kuin kohdassa [10], ja kiinnostuneet lukijat voivat katsoa lisätietoja kohdasta [10]. Lyhyesti sanottuna käytämme samaa oppimisnopeussuunnitelmaa (ts. 'Poly' -strategiaa [47] ja samaa alkuperäistä oppimisnopeutta 0,007), satokokoa 513 × 513, erän normalisointiparametrien hienosäätöä, kun tulosaskel = 16 [32], Ja satunnaissuhdetietojen kasvu harjoittelun aikana. Huomaa, että sisällytämme myös erän normalisointiparametrit ehdotettuun dekooderimoduuliin. Ehdotettu malli on päästä päähän -koulutus, eikä kullekin komponentille ole segmentointia edeltävää koulutusta.

1 dekooderin suunnittelu

  • Määritämme ensin 'DeepLabv3-ominaisuuskartan' viimeiseksi DeepLabv3-laskennan kartaksi (eli ominaisuudet, jotka sisältävät ASPP-ominaisuuksia, kuvatason ominaisuuksia jne.) Ja [k × k f] ytimen kokoina k × k- ja f-suodattimet. Konvoluutiooperaatio. Kun käytetään lähtöaskelta = 16, ResNet-101-pohjainen DeepLabv3 [10] suorittaa loginaarien kaksisuuntaisen näytteenoton harjoittelun ja arvioinnin aikana16. Tämä yksinkertainen bilinaarinen ylinäytteistys voidaan ajatella naiivina dekooderirakenteena, jonka suorituskyky on asetettu 77,21%: iin PASCAL VOC2012: lla [10] ja 1,2% parempi kuin ei käyttää tätä naiivia dekooderia harjoittelun aikana (ts. Alinäytteistetty maaperä on koulutuksessa). Tämän alkuperäisen perustason parantamiseksi ehdotettu malli DeepLabv3 + lisää dekooderimoduulin kooderilähdön yläosaan, kuten kuvassa 2 on esitetty. Dekooderimoduulissa tarkastellaan kolmen eri suunnitteluvaihtoehdon, nimittäin (1) 1 × 1-konvoluutio matalatasoisten ominaisuuksien kartoituksen kanavan vähentämiseksi kooderimoduulista ja (2) selkeämmän segmentointituloksen saamiseksi. 3x3-konvoluutio ja (3) mitä enkooderin matalan tason ominaisuuksia tulisi käyttää.

img

Taulukko 1. Dekooderin 1x1 konvoluution vaikutus kanavan vähentämiseen kooderimoduulin matalan tason ominaisuuskartasta. Kiinnitimme dekooderirakenteen muut komponentit VOC 2012 -joukon suorituskykyyn käyttämällä [3 × 3 256] ja Conv2 (ennen juoksemista).

Dekooderimoduulin 1 × 1-konvoluution vaikutuksen arvioimiseksi käytämme [3 × 3 256] ja Res2-101-verkon rungon Conv2-ominaisuutta, ts. Res2x-jäännöslohkon viimeistä ominaisuuskarttaa (erityisesti käytämme ominaisuuskarttaa ennen astumista). Kuten taulukossa 1 on esitetty, matalatasoisen ominaisuuskartan kanavan vähentäminen kooderimoduulista 48 tai 32 johtaa parempaan suorituskykyyn. Joten käytämme [1 × 1, pienennä kanavaa.

Suunnittelemme sitten dekooderimoduulille 3 × 3 -konvoluutiorakenteen ja raportoimme tulokset taulukossa 2. Havaitsimme, että DeepLabv3-ominaisuuskartan käyttäminen Conv2-ominaisuuskartan yhdistämiseen (ennen askelta) on 256-suodattimien käyttäminen kahdella 3x3-konvoluutiolla tehokkaampaa kuin yksinkertaisen yhden tai kolmen kierteen käyttäminen. Suodattimien määrän muuttaminen 256: sta 128: een tai ytimen koon muuttaminen 3x3: sta 1x1: ään heikentää suorituskykyä. Kokeilimme myös Conv2- ja Conv3-ominaisuuksien kartoituksen käyttöä dekooderimoduulissa. Tällöin dekooderin ominaisuuskarttaa näytetään asteittain vaihekokossa 2, ensin kytketään Conv3: een, sitten Conv2: een, ja kutakin ohjataan [3 x 3, 256]. Sitten koko dekoodausprosessi on samanlainen kuin UNet / SegNet-malli [61, 3]. Emme kuitenkaan ole havainneet merkittäviä parannuksia. Siksi käytimme lopulta hyvin yksinkertaista, mutta tehokasta dekooderimoduulia: DeepLabv3-ominaisuuden kartoituksen ja kanavavähennetyn Conv2-ominaisuuden kartoituksen yhdistelmää käytetään kahdella [3 × 3 256] operaatiolla. Huomaa, että ehdotetun DeepLabv3 + -mallimme tulos = 4. Rajoitettujen GPU-resurssien tapauksessa emme enää harjoita tiheämpää lähtöominaisuuksien kartoitusta (ts.<4).

img

Taulukko 2. Kiinteä [1 × 1, 48] dekooderirakenteen vaikutusten vähentämiseksi, kun kooderi on kanavalla. Löysimme, että Conv2 (pre-striding) -ominaisuuskartan ja kahden lisätoiminnon [3 × 3, 256] käyttö on tehokkainta. VOC 2012 val set -sarjan suorituskyky.

2 ResNet-101 verkon runkona

  • Malliversioiden vertailemiseksi tarkkuuden ja nopeuden suhteen raportoimme mIOU: n ja kertolaskujen taulukossa 3. ResNet-101: tä [27] käytetään verkon selkärangana ehdotetussa DeepLabv3 + -mallissa. Voimakkaasta kääntymisestä johtuen pystyimme käyttämään yhtä mallia erilaisten resoluutioominaisuuksien saamiseksi koulutus- ja arviointiprosessin aikana.

img

Taulukko 3. Perustelustrategiat PASCAL VOC 2012 val -asetuksille, kun ResNet 101: tä käytetään ominaisuuden poimijana. Harjoittelu-käyttöjärjestelmä: Harjoittelun aikana käytetty tulosaskel. Eval OS: Arvioinnin aikana käytetty tulosaskel. Dekooderi: Ota käyttöön ehdotettu dekooderirakenne. MS: Moniasteinen syöttö arvioinnin aikana. Käännä: Lisää vasen ja oikea kääntösyöttö.

Lähtötaso : Välilehden ensimmäinen rivilohko. Kuvio 3 sisältää [10]: n tulokset, mikä osoittaa, että tiheämpiä karttakarttoja puretaan arvioinnin aikana (ts. Eval-lähtövaihe = 8) ja monitasoisten tulojen käyttö parantaa suorituskykyä. Lisäksi vasemman ja oikean kääntötulon lisääminen kaksinkertaistaa laskennan monimutkaisuuden ja suorituskyky paranee vain vähän.

Lisää dekooderi : Välilehden toinen rivilohko. Kuva 3 sisältää tulokset käytettäessä ehdotettua dekooderirakennetta. Kun käytetään eval-ulostuloa = 16 tai 8, suorituskyky kasvaa 77,21%: sta 8,85%: iin tai 78,51%: sta 79,35%: iin, mikä maksaa noin 20B ylimääräisen laskennallisen yleiskustannuksen. Suorituskyky paranee edelleen, kun käytetään useita asteikkoja ja käännetään tuloja vasemmalle ja oikealle

Yleisempi karttakartta : Kokeilimme myös junan lähtöaskeleen = 32 käyttöä (ts. Harjoittelun aikana ei ole lainkaan räjähdysmäistä konvoluutiota) nopeita laskelmia varten. Kuten taulukon 3 kolmannen rivin lohkossa näkyy, dekooderin lisääminen tuo 2% parannuksen ja vaatii vain 74,20B MultiplyAddsia. Jos junan lähtöaskel = 16 ja erilaiset ulostulon askelarvot, suorituskyky on kuitenkin aina noin 1% - 1,5%. Siksi suosimme mieluummin tulosten askeleen = 16 tai 8 koulutuksen tai arvioinnin aikana monimutkaisuusbudjetista riippuen.

3 Xception verkon selkärangana

ImageNet-esikoulutus : Ehdotettu Xception-verkko on esikoulutettu ImageNet-1k-tietojoukossa [62] käyttämällä vastaavaa harjoitusprotokollaa julkaisussa [12]. Erityisesti käytämme Nesterov-momentin optimointia, momentti = 0,9, alkuperäinen oppimisnopeus = 0,05, nopeuden hajoaminen = 0,94 2 jakson aikana, painon vaimennus 4e-5. Käytämme 50 GPU: ta asynkroniseen harjoitteluun, kukin GPU-erä Koko on 32 ja kuvan koko on 299 x 299. Emme tehneet kovasti töitä hyperparametrien säätämiseksi, koska tavoitteena oli kouluttaa mallia ImageNetissä semanttista segmentointia varten. Raportoimme yhden mallin virhesuhteen taulukossa 4 määritetyllä varmennuksella. Kopioi ResNet-101 [27] samaan koulutusprotokollaan perustason kanssa. Havaitsimme, että Top1- ja Top5-tarkkuuden suorituskyky laski 0,75% ja 0,29%, kun lisäerien normalisointia ja ReLU: ta ei lisätty jokaisen 3x3: n syvän konvoluution jälkeen muokatussa Xceptionissa.

img

Taulukko 4. Yhden mallin virhesuhteet ImageNet-1K-vahvistussarjassa.

Tulokset ehdotetun Xceptionin käyttämisestä semanttisen segmentoinnin selkärangana on esitetty taulukossa 5.

img

Taulukko 5. PASCAL VOC 2012 val -asetusten päättelystrategiat käytettäessä modifioitua Xception-ominaisuutta ominaisuuden poimijana. Harjoittelu-käyttöjärjestelmä: Harjoittelun aikana käytetty tulosaskel. Eval OS: Arvioinnin aikana käytetty tulosaskel. Dekooderi: Ota käyttöön ehdotettu dekooderirakenne. MS: Moniasteinen syöttö arvioinnin aikana. Käännä: Lisää vasen ja oikea kääntösyöttö. SC: Syvä erotettava konvoluutio ASPP- ja dekooderimoduuleille. COCO: kohdassa M.

** Lähtötaso: ** Raportoimme tulokset ensin käyttämättä ehdotettua dekooderia taulukon 5 ensimmäisessä lohkoryhmässä. On osoitettu, että ResNet-101: n kanssa kun harjoitellaan tulosaskelmia = eval-lähtöharppauksia = 16, Xception on verkon runko parantaa suorituskykyä noin 2%. Lisäparannuksia voidaan saavuttaa käyttämällä keskimääräistä lähtöaskelta = 8, monen asteikon tuloa päätelmän aikana ja lisäämällä vasen ja oikea käänteinen tulo.
Huomaa, että emme käytä moniruudukkomenetelmää [75, 15, 10] ja huomasimme, että tämä ei paranna suorituskykyä.

** Lisää dekooderi: ** kuten taulukon 5 toisella rivirivillä on esitetty. Kaikkien erilaisten päätelmistrategioiden osalta dekooderin lisääminen johtaa noin 0,8 prosentin parannukseen, kun käytetään keskimääräistä lähtöharjoittelua = 16. Keskimääräisellä lähtöaskeleella = 8, parannus on vielä vähemmän.

** Syvyyserotettavan konvoluution käyttö: ** Käytämme sitä edelleen ASPP- ja dekooderimoduuleissa laskemalla tehokkaasti syvyydellä erotettavissa olevan konvoluution. Kuten välilehden kolmannella rivirivillä näkyy. Kuten kuvassa 5 on esitetty, moninkertaisen lisäyksen laskennallinen monimutkaisuus vähenee merkittävästi 33% - 41%, samalla kun saavutetaan samanlainen mIOU-suorituskyky.

img

Kuva 5. Laadullinen vaikutus verrattuna alkuperäiseen bilineaariseen ylinäytteistykseen (merkitty BU: ksi) käyttäen ehdotettua dekooderimoduulia. Esimerkissä käytämme Xception-ominaisuutta ominaisuuden poimijana ja junan ulostulonopeus = eval-lähtöjuoksu = 16.

Esikoulutus COCO: sta Vertailemiseksi muihin tunnetun tekniikan malleihin uutimme edelleen De-Labv3 + -mallin, jonka ehdotimme MS-COCO-tietojoukkoon [46], mikä paransi kaikkien erilaisten päättelystrategioiden suorituskykyä 2%.

Esikoulutus JFT: llä : Samoin kuin [10], käytimme myös Xception-mallia, joka on esikoulutettu ImageNet-1k [62] - ja JFT-300M-tietojoukoille [29, 12, 69], mikä tuo 0,8% - 1% . Parantaa.

Testisarjan tulos : Koska laskennallista monimutkaisuutta ei otettu huomioon vertailuarvioinnissa, valitsimme parhaan suorituskykymallin ja harjoittelimme käyttämällä lähtöaskeleita = 8 ja pakastettujen erien normalisointiparametreja. Lopuksi 'DeepLabv3 +' saavutti 87,8% ja 89,0% suorituskyvyn ilman esikoulutusta JFT-tietojoukoilla.

Laadullinen tulos : Tarjoamme visualisointitulokset parhaalle mallille kuvassa 6. Kuten on esitetty, malli pystyy segmentoimaan objektit hyvin ilman jälkikäsittelyä.

img

Virhetila : Kuten kuvion 6 viimeisellä rivillä on esitetty, malliamme on vaikea segmentoida (a) sohvat ja tuolit, (b) voimakkaasti peitetyt esineet ja (c) harvinaiset esineet.

4 Parannuksia esineiden rajoilla

  • Tässä osassa käytämme trimap-kokeita [36, 37, 9] segmentointitarkkuuden arvioimiseksi ehdotetun dekooderimoduulin tarkkuuden määrittämiseksi lähellä objektirajaa. Tarkemmin sanottuna sovellamme morfologista laajennusta val-joukon 'void' -merkintöihin, joka tapahtuu yleensä objektirajan ympärillä. Sitten lasketaan pikseleiden keskimääräinen IOU 'void' -tunnisteen laajennuskaistalla (kutsutaan trimapiksi). Kuten kuvassa 4 on esitetty, ehdotettuja ResNet-101 [27] - ja Xception [12] -verkon rungon dekoodereita käytettiin suorituskyvyn parantamiseen verrattuna alkuperäiseen bilinaariseen ylinäytteistykseen. Kun dilataatiovyöhyke on kapea, parannus on selvempää. Olemme havainneet, että ResNet-101: llä ja Xceptionilla on 4,8%: n ja 5,4%: n mIOU-parannuksia pienimmällä trimmausleveydellä, kuten on esitetty. Visualisoimme myös kuvassa 5 esitetyn dekooderin käytön vaikutuksen.

img

Miksi (miksi hyvä)