1399/1/4، 08:29 عصر
به نام خدا؛
سلام. امیدوارم حالتون خوب باشه...
شاید براتون پیش اومده باشه که برای ثبت نام کاربر یا مسائل دیگه وجود چهره رو در یک تصویر تشخیص بدین. امروز قصد داریم با کمک PHP و پایه ترین الگوریتم تشخیص چهره یعنی الگوریتم HOG این کارو انجام بدیم. دقت تشخیص این الگوریتم خیلی زیاد نیست و بیشتر قادره تصاویری که چهره توشون مستقیم نمایان هست رو شناسایی کنه. در ضمن این کد میتونه تنها وجود یک چهره رو در تصویر شناسایی کنه نه چند چهره. برای اینکه همه چیز درست کار کنه یک دایرکتوری خاص با هر نامی که دلتون میخواد ایجاد کنین و همه فایل های مربوط به پروژه رو داخل همون دایرکتوری داشته باشید. تا یادم نرفته بگم که اجرای این کد در لوکال هاست هیچ مشکلی نداره و کاملاً کار میکنه. در ضمن باید این فایل زیپ رو دانلود کنین و محتویاتش رو در داخل دایرکتوری که ایجاد کردین قرار بدین.
مکانیزم کار کد:
شما تصویر موردنظرتون رو در داخل دایرکتوری که ایجاد کردید آپلود می کنید در کنار بقیه فایلها و بعد با آدرس ریکوئستی مشابه نمونه زیر برنامه PHP چهره ای که در تصویر موجود هست رو دورش یک کادر میکشه. پروسه پردازش تصویر داده شده به برنامه و اجرای الگوریتم HOG توسط یک کلاس PHP انجام میشه.
(برای آپلود فایل در سرور میتونین از این آموزش که تهیه کردم استفاده کنین)خُب همونطور که می بینین در آدرس بالا your_directory نام دایرکتوری هست که در هاستتون ایجاد کردین و name.jpg هم نام فایلی هست که میخواین وجود چهره رو داخلش تشخیص بدین. فایل facedetection.php هم در همون فایل زیپی که دانلود کردید موجوده. نکته مهمی که باید در نظر داشته باشین اینه که فرمت تصویر موردنظرتون حتماً باید jpg باشه.
حالا برای اینکه از این امکان در کانستراکت استفاده کنین میتونین یک اسپرایت در صفحه قرار بدین و بعد با استفاده از اکشن Load image from URL آدرسی مشابه ریکوئست بالا رو بهش بدین تا تصویر رو نمایش بده.
نمونه هایی از تشخیص وجود چهره که بنده تست کردم:
( ممکن هست تصاویر نمونه به خاطر بروزرسانی های انجمن برای شما لود نشود بنابراین می توانید از لینک های زیر برای مشاهده تصاویر نمونه استفاده کنید)
تصویر اول | تصویر دوم | تصویر سوم
امیدوارم که خوشتون اومده باشه. خوشحال میشم نظراتتون رو برام بگین.
انشاالله تا چند روز آینده امکانات بیشتری به کد php اضافه میکنم و آموزش دریافت مختصات چهره و خط کشیدن دور چهره رو در محیط کانستراکت قرار میدم.
با آرزوی بهترین ها برای یکایک شما عزیزان...
سلام. امیدوارم حالتون خوب باشه...
شاید براتون پیش اومده باشه که برای ثبت نام کاربر یا مسائل دیگه وجود چهره رو در یک تصویر تشخیص بدین. امروز قصد داریم با کمک PHP و پایه ترین الگوریتم تشخیص چهره یعنی الگوریتم HOG این کارو انجام بدیم. دقت تشخیص این الگوریتم خیلی زیاد نیست و بیشتر قادره تصاویری که چهره توشون مستقیم نمایان هست رو شناسایی کنه. در ضمن این کد میتونه تنها وجود یک چهره رو در تصویر شناسایی کنه نه چند چهره. برای اینکه همه چیز درست کار کنه یک دایرکتوری خاص با هر نامی که دلتون میخواد ایجاد کنین و همه فایل های مربوط به پروژه رو داخل همون دایرکتوری داشته باشید. تا یادم نرفته بگم که اجرای این کد در لوکال هاست هیچ مشکلی نداره و کاملاً کار میکنه. در ضمن باید این فایل زیپ رو دانلود کنین و محتویاتش رو در داخل دایرکتوری که ایجاد کردین قرار بدین.
مکانیزم کار کد:
شما تصویر موردنظرتون رو در داخل دایرکتوری که ایجاد کردید آپلود می کنید در کنار بقیه فایلها و بعد با آدرس ریکوئستی مشابه نمونه زیر برنامه PHP چهره ای که در تصویر موجود هست رو دورش یک کادر میکشه. پروسه پردازش تصویر داده شده به برنامه و اجرای الگوریتم HOG توسط یک کلاس PHP انجام میشه.
(برای آپلود فایل در سرور میتونین از این آموزش که تهیه کردم استفاده کنین)
کد:
http://yourhost.com/your_directory/facedetection.php?image=name.jpg
حالا برای اینکه از این امکان در کانستراکت استفاده کنین میتونین یک اسپرایت در صفحه قرار بدین و بعد با استفاده از اکشن Load image from URL آدرسی مشابه ریکوئست بالا رو بهش بدین تا تصویر رو نمایش بده.
نمونه هایی از تشخیص وجود چهره که بنده تست کردم:
( ممکن هست تصاویر نمونه به خاطر بروزرسانی های انجمن برای شما لود نشود بنابراین می توانید از لینک های زیر برای مشاهده تصاویر نمونه استفاده کنید)
تصویر اول | تصویر دوم | تصویر سوم
امیدوارم که خوشتون اومده باشه. خوشحال میشم نظراتتون رو برام بگین.
انشاالله تا چند روز آینده امکانات بیشتری به کد php اضافه میکنم و آموزش دریافت مختصات چهره و خط کشیدن دور چهره رو در محیط کانستراکت قرار میدم.
با آرزوی بهترین ها برای یکایک شما عزیزان...