Так что на всякий случай, вы еще не поняли, но машинное обучение — это новое модное слово, которое трудно игнорировать. Вы, должно быть, уже слышали о том, что он используется в обучении автономных или беспилотных автомобилей. Это наиболее известная реализация этой технологии, когда специально модифицированные автомобили (оснащенные различными датчиками, камерами и радиолокационными технологиями) обучаются или самостоятельно учатся вождению на дороге.

Существуют и другие реализации машинного обучения, такие как обработка естественного языка (например, используемые виртуальными помощниками, такими как Siri, Alexa и т. д.), классификации изображений (например, используемые в поисковой системе Google), медицинской промышленности (например, для выявления определенных заболеваний). .

По сути, машинное обучение — это технология, позволяющая сделать вычислительные устройства достаточно интеллектуальными, чтобы выполнять определенные задачи наравне или более эффективно, чем люди. Этого можно добиться разными методами. Я думаю, что машинное обучение приобрело большую известность, когда различные реализации нейронных сетей (CNN, RNN) стали достаточно осуществимыми, чтобы их можно было использовать для обучения, т. е. из-за огромного скачка вычислительной мощности CPU/GPU и простоты реализации NN с помощью различных языков программирования, особенно Python. & Рубин.

Ну хватит этих теоретических рассуждений. Как и многие другие, меня также заинтриговали реализации машинного обучения на основе нейронных сетей, и я хотел узнать о них больше. Итак, я делюсь одним из своих недавних забавных проектов, которые я сделал, чтобы лучше понять его. Я реализовал — Распознавание жестов рук с помощью Computer Vision и Convolution Neural Network.

Для этого я использовал следующее:

- Реализация Python

- OpenCV 2 для компьютерного зрения

- API нейронной сети Keras

- Бэкэнд-библиотека Theano.

В этой реализации я обучил модель распознавать 4 жеста:

  • Ok
  • Мир
  • Ударить кулаком
  • Останавливаться

И, как вы заметите, он способен распознавать жесты Peace & Punch с максимальной точностью. При этом знак «Стоп» со средней вероятностью, а знак «ОК» с наихудшей точностью. Этому может быть несколько причин:

  • Окружающий свет может повлиять на выходной сигнал камеры.
  • Меньшее количество образцов изображений. Я использовал 200 изображений на жест. Таким образом, 200 x 4 = 800 изображений.
  • Меньшая продолжительность обучения. Я тренировался около 11–12 эпох (это термин нейронной сети для передачи обучающего набора‹изображений› через сеть)

Я не хочу делать этот блог длинным и скучным. Поэтому я думаю написать еще один с глубоким погружением в мою реализацию. Надеюсь, вам это понравится!