Частые ошибки субъективного тестирования

Автор: Николай СапуновОбновлено: август 202617 мин чтения
Содержание статьи +

Кратко

Субъективный тест – исследование, где люди оценивают качество видео, а вы усредняете их мнения в число, – это эталонная истина, против которой валидируется каждая объективная метрика; значит, ошибочный тест тихо портит всё, что ниже по течению ему доверяет. Сбои предсказуемы и группируются в восьми местах: слишком мало испытуемых, нет стабилизации и якорей шкалы, наводящие инструкции, сессии длиной до усталости, узкий или несвежий набор контента, нет рандомизации против эффектов порядка и контекста, пропущенный или неверно применённый скрининг наблюдателей и чтение получившегося Mean Opinion Score (MOS) как абсолютного числа. У каждой ошибки есть именованное исправление в ITU-T P.910 (10/2023) или ITU-R BT.500-15 (05/2023), и каждая, если её оставить, может перевернуть результат или спрятать реальную разницу в шуме. Эта статья – галерея сбоев (ошибка, почему она портит число, исправление и нарушенный стандарт), и к ней прилагается pre-flight аудитор, проверяющий дизайн теста по этим порогам до запуска.

Почему это важно

Вы запускаете субъективный тест, когда нужен реальный ответ – действительно ли этот энкод выглядит лучше для людей – а не догадка метрики. Этот ответ становится эталоном, против которого настраиваются и которому доверяют ваши числа VMAF или SSIM, поэтому если тест неверен, метрика наследует ошибку, как и каждое решение по кодированию после неё. Беда в том, что сломанный субъективный тест не сигналит о себе: он возвращает чистую на вид таблицу MOS с аккуратными средними, и только внимательный читатель видит, что средние ничего не значат. Статья – для инженера стриминга, кодирования или QA, кто вот-вот запустит исследование качества (в лаборатории или на крауд-платформе) и хочет избежать ошибок, которые десятилетиями тихо губили субъективные тесты. Это завершающая «галерея сбоев» блока субъективного тестирования: аргумент об эталоне истины, шкалы, методологии, дизайн, проведение и статистика дают правильный путь; эта статья собирает неправильные, чтобы вы узнавали их с первого взгляда.

Одна идея за каждой ошибкой

Перед галереей – единственный принцип, который её связывает. Субъективный тест существует, чтобы изолировать одну переменную – видео – так, чтобы любая разница в оценках могла прийти только от видео. Каждая ошибка ниже – это утечка: какая-то другая переменная (панель, шкала, порядок, комната, анализ) проникает в оценку, и вы больше не можете сказать, сколько числа – это видео, а сколько – утечка. Исправления – не бюрократическая галочка. Каждое затыкает конкретную утечку, которую органы стандартизации нашли трудным путём, в провалившихся тестах. ITU-T P.910 говорит это прямо: его правила выбора сцен «представляют годы опыта и уроки, извлечённые из субъективных тестов, которые провалились» (P.910 10/2023, п. 7.2.1). Читайте галерею как этот накопленный опыт, упорядоченный.

Рисунок 1. Галерея сбоев одним взглядом. Восемь повторяющихся ошибок, сгруппированных по тому, где они портят результат – панель, шкала, сессия, контент и анализ. Каждая впускает в оценку переменную, отличную от видео.

Ошибка 1 – Слишком мало испытуемых

Самая частая ошибка ещё и самая дорогая, если её игнорировать: запуск теста на горстке людей, потому что набор идёт медленно. Субъективный тест оценивает среднее мнение популяции по выборке, и, как любая выборочная оценка, несёт погрешность – 95% доверительный интервал (ДИ), полосу вокруг вашего MOS, внутри которой правдоподобно лежит истинное среднее. Чем меньше испытуемых, тем шире полоса, а широкая полоса проглатывает те самые различия, которые вы пытаетесь обнаружить.

