Съвременна компютърна визия. Задачи и технологии на компютърното зрение. Програмиране на компютърно виждане на Python

Как да научим компютъра да разбере какво е показано на картина или картина? Струва ни се просто, но за компютър това е просто матрица, съставена от нули и единици, от които трябва да получите важна информация.

Какво е компютърно зрение? Това е способността на компютъра да "вижда"

. Визията е важен източник на информация за човек, с който получаваме, според различни данни, от 70 до 90% от цялата информация. И, разбира се, ако искаме да създадем умен автомобил, трябва да реализираме същите умения и компютър.


Задачата на компютърното зрение може да бъде формулирана по-скоро неясна. Какво е "виж"? Разбираемо е, че къде се намира, просто гледаш. Това е заключението за разликите в компютърното зрение и човешкото зрение. Визията за нас е източник на знания за света, както и източник на метрична информация - т.е. способността да се разбират разстояния и размери.

Семантично ядро ​​на образа

Гледайки изображението, можем да го характеризираме с редица характеристики, така да се каже, извличане на семантична информация.
Например, гледайки тази снимка, можем да кажем, че е на открито. Какъв е този град, уличен трафик. Какви са автомобилите тук? Чрез конфигуриране на сградата и йероглифите можем да предположим, че това е Югоизточна Азия. От портрета на Мао Цзедун разбираме, че това е Пекин, и ако някой е видял видеото или е отишъл там, той ще може да предположи, че това е известният площад Тянанмън. Какво сме ниеможем ли да кажем за картината, като се има предвид? Можем да подчертаем обектите в образа, да речем, че там хората са, оградата е по-близо. Тук са чадърите, ето къщата, ето вик. Това са примери за класове от много важни обекти, които в момента се търсят.


Все още можем да извлечем някои характеристики или атрибути на обекти. Например, тук можем да определим, че това не е портрет на някои обикновени китайци, а именно Мао Цзедун. С кола, можете да определите, че тя е движещ се обект, и тя е твърда, т.е. по време на движението не се деформира. За флаговете можем да кажем, че тези обекти, те се движат, но те не са твърди, постоянно деформирани. А също и на сцената има вятър, може да се определи от развиващия се флаг и дори можете да определите посоката на вятъра, например, да духа от ляво на дясно.

Стойността на разстоянията и дължините в компютърната вселена

Метричната информация в науката за компютърното зрение е много важна. Това са всички видове разстояния. Например, за ровера това е особено важно, защото екипите от Земята са около 20 минути и отговорът е същият. Съответно, обаждането напред и назад е 40 минути. И ако изготвим план за движението на земните екипи, тогава трябва да вземем това предвид.
Успешно интегрирани технологии за компютърно зрение във видеоигри. От видеото, можете да изградите триизмерни модели на обекти, хора, а след снимките на потребителите могат да бъдат възстановени триизмерни модели на градове. И след това ходи с него. Компютърното зрение е доста широка област. Тя е тясно свързана с различни други науки. Частично компютърно зрениеулавя областта на обработката на изображения и понякога подчертава областта на машинно зрение, исторически така формирана.

Анализ, разпознаване на образи - пътят към създаването на по-висока интелигентност

Нека разгледаме тези понятия поотделно.
Обработката на изображения е област от алгоритми с входни и изходни изображения и ние вече правим нещо с нея. Анализът на изображението е област от компютърно зрение, която се фокусира върху работата с двумерни изображения и прави заключения от нея. Разпознаването на образи е абстрактна математическа дисциплина, която разпознава данните под формата на вектори. Тоест, на входа - векторът и ние имаме нещо общо с него. Къде се намира този вектор, ние не знаем много по принцип. Компютърно зрение - това първоначално е реконструкция на структурата на двуизмерните изображения. Сега тази област е станала по-широка и тя може да се тълкува като цяло като вземане на решения за физически обекти, основани на образа. Това е проблемът с изкуствения интелект. Паралелно с компютърното зрение в съвсем различна област, в геодезията, беше разработена фотограметрия - измерване на разстояния между обекти в двуизмерни изображения.

Произведенията могат да "виждат"

