Kutumia AI kukandamiza picha

Kutumia AI kukandamiza picha
Algorithms inayoendeshwa na data kama mitandao ya neural imechukua ulimwengu kwa dhoruba. Maendeleo yao ni kutokana na sababu kadhaa, ikiwa ni pamoja na vifaa vya bei nafuu na vya nguvu na kiasi kikubwa cha data. Mitandao ya neva kwa sasa iko mstari wa mbele katika kila kitu kinachohusiana na kazi za "utambuzi" kama vile utambuzi wa picha, uelewaji wa lugha asilia, n.k. Lakini hawapaswi kuwa mdogo kwa kazi kama hizo. Nakala hii inazungumza juu ya jinsi ya kubana picha kwa kutumia mitandao ya neva, kwa kutumia ujifunzaji wa mabaki. Mbinu iliyotolewa katika makala ni ya haraka na bora zaidi kuliko codecs za kawaida. Mipango, equations na, bila shaka, meza na vipimo chini ya kata.

Makala hii inategemea hii kazi. Inachukuliwa kuwa unajua mitandao ya neural na dhana zao. convolution ΠΈ kazi ya kupoteza.

Ukandamizaji wa picha ni nini na inafanya kazije?

Ukandamizaji wa picha ni mchakato wa kubadilisha picha ili ichukue nafasi kidogo. Kuhifadhi tu picha kunaweza kuchukua nafasi nyingi, ndiyo maana kuna kodeki kama vile JPEG na PNG ambazo zinalenga kupunguza saizi ya picha asili.

Kama unavyojua, kuna aina mbili za ukandamizaji wa picha: hakuna hasara ΠΈ na hasara. Kama majina yanavyopendekeza, mgandamizo usio na hasara unaweza kuhifadhi data asili ya picha, huku ukandamizaji unaopotea hupoteza baadhi ya data wakati wa kubana. kwa mfano, JPG ni algoriti zenye hasara [takriban. tafsiri. - kimsingi, hebu pia tusisahau kuhusu JPEG isiyo na hasara], na PNG ni algorithm isiyo na hasara.

Kutumia AI kukandamiza picha
Ulinganisho wa ukandamizaji usio na hasara na hasara

Ona kwamba kuna vizalia vya programu vingi kwenye picha iliyo upande wa kulia. Hii ni habari iliyopotea. Pikseli za rangi zinazofanana zimebanwa kama eneo moja ili kuhifadhi nafasi, lakini maelezo kuhusu pikseli halisi yamepotea. Bila shaka, algorithms kutumika katika JPEG, PNG, nk codecs ni ngumu zaidi, lakini hii ni mfano mzuri wa angavu wa compression hasara. Ukandamizaji usio na hasara ni mzuri, lakini faili zisizo na hasara zilizobanwa huchukua nafasi nyingi za diski. Kuna njia bora za kubana picha bila kupoteza habari nyingi, lakini ni polepole sana na nyingi hutumia njia za kurudia. Hii ina maana kwamba haziwezi kuendeshwa kwa sambamba kwenye cores nyingi za CPU au GPU. Kizuizi hiki huwafanya kutowezekana kabisa katika matumizi ya kila siku.

Uingizaji wa Mtandao wa Neural wa Convolutional

Ikiwa kitu kinahitaji kuhesabiwa na mahesabu yanaweza kuwa takriban, ongeza mtandao wa neva. Waandishi walitumia mtandao wa kawaida wa kubadilisha mfumo wa neva ili kuboresha mgandamizo wa picha. Njia iliyowasilishwa haifanyiki tu kwa usawa na ufumbuzi bora (ikiwa sio bora), inaweza pia kutumia kompyuta sambamba, ambayo inaongoza kwa ongezeko kubwa la kasi. Sababu ni kwamba Convolutional Neural Networks (CNNs) ni wazuri sana katika kutoa taarifa za anga kutoka kwa picha, ambazo huwasilishwa kwa fomu fupi zaidi (kwa mfano, vipande "muhimu" tu vya picha huhifadhiwa). Waandishi walitaka kutumia uwezo huu wa CNN kuwakilisha picha vizuri zaidi.

usanifu

Waandishi walipendekeza mtandao mara mbili. Mtandao wa kwanza huchukua picha kama ingizo na hutoa uwakilishi wa kompakt (ComCNN). Matokeo ya mtandao huu basi huchakatwa na kodeki ya kawaida (k.m. JPEG). Baada ya kusindika na codec, picha inapitishwa kwenye mtandao wa pili, ambayo "hurekebisha" picha kutoka kwa codec kwa jaribio la kurudisha picha ya asili. Waandishi waliuita mtandao huu Reconstructive CNN (RecCNN). Kama GAN, mitandao yote miwili inafunzwa mara kwa mara.

Kutumia AI kukandamiza picha
Uwakilishi wa ComCNN Compact hupitishwa kwa kodeki ya kawaida

Kutumia AI kukandamiza picha
RecCNN. Matokeo ya ComCNN yameongezwa na kulishwa kwa RecCNN, ambayo itajaribu kujifunza salio

