You are on page 1of 26

ԵՐԵՎԱՆԻ ՊԵՏԱԿԱՆ ՀԱՄԱԼՍԱՐԱՆ

ԻՆՖՈՐՄԱՏԻԿԱՅԻ ԵՎ ԿԻՐԱՌԱԿԱՆ ՄԱԹԵՄԱՏԻԿԱՅԻ ՖԱԿՈՒԼՏԵՏ

ԾՐԱԳՐԱՎՈՐՄԱՆ և ԻՆՖՈՐՄԱՑԻՈՆ ՏԵԽՆՈԼՈԳԻԱՆԵՐԻ ԱՄԲԻՈՆ

ԻՆՖՈՐՄԱՏԻԿԱՅԻ ԵՎ ԿԻՐԱՌԱԿԱՆ ՄԱԹԵՄԱՏԻԿԱՅԻ ԿՐԹԱԿԱՆ

ԾՐԱԳԻՐ

ԲԵՋԱՆՅԱՆ ԱՆՆԱ ՍԵՐԺԻԿԻ

ԱՎԱՐՏԱԿԱՆ ԱՇԽԱՏԱՆՔ

ՊԱՏԿԵՐՆԵՐՈՒՄ ՕԲՅԵԿՏՆԵՐԻ ԽՈՐՈՒԹՅԱՆ


ԳՆԱՀԱՏՈՒՄ

«Ինֆորմատիկա և կիրառական մաթեմատիկա» մասնագիտությամբ

Ինֆոմատիկայի և կիրառական մաթեմատիկայի բակալավրի

որակավորման աստիճանի հայցման համար

ԵՐԵՎԱՆ 2023

1
#review this page, fill missing

Ուսանող՝ _
ստորագրություն

Բեջանյան Աննա
ազգանուն, անուն

Ղեկավար՝
ստորագրություն

For info about hakobyan

գիտ. աստիճան, կոչում, ազգանուն, անուն

«Թույլատրել պաշտպանության»

Ամբիոնի վարիչ՝
ստորագրություն

For info about Sargsyan


գիտ. աստիճան, կոչում, ազգանուն, անուն

«_ » _2023թ.

2
Պատկերներում օբյեկտների խորության գնահատում
Depth estimation of objects in images
Оценка глубины объектов на изображения

Համառոտագիր

Օբյեկտների խորության գնահատման խնդիրը իրենից ներկայացնում է


պատկերում օբյկեկտների խորության (տեսախցիկից ունեցած հեռավորության)
որոշում ՝ ունենանալով միայն մեկ լուսանկար։
Խորության գնահատման այս մեթոդը կիրառվում է ռոբոտաշինության,
ինքնավար մեքենաների նախագծման, վիրտուալ և լրացված իրականության,
պատկերների 3D տեսքի վերականգնման խնդիրներում։
Ելնելով խնդրի կարևորությունից և կիրառման բնագավառների խիստ
արդիականությունից ՝ կատարվել է ուսումնասիրություն խորը ուսուցման
մեթոդներով բավականին բարձր ճշտությամբ մեթոդ ստանալու համար։
---------

3
bovandakutiun 1

4
bovandakutiun 2

5
Հետազոտության նպատակը

Սահմանափակումներ

Այս ենթագլխում ներկայացված են հետազոտության ընթացքում ի


հայտ եկած սահմանափակումները:

Բակալավրի ավարտական աշխատանքի պատրաստմանր


տրամադրվող սուղ ժամանակը հիմնական սահմանափակումներից
մեկն է։ Հաշվի առնելով այն, որ խորը, բարդ նեյրոնային ցանցերի
ուսուցման տևողությունը կարող է ընդհուպ մինչև օրերի հասնել,
տվյալ ժամանակահատվածում տարբեր հիպերպարամետրերով ու
մեթոդներով փորձարկումների հնարավորությունը խիստ
սահմանափակ է դառնում։

6
Հաջորդ սահմանափակումը հաշվողական տեխնիկաների
սահմանափակ
հզորությունն է։ Հետազոտության ընթացքում օգտագործվել է ․․․․․․․