И последното е машинно зрение. Под машинното виждане е визията на роботи. Това е решението на някои производствени задачи. Може да се каже, че компютърната визия-е една голяма наука. Той частично съчетава някои други науки. И когато компютърното зрение получава специфично приложение, то става машинно зрение.
Областта на компютърното зрение има много практически приложения. Това е такасвързани с автоматизацията на производството. В предприятията става по-ефективно да замени ръчния труд с машината. Колата не се уморява, не спи, има нередовен работен график, тя е готова да работи 365 дни в годината. Така че, използвайки машинен труд, можем да получим гарантиран резултат в определен момент и това е доста интересно. Всички задачи за системи за компютърно зрение имат визуално приложение. И няма нищо по-добро от това да видим резултата от картината, само на етапа на изчисленията.

На прага в света на изкуствения интелект

Плюс областите - това е трудно! Съществената част на мозъка е отговорна за зрението и се смята, че ако човек научи компютъра "да види", т.е. напълно да приложи компютърно зрение, това е една от пълните задачи на изкуствения интелект. Ако можем да разрешим проблема на човешко ниво, най-вероятно в същото време ще решим проблема II. Какво е много добро! Или не много добре, ако гледате Терминатор 2. Защо визията е трудна? Защото изображенията на същите обекти могат да варират значително в зависимост от външни фактори. В зависимост от точките на наблюдение, обектите изглеждат различно. Например, една и съща фигура, заснет от различни ъгли. И това, което е най-интересно, цифрата може да бъде едно око, две очи или една и половина. И в зависимост от контекста (ако тази снимка е човек в тениска с привлечено око), тогава може да има повече от две очи.

Компютърът все още не разбира, но вече "вижда"

Друг фактор, който създава сложност, е осветлението. Една и съща сцена с различно осветление ще изглежда различно. Размерът на обектитеможе да варира. И обекти от всякакви класове. Е, как може да се каже за един човек, че височината му е 2 метра? Съвсем не. Височината на човек може да бъде и 2,3 м и 80 см. Подобно на обекти от друг тип, те все пак са обекти от един и същи клас.
Особено живи обекти претърпяват различни деформации. Коса на хора, спортисти, животни. Погледнете снимките на бягащите коне, за да определите какво се случва с тяхната грива и опашката е просто невъзможно. И припокриването на обекти в образа? Ако вземете такава снимка на компютър, тогава дори и най-мощната машина ще бъде трудна за вземане на правилното решение.
Следният поглед е прикритие. Някои предмети, животни са маскирани към околната среда и съвсем умело. И същите петна и цвят. Но въпреки това ги виждаме, макар и не винаги отдалеч. Друг проблем е движението. Обектите в движение изпитват невероятна деформация. Много обекти са много променливи. Тук, например, на две снимки под обекти като "фотьойл".
И можеш да седиш там. Но за да научи колата, че такива различни неща са форми, цветове, материали, всичко е обект "кресло" - това е много трудно. Това е задачата. Интегрирането на техниките за компютърно зрение е да научим колата да разбира, анализира и прогнозира.

Интегриране на компютърната визия в различни платформи

В масите компютърната визия започна да прониква през 2001 г., когато бяха създадени първите детектори. Направихме двама автори: Виола, Джоунс. Това е първият бърз и доста надежден алгоритъм, който демонстрира силата на техниките за машинно обучение. Сега наКомпютърното зрение е сравнително ново практическо приложение - разпознаването на лице от лицето.
Но признаването на човек, както е показано във филмите - в произволни ъгли, при различни условия на осветление - е невъзможно. Но за да се реши един проблем, един или различни хора с различно осветление или в различни пози, подобни, както в снимка в паспорта, може с висока степен на доверие. Изискванията за паспортни снимки до голяма степен се дължат на особеностите на алгоритмите за разпознаване на лица. Например, ако имате биометричен паспорт, то в някои модерни летища можете да използвате автоматична система за паспортен контрол. Неразрешеният проблем на компютърното зрение е способността за разпознаване на произволен текст
Може би някой е използвал системата за разпознаване на текста. Една от тях е Fine Reader, много популярна система Runet. Има много форми, в които трябва да попълните данните, те са добре сканирани, информацията се разпознава от системата много добре. Но с произволния текст на изображението, случаят е много по-лош. Тази задача остава нерешена.

Игри с участието на компютърно зрение, улавяне на движение

