Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Нейрондук тармактар ​​сыяктуу маалыматтарга негизделген алгоритмдер дүйнөнү каптап кетти. Алардын өнүгүшү бир нече себептер менен шартталган, анын ичинде арзан жана күчтүү жабдыктар жана чоң көлөмдөгү маалыматтар. Нейрондук тармактар ​​учурда сүрөт таануу, табигый тилди түшүнүү ж. Бирок алар мындай милдеттер менен чектелбеши керек. Бул материал калдыктарды үйрөнүүнүн жардамы менен нейрон тармактарынын жардамы менен сүрөттөрдү кысуу ыкмасын сүрөттөйт. Макалада берилген ыкма стандарттык кодектерге караганда тезирээк жана жакшыраак иштейт. Схемалар, теңдемелер жана, албетте, кесилген астындагы тесттер менен таблица.

Бул макала негизделген бул иш. Сиз нейрон тармактары жана алардын түшүнүктөрү менен таанышсыз деп болжолдонууда айлануу и жоготуу функциясы.

Сүрөттү кысуу деген эмне жана ал кандай түрлөрү бар?

Сүрөттү кысуу – бул сүрөттү азыраак орун ээлей тургандай кылып өзгөртүү процесси. Жөн гана сүрөттөрдү сактоо көп орун ээлейт, андыктан баштапкы сүрөттүн өлчөмүн кичирейтүүгө багытталган JPEG жана PNG сыяктуу кодектер бар.

Белгилүү болгондой, сүрөт кысуу эки түрү бар: жоготуу жок и жоготуулар менен. Аты айтып тургандай, жоготуусуз кысуу баштапкы сүрөт маалыматтарын калыбына келтирет, ал эми жоготуулуу кысуу кысуу учурунда кээ бир маалыматтарды жоготот. мисалы, JPG жоготуу алгоритмдери [болжол. котормо - негизинен, жоготуусуз JPEG жөнүндө да унутпайлы], жана PNG бул жоготуусуз алгоритм.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Жоготуусуз жана жоготуулуу кысууну салыштыруу

Оң жактагы сүрөттө көп блоктуу артефакттар бар экенине көңүл буруңуз. Бул жоголгон маалымат. Окшош түстөгү чектеш пикселдер мейкиндикти үнөмдөө үчүн бир аймак катары кысылган, бирок чыныгы пикселдер тууралуу маалымат жоголот. Албетте, JPEG, PNG, ж.б. кодектерде колдонулган алгоритмдер алда канча татаал, бирок бул жоготуулуу кысуунун жакшы интуитивдик мисалы. Жоготуусуз кысуу жакшы, бирок жоготуусуз кысылган файлдар дискте көп орун ээлейт. Көптөгөн маалыматты жоготпостон сүрөттөрдү кысуунун эффективдүү жолдору бар, бирок алар абдан жай жана көбү итеративдик ыкмаларды колдонушат. Бул аларды бир нече CPU же GPU өзөктөрүндө параллелдүү иштетүү мүмкүн эмес дегенди билдирет. Бул чектөө аларды күнүмдүк колдонуу үчүн таптакыр жараксыз кылат.

Convolutional Neural Network киргизүү

Эгер бир нерсени эсептөө керек болсо жана эсептөөлөр болжолдуу болушу мүмкүн болсо, кошуңуз нейрон тармагы. Авторлор сүрөт кысуусун жакшыртуу үчүн кыйла стандарттуу конволюциялык нейрон тармагын колдонушкан. Сунушталган ыкма эң мыкты чечимдер менен бирдей аткарбастан (эгер жакшы болбосо), ал параллелдүү эсептөөнү да колдоно алат, натыйжада ылдамдык кескин жогорулайт. Себеби, конволюциялык нейрон тармактары (CNN) сүрөттөрдөн мейкиндик маалыматын алууда абдан жакшы, алар кийинчерээк компакт түрүндө көрсөтүлөт (мисалы, сүрөттүн “маанилүү” биттери гана сакталат). Авторлор CNNдин бул өзгөчөлүгүн сүрөттөрдү жакшыраак көрсөтүү үчүн колдонгусу келген.

архитектура

Авторлор кош тармакты сунуш кылышкан. Биринчи тармак киргизүү катары сүрөттү алат жана компакттуу өкүлчүлүктү (ComCNN) жаратат. Бул тармактын чыгышы андан кийин стандарттык кодек (мисалы, JPEG) тарабынан иштетилет. Кодек тарабынан иштетилгенден кийин, сүрөт экинчи тармакка жөнөтүлөт, ал баштапкы сүрөттү кайтаруу аракетинде кодектен сүрөттү "түзөтөт". Авторлор бул тармакты кайра куруу CNN (RecCNN) деп аташкан. GANs сыяктуу эле, эки тармак тең итеративдик түрдө окутулат.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
ComCNN Compact өкүлчүлүгү стандарттык кодекке которулду

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
RecCNN. ComCNN чыгарылышы жогорулатылган жана RecCNNге берилет, ал калганын үйрөнүүгө аракет кылат

