تشخیص چهره انسان

رُخ در گیت‌هاب

مقدمه

اولین قدم در فرایند پردازش چهره‌، تشخیص چهره است.
هدف از تشخیص چهره پاسخ به این سوال خواهد بود که آیا در یک عکس چهره -و یا چهره‌هایی- وجود دارد یا نه؟ و اگر بله مکان هر کدام از چهره‌ -و یا چهره‌ها- کجاست؟

از موارد زیر می‌توان به عنوان چالش‌های پیش‌رو در زمینه‌ی تشخیص چهره‌ نام برد:

  • زاویه چهره1. این‌که دوربین از کدام زاویه (تمام‌رخ، نیم‌رخ و ...) از چهره عکس گرفته باشد می‌توان فاکتور مهمی در درجه‌ی سختی تشخیص چهره محسوب گردد.

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

  • حالات چهره. نمای صورت در حالات مختلف چهره (لبخند، خنده، گریه و ...) متفاوت خواهد بود.

  • پوشش. ممکن است قسمتی از چهره بخاطر زاویه چهره و یا قرارگیری پشت اشیاء دیگر قابل مشاهده نباشد.

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

  • شرایط عکاسی. فاکتور‌های مختلف محیطی نظیر شرایط نوری و مشخصات دوربین عکاسی از جمله لنز‌ می‌توانند تاثیر زیادی در پروسه تشخیص چهره داشته باشند.

شکل شماره ۱

در ادبیات تشخیص چهره، مفهومی مرتبط وجود دارد که از آن به عنوان مکان‌یابی چهره3 یاد می‌کنیم. خواننده محترم باید این نکته را در نظر داشته باشد که هدف از مکان‌یابی چهره درست همانند تشخیص چهره هست اما تفاوت اندکی موجود خواهد بود و آن این که در مکان‌یابی چهره تصویر موجود فقط شامل یک چهره در نظر گرفته می‌شود.
یکی از روش‌های مرسوم در زمینه تشخیص اشیاء در نظر گرفتن قابی4 کوچک روی تصویر اصلی و تشخیص این خواهد بود که آیا شیء مورد نظر در آن پنجره وجود دارد یا نه؟ پس اگر از این روش استفاده شود باید در جستجوی الگوریتمی بود تا توانایی تشخیص وجود یا عدم وجود چهره در یک قاب کوچک، متشکل از چند صد پیکسل داشته باشد.
در این دیدگاه تشخیص چهره را می‌توان به صورت مساله‌ی دسته بندی نیز در نظر گرفت. به این صورت که عامل هوش مصنوعی باید قاب‌های مختلف موجود در تصویر را در دو گروه چهره و غیرچهره در نظر گرفت.

المان‌های مختلفی را می‌توان در ارزیابی یک سیستم تشخیص چهره مؤثر دانست مانند زمان یادگیری، زمان اجرا، تعداد مثال‌های مورد نیاز برای یادگیری و نسبت بین میزان تشخیص5 و خطای منفی6.
میزان تشخیص را می‌توان به نسبت تعداد چهره‌های درست تشخیص داده شده توسط عامل هوش مصنوعی به تعداد چهره‌های تشخیص داده شده توسط انسان تعریف کرد.
در صورتی قابی توسط عامل تشخیص داده شده است به عنوان چهره در نظر گرفته می‌شود که قاب مورد نظر بیشتر از میزان خاصی از چهره‌ی فرد را پوشش دهد.
از طرف دیگر خطای منفی زمانی رخ می‌دهد که عامل در تشخیص چهره ناموفق باشد که این خود ریشه در پایین بودن میزان تشخیص خواهد بود. در مقابل خطای منفی مفهوم دیگری به نام خطای مثبت7 وجود دارد که وقتی قابی به عنوان چهره از طرف عامل هوش‌ مصنوعی معرفی می‌شود اما عامل انسانی تایید نمی‌کند، رخ می‌دهد.

detection\ rate= \frac{correctly\ detected}{determined\ by\ human}

نکته‌ی مهم در رابطه با خطای منفی یا خطای مثبت این است که هر چه قوانین پیاده‌سازی شده سخت‌تر و به واسطه‌ی آن رفتار عامل سخت‌گیرانه تر باشد خطای منفی بالاتر و خطای مثبت پایین‌تر خواهد بود و بالعکس.

روش‌های موجود

