Nggunakake AI kanggo overcompress gambar

Nggunakake AI kanggo overcompress gambar
Algoritma sing didhukung data kaya jaringan saraf wis nyerang jagad iki. Pangembangan kasebut amarga sawetara alasan, kalebu peralatan sing murah lan kuat lan akeh data. Jaringan saraf saiki ana ing ngarep kabeh sing ana gandhengane karo tugas "kognitif" kayata pangenalan gambar, pangerten basa alami, lsp. Nanging padha ora kudu diwatesi kanggo tugas kuwi. Artikel iki ngomong babagan carane ngompres gambar nggunakake jaringan syaraf, nggunakake sinau residual. Pendekatan sing ditampilake ing artikel kasebut luwih cepet lan luwih apik tinimbang codec standar. Skema, persamaan lan, mesthi, tabel kanthi tes ing ngisor potong.

Artikel iki adhedhasar iki kerja. Dianggep sampeyan wis kenal karo jaringan saraf lan konsepe. konvolusi и fungsi mundhut.

Apa kompresi gambar lan kepiye cara kerjane?

Kompresi gambar yaiku proses ngowahi gambar supaya njupuk spasi luwih sithik. Mung nyimpen gambar bakal njupuk akeh papan, mulane ana codec kayata JPEG lan PNG sing tujuane nyuda ukuran gambar asli.

Kaya sing sampeyan ngerteni, ana rong jinis kompresi gambar: ora rugi и karo losses. Minangka jeneng suggest, komprèsi lossless bisa nahan data gambar asli, nalika komprèsi lossy ilang sawetara data sak komprèsi. contone, JPG minangka algoritma lossy [kira-kira. transl. - Sejatine, ayo uga ora lali bab lossless JPEG], lan PNG minangka algoritma lossless.

Nggunakake AI kanggo overcompress gambar
Perbandingan kompresi lossless lan lossy

Elinga yen ana akeh artefak blocky ing gambar ing sisih tengen. Iki informasi sing ilang. Piksel tetanggan kanthi warna sing padha dikompres minangka area siji kanggo ngirit papan, nanging informasi babagan piksel nyata ilang. Mesthine, algoritma sing digunakake ing codec JPEG, PNG, lan sapiturute luwih rumit, nanging iki minangka conto intuisi sing apik babagan kompresi lossy. Kompresi lossless apik, nanging file kompres lossless njupuk akeh ruang disk. Ana cara sing luwih apik kanggo ngompres gambar tanpa kelangan akeh informasi, nanging cukup alon lan akeh nggunakake pendekatan iteratif. Iki tegese padha ora bisa mbukak ing podo karo ing sawetara inti CPU utawa GPU. Watesan iki ndadekake dheweke ora bisa digunakake saben dina.

Input Jaringan Syaraf Konvolusional

Yen ana sing kudu diwilang lan petungan bisa kira-kira, tambahake jaringan syaraf. Penulis nggunakake jaringan saraf convolutional sing cukup standar kanggo nambah kompresi gambar. Cara presented ora mung performs ing par karo solusi paling apik (yen ora luwih), uga bisa nggunakake komputer podo, kang ndadékaké kanggo Tambah serem ing kacepetan. Alesané yaiku Convolutional Neural Networks (CNNs) apik banget kanggo ngekstrak informasi spasial saka gambar, sing banjur ditampilake ing wangun sing luwih kompak (contone, mung bit "penting" gambar sing disimpen). Penulis pengin nggunakake kemampuan CNN iki kanggo makili gambar sing luwih apik.

arsitektur

Penulis ngusulake jaringan ganda. Jaringan pisanan njupuk gambar minangka input lan ngasilake perwakilan kompak (ComCNN). Output saka jaringan iki banjur diproses dening codec standar (contone, JPEG). Sawise diproses dening codec, gambar kasebut ditransfer menyang jaringan liya, sing "mbenerake" gambar saka codec ing upaya kanggo ngasilake gambar asli. Penulis menehi jeneng jaringan iki Reconstructive CNN (RecCNN). Kaya GAN, loro jaringan dilatih kanthi iteratif.

Nggunakake AI kanggo overcompress gambar
Perwakilan ComCNN Compact diterusake menyang codec standar

Nggunakake AI kanggo overcompress gambar
RecCNN. Output ComCNN ditambahake lan diwenehake menyang RecCNN, sing bakal nyoba sinau liyane

