Бейнелерді тану мен компьютерлік көрудің классикалық әдістері



Жұмыс түрі:  Дипломдық жұмыс
Тегін:  Антиплагиат
Көлемі: 87 бет
Таңдаулыға:   
Кіріспе

Қазіргі уақытта есептеу жүйелері және ақпараттық жүйелердің дамуымен қатар өндірісте, ғылымда, күнделікті өмірде де автоматтандыру және роботтандыру жүйелері қанатын кеңінен жаюда. Соның салдарынан келіп түсетін ақпараттың қажеттіліктері арта түсуде, әсіресе бейнелі деректер артуда.
Жоғарыда айтылғандардың растамасы бойынша робототехниканы, мәтіндерді тану жүйелері, суреттерді тануға негізделген жүйелерді жаппай дамыту және пайдалану болып табылады және т.б. Соңғы кездері негізгі ақпарат көзі ретінде машиналық көруді пайдаланатын жүйелерге көп көңіл бөлінеді. Бұл жаңа суреттерді өңдеу және тану алгоритмдеріне қажеттіліктің туындауына әкелді.
Осыған қарамастан, бейнелерді тану міндеті әлі күнге дейін толық көлемде шешілмеген. Алайда елеулі шектеулер шеңберінде оны шешуге жақындауға мүмкіндік беретін әдістер бар.
Компьютерлік көру (машиналық көру) - сандық түрде бейнелерді оқуды, оларды өңдеуді және нәтижені тәжірибе жүзінде қолдануға жарамды нысанда қамтамасыз ететін нақты уақыт ауқымындағы бағдарламалық-техникалық құралдарының жиынтығы. Компьютерлік көруді зерттеу ғылыми жасанды интеллект және онымен байланысты нақты объектілердің бейнелерін оқу технологиялары, оларды өңдеу және қолданбалы есептерді автоматты түрде шешу үшін алынған деректерді пайдалану саласындағы бағыт болып табылады. Осы бағытқа байланысты әзірлемелер бастамасын 1950 жылдан бастап алған. Бұл саладағы алғашқы нақты табысқа 1958-1960 жылдары Корнелл аэронавтика зертханасында қол жеткізілді [1].
ЭЕМ-де IBM-740 қарапайым көру бейнелерін тану жүйесінің аппараттық нұсқасын іске асырумен байланысты Mark I Perceptron (әзірлеменің авторы - Фрэнк Розенблатт) әзірледі. Қазіргі уақытта алынған бейнені шаблонмен салыстыру тақырыбына әр түрлі нұсқалардан бастап, күрделі үш өлшемді модельді бейнелер бойынша құрастыруға дейін компьютерлік көру жүйелерін іске асыруға көптеген тәсілдер жеткілікті. Объектілерді тану тақырыбының көлемін ескере отырып, бұл дипломдық жұмыста суреттегі екі өлшемді бейнелердегі объектілерді, атап айтқанда ауылшаруашылық техникасының типі мен моделін автоматты түрде тану алгоритмдеріне назар аударылады, себебі бұл тақырып қазіргі уақытта ауыл шаруашылығы саласындағы өзекті мәселелердің бірі болып табылады.
Дипломдық жұмыстың мақсаты суреттегі ауылшаруашылық техникасының типі мен моделін автоматты түрде тануға арналған SDK әзірлеу болып табылады.
Дипломдық жұмыс мақсатымен сәйкес келесі есептер қойылады:
oo машиналық оқыту, бейнелерді тану және компьютерлік көру есептерін шешудің негізгі принциптері мен қазіргі әдістерін қарастыру, қол жетімді қолданыстағы жүйелерге талдау жүргізу;
oo тану арналған арнайы алгоритмді қарастыру және модельдерді пайдалана отырып, қойылған міндеттерді шешу үшін бұл тәсілді сипаттау;
oo аппараттық және бағдарламалық құралдарды таңдау және негіздеу;
oo екі өлшемді бейнелердегі ауылшаруашылық техникасының типі мен моделін автоматты түрде тану арналған SDK әзірлеу;
oo жобаның экономикалық тиімділігін есептеу және негіздеу.
Автоматтандырылған жүйе құру бойынша ғылыми маңыздығы - екі өлшемді бейнелердегі объектілерді іздеу алгоритмдері мен әдістерін қарастыру, оларды әрі қарай зерттеу және талдау мақсатында бейнелердегі объектілерді іздеудің кейбір алгоритмдерін іске асыру.
Жұмыстың тәжірибелік маңыздығы ауылшаруашылық техникасы объектілерін автоматты түрде анықтаудың тиімді көп сатылы жүйесінің жобасын әзірлеу, көрінудің жеткіліксіздігі, әр түрлі шығу тегіндегі шулар, кадрлардың жиілігінің төмендігі және тіркеуші жабдықтың рұқсат ету қабілетінің төмендігі жағдайында олардың параметрлерін айқындау болып табылады.
Дипломдық жұмыстың әдістемелік негізі ретінде қазақстандық және шетелдік авторларының бейнелерді тану бойынша ғылыми оқулықтары, сонымен қатар Интернет желісінен алынған өзекті ақпарат көздері құрайды.
Дипломдық жұмыстың құрылымы кіріспеден, алты бөлімнен, қорытындыдан, қолданылған әдебиеттер тізімінен және құрастырылған SDK листингісі көрсетілетін қосымшасынан тұрады.
1 Теориялық бөлім

