Ngagunakeun AI pikeun overcompress gambar

Ngagunakeun AI pikeun overcompress gambar
Algoritma anu didorong ku data sapertos jaringan saraf parantos nyandak dunya ku badai. Pangwangunanna kusabab sababaraha alesan, kalebet alat anu murah sareng kuat sareng jumlah data anu ageung. Jaringan saraf ayeuna aya di payuneun sadaya anu aya hubunganana sareng tugas "kognitif" sapertos pangakuan gambar, pamahaman basa alami, jsb. Tapi aranjeunna henteu kedah dugi ka tugas sapertos kitu. Artikel ieu ngobrol ngeunaan kumaha carana ngompres gambar nganggo jaringan saraf, ngagunakeun sésa pembelajaran. Pendekatan anu disayogikeun dina tulisan éta langkung gancang sareng langkung saé tibatan codec standar. Skéma, persamaan sareng, tangtosna, méja kalayan tés handapeun cut.

Artikel ieu dumasar kana ieu gawe. Hal ieu dianggap yén anjeun wawuh jeung jaringan saraf jeung konsep maranéhanana. konvolusi и fungsi leungitna.

Naon komprési gambar sareng kumaha jalanna?

Komprési gambar nyaéta prosés ngarobah hiji gambar ku kituna nyokot up kirang spasi. Kantun nyimpen gambar bakal nyéépkeun seueur rohangan, janten aya codec sapertos JPEG sareng PNG anu tujuanana ngirangan ukuran gambar asli.

Sakumaha anjeun terang, aya dua jinis komprési gambar: teu rugi и kalawan karugian. Sakumaha ngaranna nyarankeun, komprési lossless bisa nahan data gambar aslina, bari komprési lossy leungit sababaraha data salila komprési. contona, JPG mangrupakeun algoritma lossy [approx. narjamahkeun. - dasarna, hayu urang ogé ulah poho ngeunaan lossless JPEG], sarta PNG mangrupakeun algoritma lossless.

Ngagunakeun AI pikeun overcompress gambar
Ngabandingkeun komprési lossless jeung lossy

Perhatikeun yén aya loba artefak blocky dina gambar di katuhu. Ieu informasi leungit. Piksel tatangga tina warna anu sami dikomprés salaku daérah tunggal pikeun ngahémat rohangan, tapi inpormasi ngeunaan piksel anu saleresna leungit. Tangtosna, algoritma anu dianggo dina JPEG, PNG, sareng sajabana codec langkung kompleks, tapi ieu mangrupikeun conto intuitif anu hadé pikeun komprési lossy. Komprési lossless alus, tapi file dikomprés lossless nyokot loba spasi disk. Aya cara anu langkung saé pikeun niiskeun gambar tanpa kaleungitan seueur inpormasi, tapi aranjeunna rada laun sareng seueur anu ngagunakeun pendekatan iteratif. Ieu ngandung harti yén maranéhna teu bisa dijalankeun dina paralel on sababaraha CPU atanapi GPU cores. Watesan ieu ngajantenkeun aranjeunna henteu praktis dina pamakean sapopoé.

Input Jaringan Neural Convolutional

Upami aya anu kedah diitung sareng itungan tiasa perkiraan, tambahkeun jaringan saraf. Panulis ngagunakeun jaringan saraf convolutional anu cukup standar pikeun ningkatkeun komprési gambar. Metoda dibere teu ngan ngalakukeun dina tara jeung solusi pangalusna (lamun teu hadé), eta oge bisa ngagunakeun komputasi paralel, nu ngabalukarkeun kanaékan dramatis dina speed. Alesanna nyaéta Convolutional Neural Networks (CNNs) anu saé pisan pikeun ngekstrak inpormasi spasial tina gambar, anu teras disayogikeun dina bentuk anu langkung kompak (contona, ngan ukur bit "penting" gambar anu dilestarikan). Panulis hoyong ngagunakeun kamampuan CNN ieu pikeun ngagambarkeun gambar anu langkung saé.

gawena undagi

Nu nulis ngajukeun jaringan ganda. Jaringan munggaran nyandak gambar salaku input sareng ngahasilkeun perwakilan kompak (ComCNN). Kaluaran jaringan ieu lajeng diolah ku codec standar (misalna JPEG). Saatos diolah ku codec, gambar disalurkeun ka jaringan kadua, anu "ngalereskeun" gambar tina codec dina usaha pikeun ngabalikeun gambar aslina. Nu nulis ngaranna jaringan ieu Reconstructive CNN (RecCNN). Kawas GANs, duanana jaringan dilatih iteratively.

Ngagunakeun AI pikeun overcompress gambar
Répréséntasi ComCNN Compact disalurkeun ka codec standar

