Что нового

Введение в машинное зрение или работа с нейросетями для самых маленьких

Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Есть. Dataset generator и datasetmanager. Но в данный момент они в стадии переработки. не помню работают ли.
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
datasetmanager пустой файл, а Dataset generator такого нет.
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Текущая ветка разработки: https://github.com/Belfi/AutoitNNBuilder/tree/Perfomance_Graph


Добавлено:
Сообщение автоматически объединено:

Но вроде бы эти 2 подпроекта в последнем коммите уже утратили свою функциональность, можно попробовать поискать по прошлым коммитам, в какой-то момент они точно были работоспособны. Скоро постараюсь найти время добить вернуть им работоспособность в новом виде.
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
В ветку Perfomance_Graph (непомню почему она называется именно так) добавлена альфа версия утилиты DatasetGenerator, для создания датасетов на основе изображения с экрана. Захватывает изображение, присваивает id и набор пикселей через запятую. В результате имеем MNIST like датасет. Но я еще не пробовал учить нейросеть на датасетах созданных этой утилитой, но должно работать. Поидее будет еще утилита DatasetManager которая будет перемешивать датасет и разбивать его на учебный и тестовый и как-нибудь его поверхностно проверять на ошибки типа пустых или неполных строк.
Point чтобы указать область экрана, поля x, y, w, h чтобы подрехтовать область. Start - чтобы произвести единичный захват. Autosave result - чтобы в момент захвата результат был сохранен в картинку и датасет. Auto update img - запускает цикличный захват области.
 

rakar

Новичок
Сообщения
5
Репутация
1
Тема действительно интересная, но хотелось бы не в виде отчета о проделанной работе, а на реальном примере.
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Дак оно в виде исходников для обучения. Любой желающий берет и в бой. Готовый пример не дается чтобы школокодеры не поубивали игры типа eve online.
Подразумевается что любой желающий если ему нужно - будет разбираться, а разобравшись он обретет определенный багаж интеллекта, который удержит его от необдуманных действий. Там комментов в несколько раз больше чем кода.
 

rakar

Новичок
Сообщения
5
Репутация
1
Меня не интересуют готовые решения, мне важно понять как прийти к этому решению, сам подход.

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

dist.png


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

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
- как обработать графическую информацию перед скармливанием ее нейронной сети.
- нужно ли разбивать сроку по отдельным числам, как это лучше сделать, что делать с буквами.
- нужно ли производить предварительное преобразование графической информации в монохром или черно-белое.
- расчет перцептрона, как понять сколько нужно слоев и их размерность, нужны ли сверточные слои или проще без них.
- как составить массив для обучения нейронной сети.
С помощью библиотеки GDIPlus
Разбивать нужно, бить можно исходя из начала цифры на изображении и по её ширине
Преобразование в монохром производит нужно, т.к. если изображение будет цветным - нейросеть будет пытаться вникать в ненужные детали. Делать это можно в момент захвата изображения
Опытным путём. Для распознавания цифр примера из этого топика будет достаточно
Самое простое - готовые монохромного изображения чисел как в примере MNIST. Можно и сами изображения, но тогда в любом случае придётся прежде чем скармливать их нейросети, сперва превратить их в вектора.
 

filautdinov

Знающий
Сообщения
96
Репутация
9
Дак оно в виде исходников для обучения. Любой желающий берет и в бой. Готовый пример не дается чтобы школокодеры не поубивали игры типа eve online.
Подразумевается что любой желающий если ему нужно - будет разбираться, а разобравшись он обретет определенный багаж интеллекта, который удержит его от необдуманных действий. Там комментов в несколько раз больше чем кода.
Даже если и будет пример и школьники что то свояют на текущий момент почти все популярные игры блочат аутоит скрипты, а то и банят за их использование плюс блок прог.эмуляции. В половине игр нет смысла даже пробывать ибо основная сложность обход защиты игры) А не то что бы что то своять.
 

ZaRaki

Знающий
Сообщения
48
Репутация
19
Даже если и будет пример и школьники что то свояют на текущий момент почти все популярные игры блочат аутоит скрипты, а то и банят за их использование плюс блок прог.эмуляции. В половине игр нет смысла даже пробывать ибо основная сложность обход защиты игры) А не то что бы что то своять.
Сложность обхода защиты игры?
Это не сложность ))
Это технически не возможно.
Послать команду в приложение вручную (физическое нажатие на кнопку), генерирует действие на аппаратном уровне, а все прочие кликеры и эмуляции и autoit в том числе это WinAPI команды, а не аппаратные.
Некоторые платят за так называемые "приватные ддлки", которые монтируют в итоге искуственное новое виртуальное устройство на компутер, которое умеет принимать WinAPI команды, и отправляет в приложение уже как команда от устройства.
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Это технически не возможно
Никогда не говори никогда, как говорится. Помню, некоторое время назад, многие античиты можно было просто взять и выгрузить из памяти игры (dll выгружались просто влёт). Сейчас я не в теме, поэтому не могу точно сказать какие есть методы обходы, но они точно есть (помимо эмуляции hardware на уровне драйверов)
 

filautdinov

Знающий
Сообщения
96
Репутация
9
Сложность обхода защиты игры?
Это технически не возможно.
Возможно и делается, тот же eac в ксго подгрузил длл-ку методом mmap античит не палит, методов много, но античиты обновляются. Сложность в том и есть что какакие то обходятся легко а какие то нет. А кликать можно да на аппаратном даже без ардуин и эмуляторов на атмегах, через тот же ps/2 порт, хотя наверно ниукого их уже не осталось.
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
Итак, после долго игнорирования данной темы, за ненадобностью и сложностью реализации (в контексте EVE online), заново возник интерес, но касаемо именно нейросетей с обучением, методом подкрепления. К примеру для реализации Алгоритмов в логических играх (три на три). На просторах интернета, есть примеры алгоритмов с подкреплением на Python, достаточно простые, но в данном случае они не подходят.
В общем, возник вопрос, есть поле для игры 8 х 8.
1) НС на входе будет иметь 65 нейронов (64 - описывают состояние поле, и 1 - на который подается сигнал о поощрении?) (как этот сигнал то учитывать? при перерасчете подавать его в функцию Функция активации Сигмоида?
2) На выходе нейронов должно быть 4 ? (две координаты )
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
это задача классификации. Тоесть машина получив на вход набор исходных данных, должна классифицировать его как конкретный ход A>B
количество всевозможных ходов из точки А в точку Б ограничено каким-то числом, поэтому набор этих ходов можно описать какими то айдишниками от 1 до N.
А далее в соответствии с имеющимся датасетом где есть набор исходной ситуации и ход в виде 2х координат, переработать координаты присвоив им соответствующий айдишник
А уже дальше - натравливать на них нейронную сеть.
Тоесть при любом раскладе все действия начинаются с поиска датасета с какими-нибудь успешными ходами за последние сколько-то лет.
 

mr.Gbabak

Осваивающий
Сообщения
257
Репутация
23
при любом раскладе все действия начинаются с поиска датасета с какими-нибудь успешными ходами за последние сколько-то лет.
Нууу, это уже совершенно скучной темой становится... Походу буду и дальше алгоритмы и писать.
 
Верх