مشاهده نسخه کامل
: سوال درباره الگریتم مقایسه و تشخیص چهره
samasara
28-02-2013, 19:54
سلام
من به دنبال الگریتم های چهره نگاری به صورت لایو می گردم .. منبع دقیقی پیدا نکردم
و همچنین موضوعات هوش مصنوعی که در این باره ها استفاده میشه
(به هیچ عنوان نمی خواهم از توابع آماده مثل OpenVC یا هیچ چیز حاضر امادهی یگه ای استفاده کنم)
تقاضای من اینه که دوستانی که اطلاعاتی دارند منبعی یا مطالبی حتی کتابی در این زمینه های زیر آشنا هستند اطلاع یا مطالعاتی داشتند منو راهنمایی کنند:
1- چگونگی نمایش دادن تصویر از وب کم به برنامه c++
2- الگوریتم های تشخیص چهره انسان در یک عکس
3- الگوریتم های تشخیص اشیا در یک عکس
4- چگونگی تشخیص موارد بالا در تصایر زنده
5- الگوریتم های مقایسه ای دو چهره
6- مبحث شبکه ی عصبی
می دونم که این مطالب به این سادگی هایی که نوشتم نیست اما اشتباه نکنید منظور من بیشتر برای اینه که اطلاعات کلی و هم چنین سرنخ هایی برای به دست آوردن منابع حالا هر چیزی که می خواد باشه هست
پس دوستان در هر زمینه ای که اطلاعاتی دارند ( بیشتر سرنخ مطالعاتی دارند البته با سی یا اسمبل )هر چند در خیلی کم کمک کنند
god of war 2
28-02-2013, 23:17
سلام.
ببینید چیزی هایی که شما دنبالش هستید چیزهایی نیستند که براحتی و بصورت کامل و جامع و در یکجا توضیح داده شده باشند.
از طرفی هم استفاده نکردن از ابزار های موجود برای کارهایی مثل تشخیص چهره میشه گفت کار درستی نیست. شما برای ساده ترین و پایه ایی ترین کارهای لازم (مثل خواندن/دیکود کردن/دسترسی به پیکسلها /..... تصویر) برای انجام یک عمل تشخیص چهره بر روی یک تصویر باید صدها خط کدنویسی کنید که فقط بتونید یک تصویر رو بخونید و به پیکسلهای اون دسترسی داشته باشید. از اینجا به بعد الگوریتم های پردازش پیکسلها به میان میایند که پیاده سازی هرکدام شامل پیچیدگی های بسیار و نیاز به دانش تخصصی دارند بعد از این مرحله میتونیم بگیم تازه اگوریتم های تشخیص چهره به کار میان که برای انجام کار خود بر پایه ماژولهای قبلی که گفتم استوار هستند(در حقیقت 2 مرحله قبل مورد نیاز هست). یعنی مثلا یک الگوریتم تشخیص چهره برای انجام کار خود ابتدا باید تصویر رو بخوند و در حافظه قرار دهد (بخش 1) بعد 4 مرحله پردازش متفاوت بر روی پیکسلها انجام بده (که لزوما هیچ ارتباطی هم با خود الگوریتم ندارند - بخش 2) تا نهایتان بتونه یک چهره یا یک شی خاص رو توسط الگوریتم اصلی (بخش 3) تشخیص بده.
کتابخانه هایی مثل OpenCV شامل هیچ الگوریتم آماده تشخیص چهره ایی نیستند بلکه شامل ماژول های پردازش تصویر هستند که کارو برای الگوریتم های تشخیص شی آسان میکنه.
یعنی این امکان وجود ندارد که شما یک تصویر به OpenCV بدید و توسط یک تابع ساده تمام چهره ها یا اشیائ دیگر به شما برگردانده شود. OpenCV در اصل نیازهای پردازش پیکسلی رو برای الگوریتم های تشخیص فراهم میکنه(یعنی بیشتر شامل ماژول های بخش 1 و 2 هست).
با این تفاصیل فکر میکنم چیزی که میخواهید رو باید داخل سورس های OpenCV به دنبالش بگردید + مطالعه کتاب های مرتبط با OpenCV چون نهایتان الگوریتم اصلی ثابته و چه در OpenCV و چه در ... تفاوت چندانی ندارن و از یک قانون کلی پیروی میکنند.
در مورد سوالاتتون هم بجز سوال 1 و 6 همگی همونطور که گفتم نیاز به مطالعه سورس های OpenCV داره.
در رابطه با سوال 1 در سیستم عامل windows هم میتونید از توابع Win32 کمک بگیرید:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و هم میتونید از DirectMedia/DirectShow که بخشی از DirectX هستند کمک بگیرید.
اما در رابطه با سوال 6 که به هوش مصنوعی مربوط میشه و لزوما ارتباطی با تشخیص چهره نداره منابع و کتابهای فراوانی در نت وجود داره و کافیه یک جستجو کنید.
samasara
01-03-2013, 08:38
ممنون از god of war 2 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) عزیز برای راهنمای خوبشون
من برای اینکه مطمئن بشم مطالب رو بصورت خلاصه دسته بندی می کنم که اگر جاییش رو اشتباهی متوجه شدم تذکر بدید :
1- الگوریتم های تشخیص اشیا و یا چهره ثابت هستند و بسته به نوع اونهای الگوریتم هایی رو میشه پایه ریزی کرد .
2- برای اینکه ما وارد جزئیات پردازش پیکسل ها که اطلاعات خام مورد استفاده الگوریتم ها هستند نشیم و وقت بیخود هدر ندیدم از توابع OpenCV استفاده می کنیم که شامل توابعی برای کار با همین پیکسل ها هستند
3- موارد بالا رو میشه با مطالعه و بررسی الگوریتم های مربوط انجام داد..
4- مباحث شبکه های عصبی هوش مصنوعی را هم می توان برای پردازش چهره بکار (صد البته این روش فقط برای پردازش چهره کار برد ندارد.)
-------------------------------------------------------------------------------------------
پس من باید به مطالعه ی سورس های openvc و هم چنین الگوریتم های مربوطه بپردازم..
حالا یک سوال دیگه هم دارم:
در دیگر سیستم عامل ها مثل مک یا لینوکس توابعی شبه به OpenCV وجود داره؟
god of war 2
01-03-2013, 14:52
بله درست متوجه شدید.
در دیگر سیستم عامل ها مثل مک یا لینوکس توابعی شبه به OpenCV وجود داره؟
خود کتابخانه OpenCV کاملا مالتی پلتفرم هست. یعنی اگر برنامه شما تحت OpenCV نوشته شده باشد, بدون تغییر کد برنامه میتونید اونو بر روی سیستم عامل های مختلفی کامپایل و اجرا کنید.
اما در سطح پایینتر یعنی توابع اختصاصی سیستم عامل ها یا همان API های سیستم عامل ها قطعا توابعی برای یکسری عملیات سطح پایین برای پردازش تصویر در هر سیستم عاملی(windows, OS X, linux) وجود دارد و کتابخانه هایی مثل OpenCV در اصل این توابع رو با کلی امکانات اضافی دیگر بصورت جامع و با یک اینترفیس ثابت (مالتی پلتفرم) کپسوله میکنند و کار برنامه نویسان رو ساده میکنند.
مثلا شما برای بارگزاری یک عکس در 3 سیستم عامل windows, OS X, linux به سه تابع مختلف با نامها و پارامتر های مختلف نیاز دارید
مثال (توابع فرضی هستند و درست نیستند):
windows:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
linux:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
OS X:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
OpenCV (multi-platform
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
OpenCV تمام این 3 تابع رو برای شما بصورت 1 تابع واحد کپسوله میکند و برنامه شما میتواند برای بارگزاری تصاویر PNG بر روی هر 3 سیستم عامل از این تابع بدون هیچ تغییری استفاده کند و در این شرایط وظیفه تشخیص اینکه کدام تابع (با توجه به سیستم عامل) مناسب است به عهده OpenCV میباشد.
البته مزایای OpenCV بسیار فراتر از اینها هست و این فقط یک مثال کوچک از مزیت مالتی پلتفرم بودن این کتابخانه بود.
پس من باید به مطالعه ی سورس های openvc و هم چنین الگوریتم های مربوطه بپردازم..
OpenCV بصورت OpenSource و رایگان میباشد و میتونید سورس های اونو بصورت کامل دریافت کنید و بررسی کنید.
البته نا گفته نماند که این کار فقط برای شخصی مثل شما که میخواهید دقیقا از نوع پیاده سازی و روش کامل پردازش تصویر مطلع شوید توصیه میشود وگرنه برای استفاده از OpenCV هیچ لزومی نداره که سورس اونو بررسی کنیم.
یک جستجو هم داخل amazone برای کتابهای الگوریتم تشخیص چهره انجام بدید مطمئنن کتابهای خوبی میتونید پیدا کنید.
samasara
01-03-2013, 15:47
ممنمون ..
کاملا برام باز شد مطلب و اینکه باید چی کار کنم..
بازم تشکر:n16:
asadi.hasan
09-04-2013, 11:58
اما در رابطه با سوال 6 که به هوش مصنوعی مربوط میشه و لزوما ارتباطی با تشخیص چهره نداره منابع و کتابهای فراوانی در نت وجود داره و کافیه یک جستجو کنید.
میشه چند تا از لینک هایی که در باره ی پیاده سازی با استفاده از شبکه های عصبی رو آموزش میدن بزارید ؟
من خیلی دارم دنبالش میگردم ، اما هیچ چیز فارسی پیدا نکردم و انگلیسی ها هم پولی هستن .
لطفا .
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.