Giter VIP home page Giter VIP logo

object-detection's Introduction

Object Detection

Library of different object detection algorithms. You need a CUDA compatible GPU for this to work.

Trunk Check CI

Upload Code Coverage CI

codecov

Development environment

This project uses trunk for linting and formatting. Check https://trunk.io/products/check

For dependency, poetry is used: https://python-poetry.org/

Go to root directory and run poetry install. But first make sure you have CUDA in your system along with all necessary packages. You can follow https://github.com/proafxin/cuda-gpu-scripts for CUDA related instructions. Make sure CUDA can interact with your GPU. The best way to ensure that is to go to python shell and run

import torch
torch.cuda.is_available()

You should see True as output. Finally, for virtual environment management, automated testing and task management, tox is used: https://tox.wiki/

Install tox in your system using python3 -m pip install -U tox and then run tox from the project directory.

Design philosophy for YOLO model implementation

The idea behind the structure in this package is that we want to make the model reusable and easily configurable. We will say, a model consists of some units. Each such unit can consist of layers or blocks or cells. Cell is an individual component such as Convolution, MaxPool, ReLU or other activation function, etc. A block consists of some cells. Sometimes a single component is repeated multiple times. To make it easy for us to specify the model, instead of adding the repeated components individually, we simply specify a repeition factor. The same idea goes for a layer. A layer consists of some blocks which may be repeated. The idea of unit may be confusing at first. First of all, it completely depends on the user. However, a good idea to make a separation would be at where we take maxpool or connected layers. See the following figure: Yolov1 architecture Here, there is a maxpool after the first convolution. So that will be our first unit: convolution combined with maxpool. Same for second unit. In third unit, we have 4 convolution and then maxpool. In fourth unit, we have two convolutions which are repeated, then two convolutions and a maxpool layer, and so on.

object-detection's People

Contributors

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