Компʼютерний зір
Компʼютерний зір — це практика перетворювати зображення з камери на детекції, за якими може діяти машина чи людина, і модель тут рідко є складною частиною. Складно тут тому, що він працює на пристрої з бюджетом живлення й без мережі, на зображеннях, не схожих на ті, на яких його навчали, і живить рішення, у якому за два типи помилок платять різні люди. Сторінка починається з дванадцяти польових збоїв — причини кожного й перевірки, що його ловить; далі — бюджет на пристрої, проблема даних, поріг як політика, що треба записувати, і сім задокументованих збоїв.
- Працює
- На пристрої, самотньо
- Найважчий вхід
- Той, якого не було в навчанні
- Поріг —
- Політика, не метрика
Дванадцять польових збоїв — і перевірка для кожного
Спершу весь список — бо детектор рідко ламається в лабораторії й дуже часто ламається одним із цих дванадцяти способів у перші місяці в полі. Кожен рядок ставить поруч те, що ви побачите, те, що насправді не так, і перевірку, яка спіймала б це до розгортання. Рядки пронумеровано, щоб на рев’ю можна було сказати «у нас немає перевірки для рядка 8», а розділи нижче посилаються на них за номером.
| # | Що ви бачите в полі | Що насправді не так | Перевірка, що це ловить |
|---|---|---|---|
| 1 | Чудово на тестовому наборі, погано вже в перший тиждень | Тестові кадри взяли з тих самих польотів чи сесій, що й навчальні, тож модель оцінювали на сценах, які вона вже бачила. | Ділити за польотом, місцем і датою — ніколи за кадром. |
| 2 | Працює там, де навчали, і провалюється в новому сезоні чи на новій камері | Умов розгортання — сезону, погоди, сенсора — ніколи не було в навчальних даних. | Оцінювати за умовами; перевіряти заново на кожному новому сенсорі й перед кожним новим сезоном. |
| 3 | Добре зблизька, сліпий на дальності | Замало пікселів на обʼєкті за такої висоти чи фокусної відстані. | Оцінювати за розміром обʼєкта в пікселях і заявити найменший розмір, який система підтримує. |
| 4 | У полі повільніше й пізніше, ніж на стенді | Тротлінг від нагріву і затримка, виміряна без захоплення й черги. На рухомій платформі запізнення — це похибка позиції. | Міряти від затвора до рішення за робочої температури; ставити мітку часу на затворі. |
| 5 | Нешкідливе з вигляду оновлення все ламає | Пристрій готує зображення інакше, ніж під час навчання: масштаб, порядок кольорів, нормалізація, квантування. | Тест на еталонних зображеннях для всього конвеєра на пристрої проти еталонних виходів. |
| 6 | Має 99,99% і нічого не знаходить | Незбалансованість класів: модель вивчила, що «тут нічого» майже завжди правильно. | Звітувати повноту на рідкісному класі й хибні тривоги на годину — ніколи не загальну частку правильних відповідей. |
| 7 | Оператори перестають реагувати на тривоги | Забагато хибних тривог на годину оператора за обраного порога. | Письмова політика порога з обома частками помилок і названим власником. |
| 8 | Точність (precision) чудова, а щось однаково проскочило | Пропуск не дає ні тривоги, ні запису, тож його ніхто ніколи не бачить. | Вибірково переглядати кадри, на яких детектор мовчав. |
| 9 | Упевнена відповідь на те, чого він ніколи не бачив | Система не має способу сказати «не знаю». | Смуга непевності, скерована на розбір, а не операторові. |
| 10 | Обʼєкт утрачає історію щоразу, коли змінюється його мітка | Трекінг привʼязаний до класу, тож перекласифікований обʼєкт починається заново як новий. | Ідентичність треку незалежна від мітки, а мітка — атрибут, який можна переглянути. |
| 11 | Модель вивчила не те | Обхідний шлях: тло, водяний знак чи джерело зображення корелюють із міткою. | Розрізати результати за джерелом і тлом і тестувати на джерелі, якого модель не бачила. |
| 12 | Її обманює візерунок, укриття чи макет | Вхідні дані обирає той, хто хоче, щоб детекція провалилася. | Набір оцінювання від «червоної команди» з приховуванням і макетами, окремий від навчання. |
Інференс живе всередині бюджету, і бюджет — це не памʼять GPU
Обслуговування моделей у дата-центрі оптимізують за пропускною здатністю на долар. На пристрої обмеження інші за природою, а не за ступенем, і три з них узагалі не стосуються обчислень. Загальний матеріал про сервінг живе на сторінках MLOps; далі — лише те, що змінюється.
| Бюджет | Що він насправді обмежує |
|---|---|
| Живлення, у ватах | Кожен ват на інференс — це не витрачений час польоту чи роботи. Модель конкурує з місією, а не з іншими орендарями. |
| Тепло | Герметичний корпус на сонці тротлить. Бенчмарк на столі — не те саме число, що бенчмарк у полі через двадцять хвилин. |
| Затримка на кадр | Якщо платформа рухається, детекція, що запізнилася, описує місце, яке обʼєкт уже залишив. Затримка тут є проблемою точності, а не комфорту. |
| Памʼять і сховище | Вирішує, чи можна зберегти сирі кадри, потрібні пізнішому розслідуванню, — саме їх зазвичай жертвують першими й першими ж їх бракує. |
| Шлях оновлення | Модель, яку не замінити пів року, мусить бути правильною пів року, — а це змінює те, наскільки ви готові її спеціалізувати. |
Рядок 4 вступної таблиці заслуговує на картинку, бо саме там метрика моделювання тихо стає позиційною. Бенчмарк, який наводить більшість команд, — лише інференс, на холодному стенді. Число, що важить, — від затвора до рішення, на справжньому пристрої, після того, як він постояв на сонці.
Рядок 5 теж належить сюди, бо це рішення про бюджет, яке виглядає рішенням моделювання. Стиснення моделі під пристрій — квантування до 8-бітних цілих, компіляція під прискорювач, масштабування входу під те, що любить залізо, — змінює її виходи. Іноді ні на що, іноді настільки, що детекції біля порога перевертаються. Фіксований набір еталонних зображень, проганяний через увесь конвеєр на пристрої й порівнюваний з еталонними виходами на кожній збірці, — найдешевший тест на цій сторінці, і він ловить переплутані канали кольору раніше за політ.
Проблема даних, якої не полагодить жодне навчання
Детектор вивчає той розподіл, який йому показали. У розгортанні він зустрічає інший, і розрив не є випадковим шумом: він систематичний, великий і достатньо передбачуваний, щоб його планувати. Це найбільше джерело польових збоїв у системах зору — рядки 2, 3 і 6, — і воно майже ніколи не є помилкою моделювання.
- Зсув сенсора. Модель, навчена на кольоровому зображенні, не переноситься на тепловізійне, а навчена на одній тепловізійній камері часто не переноситься на іншу. Сенсор є частиною навчальних даних, а не їхньою деталлю.
- Сезон і погода. Листя, сніг, багно, дощ на обʼєктиві, низьке сонце просто в сенсор. Модель, перевірена влітку, перевірена на чверті року.
- Геометрія. Висота, кут і фокусна відстань змінюють кількість пікселів на обʼєкті на порядок, і детектор, навчений на одному масштабі, тихо провалюється на іншому.
- Свідоме приховування. На відміну від майже будь-якого іншого домену, тут хтось активно працює над тим, щоб детекція не спрацювала: укриття, макети, деформувальні патерни. Розподіл не просто інший — його обирає супротивник; це рядок 12.
- Гранична незбалансованість класів. Те, що вас цікавить, може траплятися в одному кадрі з пʼятдесяти тисяч, тож модель, що завжди каже «нічого немає», дає 99,998% і не варта нічого.
Два збої зі списку стосуються самого тесту, а не світу, і саме вони змушують брехати кожне інше число. Рядок 1 — це витік: кадри одного польоту майже однакові, тож поділ кадр за кадром кладе майже-копії по обидва боки, і модель оцінюють на сценах, які вона запамʼятала. Рядок 11 — обхідний шлях: щось у зображенні, що не має стосунку до обʼєкта, — тло, водяний знак, яка камера знімала, — корелює з міткою, і модель вивчає саме це. Ліки для обох — та сама дисципліна. Діліть за польотом, місцем і датою й відкладіть ціле джерело, якого модель не побачить до самого кінця.
Практична відповідь не в кращій архітектурі. Вона в конвеєрі даних, що замикає цикл: кожне розгортання записує справжні кадри, процес розбору розмічає цікаві — особливо пропуски й хибні тривоги, — і вони входять до постійного набору оцінювання, згрупованого за умовами. Це та сама дисципліна, що й регресійний набір із розділу QA, прикладена до моделі, — і саме вона перетворює польовий досвід на те, що успадкує наступна версія, а не на те, що памʼятає інженер.
Поріг — це рішення політики з названим власником
Детектор не видає «так» чи «ні». Він видає число, і хтось перетворює це число на «так» або «ні», обираючи, де проходить межа. Цей вибір зазвичай робить той, хто налаштовував модель, у вівторок, за валідаційним набором, — і це найвагоміше рішення в системі.
Обидва напрямки помилки мають наслідки, що виходять за межі моделі. Забагато хибних спрацювань — і оператор перестає довіряти сповіщенням, рядок 7, — не через недбалість, а через арифметику: потік, що переважно є шумом, неможливо опрацьовувати. Цей збій виглядає людською проблемою, а спричинений числом. Забагато пропусків — і не стається взагалі нічого, рядок 8: ні сповіщення, ні запису, ні зворотного звʼязку, і система тихо звітує про чудову точність, поки те, заради чого вона існує, проходить повз. Із двох гірший другий — саме тому, що він не дає жодного сигналу про проблему.
Арифметику за рядком 7 варто побачити один раз, бо саме вона робить непридатною частку помилок, що звучить пристойно. Коли обʼєкт рідкісний, хибні тривоги беруться майже з кожного кадру, а справжні детекції — майже з жодного, тож навіть мала частка множиться на стіну шуму.
Ще одна властивість належить цій політиці й зазвичай відсутня — рядок 9: системі потрібен спосіб сказати «не знаю». Детектор, змушений відповідати бінарно на кожному кадрі, впевнено відповість на кадрах, подібних до яких він не бачив ніколи, — а це рівно протилежне до бажаного. Явна смуга непевності — нижче порога сповіщення, вище порога ігнорування, скерована на розбір, а не на оператора, — коштує мало, і саме там уперше проступають цікаві збої.
І за однією детекцією рідко діють: кадри зʼєднують у треки, і рядок 10 — це місце, де зʼєднання ламається. Якщо трекер привʼязує обʼєкт до класу, щоразу, коли класифікатор передумує, обʼєкт починається заново без історії, і його шлях неможливо передбачити. Мітка має бути атрибутом треку, який можна переглянути, а не тим, що його визначає, — те саме правило, що сторінка про C2Command and control — системи командування й управлінняПЗ, що зводить доповіді з багатьох джерел в одну спільну картину, за якою можна діяти, і несе рішення, ухвалені за нею. Його центральна робота — кореляція: вирішити, чи описують дві доповіді одну річ чи дві, — і тому воно складніше за мапу, якою його зазвичай малюють.Докладніше в статті →Усі терміни формулює для номерів треків.
Що треба записати, щоб хибну відповідь можна було розслідувати
Детекцію, яку неможливо відтворити, неможливо розібрати, а система, чиї помилки неможливо розібрати, не покращується — вона накопичує думки про себе. Запис тут обмежений сховищем і тим, що пристрій може не повернутися, тож його треба проєктувати, а не вмикати.
Кадр або його фрагмент
Без зображення розслідування немає — є суперечка. Якщо сховище не дозволяє зберігати все, зберігайте детекції й вибірку кадрів, на яких детектор мовчав, а не рівномірну вибірку нічого конкретного.
Ідентичність моделі
Яка версія моделі, які ваги, який поріг, яка попередня обробка. Через пів року саме це відрізняє регресію моделі від зміненого середовища.
Умови
Сенсор, висота, кут, час, температура. Саме вони дають потім різати якість за умовами — єдиний корисний спосіб її читати.
Що зробила людина
Підтвердила, відхилила, проігнорувала. Це безкоштовно розмічені дані рівно потрібного розподілу, і більшість систем їх викидає.
Остання картка — та, з якою варто щось зробити цього тижня. Рішення операторів є розміченим потоком, породженим саме тим розгортанням, яке вас цікавить, без витрат на анотацію, — і це найкоротший шлях від «система інколи помиляється» до кейса в наборі оцінювання. Щоб їх зібрати, інтерфейс має робити «підтвердити» й «відхилити» однаково легкими, а це рішення дизайну в шарі C2, а не в моделі.
Сім збоїв — і рядок, що покриває кожен
Оборонні програми рідко публікують свої збої, тож задокументовані випадки тут — цивільні. Механізми переносяться точно: детектор не знає, для чого його розгорнули, і кожен із цих випадків — збій даних, порога, трекінгу чи нагляду, а не архітектури моделі.
| Випадок | Що сталося | Рядок, що це покриває |
|---|---|---|
| Google Photos, 2015 | Застосунок для фото підписав двох темношкірих людей як горил. Виправлення, яке випустила Google, — заблокувати мітку «горила» й повʼязані мітки приматів повністю; тест Wired у 2018 році показав, що вони й досі заблоковані. | 2. Навчальні дані не покривали людей, яким служив продукт, а латка прибрала клас замість виправити дані. |
| Tesla, Віллістон, Флорида, травень 2016 | Автомобіль на автопілоті проїхав під напівпричепом, що перетинав шосе, і водій загинув. Система не виявила білий причіп на тлі яскравого неба. NTSB встановила, що дорога була поза умовами, під які систему проєктували, а дизайн дозволяв водієві надовго відключатися — руки на кермі 25 секунд із 37 хвилин. | 2 і 9. Вхід був поза проєктною областю, і ніщо в системі не могло сказати, що вона не бачить. |
| Gender Shades, лютий 2018 | Аудит трьох комерційних продуктів аналізу облич знайшов частку помилок класифікації статі до 34,7% для жінок із темнішою шкірою і щонайбільше 0,8% для чоловіків зі світлішою. Бенчмарки, на яких такі продукти зазвичай оцінювали, складалися переважно з людей зі світлою шкірою. | 2 — і діаграма вище: одне число ховало зріз, що провалювався. |
| Тестове авто Uber, Темпі, Аризона, березень 2018 | Безпілотне тестове авто збило й убило жінку, що вела велосипед через дорогу. Воно виявило її за 5,6 секунди до зіткнення, але раз у раз змінювало класифікацію — автомобіль, велосипед, інше, — і кожна зміна викидала історію треку, тож її шлях так і не спрогнозували. Секундне придушення дії затримало реакцію, екстрене гальмування було вимкнене, а водій-наглядач дивився в телефон. | 10 і рядок 6.1 сторінки про C2: ідентичність привʼязали до мітки, що постійно змінювалася, а людина над контуром не мала змоги діяти. |
| Наліпки на знаку «Стоп», 2018 | Дослідники наклеїли на знак «Стоп» чорні й білі наліпки, і класифікатор читав його як знак обмеження швидкості 45 миль/год у 84,8% кадрів, знятих із рухомого авто. Роботу опублікували на CVPR як попередження про входи з фізичного світу. | 12. Коли вхід обирає хтось інший, тестовий набір зі сцен, що «співпрацюють», нічого про це не міряє. |
| Пневмонія на рентгені, листопад 2018 | Дослідження моделей, навчених на рентгенограмах із трьох лікарняних систем, показало, що вони вміють визначити, з якої системи і навіть з якого відділення знімок, і гірше працюють на лікарнях, яких не бачили. Поширеність хвороби між закладами різнилася, тож саме джерело передбачало мітку. | 11 і 1. Модель вивчила джерело, а тест, що змішував джерела, її за це винагороджував. |
| Хибний арешт у Детройті, січень 2020 | Пошук за розпізнаванням облич зіставив кадр із камери спостереження в магазині з фото на посвідченні водія Роберта Вільямса, і його заарештували й протримали близько тридцяти годин за крадіжку, якої він не вчиняв. Мирова угода 2024 року забороняє поліції Детройта заарештовувати будь-кого лише на підставі результату розпізнавання облич. | 3 і 9 — і політика порога: кандидата, знайденого за поганим зображенням, сприйняли як ідентифікацію, і різниця не мала власника. |
Де це вироджується
Чесне обмеження кожної перевірки на цій сторінці в тому, що вона міряє детектор на умовах, які хтось здогадався зібрати. Набір оцінювання, розрізаний на дванадцять зрізів, містить лише ці дванадцять; тринадцята умова — новий тип укриття, збій сенсора, погода, якої ніхто не записав, — приходить без попередження, і числа лишаються зеленими, доки вона не прийде. Смуга непевності з рядка 9 і перегляд кадрів, на яких детектор мовчав, із рядка 8 — єдині практики тут, спрямовані на те, чого ніхто не передбачив, і тому вони варті більше, ніж коштують.
- Одне число точності на слайді, усереднене по умовах, яких ніхто не перелічує.
- Тестовий набір, поділений кадр за кадром із тих самих польотів, що й навчальні дані.
- Бенчмарк, зроблений на робочій станції, і наведений для пристрою в герметичному корпусі на сонці.
- Поріг, якого ніхто не має за власника, виставлений у вівторок тим, хто налаштовував модель.
- «Перегляд людиною» потоку тривог, що на девʼяносто шість відсотків є шумом.
- Точність (precision), про яку звітують, жодного разу не глянувши на пропущене.
- Клас, прибраний із продукту, бо модель у ньому помилялася, — а дані лишилися як були.
- Набір оцінювання, зібраний лише зі сцен, що «співпрацюють», для системи, чий вхід обирає хтось інший.
- Оцінка збігу, подана людині як ідентифікація.
Коли це застосовувати
Застосовуйте, коли
- Як рев’ю перед розгортанням: дванадцять рядків угорі, кожен зі своєю перевіркою.
- Коли інференс мусить працювати на пристрої, у бюджеті живлення, тепла й затримки, виміряному наскрізь.
- Коли встановлюєте поріг детекції: він потребує письмової політики, обох часток помилок на годину оператора і названого власника.
- Коли проєктуєте, що записує пристрій, — щоб хибну відповідь через пів року ще можна було розслідувати.
Уникайте, коли
- Як загальну настанову з навчання чи сервінгу моделей: цим володіють сторінки AI/LLM та MLOps, і ця на них спирається.
- Як підставу дозволити моделі вирішувати, а не детектувати: рішення й людина в контурі належать сторінці C2.
- З єдиною сукупною цифрою точності — метрикою, що найімовірніше є водночас вражаючою й оманливою.
- Там, де людина однаково може переглянути кожен кадр: тоді більшість цієї механіки є зайвим тягарем.
Джерела й метод
На чому стоїть ця стаття
- 7 джерел
- 4 задокументовані збої
- Перевірено 13 жовтня 2026 р.
Збої, на яких вчиться стаття
польові збої з таблиці кейсів- СтаттяWhen It Comes to Gorillas, Google Photos Remains Blind (відкривається в новій вкладці)WIRED · 01.2018
- Звіт регулятораNTSB HAR-17/02 — Collision Between a Car Operating With Automated Vehicle Control Systems and a Tractor-Semitrailer Truck (відкривається в новій вкладці)National Transportation Safety Board · 09.2017
- Звіт регулятораNTSB HAR-19/03 — Collision Between Vehicle Controlled by Developmental Automated Driving System and Pedestrian (відкривається в новій вкладці)National Transportation Safety Board · 11.2019
- СтаттяCivil Rights Advocates Achieve the Nation’s Strongest Police Department Policy on Facial Recognition Technology (відкривається в новій вкладці)ACLU · 28.06.2024
Дослідження
упередження, фізичні атаки і зсув домену — виміряні- ДослідженняJoy Buolamwini, Timnit Gebru — Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification (відкривається в новій вкладці)FAT* 2018 · PMLR · 02.2018
- ДослідженняKevin Eykholt et al. — Robust Physical-World Attacks on Deep Learning Visual Classification (відкривається в новій вкладці)CVPR 2018 · 2018
- ДослідженняJohn R. Zech et al. — Variable generalization performance of a deep learning model to detect pneumonia in chest radiographs (відкривається в новій вкладці)PLOS Medicine · 11.2018
Дослідження з Claude. Пошук і звірку першоджерел зроблено з Claude (Anthropic). Відбір, текст і перевірку фактів — редакція Anatomy of IT Product.
Було корисно?
Поділіться з тим, хто працює над тією ж задачею.