Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > یادگیری (Learning) > یادگیری با نظارت > يادگيري ماشيني(Machine learning )


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۶-۲۲-۱۳۹۲, ۱۲:۳۷ بعد از ظهر   #11 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

فقط سوالی که من دارم اینه که
شاید نقاطی از یک تصویر سالم استخراج بشه که بردار ویژگی اونها (همون بردار 128 تایی) خیلی شبیه به بعضی نقاط در یک تصویر معیوب باشه. اینجا الگوریتم به مشکل نمیخوره؟!
چون تصاویر چوب سالم و معیوب دارای نواحی مشترکی با یکدیگر هستند یعنی بعضی نواحی تصاویر سالم و معیوب مثل هم هس و بنابراین نقاط استخراجی و بردارهای ویژگیشون با هم یکی میشه!!!
به نظرم بعد محاسبه نقاط و بردارهای ویژگی باید کارهای دیگه ای هم انجام بشه مثلا
برای تک تک نقاط در تصویر سالم فاصله اقلیدسی اونها(بردار 128تایی) با تک تک نقاط در تصویر معیوب محاسبه بشه و اگه فاصله کم بود یعنی این نقاط دارای ویژگگیهای مشابه هستن که باید حذف بشن. پس این نقاطو حذف میکنیم و با این نقاط عمل کلاسه بندیو انجام نمیدیم
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
s.b (۰۶-۲۲-۱۳۹۲)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۶-۲۲-۱۳۹۲, ۰۲:۳۹ بعد از ظهر   #12 (لینک دائم)
Super Moderator
 
آواتار raha_hakhamanesh
 
تاريخ عضويت: خرداد ۱۳۸۷
محل سكونت: دنیا
پست ها: 281
تشكرها: 28
253 تشكر در 147 پست
My Mood: Zodranj
پيش فرض

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
فقط نکته ای رو بگم که با pca میشه طول بردارو کاهش داد یعنی به جای اینکه هر نقطه با 128 عدد توصیف شود با طول کمتری مثلا 64 توصیف شود. این یک نکته اسم روششم pca sift هست
به نام خدا و با تشکر
__________________
.
.
.
برای تشکر دکمه مخصوص وجود دارد لطفا پست هرز ایجاد نکنید
.
.
اینقدر از دسترسی نداشتن به مقاله شیون نکنید

مقالات انگلیسی: ایران سای (ISI, IEEE, ACM)
مقالات فارسی: سیویلیکا (کنفرانس داخلی)
مقالات فارسی: مگ ایران (ژورنالهای داخلی)

ويرايش شده توسط raha_hakhamanesh; ۰۶-۲۴-۱۳۹۲ در ساعت ۱۲:۰۸ قبل از ظهر دليل: پست 11 صحیح است
raha_hakhamanesh آفلاين است   پاسخ با نقل قول
از raha_hakhamanesh تشكر كرده است:
s.b (۰۶-۲۲-۱۳۹۲)
قديمي ۰۶-۲۲-۱۳۹۲, ۰۵:۳۶ بعد از ظهر   #13 (لینک دائم)
عضو فوق فعال
 
آواتار s.b
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: iran
پست ها: 22
تشكرها: 19
1 تشكر در 1 پست
My Mood: Mehrabon
پيش فرض

با سلام و تشکر.
امکانش هست سایتی معرفی کنید که تابع pca-sift رو با matlab پیاده سازی کرده باشه....
من از سایت PCA-SIFT دانلود کردم ولی به زبان matlab نیست.

با تشکر.
s.b آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۲۲-۱۳۹۲, ۱۰:۴۲ بعد از ظهر   #14 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

منم همون سی پلاس پلاسشو دارم
اگه برین سمت opencv خیلی بهتره
چون بیشتر کدها تو این زمینه سی پلاس پلاس هس
نخیر آقای رها
الگوریتمهایی مانند pca برای کاهش تعداد ویژگی به کار میروند نه کاهش تعداد نقاط!!!
mahdiii آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۲۳-۱۳۹۲, ۰۱:۰۹ بعد از ظهر   #15 (لینک دائم)
عضو فوق فعال
 
