catok: (Default)
[personal profile] catok
Оригинал взят у[livejournal.com profile] tolik_katsв Численность на Марше Миллионов 15 сентября
Коллеги, прошу помощи восстановить справедливость.  15 сентября в Москве прошло шествие оппозиции под названием Марш Миллионов.  Во власти, как известно, жулики и воры, и они постоянно занижают численность наших мероприятий.  Поэтому я возглавил разработку программы White Counter (Белый Счетчик), программу для автоматического и проверяемого подсчета людей на шествии, и получил неожиданный результат:  14,000 человек (Это именно шествие, не митинг.)  Мне самому трудно в это поверить, а когда эти данные разошлись по интернету, как только меня не называли -- и сурковской пропагандой, и горе-программистом, и еще как.  Поэтому я прошу вас всех проверить мои результаты, чтобы и самому быть уверенным, и убедить других.  В общем, сделаем crowd peer review.  Программа разработана специально так, чтобы любой человек мог это сделать.  Так же прошу специалистов, сведующих в проективной геометрии (или просто в математике) провести углубленную проверку.  

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


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

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

Примерно каждые 10 кадров на промежуточных результатах вы видите зеленый квадратик.  В нем я считал людей для оценки плотности толпы.  В таких кадрах в левом верхнем углу вы видите надпись, например:
People in image:  66 People in sample: 6 
Это значит, что я насчитал шесть людей в четырехугольнике, и зная его размер, поделил чтобы получить 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 - Уверен, что результат близок к правде.
Б.  Рецензия в свободном формате
 Опишите как вы проверяли достоверность результатов, ваше мнение о целесообразности данного метода и.т.д.  От трех предложений и больше.
В.  Ваша Ф.И.О, образование, и должность
 Анонимные рецензии тоже имеют ценность, однако подписанным больше доверяют.
 
Спасибо.


This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

catok: (Default)
Сергей Большаков

April 2017

S M T W T F S
       1
2 345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 14th, 2026 05:41 am
Powered by Dreamwidth Studios