44
پردازش تصویر باfaradars.org/fvimg9405 هفتم جلسه: ق نقاط مورد عنطباق تشخیص و ا ه مدرس: نیالهام شعبانی ا هوش مصنوعی دانشجوی دکترایصفهانه انشگا دا ﻓﺮادرسFaraDars.org

آموزش پردازش تصویر با OpenCV - بخش هفتم

Embed Size (px)

Citation preview

Page 1: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

: جلسه هفتمه تشخیص و انطباق نقاط مورد عالق

الهام شعبانی نیا:مدرسدانشجوی دکترای هوش مصنوعی

دانشگاه اصفهان

فرادرس

FaraDars.org

Page 2: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

مقدمه

Interestمفهومماشینبیناییدر• pointsتصویر،تثبیتاشیا،تشخیصدرمسائلازبسیاریحلبرای.گیردمیقراراستفادهموردغیرهوبعدیسهمجددساخت،ردیابی

وتصویردرخاصنقطهچندانتخابتصویر،یککلبهکردننگاهجایبهکهاستایدهاینبرمبتنیمفهوماین•.باشدمفیدتواندمینقاطاینرویمحلیتحلیلیکانجام

دادهصتشخینظرموردتصویردرنقاطاینازکافیتعدادکهکندعملخوبیبهتواندمیزمانیرهیافتاین•یابیکانمدقیقاًراهاآنبتوانکهطوریبهباشند،پایداریهایویژگیدارایوتشخیصقابلنقاطاینوشوند،.کرد

بهونهچگکهدادخواهیمنشانشمابهوکنیممیمعرفیراویژگینقاطدهندهتشخیصتعدادیجلسهایندر•.کنیداستفادهتصاویرانطباقدرهاآنازتوصیفگرهاکمک

2

فرادرس

FaraDars.org

Page 3: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

مقدمه

.رسندمینظربهخوبحلراهیکگوشه هاتصاویر،درویژگینقاطبرایجستجوهنگامدر•.وندشیابیموقعیتتصویریکدرسادگیبهتوانندمیکههستندمحلیهایویژگیهاگوشهحقیقتدر•روفوبه(اندشدهساختهقبیلاینازوهامیزها،پنجرهدرها،دیوارها،ازکه)معمولیهایصحنهدراینبرعالوه•

.شوندمییافتدقتبهدتواننمیودارندقرارلبهدواتصالنقطهدرکههستنددوبعدیهایویژگیهاگوشهاینکهدیگرنکته•

.(پیکسلزیردقتباحتی)شوندیابیموقعیتدارند،ارقرشیءیکمرزروییامسطحناحیهیکرویکهنقاطیمکررودقیقیابیموقعیتها،گوشهخالفبر•

.استدشواریکارشیءهمینازدیگرتصاویردر

3

فرادرس

FaraDars.org

Page 4: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

تشخیص گوشه های هریس

4

فرادرس

FaraDars.org

Page 5: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

گوشه های هریس

.ها‌در‌یک‌تصویر‌استتشخیص‌گر‌ویژگی‌هریس‌یک‌روش‌کالسیک‌برای‌تشخیص‌گوشه•گی‌فرضی‌دار‌در‌یک‌پنجره‌کوچک‌پیرامون‌یک‌نقطه‌ویژعملگر‌هریس‌به‌میانگین‌تغییر‌شدت‌روشنایی‌جهت•

ر‌به‌را‌یک‌بردار‌جابجایی‌در‌نظر‌بگیریم،‌تغییر‌شدت‌روشنایی‌متوسط‌از‌فرمول‌زی(u,v)اگر‌.‌کندنگاه‌می:آیددست‌می

𝑅 = 𝐼 𝑥 + 𝑢, 𝑦 + 𝑣 − 𝐼 𝑥, 𝑦2

شود‌جمع‌روی‌یک‌همسایگی‌در‌پیرامون‌پیکسل‌مورد‌نظر‌انجام‌می•

5

فرادرس

FaraDars.org

Page 6: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

گوشه های هریس

.‌‌تواند‌در‌همه‌جهات‌ممکن‌محاسبه‌شودتغییر‌روشنایی‌متوسط‌میاین‌•باالیی‌را‌که‌برای‌آن‌نقطه‌تغییر‌متوسط‌در‌بیش‌از‌یک‌جهت‌مقدارنقطه‌ای‌است‌تعریف‌یک‌گوشه‌طبق‌این‌•

.‌داراست