7
Գլուխ 2
Տեսություն
Ի՞նչ է նեյրոնային ցանցը
Նեյրոնային ցանցերը (հայտնի նաև որպես արհեստական նեյրոնային ցանցեր)
մեքենայական ուսուցման ենթաճյուղ են և ընկած են խորը ուսուցման հիմքում։
Դրանց կառուցվածքն ու աշխատանքի սկզբունքը ստեղծված են մարդու
ուղեղում գոյություն ունեցող նեյրոնային ցանցերի նմանությամբ և կրկնում են
կենսաբանական նեյրոնների՝ միմյանց հետ սիգնալների միջոցով կապը։
Ինչպես մարդու ուղեղում առկա նեյրոններն են ինֆորմացիա փոխանցում իրար,
այդպես էլ արհեստական նեյրոնային ցանցում է ինֆորմացիան՝ կշռավորված
փոխարկման ֆունկցիայի միջոցով անցնում մեկից մյուսին։
Նեյրոնային ցանցերը դասակարգվում են ըստ այն խնդիրների, որոնց համար
նախատեսված են։ Դրանցից են պերսեպտրոնը, բազմաշերտ
պերսեպտրոնը(MLP, feedforward neural network), կոնվոլուցիոն նեյրոնային
ցանցերը, ռեկուրենտ նեյրոնային ցանցերը և այլն։
Գոյություն ունեցող հաշվողական հզոր տեխնիկան թույլ է տալիս իրականացնել
միլիոնավոր նեյրոններից բաղկացած նեյրոնային ցանցերի ուսուցում, որոնք
կիրառելի են տարբեր խնդիրներում և ճշգրտությամբ ու ստացված
արդյունքներով գերազանցում են մեքենայական ուսուցման դասական
ալգորիթմներին։

Նեյրոնային ցանցերի կառուցվածքը


Խորը ուսուցման մեթոդները, այդ թվում նաև այս աշխատանքում ներկայացված
մեթոդները, հիմնված են նեյրոնային ցանցերի վրա, այդ իսկ պատճառով
կարևոր է նկարագրել դրանց կառուցվածքը, աշխատանքի սկզբունքը։
Նեյրոնային ցանցը բաղկացած է մուտքային, գաղտնի և ելքային շերտերից։
Մուտքային շերտը, ստանալով ինֆորմացիան, փոխանցում է գաղտնի շերտին,
որը կատարում է հանրահաշվական գործողություններ և արդյունքը փոխանցում
ելքային շերտին։
Յուրաքանչյուր շերտ կարող է կամայական թվով նեյրոններ պարունակել։
Տարբեր շերտերում գտնվող նեյրոնները միմյանց հետ կապակցված են, և այդ
կապերը տարբերվում են ցանցերի տարբեր տեսակներում։ Նեյրոնային ցանցերի
գերակշռող մասում բոլոր շերտերը և նեյրոնները մուտքային շերտից մինչև

8
ելքային շերտ միմյանց հետ կապակցված են կշիռների միջոցով։ Այդպիսի
օրինակ ներկայացված է նկար 2․1-ում։

նկար 2․1 ամբողջությամբ կապակցված բազմաշերտ նեյրոնային ցանցի օրինակ

Կշռային արժեքները թվային արժեքներ են՝ վերագրված հաջորդական


շերտերում երկու նեյրոնների միջև կապին։ Այսինքն կշռային արժեքների
միջոցով է որոշվում տվյալ հատկության՝ նեյրոնի կարևորությունը ելքային
արժեքի ստացման մեջ։ Նեյրոնային ցանցի ուսուցումը այնպիսի կշռային
արժեքների ստացումն է, որը կբերի հնարավորինս լավ արդյունքի։
Եթե դիտարկենք ուսուցչով ուսուցմամբ նեյրոնային ցանց(երբ ուսուցումն
իրականացվում է ստացված արժեքի և նախապես հայտնի իրական արժեքի
համեմատմամբ), ապա նեյրոնային ցանցը իրենից ներկայացնում է (2.1)
ֆունկցիայի մոտարկում։
y* = f *(x) (2.1)
Այսինքն նեյրոնային ցանցը 2.2 արտապատկերումն է կատարում, և ուսուցման
ընթացքում այդ ցանցի կշռային արժեքները փոփոխվում են այնպես, որ
մոտարկման սխալանքը նվազագույնի ձգտի։
y = f (x; w) (2.2)
Պարզագույն դեպքում f (x; w) -ը ներկայացվում է 2․3 հավասարման տեսքով,
որտեղ
9
W-ն կշռային մատրիցն է։
y = Wx + b (2.3)

