Coder Social home page Coder Social logo

danielwuuuuuu / af-solov2 Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 1.0 19.36 MB

Intelligent inspection tasks are performed based on the SOLOv2 instance segmentation algorithm, and the detection effect is improved through improvement and optimization.

Python 94.36% Dockerfile 0.02% C++ 1.86% Cuda 3.54% Cython 0.15% Shell 0.07%

af-solov2's Introduction

English | 简体中文

On the basis of SOLOv2, it is improved and optimized according to the needs of intelligent inspection robots. It can identify 15 types of equipment components and perform corresponding post-processing, with an accuracy of more than 90%.

This code of this project is mainly modified and summarized based on SOLO, if there is any error, please correct me! ! !

Highlights

  • Multi-category part recognition in complex scenes: For complex distribution station scenarios, up to 15 types of equipment components can be identified, and status information can be obtained for each type of equipment components;
  • Small object part recognition: By optimizing the feature output of the feature pyramid, the recognition accuracy of small targets is improved, and the overall accuracy is slightly improved.

Installation

This implementation is based on mmdetection(v1.0.0).The installation method is as follows, also can refer to the original INSTALL.md for installation and dataset preparation.

Requirements

  • Linux (Windows is not officially supported)
  • Python 3.5+
  • PyTorch 1.1 or higher (>=1.5 is not tested)
  • CUDA 9.0 or higher
  • NCCL 2
  • GCC 4.9 or higher
  • mmcv 0.2.16

The software and hardware versions implemented in this project are as follows:

  • OS: Ubuntu 18.04
  • CUDA: 10.2.89
  • CUDNN: 7.6.5
  • NCCL: 2.8.3
  • GCC(G++): 7.5.0

Install SOLO

a. Create a conda virtual environment and activate it.

conda create -n solo python=3.7 -y
conda activate solo

b. Install PyTorch and torchvision following the official instructions, e.g.,

pip install torch==1.4.0 torchvision==0.5.0
pip install cython

c. Clone the SOLO repository.

git clone https://github.com/WXinlong/SOLO.git
cd SOLO

d. Install build requirements and then install SOLO.

pip install -r requirements/build.txt
pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
pip install -v -e .  # or "python setup.py develop"

e. The SOLO environment is compiled and the GPU version of paddlepaddle is installed.

pip install paddlepaddle-gpu==2.0.1

Usage

A quick demo

Once the installation is done, you can download the provided models and use inference_demo.py to run a quick demo.

Train SOLO

# Train with single GPU
python tools/train.py ${CONFIG_FILE}

# Example
python tools/train.py configs/solo/solo_r50_fpn_8gpu_1x.py

Testing SOLO

# single-gpu testing
python tools/test_ins.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --show --out  ${OUTPUT_FILE} --eval segm

# Example
python tools/test_ins.py configs/solo/solo_r50_fpn_8gpu_1x.py  SOLO_R50_1x.pth --show --out  results_solo.pkl --eval segm

Demonstration of Intelligent Patrol Inspection and Recognition

Please refer to README.md

af-solov2's People

Contributors

danielwuuuuuu avatar

Stargazers

 avatar  avatar achuan avatar Licong Guan avatar  avatar karolinCC avatar

Watchers

 avatar

Forkers

c-ll-l

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.