1.1 Компьютерлік көру және бейнелерді тану мәселелеріндегі классикалық әдістеріне шолу

Қазіргі кибернетиканы зерттеу мен әзірлеудің маңызды салаларының бірі машиналық оқыту, бейнелерді тану және компьютерлік көру салалары болып табылады. Ақпараттық қоғам технологияларының жедел даму қарқыны, робототехниканың дамуы, ақылды үй және ақылды қала сияқты тұжырымдамаларын дамыту, заттар интернетін және жасанды интеллект жүйесін дамыту салалары уақытша ғылыми білімде ерекше орын алады. Көптеген қолданбалы есептерде қазіргі заманғы бағдарламалау тәжірибесінде деректерді жинау, кластерлеу және жіктеу әдістері, статистикалық шығару әдістері қолданылады. Күнделікті өмірге, корпоративтік, өнеркәсіптік орталарға нақты және виртуалды кеңістік арасындағы біртіндеп жойылатын технологиялар енгізіле бастады, бұл соңғы жылдары қолданылу саласы күрделі болып саналған танылымдардың бүгінгі күні қатардағы азаматтардың ұтқыр құрылғыларымен тәулік бойы шешіліп келе жатқан, барлық жерде енгізіліп жатқан тану технологияларының жаңа сапалы деңгейі болып табылады. Қатардағы пайдаланушының ақылды үй сияқты айқын топологиясы бар компьютерленген кеңістіктері, әр түрлі деңгейдегі көп пайдаланушы қосымша және виртуалды шындық, әр түрлі мақсаттағы компьютерлік ойындарда күрделенетін жасанды интеллект жаңа идеялар мен тәсілдерді, бейнелерді тану дәлдігі мен жылдамдығының жаңа деңгейін талап етеді.
Машиналық оқыту - жасанды интеллект теориясының ауқымды бөлігі, математикалық статистика, сандық оңтайландыру әдістері, ықтималдықтар теориясы бөлімдерін пайдаланатын қатаң математикалық пән. Машиналық оқытудың екі түрі бар: эмпирикалық деректерге негізделген прецеденттер бойынша оқыту (индуктивтік оқыту) және білім базасын қалыптастыру мен білімді формалауды көздейтін дедуктивтік оқыту. Дедуктивтік оқыту сараптамалық жүйелер саласына жатады, сондықтан машиналық оқытудың теориясы мен тәжірибесінде прецеденттер бойынша оқу қарастырылады [2].
Машиналық оқыту бөлімі жасанды интеллект туралы ғылым шеңберінде нейрондық желілер туралы ғылымды желілерді оқыту әдістеріне және желілер архитектурасы топологияларының түрлеріне бөлу нәтижесінде пайда болды. Бұл пән аясында қарастырылатын оқыту тәсілдерінің ерекшелігі:
oo мұғаліммен оқыту - әрбір прецедент үшін жағдай, шешім деген сөздер жұбы қатысты;
oo мұғалімсіз оқыту - жүйе объектілерді кластерлерге топтастырады және жұп ұқсастығы туралы деректерді пайдалана отырып, кіру ақпаратының өлшемін төмендетеді;
oo бекітумен оқыту - әрбір прецедент үшін жағдай, орта реакциясы жұбы бар (бекітумен оқыту мұғаліммен оқытудың жеке жағдайы деп есептеуге болады, сондай-ақ мұғалімсіз оқытудың жиі жағдайы да бар) [3].
Сондай-ақ оқытудың басқа да таралған тәсілдері бар, мысалы, белсенді оқыту (оқитын алгоритм келесі зерттелетін жағдайды тағайындауға мүмкіндігі бар), мұғалімді жақын тарту, трансдуктивтік оқыту, көп сатылы және көп нұсқалы оқыту, бірақ осы тәсілдердегі айырмашылықтар қарастырылып отырған мәселе шеңберінде маңызды емес. Барлық аталған әдістерді машиналық оқытудың дәстүрлі әдістерін жіктеу үшін және олардың кез келгенін жүзеге асыратын нейрондық желілерді оқыту алгоритмдерін жіктеу үшін қолдануға болады.
Қазіргі заманғы машиналық оқыту әмбебаптылықтың өткір мәселесімен бетпе-бет келеді, себебі алгоритмдердің біркелкі кеңістігі және индукция мәселесін жалпы шешу әдісі жоқ.
Бейнелерді тану теориясы информатика және аралас пәндер бөлімі ретінде әр түрлі табиғаттағы объектілерді жіктеу және идентификациялау әдістерін дамытады: сигналдар, жағдайлар, кейбір белгілердің соңғы жиынымен сипатталатын заттар.
Бейнелерді тану мәселесі сондай-ақ пән аралық зерттеулер өрісінде оның ішінде жасанды интеллект жасау жөніндегі жұмысқа байланысты, сондай-ақ компьютерлік шолу саласындағы тәжірибелік міндеттерді шешу кезінде жиі қолданылады, оған қарастырылатын жағдай да жатады.
Бейнелерді танудың классикалық есебін қою кезінде логикалық пайымдаулар мен математикалық дәлелдерге негізделе отырып, қатаң математикалық тілді қолдану қабылданған. Бұл тәсілге қарама-қарсы, тануға қатаң түрде формальды емес тәсілдерімен қалыптасқан жасанды нейрондық желілерде машиналық оқытуды пайдалана отырып, бейнелерді тану әдістері бар, бірақ бұдан әрі көрсетілгендей, нашар емес, кейбір жағдайларда классикалық әдістерден айтарлықтай асып түсетін нәтижені көрсететін болады.
Бейнелерді тану мәселесінің сипаты, сондай-ақ әр түрлі дәстүрлі әдістерді қолдану саласын тар мамандандырылған бағыттармен шектейді, олардың әрқайсысында бір әдіс тиімді болса және басқа әдістері тиімді емес болуы мүмкін. Бұл фактор индукция мәселесін жалпы шешудің күрделілігіне және осы пәнде себеп болады [4].
Компьютерлік көру саласы, өз кезегінде, объектілерді табу, бақылау және жіктеуді жүргізетін машиналарды құрудың теориясы мен технологиясы ретінде дамиды. Ғылыми пән ретінде, компьютерлік көру машиналық оқытумен және бейнелерді тану теориясымен тығыз байланысты, алайда бейнелерден ақпарат алатын және ақпаратты басқаратын жасанды жүйелерді құру теориясы мен технологиясының неғұрлым мамандандырылған саласына жатады.
Компьютерлік шолудың ішкі жүйелерінің негізінде автоматты жоспарлау немесе шешім қабылдау жасанды интеллект саласындағы маңызды бөлікті құрайды, өйткені ұйымның айтарлықтай күрделі деңгейдегі автономды жүйелері, кейбір механикалық әрекеттерді орындайтын (мысалы, роботтың кейбір орта арқылы орнын ауыстыру), олар жұмыс істейтін орта туралы ақпаратты ұсынатын жоғары деңгейлі деректерді қажет етеді. Сол себепті компьютерлік көру бейнелерді тану сынды сигналдарды өңдеумен тығыз байланысты, өйткені бір өлшемді сигналдарды өңдеудің көптеген әдістері статистиканы, оңтайландыру және геометрия әдістерін пайдаланатын компьютерлік шолу теориясы шеңберінде екі өлшемді немесе көп өлшемді сигналдарды өңдеу үшін табиғи жолмен кеңейтілуі мүмкін.
Компьютерлік көру, сондай-ақ суреттерді өңдеу және машиналық көру салаларымен тығыз байланысты. Суреттерді өңдеу саласы математикалық әдістерді пайдалана отырып, бір бейнелерді талдауға және екіншісіне түрлендіруге бағытталған. Компьютерлік көрудің жалпы теориясының бөлімі ретінде жиі қарастырылатын машиналық көру аймағы өнеркәсіптік қолдану технологияларына шоғырланған. Сондай-ақ, компьютерлік көру теориясының негізіне байланысты, тәуелді немесе пайда болған басқа да тар салалар бар, мысалы, бейнелерді жасау процесіне, оларды өңдеу мен талдауға бағытталған визуализация саласы [5].
Компьютерлік көру теориясы тек екі өлшемді бейнелерді өңдеу әдістерін ғана емес, сонымен қатар осы жұмыс шеңберінде көрсетілетін үш өлшемді сценариймен де жұмыс істейді.
Қазіргі уақытта компьютерлік көру мәселесінің не стандартты тұжырымы, не компьютерлік көру мәселесі қалай шешілуі тиіс деген тұжырымы да жоқ, оның орнына түрлі қатаң белгіленген міндеттерді шешу үшін көптеген әдістер әзірленді, бұл ретте пайдаланылатын әдістер кең қолдану аясы үшін сирек қолданылады. Осы жұмыста зерттелетін және қолданылатын жоғарыда қарастырылған екі ірі теорияларда айтылғандай, бұл фактор компьютерлік көру теориясындағы индукцияның жалпы мәселесін шешудегі қиындықтарды тудырады.