آواتار s.b
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: iran
پست ها: 22
تشكرها: 19
1 تشكر در 1 پست
My Mood: Mehrabon
پيش فرض کاهش نقاط کلیدی

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
همون طوری که اشاره شد شما اینجا به مختصات نقاط نیازی ندارین
چون مختصات نقاط به عنوان ویژگی برای شما محسوب نمیشن.
مثلا تو یه مساله با مختصات نقاط میشه دو کلاسو از هم جدا کرد. اونجا مختصات نقاط برامون مهمه و عامل تفکیک. ولی اینجا مختصات نقاط هیچ ربطی و هیچ کمکی در پیدا کردن و کلاسه بندی سطوح معیوب و سالم نمیکنه. اینجا برای ما استخراج ویژگیهایی پایدار و مستقل در تصاویر هست که برای هرنقطه همین بردار 128تایی همین کارو میکنه. این بردار با درنطر گرفتن یک پنجره مربعی -که به 4*4 زیر مربع تقسیم شده- اطراف اون نقطه استخراجی و محاسبه جهت و گرادیان در هر زیرمربع (360 درجه به هشت بازه تقسیم شده پس میشه 4*4*8=128) و ساخت یک بافت نگار 128تایی به دست اومده ، پس باید این نقاطو مثلا 100*128 از تصویر سالم اول استخراج شده و 128*50 از تصویر سالم بعدی و همین طور تا آخر. اینا مربوط به کلاس سطوح سالم هستن. هر نقطه در فضای 128 بعدی درنظرگرفته شده. پس تمام این نقاط 100 برای تصویر سالم اول، 50 برای تصویر سالم دوم و ... با برچسب سالم باید به svm داده بشه و برای تصاویر معیوب هم به همین صورت تمام نقاط با برچسب معیوب به svm داده میشه. مساله شما یه کلاسه بندی به دو کلاس سالم و معیوب در فضای 128 بعدی، با داشتن نقاط 128 بعدی با برچسب سالم و معیوب هست.
فقط نکته ای رو بگم که با pca میشه طول بردارو کاهش داد یعنی به جای اینکه هر نقطه با 128 عدد توصیف شود با طول کمتری مثلا 64 توصیف شود. این یک نکته اسم روششم pca sift هست
و برای اینکه تعداد نقاطتون کمتر بشه و نقاط برجسته تر و مهم تر از تصویر انتخاب بشن نه 1000 تا نقطه باید مقدار آستانه مربوط به الگوریتم sift رو تغییر بدین. الگوریتم sift پارامترهایی داره که با تنظیم اون میتونین نقاط استخراجی برجسته تر رو انتخاب کنین. بنابراین تعداد این نقاط کمتر میشه.
با سلام و تشکر از راهنمایی هایتان.
در بخشی از تابعی که من از sift دارم نقاط کلیدی را با استفاده از دستور زیر بدست می آورد. و سپس تعداد نقاط دو در متغیر num میریزد.


كد:
command = [command ' <tmp.pgm >tmp.key'];
eval(command);

% Open tmp.key and check its header
g = fopen('tmp.key', 'r');
if g == -1
    error('Could not open file tmp.key.');
end
[header, count] = fscanf(g, '%d %d', [1 2]);
if count ~= 2
    error('Invalid keypoint file beginning.');
end
num = header(1);
len = header(2);
به چه صورت میشه نقاط رو کاهش داد؟
آیا کاهش resolution پیشنهاد خوبیست؟ من این کار رو برای تصویری که نقاط کلیدی اش 1649 بود انجام دادم نقاط کلیدی اش 1104 شد..... و با تغییر سایز تصویر نقاط 604 شد......

با تشکر.
s.b آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۲۳-۱۳۹۲, ۱۱:۰۹ بعد از ظهر   #16 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

سلام مجدد
گویا شما مطالب منو نخوندید
من گفتم تابعی که نقاط ویژگی رو پیدا میکنه احتمالا با نام featuredetection
خطوط پایینو ببینید این برای الگوریتم surf هست که روشی مشابه با sift هست
اون مقدار آستانه ای که گفتم اینجا 1100 انتخاب شده با تغییر اون می تونین تعداد نقاط کم یا زیاد کنین
cv::SurfFeatureDetector detector( 1100 );
std::vector<cv::KeyPoint> keypoints1;
std::vector<cv::KeyPoint> keypoints2;
detector.detect(rgb1,keypoints1);
detector.detect(rgb2,keypoints2);
روشی که شما گفتین روش مناسبی نیس که با کم کردن رزولوشن تعداد نقاط رو کم کنین
چون این طوری دارین اطلاعات تصویرو دور میریزین. بهتره این کارو بسپارین به خود الگوریتم sift و با تنظیم پارامترهاش این کارو بکنین.
البته اگه تصویرتون دارای رزولوشن خیلی بالایی هست میتونین تصویرو کوچک کنین مثلا رزولوشن 2000*3000 خیلی زیاده و باعث کندی برنامتونم میشه رزولوشن مناسب حدود 640*480 یا 800*600 هست البته بسته به کاربردتون شاید دقت بالا و نیاز به تفکیک پذیری بالا داشته باشین اون موقع رزولوشن بالا نیاز هس
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
s.b (۰۶-۲۴-۱۳۹۲)
قديمي ۰۶-۲۴-۱۳۹۲, ۱۰:۵۸ بعد از ظهر   #17 (لینک دائم)
عضو فوق فعال
 
