داستان موفقیت
آلفاریالیتی — SDK اسکن خودکار کارت شناسایی
SDK اندروید اسکن کارت شناسایی آلفاریالیتی — تشخیص خودکار کارت و عکسبرداری در لحظه درست، برای بالا بردن نرخ موفقیت ثبتنام غیرحضوری.
نتیجه در یک نگاه
خودکار
تصمیم لحظه عکسبرداری
روی گوشی، بدون اینترنت
تشخیص کارت
SDK، نه هسته فناوری
دامنه کار ما
مسئله
در فرایند احراز هویت غیرحضوری، عکسی که کاربر از کارت شناسایی میگیرد گلوگاه واقعی است: تصویر تار، کج یا ناقص باعث میشود اطلاعات کارت خوانده نشود و کاربر بدون اینکه بفهمد چرا، ثبتنام را از ابتدا تکرار کند — و بخشی از کاربران در همین تکرار از دست میروند. آلفاریالیتی به لایهای سمت گوشی نیاز داشت که کیفیت تصویر را پیش از مرحله خواندن اطلاعات تضمین کند و مشتریانش بتوانند آن را مثل یک قطعه آماده به اپلیکیشن خودشان اضافه کنند.
رویکرد ما
بهجای سپردن تصمیمِ «الان عکس بگیر» به کاربر، این تصمیم به خود SDK سپرده شد: کارت در کادر تشخیص داده میشود و عکس در لحظه مناسب و بدون نیاز به فشردن دکمه ثبت میشود، پس کاربر عملاً نمیتواند تصویر نامناسب بگیرد. روی و پشت کارت هر دو پشتیبانی میشوند و افزودن انواع کارت جدید بدون ساخت دوباره SDK انجام میشود. تشخیص روی خود گوشی و بدون ارسال تصویر به سرور انجام میشود. سامانه خواندن اطلاعات و فناوری پشت آن متعلق به آلفاریالیتی است؛ کار ما همین لایه سمت گوشی و در ادامه اورهال و بهروزرسانی وابستگیهای آن بود.
SDK اسکن کارت شناسایی آلفاریالیتی برای اندروید: لایهای که پیش از مرحله خواندن اطلاعات کارت مینشیند و تضمین میکند تصویری که به آن میرسد، قابل خواندن باشد.
چه چیزی کار ما بود و چه چیزی نبود
- کار آلفاریالیتی — محصول و فناوری خواندن اطلاعات کارت. سرویس و مدلها مال آنهاست و ما آن را ننوشتهایم؛ فهرست کامل قابلیتها روی alphareality.io آمده است.
- کار ما — SDK اندروید مرحله ثبت تصویر: تشخیص کارت در کادر، عکسبرداری خودکار، رابط راهنما، بستهبندی کتابخانه و اتصال. و در ادامه، اورهال و بهروزرسانی پکیجها و وابستگیهای همین SDK.
این پروژه در کنار SDK احراز هویت غیرحضوری برای همین کارفرما ساخته شد.
کاربر عکس نمیگیرد
در فرایند متعارف، کاربر باید همزمان سه کار انجام دهد: کارت را درست بگیرد، دستش را ثابت نگه دارد و لحظه مناسب را تشخیص دهد. سه کار همزمان، برای کسی که فقط میخواهد ثبتنام کند.
اینجا هر سه به خود SDK واگذار شده است و کاربر فقط گوشی را نگه میدارد.
چرا کیفیت تصویر، مسئلهای جدا از دقت خواندن اطلاعات است
وقتی سامانهای اطلاعات کارت را نمیخواند، اولین واکنش معمولاً تعویض یا تنظیم آن سامانه است. اما اگر تصویر ورودی تار یا ناقص باشد، هیچ سامانهای آن را نخواهد خواند.
جدا کردن این دو مرحله یعنی بهبود کیفیت تصویر مستقل از سامانه خواندن به نتیجه کمک میکند — و اگر روزی آن سامانه عوض شود، این لایه سر جایش میماند.
فناوریهای استفادهشده
- Kotlin
- اندروید
- بینایی ماشین
- یادگیری ماشین روی دستگاه
داستان پروژه
01چالش
عکسِ بد از کارت، رایجترین دلیل شکست ثبتنام
مرحله بعدیِ احراز هویت، عکس گرفتن از کارت شناسایی است و بیشتر ثبتنامها همینجا میشکنند. کاربر تصویر تار میگیرد یا کارت را کج نگه میدارد؛ بعد اطلاعات کارت خوانده نمیشود و کاربر — بدون اینکه بداند چه اشتباهی کرده — باید از اول شروع کند. هر تکرار، بخشی از کاربران را از دست میدهد.
02نقش ما
SDK اندروید، نه سامانه خواندن اطلاعات
مثل پروژه قبلی، مرز کار روشن است: سامانه خواندن اطلاعات کارت و فناوری پشت آن مال آلفاریالیتی است و ما آن را ننوشتهایم. آنچه ما ساختیم SDK اندرویدی است که مرحله پیش از آن را انجام میدهد — تشخیص کارت در کادر دوربین و ثبت تصویر در لحظه درست.
03ساخت
دکمه عکسبرداری برداشته شد
بهجای اینکه از کاربر بخواهیم عکس خوب بگیرد، تصمیمگیری از او گرفته شد: SDK خودش تشخیص میدهد کارت درست در کادر قرار گرفته و در لحظه مناسب عکس را ثبت میکند. کاربر فقط گوشی را نگه میدارد. روی و پشت کارت هر دو در یک مسیر پیوسته اسکن میشوند.
04نتیجه
کیفیت تصویر تضمینشده، پیش از مرحله خواندن اطلاعات
این SDK پیش از مرحله خواندن اطلاعات مینشیند و تضمین میکند تصویری که به آن میرسد قابل خواندن باشد. چون تشخیص روی خود گوشی انجام میشود، فرایند بدون اینترنت هم کار میکند. اورهال و بهروزرسانی وابستگیهای آن هم مثل دو SDK دیگر ادامه یافت.
آنچه در SDK تحویل شد
عکسبرداری خودکار
عکس در لحظه مناسب و بدون فشردن دکمه ثبت میشود؛ کاربر نمیتواند تصویر نامناسب بگیرد.
تشخیص رو و پشت کارت
هر دو وجه کارت در یک مسیر پیوسته اسکن میشوند، بدون بیرون آمدن از جریان ثبتنام.
جلوگیری از تصویر تار
تصویر تار اصلاً ثبت نمیشود، پس سامانه خواندن اطلاعات روی ورودی سالم کار میکند.
کادر راهنما روی صفحه
محل درست کارت به کاربر نشان داده میشود و تعداد تلاشها کم میشود.
کار بدون اینترنت
تشخیص روی خود گوشی انجام میشود؛ کیفیت اتصال کاربر روی این مرحله اثری ندارد.
قابل گسترش به کارتهای دیگر
پشتیبانی از انواع کارت و سند جدید، بدون ساخت دوباره SDK.
پرسشهای پرتکرار درباره این نوع پروژه
دقیقاً چه بخشی از این محصول کار شماست؟
SDK اندروید. سامانه خواندن اطلاعات کارت و فناوری پشت آن متعلق به آلفاریالیتی است و ما آن را ننوشتهایم؛ کار ما لایه سمت گوشی است که تصویر قابل خواندن را تحویل آن میدهد — بهعلاوه اورهال و بهروزرسانی وابستگیهای همان SDK.
اطلاعات داخل کارت را هم میخواند؟
این SDK مرحله ثبت تصویر است، نه استخراج متن: کاری که میکند تحویل تصویری است که سامانه خواندن اطلاعات بتواند رویش کار کند. این جداسازی عمدی است — بهبود کیفیت تصویر به هر سامانه خواندنی که در ادامه بیاید سود میرساند.
چرا این کار روی گوشی انجام میشود و نه روی سرور؟
دو دلیل عملی دارد: کاربر تأخیر و مصرف داده ندارد و کیفیت اینترنتش روی نتیجه اثر نمیگذارد؛ و تصویر کارت شناسایی تا پیش از تصمیم خود شما از گوشی خارج نمیشود.
برای کارتهای دیگر هم قابل استفاده است؟
بله. پشتیبانی از کارت ملی، گواهینامه، کارت بانکی یا هر سند دیگری قابل افزودن است.
نرخ شکست ثبتنام ما را چقدر بهتر میکند؟
این عدد به وضعیت فعلی شما بستگی دارد و پیش از اندازهگیری نمیشود گفت. اگر نرخ فعلیتان را دارید، همان نقطه شروع سنجش است — توصیه ما این است که پیش و پس از اجرا اندازهگیری شود.
در کنار احراز هویت چهره هم قابل استفاده است؟
بله، و معمولاً همینطور استفاده میشود: اسکن کارت شناسایی در کنار [SDK احراز هویت غیرحضوری](/portfolio/alphareality-kyc-sdk/) یک فرایند کامل ثبتنام غیرحضوری میسازد. هر دو را برای همین کارفرما ساختیم.