ITU-T P.910 ставит жёсткие пороги под размер выборки. После скрининга каждый стимул должен быть оценён минимум 24 субъектами в контролируемой среде и минимум 35 в неконтролируемой (P.910 10/2023, п. 10.1). Число 15, которое старые рекомендации и фольклор всё ещё считают «достаточным», теперь явно объявлено числом пилотного исследования – для «выявления тренда или проверки модифицированных протоколов», с чёткой пометкой «пилот», а не результат (п. 10.1). Если в вашей панели меньше 24, у вас не результат, а пилот.

Цена занижения не абстрактна. P.910 приводит наименьшую разницу средних, которую стандартный метод ACR может надёжно различить – обозначим ΔSCI, доверительный интервал разницы MOS – при разных размерах панели: примерно 0.5 при 24 субъектах, 0.7 при 15, 1.1 при 9 и 1.5 при 6 субъектах (п. 8.1.1, со ссылкой на Pinson 2020). Разберём пример. Пусть ваша новая лестница энкодера набирает MOS 3.9, а старая – 3.4: реальный, значимый разрыв 0.5 на пятибалльной шкале. Прогоните его через 8 субъектов – и ваша различимая разница около 1.1; ваш разрыв 0.5 меньше половины вашего порога шума, так что тест не различит две лестницы, хотя разница реальна. Прогоните то же сравнение через 24 субъекта – и различимая разница падает примерно до 0.5, теперь разрыв ровно на грани обнаружимости, а 30+ субъектов уверенно его достанут.

Различимая разница MOS (ΔSCI) от размера панели — ITU-T P.910, п. 8.1.1
   6 субъектов  → ~1.5     ваш разрыв 0.5 невидим (разрыв ≪ шум)
   9 субъектов  → ~1.1     всё ещё невидим
  15 субъектов  → ~0.7     на грани; разрыв < шум
  24 субъекта   → ~0.5     едва различим (порог контрол. среды P.910)
  35 субъектов  → < 0.5    уверенно различим (порог неконтрол. среды)

Исправление: набирайте до порога, не ниже – минимум 24 валидных (после скрининга) субъекта для лабораторного теста, минимум 35 для неконтролируемого или крауд-теста и больше, когда вы режете данные по демографии или среде. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 10.1 и 8.1.1; ITU-R BT.500-15 (05/2023) п. 2.5.1 («минимум 15 наблюдателей… менее 15… должно помечаться как „неформальное“»). Полный разбор мощности и размера выборки – в статье о статистике.

Рисунок 2. Почему шесть субъектов не видят реальной разницы. Различимая разница (ΔSCI, из P.910 п. 8.1.1) уменьшается с ростом панели; настоящий разрыв 0.5 MOS остаётся погребённым в шуме, пока панель не достигнет порога 24/35.

Ошибка 2 – Нет стабилизации, нет якорей

Бросьте свежего зрителя прямо в первую реальную пробу – и первые несколько оценок ненадёжны. Людям нужно несколько клипов, чтобы откалибровать своё личное использование шкалы – увидеть примерно, насколько плохим бывает «плохо» и насколько хорошим «хорошо» именно в этом тесте, – прежде чем их оценки стабилизируются. Пропустите это – и ранние оценки блуждают, таская среднее за собой.

BT.500-15 встраивает исправление в структуру сессии. Около пяти «dummy-презентаций» ставятся в начале первой сессии, чтобы стабилизировать мнение наблюдателей, и их данные отбрасываются («не должны учитываться в результатах теста»); около трёх dummy открывают каждую последующую сессию (BT.500-15, п. 2.6). Отдельно тест должен ещё и заякорить шкалу к её диапазону. Поскольку большинство методов оценки «чувствительны к вариациям диапазона и распределения увиденных условий», сессия должна включать полный диапазон условий – или приближать его, включая крайние примеры, либо помеченные как крайние (прямое якорение), либо рассеянные по сессии без пометки (косвенное якорение) (п. 2.4). Без якорей две панели, видевшие разные диапазоны качества, будут использовать шкалу по-разному, и их оценки не будут сравнимы.

Исправление: открывайте каждую сессию стабилизирующими клипами, которые выбрасываете, и засевайте набор условий высоко- и низкокачественными якорями, чтобы шкала была пришпилена к известному диапазону. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.6 (стабилизация) и 2.4 (диапазон и якорение).