Ակտիվացիոն ֆունկցիաներ

Միայն կշռային արժեքների ուսուցմամբ շատ խնդիրներում հնարավոր չէ


հասնել
նեյրոնային ցանցի լավ արդյունքի, որովհետև 2․2 հավասարման տեսքից պարզ
է, որ այս ներկայացման դեպքում ելքային արժեքը մուտքային արժեքներից
գծորեն է կախված, մինչդեռ իրական տվյալներում գերակշռում է ոչ
գծայնությունը։ Հետևաբար իրական ոչ գծային ֆունկցիայի հնարավորինս
ճշգրիտ մոտարկում ստանալու համար անհրաժեշտ է ելքային արժեքների՝
մուտքային արժեքներից կախվածությունը ոչ գծային դարձնել։ Ոչ գծայնացման
գործողությունը կատարվում է 2․2 հավասարման վրա ակտիվացիոն ֆունցիա
կիրառելու միջոցով։
Առավել հայտնի և գործածելի ակտիվացիոն ֆունկցիաներն են՝ ռելու,
սիգմոիդ,սոֆթմաքս։ Ֆունկցիաների գրաֆիկները ներկայացված են 2․2 նկարում։

նկար 2․2 ակտիվացիոն ֆունկցիաների գրաֆիկներ

Սիգմոիդ ակտիվացիոն ֆունկցիա

Ֆունկցիան ներկայացվում է 2․4-ի բանաձևով։

(2.4)

10
Ֆունկցիայի գրաֆիկը S-աձև տեսք ունի։ Քանի որ արժեքների տիրույթը [0,1]
միջակայքում է, ապա նպատակահարմար է օգտագործել այն մոդելների
դեպքում, որտեղ որպես ելք ցանկանում ենք հավանականություն ստանալ։

Սոֆթմաքս ակտիվացիոն ֆունկցիա

Ֆունկցիան ներկայացվում է 2․5-ի բանաձևով։

(2.5)
Սոֆթմաքս ակտիվացիոն ֆունկցիան օգտագործվում է մեկից ավելի դաս
ունեցող դասակարգման խնդիրներում։ Այսպիսի նեյրոնային ցանցերում
նպատակահարմար է որպես ելք ստանալ տվյալ դասին պատկանելու
հավանականությունը։ Սոֆթմաքսը, որպես մուտք ստանալով թվային վեկտոր,
վերադարձնում է հավանականությունների վեկտոր, որի կոորդինատների
գումարը հավասար է մեկի։

Ռելու ակտիվացիոն ֆունկցիա

Ֆունկցիան ներկայացվում է 2․6-ի բանաձևով։

(2.6)

Ֆունկցիան առավելապես օգտագործվում է կոնվոլուցիոն նեյրոնային


ցանցերում։ Հաշվողական դյուրինության և ցանցերի ուսուցումը էապես
բարելավելու շնորհիվ այս ակտիվացիոն ֆունկցիան ամենաշատն է
օգտագործվում ՝ հատկապես նեյրոնային ցանցի գաղտնի շերտերում։

Կորստի ֆունկցիա

Նեյրոնային ցանցերի ուսուցման ընթացքում մոդելի սխալը գնահատելու համար


օգտագործվում է սխալի ֆունկցիան, որը ցույց է տալիս, թե որքանով է
տարբերվում նեյրոնային ցանցի ստացած արժեքը իրական արժեքից։ Սխալի
ֆունկցիայի ընտրությունը կախված է խնդրից և ուսուցման համար
օգտագործվող տվյալների առանձնահատկությունից։
-------

11
2․2 Կոնվոլուցիոն նեյրոնային ցանցեր

Արհեստական բանականության արագ զարգացումը հանգեցրեց այսպես ասված


