Введение

Обнаружение падения является серьезной проблемой в здравоохранении. Пожилые люди часто падают, и им следует оказать немедленную помощь, так как травмы могут быть серьезными, вплоть до летального исхода. В этом проекте мы будем использовать архитектуру сверточной нейронной сети, чтобы определить, упал ли человек на данном изображении. Для этого мы используем публичный набор данных, содержащий видео падающих людей. Каждый кадр был представлен как картинка, и мы используем 2 видео, что в сумме составляет 240 изображений. Изображения можно размечать вручную, начиная с кадра, с которого начинается падение.

Предварительная обработка

  • Импорт необходимых библиотек
  • Извлечение файлов из zip
  • Чтение этикеток поездов

Вывод:

  • Чтение тестовых этикеток

Вывод:

  • Теперь будем читать образы train и test из созданной папки, читать их библиотекой cv2. Затем мы добавим текущее изображение поезда и тестовых изображений в списки train_images и test_images и получим доступ к соответствующим меткам, используя имена изображений, и добавим их в списки train_labels и test_labels соответственно.

Вывод:

  • У нас есть 240 RGB-изображений размером (96x96), давайте визуализируем некоторые изображения, представляющие упавшего и не упавшего человека.

Вывод:

Разделение данных поезда на наборы поезда и проверки

Создание нашей архитектуры CNN и подгонка под данные о поездах

  • Импорт необходимых функций из библиотеки Tensorflow
  • Создание пользовательской функции для операции свертки, которая поможет избежать ненужного повторения
  • Для нашей архитектуры CNN мы строим 6 блоков, которые содержат слой свертки, активацию ReLU, за которой следует слой максимального объединения, затем сглаживаем наш результат, добавляем один плотный слой и используем сигмовидную функцию для окончательного результата.

Вывод:

  • Визуализация нашей архитектуры CNN

https://gist.github.com/KananMahammadli/3731236f6a8a1899b791660d90f81eed

Вывод:

  • Для обучения нашей модели мы используем оптимизатор Адама со скоростью обучения = 0,0001 и бинарной кроссэнтропией в качестве функции потерь. Давайте визуализируем графики точности и потерь после запуска нашей модели в течение 5 эпох и сохраним нашу модель.

Вывод:

Тестируем нашу модель

  • Теперь пришло время протестировать нашу модель на новых изображениях. Для этого мы используем 12 изображений.

Прогнозирование на тестовых изображениях и проверка результатов визуально.

Вывод:

Вывод

В заключение мы построили и обучили модель глубокого обучения на общедоступном наборе данных и достигли разумной точности в нашей производительности.

Ссылка на проект:



Моя учетная запись LinkedIn:

https://www.linkedin.com/in/kananmahammadli/