Калі вы калі-небудзь разблакіроўвалі тэлефон тварам, сканавалі чэк або глядзелі на камеру самаабслугоўвання, задаючыся пытаннем, ці ацэньвае яна ваш авакада, вы ўжо сутыкнуліся з камп'ютэрным зрокам. Проста кажучы, камп'ютэрны зрок у штучным інтэлекце — гэта тое, як машыны вучацца бачыць і разумець выявы і відэа дастаткова добра, каб прымаць рашэнні. Карысна? Безумоўна. Часам дзіўна? Таксама так. А часам трохі страшнавата, калі быць шчырымі. У лепшым выпадку ён ператварае бязладныя пікселі ў практычныя дзеянні. У горшым — здагадваецца і хістаецца. Давайце разгледзім гэта як след.
Артыкулы, якія вам могуць спадабацца пасля гэтага:
🔗 Што такое прадузятасць штучнага інтэлекту
Як утвараецца прадузятасць у сістэмах штучнага інтэлекту і спосабы яе выяўлення і памяншэння.
🔗 Што такое прагназуючы штучны інтэлект?
Як прагназуючы штучны інтэлект выкарыстоўвае дадзеныя для прагназавання тэндэнцый і вынікаў.
🔗 Хто такі трэнер па штучным інтэлекце?
Абавязкі, навыкі і інструменты, якія выкарыстоўваюць спецыялісты, якія навучаюць працу са штучным інтэлектам.
🔗 Што такое Google Vertex AI?
Агляд уніфікаванай платформы штучнага інтэлекту Google для стварэння і разгортвання мадэляў.
Што такое камп'ютэрны зрок у штучным інтэлекце? 📸
Камп'ютэрны зрок у штучным інтэлекце — гэта галіна штучнага інтэлекту, якая вучыць камп'ютары інтэрпрэтаваць і разважаць пра візуальныя дадзеныя. Гэта канвеер ад неапрацаваных пікселяў да структураванага значэння: «гэта знак прыпынку», «гэта пешаходы», «зварка дэфектная», «агульная сума рахунку тут». Ён ахоплівае такія задачы, як класіфікацыя, выяўленне, сегментацыя, адсочванне, ацэнка глыбіні, аптычнае распазнаванне сімвалаў (OCR) і іншыя, аб'яднаныя мадэлямі навучання шаблонам. Фармальная вобласць ахоплівае класічную геаметрыю да сучаснага глыбокага навучання з практычнымі схемамі, якія можна капіяваць і змяняць. [1]
Кароткі анекдот: уявіце сабе упаковачную лінію са сціплай камерай 720p. Лёгкі дэтэктар выяўляе вечкі, і просты трэкер пацвярджае іх сумяшчэнне на працягу пяці кадраў запар, перш чым даць зялёнае святло бутэльцы. Не мудрагеліста, але танна, хутка і памяншае колькасць пераробак.
Што робіць камп'ютэрны зрок у штучным інтэлекце карысным? ✅
-
Паток сігналаў да дзеяння : візуальны ўвод становіцца практычным вынікам. Менш панэлі кіравання, больш рашэнняў.
-
Абагульненне : пры наяўнасці правільных дадзеных адна мадэль апрацоўвае шырокі спектр малюнкаў. Не ідэальна — часам нават шакавальна добра.
-
Выкарыстанне дадзеных : камеры танныя і ўсюды. Зрок ператварае гэты акіян пікселяў у інфармацыю.
-
Хуткасць : Мадэлі могуць апрацоўваць кадры ў рэжыме рэальнага часу на сціплым абсталяванні — або амаль у рэжыме рэальнага часу, у залежнасці ад задачы і дазволу.
-
Кампазіцыйнасць : Злучыце простыя крокі ў надзейныя сістэмы: выяўленне → адсочванне → кантроль якасці.
-
Экасістэма : інструменты, папярэдне навучаныя мадэлі, бенчмаркі і падтрымка супольнасці — адзін велізарны базар кода.
Будзем шчырымі, сакрэтны падліў — гэта не сакрэт: добрыя дадзеныя, дысцыплінаваная ацэнка, стараннае разгортванне. Астатняе — гэта практыка... і, магчыма, кава. ☕
Як камп'ютэрны зрок у штучным інтэлекце , у адным разумным канвееры 🧪
-
Атрыманне выявы
Камеры, сканеры, дроны, тэлефоны. Уважліва выбірайце тып датчыка, экспазіцыю, аб'ектыў і частату кадраў. Смецце і г.д. -
Папярэдняя апрацоўка
Змяняйце памер, абрэзвайце, нармалізуйце, выдаляйце размыццё або шум пры неабходнасці. Часам невялікая карэкціроўка кантраснасці зрушвае горы. [4] -
Пазнакі і наборы даных
Абмежавальныя рамкі, палігоны, ключавыя кропкі, тэкставыя прамежкі. Збалансаваныя, прадстаўнічыя пазнакі — інакш ваша мадэль набудзе аднабаковыя звычкі. -
Мадэляванне
-
Класіфікацыя : «Якая катэгорыя?»
-
Выяўленне : «Дзе знаходзяцца аб'екты?»
-
Сегментацыя : «Якія пікселі належаць якой рэчы?»
-
Ключавыя кропкі і пастава : «Дзе знаходзяцца суставы або арыенціры?»
-
OCR : «Які тэкст на выяве?»
-
Глыбіня і 3D : «Як далёка ўсё знаходзіцца?»
Архітэктуры адрозніваюцца, але дамінуюць згортачныя сеткі і мадэлі ў стылі трансфарматара. [1]
-
-
Навучанне
Падзяленне дадзеных, налада гіперпараметраў, рэгулярызацыя, пашырэнне. Ранняе спыненне перад запамінаннем шпалер. -
Ацэнка
Выкарыстоўвайце для OCR адпаведныя задачы метрыкі, такія як mAP, IoU, F1, CER/WER. Не выбірайце толькі найлепшыя варыянты. Параўноўвайце справядліва. [3] -
разгортвання
для мэты: пакетныя заданні ў воблаку, высновы на прыладзе, перыферыйныя серверы. Кантралюйце зрух. Перавучайцеся, калі свет зменіцца.
Глыбокія сеткі каталізавалі якасны скачок, калі вялікія наборы дадзеных і вылічэнні дасягнулі крытычнай масы. Такія тэсты, як конкурс ImageNet, зрабілі гэты прагрэс бачным — і няўмольным. [2]
Асноўныя задачы, якія вы будзеце выкарыстоўваць (і калі) 🧩
-
Класіфікацыя выявы : адна пазнака на выяву. Выкарыстоўвайце для хуткіх фільтраў, трыяжу або ацэнкі якасці.
-
Выяўленне аб'ектаў : Рамкі вакол рэчаў. Прадухіленне страт у рознічным гандлі, выяўленне транспартных сродкаў, падлік дзікіх жывёл.
-
Сегментацыя экзэмпляраў : піксельныя сілуэты для кожнага аб'екта. Вытворчыя дэфекты, хірургічныя інструменты, агратэхналогіі.
-
Семантычная сегментацыя : клас на піксель без падзелу асобнікаў. Гарадскія дарожныя сцэны, расці покрыва.
-
Выяўленне ключавых кропак і паставы : суставы, арыенціры, рысы твару. Спартыўная аналітыка, эрганоміка, дапоўненая рэальнасць.
-
Адсочванне : адсочванне аб'ектаў з цягам часу. Лагістыка, рух, бяспека.
-
Аптычнае распазнаванне сімвалаў і штучны інтэлект для дакументаў : здабыванне тэксту і аналіз макета. Рахункі-фактуры, квітанцыі, формы.
-
Глыбіня і 3D : рэканструкцыя з некалькіх праекцый або монакулярных сігналаў. Робататэхніка, дапоўненая рэальнасць, мапаванне.
-
Візуальныя субтытры : Кароткі змест сцэн на натуральнай мове. Даступнасць, пошук.
-
Мадэлі зрокава-моўнага мыслення : мультымадальнае мысленне, зрок з дапоўненым пошукам інфармацыі, абгрунтаванае забеспячэнне якасці.
Атмасфера мініяцюрнай скрынкі: у крамах датчык пазначае адсутнасць тавараў на паліцах; трэкер прадухіляе двайны ўлік тавараў пры папаўненні запасаў супрацоўнікамі; простае правіла накіроўвае кадры з нізкай дакладнасцю на праверку чалавекам. Гэта невялікі аркестр, які ў асноўным трымаецца ў гармоніі.
Параўнальная табліца: інструменты для больш хуткай дастаўкі 🧰
Трохі дзіўнавата наўмысна. Так, інтэрвалы дзіўныя — я ведаю.
| Інструмент / Фрэймворк | Лепш за ўсё падыходзіць для | Ліцэнзія/цана | Чаму гэта працуе на практыцы |
|---|---|---|---|
| OpenCV | Папярэдняя апрацоўка, класічнае рэзюмэ, хуткія прыклады падзей | Бясплатна - з адкрытым зыходным кодам | Велізарны набор інструментаў, стабільныя API, правераны ў баявых умовах; часам усё, што вам трэба. [4] |
| PyTorch | Навучанне, спрыяльнае для даследаванняў | Бясплатна | Дынамічныя графікі, велізарная экасістэма, мноства навучальных дапаможнікаў. |
| TensorFlow/Keras | Вытворчасць у вялікіх маштабах | Бясплатна | Варыянты падачы для дарослых, добра падыходзяць як для мабільных прылад, так і для перыферыйных прылад. |
| Ультралітыкі YOLO | Хуткае выяўленне аб'ектаў | Бясплатныя + платныя дапаўненні | Лёгкі трэніровачны цыкл, спаборніцкая хуткасць і дакладнасць, упэўнены ў сабе, але зручны. |
| Detectron2 / MMDetection | Моцныя базавыя паказчыкі, сегментацыя | Бясплатна | Мадэлі эталоннага класа з прайгравальнымі вынікамі. |
| Асяроддзе выканання OpenVINO / ONNX | Аптымізацыя высноў | Бясплатна | Скараціце затрымку, шырока разгортвайце без перапісвання. |
| Тэсеракт | Аптычнае распазнаванне сімвалаў (OCR) з бюджэтам | Бясплатна | Працуе нядрэнна, калі ачысціць выяву... часам сапраўды варта гэта зрабіць. |
Што ўплывае на якасць камп'ютэрнага зроку ў штучным інтэлекце 🔧
-
Ахоп дадзеных : змены асвятлення, ракурсы, фоны, памежныя выпадкі. Калі такое магчыма, уключыце гэта.
-
Якасць этыкетак : неадпаведныя блокі або нядбайныя палігоны сабатуюць мапу доступу. Невялікая праверка якасці мае вялікае значэнне.
-
Разумныя дапаўненні : абрэзка, паварот, змяненне яркасці, даданне сінтэтычнага шуму. Будзьце рэалістычнымі, а не выпадковым хаосам.
-
Падбор мадэлі : выкарыстоўвайце выяўленне там, дзе яно неабходна — не прымушайце класіфікатар адгадваць месцазнаходжанне.
-
Паказчыкі, якія адпавядаюць уздзеянню : калі ілжываадмоўныя вынікі шкодзяць больш, аптымізуйце запамінальнасць. Калі ілжывапазітыўныя вынікі шкодзяць больш, дакладнасць на першым месцы.
-
Шчыльны цыкл зваротнай сувязі : рэгістраваць памылкі, пераназначаць, перавучыць. Прамыць, паўтарыць. Трохі сумна, але надзвычай эфектыўна.
Для выяўлення/сегментацыі стандартам супольнасці з'яўляецца сярэдняя дакладнасць, усредненая па парогах IoU, г.зн. mAP у стылі COCO . Веданне таго, як вылічваюцца IoU і AP@{0.5:0.95}, не дазваляе вам асляпляць сябе дзесятковымі знакамі ў табліцы лідэраў. [3]
Рэальныя выпадкі выкарыстання, якія не з'яўляюцца гіпатэтычнымі 🌍
-
Роздрабны гандаль : аналітыка паліц, прадухіленне страт, маніторынг чэргаў, адпаведнасць планаграме.
-
Вытворчасць : выяўленне паверхневых дэфектаў, праверка зборкі, кіраванне робатам.
-
Ахова здароўя : радыялагічная трыяж, выяўленне з дапамогай прыбораў, сегментацыя клетак.
-
Мабільнасць : ADAS, камеры відэаназірання, колькасць парковачных месцаў, адсочванне мікрамабільнасці.
-
Сельская гаспадарка : падлік ураджаю, выяўленне хвароб, гатоўнасць да ўборкі.
-
Страхаванне і фінансы : ацэнка шкоды, праверкі KYC, сцяжкі махлярства.
-
Будаўніцтва і энергетыка : адпаведнасць патрабаванням бяспекі, выяўленне ўцечак, маніторынг карозіі.
-
Змест і даступнасць : аўтаматычныя субтытры, мадэрацыя, візуальны пошук.
Заўвага: ручное сканаванне замяніць аўтаматычнай трыяжам, а потым, калі ўпэўненасць у сабе падае, перайсці да людзей. Не гламурна, але маштабуецца.
Дадзеныя, пазнакі і важныя паказчыкі 📊
-
Класіфікацыя : дакладнасць, F1 для дысбалансу.
-
Выяўленне : mAP па парогах IO; праверка AP і памераў для кожнага класа. [3]
-
Сегментацыя : mIoU, Dice; таксама праверце памылкі на ўзроўні экзэмпляра.
-
Адсочванне : MOTA, IDF1; якасць паўторнай ідэнтыфікацыі — маўклівы герой.
-
OCR : каэфіцыент памылак сімвалаў (CER) і каэфіцыент памылак слоў (WER); часта дамінуюць памылкі макета.
-
Задачы рэгрэсіі : Глыбіня або пастава выкарыстоўваюць абсалютныя/адносныя памылкі (часта ў лагарыфмічных маштабах).
Задакументуйце свой пратакол ацэнкі, каб іншыя маглі яго паўтарыць. Гэта непрыгожа, але гэта дапамагае вам заставацца сумленнымі.
Будаваць супраць купляць — і дзе гэта запусціць 🏗️
-
Воблачнае асяроддзе : Найпрасцейшы запуск, выдатна падыходзіць для пакетных задач. Сачыце за выдаткамі на выхад.
-
Памежныя прылады : меншая затрымка і лепшая прыватнасць. Вам спатрэбяцца квантаванне, абрэзка і паскаральнікі.
-
Мабільная версія на прыладзе : цудоўна, калі падыходзіць. Аптымізуйце мадэлі і сачыце за батарэяй.
-
Гібрыд : Папярэдняя фільтрацыя на мяжы, цяжкая праца ў воблаку. Выдатны кампраміс.
Сумна надзейны стэк: прататып з дапамогай PyTorch, навучанне стандартнага дэтэктара, экспарт у ONNX, паскарэнне з дапамогай OpenVINO/ONNX Runtime і выкарыстанне OpenCV для папярэдняй апрацоўкі і геаметрыі (каліброўка, гамаграфія, марфалогія). [4]
Рызыкі, этыка і складаныя моманты, пра якія трэба пагаварыць ⚖️
Сістэмы тэхнічнага зроку могуць успадкоўваць скажэнні набораў дадзеных або аперацыйныя сляпыя зоны. Незалежныя ацэнкі (напрыклад, NIST FRVT) вымералі дэмаграфічныя адрозненні ў частаце памылак распазнавання твараў у розных алгарытмах і ўмовах. Гэта не падстава для панікі, але гэта падстава для ўважлівага тэставання, дакументавання абмежаванняў і пастаяннага маніторынгу ў вытворчасці. Калі вы выкарыстоўваеце выпадкі выкарыстання, звязаныя з ідэнтыфікацыяй або бяспекай, уключыце механізмы праверкі чалавекам і абскарджання. Канфідэнцыяльнасць, згода і празрыстасць не з'яўляюцца дадатковымі функцыямі. [5]
Кароткі план дзеянняў, якога вы сапраўды можаце прытрымлівацца 🗺️
-
Вызначце рашэнне.
Якія дзеянні павінна выканаць сістэма пасля прагляду выявы? Гэта не дазваляе вам аптымізаваць паказчыкі мішуры. -
Збярыце невялікі набор дадзеных.
Пачніце з некалькіх сотняў малюнкаў, якія адлюстроўваюць ваша рэальнае асяроддзе. Старанна падпішыце іх — нават калі гэта вы і тры ліпкія нататкі. -
Выберыце базавую мадэль.
Выберыце простую магістральную сетку з папярэдне навучанымі вагамі. Пакуль не гонцеся за экзатычнымі архітэктурамі. [1] -
Трэніруйцеся, запісвайце, ацэньвайце.
Адсочвайце паказчыкі, пункты блытаніны і рэжымы збояў. Вядзіце нататнік «дзіўных выпадкаў» — снег, блікі, адлюстраванні, дзіўныя шрыфты. -
Зацягніце цыкл.
Дадайце жорсткія негатывы, выпраўце зрушэнне пазнак, адкарэктуйце дапаўненні і перанастройце парогі. Невялікія карэкціроўкі назапашваюцца. [3] -
Разгарніце сціплую версію,
квантызуйце і экспартуйце. Вымярайце затрымку/прапускную здольнасць у рэальным асяроддзі, а не ў цацачным бенчмарку. -
Маніторынг і ітэрацыя.
Збірайце памылкі, пераназначайце, перавучвайце. Плануйце перыядычныя ацэнкі, каб ваша мадэль не застыла.
Парада прафесіянала: зрабіце заўвагу да невялікай пярэчкі вашага самага цынічнага таварыша па камандзе. Калі ён не можа знайсці ў ёй дзіркі, вы, напэўна, гатовыя.
Распаўсюджаныя памылкі, якіх варта пазбягаць 🧨
-
Навучанне працы з чыстымі студыйнымі здымкамі, пераход у рэальны свет з дажджом на аб'ектыў.
-
Аптымізацыя для агульнай mAP, калі вам сапраўды важны адзін крытычны клас. [3]
-
Ігнараванне класавага дысбалансу, а потым разважанне пра тое, чаму знікаюць рэдкія падзеі.
-
Празмернае пашырэнне, пакуль мадэль не вывучыць штучныя артэфакты.
-
Прапускаючы каліброўку камеры, вы пастаянна змагаецеся з памылкамі перспектывы. [4]
-
Верыць у лічбы табліцы лідэраў без дакладнага паўтарэння наладкі ацэнкі. [2][3]
Крыніцы, вартыя закладак 🔗
Калі вам падабаюцца асноўныя матэрыялы і нататкі да курсаў, гэтыя — выдатны варыянт для азнаямлення з асновамі, практыкі і тэстаў. Глядзіце «Спасылкі» для атрымання спасылак: нататкі па CS231n, дакументацыя па заданнях ImageNet, дакументацыя па наборы дадзеных/ацэнцы COCO, дакументацыя па OpenCV і справаздачы NIST FRVT. [1][2][3][4][5]
Заключныя заўвагі - або Занадта доўга, не прачытаў 🍃
Камп'ютэрны зрок у штучным інтэлекце ператварае пікселі ў рашэнні. Ён ззяе, калі вы спалучаеце правільную задачу з правільнымі дадзенымі, вымяраеце патрэбныя рэчы і выконваеце ітэрацыі з незвычайнай дысцыплінай. Інструментарый шчодры, бенчмаркі публічныя, а шлях ад прататыпа да вытворчасці дзіўна кароткі, калі вы засяроджваецеся на канчатковым рашэнні. Вызначце свае пазнакі правільна, выберыце метрыкі, якія адпавядаюць уздзеянню, і дазвольце мадэлям зрабіць цяжкую працу. А калі дапамагае метафара — уявіце сабе гэта як навучанне вельмі хуткага, але літаральнага стажора вызначаць тое, што важна. Вы паказваеце прыклады, выпраўляеце памылкі і паступова давяраеце яму рэальную працу. Не ідэальна, але дастаткова блізка, каб быць трансфармацыйным. 🌟
Спасылкі
-
CS231n: Глыбокае навучанне для камп'ютэрнага зроку (канспекты курса) - Стэнфардскі ўніверсітэт.
чытаць далей -
Выклік ImageNet па візуальным распазнаванні ў вялікіх маштабах (артыкул) - Русакоўскі і інш.
чытаць далей -
Набор дадзеных і ацэнка COCO - Афіцыйны сайт (вызначэнні задач і пагадненні mAP/IO).
чытаць далей -
Дакументацыя OpenCV (v4.x) - Модулі для папярэдняй апрацоўкі, каліброўкі, марфалогіі і г.д.
чытаць далей -
NIST FRVT Частка 3: Дэмаграфічныя эфекты (NISTIR 8280) - Незалежная ацэнка дакладнасці распазнавання твараў у розных дэмаграфічных групах.
чытаць далей