Рисунок 3. Сначала стабилизируйте, потом якорите. Первые ~5 клипов (серые) калибруют зрителя и отбрасываются; высокие и низкие якоря (зелёные и оранжевые), распределённые по реальным пробам, пришпиливают шкалу к известному диапазону, чтобы панели оставались сравнимыми.

Ошибка 3 – Наводящие или непоследовательные инструкции

То, что вы говорите субъектам перед оценкой, становится частью измерения. Скажите «следите за блочностью по краям» – и люди будут охотиться за блочностью и переоценивать её; ответьте на вопрос одного субъекта посреди сессии подсказкой – и этот субъект теперь проводит другой эксперимент, чем остальные. Инструкции, которые подталкивают оценку или различаются между людьми, впрыскивают ожидание экспериментатора прямо в число.

Стандарты трактуют инструкции как контролируемую часть протокола, а не импровизацию. ITU-T P.910 посвящает инструкциям и обучению отдельный пункт (P.910 10/2023, п. 12.5, с образцом формулировок в Приложении II), и принцип, проходящий через редакции, явен: «не должно подразумеваться, что худшее качество в обучающем наборе обязательно соответствует низшей субъективной оценке шкалы», а вопросы о процедуре «следует отвечать с осторожностью, чтобы избежать смещения, и только до начала сессии» (давняя инструктивная формулировка P.910). BT.500-15 добавляет, что обучающие последовательности должны демонстрировать диапазон и тип искажений на материале «отличном от используемого в тесте, но сопоставимой чувствительности» (BT.500-15, п. 2.5.3) – то есть обучение настраивает шкалу, а не конкретные клипы.

Исправление: напишите инструкцию один раз, нейтральным языком, дайте каждому субъекту ровно один и тот же сценарий (лучше письменно), демонстрируйте шкалу на не-тестовых клипах и отвечайте на уточняющие вопросы только до начала сессии. Нарушенный стандарт: ITU-T P.910 (10/2023) п. 12.5 и Приложение II; ITU-R BT.500-15 (05/2023) п. 2.5.3.

Ошибка 4 – Сессии длиной до усталости

Усталый или скучающий зритель – шумный прибор. Прогоните панель через два часа клипов, и поздние оценки поплывут, скучатся к середине шкалы и перестанут отслеживать видео. Хуже того, длинные отдельные клипы напрашиваются на собственное смещение: когда стимул долог, зрители помнят начало и конец сильнее середины – эффекты первичности и недавности (primacy/recency) – и оценивают весь клип по этим фрагментам.

P.910 ставит пределы и на сессию, и на клип. Участие каждого субъекта предпочтительно ограничить 1.5 часами, из которых не более 1.0 часа уходит на оценку стимулов, с частыми перерывами для чего-то более длинного (P.910 10/2023, п. 11.1). BT.500-15 жёстче по одному заходу: «сессия не должна длиться более получаса» (BT.500-15, п. 2.6). По длине клипа P.910 предполагает стимулы от 4 до 20 секунд и предпочитает от 10 секунд до 1 минуты именно потому, что «ограничение длительности теста также уменьшает усталость субъектов», и предупреждает, что при большей длительности «зрителю становится трудно учесть все вариации качества и оценить правильно» (п. 7.6). Подробная структура сессий и перерывов – в п. 12.6.

Исправление: ограничьте одну сессию примерно 30 минутами, общее время оценки субъекта – примерно часом, заложите перерывы и держите отдельные стимулы короткими (10–30 секунд типично). Если дизайну нужно больше оценок, разбейте его по сессиям или субъектам – не растягивайте заход. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 11.1, 7.6 и 12.6; ITU-R BT.500-15 (05/2023) п. 2.6.

Ошибка 5 – Смещённый или несвежий набор контента

Субъективный тест настолько репрезентативен, насколько репрезентативны его клипы. Возьмите шесть лёгких для кодирования сцен «говорящая голова» – и каждый кодек будет выглядеть отлично; возьмите шесть высокодинамичных спортивных клипов – и каждый кодек будет выглядеть плохо; и в обоих случаях результат говорит о вашем выборе сцен, а не о кодеках. Переиспользование одних и тех же любимых клипов в каждом тесте усугубляет проблему: энкодеры и метрики тихо переобучаются под них, и тест перестаёт обобщать.