Toleo la kodeki hukuzwa na kisha kupitishwa kwa RecCNN. RecCNN itajaribu kutoa picha karibu na asili iwezekanavyo.

Kutumia AI kukandamiza picha
Mfumo wa kubana picha kutoka mwisho hadi mwisho. Co(.) ni kanuni ya kubana picha. Waandishi walitumia JPEG, JPEG2000 na BPG

Salio ni nini?

Salio inaweza kuzingatiwa kama hatua ya baada ya kuchakata ili "kuboresha" picha inayotolewa msimbo na kodeki. Kuwa na "taarifa" nyingi kuhusu ulimwengu, mtandao wa neva unaweza kufanya maamuzi ya utambuzi kuhusu nini cha kurekebisha. Wazo hili linatokana na mabaki ya kujifunza, soma maelezo ambayo unaweza hapa.

Kazi za kupoteza

Vipengele viwili vya kukokotoa vinatumika kwa sababu tuna mitandao miwili ya neva. Ya kwanza kati ya hizi, ComCNN, imeandikwa L1 na inafafanuliwa kama ifuatavyo:

Kutumia AI kukandamiza picha
Kitendaji cha kupotea kwa ComCNN

Maelezo

Equation hii inaweza kuonekana kuwa ngumu, lakini kwa kweli ndio kiwango (kosa la maana ya mraba) MSE. ||Β² inamaanisha kawaida ya vekta wanayoambatisha.

Kutumia AI kukandamiza picha
Mlinganyo 1.1

Cr inaashiria matokeo ya ComCNN. ΞΈ inaashiria uwezo wa kujifunza wa vigezo vya ComCNN, XK ni taswira ya ingizo

Kutumia AI kukandamiza picha
Mlinganyo 1.2

Re() inasimama kwa RecCNN. Mlinganyo huu unatoa maana ya mlinganyo 1.1 kwa RecCNN. ΞΈ inaashiria vigezo vinavyoweza kufunzwa vya RecCNN (kofia iliyo juu inamaanisha kuwa vigezo vimewekwa).

Ufafanuzi Intuitive

Equation 1.0 itasababisha ComCNN kubadilisha uzito wake ili inapoundwa upya kwa RecCNN, picha ya mwisho ionekane sawa iwezekanavyo na picha ya ingizo. Kitendaji cha pili cha upotezaji cha RecCNN kinafafanuliwa kama ifuatavyo:

Kutumia AI kukandamiza picha
Mlinganyo 2.0

Maelezo

Tena, kipengele cha kukokotoa kinaweza kuonekana kuwa ngumu, lakini hii kwa sehemu kubwa ni kazi ya kawaida ya upotezaji wa mtandao wa neva (MSE).

Kutumia AI kukandamiza picha
Mlinganyo 2.1

Co() inamaanisha pato la kodeki, x ikiwa na kofia juu inamaanisha pato la ComCNN. ΞΈ2 ni vigezo vinavyoweza kufunzwa vya RecCNN, res() ni matokeo ya mabaki ya RecCNN. Inafaa kukumbuka kuwa RecCNN imefunzwa juu ya tofauti kati ya Co() na picha ya kuingiza, lakini sio kwenye picha ya kuingiza.

Ufafanuzi Intuitive

Equation 2.0 itasababisha RecCNN kubadilisha uzani wake ili matokeo yaonekane sawa iwezekanavyo na picha ya ingizo.

Mpango wa kujifunza

Mifano hufunzwa mara kwa mara, kama Gan. Uzito wa modeli ya kwanza hurekebishwa wakati uzani wa modeli ya pili unasasishwa, kisha uzani wa modeli ya pili hurekebishwa wakati modeli ya kwanza inafunzwa.

Majaribio

Waandishi walilinganisha njia yao na mbinu zilizopo, ikiwa ni pamoja na codecs rahisi. Njia yao hufanya vizuri zaidi kuliko wengine wakati wa kudumisha kasi ya juu kwenye vifaa vinavyofaa. Kwa kuongeza, waandishi walijaribu kutumia moja tu ya mitandao miwili na walibainisha kushuka kwa utendaji.

Kutumia AI kukandamiza picha
Ulinganisho wa Kielezo cha Kufanana kwa Muundo (SSIM). Maadili ya juu yanaonyesha kufanana bora na asili. Aina ya Bold inaonyesha matokeo ya kazi ya waandishi

Hitimisho

Tuliangalia njia mpya ya kutumia ujifunzaji wa kina kwa ukandamizaji wa picha, na tukazungumza juu ya uwezekano wa kutumia mitandao ya neva katika kazi zaidi ya kazi za "jumla" kama vile uainishaji wa picha na usindikaji wa lugha. Njia hii sio tu duni kwa mahitaji ya kisasa, lakini pia inakuwezesha kusindika picha kwa kasi zaidi.

Kujifunza mitandao ya neva kumekuwa rahisi, kwa sababu tulitengeneza msimbo wa ofa hasa kwa Habravchan HABR, ikitoa punguzo la ziada la 10% kwa punguzo lililoonyeshwa kwenye bango.

Kutumia AI kukandamiza picha

Kozi zaidi

Makala Zilizoangaziwa

Chanzo: mapenzi.com

Kuongeza maoni