{"id":22538258,"url":"https://github.com/dimflix-hackathons/terrawing","last_synced_at":"2025-04-07T12:46:18.527Z","repository":{"id":233117884,"uuid":"786081810","full_name":"DIMFLIX-Hackathons/TerraWing","owner":"DIMFLIX-Hackathons","description":"👁 Распознавание препятствий на пути движения БПЛА и их классификация. АПК","archived":false,"fork":false,"pushed_at":"2025-01-25T17:59:20.000Z","size":60909,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T09:35:57.792Z","etag":null,"topics":["ai","hackaton","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DIMFLIX-Hackathons.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-13T11:21:02.000Z","updated_at":"2025-01-25T17:59:23.000Z","dependencies_parsed_at":"2024-04-15T23:30:47.881Z","dependency_job_id":"b5643030-6ce3-46f4-8ec1-07d0b3a5b5f3","html_url":"https://github.com/DIMFLIX-Hackathons/TerraWing","commit_stats":null,"previous_names":["dimflix-official/terrawing","dimflix-hackathons/terrawing"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX-Hackathons%2FTerraWing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX-Hackathons%2FTerraWing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX-Hackathons%2FTerraWing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DIMFLIX-Hackathons%2FTerraWing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DIMFLIX-Hackathons","download_url":"https://codeload.github.com/DIMFLIX-Hackathons/TerraWing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247656040,"owners_count":20974286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","hackaton","python"],"created_at":"2024-12-07T11:11:01.025Z","updated_at":"2025-04-07T12:46:18.520Z","avatar_url":"https://github.com/DIMFLIX-Hackathons.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" alt=\"\"/\u003e\n\n\n# TerraWing - БПЛА в АПК  \nTerraWing - сервис для распознавания препятствий на пути движения БПЛА и их классификации. Наше решение предназначено для использования в агропромышленном комплексе.  \n\n## Уникальность\n- Быстродействие работы системы\n- Проект доведен до стадии MVP\n- Использование \n\n## Перспективы развития\n- [ ] Специализированный датасет\n- [ ] Плагины ИИ встраиваемые на сервере для возможности работы с разными задачами\n- [ ] Автоматическое составление карты рабочей местности для дрона\n- [ ] Совместная работа нескольких БПЛА\n- [ ] Интеграция с погодными сервисами.\n\n# Начало работы  \n### Установим pyenv для удобного управления версиями python  \n- Windows Chocolatey: `choco install pyenv-win`  \n- Linux/macOS: `curl https://pyenv.run | bash`  \n  \nПросмотр доступных версий python в pyenv: `pyenv install --list`\nУстанавливаем python не ниже версии 3.11: `pyenv install 3.11.8`  \n  \n### Устанавливаем пакетный менеджер poetry  \n- Windows Powershell: `(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -`  \n- Linux/macOS: `curl -sSL https://install.python-poetry.org | python3 -`  \n  \n### Виртуальное окружение  \nЕсли Вы используете `pyenv` выполните следующие команды:  \n- `poetry config virtualenvs.prefer-active-python true`  \n- `pyenv local \u003cномер версии python, в нашем случае 3.11.8\u003e`  \n  \nПодготовка виртуального окружения для poetry: `poetry use env \u003cномер версии python, в нашем случае 3.11.8\u003e`  \nВходим в виртуальное окружение `poetry shell`  \nУстановка зависимостей: `poetry install`\n  \nКопируем шаблон файла настроек:  \n- Windows: `copy .env.dist .env`  \n- Linux/macOS: `cp .env.dist .env`  \n  \nРедактируем в .env наши настройки...  \n  \n### Запуск сервера  \nВыполняем команду `python app.py`  \n  \n# Dev  \n## Помощь в разработке  \n- Линтер `ruff`   \n  Для запуска использовать следующую команду `poetry run ruff check src`  \n- Форматирование кода `black`   \n  Для запуска используем следующую команду: `poetry run black src`  \n  \n## Тесты сервера  \nВ папке `tests` вы можете найти файл `test_video_stream.py` \nЭтот файл дает нам возможность эмитировать дрон, посылая в качестве видеопотока на сервер либо любой файл с видео, либо транслировать свою веб-камеру. \n\nДля запуска клиента с трансляцией заранее заготовленного видео используйте эту команду:\n`python test_video_stream.py \u003cdrone_id\u003e \u003cdrone_secret\u003e --video_source \u003cпуть\u003e`\n\n\u003e [!NOTE] \n\u003e Если вы хотите транслировать веб-камеру, то просто удалите аргумент **`video_source`**\n\n## Обучение модели\nСсылка на датасет: https://www.kaggle.com/datasets/dimflix/obstacles-in-flight-for-drones \\\nПо пути `src/neural_network` вы можете найти файл `TrainNeuralNetwork.ipynb`. Как-раз таки он служит для обучения нейронки. \n\n\u003e [!NOTE] \n\u003e Датасет должен находиться в папке **`src/data/DATASET`**\n\n\u003e [!WARNING]\n\u003e Если вы используете Pycharm и индексацию файлов, советуем вам добавить папку с датасетом в исключение (excluded). Это можно сделать нажатием правой кнопки мыши по папке, после чего выбрав пункт `Mark Directory as`. Там вам нужно выбрать `excluded`.\n\n# Лицензия\nПолный текст лицензии доступен здесь: [Юридический кодекс CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/legalcode).\n## Вы можете свободно использовать:\n- Делиться — копировать и распространять материал на любом носителе или в любом формате\n- Адаптировать — переделывать, преобразовывать и дополнять материал Лицензиар не может лишить вас этих прав, пока вы соблюдаете условия лицензии.\n## На следующих условиях:\n- Указание авторства — Вы должны предоставить соответствующую информацию, ссылку на лицензию и указать, были ли внесены изменения. Вы можете делать это любым разумным способом, но не таким, который предполагает, что лицензиар одобряет вас или ваше использование.\n- Некоммерческий — Вы не имеете права использовать материалы в коммерческих целях.\n- Никаких дополнительных ограничений — Вы не имеете права применять юридические условия или технологические меры, которые юридически ограничивают действия других лиц, разрешенные лицензией.\n\nЭто всего лишь краткая выдержка из основных положений лицензии. Пожалуйста, ознакомьтесь с полным юридическим текстом лицензии для полного понимания ее условий.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimflix-hackathons%2Fterrawing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimflix-hackathons%2Fterrawing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimflix-hackathons%2Fterrawing/lists"}