Кодек чыгаруу жогорулатылып, андан кийин RecCNNге берилет. RecCNN мүмкүн болушунча оригиналдуу сүрөттү чыгарууга аракет кылат.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Үчүн аягына чейин сүрөт кысуу алкагы. Co(.) – сүрөттү кысуу алгоритми. Авторлор JPEG, JPEG2000 жана BPG колдонушкан

Калганы эмне?

Калганын кодек чечмелеп жаткан сүрөттү "жакшыртуу" үчүн кайра иштетүүдөн кийинки кадам катары кароого болот. Дүйнө жөнүндө көптөгөн "маалыматтарга" ээ болгон нейрондук тармак эмнени оңдоо керектиги жөнүндө когнитивдик чечимдерди кабыл алат. Бул идея негизделген калган окутуу, мүмкүн болгон чоо-жайын окуп чыгыңыз бул жерде.

Жоготуу функциялары

Эки жоготуу функциясы колдонулат, анткени бизде эки нейрон тармагы бар. Алардын биринчиси, ComCNN, L1 деп аталат жана төмөнкүчө аныкталат:

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
ComCNN үчүн жоготуу функциясы

Түшүндүрүү

Бул теңдеме татаал сезилиши мүмкүн, бирок бул чындыгында стандарттуу (орточо квадраттык ката) ЭЭС. ||² алар камтыган вектордун нормасын билдирет.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Теңдеме 1.1

Cr ComCNNдин чыгышын билдирет. θ ComCNN параметрлерин үйрөтүү жөндөмдүүлүгүн билдирет, XK киргизүү сүрөтү

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Теңдеме 1.2

Re() RecCNN дегенди билдирет. Бул теңдеме жөн гана 1.1 теңдеменин маанисин RecCNNге өткөрөт. θ RecCNNдин үйрөтүлүүчү параметрлерин билдирет (жогорку жактагы капкак параметрлердин белгиленгендигин билдирет).

Интуитивдик аныктама

1.0 теңдемеси ComCNNди салмагын өзгөртүүгө мажбурлайт, ошондуктан RecCNN аркылуу реконструкцияланганда, акыркы сүрөт мүмкүн болушунча кириш сүрөтүнө окшош болуп көрүнөт. Экинчи RecCNN жоготуу функциясы төмөнкүчө аныкталат:

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Теңдеме 2.0

Түшүндүрүү

Функция дагы татаал көрүнүшү мүмкүн, бирок бул көбүнчө нейрондук тармакты жоготуу функциясы (MSE).

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Теңдеме 2.1

Co() кодек чыгарууну билдирет, үстүнө капкак менен x ComCNN чыгарууну билдирет. θ2 - RecCNNдин үйрөтүлүүчү параметрлери, res() бул жөн гана RecCNNдин калдыгы. Белгилей кетсек, RecCNN Co() менен кириш сүрөтүнүн ортосундагы айырмачылыкка үйрөтүлгөн, бирок киргизилген сүрөттө эмес.

Интуитивдик аныктама

Equation 2.0 RecCNNди өзүнүн салмагын өзгөртүүгө мажбурлайт, андыктан чыгаруу мүмкүн болушунча кириш сүрөтүнө окшош болушу үчүн.

Окуу схемасы

Модельдер итеративдик түрдө үйрөтүлөт, окшош GAN. Биринчи моделдин салмактары экинчи моделдин салмактары жаңыртылганда бекитилет, андан кийин экинчи моделдин салмактары биринчи модель үйрөтүлүп жатканда белгиленет.

тесттер

Авторлор өз ыкмасын учурдагы методдор менен, анын ичинде жөнөкөй кодектер менен салыштырышкан. Тиешелүү жабдыкта жогорку ылдамдыкты сактоо менен алардын ыкмасы башкаларга караганда жакшыраак иштейт. Кошумчалай кетсек, авторлор эки тармактын бирин гана колдонууга аракет кылышкан жана аткаруунун төмөндөшүн белгилешкен.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу
Структуралык окшоштук индекси (SSIM) салыштыруу. Жогорку баалуулуктар түпнускага жакшыраак окшоштугун көрсөтөт. Авторлордун ишинин натыйжалары кара шрифт менен белгиленген.

жыйынтыктоо

Биз сүрөттү кысуу үчүн терең үйрөнүүнү колдонуунун жаңы жолун карап чыктык жана нейрон тармактарын "жалпы" тапшырмалардан тышкары, сүрөттөрдү классификациялоо жана тилди иштетүү сыяктуу милдеттерде колдонуу мүмкүнчүлүгү жөнүндө сүйлөштүк. Бул ыкма заманбап талаптардан кем калбастан, сүрөттөрдү тезирээк иштетүүгө мүмкүндүк берет.

Нейрондук тармактарды изилдөө оңой болуп калды, анткени биз өзгөчө Khabra тургундары үчүн промо-код түздүк ХАБР, баннерде көрсөтүлгөн арзандатууга кошумча 10% арзандатуу берүү.

Сүрөттөрдү ашыкча кысуу үчүн AI колдонуу

Көбүрөөк курстар

Өзгөчөлөнгөн макалалар

Source: www.habr.com

Комментарий кошуу