Как стать автором
Обновить

Комментарии 24

Очень круто.

P.S. А есть ли аналогичные признаки для звуков человеческой речи? Так-то практически все звуки всех языков мира кодифицированы — в международной фонетической азбуке IPA. Но хотелось бы матрицы, которые можно применить к обработанному звуку.
Да пожалуйста, гуглите по слову «форманты». Скажем, image
В 60е-70е годы так распознавание речи и работало… ;) Впрочем, для некоторых языков даже хватало.
С речью есть проблема, что один и тот же звук в разном «контексте» слышится по-разному, поэтому всё очень сложно. Но если использовать подход как в статье, то есть ограничиться распознаванием заранее заданного набора фраз, то вполне можно использовать схожую технику. Часто встречал использование мел-кепстральных коэфициентов для подобных задач.
Прекрасная реализация.

Но чтобы забирать информацию о пиках и банах, без взлома игры, можно было обойтись официальным API
Оно работает для прошедших матчей, в лайв-режиме так сделать не получится.
Скажите, почему в шахматной матрице Хаара главная диагональ — белая? Почему нет с черной? Про другие матрицы понятно, что симметричные избыточны.
Сделайте тестовую картинку. Проведите две черные диагонали в квадрате. Правую диагональ метод автора найдет на раз-два. Левую — шиш.

ПС. Пардон, черный властелин съел ваш комментарий…
Эт я просто успел написать коммент, проверить выхлоп от двух ядер, понять что не прав и удалить коммент =)
Вы правы, «шахматному» ядру нужна пара.
Здравствуйте. Так как ядра состоят из -1 и 1 то при нахождении правой диагонали в идеальном случае будет 1, а обратная (левая диагональ) является негативом для данного ядра, и будет равняться -1. Поэтому как вы могли заметить у меня нет парных ядер.
1) Можно было бы взять хэш с небольшой подборкой сдвигов. Хотя на мой взгляд pHash должен к таким сдвигам и так устойчивым быть. Он понижает разрешение, там долно всё съесться.
2) Можно было бы построить гистограмму яркости-цвета. Очень просто, очень быстро. Думаю, что достаточно устойчиво по такой маленькой базе героев.

А как научно-развлекательный проект для себя — да, классно!

По-моему, достаточно было просто сжать картинку в три-четыре раза по горизонтали с интерполяцией «nearest neighbour»: думаю, это скомпенсировало бы небольшой сдвиг и хеш оказался бы одинаковым. Или просто посчитать статистические свойства картинки: средние значения всех пикселей или отдельных каналов.


Нейронная сеть тут точно оверкилл :-).

Продолжение будет по выбору персонажа исходя из статистики?
Присоединяюсь к вопросу. Я бы даже поучаствовал, идея интересная, самому несколько раз приходило в голову подобное… Но как-то руки не доходили. Только я бы сфокусировался именно на определении контрперсонажа, а вводить текущих на первое время можно и вручную, не так интересно :)
Здравствуйте. Как будет время сделаю.
Но зачем упоминать CNN в заголовке статьи в которой нет CNN?
>Свёрточное ядро представляет из себя обычно -1 и 1, обозначающие черные и белые цвета соответственно, либо на оборот.
Ну строго говоря не обязательно (для случая с CNN), веса же в процессе обучения получаются, по большому счету они могут быть любыми

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


А в вашей постановке задачи хватило бы и евклидовой дистанции на трёхканальных изображениях, не стоило так заморачиваться.

Если тема будет интересна расскажу, как делал распознавания чисел на HealthBar(е), с какими трудностями я столкнулся, и как я их решал.

Пишите обязательно.

Вообще, для этого есть какая-то апишка, но она закрытая. У меня, например, мышка Steelseries, и она умеет менять цвет логотипа в зависимости от текущих хп или маны. Фишка сама по себе невероятно бесполезная — никто в здравом уме не будет смотреть на мышку, да и логотип полностью перекрывается рукой. Но это говорит о том, что такое API есть.

Вот что она умеет:
image

Подскажите, а каким образом можно сопоставить сдвинутые, повернутые, частично искаженные (зашумленные) изображения?

К примеру, для отпечатков пальцев, вроде от прямого сравнения уходят, заменяя его на сравнение расположения особых точек — окончания линий, разветвления литий и тд. Но в случае с отпечатком пальца заранее известно, что он состоит из линий с определенными особенностями.

А если нужно найти, к примеру, обои в большом каталоге по фотографии? Или книжку по обложке? Человек взглянув даже не две черно-белых фотографии может достаточно точно сказать — это две фотографии одной и той же обложки или нет. Человеку очевидно, что если на одной изображен корабль, а на другой — собака, то это разные изображения. И человек не будет в столь очевидных случаях пытаться искать особые точки, пытаться проверить их соответствующее расположение.

Я пытался использовать моменты изображения, но успеха не добился :-(. Из-за разности в изображениях — яркость, контраст, угол освещения, две фотографии одной и тоже обложки преобразуются в разные наборы контуров. Где-то добавляется шум от рельефа, где-то играет роль разная цветопередача освещения и тд.

Подскажите, что можно почитать, или какие примеры посмотреть на эту тему?

Чувак, так в доту еще не играли, респект!

Можно было все сделать куда проще и заинжектить vpk-аддон в игру и на javascript получить данные от игры. Поищите d2js, именно так я его и делал.
Дота уже больше года не позволяет грузить сторонние VPK. Или это обходится?
Обходится очень просто и безнаказуемо.

Если уж задача подбор персонажей, но нужно снимать не только выбранных персонажей, но и забаненых. Так же почитать про применение нейросетей при пике на месте капитана было бы гораздо интересние.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации