Я сделал ИИ для Aim Lab и она его уничтожила :3

  Переглядів 447,604

Хауди Хо™ - Просто о мире IT!

Хауди Хо™ - Просто о мире IT!

День тому

Делаем ИИ бота для игры Aim Lab.
Компьютерное зрение в деле :3
clck.ru/32uWca - выберете для себя подходящую программу курса «Специалист по Data Science» в Яндекс Практикум. Промокод "ХАУДИ" на скидку 5% до 24 декабря 2022 года.
🆇 Исходный код бота 🆇
github.com/Priler/aimlabbot
🆇 Главы 🆇
0:00 - Идея
0:25 - Что такое Aim Lab и зачем бот?
0:55 - Начинаем писать код (захват экрана)
1:35 - Первая задача (определение целей)
1:55 - Варианты решения задачи
2:29 - Цветовые маски
2:55 - Совет про скейлинг HSV
3:30 - Проверяем код (маску)
4:03 - NMS и объединение по пересечениям
4:32 - Мой рекорд в аим лабе
4:50 - Вторая задача
5:20 - Как работает мышь на уровне ОС и в играх
6:42 - Как играет смещает прицел
7:10 - Проблема перемещения мыши
7:48 - Разбор проблемы
8:37 - Следим за руками (считаем углы)
10:25 - Про машинное обучение
12:27 - Конвертируем координаты из 2D в 3D (пытаемся)
13:35 - ПАМАГИТЕ
13:57 - Костыли наше всё!
14:49 - Первый боевой тест
15:28 - Второй боевой тест
15:57 - Итоги
🔵 Наш TELEGRAM: t.me/howdyho_official
Наш ВК: howdyho_net
Сотрудничество topic-84392011_33285530
💗 Музыка предоставлена UKposts Audio Library.

