Машинска визија (computer vision) е научно поле во делот на вештачката интелигенција (artificial intelligence) што ги тренира компјутерите да го интерпретираат и разбираат визуелниот свет. Со користење на дигитални слики, видеа и модели за длабинско учење (deep learning), машините можат прецизно да идентификуваат и класифицираат објекти, за потоа соодветно да „реагираат“ на тоа што го гледаат.
Историја
Првите експерименти со машинска визија се случиja во 1950-тите години од минатиот век, со користење на невронски мрежи за едноставна детекција и сортирање на објекти на фотографии. Дваесетина години подоцна е првата комерцијална употреба на машинска визија, која интерпретира искуцан или рачно напишан текст преку препознавање на букви.
Развојот на интернетот во 1990-тите години овозможи достапност до огромни количества на различни типови слики кои се достапни на интернет, а со тоа започна и развојот на програмите за препознавање на лице (facial recognition software). Токму големата бројка на слики кои се достапни на интернет на машините им овозможи подобро да идентификуваат луѓе на фотографии и видеа.
Денес, повеќе фактори играат значајна улога за подобрувањето на машинската визија:
Широката употреба на паметни телефони обезбедува огромна количина на фотографии и видеа достапни на интернет.
Широка употреба на моќни компјутери.
Хардверот за машинска визија и анализа е лесно достапен.
Новите алгоритми максимално ги искористуваат можностите на хардверот и софтверот.
Ефектите од напредокот на технологијата врз машинската визија се многу големи. Стапката на прецизност за идентификација на објекти и нивна класификација драстично се зголеми во период пократок од 10 години. Денешните системи се попрецизни од луѓето во брза идентификација и реакција на визуелни инпути.
Процесот на машинска визија наликува на сложувалка
Комјутерите ги составуваат сликите на сличен начин како што ние составуваме сложувалка.
Да размислиме за момент како и пристапуваме на сложувалката. Ги имаме сите делови, останува само да ги составиме за да се креира сликата. На сличен начин функционираат невронските мрежи во машинска визија. Тие препознаваат многу различни делови (парчиња) од една слика, ги идентификуваат рабовите и ги моделираат субкомпонентите. Преку филтрирање и серија на дејствија преку слоевите на невронската мрежа, тие можат да ги состават сите делови од една слика.
Сепак, компјутерот не добива финална слика како што е онаа по која се водиме кога составуваме сложувалка, но добива стотици или илјадници поврзани слики за да се истренира и да препознава специфични објекти.
Да земеме за пример една фотографија од мачка. Наместо да го тренираме комјутерот да препознава конкретни делови од делото, програмерите прикачуваат милиони фотографии од мачки, од кои моделот ги учи сите физички карактеристики на ова животно.
Како фуникционира машинската визија
Процесот на машинска визија има три основни чекори:
Пронаоѓање на слика
Сликите, дури и во големи дата сетови, во реално време може да се добијат преку видео, фотографии или 3D технологија за подоцна да бидат анализирани.
Процесирање на слика
Моделите за длабинско учење го автоматизираат овој процес, но претходно се тренираат со илјадници означени или идентификувани слики.
Разбирање на сликата
Последниот чекор е интерпретативен чекор, каде објектот се идентификува или класифицира.
Денешните системи за вештачка интелигенција можат да одат чекор подалеку и да носат одлуки на основа на разбирање на сликата. Постојат многу типови на машинска визија кои се користат на различни начини:
- Сегментација на слика – процес кој ја партиционира сликата во повеќе региони (делови) кои се испитуваат одделно.
- Детектирање на објект – процес во кој се идентификува одреден објект на сликата. Напредните системи за детектирање може да препознаат многу различни објекти на една слика: фудбалско игралиште, офанзивен играч, дефанзивен играч, топка…. Овие модели користат X,Y координати за да креираат гранична кутија и да ги идентификуваат сите елементи што се наоѓаат во неа.
- Препознавање на лице – напреден тип технологија за детектирање на објекти, кој не само што може да препознае човечки лик, туку и специфична индивидуа.
- Откривање на рабови – техника која се користи за да се идентификува надворешен раб на некој објект, за подобро понатамошно идентификување на предметот на сликата.
- Откривање на шаблони – процес на препознавање на форми, бои и други визуелни индикатори кои се повторуваат на некоја слика.
- Класификација на слики – формирање на групи на слики кои влегуваат во различни категории.
- Усогласување на карактеристики – вид на детектирање на шаблони за сличности во сликите кој понатаму помага за нивно класифицирање.
Едноставните апликации може да користат една од овие техники, но понапредните како машинска визија за самоуправувачки возила се потпира на повеќе техники кои се користат во исто време.
Примери за машинска визија
Deep learning & computer vision
Image/Video Analysis and AI
Facial recognition systems
Станува збор за широко научно поле со бројни специјализирани методи и алатки, како и усовршување на методи за одредени домени на апликација.
„Машинската визија и широк спектар на примени, некои кои постојат подолго време (навигација со роботи, индустриска инспекција и воено разузнавање) и понови примени (интеракција човек-компјутер, пронаоѓање на слики во огромни дигитални библиотеки, медицина и многу други).
Машинска визија во индустриите
Користењето на машинска визија во многу индустрии дава значителни резултати:
- Машинската визија може да препознае меѓу исценирана и вистинска штета на автомобил
- Машинската визија овозможува препознавање на лица за безбедносни апликации
- Машинската визија овозможува автоматско плаќање на производи во модерни продавници
Извори:
- Computer Vision: What it is and why it matters | SAS
- Everything You Ever Wanted To Know About Computer Vision. | by Ilija Mihajlovic
- Introduction To Feature Detection And Matching | by Deepanshu Tyagi | Data Breach | Medium
- Image Segmentation: Part 1. Mathematical and practical… | by Mrinal Tyagi
- What is Facial Recognition – Definition and Explanation
- What Is Object Detection? – MATLAB & Simulink
- Pattern Recognition | Introduction – GeeksforGeeks
- What are Convolutional Neural Networks? | IBM