Convolutional Neural Community, şəkillərdən xüsusiyyətləri çıxarmaq üçün filtrlərdən istifadə edən güclü neyron şəbəkəsidir. O, həmçinin bunu piksellərin yer məlumatlarını qoruyan şəkildə edir. Konvolution dediyimiz şey matrisə tətbiq olunan riyazi əməliyyatdır. Bu matris adətən piksel/rəqəm şəklində təqdim olunan şəkildir. Sadəcə olaraq, konvolution əməliyyatı şəkildən xüsusiyyətləri çıxarır.
Konvolution təbəqəsi, görüntünün bir hissəsini yoxladığımız və sonra həmin pəncərədən baxaraq bütün təsviri skan etdiyimiz bir pəncərəni təyin edir.
Konvolution qatında yuxarıdakı kimi təsvir üzərində səyahətçi kimi filtrdən (xüsusiyyət detektoru) istifadə olunur. Bu filtr təsvirdə hərəkət edir və müəyyən xüsusiyyətləri axtarmaq üçün olduğu nöqtənin pikselləri üzərində hesablamalar aparır, həmin pikseldəki hər bir nöqtəni yeni təsvirdə pikselə çevirir. Başqa sözlə desək, görüntüdə axtardığımız xüsusiyyətləri nümayiş etdirən bölgələrdən ibarət bir çıxış görüntüsü çıxarır. Əldə edilən çıxış xüsusiyyət xəritəsi və ya aktivləşdirmə xəritəsi adlanır.
Aşağıdakı parametrlər, evrişim (convolution) qatının necə işlədiyini müəyyən edən əsas hiperparametrlərdir:
- Evrişim filtrinin enini (üfüqi ölçüsünü) göstərir.
- Məsələn, kw = 3 olduqda, filtrin eni 3 piksel olur.
- Evrişim filtrinin hündürlüyünü (şaquli ölçüsünü) göstərir.
- Məsələn, ok = 3 olduqda, filtrin hündürlüyü 3 piksel olur.
- Giriş veriləninin kanal (dərinlik) sayını göstərir.
- Məsələn, boz səviyyəli (gri) təsvir üçün C(in)= 1, RGB təsvir üçün isə C(in)= 3 olur.
- İstifadə olunan filtr sayını və nəticədə alınan çıxış kanal sayını müəyyən edir.
- Hər filtr girişin fərqli xüsusiyyətlərini öyrənmək üçün istifadə olunur.
- Məsələn, C(out)= 64 olduqda, 64 müxtəlif filtr tətbiq edilir və nəticədə 64 fərqli xüsusiyyət xəritəsi (aktivasiya xəritəsi) yaradılır.
Bu parametrlər, evrişim qatının ölçülərinə və öyrənmə gücünə birbaşa təsir edir. Daha böyük filtrlər (kw, kh) daha geniş sahələri əhatə edir, daha çox filtr (C(out)) isə daha çox xüsusiyyətin tutulmasına kömək edir.
Konvolution təbəqəsinin çıxışına Aktivasiya funksiyası tədbiq edir.
Aktivasiya funksiyasının əsas məqsədi sinir şəbəkəsinə qeyri-xətti (non-linearity) xüsusiyyət qazandırmaqdır. Bu, modelin mürəkkəb nümunələri öyrənməsinə və daha yaxşı performans göstərməsinə kömək edir. Əgər aktivasiya funksiyası olmasa, şəbəkə sadəcə xətti bir mannequin kimi davranar və mürəkkəb əlaqələri öyrənə bilməz.
Hovuz qatı (POOL) Evrişim (Convolution) qatından sonra tətbiq edilən və verilənlərin ölçüsünü kiçildən (downsampling) bir əməliyyatdır. Bu, modelin daha az yaddaş istifadə etməsinə və hesablamaların sürətlənməsinə kömək edir.
✅ Veri ölçüsünü azaltmaq (Downsampling) — Şəbəkədəki parametrlərin sayını azaldaraq hesablama yükünü yüngülləşdirir.
✅ Əsas xüsusiyyətləri qorumaq — Kiçik dəyişikliklərə baxmayaraq əhəmiyyətli xüsusiyyətləri saxlayır.
✅ Həddindən artıq öyrənmənin (overfitting) qarşısını almaq — Modelin çox detallara həddindən artıq uyğunlaşmasının (memorization) qarşısını alır.
1️⃣ Maksimum hovuzlama (Max Pooling)
- Hər bir filtr sahəsindəki ən böyük (maksimum) dəyəri götürür.
- Məsələn, əgər 2×2-lik bir filtr varsa, bu filtrin örtüyü altına düşən ən böyük piksel dəyəri seçilir.
- Daha güclü xüsusiyyətləri vurğulayır və daha yaxşı obyekt aşkarlanmasına kömək edir.
2️⃣ Orta hovuzlama (Common Pooling)
- Filtrin örtüyü altına düşən bütün dəyərlərin ortalamasını alır.
- Hamarlama (smoothing) təsiri yaradır və məlumat itkisini azaldır.
- Adətən, detalların çox vacib olmadığı hallarda istifadə olunur.
hər bir girişin bütün neyronlara qoşulduğu sinir şəbəkəsinin bir hissəsidir. Bu qat, xüsusiyyətləri birləşdirərək yekun qərar qəbul edən hissə kimi işləyir.
Kompüter imaginative and prescient tapşırıqlarında obyektlərin aşkarlanması üçün istifadə edilən dərin öyrənmə arxitekturasının bir növüdür. RCNN konvolyusiya neyron şəbəkələrinin gücünü və regiona əsaslanan yanaşmaları birləşdirərək obyekt aşkarlama sahəsini inkişaf etdirməyə kömək edən qabaqcıl modellərdən biri idi.
Area Təklifi
R-CNN, giriş şəklini bir neçə bölgəyə və ya alt bölgəyə bölərək işə başlayır. Bu bölgələr “area proposal” (bölgə təklifləri) və ya “area candidate” (bölgə namizədləri) adlandırılır. Area proposal addımı, şəkildəki potensial bölgələrin yaradılmasından məsuldur; bu bölgələr çox güman ki, obyektləri ehtiva edir. R-CNN, bu təklifləri özü yaratmır; əvəzinə Selective Search (Seçimli Axtarış) və ya EdgeBoxes kimi xarici metodlardan istifadə edir.
Məsələn, Selective Search, rəng, tekstura və forma kimi müxtəlif şəkil ipuçlarına əsaslanaraq şəklin seqmentlərini birləşdirmək və ya ayırmaqla müxtəlif area proposal yaratmaq üçün işləyir.
Aşağıda Selective Search-in necə işlədiyini göstəririk: burada giriş şəkli göstərilir, daha sonra çoxluq parçalanmış maskaları olan bir şəkil, daha az maska, və nəhayət əsas komponentlərdən ibarət maskalar görünür.
R-CNN modelinin obyekt aşkarlama prosesindəki növbəti addım, bölgə təkliflərindən xüsusiyyətlərin çıxarılmasıdır . Bu addımda hər bir bölgə təklifi, CNN-in işləyə biləcəyi sabit ölçülə (məsələn, 224×224 piksel) yenidən ölçüləndirilir. Yenidən ölçüləndirmə əməliyyatı, CNN-in hər bir təklifi effektiv şəkildə emal etməsinə kömək edir.
Yenidən ölçüləndirmədən əvvəl, hər bir bölgə təklifinin ölçüsü daha yaxşı xüsusiyyət çıxarımı üçün genişləndirilir. Bu genişlənmə zamanı bölgənin ətrafına 16 piksel əlavə məlumat daxil edilir. Bu, bölgə təklifinin ətrafındakı vizual məlumatları da əhatə etməsini təmin edərək daha zəngin bir məzmun təsviri əldə etməyə kömək edir.
Yenidən ölçüləndirildikdən sonra bu bölgə təklifləri, ümumiyyətlə ImageNet kimi böyük bir verilənlər bazası üzərində öncədən təlim keçmiş olan AlexNet kimi bir CNN modelinə daxil edilir. CNN, hər bölgəni emal edərkən, kənarlar, teksturalar və naxışlar kimi vacib vizual detalları tutan yüksək ölçülü xüsusiyyət vektorlarını çıxarır. Bu xüsusiyyət vektorları, bölgələrdəki əsas məlumatları sıxlaşdırır və ham şəkil verilənlərini modelin daha çox analiz üçün istifadə edə biləcəyi bir formata çevirir.
Bu proses, obyektlərin düzgün şəkildə təsnif edilməsi və yerləşdirilməsi üçün çox önəmli rol oynayır. Vizual məlumatların mənalı dataya çevrilməsi, modelin obyekt aşkarlama performansının uğurunu birbaşa təsir edir. Beləliklə, R-CNN, bu xüsusiyyət vektorlarından istifadə edərək sonrakı addımlarda obyektləri müəyyən edir və onların siniflərini təyin edir.
Obyekt sinifləndirilməsi: Aşkar edilən obyektlərin müəyyən edilməsi
Üçüncü addım, bu bölgələrdəki obyektləri sinifləndirməkdir. Bu, təkliflər daxilində mövcud olan hər bir obyektin kateqoriyasının və ya sinfinin müəyyən edilməsini nəzərdə tutur. Çıxarılan xüsusiyyət vektorları daha sonra bir maşın öyrənmə sinifləndiricisindən keçirilir.
R-CNN halında, Dəstək Vektor Maşınlari (SVM-lər) bu məqsəd üçün geniş istifadə olunur. Hər bir SVM, xüsusiyyət vektorlarını analiz edərək və müəyyən bir bölgənin həmin sinfin nümunəsini ehtiva etdiyini və ya etmədiyini müəyyən edərək konkret bir obyekt sinfini tanımaq üçün təlim edilir. Əsasən, hər bir obyekt kateqoriyası üçün sözügedən obyekt üçün hər bir bölgə təklifini yoxlayan xüsusi bir sinifləndirici mövcuddur.
Təlim zamanı sinifləndiricilərə etiketli verilənlər təqdim edilir — bu verilənlər pozitiv və negativ nümunələrdən ibarətdir:
- Pozitiv nümunələr: Hədəf obyekti ehtiva edən bölgələr.
- Negativ nümunələr: Obyektin olmadığı bölgələr.
Sinifləndiricilər bu nümunələr arasında fərq qoymağı öyrənir. Sınırlayıcı qutu reqresyonu , əvvəlcə təklif edilən sınırlayıcı qutuları actual obyekt sərhədləri ilə daha yaxşı uyğunlaşdırmaqla aşkar edilən obyektlərin yerini və ölçüsünü daha da optimallaşdırır. R-CNN modeli, sinifləndirmə və sınırlayıcı qutu reqresyonunu birləşdirərək obyektləri müəyyən edə və düzgün şəkildə yerləşdirə bilir.
Obyekt aşkarlama tapşırıqlarında, sadəcə obyekti sinifləndirmək (məsələn, “maşın” və ya “insan” kimi tanımaq) kifayət deyil. Obyekti şəkildə dəqiq yerləşdirmək (lokalizasiya etmək) lazımdır. Lokalizasiya dedikdə, obyektin ətrafında onun actual ölçüsünə və formasına uyğun bir çərçivə (sınırlayıcı qutu) çəkmək nəzərdə tutulur.
Ancaq Selective Search kimi metodlarla yaradılan ilkin area proposal-lar (bölgə təklifləri) adətən dəqiq olmur. Bu təkliflər aşağıdakı parametrlərdə səhv ola bilər:
- Mövqe (qutunun harada yerləşdiyi),
- Ölçü (qutunun nə qədər geniş və ya dar olması),
- Side Ratio (eni və hündürlük nisbəti).
Bu problemi həll etmək üçün R-CNN, ilkin təklif edilən sınırlayıcı qutuları obyektin actual sərhədlərinə daha yaxşı uyğunlaşdırmaq üçün Sınırlayıcı Qutu Reqresyonu adlı bir prosesi tətbiq edir.
İlkin Area Proposal:
- Proses, Selective Search kimi xarici bir metodla yaradılan area proposal-larla başlayır. Bu təkliflər, obyektlərin şəkildə yerləşə biləcəyi yerlər haqqında təxmini tahminlərdir.
- Məsələn, bir maşın üçün təklif edilən qutu, maşının bir hissəsini əhatə edə bilər, lakin qutu sağa doğru bir az sürüşmüş və ya çox böyük ola bilər.
Xüsusiyyət Çıxarılması:
- Hər bir area proposal CNN (məsələn, AlexNet) vasitəsilə keçirilir və yüksək ölçülü xüsusiyyət vektorları çıxarılır. Bu xüsusiyyətlər, bölgənin vizual məzmununu təmsil edir.
Reqressiya Modelinin Təlimi:
- Hər bir obyekt sinfi (“maşın,” “insan” və s.) üçün ayrıca bir reqressiya modeli təlim edilir. Bu mannequin, sınırlayıcı qutunun koordinatlarını obyektin actual sərhədlərinə daha yaxşı uyğunlaşdırmağı öyrənir.
- Reqressiya modeli, sınırlayıcı qutunun aşağıdakı parametrləri üçün kiçik düzəlişlər (offset-lər) proqnozlaşdırır:
- Qutunun mərkəzinin x koordinatı ,
- Qutunun mərkəzinin y koordinatı ,
- Qutunun eni ,
- Qutunun hündürlüyü .
Sınırlayıcı Qutunun Düzəlişi:
- Reqressiya modeli tərəfindən proqnozlaşdırılan offset-lərdən istifadə edərək, ilkin sınırlayıcı qutu təkmilləşdirilir. Məsələn:
- Qutu çox sola sürüşmüşsə, reqressiya modeli onu sağa doğru sürüşdürəcək.
- Qutu çox böyükdürsə, reqressiya modeli onu kiçildəcək.
- Side ratio düzgün deyilsə, reqressiya modeli en və hündürlüyü uyğunlaşdıracaq.
R-CNN, eyni obyekt üçün birdən çox təklif edilmiş bölgə (area proposal) ola biləcəyi üçün, bu artıq təklifləri aradan qaldırmaq üçün Maksimum Bölmə Supressiya (NMS) adlı bir texnikadan istifadə edir.
NMS-in işləmə prinsipi aşağıdakı addımları əhatə edir:
Hər bir area proposal üçün sinifləndirici (məsələn, SVM) tərəfindən hesablanan güven balı (confidence rating) istifadə olunur. Bu bal, təklifin hədəf sinifinə help olma ehtimalını göstərir.
Eyni obyekt üçün birdən çox area proposal varsa, onların üst-üstə düşən hissələri hesablanır. Bu üst-üstə düşmə dərəcəsi IoU (Intersection over Union) metriki ilə ölçülür.
IoU, iki təklifin üst-üstə düşən sahəsinin, onların birləşmiş sahəsinə nisbətidir.
Güven balları əsasında ən yüksək ballı təklif saxlanılır, digər təkliflər isə IoU həddindən yüksək olduqda (məsələn, IoU > 0.5) ləğv edilir.
Nəticədə, hər bir aşkar edilən obyekt üçün yalnız bir optimum sınırlayıcı qutu qalır. Bu, nəticənin daha təmiz və intuisiv olmasını təmin edir.
Aşağıdakılar R-CNN arxitekturasının əsas güclü tərəfləridir.
Dəqiq Obekt Aşkarlanması:
R-CNN, bölgələrə əsaslanan konvolüsiya xüsusiyyətlərindən istifadə edərək dəqiq obyekt aşkarlaması təmin edir. Bu, obyektlərin dəqiq yerləşdirilməsi və tanınması vacib olan ssenarilərdə yüksək effektivlik göstərir.
Obyekt Dəyişikliklərinə Qarşı Davamlılıq:
R-CNN modelləri fərqli ölçülərdə, istiqamətlərdə və miqyaslarda olan obyektlərlə məşğul ola bilir, bu da onu müxtəlif obyektlərə və mürəkkəb fonlara malik actual dünya ssenariləri üçün uyğun edir.
Çox yönlülük:
R-CNN, nümunə segmentasiyası və obyekt izləmə kimi müxtəlif obyekt aşkarlama tapşırıqlarına uyğunlaşa bilən çevik bir çərçivədir. Şəbəkənin son qatlarını dəyişdirərək R-CNN-i öz xüsusi ehtiyaclarınıza uyğunlaşdırmaq mümkündür.
Aşağıdakılar R-CNN arxitekturasının bəzi zəif tərəfləridir.
Hesablama Çətinliyi:
R-CNN hesablama baxımından intensivdir. Bölgə proqnozlarının çıxarılması, hər bir proqnoza CNN tətbiq edilməsi və sonra çıxarılmış xüsusiyyətlərin sinifləndiricidən keçirilməsi kimi çox mərhələli proseslərdən ibarətdir. Bu proses yavaş və resurs tələb edən ola bilər.
Yavaş Nəticə Çıxarma (Inference):
Bölgə proqnozlarının ardıcıl işlənməsi səbəbindən R-CNN inferensiya zamanı nisbətən yavaşdır. Actual vaxt tətbiqləri üçün bu gecikmə qəbul edilə bilməz.
Üst-üstə düşən Bölgə Proqnozları:
R-CNN əhəmiyyətli dərəcədə üst-üstə düşən birdən çox bölgə proqnozu yarada bilər ki, bu da artıq hesablamalara səbəb olur və aşkarlama performansını potensial olaraq təsir edə bilər.
Finish-to-Finish Mannequin Deyil:
Quicker R-CNN kimi daha fashionable obyekt aşkarlama arxitekturalarından fərqli olaraq, R-CNN end-to-end mannequin deyil. Bölgə proqnozları və sinifləndirmə üçün ayrı modullardan istifadə edir, bu da hər iki tapşırığı birgə optimallaşdıran modellərlə müqayisədə daha az optimum performansa səbəb ola bilər.
- Quick R-CNN, tam giriş görüntüsü üzərində bir dəfəlik CNN tətbiq edir və bir xüsusiyyət xəritəsi (characteristic map) yaradır.
- Area proposal-lar bu xüsusiyyət xəritəsindən çıxarılır və RoI (Area of Curiosity) Pooling ilə sabit ölçülü xüsusiyyət vektorlarına çevrilir.
- Quick R-CNN, sinifləndirmə və lokalizasiyanı eyni şəbəkədə birləşdirir.
- Çıxışda hem sinifləndirmə (classification) hem də lokalizasiya (bounding field regression) üçün nəticələr verilir.
- Bu, modelin daha sadə və optimallaşdırılmış olmasını təmin edir.
- RCNN hər bir class üçün SVM yaradır və Enter gəldikdə modellər arasında hansının rating çoxdursa, həmin class seçilir.
- Quick R-CNN və sonrakı versiyalar (məsələn, Quicker R-CNN), SVM-ləri tamamilə ləğv edərək, sinifləndirmə tapşırığını CNN-in son qatlarına (totally related layers) həvalə edir. Bu, daha sadə və end-to-end bir arxitektura yaradır.
R-CNN: Area Proposal-ların Çıxarılması
Area Proposal Mənbəyi:
R-CNN-də area proposal-lar orijinal giriş görüntüsündən çıxarılır. Bu, xarici bir alqoritmdən istifadə edilərək həyata keçirilir. Ən çox istifadə olunan alqoritm Selective Search adlanır.
Proses:
- Giriş görüntüsü üzərində Selective Search alqoritmi tətbiq edilir. Bu alqoritm, görüntünün müxtəlif hissələrini analiz edərək potensial obyektləri təmsil edə biləcək area proposal-lar yaradır.
- Bu area proposal-lar, orijinal görüntüdən kəsilib (crop) alınır və sabit ölçülərə çevrilir (resize).
- Hər bir area proposal ayrı-ayrılıqda CNN-a verilir və CNN hər bir bölgə üçün xüsusiyyət vektoru çıxarır.
Məhdudiyyətlər:
- Area proposal-ların çıxarılması və hər birinin CNN-a verilməsi prosesi çox yavaşdır.
- Selective Search kimi xarici alqoritmlər end-to-end öyrənməni mümkün etmir.