روش‌های موجود در تشخیص چهره را می‌توان به چهار گروه مختلف تقسیم کرد:

  • روش‌های دانش‌ محور8

  • روش‌های جزئیات محور9

  • روش‌های الگو محور10

  • روش‌های ظاهر محور11

روش‌های دانش محور

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

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

شکل شماره ۲ - یک تصویر مورد استفاده در روش‌های بالا-به-پایین دانش محور تولید شده بر اساس دانش انسانی درباره خصوصیات چهره انسان.بر گرفته از **[4]**

روش‌های جزئیات محور

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

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

روش‌های الگو محور

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

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

شکل شماره ۳ - الگوی نسبی تولید شده جهت تشخیص چهره (بر گرفته از **[5]**)

روش‌های ظاهر محور

بر خلاف روش الگو محور که در آن الگوی مورد استفاده توسط گروهی متخصص تولید می‌گردد در روش ظاهر محور این الگو از آموزش عامل هوش مصنوعی بوسیله‌ی تعدادی مثال‌ از تصاویر چهره حاصل می‌شود. به طور معمول روش‌های ظاهر محور بر اساس آنالیز آماری و یادگیری ماشین استوار است. در همین حال از کاهش کیفیت تصاویر نیز در جهت بهبود عملکرد محاسباتی استفاده می‌شود.

کارهای مرتبط

وایولا و جونز در [2] روشی برای حل مسأله تشخیص اشیاء مبتنی بر یادگیری ماشینی را معرفی کرده‌اند که قادر به پردازش سریع تصاویر با میزان تشخیص بالا خواهد بود.

روش معرفی شده که به نوعی نماینده‌ی روش‌های ظاهرمحور محسوب می‌شود از سه عنصر کلیدی استفاده می‌کند:

  • انتگرال تصویر12 که توانایی محاسبه سریع مجموع مقادیر پیکسل‌های موجود در یک قاب مستطیل شکل را به ما می‌دهد.

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

  • روش آبشاری در کلاس‌بندی اشیا.

انتگرال تصویر [9]

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

در ادبیات پردازش تصویر از این الگوریتم به عنوان انتگرال تصویر نیز یاد می‌شود.
همان‌طور که از نام تکنیک پیداست مقدار درایه‌ی (x, y) ماتریس مجموع محیطی برابرست با مجموع همه‌ی مقادیر بالا و چپ درایه‌ی (x, y) ماتریس اصلی.

I(x,y)=\sum_{{x}'<x{y}'<y}{i({x}',{y}')}</div>

علاوه بر این ماتریس مجموع محیطی به راحتی و با تکیه به این اصل که مقدار درایه‌ی (x,y) آن از طریق فرمول زیر بدست می‌آید، قابل محاسبه است.

I(x,y)=i(x,y) - I(x-1,y) + I(x,y-1) - I(x-1,y-1)

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

اگر فرض کنیم A=(x_0, y_1),B=(x_1, y_1),C=(x_1, y_0),D=(x_0, y_0) باشند، آنگاه:

\sum_{x_0<{x}'<x_1, y_0<{y}'<y_1}{i({x}',{y}')}={I(C)+I(A)-I(B)-I(D)}</div>

شکل شماره ۴

آدابوست [10]

آدابوست الگوریتم یادگیری ماشینی است که می‌تواند همراه با سایر الگوریتم‌های یادگیری برای افزایش کارایی آن‌ها به کار رود. آدابوست از مجموع وزن‌دار خروجی این الگوریتم‌های کلاس‌بندی[^17] که از آن‌ها به عنوان یادگیرنده‌ ضعیف17 یاد می‌شود، الگوریتم کلاس‌بندی قوی‌تری را ایجاد کند که برای مثال در این مسأله می‌توان با درصد بالایی از اطمینان قاب‌های مختلف تصویر را به دسته‌های چهره و غیرچهره تقسیم کند.

به طور کلی الگوریتم‌های بوستینگ)18 در گرد این سوال به وجود آمده‌اند که آیا با استفاده از چندین یادگیرنده‌ی ضعیف می‌توان به یک یادگیرنده‌ی قوی رسید؟ یک یادگیرنده‌ی ضعیف به این صورت تعریف می‌شود که فقط بتواند از حالت تصادفی عملکرد بهتری داشته باشد و یا به عبارت دیگر به حالت درست نزدیک‌تر باشد. در مقابل یادگیرنده‌های قوی به دسته‌ای از الگوریتم‌های کلاس‌بندی اطلاق می‌شود که همبستگی زیادی با حالت درست داشته باشند.

