Giter Site home page Giter Site logo

pyqt6viewer's Introduction

Introduction

This repository provides a solution for detecting seams in H-beams during operations at TMB. The solution is built upon convolutional neural networks, with a specific emphasis on utilizing YOLOv5 as the backbone network responsible for extracting high-level features from the input image.

Repository Structure

The repository is organized as follows:

  • _dev_features/: in development features
    • cvat_Yolo/cvat_LotCreation.py: generate Lots of images from the dataset to mimic the same structure as Infoscribe. it places inside every Lot approximately 20 images and the file annotations.xml, which is the CVAT format for polygon annotations.
    • cvat_Yolo/cvat_pacifier.py: checks that there are no images/annotations lost.
    • cvat_Yolo/cvat_converter: converts from CVAT annotations in polygons format to Yolo format.
  • Training/: all the python scripts for training, this is a clone from the original Yolov5 from ultralytics.
    • ManifestGenerator.py: in-house addition to Yolov5 in order to generate the yaml file needed by Yolo describing the dataset and classes.
  • Viewer/: all the python code to run H-Beam Processor and H-engine in production.
    • main.py: entry point to H-Beam Processor.
    • production.py: made to be run in production, with functionalities to populate databases and record image with defects but there is no interface, it is a console application.

Flowchart

The following diagram shows the interaction between H-Beam Processor and H-engine in Production:

H-Beam processor and Viewer

H-Beam Processor

This application is designed for testing the models after training. It also supports the display of CVAT 1.0 and Yolo 1.1 annotations.

H-Beam processor and Viewer

H-engine for production

Console application using the same engine for inference as H-Beam Processor but made for production. It interacts with MSC via socket communication. It receives images capture by MSC and process them with the engine and later one classify the image according its predictions.

H-engine for production

Getting Started

To begin using the tools provided in this repository, follow these steps:

  1. Clone the repository to your local machine.

  2. Execute Viewer/main.py to start H-Beam processor. Alternative you could start the application by executing Viewer/HBeamProcessor.bat but you might need to configure the location of your python environment.

  3. Execute Viewer/production.py. Alternative you could start the application by executing Viewer/HBeamProcessor.bat but you might need to configure the location of your python environment.

Example of production.bat to start up the H-engine in production mode:

@echo OFF

SETLOCAL EnableDelayedExpansion

SET CONDA=D:\__TMB_SeamsReleases\env\seams
SET LOCATION=D:\__TMB_SeamsReleases\H_Processor
SET PATH=%CONDA%\Scripts;%CONDA%;%PATH%

CALL activate base
START python production.py

@echo ON

Production Deployment

To deploy H-engine, in the Seams production PC, start by copying your environment in:

D:\__TMB_SeamsReleases

the current environment in the Seams production PC was build with conda pack:

conda pack -n seams               # pack your environment
tar -xzf my_env.tar.gz -C seams   # unpack your environment
source seams/bin/activate         # activate your environment

Feedback and Support

If you have any questions, suggestions, or issues related to the SDM Data Extraction, open an issue in this repository.

pyqt6viewer's People

Contributors

chacoff 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.