никулец Како функционира класификацијата на слики? - Обединете се.АИ
Поврзете се со нас
Мастеркласа за вештачка интелигенција:

АИ 101 година

Како функционира класификацијата на слики?

mm
Ажурирани on

Како може вашиот телефон да одреди што е објект само со тоа што ќе го фотографирате? Како веб-локациите на социјалните медиуми автоматски ги означуваат луѓето на фотографиите? Ова се постигнува преку препознавање и класификација на слики напојуван со вештачка интелигенција.

Препознавањето и класификацијата на сликите е она што овозможува многу од најимпресивните достигнувања на вештачката интелигенција. Сепак, како компјутерите учат да детектираат и класифицираат слики? Во оваа статија, ќе ги покриеме општите методи што компјутерите ги користат за интерпретација и откривање слики, а потоа ќе погледнеме некои од најпопуларните методи за класификација на тие слики.

Класификација на ниво на пиксели наспроти класификација базирана на објекти

Техниките за класификација на слики главно може да се поделат во две различни категории: класификација базирана на пиксели и класификација базирана на објект.

Пикселите се основните единици на сликата, а анализата на пикселите е примарен начин на кој се врши класификација на сликата. Сепак, алгоритмите за класификација можат или да користат само спектрални информации во поединечни пиксели за да класифицираат слика или да ги испитаат просторните информации (пиксели во близина) заедно со спектралните информации. Методите за класификација базирани на пиксели користат само спектрални информации (интензитетот на пиксел), додека методите за класификација базирани на објекти ги земаат предвид и спектралните информации за пиксели и просторните информации.

Постојат различни техники за класификација кои се користат за класификација базирана на пиксели. Тие вклучуваат минимално растојание до средно, максимална веројатност и минимално растојание Махаланобис. Овие методи бараат да се знаат средствата и варијансите на класите, и сите тие функционираат со испитување на „растојанието“ помеѓу класните средства и целните пиксели.

Методите за класификација базирани на пиксели се ограничени од фактот што тие не можат да користат информации од други пиксели во близина. Спротивно на тоа, методите за класификација базирани на објект може да вклучуваат други пиксели и затоа тие исто така користат просторни информации за класифицирање на ставки. Забележете дека „објектот“ се однесува само на соседните региони на пиксели, а не на тоа дали има или не целен објект во тој регион на пиксели.

Претходна обработка на податоци за слика за откривање објекти

Најновите и сигурни системи за класификација на слики првенствено користат шеми за класификација на ниво на објект, и за овие пристапи податоците за сликите мора да се подготвуваат на специфични начини. Објектите/регионите треба да бидат избрани и претходно обработени.

Пред сликата, и објектите/регионите во таа слика, да се класифицираат, податоците што ја сочинуваат таа слика треба да бидат интерпретирани од компјутерот. Сликите треба да бидат претходно обработени и подготвени за внесување во алгоритмот за класификација, а тоа се прави преку детекција на објекти. Ова е критичен дел од подготвувањето на податоците и подготовката на сликите за обука на класификаторот за машинско учење.

Откривањето на објектот се врши со различни методи и техники. За почеток, дали има или нема повеќе објекти од интерес или еден објект од интерес влијае на начинот на кој се постапува со претпроцесирање на сликата. Ако има само еден предмет на интерес, сликата е подложена на локализација на сликата. Пикселите што ја сочинуваат сликата имаат нумерички вредности кои се толкуваат од компјутерот и се користат за прикажување на соодветните бои и нијанси. Објектот познат како рамка за ограничување е нацртан околу предметот на интерес, што му помага на компјутерот да знае кој дел од сликата е важен и кои вредности на пиксели го дефинираат објектот. Ако има повеќе објекти од интерес на сликата, се користи техника наречена детекција на објекти за да се применат овие гранични полиња на сите објекти во сликата.

Фото: Адријан Роузброк преку Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

Друг метод на претпроцесирање е сегментација на сликата. Сегментацијата на сликата функционира со делење на целата слика на сегменти врз основа на слични карактеристики. Различни региони на сликата ќе имаат слични вредности на пиксели во споредба со другите региони на сликата, така што овие пиксели се групирани заедно во маски за слика што одговараат на обликот и границите на соодветните објекти во сликата. Сегментацијата на сликите му помага на компјутерот да ги изолира карактеристиките на сликата што ќе му помогнат да класифицира објект, слично како што прават кутиите за ограничување, но тие обезбедуваат многу попрецизни ознаки на ниво на пиксели.

Откако ќе се заврши откривањето на објектот или сегментацијата на сликата, етикетите се применуваат на предметните региони. Овие ознаки се внесуваат, заедно со вредностите на пикселите што го сочинуваат објектот, во алгоритмите за машинско учење кои ќе учат шеми поврзани со различните ознаки.

Алгоритми за машинско учење