وسط‌را‌داراست،‌ابتدا‌جهتی‌که‌بیشینه‌تغییر‌روشنایی‌مت.‌شوداین‌تعریف‌تست‌هریس‌به‌شکل‌زیر‌انجام‌میاز‌•رگ‌است؟‌کنیم‌که‌آیا‌تغییر‌روشنایی‌متوسط‌در‌جهت‌عمود‌بر‌آن‌نیز‌بزسپس‌کنترل‌می.‌آوریمبه‌دست‌می

.اگر‌این‌گونه‌بود،‌آن‌وقت‌یک‌گوشه‌داریم

6

فرادرس

FaraDars.org

Page 7: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

گوشه های هریس

.کردررسیبکند،میاستفادهتیلوربسطازکهزیر،تخمینیفرمولاساسبرمی‌توانراشرطاینریاضینظراز•

𝑅 ≈ 𝐼 𝑥, 𝑦 +𝛿𝐼

𝛿𝑥𝑢 +

𝛿𝐼

𝛿𝑦𝑣 − 𝐼 𝑥, 𝑦 =

𝛿𝐼

𝛿𝑥𝑢

2

+𝛿𝐼

𝛿𝑦𝑣

2

+ 2𝛿𝐼

𝛿𝑥

𝛿𝐼

𝛿𝑦𝑢𝑣

:نوشتزیرماتریسیشکلبهراآنتوانمیکه•

𝑅 ≈ 𝑢 𝑣

𝛿𝐼

𝛿𝑥

2

𝛿𝐼

𝛿𝑥

𝛿𝐼

𝛿𝑦

𝛿𝐼

𝛿𝑥

𝛿𝐼

𝛿𝑦

𝛿𝐼

𝛿𝑦

2

𝑢𝑣

.استکوواریانسماتریسیکماتریساین•.یردگمیبردرراشوندمیمحاسبهسوبلعملگرازاستفادهبااغلبکهراتصویراولمشتقاتتعریفاین•

.کندمیاستفادهروشهمینازنیزOpenCVدرشدهانجامپیاده‌سازی

7

فرادرس

FaraDars.org

Page 8: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

گوشه های هریس

روشناییتغییرومتوسطروشناییتغییربیشترینکوواریانس،ماتریسویژهمقداردوکهدادنشانتوانمی•.آوردمیدستبهراآنبرعمودجهتدرمتوسط

.هستیممسطحنسبتاًناحیهیکدرماباشند،کوچکویژهمقداردوایناگر•.باشیمداشتهقرارلبهیکرویبایستیباشد،کوچکدیگریوبزرگیکیاگر•.داریمقرارگوشهموقعیتیکدرباشند،بزرگویژهمقداردوهراگرنهایتدر•تریسماکوچک‌ترویژهمقدارکهاستآنشودواقعقبولموردگوشهعنوانبهنقطهیککهآنشرطبنابراین•

.باشدآستانهمقداریکازبزرگ‌ترکوواریانس،

8

فرادرس

FaraDars.org

Page 9: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

1

2

“Corner”

1 and 2 are large,

1 ~ 2;

E increases in all

directions

1 and 2 are small;

E is almost constant

in all directions

“Edge”

1 >> 2

“Edge”

2 >> 1

“Flat”

region

Classification of

image points using

eigenvalues of M:

9

گوشه های هریس

فرادرس

FaraDars.org

Page 10: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

گوشه های هریسه‌تصدیق‌معیار‌دیگری‌به‌شکل‌زیر‌استفاده‌می‌شود‌کمنظور‌اجتناب‌از‌هزینه‌باالی‌محاسبات‌مقادیر‌ویژه،‌از‌به‌•

:مقدار‌ویژه‌دارای‌مقادیر‌بزرگی‌هستندمی‌کند‌دو‌

𝐷𝑒𝑡 𝐶 − 𝑘 • 𝑇𝑟𝑎𝑐𝑒2(𝐶)

این‌.‌اشتتوان‌ثابت‌کرد‌که‌این‌معیار‌تنها‌اگر‌هر‌دو‌مقدار‌ویژه‌بزرگ‌باشند،‌مقدار‌بزرگی‌خواهد‌دبه‌سادگی‌می•.‌‌شودهر‌موقعیت‌پیکسلی‌محاسبه‌میدر‌cv::cornerHarrisمعیاری‌است‌که‌توسط‌تابع‌

10

فرادرس

FaraDars.org

Page 11: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

تابع هریس

•cv::cornerHarrisتابعOpenCVسربسیارآنازاستفادهکهمی‌باشدهریسهایگوشهتشخیصبرایتمالاحکهاستشناورممیزاعدادازتصویرینتیجه،وکردهفراخوانیورودیتصویریکرویراآن.استراست.دهدمینشانپیکسلیموقعیتهردرراگوشهوجود

