Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimflix-hackathons/terrawing
👁 Распознавание препятствий на пути движения БПЛА и их классификация. АПК
https://github.com/dimflix-hackathons/terrawing
ai hackaton python
Last synced: 2 months ago
JSON representation
👁 Распознавание препятствий на пути движения БПЛА и их классификация. АПК
- Host: GitHub
- URL: https://github.com/dimflix-hackathons/terrawing
- Owner: DIMFLIX-Hackathons
- License: other
- Archived: true
- Created: 2024-04-13T11:21:02.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-04-23T14:06:39.000Z (10 months ago)
- Last Synced: 2024-12-07T11:10:59.917Z (2 months ago)
- Topics: ai, hackaton, python
- Language: Jupyter Notebook
- Homepage:
- Size: 55.3 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# TerraWing - БПЛА в АПК
TerraWing - сервис для распознавания препятствий на пути движения БПЛА и их классификации. Наше решение предназначено для использования в агропромышленном комплексе.
## Уникальность
- Быстродействие работы системы
- Проект доведен до стадии MVP
- Использование
## Перспективы развития
- [ ] Специализированный датасет
- [ ] Плагины ИИ встраиваемые на сервере для возможности работы с разными задачами
- [ ] Автоматическое составление карты рабочей местности для дрона
- [ ] Совместная работа нескольких БПЛА
- [ ] Интеграция с погодными сервисами.
# Начало работы
### Установим pyenv для удобного управления версиями python
- Windows Chocolatey: `choco install pyenv-win`
- Linux/macOS: `curl https://pyenv.run | bash`
Просмотр доступных версий python в pyenv: `pyenv install --list`
Устанавливаем python не ниже версии 3.11: `pyenv install 3.11.8`
### Устанавливаем пакетный менеджер poetry
- Windows Powershell: `(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -`
- Linux/macOS: `curl -sSL https://install.python-poetry.org | python3 -`
### Виртуальное окружение
Если Вы используете `pyenv` выполните следующие команды:
- `poetry config virtualenvs.prefer-active-python true`
- `pyenv local <номер версии python, в нашем случае 3.11.8>`
Подготовка виртуального окружения для poetry: `poetry use env <номер версии python, в нашем случае 3.11.8>`
Входим в виртуальное окружение `poetry shell`
Установка зависимостей: `poetry install`
Копируем шаблон файла настроек:
- Windows: `copy .env.dist .env`
- Linux/macOS: `cp .env.dist .env`
Редактируем в .env наши настройки...
### Запуск сервера
Выполняем команду `python app.py`
# Dev
## Помощь в разработке
- Линтер `ruff`
Для запуска использовать следующую команду `poetry run ruff check src`
- Форматирование кода `black`
Для запуска используем следующую команду: `poetry run black src`
## Тесты сервера
В папке `tests` вы можете найти файл `test_video_stream.py`
Этот файл дает нам возможность эмитировать дрон, посылая в качестве видеопотока на сервер либо любой файл с видео, либо транслировать свою веб-камеру.Для запуска клиента с трансляцией заранее заготовленного видео используйте эту команду:
`python test_video_stream.py --video_source <путь>`> [!NOTE]
> Если вы хотите транслировать веб-камеру, то просто удалите аргумент **`video_source`**## Обучение модели
Ссылка на датасет: https://www.kaggle.com/datasets/dimflix/obstacles-in-flight-for-drones \
По пути `src/neural_network` вы можете найти файл `TrainNeuralNetwork.ipynb`. Как-раз таки он служит для обучения нейронки.> [!NOTE]
> Датасет должен находиться в папке **`src/data/DATASET`**> [!WARNING]
> Если вы используете Pycharm и индексацию файлов, советуем вам добавить папку с датасетом в исключение (excluded). Это можно сделать нажатием правой кнопки мыши по папке, после чего выбрав пункт `Mark Directory as`. Там вам нужно выбрать `excluded`.# Лицензия
Полный текст лицензии доступен здесь: [Юридический кодекс CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/legalcode).
## Вы можете свободно использовать:
- Делиться — копировать и распространять материал на любом носителе или в любом формате
- Адаптировать — переделывать, преобразовывать и дополнять материал Лицензиар не может лишить вас этих прав, пока вы соблюдаете условия лицензии.
## На следующих условиях:
- Указание авторства — Вы должны предоставить соответствующую информацию, ссылку на лицензию и указать, были ли внесены изменения. Вы можете делать это любым разумным способом, но не таким, который предполагает, что лицензиар одобряет вас или ваше использование.
- Некоммерческий — Вы не имеете права использовать материалы в коммерческих целях.
- Никаких дополнительных ограничений — Вы не имеете права применять юридические условия или технологические меры, которые юридически ограничивают действия других лиц, разрешенные лицензией.Это всего лишь краткая выдержка из основных положений лицензии. Пожалуйста, ознакомьтесь с полным юридическим текстом лицензии для полного понимания ее условий.