1.2 Бейнелерді тану мен компьютерлік көрудің классикалық әдістері

Бұл ішкі бөлімде компьютерлік көру теориясы, бейнелерді тану теориясы, машинамен оқыту теориясы және бейнелерді өңдеу компьютерлік көріністегі бейнелерді тану мағынасында қарастырылады. Басқа жағдайда басқа мағынасы көрсетіледі.
Компьютерлік көру, бейнелерді тану және машинамен оқытудың классикалық әдістерін шартты түрде үш топқа бөлуге болады [6]:
oo фильтрация тәсілі;
oo талдау тәсілі;
oo оқыту тәсілі.
Негізгі классикалық әдістер CC++ жазылған OpenCV кітапханасында іске асырылған және классикалық тәсілдерді қолдана отырып, компьютерлік көруді шешу кезінде үстем жағдайға ие.
Фильтрация.
Компьютерлік көру есептерінде фильтрация көбінесе оның ішкі морфологиялық белгілерін талдау алдында бейнені алдын-ала өңдеу үшін пайдаланылады, бірақ тек қана фильтрацияны қолдану жеткілікті болатын есептер де кездеседі (мысалы, машиналық көру есептерінде).
Бинаризация қарсаңында, гистограмма аймағын таңдау.
RGB суреттер үшін және сұр түсті градациялы суреттер үшін түс аса маңызды болып саналады. Бинаризация жүргізілетін шегін таңдау көбінесе бинаризация процесін анықтайды. Әдетте бинаризация шегін таңдаған бейімделу алгоритмі арқылы жүзеге асырылады. Мұндай алгоритм математикалық күтуді, сәнді немесе гистограмма пиктерін таңдау болуы мүмкін. Гистограммамен жұмыс істегенде бинаризация түстерді сегменттеу үшін тиімді.
Фурье түрлендіруі.
Фурье түрлендіруі бейнелерді таза күйінде өңдеуде дерлік қолданылмайды, өйткені бір өлшемді түрлендірудің бейнелерін талдау үшін әдетте жетіспеушілік туындайды және кең өлшемді екі өлшемді түрлендірудің ресурсын қолдану қажеттілігі туындайды. Бұл әдіс спектрді талдау қажет болған жағдайда ғана қолданылады, себебі дайын фильтрацияға қызығушылық танытқан аймақтың орамасын пайдалану жылдам және іске асыру оңай болады. Дегенмен, Фурье бір өлшемді түрленуі сурет компрессиясында қолданылады [7].
Жиілік фильтрациясы.
Төмен жиіліктер фильтрінің қарапайым мысалы - Гаусс фильтрі, жоғары жиіліктер фильтрі - Габор фильтрі. Әрбір кескін нүктесі үшін сол өлшемдегі фильтрі бар бастапқы деректердің туындысы (орама) орындалатын терезе таңдалады. Мұндай тәсіл қосымша ақпаратты редуциялай отырып және бейнеде қызықты ақпаратты бөлуге мүмкіндік бере отырып, тәжірибе жүзінде кеңінен таралған. Бұл әдіс ғылым мен техниканың көптеген салаларында жылдам шу басуды жүзеге асырудың бір тәсілі болып табылады [8].
Вейвлет-түрлендіру.
Сигналмен (сурет аймағы) орау үшін вейвлет деп аталатын вейвлет-түрлендіру ретінде анықталатын қандай да бір сипаттамалы функция қолданылады. Вейвлеттер - бұл уақыт және жиілік бойынша жергілікті функциялар жиынтығы, онда барлық функциялар оның уақыт осі бойынша жылжуы мен созылуы арқылы бір-бірінен алынады. Вейвлет талдауында қолданылатын классикалық функциялар жиынтығы бар. Оларға мыналар жатады: Хаара вейвлеті, Морле вейвлеті, Mhat вейвлеті, Добеши вейвлеті. Іс жүзінде вейвлет талдауы - бұл паттерн үлгісі бар суретті орау арқылы бейнедегі еркін паттернаны іздеу деп аталады. Классикалық вейвлеттер суреттерді сығу немесе жіктеу үшін пайдаланылады [9].
Корреляция көрсеткіштерін есептеу.
Вейвлет түрлендіру негізінде жатқан корреляцияны есептеу компьютерлік көру жүйелерінде алмастырылмайтын құрал болып табылады және көбінесе өзінің табиғи түрінде қолданылады, мысалы, жылжулар немесе оптикалық ағындарды табу (бейне ағынын корреляциялау) үшін жүзеге асырылады. Әр түрлі коррелятор негізінде қарапайым детекторлы жылжыту жүзеге асырылады.
Функция фильтрлері.
Бұл тәсілде суретте қарапайым математикалық функцияларды анықтауға мүмкіндік беретін математикалық фильтрлер қолданылады, ол үшін бастапқы бейненің әрбір нүктесіне қатысты оның көптеген туындайтын функцияларын құрайтын жинақтау бейнесі (жинақтау кеңістігі) қалыптасады. Классикалық мысал - суреттегі кез келген параметрленетін функцияларды табуға мүмкіндік беретін, суреттерге қолданылатын Хафа жалпылама түрлендіруі. Хафа түрлендіруі кез келген фигураларды іздеуге мүмкіндік береді, бірақ суреттерді өңдеуде оны пайдалану тұрақтылығына байланысты жеткіліксіз: бинаризация сапасына жоғары сезімталдық жұмыстың төмен жылдамдығы осы әдісті неғұрлым тиімді баламаларды іздеуге мәжбүр етеді. Хафаға тура түрлендіру үшін аналогы - бұл радонды түрлендіруге қолданылатын және БПФ арқылы есептелетін үлкен деректер массивінде өнімділікке айтарлықтай ұтысты береді.
Контур фильтрлері.
Контурлар фильтрлері бейнедегі күрделі объектілерді өңдеуді іске асыру қажет болған жағдайда, компьютерлік көру міндеттерін шешу кезінде өте пайдалы болып табылады. Контурлар фильтрлері бірнеше алгоритмдерді жүзеге асырады: контурларды іздеу алгоритмі ең жиі қолданылатын Кэнни операторы, Собль операторы, Лаплас операторы, Прюитт операторы және Робертс операторы. Кэнни алгоритмі максимумдарды басу ұғымын жүзеге асырады, яғни шекара пиксельдерімен градиент векторы бағытында жергілікті максимум градиентке қол жеткізілетін пиксельдерді жариялайды. Компьютер көзге зиян келтіреді және суреттерді өңдеу, іздеу кезінде шекараның объектілерін басқа жеке жағдайларын табу қиынға соғады, солардың ішіндегі ең жақсысы Кэнни детекторы болып табылады [10].
Басқа да фильтрлер.
Жоғарыда көрсетілген фильтрлердің модификациялары классикалық әдістер деңгейінде сүзу міндеттерінің басым санын шешуге мүмкіндік береді, бірақ олардан басқа тәжірибеде айтарлықтай сирек қолданылатын ондаған арнайы фильтрлеу алгоритмдері бар. Сыртқы түрдің белсенді моделі, риджлет-түрлендіру, курвлет-классикалық, вейвлет-функциялар және радонның түрлендіру өрісінде талдау негізінде пайда болған түрлендіру, бимлет-фильтр есебін ішінара іске асыратын түрлендіру, ішінара - объектілердің контурын табуға мүмкіндік беретін талдау есебі сияқты итерациялық фильтрлер неғұрлым қызығырақ болып табылады. Бұл фильтрлер үлкен ерекшелікке ие және өзінің кішігірім бағытына байланысты осы жұмыс шеңберінде толығырақ қарастырылмайды.
2 Технологиялық бөлім