شکل شماره ۵

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

شکل شماره ۶


شکل شماره ۷


لینهارت و همکاران در [6] علاوه بر مشخصات مورد استفاده توسط وایولا و جونز در [2] که به شکل مستطیل هستند مشخصاتی دیگر که زاویه‌ی ۴۵ درجه دارند را با وام‌گیری از کارهای پاپاجورجو در [7] و [8] به جزییات این کار اضافه کردند.

شکل شماره ۸


آدابوست از این جهت مورد استفاده قرار می‌گیرد که می‌توان ترتیب یادگیرنده‌های ضعیف را به گونه‌ای تغییر دهد تا خطا در نمونه‌های کلاس‌بندی نشده19 به حداقل برسد. وقتی قدرت اصلی آدابوست مشخص می‌شود که از زیاد بودن ابعاد در بسیاری از مسایل حوزه‌ی هوش مصنوعی صحبت کنیم. برای مثال همان طور که در الگوریتم ارایه شده توسط وایولا و جونر استفاده شده است در یک قاب با ابعاد ۲۴x۲۴ بیش از ۱۶۲هزار مشخصه‌ی هار وجود دارد که بسیار بیشتر از ابعاد قاب می‌باشد. بر خلاف سایر روش‌ها، آدابوست آن مشخصه‌هایی را انتخاب می‌کند که قابلیت پیش‌بینی بیشتری را در اختیار ما قرار می‌دهند. در یک تصویر درصد بسیار بالایی را قاب‌هایی تشکیل می‌دهند که شامل هیچ چهره‌ای نیستند پس اگر بتوان الگوریتم کلاس‌بندی را ساخت که قادر به تشخیص این قاب‌ها با استفاده از محاسبه‌ی پایین باشد، می‌توان مقدار زیادی از محاسبات کم کرد به این صورت که آستانه‌20 الگوریتم را به اندازه‌ای پایین می‌آوریم تا به میزان تشخیص ۱۰۰٪ برسیم ولی از آن‌جایی که الگوریتم کلاس‌بندی ما فقط از یک یا دو مشخصه‌ی هار استفاده می‌کند میزان خطای مثبت بالایی نیز در انتظار ما خواهد بود. به همین ترتیب و با استفاده از مدل آبشاری الگوریتم کلاس‌بندی که در مرحله‌ی اول آبشار وجود دارد ساده‌ترین و با کمترین میزان محاسبه خواهد بود و هر چه به مراحل بعدی آبشار می‌رویم این الگوریتمها پیچیده‌تر می‌شوند و به مقدار بیشتری محاسبه نیاز دارند.

مدل آبشاری کلاس‌بندی اشیا

در مدل آبشاری که در [2] مورد استفاده واقع شده ۳۸ مرحله وجود دارد و بیش از ۶۰۰۰ عدد از مشخصه‌های هار مورد استفاده قرار می‌گیرد که در آن هر مرحله نسبت به مرحله قبل پیچیده‌تر و از لحاظ محاسباتی سنگین‌تر خواهد بود. تعداد مشخصه‌هایی که در ۵ مرحله‌ی اول مورد آزمایش قرار می‌گیرد به ترتیب ۱، ۱۰، ۲۵، ۲۵ و ۵۰ هست. در بقیه‌ی لایه‌ها به ترتیب این تعداد افزایش می‌یابد تا مجموع آن به بیش از ۶۰۰۰ عدد می‌رسد.

شکل شماره ۹


همان‌طور که در تصویر بالا مشاهده می‌شود خروجی‌های مرحله‌ی اول در صورت موفق ظاهر شدن به مرحله‌ی دوم آبشار راه می‌یابند تا در این مرحله نیز بعضی از آنها که مشخصه‌های لازم را ندارند رد شوند. بدین ترتیب مقدار زیادی از تصاویر غیرچهره حذف شده و محاسبات بیشتر روی قاب‌هایی صورت می‌گیرد که شانس بیشتری برای حضور چهره در خود دارند.

کار‌های آینده

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