Ngagunakeun AI pikeun overcompress gambar
RecNN. Kaluaran ComCNN diskalakeun sareng disayogikeun ka RecCNN, anu bakal nyobian diajar sésana

Kaluaran codec diskalakeun teras dialihkeun ka RecCNN. RecCNN bakal nyobian ngajantenkeun gambar sacaket-caketna sareng aslina.

Ngagunakeun AI pikeun overcompress gambar
Kerangka komprési gambar tungtung-to-tungtung. Co(.) mangrupa algoritma komprési gambar. Panulis ngagunakeun JPEG, JPEG2000 sareng BPG

Naon sésana?

Sésana bisa dianggap salaku hambalan pos-processing pikeun "ngaronjatkeun" gambar keur decoded ku codec nu. Ngabogaan seueur "informasi" ngeunaan dunya, jaringan saraf tiasa nyandak kaputusan kognitif ngeunaan naon anu kudu dibenerkeun. gagasan ieu dumasar kana pangajaran sésa, baca rinci ngeunaan nu anjeun tiasa di dieu.

fungsi leungitna

Dua fungsi leungitna dipaké sabab urang boga dua jaringan saraf. Anu kahiji, ComCNN, dilabélan L1 sareng didefinisikeun kieu:

Ngagunakeun AI pikeun overcompress gambar
fungsi leungitna pikeun ComCNN

Panjelasan

Persamaan ieu sigana pajeulit, tapi sabenerna standar (root mean square error) MSE. ||² hartina norma véktor anu dikandungna.

Ngagunakeun AI pikeun overcompress gambar
Persamaan 1.1

Cr nunjukkeun kaluaran ComCNN. θ nuduhkeun kabisa diajar tina parameter ComCNN, XK nyaéta gambar input

Ngagunakeun AI pikeun overcompress gambar
Persamaan 1.2

Re() nangtung pikeun RecCNN. Persamaan ieu ngan saukur nepikeun harti persamaan 1.1 kana RecCNN. θ nunjukkeun parameter anu tiasa dilatih RecCNN (topi di luhur hartosna parameterna tetep).

Harti intuitif

Persamaan 1.0 bakal nyababkeun ComCNN ngarobih beuratna ku kituna nalika diciptakeun deui sareng RecCNN, gambar ahirna katingali sabisa-bisa sareng gambar input. Fungsi leungitna RecCNN kadua diartikeun kieu:

Ngagunakeun AI pikeun overcompress gambar
Persamaan 2.0

Panjelasan

Sakali deui, fungsina sigana pajeulit, tapi ieu mangrupikeun fungsi leungitna jaringan saraf standar (MSE).

Ngagunakeun AI pikeun overcompress gambar
Persamaan 2.1

Co() hartina kaluaran codec, x jeung topi di luhur hartina kaluaran ComCNN. θ2 mangrupikeun parameter anu tiasa dilatih RecCNN, res() nyaeta ngan kaluaran residual RecCNN urang. Eta sia noting yén RecCNN dilatih dina bédana antara Co () jeung gambar input, tapi teu dina gambar input.

Harti intuitif

Persamaan 2.0 bakal nyababkeun RecCNN ngarobih beuratna supados kaluaran katingali sabisa-bisa sareng gambar input.

Skéma pangajaran

Model dilatih iteratively, kawas Sukapura. Beurat model kahiji dibereskeun bari beurat model kadua keur diropéa, lajeng beurat model kadua dibereskeun bari model kahiji keur dilatih.

Tés

Panulis ngabandingkeun metodena sareng metode anu aya, kalebet codec saderhana. Metoda maranéhna ngalakukeun hadé ti batur bari ngajaga speed tinggi dina hardware luyu. Salaku tambahan, pangarang nyobian nganggo ngan ukur salah sahiji tina dua jaringan sareng nyatet turunna kinerja.

Ngagunakeun AI pikeun overcompress gambar
Babandingan Indéks Kasaruaan Struktural (SSIM). Nilai luhur nunjukkeun kasaruaan anu langkung saé sareng aslina. Tipe kandel nuduhkeun hasil karya pangarang

kacindekan

Urang nempo cara anyar pikeun nerapkeun learning jero kana komprési gambar, sarta ngobrol ngeunaan kamungkinan ngagunakeun jaringan neural dina tugas saluareun tugas "umum" kayaning klasifikasi gambar jeung ngolah basa. Metoda ieu henteu ngan inferior kana sarat modern, tapi ogé ngidinan Anjeun pikeun ngolah gambar leuwih gancang.

Diajar jaringan saraf janten langkung gampang, sabab kami ngadamel kode promo khusus pikeun Habravchan HABR, méré tambahan 10% diskon kana diskon dituduhkeun dina spanduk.

Ngagunakeun AI pikeun overcompress gambar

Langkung kursus

Artikel Diulas

sumber: www.habr.com

Tambahkeun komentar