«համակարգչային տեսողության» ՝ ի հայտ եկան այնպիսի խնդիրներ , որոնց
լուծումը հնարավորություն տվեց համակարգչին նկարներում օբյեկտները
տարբերակել, իմաստային տարբերակում իրականացնել, պատկերից մեկ այլ
պատկեր ստանալ և այլն։ Գոյություն ունեցող տեխնիկական
հնարավորությունները բավարար չէին այսպիսի խնդիրների լուծման համար,
այդ պատճառով ստեղծվեցին կոնվոլուցիոն նեյրոնային ցանցերը, որոնց
միջոցով ուսուցանվող պարամետրերի քանակը հնարավոր եղավ նվազեցնել։
Կոնվոլուցիոն նեյրոնային ցանցերը կառուցվածքով նման են սովորական
նեյրոնային ցանցերին, տարբերությամբ, որ այստեղ ենթադրվում է, որ
նեյրոնային ցանցի մուտքը նկար է, և օգտվելով դրանից, մուտքային տվյալները
ձևափոխվում են չափողականությամբ ավելի փոքր տվյալների, որոնք, սակայն
պահպանում են կարևոր հատկությունները։
Գոյությունուն ունեն կոնվոլուցիոն նեյրոնային ցանցի տարատեսակներ,
սակայն դրանցում հիմնական բաղադրիչներն են կոնվոլուցիոն շերտը,
ենթանշմուշային շերտը(pooling layer) և ամբոջովին փոխկապակցված
շերտը(fully-connected layer):

2․2․1 Կոնվոլուցիոն շերտ


Կոնվոլուցիոն նեյրոնային ցանցի մուտքը, ինչպես արդեն նշվեց, նկար է: Նկարը
պիքսելների եռաչափ տենզոր է, որի երրորդ չափողականությունը կանաչ,
կարմիր, կապույտ գունային ալիքներին են։ Կոնվոլուցիոն նեյրոնային ցանցի
առաջին շերտից սկսած հաշվողական բարդություններ են առաջանում նկարի
այսպիսի կառուցվածքի համար անհրաժեշտ մեծ քանակի կշռային արժեքների
պահպանման և դրանց ուսուցումն իրականացնելու համար։ Այդ խնդիրը
լուծվում է կոնվոլուցիոն շերտում։
Այս շերտի աշխատանքի հիմքում ընկած է մարդու կողմից պատկերի
ընկալումը, որը կատարվում է նկարը մասերի բաժանելու, դրանցից
յուրաքանչյուրը ուսումնասիրելու և ստացված արդյունքները միացնելով
ամբողջական ինֆորմացիա ստանալու միջոցով։
Կոնվոլուցիոն շերտի բաղադրիչներից է ֆիլտրը կամ միջուկը։ Ֆիլտրի միջոցով
պիքսելների մատրիցը դիտարկվում է ենթամատրիցների հաջորդական
դիտարկման ձևով։
Միջուկը սահում է պիքսելների մատրիցի վրայով, միջուկի և այդ քայլում նրա
ազդեցության գոտում գտնվող ենթամատրիցի միջև սկալյար արտադրյալն է

12
հաշվարկվում և պահպանվում կոնվոլուցիոն շերտի արդյունք հանդիսացող
մատրիցի մեջ, որը կոչվում է հատկությունների քարտեզ (feature map) ։
Այնուհետև միջուկը սահում է կոնվոլուցիոն շերտի լրացուցիչ պարամետրի՝
քայլի համաձայն(stride)։
Նկար 2․1․1-ում մասնավոր օրինակով ներկայացված է միջուկի կիրառման
արդյունքը։
Արդյունքում ստացված հատկությունների քարտեզը ցույց է տալիս, թե ֆիլտրի
միջոցով ներկայացված հատկությունները նկարի որ հատվածներում են առավել
արտահայտված։

նկար 2․2․1 կոնվոլուցիայի արդյունքը 3x3 չափանի միջուկի և 1 սահքի քայլ արժեքի
դեպքում

2․2․2 Ենթանմուշային շերտ (Pooling layer)

Կոնվոլուցիոն շերտի արդյունքում ստացված հատկությունների քարտեզին


կիրառվում է ակտիվացիոն ֆունկցիա ՝ ոչ գծային տեսքի բերելով այն։
Այնուհետև, ընդհանուր դեպքում, ստացված մատրիցը մտնում է ենթանմուշային
շերտ, որը պատասխանատու է մուտքային մատրիցի չափողանականության
փոքրացման համար՝ պահպանելով կարևոր ինֆորմացիան։
Ընտրված չափերով սահող պատուհանն անցնում է մուտքային մատրիցի
վրայով՝ ըստ սահող քայլի պարամետրի, և իր ազդեցության գոտում գտնվող
ենթամատրիցից ընտրում ենթանմուշառման տվյալ տեսակի պայմանին
բավարարող արժեքը։
Ամենահաճախ օգտագործվող ենթանմուշառման երկու եղանակներն
առավելագույն և միջին ենթանմուշառումներն են։ (Նկար 2․2․2-ում ներկայացված
են դրանց կիրառման արդյունքները։)

