Skip to content

itbert/Sys4Micromachining

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Интеллектуальная система позиционирования заготовок

Проект хакатона Nuclear IT Hack (school) — кейс: "ИИ для лазерной обработки"


🚀 Описание проекта

Система компьютерного зрения для высокоточного позиционирования прямоугольных заготовок в задачах лазерной маркировки и микрообработки. На вход подаётся изображение с камеры, установленной под углом к рабочему полю. На выходе — координаты центра заготовки, угол её поворота и сегментация ключевых элементов.

🧩 Задачи, решаемые системой:

  • Определение маски:

    • рабочей платформы
    • объекта (заготовки)
    • верхней грани объекта
  • Вычисление координат центра заготовки (X, Y в мм)

  • Оценка угла поворота объекта (θ в градусах)

Система полностью автоматизирована: пользователь загружает изображение — получает результат в формате .txt.


📥 Входные данные

  • 📷 Чёрно-белое изображение заготовки
  • 🔄 Возможны различные размеры и углы поворота
  • 📐 Снято с наклонной камеры, реальные условия производства

📤 Выходные данные

  • ✅ Маска (платформа, объект, верхняя грань)
  • 📍 Координаты центра: X, Y (мм)
  • 🔁 Угол поворота: θ (градусы)

⚡ Быстрый старт

1. 📦 Клонируйте репозиторий

git clone https://github.com/itbert/Sys4Micromachining.git
cd Sys4Micromachining

2. 🛠 Установите зависимости

💡 Рекомендуется использовать виртуальное окружение:

# Linux/macOS
python -m venv venv
source venv/bin/activate

# Windows
python -m venv venv
venv\Scripts\activate.bat

# Установка зависимостей
pip install -r requirements.txt

3. ▶ Запуск приложения

python app.py

🖼 Результат

После запуска вы увидите визуализацию данных и получите .txt с ними.


📈 Расширение системы

Вы можете расширить возможности системы, добавив дополнительные данные для обучения и тестирования. Просто поместите новые изображения и разметку в том же формате, что и исходные данные хакатона, и запустите все предоставленные ноутбуки из папки notebooks/ для подготовки данных и yolo/ для обучения новых весов модели.


🗂 Структура проекта

  • app.py — основной серверный скрипт на Flask, реализует веб-интерфейс, обработку изображений, запуск модели и выдачу результатов.
  • requirements.txt — список всех необходимых Python-библиотек для работы проекта.
  • README.md — описание проекта, инструкция по запуску и использованию.
  • static/ — статические файлы для веб-интерфейса (например, изображения, загруженные пользователем, логотип).
    • uploads/ — папка для загруженных пользователем изображений.
    • logo.jpg — логотип проекта.
  • templates/ — HTML-шаблоны для страниц веб-приложения (index.html, about.html, result.html).
  • yolo/ — всё, что связано с обучением и использованием нейросетевой модели YOLO.
    • yolo.ipynb — ноутбук для работы с моделью YOLO.
    • yolo11n.pt, yolov8s-seg.pt — предобученные веса моделей.
    • runs/train/laser_seg_model/weights/ — лучшие и последние веса вашей обученной модели.
  • notebooks/ — Jupyter-ноутбуки для предобработки и анализа данных.
    • preprocessing.ipynb, processing.ipynb — этапы подготовки и обработки данных.
  • data/ — директории с обучающими и тестовыми данными.
    • train/, test/ — изображения и разметка для обучения и тестирования.
  • presentation.pptx — презентация проекта.
  • venv/ — виртуальное окружение Python (создаётся автоматически, не трогать).

About

Ai based system for laser micromachining

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •