Code Monkey home page Code Monkey logo

hack_photo_trap's Introduction

Окружной хакатон СКФО Грозный (Кейс: Формирование регистраций животных) - 05.07.2024 - 07.07.2024

Описание решения

Команда 220volt представляет программный модуль автоматизированного мониторинга объектов животного мира по изображениям с фотоловушек с использованием искусственного интеллекта.

Решение позволяет:

  • детектировать животных на фотографиях, производить подсчёт их количества, а также классифицировать их
  • определять продолжительность нахождения животных при множественной регистрации для определённой локации
  • выводить полученные данные в пользовательский интерфейс для контроля, а также формировать таблицу в файл отчёта

Программный модуль представляет собой полезный инструмент интеллектуального наблюдения и контроля, позволяющий экономить время научных сотрудников и специалистов на классификацию и оценку времени пребывания животных на охраняемых территориях. Технические особенности: Java, FlatLAF, Py4J, Python, Yolo v8, PyTorch, OpenCV.

Установка

Установка Java

  1. Скачайте Java 8 с официального сайта.
  2. Следуйте инструкциям по установке на вашем устройстве.

Установка Python

  1. Скачайте Python 11 с официального сайта.
  2. Следуйте инструкциям по установке на вашем устройстве.
  3. Убедитесь, что Python добавлен в переменные окружения PATH.

Установка проекта без интернета

  1. Скачайте проект с GitHub на устройство с доступом к интернету.

  2. Убедитесь, что все зависимости для проекта загружены. Для этого выполните следующие команды на устройстве с доступом к интернету:

    pip download -r requirements.txt -d /path/to/save/packages
  3. Перенесите проект и загруженные пакеты на целевое устройство.

  4. На целевом устройстве выполните команду для установки зависимостей:

    pip install --no-index --find-links=/path/to/save/packages -r requirements.txt

Запуск проекта

  1. Клонируйте проект с GitHub:

    git clone https://github.com/Zuzokin/Hack_photo_trap
  2. Исполните скрипт createvenv.bat для установки всех зависимостей:

    createvenv.bat

    Или в папке с baseline введите следующие команды

    python3 -m venv venv
    venv/bin/activate
    python3 -m pip install --upgrade pip
    pip install -r requirements.txt
  3. Откройте файл Animals.jar.

Получение csv файла с регистрациями

  1. Выберите необходимую директорию в поле выбора папки с датасетом.

  2. Выберите папку с проектом на Python, содержащую нейросетевую модель.

  3. Выберите на панели управления путь, в который будет сохранен отчет с регистрациями в формате CSV.

  4. Нажмите кнопку "Запустить" и дождитесь завершения обработки датасета. По указанному ранее пути найдите сгенерированный CSV файл.

Работа с отчетом

  • Все регистрации, включая имена файлов, из которых они были построены, можно найти в таблице.
  • Для удобного поиска по таблице можно воспользоваться поиском по ключевым словам на панели управления.
  • Введите, например, интересующий класс животного. В таблице все соответствующие результаты будут подсвечены зеленым цветом.
  • Для снятия выделения используйте кнопку "Отменить".

Прозрачность решения

  • В качестве модели нейронной сети использовался baseline с детектором YOLOv8 размера nano и классификатором efficientnet_b0. При анализе изображения применяются этапы адаптивной локальной предобработки, такие как LACC (Locally Adaptive Color Correction) и LACE (Locally Adaptive Contrast Enhancement). Код предобработки представлен в файлах LACC.py и LACE.py.
  • Код формирования csv таблицы представлен в файле Frame.java в функции processCSV
  • Для предотвращения учета ложных распознаваний при регистрации используются данные с предыдущих фотографий, где учитывается время и уверенность распознаного класса.

Демонстрация работы решения

Ознакомиться с подробным роликом тестирования демонстрационного приложения можно по ссылке

(Вернуться наверх)

hack_photo_trap's People

Contributors

zuzokin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.