.استتابعسومپارامتربامتناظرنظرموردهمسایگیاندازه•.استسوبلفیلترمحاسبهبرایاستفادهموردپنجرهبامتناظرتابع،چهارمپارامتر•

دشوارکمیپارامتراینمقداربهتریننمودنمشخص.شودمیمشخصتابعاینپنجمپارامترعنوانبهkمقدار•بهراخوبینتایجعموما0.5ًو0.05محدودهدرمقداریکهاستشدهدادهنشانعملدرحالاینبا.است.داردهمراه

11

C++: void cornerHarris(InputArray src, OutputArray dst, int

blockSize, int ksize,double k, int borderType=BORDER_DEFAULT ) فرادرس

FaraDars.org

Page 12: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

حذف گوشه های غیر بیشینه

.کنیممیاضافهبیشینهغیرحذفمرحلهیک،تشخیصنتیجهبهبودبرای•تنهانهدن،شپذیرفتهبراینتیجهدر.هستندنزدیکیکدیگربهکهاستهریسیهایگوشهحذفهدفاینجادر•

نیزمحلییشینهبیکبایستیبلکهآورند،دستبهراشدهتعریفآستانهازباالترمعیاریبایستیهریسگوشه.باشند

است،هریسمعیارتصویرشناسیریخت(dilating)گسترششاملکهسادهحقهیکازاستفادهباشرطاین•.شودمیتست

نقاطیتنها،کندمیجایگزینشدهتعریفهمسایگیبیشینهباراپیکسلمقدارهرگسترشعملگرکهآنجااز•.باشندمحلیبیشینهکهمانندمیتغییربدون

12

فرادرس

FaraDars.org

Page 13: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

مثال

.دهیدنمایشکوچکدایرهیکباویافتهزیرتصویردرراهاگوشههریسعملگرازاستفادهبا•

13

فرادرس

FaraDars.org

Page 14: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

واسط عمومی تشخیص ویژگی

14

فرادرس

FaraDars.org

Page 15: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

واسط عمومی تشخیص ویژگی

•OpenCV واسطاین.استکردهمعرفیخودویژگینقاطمتفاوتهایدهندهتشخیصبرایراجدیدیعمومیواسط2.کردتستبتوانبرنامهیکدررامتفاوتگرهایتشخیصتاآوردمیفراهمراامکاناین

برای.کندمیکپسولهراشدهدادهتشخیصنقطههرهایویژگیکهکندمیتعریفkeypointکالسیکواسطاین•یکبهتوانندمیSURFهمچوندیگریتشخیصگرهای.هستندنظرمدکلیدینقاطموقعیتتنهاهریس،هایگوشه.دهندانتسابنیزراجهتهمچوندیگریهایویژگیکلیدینقطه

:کندمیفراهمرازیرصورتبهdetectمتددوcv::FeatureDetectorکالس•

رایبنیزرادیگریمتدهایکالساین.شونددادهتشخیصتصویرچندیندرویژگینقاطتادهدمیاجازهدوممتد•.شودمیشاملفایلیکدرشدهدادهتشخیصنقاطنوشتنوخواندن

15

فرادرس

FaraDars.org

Page 16: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

واسط عمومی تشخیص ویژگی

FeatureDetectorکالسازدارندوجودمختلفهایویژگیتشخیصبرایکههاییکالسمختلفانواع•.برندمیارثبه

کالسازکندمیاستفادههریسهایگوشهگرتشخیصازکهcv::GFTTDetectorکالسمثالعنوانبه•cv::FeatureDetectorیعنی.کرداستفادهزیرروشبهتوانمیکالسایناز.می‌رودارثبه:

16

فرادرس

FaraDars.org

Page 17: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

ویژگی های خوب برای ردگیری

17

فرادرس

FaraDars.org

Page 18: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

های خوب برای ردیابیویژگی

صویرتدرتریکنواختبسیارراگوشه‌هااستشدهدادهتوسعههریسگرتشخیصرویازکهگرتشخیصاین•شدهپیاده‌سازیویژگی،نقاطگرتشخیصعنوانبهOpenCV2جدیدعمومیواسطدرعملگراین.می‌کندتوزیع.است

:cornerHarrisتابعبهنسبتنسخهاینتغییرات•گیریشمچمیزانبهنبایدتغییرایناصلدر.شودمیانجامصریحصورتبهشدهمحاسبهویژهمقادیراساسبرهریسگوشهتشخیص–

.کندمیاجتنابkاختیاریپارامترازاستفادهازاما.دهدقرارتأثیرتحتراتشخیصنتیجهدارندتمایلوالًمعمویژگینقاطمحلی،بیشینهشرطمعرفیعلی‌رغمحقیقتدر.دارداشارهویژگینقطهبندیخوشهمسئلهبهدومتغییر–