2.1 Суреттің кроссореляциялық функциясының максимумын іздеу алгоритмі

Біз қоршаған адамдарды, заттарды, табиғатты көргенде, визуалды ақпараттың барлық ағынын өңдеу үшін біздің миымыздың қандай жұмыс көлемін атқаратынын түсінбейміз. Біз үшін таныс адамды фотосуретте анықтау немесе ғимаратты ескерткіштен айыру қиындық тудырмайды. Біздің компьютерлер үлкен көлемді ақпаратты, суреттерді, бейне және аудио файлдарды өте жақсы сақтай алады. Жеке фотогалереядан белгілі бір суретті табуға қандай кедергі болуы мүмкін? Осыған мынадай бірқатар сәттер кедергі жасайды:
oo оның масштабы, суреттер әр түрлі масштабта болады, бірдей деп қабылдайтын заттар, шын мәнінде әр түрлі бейнелерде, әр түрлі алаңдарда болуы мүмкін;
oo оның орны, бізді қызықтыратын объект суреттің кез келген жерінде орналасуы мүмкін;
oo фон және кедергілер, жеке объект ретінде қабылдайтын нәрсе, суретте мүлдем ерекшеленбеген және басқа заттардың аясында жатуы мүмкін. Айта кетерлігі, суретті мінсіз деп айту мүмкін емес және әр түрлі бұрмалаулар мен кедергілерге ұшырауы да ғажап емес;
oo проекция, айналу және көру бұрышы. Сурет үш өлшемді әлемнің екі өлшемдік жобасы ғана болып табылады. Сондықтан нысанның бұрылуы және бұрыштың өзгеруі шолуы суреттің екі өлшемді проекциясына түбегейлі әсер етеді. Бұрылысқа немесе оған дейінгі қашықтыққа байланысты бір объект әр түрлі сурет бере алады.
Екі суреттің кросс-корреляциялық функциясының максимумын іздеу алгоритмі келесі амалдармен түсіндіріледі. F(t) және g(t) функциялардың дискретті кросс-корреляцияларының Z сандары келесі формула (1) бойынша анықталады:

corrf,gn= m=-infinity+infinityfmg[n+m] (1)

Кроссореляция көбінесе сигналдарды өңдеуде қолданылады, бұл ретте f - үлгі, ал g - үлгі бар сигнал болып саналады. Нәтиже - бұл сандық вектор, ол сигналда үлгі қаншалықты басым болатындығын айқындайды. Біздің жағдайда, біз екі дискретті жарықтық функциясы ретінде бейнелерімізді ұсына аламыз және оларға кроссореляция әрекетін қолдана аламыз. Бұл функцияның максимумы суреттер ең көп сәйкес келетін аймақта болады. Шын мәнінде, кросс-корреляция операциясы екі функцияның тоғысуы болып табылады.
Дискретті кроссореляция функцияның максимумын екі суреттен іздеу алгоритмін түрлендіру. Жоғарыда айтылғандай, кроссореляция операциясы шын мәнінде екі функцияның тоғысуы болып табылады. Функциялардың тоғысуы - бір функцияның ұқсастығын көрсететін функционалдық талдаудағы операция. Оның мынадай касиеттері бар:
1. Коммутитивтік. Ағымдағы қасиет формула (2) бойынша анықталады:

f x g = g x f (2)

2. Ассоциативтілік. Бұл қасиет төмендегі формула (3) арқылы анықталады:

f x (g x h) = (f x g) x h (3)

3. Дистрибутивтілік, дискретті кроссореляция функцияның бұл қасиеті төмендегі формула (4) бойынша сипатталады:

f x (g + h) = (f x g) + (f + h) (4)
4. Скалярға көбейтудің ассоциативтілігі. Бұл қасиет төмендегі формула (5) бойынша анықталады:

a x (f x g) = (a x f) x g = f x (a x g), Ā a ϵ R (5)

5. Дифференциялау ережесі. Ағымдағы функция қасиеті төмендегі формула (6) бойынша сипатталады:

D (f x g) = Df x g = f x Dg, (6)

мұндағы, Df - f туынды функциясын білдіреді.
6. Фурье-бейненің қасиеті төмендегі формула (7)-де көрсетілген:

F (f x g) = F(f) x F(g) (7)

Нәтижесінде біз 6 тоғысу қасиетін пайдалана аламыз.
Фурье түрлендіруі - заттық айнымалы функцияның басқа заттық айнымалы функциясымен салыстыратын операциясы. Бұл жаңа функция бастапқы функцияны элементарлық құрамдастарға - әр түрлі жиіліктегі гармоникалық тербелістерге ыдырағандағы коэффициентін сипаттайды [11].
F функциясының Фурье түрлендіруі зат айнымалысы интегралды түрлендіргіш болып табылады және келесі формула (8)-бен беріледі:

