Art of DS

Вигляд

Палітра
Тема
Доступ $20 одноразово
Увійти або створити акаунт

Вхід до Art of DSСтворіть акаунт Art of DS

Ми надішлемо на пошту посилання й шестизначний код. Увійти можна будь-яким із них; пароля немає.Введіть свою пошту. Ми надішлемо посилання й шестизначний код, щоб її підтвердити, — пароль не потрібен. Акаунт безкоштовний.

  • Ви повернетеся на цю сторінку, туди, де зупинилися.
  • Уже маєте акаунт? З тією самою адресою ви просто ввійдете.

Продовжуючи, ви приймаєте Умови та Політику конфіденційності.

Ваш акаунт

Безкоштовний акаунтДоступ назавжди

Комп'ютерний зір · 7 у порівнянні

Vision tasks

Визначення

Сім задач, упорядкованих за тим, до чого прив’язано відповідь: до зображення, рамки, пікселя, екземпляра чи ні до чого. Спершу прочитайте стовпець «Вартість».

Порівняння

Назва Що це за задача Відповідь прив’язана до Повертає Чим оцінюється Вартість
Image classification Одне зображення на вході, одна мітка на виході. Найстаріша форма в зорі й єдина, про метрику якої ніхто не сперечається, — якщо прийняти, що на кожне зображення рівно одна правильна відповідь. Повна сторінка →усього зображенняміткуточність, top-561 год на 1,000 зображень
Object detection Кожен екземпляр знайдено й обведено. Відповідь тепер — множина змінного розміру, тож оцінювання потребує правила, що вважати тим самим об’єктом, — і тут з’являються IoU та поріг. Повна сторінка →рамкирамки й міткиmAP@[.5:.95]92 год на 1,000 зображень, за точку
Semantic segmentation Клас для кожного пікселя, без розділення екземплярів. Єдиний щабель, що може позначити речі без чітких меж — небо, дорогу, траву, — бо йому ніколи не треба казати, скільки їх. Повна сторінка →пікселякарту класівсередній IoUкожен піксель, але без екземплярів
Instance segmentation Маска для кожного об’єкта, а не клас для кожного пікселя. І питання виявлення, і питання сегментації водночас — і найдорожча анотація в цій таблиці, учетверо дорожча. Повна сторінка →екземплярамаску для кожного об’єктаAP масок259 год на 1,000 зображень
Image–text retrieval Підпис на вході, ранжований список зображень на виході, або навпаки. Набір міток стає тим, що ви пишете, а не тим, під що навчаєте, а нагляд уже є у вебі. Повна сторінка →пари «зображення–текст»ранжуванняrecall@k, top-1нічого — підпис уже є
Image generation Шум на вході, зображення на виході, і жодної правильної відповіді для порівняння. Кожна метрика тут оцінює розподіл, а не прогноз, а це інший вид твердження. Повна сторінка →нічогонове зображенняFID, IS, людинажодного анотування
3-D shape understanding Хмара точок на вході, мітка або мітка для кожної точки на виході. Та сама драбина деталізації, на даних без сітки, — а це ламає кожну згортку в цій таблиці. Повна сторінка →точкимітку або мітку на точкуточність, середній IoUсенсор плюс ручне чищення

Спершу прочитайте стовпець Вартість. Архітектура в цих рядках майже взаємозамінна — d2l робить це організаційною ідеєю всього розділу про зір, зазначаючи, що пошарові представлення «успішно використовують у різних задачах комп’ютерного зору, як-от виявлення об’єктів, семантична сегментація й перенесення стилю» [4, ch. 14, introduction]. Невзаємозамінне те, за що вам довелося заплатити людині, і це визначає метрику, режим збою і те, чи задача взагалі розв’язна.

Рядки — одна драбина, і COCO накреслила її раніше, ніж хтось збудував моделі

Перші чотири рядки — не чотири теми. Це чотири висоти того самого питання — де воно? — і стаття COCO викладає їх саме в такому порядку на першому рисунку: попередні набори даних «зосереджувалися на (a) класифікації зображень, (b) локалізації обмежувальних рамок об’єктів чи (c) семантичній сегментації на рівні пікселів», а COCO додає «(d) сегментацію окремих екземплярів об’єктів» [1, §I].

Кожен щабель відповідає на питання того, що нижче, і щось додає. Класифікація питає, чи є об’єкт: задача «вимагає бінарних міток, що вказують, чи присутні об’єкти на зображенні» [1, §II]. Виявлення додає місце — «твердження, що об’єкт заданого класу присутній, і його локалізація на зображенні» [1, §II]. Семантична сегментація відкидає екземпляр і бере піксель: вона «вимагає, щоб кожен піксель зображення було позначено як такий, що належить категорії, як-от небо, стілець, підлога, вулиця» [1, §II]. Сегментація екземплярів просить обидва.