Откако податоците ќе бидат подготвени и означени, податоците се внесуваат во алгоритам за машинско учење, кој ги обучува податоците. Ќе опфатиме некои од најчестите видови на машинско учење алгоритми за класификација на слики подолу.

К-Најблиски соседи

K-Nearest Neighbors е алгоритам за класификација што ги испитува најблиските примери за обука и ги разгледува нивните етикети за да ја утврди најверојатната ознака за даден тест пример. Кога станува збор за класификација на слики користејќи KNN, векторите на карактеристики и ознаките на сликите за обука се зачувуваат и само векторот на карактеристики се пренесува во алгоритмот за време на тестирањето. Векторите на карактеристики за обука и тестирање потоа се споредуваат едни со други за сличност.

Алгоритмите за класификација базирани на KNN се исклучително едноставни и тие се справуваат со повеќе класи прилично лесно. Сепак, KNN ја пресметува сличноста врз основа на сите карактеристики подеднакво. Ова значи дека може да биде склоно кон погрешна класификација кога е обезбедено со слики каде што само подмножество од карактеристики е важно за класификацијата на сликата.

Поддржувајте векторски машини

Поддржувачките векторски машини се метод на класификација што ги поставува точките во просторот, а потоа повлекува линии на поделба помеѓу точките, поставувајќи ги предметите во различни класи во зависност од тоа на која страна од рамнината на делење точките паѓаат. Векторските машини за поддршка се способни да прават нелинеарна класификација преку употреба на техника позната како трик на јадрото. Додека класификаторите на SVM често се многу точни, значителен недостаток на класификаторите на SVM е тоа што тие имаат тенденција да бидат ограничени и од големината и од брзината, при што брзината страда како што се зголемува големината.

Повеќеслојни перцептрони (невронски мрежи)

Повеќеслојните перцептрони, наречени и модели на невронски мрежи, се алгоритми за машинско учење инспирирани од човечкиот мозок. Повеќеслојните перцептрони се составени од различни слоеви кои се споени еден со друг, слично како што се поврзани невроните во човечкиот мозок. Невралните мрежи прават претпоставки за тоа како влезните карактеристики се поврзани со класите на податоците и овие претпоставки се прилагодуваат во текот на обуката. Едноставните модели на невронска мрежа како повеќеслојниот перцептрон се способни да учат нелинеарни врски и како резултат на тоа, тие можат да бидат многу попрецизни од другите модели. Сепак, MLP моделите страдаат од некои забележителни проблеми како присуството на неконвексни функции за загуба.

Алгоритми за длабоко учење (CNN)

Фото: APhex34 преку Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

Најчесто користен алгоритам за класификација на слики во последно време е Convolutional Neural Network (CNN). CNN се прилагодени верзии на невронски мрежи кои ги комбинираат повеќеслојните невронски мрежи со специјализирани слоеви кои се способни да ги извлечат карактеристиките најважни и релевантни за класификацијата на објектот. CNN може автоматски да открива, генерира и учи карактеристики на слики. Ова во голема мера ја намалува потребата за рачно означување и сегментирање на сликите за да се подготват за алгоритми за машинско учење. Тие исто така имаат предност во однос на MLP мрежите бидејќи можат да се справат со неконвексни функции за губење.

Конволуционите невронски мрежи го добиваат своето име поради фактот што тие создаваат „свирења“. CNN работат така што земаат филтер и го лизгаат преку слика. Можете да го замислите ова како гледање делови од пејзаж преку подвижен прозорец, концентрирајќи се само на карактеристиките што се гледаат низ прозорецот во секое време. Филтерот содржи нумерички вредности кои се множат со вредностите на самите пиксели. Резултатот е нова рамка, или матрица, полна со бројки што ја претставуваат оригиналната слика. Овој процес се повторува за избран број на филтри, а потоа рамките се спојуваат во нова слика која е малку помала и помалку сложена од оригиналната слика. Техниката наречена здружување се користи за да се изберат само најважните вредности во сликата, а целта е конволуционите слоеви на крајот да ги извлечат само најистакнатите делови од сликата што ќе и помогнат на невронската мрежа да ги препознае објектите на сликата.

Конвулуционални нервни мрежи се состојат од два различни дела. Конволуционите слоеви се тие што ги извлекуваат карактеристиките на сликата и ги претвораат во формат од кој слоевите на невронската мрежа можат да интерпретираат и да учат. Раните конволуциони слоеви се одговорни за извлекување на најосновните елементи на сликата, како едноставни линии и граници. Средните конволуциони слоеви почнуваат да доловуваат посложени форми, како едноставни кривини и агли. Подоцнежните, подлабоки конволуциони слоеви ги извлекуваат карактеристиките на сликата на високо ниво, кои се она што се пренесува во делот на невронската мрежа на CNN, и се она што го учи класификаторот.

Блогер и програмер со специјалитети во Машинско учење Длабоко учење теми. Даниел се надева дека ќе им помогне на другите да ја искористат моќта на вештачката интелигенција за општествено добро.