P.910 здесь необычно прям, потому что выбор сцен – это место, где тесты проваливаются. Тестовые сцены должны выбираться так, чтобы их пространственная информация (SI) – мера пространственной детализации – и временная информация (TI) – мера движения соответствовали целевому сервису, и «набор тестовых сцен должен охватывать полный диапазон SI и TI, представляющий интерес» (P.910 10/2023, п. 7.8). Должно использоваться минимум четыре разных типа сцен (п. 7.8), четырёх-шести сцен обычно достаточно, «если соблюдено разнообразие контента» (п. 7.7), а новые источники следует вводить каждый раз, чтобы избежать переобучения на одном материале (п. 7.2.7). Принципиально: любое отклонение от советов по выбору сцен «должно описывать в отчёте вопросы, где выбор видеосцен отклонился от или противоречил данному здесь совету» (п. 7.2.1) – стандарт делает смещённый контент раскрываемым дефектом, а не молчаливым.

Исправление: выберите горстку сцен, охватывающих полный диапазон пространственной детализации и движения, который реально доставляет ваш сервис, покройте минимум четыре типа контента и вводите свежие источники, а не переиспользуйте одни и те же клипы. Нарушенный стандарт: ITU-T P.910 (10/2023) пп. 7.8, 7.7, 7.2.7 и 7.2.1.

Ошибка 6 – Нет рандомизации: порядок и контекст смещают оценки

Порядок, в котором появляются клипы, меняет то, как их оценивают. Покажите сильно искажённый клип сразу после череды безупречных – и зрители оценят его ниже, чем оценили бы иначе; тот же клип после череды ужасных оценят выше. Это контекстный эффект, и это реальное, измеренное смещение, а не ошибка округления.

BT.500-15 называет его точно: «Контекстные эффекты возникают, когда субъективная оценка изображения зависит от порядка и тяжести предъявленных искажений» (BT.500-15, Annex 5). Защита стандарта – рандомизация плюс баланс: «следует использовать случайный порядок предъявлений (например, на основе греко-латинских квадратов)», устроенный так, чтобы усталость и адаптация «балансировались от сессии к сессии» (п. 2.6). Важны ещё два правила – никогда не предъявлять один и тот же контент подряд и никогда не фиксировать эталон всегда-первым в парном методе, потому что фиксированный порядок встраивает известное смещение (P.910 10/2023, пп. 12.7.4 и 8.3). Исследование BT.500 также нашло, что контекстный эффект зависит от метода: он был сильнейшим для варианта метода с двойным стимулом и шкалой искажений и практически отсутствовал для метода с двойным стимулом и непрерывной шкалой качества (DSCQS) (Annex 5) – так что выбор метода сам по себе часть защиты.

Исправление: рандомизируйте порядок предъявления для каждого субъекта (свой случайный плейлист), балансируйте порядок условий по сессиям, никогда не показывайте один источник подряд и рандомизируйте, какой член пары идёт первым. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) п. 2.6 и Annex 5; ITU-T P.910 (10/2023) пп. 12.7.4 и 8.3.

Рисунок 4. Порядок – это переменная. Отсортированный по качеству плейлист позволяет контекстному эффекту таскать оценку сильного искажения в зависимости от соседей; случайный, сбалансированный порядок у каждого субъекта убирает эту утечку. DSCQS минимизирует эффект по конструкции.

Ошибка 7 – Пропущенный скрининг или неверно применённая отбраковка наблюдателей

Здесь живут две противоположные ошибки. Первая – позволять оценивать любому без проверки, что он может видеть тест: зритель с некорректированным слабым зрением или дальтонизмом измеряет нечто иное, чем ваше искажение. BT.500-15 требует, чтобы «до сессии наблюдатели проходили скрининг на (коррегированную до) нормальную остроту зрения по таблице Снеллена или Ландольта и на нормальное цветовое зрение по специально подобранным таблицам (например, Ишихара)» (BT.500-15, п. 2.5.2).