13
Նկար 2․2․2 մաքսիմալ ենթանմուշառում, միջին ենթանմուշառում,2x2 միջուկի չափով և
2 սահքի քայլի պարամետրով

14
2․3 Տեսախցիկի մոդել
Համակարգչային տեսողության հիմքում ընկած է տեսախցիկը, որը ստանում է
իրական աշխարհի օբյեկտների պատկերային ինֆորմացիան, որպես
լուսանկար:
Այս աշխատանքում կիրառված տվյալների որոշ ձևափոխություններ և մեթոդներ
հասկանալու համար կարևոր է անդրադառնալ տեսախցիկի պարամետրերին,
լուսանկարների ստացմանը, և դրան առնչվող կարևորագույն
հասկացություններին։
Լուսանկարի ստացումը իրենից ներկայացնում է 3D կոորդինատական
համակարգից օբյեկտի պրոյեկտում 2D կոորդինատական հարթության վրա։
Այդ երկու հարթությունների մեջ օբյեկտի և նկարի գոյություն ունի խոչընդոտ
հանդիսացող հարոթություն՝ շատ փոքր անցքով պինհոլ տեսակի տեսախցիկ,
որի միջով անցնելով լույսի ճառագայթը պրոյեկտվում է նկարի հարթության վրա։
Նկար 2․3․1-ում պինհոլային տեսախցիկի աշխատանքի կառուցվածքն է
նկարագրված։ Այստեղ O-ն կոչվում է տեսախցիկի կենտրոն (սա այն կետն է,
որով անցնում է լույսի ճառագայթը)։ Իսկ f -ը ֆոկուսային հեռավորությունը, որը
հեռավորությունն է տեսախցիկի կենտրոնի և նկարի հարթության միջև։

նկար 2․3․1 օբյեկտի պրոյեկտումը նկարի հարթության վրա

2․4 Ստերեո տեսողություն

Հասկանալու համար, թե ինչպես են ստացվում այս աշխատանքում


ներկայացված մոդելի ուսուցման համար անհրաժեշտ տվյալների այն
շտեմարանները, որոնք պարունակում են նաև իրական խորության
քարտեզները, կարևոր է անդրադառնալ ստերեո տեսախցիկներից խորության
ստացմանը։
Ստերեո համակարգի հիմքում ընկած է մարդու տեսողական համակարգի
կողմից օբյեկտների պատկերային ընկալումը, մասնավորապես մարդու աչքերի
դիրքը։ Ստերեոհամակարգում երկու տեսախցիկներ՝ գտնվելով իրարից
որոշակի հեռավորության վրա, նկարում են միևնույն օբյեկտը, այնուհետև

15
դրանցից ստացված նկարներից յուրաքանչյուր պիքսելի խորության արժեքն է
վերականգնվում։

նկար 2․4․1 պարզեցված ստերեոհամակարգի օրինակ

Միևնույն օբյեկտի աջ և ձախ նկարները ստանալուց հետո որոշակի


ալգորիթմների միջոցով լուծվում է համապատասխանության
խնդիրը, որի նպատակն է որոշել ստերեո նկարներում պիքսելների
զույգերը, որոնք հանդիսանում են ֆիզիկական միևնույն կետի
պրոյեկցիա։
Նկար 2․4․1-ում ստերեո համակարգի օրինակ է ներկայացված , որի
կարևորագույն բաղադրիչներից են ստերեո նկարների միջև
հեռավորությունը (baseline), f ֆոկուսային հեռավորությունը,
համապատասխանեցման միջոցով ստացված պիքսելների զույգերի
միջև d հեռավորությունը (disparity)։
ՈՒնենալով վերը նշված պարապետրերը՝ տվյալ կետի
հեռավորությունը տեսախցիկից հաշվարկվում է 2․4․1 հավասարմամբ։

Depth = (f *Baseline)/d (2.4.1)

