همترازساز چهره برای مقایسهی قبل و بعد در کلینیک
ابزار وب که دو عکس قبل و بعد از یک چهره را با ۴۶۸ نقطهی چهره همتراز (چرخش، اندازه، برش) میکند و با اسلایدر مقایسه نشان میدهد؛ نسخهی مرورگر و API پایتونی.
معرفی
ابزار وبی برای مقایسهی دقیق عکسهای قبل و بعد در کلینیکهای زیبایی و پزشکی. وقتی دو عکس از یک چهره با فاصلهی زمانی گرفته میشود، سر کمی کج شده، چهره از دوربین دورتر یا نزدیکتر است و مقایسهی چشمی گمراهکننده میشود. این ابزار هر دو عکس را بهطور خودکار همتراز میکند تا فقط تغییر واقعی چهره دیده شود. این پروژه را در سال ۲۰۲۵ ساختم.
تصاویر این صفحه با عکسهای نمونهی خود برنامه ساخته شدهاند.
برنامه چه میکند
دو روش ورودی: گرفتن عکس مستقیم با دوربین دستگاه (مثلا در مطب)، یا بارگذاری عکس باکیفیت از آرشیو. برای آزمایش سریع سه نمونه آماده هم هست.
ترازسازی خودکار: چهره در هر عکس پیدا میشود و با ۴۶۸ نقطهی کلیدی چهره، شیب خط بین دو چشم حساب و کجی سر اصلاح میشود. فاصلهی دو چشم در دو عکس با هم یکی میشود تا اندازهی چهره برابر شود.
برش هوشمند: کادر برش از روی مختصات چهره و با حاشیهی درصدی حساب میشود تا در خروجی نوار سیاه نیفتد و چهره همیشه در همان جای کادر باشد.
مقایسه با اسلایدر: نتیجه با یک اسلایدر قبل و بعد نشان داده میشود: با کشیدن آن روی چهره، تغییر دیده میشود.
خروجی: دانلود تصویر ترکیبی کنار هم برای پروندهی بیمار، با برچسب «قبل» و «بعد».
نمودار زیر مسیر کار را نشان میدهد.
نحوهی کار
تشخیص چهره: مدل MediaPipe Face Mesh برای یافتن ۴۶۸ نقطه، که در نسخهی وب در خود مرورگر اجرا میشود؛ پس عکس بیمار از دستگاه بیرون نمیرود.
ریاضیات تصویر: چرخش، تغییر اندازه و برش با ماتریس تبدیل روی Canvas انجام میشود، و برای جلوگیری از بریدهشدن گوشهها، اندازهی کادر چرخیده دوباره حساب میشود.
نسخهی سرور (API): همین الگوریتم را با Python، OpenCV و FastAPI هم نوشتم که دو عکس را میگیرد و دو عکس همتراز را برمیگرداند، تا در برنامههای دیگر هم قابل استفاده باشد. یک ابزار آزمایشی OpenCV برای دیدن نتیجه با اسلایدر هم ساختم.
رابط: تیره و تمیز، با Next.js، React و Tailwind CSS.
ابزار
Next.js، React، TypeScript، Tailwind CSS
MediaPipe Face Mesh، HTML Canvas
Python، OpenCV، FastAPI (نسخهی API)
نتیجه
ابزاری که مقایسهی قبل و بعد را از قضاوت چشمی به یک مقایسهی استاندارد و قابل اتکا تبدیل میکند، و در چند ثانیه نتیجهی آمادهی ثبت در پرونده میدهد.
از من حمایت کنید
اگر این نوشتهها به کارتان آمد، با یک حمایت کوچک به ادامهی آنها کمک کنید.
گالری
وبلاگ
مطالب مرتبط
کاهش بیش از ۴ برابری هزینه ارزیابی Identity Resolution با ترکیب مدلهای تصمیمگیر و LLMهای پیشرو
راهنمای جامع استفاده از فایلهای SKILL.md در پلتفرمهای هوش مصنوعی
معرفی Gemini 4 Carbon: مدل پیشگام جدید گوگل در امنیت سایبری و برنامهنویسی
معرفی Jumper: ربات خرچنگی متنباز با ۲۲ درجه آزادی و قابلیت شخصیسازی با هوش مصنوعی
دربارهی این پروژه سوالی دارید؟
اگر دربارهی این پروژه سوالی دارید یا پروژهای مشابه در دست دارید، خوشحال میشوم با من در ارتباط باشید.