طبقهبندی، تشخیص یا قطعهبندی؟

وقتی کسی میگوید «میخواهیم دوربین این را تشخیص دهد»، سه چیز کاملاً متفاوت ممکن است منظورش باشد — و انتخاب اشتباه بینشان، هزینهٔ پروژه را چند برابر میکند.
سه کار
طبقهبندی — این تصویر چیست؟
خروجی: یک برچسب برای کل تصویر. «سالم» یا «معیوب». «کارت ملی» یا «گذرنامه».
سادهترین، ارزانترین، و کمدادهترین.
نمیگوید کجا. فقط میگوید چه.
تشخیص — چه چیزی و کجا؟
خروجی: کادر دور هر شیء، بههمراه برچسبش. «سه بطری در این موقعیتها».
متوسط از هر نظر. برای شمردن، ردیابی و پیدا کردن ناحیه مناسب است.
قطعهبندی — دقیقاً کدام پیکسلها؟
خروجی: مرز دقیق هر شیء، پیکسل به پیکسل.
گرانترین، از هر جهت.
تفاوت واقعی: هزینهٔ برچسبزدن
اینجا جایی است که تصمیم واقعاً گرفته میشود، و بیشتر برآوردها اشتباه میکنند.
هر سه به دادهٔ برچسبخورده نیاز دارند و هزینهٔ برچسبزدن بین آنها مرتبهٔ متفاوتی دارد:
| کار | برچسب هر تصویر | نسبت زمان |
|---|---|---|
| طبقهبندی | یک کلیک | ۱ |
| تشخیص | کشیدن کادر دور هر شیء | ~۱۰ |
| قطعهبندی | ترسیم دقیق مرز هر شیء | ~۵۰ |
برای هزار تصویر، طبقهبندی چند ساعت کار است و قطعهبندی هفتهها.
و برچسبزدن، معمولاً بزرگترین قلم هزینهٔ پروژههای بینایی ماشین است — بیشتر از توسعه و بیشتر از سختافزار. همان نکتهای که در کاربردهای بینایی ماشین هم گفتیم.
قاعدهٔ انتخاب
سادهترین کاری را انتخاب کنید که مسئله را حل میکند.
سؤالها، به ترتیب:
۱. آیا فقط باید بدانید هست یا نیست؟ → طبقهبندی.
۲. آیا باید بشمارید یا موقعیت بدانید؟ → تشخیص.
۳. آیا باید مساحت یا شکل دقیق را اندازه بگیرید؟ → قطعهبندی.
بیشتر مسائل صنعتی با اولی حل میشوند و با سومی سفارش داده میشوند.
مثالهای واقعی
«میخواهیم بفهمیم قطعه معیوب است یا نه.» → طبقهبندی. اگر لازم است بدانید عیب کجاست تا اپراتور ببیند، تشخیص.
«چند نفر وارد فروشگاه شدند؟» → تشخیص، بهعلاوهٔ ردیابی.
«پلاک خودرو را بخوانید.» → تشخیص برای پیدا کردن پلاک، بعد OCR روی همان ناحیه. پلاکخوان.
«آیا این عکس، عکس کارت ملی است؟» → طبقهبندی، پیش از فرستادن به OCR. مرحلهای ساده که از پردازش بیفایده جلوگیری میکند.
«چقدر از سطح این قطعه زنگ زده؟» → قطعهبندی. یکی از معدود مواردی که واقعاً لازم است.
«جدول در کجای صفحه است؟» → تشخیص. استخراج جدول.
ترکیب، که معمولاً درستترین است
در عمل، سامانههای واقعی زنجیرهای از این کارها هستند:
طبقهبندی برای غربال → تشخیص برای پیدا کردن ناحیه → پردازش دقیق روی همان ناحیه
مزیتش سرعت و هزینه است: مرحلهٔ اول ارزان است و بیشتر تصاویر را رد میکند؛ مراحل گران فقط روی باقیمانده اجرا میشوند.
مثال: در بازرسی خط تولید، طبقهبند سریع اکثر قطعات سالم را رد میکند و فقط مشکوکها به تحلیل دقیق میروند.
چقدر داده لازم است
سؤالی که همیشه پرسیده میشود و جواب دقیقی ندارد. اما نسبتها روشناند:
- طبقهبندی با تفاوت واضح (سالم/معیوب که چشمی هم معلوم است): چند صد نمونه از هر کلاس، معمولاً کافی است.
- طبقهبندی با تفاوت ظریف: چند هزار.
- تشخیص: چند هزار تصویر با کادرهای برچسبخورده.
- قطعهبندی: به همان حجم، با هزینهٔ برچسب چند برابر.
و مهمتر از تعداد: تنوع. هزار تصویر از یک زاویه و یک نور، از دویست تصویر متنوع بدتر است.
نکتهٔ کلیدی: نمونههای منفی و حالتهای نادر را جمع کنید. پروژههایی که شکست میخورند معمولاً دادهٔ کافی از حالت عادی دارند و از حالت استثنایی هیچ — و همان حالت استثنایی است که کل ارزش سامانه در تشخیصش است.
کاهش هزینهٔ برچسب
سه روش که در پروژهها جواب دادهاند:
شروع با مدل عمومی و اصلاح خروجیاش. بهجای برچسبزدن از صفر، مدل پیشنهاد بدهد و آدم تصحیح کند. سرعت را چند برابر میکند.
یادگیری فعال. ابتدا با نمونهٔ کم آموزش دهید، بعد فقط تصاویری را برچسب بزنید که مدل در آنها مطمئن نیست. این روش، با کسری از داده به همان دقت میرسد.
افزایش داده. چرخش، تغییر نور، برش. اما با ملاحظه: برای متن فارسی، آینهکردن افقی داده را بیمعنی میکند؛ برای تشخیص عیب، تغییر رنگ ممکن است خود عیب را حذف کند.
چه چیزی را پیش از شروع تصمیم بگیرید
۱. کدام یک از سه کار؟ با قاعدهٔ بالا.
۲. برچسبزدن با چه کسی؟ اگر تشخیص عیب به تخصص نیاز دارد، برچسبزن باید همان متخصص باشد — و زمانش در برآورد بیاید.
۳. آستانهٔ قابل قبول چیست؟ و مهمتر: کدام خطا گرانتر است — رد کردن قطعهٔ سالم، یا عبور دادن قطعهٔ معیوب؟ این تعادل، تنظیم مدل را تعیین میکند.
۴. تصاویر کجا پردازش شوند؟ روی دستگاه یا سرور — پردازش روی دستگاه یا سرور.
سؤال سوم را پیش از هر کد تصمیم بگیرید. پروژههایی که این را روشن نکردهاند، در مرحلهٔ تحویل سر تعریف موفقیت اختلاف پیدا میکنند.