حلراهیک.دهندمینشانرابیشتریتمرکزهستند،زیادیبافتدارایکهنقاطیدرکه.شوندتوزیعتصویردرغیریکنواختصورتبه.استویژگینقطهدوبینکمینهفاصلهیکتحمیلمسئلهاین

راکمینهیژهومقداربزرگ‌ترینیعنی)داراستراهریسمعیارترینقویکهنقطه‌ایازشروعبا.دادانجامزیرالگوریتمباتوانمیراکاراین–ویژگیقاطنعنوانبهباشند،داشتهقبلیشدهپذیرفتهنقاطازکمینهفاصلهاینازبیشایفاصلهدارایویژگینقاطاگرتنها،(دارد

.می‌شوندپذیرفته

18

فرادرس

FaraDars.org

Page 19: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

های خوب برای ردیابیویژگی

ریبصردیابیدرخوبیشروعمجموعهتوانندمیشدهکشفهایویژگیکهاستدلیلاینبهنام‌گذاریاین•:کردفراخوانیزیرشکلبهتوانمیراتابعاین.باشند

بایدکهاطینقتعدادبیشینهتابعاینویژگی،نقاطبینقبولقابلکمینهفاصلهوکیفیتسطحبرعالوه•کاراین،شوندمیپذیرفتهقدرتشانحسببرنقاطکهآنجااز)می‌پذیردورودیعنوانبهنیزراشودبرگردانده