16
Գլուխ 3
ՀԱՐԱԿԻՑ ԱՇԽԱՏԱՆՔՆԵՐ
Այս գլխում նկարագրվում են ուսումնասիրված հոդվածները, մեև

Գնահատման չափանիշներ և մետրիկաներ

Տվյալների բազմության նկարագրություն

KITTI :
Տվյալների այս շտեմարանը համակարգչային տեսողության խնդիրների
հետազոտության համար նախատեսված խոշորագույն տվյալների
շտեմարաններից է՝ ստեղծված Կարլսրուեի և Տոյոտայի
տեխնոլոգիական ինստիտուտների կողմից։
Այն պարունակում է ավտովարման ընթացքում ՝ տարբեր
իրավիճակներում արված նկարներ, որոնք ստացվել են
լուսավորության և եղանակային տարբեր պայմաններում, շարժվող
մեքենայի վրա տեղադրված սարքերի միջոցով ։
Տվյալների շտեմարանը բաղկացած է ստերեո նկարներից և դրանց
համապատասխան ՝ LIDAR սենսորի 3D սկաններից պրոյեկտմամբ
ստացված խորության քարտեզներից։
Նկարներն այստեղ ունեն 1241x375 պիքսելային չափ (resolution)։
Ուսուցման համար օգտագործվում է 26 հազար ձախ նկար և 697
նկար՝ փորձարկման համար։
Որպես առավելագույն խորության արժեք հիմնականում
օգտագործվում է 80 մետրը։

17
նկար 3․1 KITTI տվյալների շտեմարանից նկարի և դրան
համապատասխան խորության նկարի օրինակ

NYU Depth V2:


Տվյալների այս շտեմարանը օբյեկտների տեղորոշման, իմաստային
սեգմենտացիայի, խորության գնահատման և հարակից խնդիրների
համար օգտագործվող տվյալների շտեմարան է։ Տվյալները հավաքվել են
Microsoft Kinect տեսախցիկի միջոցով, որը ստանում է օբյեկտի և՛ գունավոր
նկարը, և՛ խորության նկարը(RGB-D images): Տվյալների այս շտեմարանի
նկարները մոտ 120 հազար նկար տարբեր ներսանյակային նկարներ են, որոնց
ունեն 640x480 պիքսելային չափս (resolution) և ստացվել են 464 տարբեր
սենյակային վիդեո հաջորդականություններից։ Տվյալների շտեմարանը
բաժանվել է երեք մասի մոդելի ուսուցման համար ՝ ուսուցման (train),
հաստատման (validation) և փորձարկման (test) համար օգտագործվող։
Փորձարկման համար առանձնացված են 654 նկարներ, հաստատման
համար մոտ 750, իսկ ուսուցման համար ՝ 50 հազար։ Բոլոր խմբերում
նկարներն են և դրանց համապատասախան խորության
պատկերները։

նկար 3․1 KITTI տվյալների շտեմարանից նկարի և դրան


համապատասխան խորության նկարի օրինակ

18
Cityscapes:
Տվյալների այս շտեմարանը նախատեսված է իմաստային
սեգմենտացիայի և խորության գնահատման խնդիրների համա
համար։

նկար 3․1 KITTI տվյալների շտեմարանից նկարի և դրան


համապատասխան խորության նկարի օրինակ

19
20
Գլուխ 5
Առաջարկվող մոտեցումը և
արդյունքները

21
22
1․ներածություն(նպատակը,սահմանափակումները,
2․տեսություն
3․հարակից աշխատանքներ
dataset, metrics,
3․առաջարկվող մոտեցոիմ

23
https://www.ibm.com/topics/neural-networks

https://medium.com/deep-learning-demystified/introduction-to-
neural-networks-part-1-e13f132c6d7eշ

https://towardsdatascience.com/activation-functions-neural-
networks-1cbd9f8d91d6

24
https://cs231n.github.io/convolutional-networks/

https://web.stanford.edu/class/cs231a/course_notes/

https://towardsdatascience.com/using-convolutional-neural-network-for-
image-classification-5997bfd0ede4

https://www.baeldung.com/cs/disparity-map-stereo-
vision#:~:text=The%20disparity%20is%20the%20apparent,This
%20phenomenon%20is%20called%20disparity

25
26

You might also like