Отделна голяма област - е създаването на триизмерни модели и улавянето на движение (което е доста успешно приложено в компютърните игри). Първата програма, компютърно зрение използва, - системата за взаимодействие с компютъра с помощта на жестове. Със създаването му имаше много откритост. Самият алгоритъм е уреден съвсем просто, но за неговото инсталиране е необходимо да се създаде генератор на изкуствени образи на хората, които да получатмилиона снимки. Суперкомпютърът с тяхна помощ успя да намери параметрите на алгоритъма, с които сега работи най-добре. Ето един милион изображения и седмица суперкомпютърно броене време позволява да се създаде алгоритъм, който изразходва 12% от мощността на един процесор и ви позволява да възприемате позата на човека в реално време. Това е Microsoft Kinect (2010).
Намирането на изображения по съдържание позволява да качите снимка в системата и въз основа на резултатите, тя ще покаже всички изображения със същото съдържание и направени от един и същ ъгъл. Примери за компютърно зрение: триизмерни и двуизмерни карти сега се правят с него. Картите за автомобилни навигатори се актуализират редовно според видеорекордерите. Има база данни с милиарди снимки с геомодели. Като качите моментна снимка в тази база данни, можете да определите къде е направена и дори от какъв ъгъл. Естествено, при условие, че мястото е много популярно, че по едно време туристите са посетили там и са направили снимки на района.

Работи навсякъде

Роботика в момента, навсякъде, без нея. Сега има автомобили, които имат специални камери, които разпознават пешеходците и пътните знаци, за да предават команди на шофьора (това в известен смисъл е програма за компютърно зрение, която помага на шофьорите). Има и напълно автоматизирани работни коли, но те не могат да разчитат само на видеокамери, без да използват много допълнителна информация.

Модерен фотоапарат е аналог на камерата обскура

Да поговорим за цифровото изображение. Модерни цифрови фотоапаратиподредени по принципа на камерата. Само вместо отвора, през който светлинният лъч прониква и оформя контура на обекта на гърба на камерата, имаме специална оптична система, наречена леща. Неговата цел е да събере голям лъч светлина и да го преобразува така, че всички лъчи да преминават през една виртуална точка, за да получат проекция и да формират изображения на филм или матрица.
​​Модерните цифрови камери (матрици) се състоят от отделни елементи - пиксели. Всеки пиксел ви позволява да измервате енергията на светлината, която пада върху този пиксел общо, и да изведете един номер на изхода. Ето защо, в цифров фотоапарат, ние получаваме вместо набор от измервания на яркостта на светлината, която е паднала в отделно пикселно - компютърно поле на зрение. Ето защо, когато увеличаваме изображението, не виждаме плавни линии и ясни контури, и решетка от различни тонове на квадрати - пиксели. По-долу виждате първия цифров образ в света.
Но какво липсва в този образ? Цвят. И какъв е цветът? Психологическото възприемане на цвета
Цветът е това, което виждаме. Цветът на един обект, един и същ обект за човек и котка ще бъде различен. Тъй като ние (при хората) и животните имаме оптична система - поглед, той е различен. Следователно, цветът е психологическо свойство на нашето виждане, което възниква при наблюдение на обекти и светлина. И не физическото свойство на обекта и светлината. Цветът е резултат от взаимодействието на компонентите на светлината, сцената и нашата визуална система.

Програмиране на компютърно зрение с Python сизползване на библиотеки

Ако решите да приемете сериозно изследването на компютърното зрение, трябва веднага да се подготвите за редица трудности, науката не е най-лесната и крие редица капани. Но "Програмиране на компютърно виждане за Питон" в авторството на Ян Ерик Солема е книга, в която всичко се преподава на възможно най-прост език. Тук ще се запознаете с методите за разпознаване на различни обекти в 3D, научете как да работите със стерео изображения, виртуална реалност и много други програми за компютърно зрение. Книгата има много примери в Python. Но обясненията са представени, така да се каже, обобщени, за да не се претоварват твърде много научна и твърда информация. Работата е подходяща за студенти, само за любители и ентусиасти. Изтеглете тази книга и друга компютърна визия (pdf-формат) може да бъдете онлайн. В момента има отворена библиотека от алгоритми за компютърно зрение, както и обработка на изображения и цифрови алгоритми на OpenCV. Той е внедрен в повечето съвременни езици за програмиране, с отворен код. Говорейки за компютърно виждане, Python използва като език за програмиране, има и подкрепата на тази библиотека, като освен това непрекъснато се развива и има голяма общност. Microsoft предоставя своите Api-услуги, които могат да научат невронните мрежи да работят с изображенията на хората. Възможно е да се използва компютърно зрение, което Python използва като език за програмиране .

Свързани публикации