آواتار s.b
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: iran
پست ها: 22
تشكرها: 19
1 تشكر در 1 پست
My Mood: Mehrabon
پيش فرض

با سلام.
درسته متوجه شدم. من تو برنامه matlab دنبالش میگشتم پیدا نکردم. تو کدی که به c++ داشتم پیدا کردم..
متغیری هم به نام FVSIZE با مقدار 128 تعریف شده که فک میکنم مربوط به بردار ویژگی است.
با تشکر.
s.b آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۲۴-۱۳۹۲, ۱۱:۰۵ بعد از ظهر   #18 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

برنامه متلبشم این پارامترها رو داره!!!
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
s.b (۰۶-۲۵-۱۳۹۲)
قديمي ۰۶-۲۵-۱۳۹۲, ۰۷:۲۷ قبل از ظهر   #19 (لینک دائم)
عضو فوق فعال
 
آواتار s.b
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: iran
پست ها: 22
تشكرها: 19
1 تشكر در 1 پست
My Mood: Mehrabon
پيش فرض

با سلام.
راستش من یک کد sift دیگه هم به زبان matlab دارم از سایت Index of /~vedaldi/assets/sift/binaries دانلود کردم ولی وقتی اجراش می کنم این error رو میده:
كد:
??? Undefined function or method 'imsmooth' for input arguments of type 'double'.

Error in ==> gaussianss at 134
SS.octave{1}(:,:,1)  = imsmooth(I, ...

Error in ==> sift at 213
gss = gaussianss(I,sigman,O,S,omin,-1,S+1,sigma0) ;
s.b آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۲۶-۱۳۹۲, ۱۰:۵۲ بعد از ظهر   #20 (لینک دائم)
عضو فوق فعال
 
آواتار s.b
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: iran
پست ها: 22
تشكرها: 19
1 تشكر در 1 پست
My Mood: Mehrabon
پيش فرض

نقل قول:
نوشته اصلي بوسيله raha_hakhamanesh نمايش پست
به نام خدا
خب در حقیقت تفاوت های پردازش تصویر و بینایی کامپیوتر در چنین مواردی مشخص می شود.
شما نیاز ندارید به اینکه موقعیت نقاط را داشته باشید این روش مبتنی بر یادگیری است.

در واقع شما دارید نمونه هایی را به SVM می دهید که می گوید سطح مورد نظر دارای عیب است. وقتی می خواهید با SVM کار کنید باید نمونه ها را تفکیک کنید مثلا نمونه معیوب و نمونه سالم. خب پس دو ماتریس خواهید داشت ماتریس اول مربوط به نمونه های سالم و ماتریس دوم مربوط به نمونه های معیوب. که این ماتریس ها توسط یک توصیف کننده مثل SIFT تولید شده اند.

مثال:

كد:
A is a Matrix [1000, 128] of good surfaces B is a Matrix[5000, 128] of bad surfaces TestData = [A, B] TestLbl=[1 for A, -1 for B]
training_instance_matrix = TestData; training_label_vector = TestLbl; model = svmtrain(training_label_vector, training_instance_matrix, ['-t 0']); %================================== testing_instance_matrix = TestData; testing_label_vector = TestLbl; [predicted_label, accuracy, decision_values] = svmpredict(testing_label_vector, testing_instance_matrix, model);
با سلام مجدد.
ببخشید مگر تابع svmpredict روی تصاویر تست اعمال نمی شود... در تصاویر تست هم که ما می خواهیم تابع خودش تشخیص دهد تصویر معیوب است یا خیر پس LABEL را که ما نمی توانیم بدهیم... مگر خود این تابع نباید LABEL را برای ما مشخص کند؟؟؟؟؟
s.b آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۶:۵۹ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design