یکی از این قسمت‌ها می‌تواند چهره‌ی ارائه شده توسط سیستم حاضر را دریافت کرده و با مقایسه‌ی آن با مدل از چهره که توسط انسان ایجاد شده است، تائیدی باشد بر این‌که قاب ارائه شده شامل چهره است و در صورتی که مشابهتی وجود نداشت. قاب را حذف کند.

نمونه‌ای از مدلی از چهره انسان در [شکل شماره ۲] مشاهده می‌شود.

مراجع

  • [1] D. A. Forsyth and J. Ponce, Computer Vision: A Modern Approach, 2nd ed. .

  • [2] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” Proc. 2001 IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognition. CVPR 2001, vol. 1, 2001.

  • [3] M.-H. Y. M.-H. Yang, D. J. Kriegman, and N. Ahuja, “Detecting faces in images: a survey,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 24, no. 1, pp. 34–58, 2002.

  • [4] G. Yang and T. S. Huang, “Human Face Detection in Complex Background,” Pattern Recognition, vol. 27, no. 1, pp. 53-63, 1994.

  • [5] B. Scassellati,“Eye Finding via Face Detection for a Foevated, Active Vision System,” Proc. 15th Nat’l Conf. Artificial Intelligence, 1998.

  • [6] R. Lienhart, A. Kuranov, V. Pisarevsky, and M. R. L. T. Report, “Empirical Analysis of Detection Cascades of Boosted Classifiers for Rapid Object Detection,” 2002.

  • [7] A. Mohan, C. Papageorgiou, T. Poggio. Example-based object detection in images by components. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 23, No. 4, pp. 349 -361, April 2001.

  • [8] C. Papageorgiou, M. Oren, and T. Poggio. A general framework for Object Detection. In International Conference on Computer Vision, 1998.

  • [9] Summed Area Table, http://en.wikipedia.org/wiki/Summed_area_table

  • [10] Adaboost, http://en.wikipedia.org/wiki/AdaBoost


  1. Pose

  2. Image orientation.

  3. Face localization.

  4. Window.

  5. Detection rate.

  6. False alarm.

  7. Positive alarm.

  8. Knowledge-based.

  9. Feature invariant.

  10. Template matching.

  11. Appearance-based.

  12. Integral image.

  13. AdaBoost.

  14. Haar features.

  15. classifier.

  16. Summed area table.

  17. Weak learner.

  18. Boosing.

  19. misclassified.

  20. Threshold.

نیما همتی

کار شما برای این فاز از پروژه بسیار خوب بود و از شما به خاطر تلاشتان تشکر میکنم.

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

همچنین مناسب بود کمی از پیچیدگی‌ها و مشکلات ناشی از کارهای پردازش تصویر نیز صحبت کنید. یعنی مثلا بگویید برای پردازش این عکس باید این مراحل صورت بگیرد. اول روی عکس این عملیات صورت بگیرد، بعد ....

اما به طور کلی از زحمتی که کشیدید تشکر میکنم . موفق باشید

رد شده

پروژه ی خوبی بود ولی رو قسمت کد کم کار شده بود
اگر کد بیشتری میزدید بهتر بود
موفق باشید

تایید شده

پروژه تون در کل کامل به نظر می رسه. از نظر من تنها مشکلی که داره اینه که تو بخش کارهای مرتبط فقط به یک روش پرداخته اید درحالی که قرار بود مطالب چند مقاله ایی که خونده اید رو قرار بدید.

از نکات مثبت پروژه ی شما میشه استفاده از ارجاعات و استفاده از عکسهای متناسب با مطالب رو نام برد.

نمره ای که من به شما میدم چهارونیمه!

یاسر سوری