f (ω) = 12PI-ααf(x)β-txωdx (8)

Шын мәнінде, Фурье - бейнелердің жарықтық функциясының Фурье-бейнелерін көбейту амалымен тоғысуды есептеу операциясына ауыстырады. Бұл өнімділікті біршама арттыруға мүмкіндік береді. Өз жұмысымызға қатысты Фурье дискреттік түрлендіруді пайдаланамыз. Бұл әдістің мынадай артықшылықтары бар [12]:
oo өткізудің қарапайымдылығы;
oo жұмыс жылдамдығы;
oo бейнедегі объектілерді сапалы детектеу;
oo масштабтау тұрақтылығы.
Аталған әдістің мынадай кемшіліктері бар:
oo бұл әдіс ғаламдық максимум іздейтін болғандықтан, ол тек 1 сәйкестік таба алады;
oo өзгерістерге төзімсіз;
oo бейнелердің жарықтылығының жалпы деңгейін өзгертуге салыстырмалы түрде төзімі төмен.
Кроссореляциялық функцияның максимумын іздеу алгоритмінің модификациясы.
Жоғарыда айтылғандай, бұл алгоритм жаһандық максимумды іздейді, сондықтан ол тек бір сәйкестікті таба алады. Бұл модификация осы мәселені шешуге арналған.
Шешім жаһандық максимумынан басқа да максимумдарды табу қажеттілігінде болып табылады. Мұны бірнеше төмендегі көрсетілген жолдармен жасай аласыз:
1. Төмендегі 9-формулаға сәйкес i және j координаттары бар барлық нүктелерді табу:

f(i, j) = f (max i, max j) - е, (9)

мұндағы, max i және max j - жаһандық максимум координаттары;
e - кейбір константа.
2. Төмендегі 10-формулаға сәйкес i және j координаттары бар барлық нүктелерді табу:
f(i, j) 1N k=0kwl=0lhf(k, l), (10)

мұндағы, w - сурет ені;
h - сурет биіктігі.
Бұл модификацияның нәтижесі тек 1 объектіні анықтау мәселесінен құтылу болып табылады.

2.2 Тұрақты сурет белгілерін анықтаудың SURF әдісі

SURF әдісі алгоритмі жұмысының принципі мынада. SURF әдісі арқылы кеңістік және эталонның бейнесі үшін оларға арналған ерекше нүктелер мен бірегей дескрипторлар бар. Бұл дескрипторлардың жиынтықтарын салыстыра отырып, біз кеңістікте эталондық нысанды бөліп аламыз.
SURF әдісі екі мәселені шешеді - кескіннің ерекше нүктелерін іздеу және масштабқа айналуға инвариантты дескрипторларды жасау. Әдіс Гессе матрицасының көмегімен ерекше нүктелерді іздейді. Детерминант матрица Гессе экстремума нүктелерінде максималды өзгеру градиенті жарықтығына жетеді. Ол дақтарды, бұрыштарды және сызықтардың шеттерін жақсы анықтайды [13].
Айналуға қатысты гессиан инвариантты, бірақ ауқымы инвариант емес, сондықтан SURF әдісі гессиандарды табу үшін түрлі масштабты фильтрлерді пайдаланады. Әрбір негізгі нүкте үшін Гессе матрицасының масштабты коэффициентінен алынған жарықтықты (градиент) және масштабты максималды өзгерту бағыты болып саналады.
Нүктедегі Градиент Хаар фильтрлері арқылы есептеледі.
Негізгі нүктелерді тапқаннан кейін SURF әдісі олардың дескрипторларын қалыптастырады. Дескриптор - әрбір негізгі нүкте үшін 64 (немесе 128) сан жиынтығынан тұрады. Бұл сандар негізгі нүкте айналасында градиент флуктуациясын көрсетеді (бұл флуктуация деп түсіндіріледі). Негізгі нүкте гессианның максимумы болып табылатындықтан, онда бұл нүктенің айналасында әр түрлі градиенттер бар учаскелері болуы тиіс екеніне кепілдік береді. Осылайша әр түрлі негізгі нүктелер үшін дескрипторлардың дисперсиясы (айырмашылығы) қамтамасыз етіледі [14].
Негізгі нүкте төңірегіндегі градиенттің флуктуациясы жалпы нүкте айналасындағы градиенттің бағытына қатысты есептеледі. Осылайша дескриптордың айналуға қатысты инварианттығына қол жеткізілді. Дескриптор деп есептелетін аймақ көлемі Гессе матрицасының ауқымымен анықталады, бұл масштабқа қатысты инварианттылық қамтамасыз етіледі. Градиент флуктуациясы Хаар фильтрінің көмегімен есептеледі.
Интегралдық көрініс. Гессе және Хаар фильтрлерін тиімді есептеу үшін суреттердің интегралды көрінісі қолданылады. Егер қысқаша айтатын болсақ, онда интегралдық көрініс өлшемдігі бастапқы бейненің өлшемімен сәйкес келетін матрица болып табылады, ал элементтер төмендегі формула (11)-ге сәйкес есептелінетін болады:

П(x, y) = i=0, j=0i=x, j=yI(i, j), (11)

