Кстати, таких проблем никогда не возникло бы, если бы я заранее знал все их параметры. Да и свои не мешало бы. Иногда нет ничего сложнее, чем ответить самому себе на вопрос: «Чего я хочу?»
Базовые их параметры я вычислил, но это же ничего не говорит об их мотивах. Или говорит? Эх, меньше слов, больше кода!
Я уже убедился в том, что мой алгоритм анализа анкет в соц. сетях по фотографиям очень эффективен. Теперь нужно найти видеоролики с этими же людьми, в той же соц. сети или в подобной и попробовать анализировать их. Только сначала нужно создать алгоритм для подобного анализа.
Казалось бы, что анализ фото и видео разные, как небо и земля. Я тоже так думал. И да, потоковый анализ очень ресурсоемок, поскольку непонятно, когда появится то, чего мы ожидаем. А ожидать мы можем сотни и тысячи различных маркеров. Значит нужно анализировать изображение несколько раз в секунду на каждый маркер. И это только для статических задач.
Уже минул век, когда нужен был специальный датчик движения. Сейчас же, просто ставишь камеру и анализируешь изображение раз в секунду. Изменилось изображение, значит и в кадр что-то попало.
Но так только со статикой. Мне же нужно анализировать некие шаблоны в движениях человека. Сильно ли это усложняет задачу? С одной стороны – да, с другой – не очень. Нужно анализировать не одно фото за раз, а сразу массив фотографий. На программистском жаргоне – стек. Тем более, что само видео и представляет из себя быстро сменяемый друг друга поток фотографий, если упрощенно и не брать во внимание кодировки.
Значит, мне нужно выделить минимальный по длительности шаблон поведения и анализировать видео. Разбиваю его на стеки по 1 секунде, со смещением, скажем, в 0.2 секунды. Беру из каждого стека пока по три изображения: начало, середина и конец. По-хорошему, нужно анализировать хотя бы двадцать пять кадров, но не потяну по мощностям пока.
Сейчас нужно написать алгоритм, который обработает эти три изображения и выдаст некий результат. Потом все эти результаты нужно сравнить и разбить по группам. Это и будет новой выборкой, вроде групп фотографий.
Звучит здорово, но это только самое начало пути. Настолько начало, что даже еще начала не видно. Видео бывают разные по размерам, частоте, цветовой гамме, четкости, разрешению и тд
Для начала нужно будет все усреднить, иначе зашьюсь. Значит, анализирую исключительно черно-белое изображение определенного размера. И сам человек же еще может быть разного размера в кадре, черт, это рушит всю задумку.
Так, стоп, есть алгоритмы, позволяющие найти человека на видео и определить его размеры. Нужен лишь еще один параметр для этого. Кого я обманываю, этих параметров нужны десятки, а то и сотни! Тут работы на большую команду.
Отставить панику. Ввожу параметр размера человека в кадре, ввожу распознавание лиц, чтобы анализировать конкретно человека, чья анкета, делаю изображение черно-белым и беру три кадра в секунду. Глянем что получится.
Нужно минимум десять роликов от человека и человек пять для анализа. Выборка очень плохая, но больше не потянет техника. Хорошо, что можно использовать часть алгоритма, который я написал для анализа фотографий. Только нужно оптимизировать его под группы фотографий.
Из программистского угара меня выдернул будильник. До собеседования десять минут. Формат требует приодеться. Я встал и ноги сами повели меня в комнату для медитации.
Зашел и открыл едва заметную дверь, за которой скрывается еще одна комната. Включил свет и застыл на пороге. Каждый раз, как захожу сюда, меня охватывает черная ностальгия. Подошел к шкафу, открыл и взял костюм на тремпеле. Зачем я зашел сюда? Можно было взять любой костюм, мы недавно с Колей неплохо прибарахлились. Нет, как только понял, что моя технология может сделать, я уже знал, что мне нужен именно этот костюм. Я посмотрел на соседние тремпели, на глазах навернулись слезы.
- Я не отказываюсь от своих слов, я постараюсь. – Сказал и вышел из комнаты, утирая слезы.