Utilizà AI per cumpressà l'imaghjini

Utilizà AI per cumpressà l'imaghjini
L'algoritmi guidati da dati cum'è e rete neurali anu pigliatu u mondu per tempesta. U so sviluppu hè duvuta à parechje ragioni, cumpresi l'equipaggiu economicu è putente è una quantità enorme di dati. E rete neurali sò attualmente in prima linea di tuttu ciò chì hè in relazione cù i travaglii "cognittivi" cum'è a ricunniscenza di l'imaghjini, a cunniscenza di a lingua naturale, etc. Ma ùn deve esse limitatu à tali compiti. Questu articulu parla di cumu cumpressà l'imaghjini cù e rete neurali, utilizendu l'apprendimentu residuale. L'approcciu prisentatu in l'articulu hè più veloce è megliu cà i codecs standard. Schemi, equazioni è, sicuru, una tavula cù testi sottu u cut.

Stu articulu hè basatu nantu questu travagliu. Hè assumatu chì site familiarizatu cù e rete neurali è i so cuncetti. cunvoluzione и funzione di perdita.

Cosa hè a compressione di l'imaghjini è cumu funziona?

A cumpressione di l'imaghjini hè u prucessu di cunvertisce una maghjina in modu chì occupa menu spaziu. Semplicemente almacenà l'imaghjini piglià assai spaziu, per quessa, ci sò codecs cum'è JPEG è PNG chì miranu à riduce a dimensione di l'imaghjini originale.

Comu sapete, ci sò dui tipi di cumpressione d'imaghjini: senza perdita и cù perdite. Cum'è i nomi suggerenu, a cumpressione senza perdita pò mantene a dati di l'imaghjini originali, mentre chì a compressione perda perde qualchi dati durante a compressione. per esempiu, JPG sò algoritmi di perdita [approx. transl. - in fondu, ùn ci scurdemu ancu di JPEG senza perdita], è PNG hè un algoritmu senza perdita.

Utilizà AI per cumpressà l'imaghjini
Paragone di compressione senza perdita è perdita

Avvisu chì ci sò assai artefatti bluccati in l'imaghjini à a diritta. Questa hè infurmazione persa. I pixel vicini di culori simili sò cumpressi cum'è una sola zona per risparmià spaziu, ma l'infurmazioni nantu à i pixels attuali hè persa. Di sicuru, l'algoritmi utilizati in i codecs JPEG, PNG, etc. sò assai più cumplessi, ma questu hè un bon esempiu intuitivu di compressione di perdita. A cumpressione senza perdita hè bona, ma i schedari compressi senza perdita occupanu assai spaziu di discu. Ci hè megliu modi per cumpressà l'imaghjini senza perde assai infurmazioni, ma sò abbastanza lenti è parechji utilizanu approcci iterativi. Questu significa chì ùn ponu esse eseguiti in parallelu nantu à parechji core CPU o GPU. Questa limitazione li rende completamente impraticabili in l'usu di ogni ghjornu.

Ingressu di a Rete Neurale Convoluzionale

Se qualcosa deve esse calculatu è i calculi ponu esse apprussimativi, aghjunghje rete neurale. L'autori anu utilizatu una rete neurale cunvoluzionale abbastanza standard per migliurà a compressione di l'imaghjini. U metudu prisintatu ùn hè micca solu à parità cù e megliu suluzioni (se micca megliu), pò ancu aduprà l'informatica parallela, chì porta à un aumentu drammaticu di a veloce. U mutivu hè chì i Reti Neural Convolutional (CNN) sò assai boni per estrae l'infurmazioni spaziali da l'imaghjini, chì sò presentati in una forma più compacta (per esempiu, solu i pezzi "impurtanti" di l'imaghjini sò cunservati). L'autori vulianu aduprà sta capacità CNN per rapprisintà megliu l'imaghjini.

architettura

L'autori prupone una doppia reta. A prima rete piglia una maghjina cum'è input è genera una rapprisintazioni compacta (ComCNN). L'output di sta rete hè poi processatu da un codec standard (per esempiu, JPEG). Dopu avè trattatu da u codec, l'imaghjina hè passata à una seconda reta, chì "fixes" l'imaghjini da u codec in un tentativu di rinvià l'imaghjini originale. L'autori chjamanu sta reta Reconstructive CNN (RecCNN). Cum'è i GAN, e duie rete sò furmatu iterativamente.

Utilizà AI per cumpressà l'imaghjini
A rapprisentazione di ComCNN Compact hè passata à u codec standard

Utilizà AI per cumpressà l'imaghjini
RecCNN. L'output di ComCNN hè scalatu è alimentatu à RecCNN, chì pruverà à amparà u restu