мұндағы, I (і, j) - бастапқы сурет пикселдерінің жарықтығы.
Интегралды матрицаға ие бола отырып, суреттің еркін тікбұрышты аудандарының пиксель жарықтарының соммасын мына формула (12) бойынша өте шапшаң есептеуге болады:

SumOfRect(ABCD) = П(A) + П(С) - П(B) - П(D), (12)

мұндағы, ABCD - қолданушыны қызықтыратын тіктөртбұрыш.
Гессе матрицасын есептеу. SURF әдісінде ерекше нүктелерді анықтау Гессе (гессиана) матрицасының детерминантын есептеуге негізделген.
Екі өлшемді функция үшін Гессе матрицасы және оның детерминанты төмендегі формула (13)-ке сәйкес анықталады:

(13)

Гессианның мәні жергілікті минимум немесе сурет жарығының максимумын табу үшін қолданылады. Бұл нүктелерде гессианның мәні экстремумға жетеді. Төмендегі 1-суретте ерекше нүктелер (түрлі-түсті шеңберлермен сызылған) суреттің жарықтылығының жергілікті экстремумы болып табылатыны көрінеді. Ұсақ нүктелер гессианның шамасы бойынша шекті кесілу салдарынан ерекше деп танылмаған.

1-сурет. Нүктелердегі гессианның мәні экстремумға жетуі

Төмендегі 2-суретте Гессе матрицасының көмегімен негізгі нүктелер ретінде танылған кесіндінің ұштары көрсетілген.

2-сурет. Негізгі нүктелер ретінде танылған кесіндінің ұштары

Теориялық түрде Гессе матрицасының есептелуі Лапласиана Гауссианды іздеуге алып келеді. Шын мәнінде, Гессе матрицасының элементтері төмендегі көрсетілген 3-суретте бейнеленген фильтрлерге сурет пикселдерін тоғыстыру (туындылар жиынтығы) есептелген.

3-сурет. Фильтрлерге сурет пикселдерін тоғыстыру процесі

Көрсетілген суретте Гессе матрицасының төрт элементтерін табу үшін дискретизацияланған фильтрлер бейнеленген (Гессе матрицасы симметрлі болғандықтан, төртіншісі үшінші матрицаға сәйкес,). Фильтрлер кең тараған 9x9 пиксель кеңістіктік масштабын қолданады. Қараңғы аймақтар фильтрдің теріс мәндеріне, ашық - оң мәндеріне сәйкес келеді [15].
Алайда SURF әдісі суретте бейнеленген түрде лапласиан гауссиананы пайдаланбайды. Біріншіден, дискретизирленген лапласиан гауссиан үлгі айналғанда детерминант мәнінің өте үлкен шашырауы бар (ең дұрысында гессиан айналуға инвариантты болуы тиіс). Әсіресе, детерминант 45 градуста өзгеру аумағында отыр. Екіншіден, ең бастысы, Лаплас гауссиана фильтрі үздіксіз сипатқа ие. Барлық дерлік фильтр пиксельдері жарықтықтың әр түрлі шамаларына ие. Бұл суреттің интегралды матрицасы сияқты қуатты есептеу механизмін тиімді пайдалануға мүмкіндік бермейді. Сондықтан SURF әдісі лапласиан гауссианның бинаризацияланған аппроксимациясын пайдаланады (оны Fast-Hessian деп те атайды). Төмендегі 4-суретте көрсетілгендей, SURF әдісінде Гессе матрицасын табу үшін қолданылатын фильтрлер бейнеленген

4-сурет. Гессе матрицасын табу үшін қолданылатын фильтрлер

Ақ аймақтар + 1, қара - 2 (үшінші фильтрде - 1), сұр - нөлдік. Кеңістіктік масштабы - 9x9 пиксель. Бұл фильтр айналуға төзімді және оны интегралды матрицамен тиімді есептеуге болады. Осылайша SURF әдісінде гессиан төмендегі формула (14) бойынша есептелінеді:

det(Happrox) = DХХ x DYY - (0,9 x DXY)2, (14)

мұндағы, DХХ, DYY, DXY - жоғары суретте бейнеленген фильтрлер бойынша тоғысулар;
0,9 коэффициенті - теориялық негіздемеге ие және есептеулердің жақындық сипатын түзететін коэффициент.
Сонымен, ерекше нүктелерді табу үшін SURF сурет пиксельдері бойынша жүреді және ең көп гессианды іздейді. Әдісте гессианның шекті мәні беріледі. Пиксель үшін есептелген мән шегінен жоғары болса, пиксель негізгі нүктеге үміткер ретінде қарастырылады. Бұл жерде келесі жағдайды байқаған жөн. Гессиан туынды болып табылады және тек жарықтықтың ауытқуына байланысты болады, бірақ оның абсолюттік деңгейіне емес, онда ол сурет жарықтығының жылжуына қатысты инвариантты болып келеді. Осылайша үлгіні жарықтандыру деңгейінің өзгеруі, негізгі нүктелерді анықтауға әсер етпейді.
Сонымен қатар гессианның қасиеттері қара фонда ақ дақтың нүктесі, ақ фонда қара дақ нүктесі жоғары болады. Осылайша әдіс қараңғы және жарық бейнелерді анықтайды. Әдіс қара фонда ашық нүктелерді, ашық фонда қара нүктелерді таниды. Оны төмендегі 5-суретте анық байқауға болады.

5-сурет. SURF әдісінің сәйкес фонда нүктелерді тануы

