گسترش ماژولهای دوربین کممصرف، صنایع مختلفی را از امنیت خانه هوشمند و فناوری پوشیدنی گرفته تا اینترنت اشیاء صنعتی و نظارت زیستمحیطی متحول کرده است. این دستگاههای فشرده و کممصرف برای فعال کردن تجزیه و تحلیل بلادرنگ - تشخیص اشیاء، تشخیص حرکت، احراز هویت چهره - بدون اتصال مداوم به ابر، به هوش مصنوعی متکی هستند. با این حال، بزرگترین گلوگاه همچنان پابرجاست: مدلهای پیشرفته هوش مصنوعی (مانند ترنسفورمرها یا شبکههای عصبی کانولوشنال بزرگ) از نظر محاسباتی سنگین هستند، در حالی که دوربینهای کممصرف بر روی باتریهای محدود و قدرت پردازش محدود کار میکنند. اینجاست که فشردهسازی مدل هوش مصنوعی به عنوان یک تغییردهنده بازی ظهور میکند. اما برخلاف رویکردهای فشردهسازی سنتی که صرفاً بر روی تغییرات الگوریتمی تمرکز دارند، آینده هوش مصنوعی کارآمد بر روی دستگاههای کممصرفدوربینهادر همافزایی سختافزار و الگوریتم نهفته است. در این پست، بررسی خواهیم کرد که چرا این پارادایم همکاری حیاتی است، تکنیکهای فشردهسازی نوآورانه متناسب با سختافزار دوربین کممصرف را تجزیه و تحلیل میکنیم و بینشهای عملی برای پیادهسازی آنها در برنامههای کاربردی دنیای واقعی به اشتراک میگذاریم. چرا فشردهسازی سنتی هوش مصنوعی برای ماژولهای دوربین کممصرف کافی نیست
برای سالها، فشردهسازی مدلهای هوش مصنوعی بر سه استراتژی اصلی متمرکز بوده است: هرس کردن (حذف وزنهای اضافی)، کوانتیزاسیون (کاهش دقت داده از ممیز شناور ۳۲ بیتی به اعداد صحیح ۸ بیتی یا کمتر)، و تقطیر دانش (انتقال یادگیری از یک مدل بزرگ "معلم" به یک مدل کوچک "دانشآموز"). در حالی که این روشها اندازه مدل و بار محاسباتی را کاهش میدهند، اغلب محدودیتهای منحصر به فرد ماژولهای دوربین کممصرف را در نظر نمیگیرند - به طور خاص، معماریهای سختافزاری آنها (مانند میکروکنترلرهای کوچک، TPUهای لبه، یا تراشههای سفارشی ISP) و بودجه انرژی آنها (که اغلب بر حسب میلیوات اندازهگیری میشود).
یک ماژول دوربین معمولی کممصرف را که توسط یک میکروکنترلر سری Arm Cortex-M تغذیه میشود، در نظر بگیرید. کوانتیزاسیون سنتی ۸ بیتی ممکن است یک مدل را ۷۵٪ کوچک کند، اما اگر میکروکنترلر فاقد پشتیبانی سختافزاری برای عملیات صحیح ۸ بیتی باشد، مدل فشرده همچنان به آرامی اجرا شده و باتری را تخلیه میکند - که هدف اصلی را از بین میبرد. به طور مشابه، هرس کردن (pruning) که پهنای باند حافظه دوربین را در نظر نگیرد، میتواند منجر به دسترسی پراکنده به دادهها شده و تأخیر و مصرف انرژی را افزایش دهد. مشکل فقط کوچک کردن مدلها نیست؛ بلکه سازگار کردن مدلها با سختافزار خاص دوربینهای کممصرف است. به همین دلیل، همافزایی سختافزار و الگوریتم به ستاره قطبی جدیدی برای فشردهسازی مؤثر تبدیل شده است.
پارادایم جدید: طراحی مشترک سختافزار و الگوریتم برای فشردهسازی
طراحی مشترک سختافزار و الگوریتم، رویکرد را تغییر میدهد: به جای فشردهسازی یک مدل از پیش آموزشدیده برای انطباق با سختافزار موجود، ما تکنیکهای فشردهسازی را همراه با معماری سختافزار ماژول دوربین طراحی میکنیم. این رویکرد تضمین میکند که هر انتخاب فشردهسازی - از سطوح دقت گرفته تا ساختار لایهها - با نقاط قوت سختافزار (مانند شتابدهندههای تخصصی هوش مصنوعی، حافظه کممصرف) همسو باشد و نقاط ضعف آن (مانند هستههای محاسباتی محدود، پهنای باند کم) را کاهش دهد.
بیایید سه تکنیک فشردهسازی نوآورانه و مبتنی بر همافزایی را که در حال تحول هوش مصنوعی دوربینهای کممصرف هستند، بررسی کنیم:
۱. هرس آگاه از معماری: سفارشیسازی پراکندگی برای سلسله مراتب حافظه سختافزار
هرس سنتی باعث ایجاد پراکندگی «غیرساختاریافته» میشود - یعنی حذف وزنهای تصادفی در سراسر مدل. در حالی که این کار تعداد پارامترها را کاهش میدهد، اما به دسترسی به حافظه کمکی نمیکند، که یکی از دلایل اصلی مصرف انرژی در دوربینهای کممصرف است. پراکندگی غیرساختاریافته سختافزار را مجبور میکند تا در طول محاسبات از وزنهای خالی عبور کند و منجر به خواندن/نوشتن ناکارآمد حافظه میشود.
هرس آگاه از معماری با ایجاد پراکندگی "ساختاریافته" که با سلسله مراتب حافظه دوربین مطابقت دارد، این مشکل را حل میکند. به عنوان مثال، اگر MCU دوربین از بلوکهای حافظه ۳۲ بیتی استفاده میکند، حذف کامل بلوکهای وزن ۳۲ بیتی (به جای وزنهای منفرد) تضمین میکند که دسترسی به دادهها پیوسته باقی میماند. طبق مطالعهای در سال ۲۰۲۴ توسط آزمایشگاه هوش مصنوعی لبه در استنفورد، این امر مصرف پهنای باند حافظه را تا ۴۰ درصد کاهش میدهد. برای دوربینهای کممصرف که اغلب محدودیت پهنای باند حافظه ۱-۲ گیگابایت بر ثانیه دارند، این امر به صرفهجویی قابل توجه در انرژی و استنتاج سریعتر منجر میشود.
نکته پیادهسازی: از ابزارهایی مانند TensorFlow Lite for Microcontrollers (TFLite Micro) با خطوط لوله هرس سفارشی که با اندازه بلوک حافظه دوربین شما مطابقت دارند، استفاده کنید. به عنوان مثال، اگر ماژول شما از یک میکروکنترلر Nordic nRF5340 (با همترازی حافظه ۳۲ بیتی) استفاده میکند، هرس را برای حذف وزنها در قطعات ۳۲ بیتی پیکربندی کنید.
2. مقیاسپذیری دقت: کوانتیزاسیون پویا بر اساس پشتیبانی شتابدهنده سختافزاری
کوانتیزاسیون (Quantization) پرکاربردترین تکنیک فشردهسازی برای دستگاههای کممصرف است، اما کوانتیزاسیون ایستا (استفاده از دقت ثابت برای تمام لایهها) باعث اتلاف بهرهوری بالقوه میشود. ماژولهای دوربین مدرن کممصرف اغلب شامل شتابدهندههای تخصصی هستند—مانند CMSIS-NN آرم (Arm)، Coral Micro گوگل (Google)، یا TPUهای سفارشی—که از عملیات با دقت ترکیبی (mixed-precision operations) پشتیبانی میکنند (به عنوان مثال، 8 بیت برای لایههای کانولوشن، 16 بیت برای لایههای فعالسازی).
کوانتیزاسیون پویا و آگاه از سختافزار، دقت را در سطح لایه به لایه تنظیم میکند و از قابلیتهای شتابدهنده بهره میبرد. به عنوان مثال، یک لایه کانولوشن که از نظر محاسباتی سنگین است اما حساسیت کمتری به دقت دارد، میتواند از اعداد صحیح ۴ بیتی استفاده کند (در صورت پشتیبانی شتابدهنده)، در حالی که یک لایه طبقهبندی که به دقت بالاتری نیاز دارد، میتواند از اعداد صحیح ۸ بیتی استفاده کند. یک مطالعه موردی در سال ۲۰۲۳ توسط یک تولیدکننده پیشرو دوربینهای خانه هوشمند نشان داد که این رویکرد، مصرف انرژی را در مقایسه با کوانتیزاسیون ایستا ۸ بیتی ۳۵ درصد کاهش داده و در عین حال ۹۸ درصد از دقت مدل اصلی را برای تشخیص حرکت حفظ کرده است.
ابزار کلیدی: TensorRT Lite انویدیا (NVIDIA)، که دقت را بر اساس مشخصات سختافزار به طور خودکار بهینه میکند، یا کامپایلر Vela آرم (Arm)، که به طور خاص برای ماژولهای دوربین مبتنی بر Cortex-M و Cortex-A طراحی شده است.
3. فشردهسازی ادغام سنسور: استفاده از ISP دوربین برای استخراج زودهنگام ویژگیها
ماژولهای دوربین کممصرف، پردازشگر سیگنال تصویر (ISP) را برای انجام پردازشهای اولیه تصویر (مانند حذف نویز، نوردهی خودکار) قبل از ارسال دادهها به مدل هوش مصنوعی ادغام میکنند. اکثر تکنیکهای فشردهسازی ISP را نادیده میگیرند، اما فشردهسازی ادغام سنسور از ISP به عنوان یک مرحله «پیشفشردهسازی» استفاده میکند و دادههایی را که مدل هوش مصنوعی نیاز به پردازش آنها دارد، کاهش میدهد.
نحوه کار آن به این صورت است: ISP ویژگیهای سطح پایین (مانند لبهها، بافتها) را مستقیماً از دادههای سنسور تصویر خام استخراج میکند. این ویژگیها از نظر اندازه کوچکتر از تصویر با وضوح کامل هستند و برای پردازش به محاسبات کمتری نیاز دارند. سپس مدل هوش مصنوعی برای کار با این ویژگیهای استخراج شده توسط ISP، به جای پیکسلهای خام، آموزش داده میشود. طبق تحقیقات دانشگاه کالیفرنیا، برکلی، این امر اندازه ورودی مدل را تا 80% کاهش میدهد.
به عنوان مثال، یک دوربین امنیتی کممصرف که از فشردهسازی ادغام سنسور استفاده میکند، میتواند ISP خود را برای استخراج ویژگیهای لبه تنظیم کند، سپس آنها را به یک مدل تشخیص شیء فشردهشده ارسال کند. نتیجه: استنتاج سریعتر (افزایش سرعت ۲ برابر) و مصرف انرژی کمتر (کاهش ۵۰٪) در مقایسه با پردازش تصاویر با وضوح کامل.
راهنمای عملی: پیادهسازی فشردهسازی مبتنی بر همافزایی برای دوربین کممصرف شما
آمادهاید این تکنیکها را به کار ببرید؟ این چارچوب گام به گام را دنبال کنید تا اطمینان حاصل کنید که استراتژی فشردهسازی شما با سختافزار ماژول دوربین شما مطابقت دارد:
گام ۱: محدودیتهای سختافزاری خود را ترسیم کنید
ابتدا، مشخصات کلیدی سختافزار ماژول دوربین خود را مستند کنید:
• نوع پردازنده/شتابدهنده (مانند Cortex-M4، Coral Micro، TPU سفارشی)
• سطوح دقت پشتیبانی شده (۸ بیتی، ۴ بیتی، دقت ترکیبی)
• پهنای باند حافظه و اندازه بلوک (مانند تراز ۳۲ بیتی، ۵۱۲ کیلوبایت SRAM)
• بودجه انرژی (مانند ۵ میلیوات برای استنتاج مداوم)
• قابلیتهای ISP (مانند استخراج ویژگی، کاهش نویز)
ابزارهایی مانند Arm’s Hardware Profiler یا Google’s Edge TPU Profiler میتوانند به شما در جمعآوری این نقاط داده کمک کنند.
گام ۲: تکنیکهای فشردهسازی را که با نقاط قوت سختافزار همسو هستند، انتخاب کنید
استراتژی فشردهسازی خود را با سختافزار خود تطبیق دهید:
• اگر دوربین شما دارای شتابدهنده هوش مصنوعی تخصصی (مانند Coral Micro) است، از کوانتیزاسیون پویا و تقطیر دانش متناسب با مجموعه دستورالعملهای شتابدهنده استفاده کنید.
• اگر دوربین شما از یک MCU پایه (مانند Cortex-M0) استفاده میکند، اولویت را به هرس آگاه از معماری (برای بهینهسازی دسترسی به حافظه) و فشردهسازی ادغام سنسور (برای کاهش اندازه ورودی) بدهید.
• اگر دوربین شما دارای ISP قدرتمندی است، فشردهسازی ادغام سنسور را برای تخلیه استخراج ویژگیهای سطح پایین ادغام کنید.
مرحله ۳: آموزش و فشردهسازی مدل با در نظر گرفتن سختافزار
از ابزارهای آموزش آگاه از سختافزار برای اطمینان از بهینهسازی مدل از ابتدا استفاده کنید:
• مدل را با آموزش آگاه از کوانتیزاسیون (QAT) آموزش دهید تا دقت در طول کوانتیزاسیون حفظ شود. ابزارهایی مانند TFLite Micro و PyTorch Mobile از QAT پشتیبانی میکنند.
• از آموزش آگاه از هرس (pruning-aware training) برای ایجاد پراکندگی ساختاریافته استفاده کنید. به عنوان مثال، TensorFlow Model Optimization Toolkit به شما امکان میدهد الگوهای هرس (مانند بلوکهای ۳۲ بیتی) را تعریف کنید که با طرحبندی حافظه سختافزار شما مطابقت دارند.
• در صورت استفاده از ادغام سنسور (sensor-fusion)، مدل را بر روی ویژگیهای استخراج شده توسط ISP (نه پیکسلهای خام) آموزش دهید تا از سازگاری اطمینان حاصل شود.
مرحله ۴: اعتبارسنجی عملکرد بر روی سختافزار هدف
تست بر روی شبیهساز کافی نیست - مدل فشرده شده را بر روی ماژول دوربین واقعی خود اعتبارسنجی کنید تا موارد زیر را اندازهگیری کنید:
• دقت: اطمینان حاصل کنید که فشردهسازی باعث افت عملکرد نمیشود (به عنوان مثال، دقت تشخیص اشیاء باید برای اکثر موارد استفاده بالای ۹۵٪ باقی بماند).
• تأخیر (Latency): هدفگذاری برای استنتاج در زمان واقعی (مثلاً کمتر از ۱۰۰ میلیثانیه در هر فریم برای تشخیص حرکت).
• مصرف انرژی: از ابزارهایی مانند Nordic Power Profiler Kit برای اندازهگیری مصرف باتری در حین استنتاج استفاده کنید.
استراتژی فشردهسازی خود را تکرار کنید تا زمانی که دقت، تأخیر و مصرف انرژی را متعادل کنید.
داستان موفقیت در دنیای واقعی: چگونه یک دوربین پوشیدنی از فشردهسازی مبتنی بر همافزایی استفاده کرد
بیایید به یک مثال واقعی نگاه کنیم: یک شرکت سازنده دوربینهای پوشیدنی تناسب اندام میخواست تشخیص فعالیت در زمان واقعی (مانند دویدن، پیادهروی) را به ماژول کممصرف خود اضافه کند (که توسط یک میکروکنترلر Arm Cortex-M7 با ۵۱۲ کیلوبایت SRAM تغذیه میشود). کوانتیزاسیون سنتی ۸ بیتی حجم مدل آنها را ۷۵٪ کاهش داد، اما مدل همچنان باتری را در ۲ ساعت تخلیه میکرد و تأخیر ۲۰۰ میلیثانیهای داشت - برای استفاده در زمان واقعی بسیار کند بود.
این تیم به رویکرد طراحی مشترک سختافزار و الگوریتم روی آورد:
• از هرس آگاه از معماری برای ایجاد پراکندگی بلوکی ۳۲ بیتی، مطابق با همترازی حافظه MCU استفاده شد. این امر مصرف پهنای باند حافظه را ۳۸٪ کاهش داد.
• فشردهسازی ادغام سنسور یکپارچه شد: ISP دوربین ویژگیهای لبه را از تصاویر خام استخراج کرد و اندازه ورودی را ۷۰٪ کاهش داد.
• کوانتیزاسیون پویا (۸ بیت برای لایههای کانولوشن، ۱۶ بیت برای لایههای فعالسازی) با استفاده از کامپایلر Vela آرم اعمال شد.
نتیجه: مدل فشرده شده در ۸۵ میلیثانیه در هر فریم (زمان واقعی) اجرا شد، مصرف باتری به ۸ ساعت کاهش یافت و دقت تشخیص فعالیت ۹۶٪ حفظ شد. محصول با موفقیت عرضه شد و ویژگی هوش مصنوعی به یک نقطه فروش کلیدی تبدیل شد.
روندهای آینده: گام بعدی برای فشردهسازی هوش مصنوعی در دوربینهای کممصرف چیست؟
با تکامل سختافزار دوربینهای کممصرف، تکنیکهای فشردهسازی نیز تکامل خواهند یافت. در اینجا سه روند وجود دارد که باید به آنها توجه کرد:
• هوش مصنوعی مولد برای فشردهسازی: مدلهای هوش مصنوعی معماریهای مدل بهینهشده و مخصوص سختافزار (مانند استفاده از جستجوی معماری عصبی یا NAS) را تولید میکنند که ذاتاً فشرده هستند. ابزارهایی مانند AutoML برای Edge گوگل این امکان را برای توسعهدهندگان فراهم میکنند.
• فشردهسازی تطبیقی روی دستگاه: دوربینها سطوح فشردهسازی را بر اساس مورد استفاده (مانند دقت بالاتر برای احراز هویت چهره، دقت کمتر برای تشخیص حرکت) و سطح باتری (مانند فشردهسازی تهاجمیتر هنگام کم بودن باتری) به صورت پویا تنظیم میکنند.
• ادغام حافظه سهبعدی پشتهای (3D Stacked Memory Integration): دوربینهای کممصرف آینده از حافظه سهبعدی پشتهای (قرار دادن حافظه مستقیماً روی MCU/شتابدهنده) استفاده خواهند کرد که دسترسی به دادهها را حتی کارآمدتر میکند. تکنیکهای فشردهسازی برای بهرهبرداری از این معماری طراحی خواهند شد و تأخیر و مصرف انرژی را بیشتر کاهش میدهند.
نتیجهگیری: همافزایی کلید باز کردن قفل هوش مصنوعی دوربینهای کممصرف است
فشردهسازی مدلهای هوش مصنوعی برای ماژولهای دوربین کممصرف دیگر فقط به کوچکتر کردن مدلها محدود نمیشود، بلکه به کار انداختن مدلها با سختافزار است. طراحی مشترک سختافزار و الگوریتم تضمین میکند که تکنیکهای فشردهسازی نه تنها در محدودیتهای انرژی و محاسباتی قرار میگیرند، بلکه در واقع از معماری منحصربهفرد دوربین برای ارائه هوش مصنوعی سریعتر و کارآمدتر بهره میبرند. با اتخاذ هرس آگاهانه معماری، کوانتیزاسیون پویا و فشردهسازی ادغام سنسور، میتوانید هوش مصنوعی بیدرنگ و سازگار با باتری را برای محصولات دوربین کممصرف خود - چه برای خانههای هوشمند، دستگاههای پوشیدنی یا اینترنت اشیاء صنعتی - فعال کنید.
آماده شروع هستید؟ با نگاشت محدودیتهای سختافزاری ماژول دوربین خود شروع کنید، سپس از ابزارها و چارچوبهایی که شرح دادیم برای ساخت یک استراتژی فشردهسازی مبتنی بر همافزایی استفاده کنید. آینده هوش مصنوعی دوربینهای کممصرف مشارکتی است و در دسترس شماست.