Третій щабель ставлять не на те місце. Це не «виявлення, але точніше» — це інше питання, і його перевага — саме те, від чого воно відмовилося. Відмова від екземплярів «дає змогу позначати об’єкти, для яких окремі екземпляри важко визначити, як-от трава, вулиці чи стіни» [1, §II]. Детектор не може позначити небо, бо не буває одного неба.

Драбина має ціну, і ця ціна не лінійна

what one rung of the ladder costs to annotatecategory labelinginstance spottinginstance segmentation0100200worker hours per 1,000 imagesa label61a located instance92a mask259a web caption0 — the caption is already there
COCO reports two of its three annotation stages per dataset and the third per instance, which hides what the three numbers say together. On a common unit of worker hours per 1,000 images, a label costs 61, adding a located instance takes it to 92, and a mask takes it to 259 — so a mask is 4.2 times a label, and segmentation alone is 65% of the total. The bottom row is not a fourth rung but the alternative: CLIP trained on 400 million image–text pairs collected from the internet, where the caption was written by whoever posted the picture. That is not free, but its cost is crawling and filtering rather than worker hours, and it is why the row sits at zero on this axis. Note that COCO never annotated bounding boxes at all — Section VI derives them from the masks — so the middle rung is a point on each instance, not a box.

Конвеєр анотування COCO має три етапи, і стаття дає вартість кожного. Позначення категорій — які категорії є на цьому зображенні — «забрало ∼20 тис. годин роботи виконавців» [1, §IV-A]. Позначення екземплярів, хрестик на кожному об’єкті, сягнуло «∼10 тис. годин роботи виконавців» [1, §IV-B]. Далі сегментація: «Сегментація 2,500,000 екземплярів об’єктів — надзвичайно трудомістка задача, що вимагає понад 22 години роботи виконавців на 1,000 сегментацій» [1, §IV-C].

Дві з цих величин подано на весь набір даних, а третю — на екземпляр, тож порівняння, яке вони роблять, не видно, доки не звести їх до однієї одиниці. Розв’язаний приклад це робить, і відповідь така: маска коштує в 4.2 раза більше за мітку, а сама сегментація становить 65% вартості повністю маскованого зображення.

Дві деталі, які варто знати. По-перше, COCO взагалі не анотувала рамок — експерименти з виявлення «отримують щільно прилеглі обмежувальні рамки з анотованих масок сегментації» [1, §VI], тож середній щабель — це точка на кожному екземплярі, а не намальована рамка. По-друге, верхній щабель важкий і для людей: виконавці мали пройти навчальне завдання, перш ніж їм дозволяли сегментувати, і «приблизно 1 з 3 виконавців пройшов етап навчання» [1, §IV-C].

Бенчмарк відмовляється оцінювати найважчий випадок — і прямо про це каже

Це варто знати, перш ніж довіряти числу з цієї таблиці. COCO сегментувала кожен екземпляр на зображенні приблизно до десяти-п’ятнадцяти; далі «решту екземплярів позначали як “натовп” одним (можливо, багатокомпонентним) сегментом», і «для оцінювання області, позначені як натовп, ігноруються й не впливають на оцінку детектора» [1, §IV-C].

Тож випадку щільного натовпу — того, на який реальне розгортання натрапляє на вокзалі, — в оцінці немає зовсім. Це не вада COCO, яка про це прямо каже. Це нагадування, що метрику будували люди, яким десь треба було зупинитися, і місце, де вони зупинилися, — це, ймовірно, місце, де ваш застосунок починається.

Те саме застереження стосується верху драбини, де невизначена сама мітка. Стаття виявила, що «навіть спеціалізовані експерти часто розходяться щодо присутності об’єкта» [1, §IV-D], тож на кожне зображення залучали вісьмох краудворкерів, а не одного — об’єднання вісьмох давало кращий recall, ніж будь-який окремий експерт [1, §IV-D].

Кожен щабель угору трохи підточує метрику

Патерн, що проходить таблицею згори вниз: що тонша відповідь, то більше оцінка стає думкою.

Точність класифікації безспірна: мітка одна, і ви або вгадали, або ні. Виявленню потрібне правило для того самого об’єкта, і mAP@[.5:.95] — конкретна думка про те, наскільки важить точність локалізації і яку вагу заслуговують рідкісні класи. Сегментація додає другу: середній IoU усереднює за класами, а не за пікселями, тож клас, що займає 0.1% зображення, важить стільки ж, скільки дорога.