L'output di u codec hè scalatu è dopu passatu à RecCNN. RecCNN hà da pruvà à rende l'imaghjini u più vicinu à l'uriginale pussibule.

Utilizà AI per cumpressà l'imaghjini
Quadru di cumpressione d'imaghjini end-to-end. Co(.) hè un algoritmu di cumpressione d'imaghjini. L'autori anu utilizatu JPEG, JPEG2000 è BPG

Cosa hè un restu?

U restu pò esse pensatu cum'è un passu di post-processamentu per "miglià" l'imaghjini decodificati da u codec. Avè assai "infurmazione" nantu à u mondu, una rete neurale pò piglià decisioni cognitive nantu à ciò chì risolve. Sta idea hè basatu nantu apprendimentu residuale, leghje i dettagli nantu à quale pudete ccà.

Funzioni di perdita

E duie funzioni di perdita sò usate perchè avemu duie rete neurale. U primu di questi, ComCNN, hè marcatu L1 è hè definitu cusì:

Utilizà AI per cumpressà l'imaghjini
Funzione di perdita per ComCNN

Spiegazione

Questa equazione pò esse cumplicata, ma hè in realtà u standard (errore quadratu mediu di a radica) MSE. ||² significa a norma di u vettore ch'elli racchiu.

Utilizà AI per cumpressà l'imaghjini
Equazioni 1.1

Cr denota l'output di ComCNN. θ denota l'apprendibilità di i paràmetri ComCNN, XK hè l'immagine di input

Utilizà AI per cumpressà l'imaghjini
Equazioni 1.2

Re() sta per RecCNN. Questa equazione trasmette solu u significatu di l'equazione 1.1 à RecCNN. θ denota i paràmetri di furmazione RecCNN (un cappellu in cima significa chì i paràmetri sò fissi).

Definizione intuitiva

L'equazione 1.0 pruvucarà à ComCNN per cambià i so pesi in modu chì quandu si ricreate cù RecCNN, l'imaghjini finali s'assumiglia quant'è pussibule à l'imaghjini di input. A seconda funzione di perdita RecCNN hè definita cum'è seguita:

Utilizà AI per cumpressà l'imaghjini
Equazioni 2.0

Spiegazione

In novu, a funzione pò esse cumplicata, ma questu hè per a maiò parte una funzione standard di perdita di rete neurale (MSE).

Utilizà AI per cumpressà l'imaghjini
Equazioni 2.1

Co() significa output codec, x cun un cappellu in cima significa output ComCNN. θ2 sò parametri di furmazione RecCNN, res() hè solu l'output residuale di RecCNN. Hè da nutà chì RecCNN hè furmatu nantu à a diffarenza trà Co () è l'imaghjini di input, ma micca in l'imaghjini di input.

Definizione intuitiva

L'equazione 2.0 pruvucarà RecCNN à cambià i so pesi in modu chì l'output pari u più simile pussibule à l'imaghjini di input.

Schema di apprendimentu

I mudelli sò furmatu iterativamente, cum'è GAN. I pesi di u primu mudellu sò fissi mentre i pesi di u sicondu mudellu sò aghjurnati, dopu i pesi di u sicondu mudellu sò fissi mentre u primu mudellu hè furmatu.

Testi

L'autori paragunanu u so metudu cù i metudi esistenti, cumpresi codecs simplici. U so metudu rende megliu cà l'altri mentre mantene una alta velocità nantu à u hardware adattatu. Inoltre, l'autori anu pruvatu à utilizà solu una di e duie rete è anu nutatu una calata di rendiment.

Utilizà AI per cumpressà l'imaghjini
Structural Similarity Index Comparison (SSIM). I valori elevati indicanu una megliu ressemblanza à l'uriginale. Tipu grassu indica u risultatu di u travagliu di l'autori

cunchiusioni

Avemu vistu un novu modu per applicà l'apprendimentu prufondu à a compressione di l'imaghjini, è avemu parlatu di a pussibilità di utilizà e rete neurali in i travaglii oltre i travaglii "generali" cum'è a classificazione di l'imaghjini è u trattamentu di a lingua. Stu metudu ùn hè micca solu inferjuri à i bisogni muderni, ma permette ancu di processà l'imaghjini assai più veloce.

L'apprendimentu di e rete neurali hè diventatu più faciule, perchè avemu fattu un codice promozionale in particulare per Habravchan HABR, dendu un scontu supplementu di 10% à u scontu indicatu nantu à u banner.

Utilizà AI per cumpressà l'imaghjini

Più corsi

Articuli presentati

Source: www.habr.com

Add a comment