Вторая, тоньше, – злоупотребление послетестовой процедурой отбраковки. После теста вы можете удалить субъектов, чьи оценки статистически несогласованы с панелью, – но у отбраковки BT.500 на основе эксцесса есть жёсткие пределы, вписанные в неё: её «не следует применять к результатам данного эксперимента более одного раза», а «использование процедуры должно ограничиваться случаями с относительно небольшим числом наблюдателей (например, менее 20), все из которых неэксперты» (BT.500-15, п. A1-2.3.1). Прогоните её дважды, чтобы «почистить» данные, или примените к крауд-панели из 60 человек – и вы уже не отсеиваете выбросы, а лепите результат под желаемый ответ. Для бо́льших или крауд-панелей правильные инструменты – корреляционный скрининг и «мягкая» (soft) отбраковка на основе модели смещения и согласованности, которые описывает BT.500 (пп. A1-2.3.3 и A1-2.4).

«Частая ошибка – отбраковывать субъектов, пока данные не станут хорошими. Отбраковка по эксцессу в BT.500-15 – это одноразовый скрининг для малых неэкспертных панелей (менее ~20), а не ручка, которую крутят, пока не сожмётся доверительный интервал. Повторное применение или применение к большой/крауд-панели фабрикует результат. Используйте корреляционный или мягкий (смещение/согласованность) скрининг для больших панелей, применяйте любой жёсткий скрининг ровно один раз и сообщайте исходные и скорректированные средние рядом (BT.500-15 пп. A1-2.3.1, A1-2.4, 2.7).»

Исправление: скриньте остроту и цветовое зрение до сессии; после неё применяйте единое, заранее объявленное правило отбраковки, подходящее размеру панели, и сообщайте оценки до и после отбраковки. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.5.2 и A1-2.3.1; статья о проведении теста подробно разбирает скрининг, а крауд-специфичная версия (gold-standard и trapping пробы) – в статье о краудсорсинге.

Ошибка 8 – Чтение MOS как абсолютного числа

Последняя ошибка переживает даже идеально проведённый тест: трактовка Mean Opinion Score как абсолютной, переносимой величины. MOS 4.1 из вашей лаборатории не взаимозаменяем с MOS 4.1 из другой лаборатории, другой панели или даже вашего же прогона с другим диапазоном условий. Оценка – это позиция на шкале, которую задали собственный диапазон теста и его популяция; сдвиньте диапазон – и число сдвинется с ним.

BT.500-15 формулирует ограничение прямо: «поскольку они меняются с диапазоном, неуместно интерпретировать суждения большинства методов оценки в абсолютных терминах» (BT.500-15, п. 2.7). Есть и измеренный эффект границ шкалы: зрители избегают крайних концов шкалы, так что «идеальный» клип редко в среднем даёт чистую 5 (п. A1-3.3). Практическое следствие: сравнения MOS валидны внутри одного теста – та же панель, шкала, диапазон, сессия – и становятся ненадёжными в момент, когда вы переносите число в другой тест. И оценка бессмысленна без её погрешности: BT.500 требует, чтобы «для каждого тестового параметра приводились среднее и 95% доверительный интервал» (п. 2.7), вместе с конфигурацией теста, материалами, маркой и моделью дисплея и числом и типом наблюдателей. Голая таблица MOS без доверительных интервалов и без метода – не отчётный результат.

Исправление: сравнивайте условия внутри одного теста, никогда сырой MOS между тестами или лабораториями; всегда сообщайте 95% доверительный интервал и полные метод и происхождение; перезаякоривайте каждую сессию, а не предполагайте, что шкала перенеслась. Нарушенный стандарт: ITU-R BT.500-15 (05/2023) пп. 2.7 и A1-3.3; требования к отчётности – в ITU-T P.910 (10/2023) п. 14.

«Частая ошибка – сравнение между сессиями без перезаякоривания. Шкала каждой сессии заново устанавливается её стабилизирующими клипами и якорями; оценки не переносятся автоматически с одной сессии или панели на другую. Перезаякоривайте каждую сессию (~3 открывающих dummy на поздних сессиях), повторяйте несколько общих условий по сессиям для проверки согласованности и сравнивайте различия внутри теста – а не абсолютные числа между тестами (BT.500-15 пп. 2.6, 2.7).»
Рисунок 5. MOS относителен, а не абсолютен. Две сессии могут поставить одни и те же условия на разные абсолютные оценки, но согласиться по ранжированию; доверяйте порядку внутри теста и доверительным интервалам, а не числу, перенесённому между тестами.

Галерея сбоев в одной таблице

ОшибкаПочему портит оценкуИсправлениеНарушенный стандарт
1Слишком мало испытуемыхШирокий ДИ проглатывает реальные различия≥24 валидных (контрол.), ≥35 (неконтрол.); 15 = только пилотP.910 §10.1, §8.1.1; BT.500-15 §2.5.1
2Нет стабилизации / якорейРанние оценки плывут; шкала не пришпилена к диапазону~5 отбрасываемых dummy на сессию; распределить высокие/низкие якоряBT.500-15 §2.6, §2.4
3Наводящие / непоследовательные инструкцииОжидание экспериментатора впрыснуто в оценкиОдин нейтральный письменный сценарий; демо на не-тестовых клипах; вопросы только доP.910 §12.5; BT.500-15 §2.5.3
4Сессии до усталостиПоздние оценки шумят; длинные клипы дают primacy/recency≤30 мин/сессия, ≤1 ч оценки; клипы 10–30 сP.910 §11.1, §7.6, §12.6; BT.500-15 §2.6
5Смещённый / несвежий контентРезультат отражает выбор сцен, а не системуОхватить весь SI/TI; ≥4 типа контента; вводить свежие источникиP.910 §7.8, §7.7, §7.2.7, §7.2.1
6Нет рандомизацииПорядок и контекст смещают оценкиРандомизировать у каждого субъекта; баланс; не один источник подрядBT.500-15 §2.6, Annex 5; P.910 §12.7.4
7Пропущенный / неверный скринингНегодные зрители или отбраковка лепит данныеСнеллен/Ишихара до; одноразовая отбраковка под размер панелиBT.500-15 §2.5.2, §A1-2.3.1
8MOS как абсолютОценки относительны к диапазону и панели, непереносимыСравнивать внутри теста; всегда 95% ДИ + происхождениеBT.500-15 §2.7, §A1-3.3; P.910 §14

Где здесь Фора Софт

Фора Софт строит видеософт с 2005 года – стриминг, WebRTC-конференции, OTT, e-learning, телемедицина и видеонаблюдение – и когда решение по качеству действительно зависит от человеческого мнения, мы проводим субъективный тест так тщательно, как требуют стандарты, а не импровизируем. Это значит: размерить панель до порога P.910 ещё до старта, стабилизировать и заякорить каждую сессию, рандомизировать у каждого зрителя, скринить наблюдателей и сообщать каждый MOS с его доверительным интервалом и полным происхождением – та же дисциплина, что в нашей методологии бенчмарков. Выигрыш – результат, по которому клиент может действовать, а рецензент может доверять: число, измеряющее видео и ничего больше. Когда разница слишком мала или слишком зависит от дисплея для быстрого теста, мы так и говорим и заказываем контролируемую версию, а не делаем вид, что шумная панель всё решила.

Ключевые выводы

  • Ошибочный субъективный тест портит каждую метрику и решение, доверяющие его оценкам, – сбои предсказуемы.
  • Слишком мало испытуемых – самая дорогая ошибка: ниже 24 (лаборатория) или 35 (крауд) реальные различия прячутся в шуме.
  • Стабилизируйте и якорите каждую сессию; первые несколько оценок – это калибровка, их следует отбросить.
  • Держите инструкции нейтральными и одинаковыми, сессии короткими, а контент – охватывающим весь диапазон SI/TI.
  • Рандомизируйте порядок у каждого субъекта против контекстных эффектов; скриньте наблюдателей и отбраковывайте выбросы один раз, а не многократно.
  • MOS относителен – сравнивайте внутри теста, всегда с 95% доверительным интервалом, никогда как абсолют между лабораториями.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.