Унизу таблиці метрика взагалі перестає мати еталон. DDPM повідомляє «Inception score 9.46 і найкращий FID 3.17» [3, Abstract] — обидва порівнюють розподіл згенерованих зображень із розподілом справжніх. Немає правильної відповіді для кожного зображення, яку можна перевірити, а це інший вид твердження, ніж «91.2% top-1», хоч і надруковане тим самим шрифтом. Гірше того, як показує FID, число, обчислене зі скінченної вибірки, — не те число, яким метрику визначено, і розрив залежить від моделі, яку вимірюють.

COCO це передбачила. Навіть коли виявлення правильне, якість сегментації — окрема складність: стаття перевіряє, «за умови, що детектор повідомляє правильну обмежувальну рамку, наскільки добре передбачена сегментація об’єкта збігається з еталонною», і виявляє, що передбачити маску «важко навіть для правильних виявлень» [1, §VI]. Кожен щабель — окрема задача, а не шліфування попереднього.

Рядок, що відмовляється лізти драбиною

Найцікавіше — низ рисунка з анотуванням. Аргумент CLIP починається саме з вартості, яку цінувала ця таблиця: «Найсучасніші системи комп’ютерного зору навчають прогнозувати фіксований набір наперед визначених категорій об’єктів. Така обмежена форма нагляду обмежує їхню загальність і придатність, бо для задання будь-якого іншого візуального поняття потрібні додаткові розмічені дані» [2, Abstract].

Вихід — перестати платити за мітки. CLIP навчається на «400 мільйонах пар (зображення, текст), зібраних з інтернету» [2, Abstract], де підпис написав той, хто опублікував картинку, і результат «зрівнюється з точністю оригінальної ResNet-50 на ImageNet без прикладів, не використовуючи жодного з 1.28 мільйона навчальних прикладів, на яких її навчали» [2, Abstract].

Тому рядок і стоїть на нулі осі рисунка. Він не безкоштовний — збір і фільтрування 400 мільйонів пар мають власну вартість, і стаття відверто визнає, що це змінює те, чим є нагляд, а не прибирає його. Але це не години роботи виконавців, і вся форма галузі після 2021 року випливає з цієї заміни. Спостереження, що за нею стоїть: «сукупний нагляд, доступний сучасним методам попереднього навчання у вебмасштабних колекціях тексту, перевершує нагляд якісних наборів даних NLP, розмічених краудворкерами» [2, §1], — а комп’ютерний зір, на відміну від NLP, цієї заміни ще не зробив.

Практичний приклад

Зводимо три етапи анотування COCO до однієї одиниці, бо стаття подає два з них на весь набір даних, а третій — на екземпляр.

Python 50 рядків Показати код Сховати код
"""What each rung of the vision task ladder costs to annotate."""

IMAGES = 328_000
INSTANCES = 2_500_000
CATEGORY_HOURS = 20_000
SPOTTING_HOURS = 10_000
SEG_HOURS_PER_1K = 22
STATED_TOTAL = 70_000

per_image = INSTANCES / IMAGES
print(f"  COCO: {IMAGES:,} images, {INSTANCES:,} instances, {per_image:.1f} per image")
print(f"  (the paper states 7.7; the rounded counts above give {per_image:.2f})\n")

# Усі етапи — в одній одиниці: години роботи виконавців на 1,000 зображень.
seg_hours = SEG_HOURS_PER_1K * INSTANCES / 1000
stages = [
    ("a label per image", "category labeling", CATEGORY_HOURS, 8),
    ("a point per instance", "instance spotting", SPOTTING_HOURS, 8),
    ("a mask per instance", "instance segmentation", seg_hours, 1),
]

print("  what each rung costs, on a common unit")
print(f"{'the output':>22}{'stage':>24}{'workers':>9}{'hours':>11}{'h / 1k images':>15}")
cumulative = 0.0
rows = []
for output, stage, hours, workers in stages:
    cumulative += hours
    per_1k = hours / IMAGES * 1000
    rows.append((output, per_1k, cumulative / IMAGES * 1000))
    print(f"{output:>22}{stage:>24}{workers:>9}{hours:>11,.0f}{per_1k:>15.1f}")

print("\n  and the ladder is cumulative: a mask needs the label and the point first")
print(f"{'to get':>22}{'you also pay for':>34}{'h / 1k images':>15}{'vs a label':>12}")
# Не «рамка»: COCO ніколи не анотувала рамок. Розділ VI бере їх із масок,
# тож рамка коштує або точку, або цілу маску залежно від того, де ви
# зупинитеся, і драбина чесна, лише якщо називає, за що справді заплачено.
labels = ["a label", "a located instance", "a mask"]
needs = ["nothing else", "the label", "the label and the point"]
base = rows[0][2]
for name, need, (_, _, cum) in zip(labels, needs, rows):
    print(f"{name:>22}{need:>34}{cum:>15.1f}{cum / base:>11.1f}x")