2.2.1 Шкалаларды анықтау

Гессиан масштабқа қатысты инвариантты емес. Бұл дегеніміз бір пиксель үшін гессиан фильтрі ауқымын өзгерткенде өзгеруі мүмкін. Бұл мәселені шешу тек бір фильтрлердің әр түрлі масштабтарын таңдау және оларды кезекпен осы пикселге қолдану керек.
Симметрия және дискретизация тұрғысынан fast-Hessian фильтрінің өлшемі еркін мәндерді қабылдай алмайды. Бұл фильтрдің рұқсат етілген 6-қадаммен өлшемдері мынадай (ең аз мөлшерден бастап алсақ): 9, 15, 21, 27 және т.б. Алайда, іс жүзінде фильтрдің мөлшерін 6-ға біртіндеп арттыру тиімсіз, өйткені ірі масштабтар үшін 6-қадамы тым ұсақ, ал фильтрлер артық болып келеді. Сондықтан (және кейбір басқа себептер бойынша), SURF октавалар деп аталатын барлық масштабтарды бөледі. Әрбір октава масштабтың белгілі бір аралығын жабады және бұл фильтрдің өзіне тән өлшемі бар [16].
Бұл ретте, егер октаваға тек бір фильтр келсе, бұл тым өрескел жуықтау болар еді. Сонымен қатар әр түрлі масштабтар арасында түрлі октаваларда гессианның жергілікті максимумын таба алмаймыз. Бір нүкте әр түрлі масштабтарда гессианның бірнеше жергілікті максимумы болуы мүмкін. Бұл төменде көрсетілген 6-суретте жақсы көрінеді.

6-сурет. Бір нүктеде әр түрлі масштабтағы екі негізгі нүктенің көрсетілуі

Егер барлық гессиандардың арасынан ең көп іздейтін болсақ, онда максимумдардың біреуін ғана табуға болады, ал олар бірнешеу болуы мүмкін. Біреуі бір масштабта, екіншісі басқа масштабта іздестірілетін болады. Атап айтқанда, октавада бір фильтр емес, төрт фильтр бар, олар октаваның бар масштабын жақсы жабады.
Төмендегі 7-суретте SURF әдісінің алғашқы үш октавасы көрсетілген. Тікбұрышты сандар fast-Hessian фильтрінің өлшемін көрсетеді. Төменнен логарифмдік шкала-октавалармен жабылған ауқымдарды көрсетеді.

7-сурет. SURF әдісінің алғашқы үш октавасы

Бірінші октавада фильтр өлшемінің қадамы - 6, екінші - 12, үшінші - 24 және т.б. Көріп отырғанымыздай, октавалар бір-бірімен айтарлықтай жабылады. Бұл жергілікті максимумдарды табу сенімділігін арттырады.
Бұл жағдайда мынадай сұрақ туындайды, октав әр түрлі масштабтардың көптеген ерекше нүктелерін жабу үшін қаншалықты жеткілікті? Теориялық жағынан масштабтар шексіз, бірақ нақты суреттерде олар толығымен түпкі және негізгі массасы 1-ден 10-ға дейінгі аралықта шоғырланған. Бұл диапазонды жабу үшін төрт октава жеткілікті. Оған қосымша үлкен масштабтарды жабу үшін бір немесе екі октава қосылады. Барлығы 5-6 октав қолданылады. Теориялық тұрғыдан бұл 1024x768 пиксельдің суретінде әр түрлі масштабтарды жабу үшін жеткілікті.

2.2.2 Гессианның жергілікті максимумын табу

Гессианның жергілікті максимумын табу үшін 3x3x3 көрші нүктелер әдісі қолданылады. Оның мағынасы төмендегі 8-суретте түсіндірілген. Крестпен белгіленген пиксель жергілікті максимум болып саналады, егер оның гессианы оның масштабындағы кез келген көршісінен көп болса, сондай-ақ үлкен және кем масштабты көршісінен көп болса.

8-сурет. 3x3x3 көрші нүктелер әдісі

Жергілікті максимумның осындай анықтамасына сүйене отырып, октаваның кемінде үш фильтрі болуы тиіс екені түсінікті, әйтпесе гессианның жергілікті максимумының октаваның ішінде болу фактісін анықтау мүмкін емес.
Айта кетерлік, октава фильтрлері барлық пиксельдер үшін ғана ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
КОМПЬЮТЕРЛІК КӨРУ ТЕХНОЛОГИЯСЫНЫҢ ӘДІСТЕРІ
Көру қабілеті бұзылған мүгедек балалардың тұлғалық дамуының теориясы
Ақпараттық технологияны пайдалану арқылы оқушылардың конструкторлық білімін дамытудың шарттары
Саясаттағы, жастар ортасындағы экстремизм. Экстермизм түсінігі
ИНЖЕНЕРЛІК ЖӘНЕ КОМПЬЮТЕРЛІК ГРАФИКАҒА КІРІСПЕ НЕГІЗГІ АНЫҚТАМАЛАР. AutoCAD ЖҮЙЕСІНЕ КІРІСПЕ
Нашар көретін балалардың сөйлеу тілінің даму ерекшеліктері
Бұйрық сөйлеулер
Балалардың көру қабілетінің бұзылуы
Microsoft Office туралы түсінік және түрлері
Кеңейтілген шынайылық технологиясы
Пәндер