Output codec digedhekake banjur diterusake menyang RecCNN. RecCNN bakal nyoba nggawe gambar sing paling cedhak karo asline.

Nggunakake AI kanggo overcompress gambar
Kerangka kompresi gambar end-to-end. Co(.) minangka algoritma kompresi gambar. Penulis nggunakake JPEG, JPEG2000 lan BPG

Apa sing sisa?

Sisane bisa dianggep minangka langkah pasca-proses kanggo "ngapikake" gambar sing didekode dening codec. Nduwe akeh "informasi" babagan jagad iki, jaringan saraf bisa nggawe keputusan kognitif babagan apa sing kudu didandani. Ide iki adhedhasar sinau sisa, maca rincian babagan sing bisa kene.

fungsi mundhut

Loro fungsi mundhut digunakake amarga kita duwe rong jaringan saraf. Sing pisanan, ComCNN, diwenehi label L1 lan ditetepake kaya ing ngisor iki:

Nggunakake AI kanggo overcompress gambar
fungsi mundhut kanggo ComCNN

Panjelasan

Persamaan iki bisa uga katon rumit, nanging sejatine standar (root tegese kesalahan kuadrat) MSE. ||² tegese norma vektor sing dilampirake.

Nggunakake AI kanggo overcompress gambar
Persamaan 1.1

Cr nuduhake output ComCNN. θ nuduhake kemampuan sinau paramèter ComCNN, XK minangka gambar input

Nggunakake AI kanggo overcompress gambar
Persamaan 1.2

Re() singkatan saka RecCNN. Persamaan iki mung nuduhake makna persamaan 1.1 menyang RecCNN. θ nuduhake paramèter sing bisa dilatih RecCNN (topi ing ndhuwur tegese paramèter tetep).

Definisi Intuisi

Persamaan 1.0 bakal nyebabake ComCNN ngganti bobote supaya nalika digawe maneh karo RecCNN, gambar pungkasan katon meh padha karo gambar input. Fungsi mundhut RecCNN kapindho ditetepake kaya ing ngisor iki:

Nggunakake AI kanggo overcompress gambar
Persamaan 2.0

Panjelasan

Maneh, fungsi kasebut bisa uga katon rumit, nanging iki umume minangka fungsi mundhut jaringan syaraf standar (MSE).

Nggunakake AI kanggo overcompress gambar
Persamaan 2.1

Co() tegese output codec, x karo kupluk ing ndhuwur tegese output ComCNN. θ2 minangka parameter sing bisa dilatih RecCNN, res() mung output ampas RecCNN kang. Iku worth kang lagi nyimak sing RecCNN dilatih ing prabédan antarane Co () lan gambar input, nanging ora ing gambar input.

Definisi Intuisi

Persamaan 2.0 bakal nyebabake RecCNN ngganti bobote supaya output katon meh padha karo gambar input.

Skema sinau

Model dilatih kanthi iteratif, kaya GAN. Bobot saka model pisanan tetep nalika bobot saka model kapindho lagi dianyari, banjur bobot saka model kapindho tetep nalika model pisanan lagi dilatih.

Tes

Penulis mbandhingake metode kasebut karo metode sing wis ana, kalebu codec sing prasaja. Cara kasebut luwih apik tinimbang liyane nalika njaga kacepetan dhuwur ing piranti keras sing cocog. Kajaba iku, penulis nyoba nggunakake mung siji saka rong jaringan lan nyathet penurunan kinerja.

Nggunakake AI kanggo overcompress gambar
Structural Similarity Index Comparison (SSIM). Nilai dhuwur nuduhake resemblance sing luwih apik karo asline. Jinis kandel nuduhake asil karya penulis

kesimpulan

Kita nyawang cara anyar kanggo ngetrapake sinau jero kanggo kompresi gambar, lan ngomong babagan kemungkinan nggunakake jaringan saraf ing tugas ngluwihi tugas "umum" kayata klasifikasi gambar lan pangolahan basa. Cara iki ora mung kalah karo syarat modern, nanging uga ngidini sampeyan ngolah gambar luwih cepet.

Sinau jaringan saraf dadi luwih gampang, amarga kita nggawe kode promo khusus kanggo Habravchan HABR, menehi tambahan 10% diskon kanggo diskon dituduhake ing banner.

Nggunakake AI kanggo overcompress gambar

Kursus liyane

Artikel Pilihan

Source: www.habr.com

Add a comment