seg_share = rows[2][1] / rows[2][2] * 100
print(f"\n    segmentation alone is {seg_share:.0f}% of the cost of a fully masked image")

print("\n  the one number that does not reconcile")
print(f"    22 h / 1,000 masks x {INSTANCES:,} instances = {seg_hours:,.0f} worker hours")
print(f"    plus {CATEGORY_HOURS:,} + {SPOTTING_HOURS:,} = {cumulative:,.0f} hours in total,")
print(f"    against the {STATED_TOTAL:,}+ the paper states in its discussion.")
print("    The rate is the reliable figure; the total is stated as a lower bound.")

Вивід

  COCO: 328,000 images, 2,500,000 instances, 7.6 per image
  (the paper states 7.7; the rounded counts above give 7.62)

  what each rung costs, on a common unit
            the output                   stage  workers      hours  h / 1k images
     a label per image       category labeling        8     20,000           61.0
  a point per instance       instance spotting        8     10,000           30.5
   a mask per instance   instance segmentation        1     55,000          167.7

  and the ladder is cumulative: a mask needs the label and the point first
                to get                  you also pay for  h / 1k images  vs a label
               a label                      nothing else           61.0        1.0x
    a located instance                         the label           91.5        1.5x
                a mask           the label and the point          259.1        4.2x

    segmentation alone is 65% of the cost of a fully masked image

  the one number that does not reconcile
    22 h / 1,000 masks x 2,500,000 instances = 55,000 worker hours
    plus 20,000 + 10,000 = 85,000 hours in total,
    against the 70,000+ the paper states in its discussion.
    The rate is the reliable figure; the total is stated as a lower bound.

Останній блок — справжня розбіжність, і її варто залишити. Множення власного темпу сегментації статті на її власну кількість екземплярів дає 55,000 годин, що разом із двома попередніми етапами становить 85,000, — проти «понад 70,000 годин роботи виконавців», про які йдеться в обговоренні [1, §VIII]. Обидва числа — зі статті. Використовувати варто темп на 1,000, бо його подано як темп, а загальну суму — як нижню межу; співвідношення в цій таблиці залежать лише від темпів, тож вони справедливі в будь-якому разі.

Практичне прочитання таблиці. Обирайте найнижчий щабель, що відповідає на ваше питання. Кожен крок угору множить вартість анотування, послаблює метрику й додає режим збою, якого не було на щаблі нижче. Виняток — рядок пошуку, який зовсім не вищий на драбині: це спосіб за неї не платити, і варто перевірити, чи можна так сформулювати вашу задачу, перш ніж щось розмічати.

Джерела

  1. Lin, Maire, Belongie, Bourdev, Girshick, Hays, Perona, Ramanan, Dollár, Zitnick. Microsoft COCO: Common Objects in Context (2014)paperhttps://ar5iv.labs.arxiv.org/html/1405.0312
  2. Radford, Kim, Hallacy, Ramesh, Goh, Agarwal, Sastry, Askell, Mishkin, Clark, Krueger, Sutskever. Learning Transferable Visual Models From Natural Language Supervision (2021)paperhttps://ar5iv.labs.arxiv.org/html/2103.00020
  3. Ho, Jain, Abbeel. Denoising Diffusion Probabilistic Models (2020)paperhttps://ar5iv.labs.arxiv.org/html/2006.11239
  4. Zhang, Lipton, Li, Smola. Dive into Deep Learning — Computer Visionbook · звірено 2026-09-15https://d2l.ai/chapter_computer-vision/index.html

Маєте промокод?

Код зі знижкою 100% одразу відкриває все. Менша знижка віднімається від ціни у вікні оплати: введіть там той самий код.

Написати в підтримку

Питання, проблема з доступом, повернення коштів? Напишіть нам, і ми відповімо листом.

Про що це?

Адресу використаємо лише для відповіді вам.

Повідомлення надіслано

Дякуємо. Відповімо листом на адресу, яку ви вказали.

Або напишіть нам напряму

support@artofds.com

Повідомлення надіслано Дякуємо. Відповімо листом на адресу, яку ви вказали.

Перевірте адресу пошти: вона потрібна, щоб відповісти.

Це наша адреса. Вкажіть свою, щоб відповідь дійшла до вас.

На цю адресу не можна надіслати лист. Перевірте, чи немає помилки.

Напишіть трохи більше: щонайменше 10 символів.

Забагато повідомлень за короткий час. Спробуйте за кілька хвилин.

Не вдалося надіслати повідомлення. Напишіть нам напряму: support@artofds.com