.(استپذیرامکان

19

فرادرس

FaraDars.org

Page 20: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

FASTهای ویژگیتشخیص

20

فرادرس

FaraDars.org

Page 21: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

FASTهای ویژگی

روشنایییراتتغینرخپایهبر(ویژگینقاطکلیطوربهیا)هاگوشهبرایرسمیریاضیتعریفیکهریسعملگر•اتمشتقمحاسبهنیازمنددهد،میتشکیلرادقیقتعریفیکاینچهاگر.کردپیشنهادمجاورجهتدودر

ویژگی،نقطهتشخیصکهباشیمداشتهنظردرراواقعیتایناگرخصوصبه.استبرهزینهکاریکهبودهتصویر.استترپیچیدهبسیارالگوریتمیکدراولگاماغلب

سریعتشخیصبرایخاصطوربهکه.دهیممیارائهرادیگریویژگینقاطتشخیص‌گرمادستورالعملایندر•برتنهالیدیکنقطهیکردیاپذیرشبرایتصمیم‌گیریآندرکه.استشدهطراحیتصویریکدرویژگینقاط

.شودمیانجامپیکسلچندمقایسهاساس

21

فرادرس

FaraDars.org

Page 22: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

FASTهای ویژگی

FAST(Featuresویژگیالگوریتمهریس،گوشهمانند• from Accelerated Segment Test)تعریفازنقطهیکحولتصویرشدتاساسبرتعریفاینبار،این.استگرفتهریشهسازد،میراگوشهیککهآنچه

.استفرضیویژگی-میانجامدهشانتخابنقطهمرکزبههاپیکسلازایدایرهبررسیباکلیدینقطهیکقبولبرایگیریتصمیم•

3ازبزرگ‌ترطولیبهپیوستهنقاطازکمانیاگر.شود

4هاپیکسلهمهآندرکهصورتیبهشودپیدادایرهمحیط

کلیدیهنقطیکنقطهاینآنگاهباشند،متفاوتمرکزینقطهباروشناییشدتنظرازتوجهیقابلمیزانبه.بودخواهد

برایردیگحقهیکازالگوریتماین،برعالوه.شودمحاسبهسرعتبهتواندمیکهاستسادهتستیکاین•برای)دایرهرویرافاصلهدرجه90بامجزانقطهچهارابتدااگرواقعدر.کندمیاستفادهفرآیندبیشترتسریعحداقلوقفشرطارضاءبرایکهدادنشانتوانمیراحتیبهکنیم،بررسی(راستوچپپایین،باال،نقاطمثالردفوراًنقطهد،نباشاین‌گونهاگر.باشندمرکزیپیکسلازتاریک‌تریاترروشنهمگیبایستینقاطاینازتاسه.شودبررسیمحیطرویدیگرینقاطاینکهبدون.شودمی

22

فرادرس

FaraDars.org

Page 23: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

FASTهای ویژگی

.هستند13و1،5،9شوندمیاستفادهاولیهتستبرایاینجادرکهنقطه‌ایچهار•یکراینبناب.دهیمانجامشدهپیداهایگوشهرویرابیشینهغیرحذفاستبهتراغلبهریسهایویژگیمانند•

وکزیمرپیکسلبینتفاضلمطلققدرجمعازگوشهیکقدرت.شودتعریفبایستیگوشهقدرتمعیار.آیدمیدستبهاند،شدهشناساییپیوستهکمانرویکههاییپیکسل

داردمیتاهسرعتکهزمانیدربایستیو.شودمیسریعخیلیویژگینقطهتشخیصبهمنجرالگوریتماین•دنبالهیکدریبایستنقطهچندینکهبصریردیابیکاربردهایدرمسئلهاینمثالبرای.گیردقراراستفادهمورد

.استاهمیتحائزشوند،ردیابیباالییثانیهدرفریمنرخباویدیویی

23

تدمپارامتریکبایدبررسیموردهایپیکسلدایرهشعاعاصل،در•شعاعبرای3مقدارکهاستشدهدادهنشانعملدرحالاینبا.باشدیدایره‌اچنیندر.دارددنبالبهراخوبیکاراییهموخوبنتایجهم فرادرسوندشگرفتهنظردربایدشکلمطابقدایرهمحیطرویپیکسل16

FaraDars.org

Page 24: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

FASTهای ویژگی

24

OpenCVعمومیواسطازاستفاده• توسعهویژگی،نقطهتشخیصبرای2:کندمیآسانراویژگینقطهگرتشخیصهر

یکرویبرکلیدینقاطترسیمبرایعمومیتابعیکOpenCVهمچنین•:کندمیپیشنهادتصویر

ترسیمخروجیتصویررویکلیدینقاطانتخابی،ترسیمپرچمکردنمشخصبانقطهرنگبرایمنفیمقداریکردنمشخصجالبامکانیک.شدخواهندشدهمترسیدایرههربرایمتفاوتتصادفیرنگیکحالتایندر.استکلیدی.شدخواهدانتخاب

فرادرس

FaraDars.org

Page 25: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

مثال

کیباویافتهمختلفعملگرهایکمکبازیرتصویردرراویژگینقاطOpenCVعمومیواسطازاستفادهبا•.دهیممینمایشویژگیمحلدرکوچکدایره

25

فرادرس

FaraDars.org

Page 26: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای مقاوم در برابر مقیاس ویژگیتشخیص

26

فرادرس

FaraDars.org

Page 27: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

توجهOpenCVباهمراهفرضپیشصورتبهدیگرهستندرایگانغیرهایالگوریتمآنکهدلیلبهSURFوSIFTمتاسفانه•

OpenCVاز)شوندنمینصب OpenCVبهمتعلقاسالیدهاایندرشدهارائهآموزشبعد،به3 .(است2.4.دارندتجاریکاربردهایبرایمجوزبهنیازواندشدهاختراعثبتهاالگوریتمایندویهرواقعدر•

بهبستهاین.شوندمنتقلOpencv_contribبستهبهرایگان،غیرهایالگوریتمکهاستشدهگرفتهتصمیمروایناز•Opencv_contribنصبهنگامدربایستیبلکهشود،نمینصبOpenCVباهمراهفرضپیشصورت supportفعال.باشد

27

فرادرس

FaraDars.org

Page 28: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

مقیاسغییرتمسئلهبااغلبدهیم،انطباقباهممختلفتصاویردررامختلفهایویژگیکنیممیسعیکهزمانی•مورداشیایبهنسبتمختلفیفواصلازاستممکنشوندتحلیلبایدکهمختلفیتصاویریعنی.شویممیروبرویککنیمسعیاگر.باشدداشتهوجودمختلفهایاندازهدراشیااینتصویرنتیجهدرو.باشندشدهگرفتهنظر،

الگوهایسمقیاتغییردلیلبهدهیم،انطباقثابتطولباهمسایگییکازاستفادهباتصویردوازراویژگی.یافتنخواهدتطبیقیکدیگرباهاآنروشناییشدت

درلیاصایده.استشدهمطرحماشینبیناییدرمقیاسبرابردرمقاومهایویژگیمفهوممسئلهاینحلبرای•خیراهایسالدر.استشدهدادهتشخیصویژگینقاطازیکهربامتناظرمقیاس،ضریبیکداشتناینجا

هاییویژگیعنیراهاآنازیکیدستورالعملاینکهاندشدهپیشنهادمقیاسبرابردرمقاومویژگیچندینSURFدهدمیارائهرا.SURF(Speeded Up Robust Features)دادهتسریعمقاومهایویژگیمخفف

اراکبسیاربلکههستندمقاوممقیاسبرابردرتنهانههاویژگیایندیدخواهیمکهطورهمانو.استشده.شوندمیمحاسبه

28

فرادرس

FaraDars.org

Page 29: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

هستهاندازهکهسیگماپارامتریکازفیلترهااین.زدتخمینگاوسیفیلترهایکمکبهتوانمیراتصویریکمشتقات•و.استفیلترساختبرایاستفادهموردگاوسیتابعواریانسبامتناظرسیگمااین.کنندمیاستفادهکند،میتعریفرامقدارکهریفیلتحقیقتدر.کندمیتعریفراشوندمیزدهتخمینمشتقاتآندرکهرامقیاسیصریحغیرصورتبه

قیاسمرویکهشودمیگفتهدلیلهمینبه.کندمیهموارراتصویرازتریظریفجزئیاتدارد،بزرگ‌تریسیگمای.کندمیعملبزرگ‌تری

مختلفهایمقیاسدرگاوسیفیلترهایازاستفادهباراشدهدادهتصویرنقطهیکالپالسینمثالبرایاگراکنون•منحنییکهبمختلفهایمقیاسدرفیلترپاسختغییربهنگاهیبا.آیندمیدستبهمختلفیمقادیرکنیم،محاسبه

.رسدمیبیشینهمقداریکبهسیگماازمقداریدرنهایتدرکهرسیممیآنگاهکنیم،استخراجاند،شدهگرفتهمختلفهایمقیاسدرکهشیءیکازتصویردوبرایرابیشینهمقدارایناگرحال•

این.اندشدههگرفتآندرتصویردواینکهاستهاییمقیاسنسبتبامتناظربیشینهسیگمایمقدار،دوایننسبتاسمقیبرابردرمقاومهایویژگییعنی.استمقیاسبرابردرمقاومهایویژگیاستخراجفرآیندقلبمهم،مشاهدهدرمشتقفیلترهایازکه)مقیاسفضایدرهمو(تصویردرون)مکانیفضایدرهممحلیبیشینهعنوانبهبایستی.شونددادهتشخیص(شوندمیاعمالمختلفهایمقیاس

29

فرادرس

FaraDars.org

Page 30: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

•SURFیکسلپهردرهسینماتریسها،ویژگیتشخیصبرایابتدادر.کندمیپیاده‌سازیزیرصورتبهراایدهاین:شودمیتعریفزیرصورتبهاین.شودمیمحاسبه

کهاستتصویرازنقاطیعنوانبههاگوشهتعریفکارایدهسپس.استانحنااینقدرتمعرفماتریسایندترمینان•دومهمرتبمشتقاتازماتریساینکهآنجااز.(جهتیکازبیشدرزیادتغییریعنی)دارندباالییمحلیانحنایآنگاه.کردمحاسبهسیگمامختلفهایمقیاسباالپالسیگاوسیهایهستهکمکبهراآنتوانمیاست،شدهتشکیل.H(x,y,σ):بودخواهدمتغیرسهازتابعیهسین،

همومکانیفضایدرهمهسینماتریسدترمینانکهمی‌آیددستبهمقیاسبرابردرمقاومویژگییکزمانیبنابراین•اینهمهاینبا.(شودانجام3×3×3بیشینهغیرحذفیکبایدیعنی)باشدمحلیبیشینهیکمقیاسفضایدر

.باشدداراراکمینهمقداریکبایستیدترمینان

30

𝐻 𝑥, 𝑦 =

𝛿2𝐼

𝛿𝑥2𝛿2𝐼

𝛿𝑥𝛿𝑦

𝛿2𝐼

𝛿𝑥𝛿𝑦

𝛿2𝐼

𝛿𝑦2 فرادرس

FaraDars.org

Page 31: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

آنSURFالگوریتمهدف.استسنگینبسیاردارایمحاسباتیلحاظبهمختلفهایمقیاسدرمشتقاتاینهمهمحاسبه•جمعدچنباتنهاکهتخمینیگاوسیهایهستهازاستفادهباکاراین.نمایدکارآمدترامکانحدتارافرآینداینکهاست

:هستندزیرساختاردارایهاهستهاین.شودمیانجامهستند،درگیرصحیح

دررادوبهمرتمشتقراستیسمتکهحالیدر.شودمیاستفادهدوممرتبهترکیبیمشتقاتتخمینبرایچپسمتهستهاز•.زندمیتخمینراافقیجهتدردومرتبهمشتقدوم،هستهاینازشدهدادهدوراننسخهیک.زندمیتخمینعمودیجهت

پیاپیصورتبهبزرگ‌تراندازه‌هایباهاییهستهسپس.استσ≈1.2بامتناظرپیکسل9×9اندازهدارایهستهکوچک‌ترینطوربه.نمودمشخصSURFکالسدیگرپارامترهایباتوانمیراشود،اعمالبایدکهفیلتریدقیقتعداد.شوندمیاعمال.(رسدمی99×99تاهاآناندازهکه)گیردمیقراراستفادهموردهاهستهازمختلفاندازه12فرضپیش

31

فرادرس

FaraDars.org

Page 32: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

بهمقیاسوویرتصفضایدردرون‌یابیطریقازشدهدادهتشخیصویژگینقطههردقیقموقعیتمحلی،بیشینهشناساییبا•قدارمیکهاآنبرایوشدهیابیمکانپیکسلزیردقتباکهاستویژگینقاطازایمجموعهنتیجه،آنگاه.آیدمیدست

.استشدهدادهانتسابمقیاس(دیگرمقیاسبرابردرمقاومویژگیدهندهتشخیصیک)SIFTمعروفالگوریتمازسریعینسخهعنوانبهSURFالگوریتم•

جایهباما.دهدمیتشخیصمقیاسوتصویرفضایدرمحلیبیشینهشکلبهراهاویژگینیزSIFT.استشدهدادهتوسعهفیلترهایفاضلتازاستفادهبامختلفهایمقیاسدرالپالسیناین.کندمیاستفادهالپالسینفیلترپاسخازهسیندترمینانهشبیروشیبهو.دهدمیتشخیصراهاویژگیاینکهاستپوشانندهکالسیکدارایOpenCV.شودمیمحاسبهگاوسی:شودمیفراخوانیSURFهایویژگی

32

فرادرس

FaraDars.org

Page 33: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFهای ویژگی

33

استگرفتهانجامOpenCvدرSURFویژگی‌هایازکهپیاده‌سازیدر•بنابراین.استشدهاستفادهcv::FeatureDetectorواسطازمجدداً

:بودخواهدقبلیدستورالعملمشابههاویژگیاینتشخیص

استفادهcv::drawKeypointsتابعازمجدداًهاویژگیاینترسیمبرای•-یمکهچرامی‌کنیم،استفادهدیگریماسکازبارایناما.کنیممی

:شوددادهنمایشنیزویژگیهربامتناظروزنیضریبخواهیم

فرادرس

FaraDars.org

Page 34: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

های دیگرویژگی.داردوجودOpenCVدراینکاربراینیزدیگریعملگرهایویژگینقاطتشخیصبرایشدهگفتهعملگرهایبرعالوه•:جملهاز•

–MSER

–ORB

–BRISK

–KAZE

–AKAZE

34

فرادرس

FaraDars.org

Page 35: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

توصیفگرها

35

فرادرس

FaraDars.org

Page 36: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFویژگیهای توصیف

هاییویژگازیکهربرایمقیاسیکوموقعیتیکشد،دادهتوضیحقبلدستورالعملدرکهSURFالگوریتم•ویژگیطهنقحولپنجرهیکاندازهتعریفبرایتواندمیمقیاسضریباین.کندمیتعریفشدهدادهتشخیص

تعلقآنبهویژگیکهایشیءاینکهازصرف‌نظرشدهتعریفهمسایگیکهطوریبه.گیردقراراستفادهمورددرریبصاطالعاتاینبرعالوه.شودشاملرابصریاطالعاتهماناست،شدهتصویربرداریمقیاسیچهدردارد.ردگیقراراستفادهموردنقاطدیگرازآنتمایزبرایویژگینقطهتوصیفبرایتواندمیهمسایگیاین

گرهایفتوصیازاستفادهباراویژگینقطههمسایگییکچگونهکهدادخواهدنشانشمابهدستورالعملاین•.کنیدتوصیففشرده

توصیفراویژگینقطهیککههستندبعدیNبردارهایمعموالًویژگیتوصیف‌کننده‌هایویژگی،انطباقدر•رسپکتیوپتغییراتونوریتغییراتبهنسبتکهشودمیانجامایگونهبهکاراینآلایدهصورتبه.کنندمی

سادهلهفاصمعیاریکازاستفادهباتوانمیراخوبتوصیف‌کننده‌هایاین،برعالوه.باشدتغییربدونکوچکاستفادهبرایدیقدرتمنبسیارابزارتوانندمیتوصیف‌کننده‌هابنابراین.کردمقایسه(اقلیدسیفاصلهمثالبرای)

.باشندویژگیانطباقهایالگوریتمدر

36

فرادرس

FaraDars.org

Page 37: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFویژگیهای توصیف

•.OpenCV گیویژنقاطتوصیف‌کننده‌هایاستخراجبراییکسانرابطیکآندرکهعمومیکالسیک2برداریالبقدرویژگینقاطتوصیف‌کنندهرابط،اینازاستفادهبا.استکردهمعرفیاست،شدهتعریفمتفاوت

(std::vector)ازcv::Keypointمی‌آیددستبهزیرفرمبه:

::cvموردیکیعنی)استماتریسینتیجه،• Matدرعناصرتعدادبااستبرابرآنسطرهایتعدادکه(استبهSURFتوصیف‌کنندهبرای.استبعدیNتوصیف‌کنندهبرداریکسطرهااینازیکهر.keypointبردار-میتوصیفراویژگینقطهیکحولروشناییشدتالگویبرداراین.است64برابراندازهاینفرضپیشطور.ندباشترنزدیکبایستیهاآنکنندهتوصیفبردارهایباشند،ترشبیهویژگینقطهدوچقدرهر.کند

37

فرادرس

FaraDars.org

Page 38: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

SURFویژگیهای توصیف

تصویردرزنویوجودودیدنقطهروشنایی،کوچکتغییراتبهنسبتبایستیویژگیخوبهایکنندهتوصیف•.تندهسمحلیروشناییشدتتفاضلپایهبرهاکنندهتوصیفایناغلب،بنابراین.باشندداشتهمقاومت

.شدخواهدمحققمقیاسبرابردرپایدارانطباقSURFگرهایتوصیفوهاویژگیازاستفادهبا•جهتوگرادیاناندازهاساسبرکه.کندمیتعریفراخودشبهمتعلقتوصیف‌کنندهنیزSIFTالگوریتم•

.استشدهگرفتهنظردرکلیدینقطهمقیاسدرشدهمحاسبه

آنجااز.استدقتوسرعتعمدهطوربهSIFTوSURFگرهایتوصیفمیانتفاوتویژگی،تشخیصهمانند•حالاینبا.استترسریعهاآنمحاسبههستند،روشناییشدتتفاضلپایهبراغلبSURFگرهایتوصیفکه

.هستندتردقیقدرست،انطباقکردنپیدادرمعموالSIFTًگرهایتوصیف

38

فرادرس

FaraDars.org

Page 39: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

دیگر توصیفگرها

OpenCVدرحاضرحالدرکهتوصیفگرهایی• :ازاندعبارتدارندوجودپیشفرضصورتبه3–ORB

–BRISK

39

فرادرس

FaraDars.org

Page 40: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

انطباق تصاویر به کمک نقاط ویژگی

40

فرادرس

FaraDars.org

Page 41: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

انطباق ویژگی ها .هستندمفیدتصویرانطباقدرخصوصبهتوصیف‌کننده‌هااین•

تشخیصباابتداتوانمیراکاراین.شونددادهتطبیقباهمبایدصحنهیکازتصویردوکنیدفرضمثالبرای•بردارهرگاهآن.دادانجامهاویژگیاینتوصیف‌کننده‌هایاستخراجسپسوتصویرهررویهاویژگی

.شودمیمقایسهدومتصویردرتوصیف‌کننده‌هاهمهبااولتصویردرویژگیتوصیف‌کنندهاینبرایباقانطبهترینعنوانبهآورد،دستبهرا(برداردوبینفاصلهکمترینیعنی)امتیازبهترینکهزوجی•

.شودمیداشتهنگهویژگیعنوانبهOpenCVدرروشاین.شودمیتکراراولتصویردرهاویژگیهمهبرایفرآینداین•

cv::BFMatcherاستشدهسازیپیاده.

41

فرادرس

FaraDars.org

Page 42: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

انطباق ویژگی ها

یر‌یک‌تابع‌ترسیم‌ارائه‌داده‌است‌که‌تصویری‌از‌الصاق‌دو‌تصوOpenCVمنظور‌ترسیم‌نتیجه‌عمل‌انطباق،‌به‌•.‌‌بر‌هم‌را‌توسط‌یک‌خط‌به‌هم‌وصل‌می‌کندمنطبق‌کند‌و‌روی‌آن‌نقاط‌ورودی‌به‌یکدیگر‌را‌تولید‌می

42

فرادرس

FaraDars.org

Page 43: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

مثال

.دهیممینمایشویافتهزیرتصویردودررایکدیگربامنطبقویژگینقاط•

43

فرادرس

FaraDars.org

Page 44: آموزش پردازش تصویر با OpenCV - بخش هفتم

باتصویر پردازش

faradars.org/fvimg9405

44

فرادرس این اسالید ها بر مبنای نکات مطرح شده در « آموزش پردازش تصویر با »

.تهیه شده است

.نماییدلینک زیر مراجعه برای کسب اطالعات بیشتر در مورد این آموزش به

faradars.org/fvimg9405

باتصویر پردازش

faradars.org/fvimg9405

فرادرس

FaraDars.org