КОМЕНТАРІ: 836
@kinga.b.1709
@kinga.b.1709 11 місяців тому
Можешь попробовать сделать голосового ассистента, который произносит слова твоим голосом? Я смотрел предыдущие видосы )
@3_4a
@3_4a 11 місяців тому
он делал такого ассистента посмотри на канале хауди правда там не его голос но всё же
@kinga.b.1709
@kinga.b.1709 11 місяців тому
@@3_4a , да, я видел. Но голос криповый у них был
@skviz1337
@skviz1337 11 місяців тому
Бред
@sputnic937
@sputnic937 11 місяців тому
Так мы уже его слышим! Разве не похоже? 🤣
@dix-on
@dix-on 11 місяців тому
А потом он заменит его и будет пилить видосы
@NID_01
@NID_01 11 місяців тому
Для решения твоей проблемы достаточно использовать сферические системы координат. Коротко говоря это ответ на вопрос о том, как x y z перевести в угол по вертикали, угол по горизонтали. Гугли, там все просто. Вот как ни крути, а от синусов и косинусов избавиться не сможешь)
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Я и не пытался, просто никогда не сталкивался с такой задачей. В движках я это делал через встроенные методы по типу WorldToScreen. А тут нет доступа к движку ) p.s. Спасибо за совет, обязательно чекну
@xto3694
@xto3694 11 місяців тому
научи меня своим знаниям
@closeai1824
@closeai1824 11 місяців тому
Открывал школьные учебники, делал через синусы и косинусы, плохая идея. В интернете есть решение смещения курсора по по относительным координатам.
@leprechauns5815
@leprechauns5815 11 місяців тому
аа как всё было просто
@leprechauns5815
@leprechauns5815 11 місяців тому
интересно насколько большими будут проблемы вызванные тем, что шары расположены не по сфере, а в одной плоскости...
@gscript6492
@gscript6492 11 місяців тому
Хм а я думал, что нас ждёт уже частично готовый код ИИ для кс :)
@mr_faild
@mr_faild 11 місяців тому
Для того что бы ты себе его скопировал и апнул глобола)
@POYASNITILNAYA_BRIGADA
@POYASNITILNAYA_BRIGADA 11 місяців тому
сразу бан влетит
@SpringTrap_official
@SpringTrap_official 11 місяців тому
@@POYASNITILNAYA_BRIGADA так это не читы)
@YouTube_is_dead
@YouTube_is_dead 11 місяців тому
​@@POYASNITILNAYA_BRIGADAа кто заметит?
@POYASNITILNAYA_BRIGADA
@POYASNITILNAYA_BRIGADA 11 місяців тому
@@mr_faild но твой то скилл не прокачается)
@eenotik1938
@eenotik1938 11 місяців тому
Кстати можно сделать плавность движения за счёт интерполяции траектории + добавить парочку производных и 2ных производных и вуаля, античит сможет блокнуть только по детекту процесса захвата экрана, но это можно перебросить через какие нибудь стриминговые программы типа OBS
@user-yt4mh2xg9r
@user-yt4mh2xg9r 11 місяців тому
В игры не играю, но предположу, что зависимость угла от перемещения мыши не линейная. В таких случаях лучше построить график зависимости смещения мыши в экселе (или его аналоге), желательно точек 20-50 использовать. Потом на этом графике правой кнопкой построить линию тренда и ее уравнение. И вот перемещение мыши по этому уравнению будет более точным, чем линейная формула с пикселями.
@landromeda7957
@landromeda7957 11 місяців тому
В этом режиме не так уж и сложно набить больше 115к + не мало типов которые сами набивают 140+
@podvodnikk4562
@podvodnikk4562 11 місяців тому
Вроде как задача регрессии. Собрать попадания и расстояния промахов в табличку и уменьшать промахи классическим обучением, ну или нейронкой в "три слоя" (Теорема Цыбенко, Универсальная теорема аппроксимации), раз уж формат такой. Потом предиктить по модельке.
@Kotizaarmii
@Kotizaarmii 11 місяців тому
Ты делаешь хорошие поучительные видео Спасибо❤️
@user-fu4zl6zv3v
@user-fu4zl6zv3v 11 місяців тому
Сделай мне тиммейтов пожалуйста 😫🙏🙏
@megic_emprerortaa855
@megic_emprerortaa855 11 місяців тому
На второй комп тимейта профессионала
@ATtiny13a-PU
@ATtiny13a-PU 10 місяців тому
помни, матч мейкинг закидывает людей рандомно. Будут попадаться сильные игроки в команде? значит и у врагов не будет зевак.
@v1zit
@v1zit 11 місяців тому
Спасибо тебе огромное за урок информатики 😘😘😘
@mectron5660
@mectron5660 10 місяців тому
Попробуй методом подбора поперемещать мышь на центры целей, запиши значения где нибудь, а рядом их координаты в 2д пространстве, так будет проще заметить закономерность
@user-ew4fw7wg7s
@user-ew4fw7wg7s 10 місяців тому
Судя по видео шары находятся на одной (или почти на одной, если обратить внимание на тени) плоскости. А значит мы можем рассчитать координаты из уравнения пересечения прямой с этой плоскостью. Прийдётся всё равно немного пошаманить методом тыка, но это может исправить ложные наведения. Отстреляв тогда цели с первого снимка надо делать новый для поиска целей в момент наведения на последнюю цель.
@ARTandNet
@ARTandNet 11 місяців тому
На счёт перевода движения курсора в вращение в теории нужно делить движение на определенное значение, которое с бОльшим наклоном увеличивается
@user-nd8td3yf2s
@user-nd8td3yf2s 11 місяців тому
Как вариант для улучшения результата, нужно сделать чтобы бот попадал не в центр шара, а в край шара, который ближе к прицелу. Тогда затратится еще меньше время на наведение)
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
Используй функцию dot (произведение векторов) для того, чтобы узнать насколько вектор цвета в HSV или RGB похож на другой цветовой вектор, значения нормализуй заранее от 0 до 1 желательно, выходное будет от -1 до 1. Так можно сравнить вектора любой размерности с любым содержанием.
@iforand
@iforand 11 місяців тому
Нет смысла для HSV схемы. Для RGB да, можно.
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
@@iforand, для HSV тоже норм, будут попадаться цвета с похожим оттенком, яркостью и насыщенностью, будет просто некоторое одно число релевантности. Можно конечно ещё и через матрицу поворота всё это провести, чтобы деформировать область пересечения, или просто находить расстояние до точки в цветовом пространстве, но тут и этого достаточно.
@iforand
@iforand 11 місяців тому
@@ATtiny13a-PU да у него проблема в том, что даже при непохожих насыщенности и яркости сферы не полностью маскируются, как я понял. :) Хотя, может действительно скалярное произведение в RGB пространстве может даст лучше результат, но не факт.
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
@@iforand, сейчас сгонял на шейдер той и проверил на практике, лучше всего работает расстояние от точки в HSV. У RGB проблема с перепадами яркости, но тоже работает. Тестил на блевотных камнях, в шейдер тое это самая первая по списку дефолд текстура, выискивал только бирюзовые, находит успешно.
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
Тут ВАЖНО то, что 0 и 360 градусы цвета (или 0 и 1 в нормализованном диапазоне) равны, т.е. расстояние нужно искать относительно зацикленного пространства. Достаточно лишь вычислить расстояние между 3-мя точками в текущем и двух +макс - макс отдельными компонентами и взять минимальные по модулю, а потом запихнуть в функцию вычисления расстояния. Это особенно важно для красного например, т.к. он находится прям на разделении.
@Lines115
@Lines115 11 місяців тому
Можна сделать для прицеливания в игре: 1. Сделать сетку для бота, узнать сколько нужно поверуть мышку для преодаления 1 квадрата, считать квадраты, повторять цикл например по range() 2. Найти прицел, найти куда надо двигать прицел для попадания в цель, двигать прицел (например: по 5 пикселей) Заметка для Хауди Хо: есть модули Taichi, Numba или numpy, они для ускорения бота пойдут!
@twiekfkwniejwjrj7867
@twiekfkwniejwjrj7867 11 місяців тому
хауди спасибо за такой интересный контент! снимай больше видео по машинному обучению!!
@user-iw5nm7cn3s
@user-iw5nm7cn3s 11 місяців тому
Слушай затея с развитием и понимаем ИИ это очень-очень круто! Мне очень сильно зашла такая тематика особенно на твоем канале! Круто делай по чаще видосики по такой теме Да понимаю трудно! Но буду ждать новых видосиков! Красиво и качественно делаешь
@user-ph9ye9oe5q
@user-ph9ye9oe5q 11 місяців тому
Предлагаю определять x,y мишени и смешать курсор сначала в верх до достижения оси Х потом до Y, или посложнее делить расстояние до Х,Y мишени на "шаги" и перемещать курсор на них пока мишень не будет в прицеле. Подробно в клиенте ниже:
@user-ph9ye9oe5q
@user-ph9ye9oe5q 11 місяців тому
Тебе просто нужны пропорции шага для перемещения, к примеру x,y мишени = 4, 6, ты делишь их на 10 шагов и получаешь х=0.4 y=6 и смещаешь курсор пока мишень не окажется в прицеле.
@Luj_TV
@Luj_TV 11 місяців тому
А если ты сделаешь несколько слоев целей, это первые от 3 до скажем 10 целей и как только достигает меньше какого-то числа целей - сканируем новую картинку, это добавить несколько микро а может и мили секунд к обнаружению и так же к поражению целей.
@pavelco3945
@pavelco3945 11 місяців тому
Это лучший сериал)) Пили следующую серию очень жду. Спасибо
@PLOVf
@PLOVf 5 місяців тому
а теперь ждём ии для CS2D (именно CS2D), ведь там *ОМЕГААБСОЛЮТНОЕ* передвижение мыши))) да и плюсом, скорее всего, ии для неё легче объяснить и понять, а значит что это будет чем-то типо обучалки)))
@Di076ma
@Di076ma 11 місяців тому
от программирования я далёк, но с радостью слушаю твои логические рассуждения)
@olimjontabarzoda2049
@olimjontabarzoda2049 11 місяців тому
ты крутой разработчик 🔥 продолжай таким темпом
@Vena_5
@Vena_5 11 місяців тому
Можно ли рассчитать расстояние от центра экрана до середины шара также как ты рассчитал расстояние от края до края и сделать перемещение?
@pyure4ka
@pyure4ka 11 місяців тому
Сделай и для змейки, думаю это ооочень интересная тема :)
@skrizy485
@skrizy485 11 місяців тому
Сложно бот должен будет рассчитывать данные двигаться по времени тропе
@chucky9485
@chucky9485 11 місяців тому
Хауди, привет! Насчет проблемы думаю поможет основы линейной алгебры. Предлагаю прочитать RayCasting, там только на один FOV, но думаю принцип станет яснее. Успехов✊
@Fak1E-
@Fak1E- 10 місяців тому
Человек способен набить на этой карте больше 100.000 очков)) У меня рекорд 115.000, хотя я не то чтобы часто её играю (но у меня в контре 12.000 часов, и в аим лабе 400). И я могу гораздо больше и лучше, нужно просто тренироваться В остальном топовый и интересный видос
@nquare9596
@nquare9596 10 місяців тому
А я помню как то делал для CS 1.6 бота, ставил там скины с желтыми головами и точно так же маской отфильтровывал картинку с экрана, и каким то образом наводился на голову. Радиус поиска бошки был ограничен определенной область вокруг прицела, типа чтоб наводило только когда достаточно близко поднесешь. И я тогда вообще даже не думал про какие то там углы, взял навел и все. Вспомнить бы как. UPD: Короче проснулся в 4 утра и вспомнил. Я находил координаты этой головы на экране, и тупо мувал туда курсор, с помощью какого то там модуля. И это работало на все 100%, причем я даже не думая сразу пришел к этому и все, а щас вот в шоке что оказывается можно было углы какие то, матрицы. В общем находишь координаты шара и муваешь на них курсор. Залайкайте чтоб хауди увидел
@arturnilin359
@arturnilin359 9 місяців тому
Вообще, для перевода перемещения мыши в углы можно воспользоваться переводом прямоугольных координат в полярные
@chocolatte9277
@chocolatte9277 11 місяців тому
Вопрос, у тебя сколько раз в секунду обновляется изображение бота? Просто если он работает 60 раз в 1 секунду а игра рисует 1 фпс, но принимает значения 60 раз в секунду то бот может переместить прицел 60 раз в одном направлении тогда как нужно всего один раз.
@fandrom4623
@fandrom4623 11 місяців тому
Больше сотни в этом режиме делается, и, если натренироваться, то даже легко🙃
@user-lo2vd3bv1t
@user-lo2vd3bv1t 11 місяців тому
Молодец)))) Вот бы мне так научиться программировать)
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Начинай учиться, это не сложно 🙂
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
ну хотяб в этот раз без нейронных сетей обошлись. А насчёт корректного наведения, нужно учитывать не только позицию шарика на экране, а ещё угол поворота самой камеры. Т.к. все мишени появляются в одной плоскости, то спокойно можно вычислить всё, включая дистанцию до цели (в глубину), относительные повороты и т.п.
@nekit-scyth
@nekit-scyth 10 місяців тому
Ну так то распознавание мишеней это и есть нейронка
@ATtiny13a-PU
@ATtiny13a-PU 10 місяців тому
@@nekit-scyth, ну ты прям совсем в танке видно. Это обычный алгоритм, даже не обучающийся. А нейросеть, это конкретная топология обучаемых алгоритмов. Калибровка и адаптирование тоже далеко не всегда являются обучаемыми алгоритмами, т.е. вполне строго описанными.
@nekit-scyth
@nekit-scyth 10 місяців тому
@@ATtiny13a-PU нейросети это конкретные структуры эмулирующие биологические нейронные сети, нейросети не обязательно должны быть обучаема, если уже известны необходимые веса. И слово алгоритм не совсем подходит к нейронкам. И, насколько я знаю, учитывая специфику компьютерного зрения, нейросети справляются с такой задачей намного эффективней обычных алгоритмов, поэтому, я допускаю предположение, что сейчас компьютерное зрение основывается на нейронках, но если это не так, это не значит, что я в танке. Это просто говорит о том, что я не занимаюсь компьютерным зрением
@Arcelon
@Arcelon 11 місяців тому
Хауди, ты просто красавчик, слов нет. Я года три как подписан на твой канал и безумно рад что узнал о твоём канале. Желаю успехов.
@citrux-x
@citrux-x 11 місяців тому
Жиза, самый лучший IT ютубер который умеет привлекать внимание интересным контентом )
@user-lj5zi1cl3c
@user-lj5zi1cl3c 11 місяців тому
Привет! Я так понимаю, что шары генерятся на невидемой плоскости причем по определенной сетке. Четко вычислять углы получится если знать координаты на этой плоскости до следующего шара и углы под которыми прицел смотрит на эту плоскость сейчас. Углы плывут от того что центральные шары находятся ближе к камере-игроку чем те которые появляются дальше от центра "плоскости". Если мы не знаем хотя бы углов плоскости шаров к плоскости экрана, то ни как. Можешь накидать в Unity сценку и посмотреть на углы и пиксели.
@Jetscrolls
@Jetscrolls 11 місяців тому
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Вот это не легко делается, но я постараюсь )
@KempachiTV
@KempachiTV 11 місяців тому
Ты делаешь вещь )) ждём 4 часть
@Georgy13a
@Georgy13a 11 місяців тому
сделайте бот, с Нейро - сетью, которая сама будет заводиться на шарики. И попробуйте ее обучить, интересно какое место займете в этом случае). Т.е. замените сетки Ваши сетки координат и куча углов на нейро сеть
@7ka_
@7ka_ 10 місяців тому
Мне нравится автор этого видео, по моему мнению он учится и выпускает видео, получает двойную выгоду сам обучается так еще и развивает бизнес в ютубе
@naenol_DM
@naenol_DM 11 місяців тому
Однозначно это лайк, и да Хауди этот бот побил рекорд Симпла у него время до убийства ≈ 0,2 а у твоего 0,15
@nyarukatta
@nyarukatta 11 місяців тому
Хауди кстати не побил мировой рекорд (хотя я не знаю кто на данный момент его держит, но есть видео с лайвплеем от WhoIsAqua)
@xpeHavblcoro
@xpeHavblcoro 11 місяців тому
След.этап - занять 1 место. Судя по стате, бот совершил 397 выстрелов за минуту (60/0.151мс). Я совсем далек от программирования, поэтому есть вопросы: 1. возможно ли сделать так, чтобы бот не тратил время на перемещение между целями, а каждый кадр находил цель? Как будто телепортировался на цель, а не передвигался между ними. Может как-то заранее прописывать карту (или трек, лог, координаты) перемещений. 2. Если первое не возможно, то может возможно перемещаться от крайней координаты цели к крейней координате другой цели. Условно, цель (Ц) весгда имеет форму круга. Возьмем шесть Ц, центры которых являются вершинами равностороннего шестиугольника (Ш1). Проведем из вершин прямые к цетру самого Ш1. Точка пересечения окружности Ц с этой прямой и будет крайней координатой Ц. Теперь если соединить крайние точки всех шести Ц, то получится шестиугольник (Ш2), вписанный в Ш1. А значит, Ш2 имеет меньший периметр, чем Ш1 и, соответственно, перемещение по периметру Ш2 быстрее, чем Ш1. Т.е. перемещение между Ц будет занимать меньшее время. 3. Может имеет смысл строить карту заранее между крайними точками целей. И перестраивать ее при появлении ближайшей новой цели. Если я запутал объяснениями, но заитересовал, то в тг @XopBoHuxoTbunycT0 могу прислать рисунок того, что имею ввиду
@lordazis6514
@lordazis6514 11 місяців тому
Скажу сразу я тоже не программист. Но вот моё мнение по вашему вопросу. 1 у хауди цель в том что бот играл вместо него имитирует движения мыши и нажатия на кнопку. А что вы предлагаете противоречит механики самой игры. 2 Даже в видео можно было увидеть что бот чистенко промахивался даже целям по центру шара. Это случается Иза того что в игре есть функция отдачи. И часто Иза это быстрых комбо бот промахивается. А целится по краям это уже усложняет и так сложную задачу. 3 И да я вашу идею не правильно понял. И зделал неправильные выводы.
@opp_587
@opp_587 11 місяців тому
Хауди говорит же что Аим Лаб блокирует любое перемещение(телепотрирование) мыши.
@xpeHavblcoro
@xpeHavblcoro 11 місяців тому
@@opp_587 понятно. Пропустил этот момент
@iforand
@iforand 11 місяців тому
@@opp_587 так... А вот тот разворот на 180 градусов что было?
@kitoboynaya
@kitoboynaya 11 місяців тому
Обучаю системному трейдингу. Буду рад подписке!
@user-kr7ec3ww7p
@user-kr7ec3ww7p 11 місяців тому
А нельзя было просто размеры шаров учитывать? Чем больше шар на экране, тем на больший коэффициент нужно умножить расстояние от него до прицела, т.к. чем он ближе, тем меньший путь пройдёт на экране при повороте головы. Остаётся только подобрать параметры.
@korvin127
@korvin127 11 місяців тому
Круто! Спасибо! Было интересно!
@danilgnedin6075
@danilgnedin6075 11 місяців тому
Можно сделать подобного бота в ксго.Нужно взять головы моделек сделать картинки с разных сторон и углов, и заставить ИИ считывать это.Можно также написать чтобы ИИ определяло головы противника через определение команды.(По спавну, по бомбе в команде, по никам через таб)
@anonpie2996
@anonpie2996 11 місяців тому
И словить бан в стиме за создание читов
@Deonis0975
@Deonis0975 9 місяців тому
Эхх, моя мечта это ИИ в ВОВ, первый квест, исследования карты, понимания статов и характеристик...
@Maserplayy
@Maserplayy 11 місяців тому
Интересно было бы в других режимах аим лаба испытать бота
@vovapodvornyi2283
@vovapodvornyi2283 11 місяців тому
Есть 1 прикольная идейка, которая будет универсальная для всех стрелялок сразу. Игрок нажимает кнопку на объекте когда он на прицеле, а ИИ отслеживает перемещение и наводит прицел на объект по цвету например. Как слежение по маркеру.
@1o4k56
@1o4k56 10 місяців тому
Читы...
@mSAROtm
@mSAROtm 11 місяців тому
Абрахам, можешь сделать чтобы в игре, неважно в какой игре, лучше конечно в серии игр масс эффект можно было голосом давать команды напарникам, такое кстати уже есть, называется кинект, но насколько помню, то команды нужно произносить на английском языке, а ты сделай на русском языке
@philipkroger
@philipkroger 11 місяців тому
Абрахам, сними видос про то, как ты изучал ML и начинал писать нейронки.
@yanm0ri
@yanm0ri 11 місяців тому
Привет сделай пожалуйста инструкцию как использовать этого бота от и до
@musheghkhachatryan1531
@musheghkhachatryan1531 11 місяців тому
РЕШЕНИЕ ПРОБЛЕМЫ. Если нужно передвинуть курсор с точки (0,0) в точку (x,y), то мышку нужно будет перенести в точку (45,54•arctg(x/720), 45.54•arctg(y/720)).
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Попробую, спасибо
@DERRORBUG
@DERRORBUG 11 місяців тому
Классный формат. Делай еще
@technic_and_programming
@technic_and_programming 11 місяців тому
Твои фразы в конце - САМЫЕ ЛУЧШИЕ!!!
@setwindowlongptr
@setwindowlongptr 11 місяців тому
fake af
@flimo_6768
@flimo_6768 11 місяців тому
Я тебя много где вижу.Неужели у нас интересы почти все одинаковы? То тут вижу то у SJbody и т.д.
@technic_and_programming
@technic_and_programming 11 місяців тому
@@flimo_6768 Рад :)
@kitoboynaya
@kitoboynaya 11 місяців тому
Обучаю системному трейдингу. Буду рад подписке!
@marshmoro8124
@marshmoro8124 11 місяців тому
Это единственный гений планеты, который делает нейронам для игр, не доросли еще нейронки для замены игрока
@takada2363
@takada2363 11 місяців тому
хауди ты топ, мне всегда интересно смотреть твои ролики, после рекламы я даже как то сам захотел стать программистом как ты xD
@wowgood204
@wowgood204 11 місяців тому
Обалдеть ты сделал это , открыл новую страницу искусственного интеллекта . Даже не представляю что будет если такую машину посадить за реальный пулемет .
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Её открыли задолго до меня ) Я просто показываю свои эксперименты.
@X_Shtorm_
@X_Shtorm_ 11 місяців тому
Чувак это нереально круто но можешь сделать видео как использовать твой код. Я хотел бы тоже попробовать его но не знаю как.
@koteicka
@koteicka 11 місяців тому
Делаем ИИ для веселья ! мне понравилось видео, но жалко что ты про компьютерное зрение говорил и по сути это пример его использования :3
@closeai1824
@closeai1824 11 місяців тому
Определять цель по одному уникальному пикселю и использовать системные переменные для определения положения курсора мыши в игре эффективнее.
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Итерировать все пиксели долго. Про передвижение курсора не понял :3
@scratch8828
@scratch8828 11 місяців тому
Мировой рекорд человеческий в аимлабе именно на этой карте тобишь гридшот 177к) к слову мой рекорд 136к, так что насчет полного топа ботов ты не прав) читеров там банят :)
@ConTrollOfficial
@ConTrollOfficial 11 місяців тому
Вот-вот, тоже немного удивили эти слова. У самого тут тоже 120к рекорд, так что бот ещё не на всю мощь херачит.
@GladSpiR
@GladSpiR 11 місяців тому
а теперь маски добавляем в ИИ и находим ими части цели в ГО на уже найденой позиции, и будет полный АИМ и тут наверное стоит строить граф и просчитывать плечи между точками
@alexfox9049
@alexfox9049 11 місяців тому
4:23 не будет ли мешать оружие находить цели? оно же перекрывает пол экрана 14:05 почему не match case ? и кстати попробуй научить нейронку ходить в игре (любой хоть в кс) было бы интересно посмотреть как это будет работать)
@HowdyhoNet
@HowdyhoNet 11 місяців тому
1) Очень редко оружие перекрывает цель, если она всего 1 на карте. В других случаях детект постоянный, и цель определяется даже если частично перекрыта оружием. 2) Хз, у меня тот же вопрос xD Ходить в игре нейронку я попытаюсь научить, сейчас в процессе осознания как это вообще сделать. Смотрю в сторону Q-Learning.
@coldie6014
@coldie6014 11 місяців тому
Хей, сделай ИИ играющего в шахматы, будет интересно посмотреть как они работают. А сам видос классный.
@user-jf5bn1jw3b
@user-jf5bn1jw3b 11 місяців тому
Ошибка как я понимаю происходит из-за того, что ты ищешь угол, исходя из того, что равное расстояние на экране имеет равный угол смещения, но это не так, это бы работало если бы проекция была на сфере, но движки так устроены, что проекцию на экран они считают как проекцию на плоскость(т.к. экраны плоские) и расстояние от тебя, до цели на этой проекции на самом деле увеличивается с увеличением углов. Углы нужно высчитывать из тригонометрических функций.
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Я это тоже примерно понял уже, кажется это как-то связано со сферическими координатами.
@andrewvinokurow3745
@andrewvinokurow3745 11 місяців тому
Через полярные координаты попробуй посчитать расположение объектов.
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Уже в процессе )
@Lucifer-pc2zi
@Lucifer-pc2zi 11 місяців тому
Хауди здарова. Классный видос. У меня есть вопрос по поводу управления персонажем в игре. У меня проблема что при запуске собственного скрипта игра просто зависает и ничего не происходит, в особенности если в скрипте удерживается какая либо из кнопок. Как это можно пофиксить? Заранее спасибо.
@technic_and_programming
@technic_and_programming 11 місяців тому
О, новый видос! Сразу лайк не глядя, потому что знаю, что годнота подъехала 😎🔥
@citrux-x
@citrux-x 11 місяців тому
Вау, просто супер!
@smorodin_ki
@smorodin_ki 11 місяців тому
Хауди, есть простая идея сокращения времени отстрела мишеней: я заметил, что ии стреляет в центр красного шарика в бирюзовом шаре, но прохождение от края синего шара до центра красного хоть и мало, Но занимает карды/время, чтобы поразить цель достаточно попасть в минимальную границу синего шара, совпадающей с центром курсора, попробуй запрограммировать так: Создай красное кольцо, которое чуть чуть меньше диаметра синего шара, в результате при пересечении курсора этой границы происходит выстрел, не доводя до центра, после чего курсор перемещается к следующей цели. Следовательно, время перемещения до выстрела сократится. Если это глупо или невозможно или не дает результата, прокомментируй пж. Спасибо
@77xxx77
@77xxx77 11 місяців тому
Я так понимаю, судя по кадрам, даже поворот на 180° происходит мгновенно, поэтому это не должно сработать. Тут скорее сама проблема в скорости распознавания цвета самой программы, плюс, нужно убедиться второй раз, что под прицелом именно тот цвет. И если эту задержку сократить, то останется только скорость самого пистолета, насколько он может быстро стрелять. И ещё, можно сократить количество распознаваний до минимума, чтобы один раз сканировать, расстрелять имеющиеся шарики и заново сканировать. В общем, нужно найти скорость всех четырёх составляющих, количество сканирований в секунду, количество перемещений в секунду, выстрелов в секунду (самое важное) и сканирования цвета под прицелом в секунду, и тогда уже прорабатывать проблемную зону.
@unknown-ut5qn
@unknown-ut5qn 11 місяців тому
я особо не знаком с нс но короче если у тебя есть точка 2д где шар и прицел, то можно между этими двумя точками вообразить треугольник, у тебя будет 2 стороны и дальше ты тупо находишь гипотенузу по писелям и просто двигаешь мышь по гипотенузе и тебе не прийдеться делать никаких конвертирований
@-_404-_error6
@-_404-_error6 11 місяців тому
Можно ещё попробовать сделать так: Ты двигаешь курсор, а оружие само должно стрелять. Мне кажется это будет намного лучше. Думаю вы меня поняли
@menun1337
@menun1337 11 місяців тому
Я конечно не гений и не программист, но я считаю если так возможно сделать то можно еще его и оптимизировать(повысить фпсиков немного)
@rightbox
@rightbox 11 місяців тому
Хауди, с такими идеями можно и абсолютный ИИ сделать. Будешь его на Пентагон кидать и пиццу заказывать
@begginer_dev8038
@begginer_dev8038 11 місяців тому
если заменить текстуру моделя персонажа в кс го на один цвет то можно сделать ИИ лучшее?
@kotoslav
@kotoslav 11 місяців тому
Ну собственно для получения угла, нужно понять что изображение на мониторе на деле проекция на каком то расстоянии от камеры с шириной 1920px и высотой 1080px. Зная fov и размеры экрана мы можем посчитать условное расстояние xh = (HRes/2)/tg(fov/2), и так же посчитать для вертикали.потом при помощи этой величины и пикселей от центра экрана можно посчитать уже угол искомый.
@HowdyhoNet
@HowdyhoNet 11 місяців тому
При условии, что HRes = 1920, а fov у нас 106.26. Получается xh = 960/tan(53.13) = 720. При этом tan(53.13) выдает 1.33332... Что даёт нам это значение?
@kotoslav
@kotoslav 11 місяців тому
@@HowdyhoNet допустим цель находится на x пикселей правее прицела тогда угол по горизонтали будет atan(x/720), потом то же самое по вертикали.
@p1xelr
@p1xelr 11 місяців тому
15:33 лично тренировался на этой карте, рекорд был около 110000
@kage8533
@kage8533 11 місяців тому
Ваша идея найти угол поворота при процентным соотношении по идеии должна сработать 100%й точностью. Но хз почему там промохи , возможно из за система обноружении ИИ. А насчет прицель, думою с начала нужно узнать насколько прицель приближает цель , и потом настолько раз менше указать угол поворота на ИИ И ещё ,если я правильно понял указанное там градусы до края экрана , значить при направлении курсора под углом процентные соотношение 53.13° не дасть нужного резултата . Если спросите советь, думою не обязательно втыкать туда 3D пронстранство , нужно указать резулаты мышки от точки А до точки Б, в 2Д (Если че сори за некомпитентность , я воошще не программисть😅)
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Причина в координатных сетках, они разные. Проценты сработают, если бы они были одинаковые. А тут из Декартовых скорее всего идет перевод в сферические.
@kage8533
@kage8533 11 місяців тому
@@HowdyhoNet А почему они разные , разве кординаты не взято относительно экрана?
@kage8533
@kage8533 11 місяців тому
@@HowdyhoNet Я тут чутка подумал и понял процентные соотношение не дасть точных резултатов из за точки фокуса , и понял только центр имеет 90° для наблюдателя , и чем дальше центра цель находится чем больше у нас промохи были , что бы это исправить нужно найти сначала растояние от центр экрана до фокуса с помощи формула tg(a)= a-растояние от центра до краи/b-растояние от центра до фокуса) получется b = tg(53.13)/a и тот допустим цель находится в этой лини tg(a)= a/(tg(53.13)/a)=a/tg(53.13) так у нас будет точный угол поворота я думаю
@technic_and_programming
@technic_and_programming 11 місяців тому
Спасибо большое за видео! Ты лучший!
@OttoSphalta
@OttoSphalta 11 місяців тому
LoL Ещё в начале года сделал себе автокликер для танков, топ тема Принцип тот же - поиск групп пикселей определённого цвета, но прицел перемещаю всё-таки я, а то совсем скучно будет) Хотел бы увидеть больше видео про open cv на твоем канале. Когда работал с компютерным зрением с помощью вебки, то заметил, что программа не видит предмет, когда камера меняет баланс белого. Кто-то сталкивался с такой проблемой, и если да, то как программно это нивелировать?
@ATtiny13a-PU
@ATtiny13a-PU 11 місяців тому
3:04 ну так посмотри на максимальное значение. Самые популярные, это 100 180 и 360, есть ещё float 1.
@loguser7795
@loguser7795 11 місяців тому
Спасибо за интересности:3
@silence1598
@silence1598 11 місяців тому
Хауди, кажись ты зря мучался с углами тд. Можно просто вести прицел в сторону мишени пока он не достигнет её. И тогда это просто можно считать уже как 2д сетку.
@HowdyhoNet
@HowdyhoNet 11 місяців тому
Я знаю про этот метод, но все равно хотелось углами ) Телепорт чтоб был.
@user-qb8qg9yy9s
@user-qb8qg9yy9s 11 місяців тому
Стоило бы попробовать запустить игру в мизерном разрешении на мониторе 144Гц+
@user-zc7sw3ue9c
@user-zc7sw3ue9c 11 місяців тому
Хауди как поживает нейронка для кс? Удачи в начинаниях и продолжения Самый приятное объяснение в прогормировнии
@HowdyhoNet
@HowdyhoNet 11 місяців тому
В целом хорошо, работаю над ней )
@rayklynn6576
@rayklynn6576 10 місяців тому
Многие кибер котлеты набирают по 150000 очков на этой карте, поэтому не все места - боты. Видео очень занятное.
@bosik1.466
@bosik1.466 11 місяців тому
Спасибо за видео очень ждал вышло очень интересно
@Ser531gd
@Ser531gd 11 місяців тому
Хорошее видео. Жду следующий ролик про нейросеть в ксго.)
@user-xo2yn4cg5s
@user-xo2yn4cg5s 11 місяців тому
Привет Хоуди. Я сейчас тружусь над проектом дронов с ИИ на борту, который бы мог во первых снимать видео и после само обучатся для полного беспилотного пилотирования. То есть На борту стоит ИИ с натренированной сеткой, а обучение происходит на риге с карт RX3070. И после обновляется через консоль обратно в дрон. Задач очень много, от распознавания деревьев, рощ, лесопосадок, одиночных кустарников и деревьев, ориентироваться в пространстве. Сохранять маршрут и распознавать где летал и как возвращаться. Также понимать что в зависимости от высоты, карта также меняется (так как те объекты что становятся за пределами карты или камер мы чисто физически не видим). Я думаю ты уже понял то за тематика.
@user-iq8cp6pw4r
@user-iq8cp6pw4r 11 місяців тому
Приветствую! Рой дронов на самообучающейся нейронной сетке, вот круто, наверное!
@user-xo2yn4cg5s
@user-xo2yn4cg5s 11 місяців тому
@@user-iq8cp6pw4r Естественно это очень крутая штука, и тут уже не игры на компьютере.
@Miron163rus
@Miron163rus 11 місяців тому
Вопрос! а к вам можно ли обратится для создания похожего бота, но в другой игре??? естественно с оплатой)))
@Relzyy15
@Relzyy15 11 місяців тому
ждем 4 часть бота ксго)
@user-wi1sb1zg1q
@user-wi1sb1zg1q 11 місяців тому
Блин, было бы круто сделать то же самое, но с игрой Osu!
@RomanI92
@RomanI92 11 місяців тому
Выглядит круто! Как насчёт ассистента для American truck simulator, удержание в полосе торможение перед встречным автомобилем?)
@electrocitysafe6102
@electrocitysafe6102 11 місяців тому
Топ благодаря тебе я учу языки программирования
@dustaway1899
@dustaway1899 11 місяців тому
100к очков в гридшоте, любой ниочень сильный игрок набивает ))) мем просто
@GrAlUnrealEngine
@GrAlUnrealEngine 11 місяців тому
Я всю жизнь думал что это бирюзовый цвет, а не синий. Ты у меня вылечил дальтонизм ))
@olegkosarev4310
@olegkosarev4310 11 місяців тому
5:51 если 3.8px это около 2 то мне жаль 1) 0.1mm (мм) = 0.3779575176px Далее 2) Линейный размер изображения будет зависеть от выводящего устройства, точнее, от его разрешения. Скажем, одну и ту же картинку можно распечатать на 300 DPI, а можно на 600 DPI. При прочих равных условиях во втором случае картинка буде вдвое меньше. Теперь минимум теории. Уже встретившееся DPI = dots per inch, точек на дюйм. 1" (дюйм) = 25,4 мм. Собственно, все. Попробуем прикинуть. Пусть имеем 17"-монитор с видимой областью 15,5". Это диагональ. Учитывая, что ширина и высота монитора относятся как 4:3, применим теорему дедушки Пифагора. (3x)^2 + (4x)^2 = (15,5")^2, 25x^2 = 240,25 кв. дюймов, x = 3,1 " и стороны равны 12,4" и 9,3". В режиме 1024х768 получим разрешение примерно в 83 DPI. Если возьмем картинку 300x200 пикселей и отобразим ее без масштабирования, размер картинки на экране будет (300/83)" х (200/83)", или 3,6" х 2,4", или 9,1 см x 6,1 см.
@smorodin_ki
@smorodin_ki 11 місяців тому
Ну тут грех на пол пути останавливаться, давай Топ1!
@neonalavastr1260
@neonalavastr1260 11 місяців тому
А что бы разрабы не запалили в игрушке. Ставишь напротив монитора камеру и подключаешь её к второму компу с аим-ботом и делаешь usb имитатор мыши для основного пк. И ты самый быстрый и меткий ТОП игрок !!!
Я ДОБАВИЛ ОРУЖИЕ В ГУГЛ ДИНОЗАВРИКА :3
12:42
Хауди Хо™ - Просто о мире IT!
Переглядів 469 тис.
Я сделал бота для Terraria! | Python бот для игры
13:21
Хауди Хо™ - Просто о мире IT!
Переглядів 319 тис.
Шукаю наречену загиблого сина | Я не забуду
44:53
Телеканал ДІМ
Переглядів 400 тис.
Егорик ищет Саню Монтажника вслепую!
29:11
ДИНО 3D - Что с ним стало?
6:44
Хауди Хо™ - Просто о мире IT!
Переглядів 92 тис.
Я сделал ИИ для Counter Strike: Global Offensive :D | Часть 2
15:03
Хауди Хо™ - Просто о мире IT!
Переглядів 514 тис.
Я сделал Geometry Dash, но в 3D!!! :3
10:55
Хауди Хо™ - Просто о мире IT!
Переглядів 1 млн
Я сделал ИИ для Counter Strike: Global Offensive :D | Часть 1
12:24
Хауди Хо™ - Просто о мире IT!
Переглядів 247 тис.
Нейросеть учится ходить
16:51
KrashheR
Переглядів 555 тис.
😱 Как стать ПРОГРАММИСТОМ С НУЛЯ? | Всё что тебе нужно знать!
17:01
Хауди Хо™ - Просто о мире IT!
Переглядів 110 тис.
Я сделал ИИ для Fall Guys :3
9:00
Хауди Хо™ - Просто о мире IT!
Переглядів 126 тис.
Фонарь - навигатор
0:45
Бигам - Инструменты и техника
Переглядів 92 тис.
5 crazy new AWS services just launched
3:38
Fireship
Переглядів 385 тис.
Самые опасные гаджеты
0:45
veloloh
Переглядів 1,9 млн