Проверка подсчета шествия "против закона подлецов" 13 января
tolik_kats
Коллеги, приглашаю ознакомиться с результатами моего подсчета, и проверить их.  Я насчитал 24 500 людей на "марше против подлецов" 13 января с помощью Белого Счетчика, программы для подсчета с помощью анализа видео изображений.

Вот ссылки н
исходные изображения, и на вс промежуточные результаты.  Дальше будет много букв, но без них не понятно как программа работает, и что можно проверить.

1.  Общие принципы работы программы.  Скачайте и просмотрите изображения, а потом постарайтесь понять эту часть по максимуму.  
Мы зафиксировали фотокамеру в одном месте, и делали примерно один снимок в секунду, пока вся толпа проходила мимо нас.  Если мы знаем скорость и плотность толпы в каждый момент, суммируя эти данные по всему времени шествия, мы получим общее количество пришедших.  Скорость толпы (в пикселях), мы считаем автоматически, а каждые 10 секунд мы выделяем кусок кадра известного размера, считаем количество людей на нем, и предполагаем что все последующие 10 секунд плотность будет постоянной.  

На каждом промежуточном изображении мы видим красные и зеленые точки, соединенные черной линией.  Так мы считаем скорость.  Зеленая точка -- участок изображения не похожий на окружающие, например чья-то голова или сумка.  Мы используем ее для расчета скорости.  Красная точка, к которой зеленая присоединена, -- это предполагаемые координаты той же точки в предыдущем изображении.  Вычисляя разницу в координатах, мы знаем скорость этой точки.  Мы предполагаем, что скорость толпы между двумя кадрами -- средняя скорость по всем таким парам точек.  Оранжевые и желтые точки мы не используем.  Последняя строка в левом верхнем углу -- скорость, которую мы расчитали.  Единица измерения -- 1/1000 от высоты всего региона, где мы измеряем скорость.  Сам регион я не выделял, но его легко вычислить по тому, где находятся точки.

Примерно каждые 10 кадров на промежуточных результатах вы видите зеленый квадратик.  В нем я считал людей для оценки плотности толпы.  В таких кадрах в левом верхнем углу вы видите надпись, например:
People in image:  66 People in sample:
Это значит, что я насчитал шесть людей в четырехугольнике, и зная его размер, поделил чтобы получить 66 во всем регионе подсчета.  К сожалению, из-за ошибки в программе, прямоугольник, который вы видите, немного смещен по сравнению с тем, что я использовал, чтобы посчитать плотность, поэтому ваши результаты будут немного другими, особенно для разреженной толпы.

2.  Простые способы проверки для всех
Я не настаиваю, что эти способы проверки единственные.  Если вы придумали другой, обязательно напишите, что вы попробовали, и какие получили результаты.  Если использовали один из моих способов, расскажите, какой вы попробовали, и какие результаты получили -- как положительные, так и отрицательные.
По техническим причинам, нумерация исходных и промежуточных изображений смещена на 7242.  im_07243 соответствует DSC_0001, и так далее.  Я считал только ближайшую к камере (внутреннюю) сторону бульвара.  В файле результатов мои рассуждения о том, сколько прошло по всей ширине бульваров.
  а.  Самый сущностный способ проверки, но самый трудоемкий.  Выберите несколько последовательных кадров, и посчитайте сколько людей прошло мимо мнимой линии по ширине проезжей части, например, красной линии в промежуточных результатах.  Сравните с тем, сколько насчитано Белый Счетчиком (Total Seen).  Какое-то расхождение должно быть, т.к. я усредняю плотность и скорость, однако чем больше отрезок времени, тем меньше должна быть разница.  Напишите ваши результаты в комментариях, как положительные, так и отрицательные.  Мне будет полезно знать разброс и смещение ошибки.
  б.  Проверьте, что плотность правдоподобна.  Посчитайте плотность на том же участке изображения, что и я, убедитесь что туда реально влезает 20-30 человек.  Выберите участок без флагов, увеличте изображение, и посчитайте по головам.  На входящих изображениях нет четырехугольников, но там намного лучше качество, поэтому лучше посчитайте там.
  в.  Проверьте, что скорость правдоподобна.  Большинство красно-зеленых пар точек должны отражать реальное перемещение толпы.  Когда между ними большое расстояние, средняя скорость написанная наверху тоже должна быть большой.

Какие бы результаты вы не получили, опишите, пожалуйста, свой эксперимент в комментариях!

3.  Дополнительные способы проверки для специалистов
Я выбирал четырехугольник на изображении, который соответствует прямоугольнику на проезжей части.  Это тот самый четырехугольник, в котором находятся все характерные точки для оценки скорости.  Потом я проецирую его на единичный квадрат (0, 0), (0,1), (1,0),(1,1), и считаю вертикальный компонент скорости именно в нем.  MilliRegionWidth -- этот вертикальный компонент, умноженный на 1 000.  Меня смущает то, что на глаз эти скорости кажутся заниженными.  Однако, у меня нормальный юнит-тест для функции получения параметров проективной матрицы, и когда я просто останавливал программу расчета скорости в дебаг-режиме и игрался с этой матрицей, ничего подозрительного не нашел.  Объясните, пожалуйста, эти результаты интуитивно, если можете.

Лично я больше никаких спорных моментов не обнаружил, поэтому представляю результаты на Ваш справедливый суд.  Наиболее ценной будет рецензия в следующей форме:  
А.  Ваша степень доверия результатам, от 1 до 5:  
  1 - Уверен, что присутствуют ошибки, из-за которых истинная цифра далека от приведенной.
  2 - Вероятно присутствуют ошибки, из-за которых истинная цифра далека от приведенной.
  3 - Из приведенных данных считаю трудновыполнимым или невозможным установить верность цифры
  4 - Присутствуют ошибки, которые не оказывают большое влияние на точность
  5 - Уверен, что результат близок к правде.
Б.  Рецензия в свободном формате
пишите как вы проверяли достоверность результатов, ваше мнение о целесообразности данного метода и.т.д.  От трех предложений и больше.
В.  Ваша Ф.И.О, образование, и должность
нонимные рецензии тоже имеют ценность, однако подписанным больше доверяют.

Спасибо.

?

Log in