کاربران سیستم های نظارتی به چه نوع هوشی نیاز دارند؟
از هوش مصنوعی (AI) در نظارت ویدئویی، هم برای پردازش اطلاعات به طور همزمان و هم تحلیل ویدئوی آرشیو شده بسیار استفاده می شود.
وقتی که کامپیوتر Deep Blue از IBM در سال ۱۹۹۶، در اولین بازی شطرنج خود در مقابل قهرمان جهان گری کاسپاروف برد، مردم متوجه شدند که کامپیوترها و هوش مصنوعی چقدر در مقایسه با هوش انسان قدرتمند شده اند. از آن زمان به بعد، نه تنها توان محاسبه به طور نمایی افزایش پیدا کرده است بلکه هزینه توان پردازشی نیز بسیار افزایش پیدا کرده است. این روندها به همراه پیشرفت ها در الگوریتم ها هوش مصنوعی ، توانایی گسترش سیستم هایی را که در برخی موارد می توانند کارها را بهتر از انسان انجام دهند، فراهم کرده اند.
نظارت ویدئویی یکی از این کارها است؛ و با توجه به آن که با وجود رشد بسیار در نظارت و ذخیره سازی داده های ویدئویی، افزایش کمی در توانایی تحلیل ویدئو ایجاد شده است، قطعا این فرصت بازار بزرگی است. طبق گفته IHS، ۱۲۷ میلیون دوربین نظارتی و ۴۰۰ هزار دوربین بدنپوش در سال ۲۰۱۷ ارسال شد – به علاوه ۳۰۰ میلیون دوربین از قبل به کار گرفته شده اند – و تقریبا ۲٫۵ میلیون اگزابایت داده در هر روز ایجاد می شود.
چالش های بزرگ
یک مشکل برای اپراتورهای نظارت، خستگی توجه مستقیم است. مغز انسان به طور طبیعی بین مدت توجه و حواس پرتی جا به جا می شود. در نظارت، حواس پرتی ها می تواند منجر به نتایج مهلکی شود. بنابراین، چه می شد اگر سیستم نظارتی داشتیم که هیچ وقت دچار حواس پرتی نمی شد، سیستمی که با انسان ها برای متوقف کردن خطاها همکاری می کرد؟ این وعده هوش مصنوعی در نظارت ویدئویی است.
اما چالش این جاست! کامپیوترها واقعا مانند مغز انسان کار نمی کنند. برای مثال، آن ها پردازش و حافظه را از هم جدا می کنند، در صورتی که انسان این کار را انجام نمی دهد و در حالی که کامپیوترها کاملا سیستم های دیجیتالی هستند، مغز هر دو ویژگی های آنالوگ و دیجیتال را به نمایش می گذارد، بنابراین مدل سازی آن پیچیده تر است. محاسبه نورومورفیک علمی است که به دنبال این است که درک کند مغز انسان چگونه کار می کند و بعضی از این ویژگی ها را برای بهتر کردن کامپیوترها در عملکردهای خاص به کار ببرد. چند وقت است که کامپیوترها در جا دادن اعداد در خود بهتر از ما بوده اند؛ برای مثال، یک پردازشگر موبایل، می تواند ۱۰۰ میلیارد از این عملیات ها را در یک ثانیه تمام کند. مغز برای انجام این کارها توسعه نیافته است ولی در دریافت، پردازش و واکنش به جریان های اطلاعات جمع آوری شده از محیط اطراف ما بسیار خوب است. برای نظارت ویدئویی، هوش مصنوعی که مشخصات مورد دوم را به نمایش بگذارد، مناسب ترین است. به علاوه، سیستم های AI مبتنی بر کامپیوترها، مزیت حافظه مطمئن – چیزی که مغز انسان در آن ضعیف است– را در بر دارند.
توسعه ابتدایی AI در بینایی کامپیوتری
تا سال ۲۰۱۲، کامپیوترها نمی توانستند گونه های متفاوت تصاویر را تشخیص بدهند ولی یک الگوریتم توسعه یافته توسط Alex Krishevsky این را تغییر داد. آن الگوریتم نشان داد که طبقه بندی و تشخیص شی می تواند با شبیه سازی و تمرین شبکه ای از عوامل محاسبه ای به دست آید. توپولوژی این شبکه شبیه سلول های مغزی (نورون ها) است بنابراین شبکه عصبی مصنوعی نام گرفته است. عنصر محاسبه ای اساسی Krishevsky یک convolution و گونه ای تابع ریاضی بود که فیلترینگ را انجام می داد. بنابراین، این شبکه ها به عنوان شبکه های عصبی پیچشی (CNN ها) شناخته شدند. CNN ها یک افزودنی قوی به انبار ابزارهای بینایی کامپیوتری هستند، اما دو محدودیت کلیدی در نظارت ویدئویی دارند.
اولا، فرآیند یادگیری آن ها به تکرار شدید محاسبه ای زیادی نیاز دارد. انجام وظیفه می تواند برای کامپیوترهای ابری قوی روزها یا هفته ها وقت بگیرد. ثانیا، یک مجموعه بزرگ از داده تمرینی مورد نیاز است. این در تشخیص تصویر به معنی جمع آوری تعداد زیادی از تصاویر است که در آن هر شی طبقه بندی شده تا یک تابع خطا بتواند در آخر هر گذر شبکه عصبی محاسبه شود. میلیون ها چرخه تمرین و میلیون ها تصویر طبقه بندی شده ممکن است برای تشخیص تمام اشیای مربوط به تابع مورد نیاز سیستم لازم باشد.
محدودیت های دیگر این تکنولوژی شامل مصونیت از اختلال ضعیف، مخصوصا در وقتی است که پیکسل های تصادفی به خاطر سنسور های noisy یا آلودگی لنز پدیدار می شوند. و دیگر این که اگر شبکه برای مثال، توسط کسی که عینک دارد گیج شود و نتواند بدون یک مجموعه تصاویر طبقه بندی شده اضافه شده مربوط به آن صورت در پایگاه داده، صورت جدیدی در جمعیت پیدا کند، طبقه بندی نادرست می تواند به وجود آید، پارامترهای شبکه CNN ها نیاز به تنظیم محتاطانه دارند و حتی پس از آن، نرخ دقت طبقه بندی صحیح تصویر می تواند برای کاربردهای نظارتی، کمتر از حد ایده آل باشد.
به طور خلاصه، CNN ها می توانند نظارت ویدئویی را بهبود بخشند، اما تنها با توان پردازش چشمگیر و حجم زیادی از داده های تمرینی در دسترس. هر کدام از آن ها هزینه قابل توجهی را اضافه می کنند. زمان مورد نیاز برای تمرین این گونه شبکه ها و ناتوانی آن ها در یادگیری در حال حرکت نیز یک عامل بادارنده است.
هوش مصنوعی
شبکه های عصبی Spiking (SNN ها) و نظارت ویدئویی
SNN ها به دنبال شبیه سازی جنبه های متفاوت نحوه کار مغز هستند. مغزهای ما انفجارهای انرژی کوتاه یا spike ها را تولید می کنند. این ها در زمان های دقیقی نسبت به یکدیگر اتفاق می افتند. میلیاردها از آن ها به طور موازی در نورون های ما جریان دارند. مغزهای ما محرک های بصری (و دیگر محرک ها) از جمله رنگ ها و قطعات تصویر را به قطار پالس spike ها تبدیل کرده که توسط نورون های ما پردازش می شوند. سیناپس ها نورون ها را به یکدیگر متصل کرده، مغز از پتانسیل های الکتریکی و شیمیایی به عنوان انتقال دهنده های پیام استفاده می کند. هر سیناپس یک حافظه کوچک دارد که یک ارزش تنظیم شده توسط انرژی الکتریکی در یک spike را ذخیره می کند. هر نورون تمام ارزشی را که به سمت سیناپس های ورودی می آیند، جمع کرده و سپس پالس spike خود را اگر به یک ارزش حیاتی برسد، آزاد می کند. بازخورد مشخص می کند که کدام spike ها در یک رویداد خروجی شرکت می کنند و معناداری آن سیگنال های سیناپس ها توسعه داده می شود، در حالی که باقی سیگنال های سیناپس ها کسر مقام پیدا می کنند. در این روش، نورون به الگوی خاصی از سیناپس ها و ورودی آن ها حساس می شود. این به شدت مخالف CNN ها است که به تابع های ریاضی پیچیده وابسته هستند. SNN ها در واقع کارایی نورون ها را مدل سازی می کنند.
بنابراین، تمام این ها برای طبقه بندی تصویر در ویدئو چه معنی ای دارد؟ تکنولوژی SNN امروزه می تواند الگوها و مردم را از یک تصویر در ویدئوها پیدا کند. برای مثال، یک اداره پلیس که به دنبال یک مظنون در پخش های ویدئویی زنده است هزاران تصویر از آن مظنون ندارد؛ و همچنین هفته ها برای تمرین یک سیستم CNN وقت ندارد. تصویر در یک سیستم بر پایه SNN می تواند به اندازه ۲۴ در ۲۴ پیکسل – نیازی به بالا بودن کیفیت آن نیست – باشد. این تکنولوژی به طور هم زمان یاد می گیرد و تنها به توان پردازش نسبتا کمی نیاز دارد – به عنوان مثال یک کامپیوتر رومیزی x86 یا سرور و انرژی کمی را مصرف می کند. همه این ها به این معنی است که می توان با سیستم های قدیمی بدون نیاز به سخت افزار های گران یا ارتقا های زیرساخت از آن استفاده کرد. از تکنولوژی SNN می توان به عنوان یک راه حل تنها نرم افزاری استفاده کرد یا با استفاده از کارت داخلی PCIe مبتنی بر FPGA تسریع شود.
عملکرد SNN ها در جهان واقعی
وظیفه اجرای نرم افزاری یک SNN بر روی سرورهای بر پایه x86، آزمایش شده در یک بازی، شناسایی تمام ۵۲ کارت ها در یک بسته بود. SNN در محیط های با وضوح پایین، روشنایی ضعیف و دنیای واقعی تمرین داده شده بود.
تا وقتی که کارت ها به سمت بالا گرفته شوند، اگر به صورت طبیعی بازی شود شناسایی می شوند. در کل ۲۹ میز، دقت تشخیص کارت ۹۹٫۷۶ درصد و دقت تشخیص چیپ ۹۹٫۲۱ درصد بود.
اما درباره طبقه بندی چهره، یک نگرانی کلیدی در کاربردهای نظارت شهروندی، چه؟
SNN، برای ارزیابی این مطلب در مجموعه داده ای از تصاویر جمع آوری شده از وب توسط موسسه تکنولوژی کالیفرنیا (Caltech) مورد امتحان قرار گرفت. تمام رویدادهای یک شخص را بدون مثبت کاذب، در یک مجموعه ۴۵۰ چهره ای شناسایی کرد .
هوش مصنوعی
در آزمایش بعدی، این سیستم بیش از ۵۰۰,۰۰۰ تصویر چهره را از هشت دوربین با کیفیت بالا در طی سه ساعت و نیم، با استفاده از یک سرور ۸۶x استخراج و دنبال کرد. و در یک آزمایش دیگر، آن ۳۶ ساعت ویدئو را در کمتر از دو ساعت پردازش کرد و بیش از ۱۵۰,۰۰۰ تصویر چهره را استخراج کرد.
کارهایی که چند سال پیش برای ماشین ها غیرممکن بود، به چیزی عادی تبدیل می شوند. CNN ها یک پیشرفت رو به جلوی بزرگ هستند ولی SNN ها شاید بزرگ ترین احتمال را برای فراهم کردن توانایی های جدید و ارزشمند در نظارت ویدئویی اصلی امروزه دارند.
نویسنده: باب بیچلر؛ نایب رییس ارشد توسعه تجاری و بازاریابی BrainChip، متخصص در Silicon Valley با بیش از ۳۰ سال موفقیت در توسعه و بازاریابی تکنولوژی های مدرن