با سلام. چند نکته رو به صورت سریع می‌گم:

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

  • ترجمه‌ی صحیح «خطای مثبت» false positive است که بهتر است «مثبت اشتباه» گفته شود. همچنین «منفی اشتباه» برای false negative. در این صورت false alarm همان مثبت اشتباه است.

  • کلا بهتر است در مواردی که اظهار نظر می‌کنید یا دلیل بیان کنید یا ارجاعی به یک مقاله. برای مثال در جایی گفته‌اید: «از طرف دیگر عمل‌کرد این نوع عامل‌ها در تشخیص چهره بسیار خوب بوده است» که معلوم نیست بر اساس چه معیاری خوب بوده است و خوب یعنی چه و ...

  • اسم بعضی مقالات را حتی درست ذکر نکرده‌اید، برای مثال در «Human Face Detection in Complex Background» یک کلمه را جا انداخته‌اید. «EyeFindingvia Face Detection for a Foevated»!!

  • این جمله غلط به نظر می‌رسد: «فرض بنیادین در این روش این مشاهده بوده که انسان بدون دشواری در زوایای مختلف چهره و شرایط نوری متفاوت می‌تواند به‌راحتی چهره را تشخیص دهد» زیرا توانایی انسان یک فرض نیست و یک واقعیت (fact) است.

  • این جمله نیز غیر دقیق است «اجزای مختلف چهره مانند ابروها، چشم‌ها، بینی و دهان براحتی توسط آشکارساز لبه استخراج می‌شوند» براحتی!!!! اتتفاقا این کار بسیار سختی است.

  • غلط نگارشی: «در روش الگو محور الگوی استانداردی از چهره‌ی انسان به صورت دستی و یا به صورت تابعی ریاضی از پیش تعیین گردد».

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

  • غلط نگارشی: «به طور معمول روش‌های ظاهر محور بر اساس آنالیز آماری و یادگیری ماشین استوار است».

  • به جای «یادگیری ماشینی» از «یادگیری ماشین» استفاده کنید.

  • تعریف بهتر انتگرال تصویر این است. «یک روش برای محاسبه‌ی سریع‌تر ویژگی‌های haar از روی تصویر»

  • این جمله را عوض کنید: «علاوه بر این ماتریس مجموع محیطی به راحتی و با تکیه به این اصل که مقدار درایه‌ی (x,y) آن از طریق فرمول زیر بدست می‌آید، قابل محاسبه است»

  • توضیح شما در مورد آدابوست مناسب است. آفرین.

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

  • «لینهارت و همکاران در [6] علاوه بر مشخصات مورد استفاده توسط وایولا و جونز در [2] که به شکل مستطیل هستند مشخصاتی دیگر که زاویه‌ی ۴۵ درجه دارند را با وام‌گیری از کارهای پاپاجورجو در [7] و [8] به جزییات این کار اضافه کردند که» این جمله ناقص است.

  • «در یک قاب با ابعاد ۲۴۲۴ بیش»، آیا قاب ۲۴ در ۲۴ مد نظر شما بوده است؟

  • «میزان خطای مثبت بالایی نیز در انتظار ما خواهد بود». جمله اصلاح شود.

  • «این الگوریتم*ها پیچیده‌تر می‌شوند» علامت ضرب چیست؟

  • در پاراگراف قبل از «مدل آبشاری کلاس‌بندی اشیا» ایتالیک‌ها را اصلاح کنید چون به نظر می‌رسد تعدادی به اشتباه ایتالیک شده‌اند.

  • در مورد پیاده‌سازی خود توضیحی نداده‌اید که چه چیزی را پیاده سازی کرده‌اید.

مرتب نويسي به خوبي اعمال شده است كه اين نشان از وقت گذاشتن مناسب بر روي پروژه است.
در مراجع لينك مستقيم به سايت ويكيپديا وجود دارد.
در پروژه قسمتي تحت عنوان آزمايش ها وجود ندارد!
در كل خوب است

خوب بود ولی چرا با کلیک بر روی تغییرات، تغییراتی مشاهده نگردید!

در کل خوب است و روندی خوبی در انجام آزمایشات دارد ولی مراحل آزمایش مبهم است

تایید شده

سلام
پروژه بسیار خوبیست. بخش ارزیابی رو تکمیل نکردید ولی چون گفته شده بود که در ارزیابی به کلیت پروژه توجه کنیم من به این پروژه نمره پنج می‌دهم.

  • کد شما بسیار خوب است. فقط لطفا در مورد پیاده‌سازی خود در گیت‌هاب یا این‌جا کمی توضیح بدهید.
    *‌ متن خوب نوشته شده است ولی بعضی از غلط های نگارشی در متن شما به چشم می‌خورد. مثل :
    ۱.خطای مثبت بالایی نیز در انتظار ما خواهد بود

  • "به جزییات این کار اضافه کردند که" جمله را ناقص رها کرده‌اید.

  • "کلاس‌بندی1 که" مارکدان ایراد دارد.

  • فرمول ها بد دیده می‌شوند.

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


  1. 17

محمد غضنفری

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

یاسر سوری

از اینکه در گزارش تغییر خاصی داده نشده است می‌توان فهمید که در این فاز هیچ کاری انجام نشده است.