Commit cec0185f authored by Tejasri's avatar Tejasri 🎯
Browse files

Merge branch 'master' into 'master'

Master

See merge request CivicTech/pothole-detection!12
parents 797271cb 8e1c4ff6
# This file is a template, and might need editing before it works on your project.
# Full project: https://gitlab.com/pages/plain-html
pages:
stage: deploy
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.0.0] - 2020-08-03
### Added
New visual webpage
- Version navigation.
- Links to latest released version in previous versions.
- Readme file for better understanding of the project.
### Changed
The web app is now PWA
The look of the new webpage
Expanded our approach from OpenCV to OpenCV with YOLO v3.
Changed old dataset.
[Unreleased]: https://code.swecha.org/CivicTech/pothole-detection/-/tree/dev-team-5…/head
Versions:
[0.0.1]: https://code.swecha.org/CivicTech/pothole-detection/-/tree/dev-team-5
\ No newline at end of file
# **How to contribute**
- **First of all, thank you for taking the time to contribute to this project. We've tried to make a stable project and try to fix bugs and add new features continuously. You can help us do more.**
## ***Getting started***
### **Check out the roadmap**
- **We have some functionalities in mind and we have issued them and there is a *milestone* label available on the issue. If there is a bug or a feature that is not listed in the **issues** page or there is no one assigned to the issue, feel free to fix/add it! Although it's better to discuss it in the issue or create a new issue for it so there is no confilcting code.**
### **Writing some code!**
> Contributing to a project on Gitlab is pretty straight forward. If this is you're first time, these are the steps you should take.
- **Fork this repo.**
- **And that's it! Read the code available and change the part you don't like! You're change should not break the existing code and should pass the tests.**
- **If you're adding a new functionality, start from the branch **master**. It would be a better practice to create a new branch and work in there.**
- **When you're done, submit a pull request and for one of the maintainers to check it out. We would let you know if there is any problem or any changes that should be considered.**
### **Documentation**
- **Every chunk of code that may be hard to understand has some comments above it. If you write some new code or change some part of the existing code in a way that it would not be functional without changing it's usages, it needs to be documented**
\ No newline at end of file
# **Contributor Covenant Code of Conduct**
# **Our Pledge**
- In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
# **Our Standards**
> Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
> Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
- Trolling, insulting/derogatory comments, and personal or political attacks
Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
# **Our Responsibilities**
- Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
- Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
# **Scope**
- This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
# **Enforcement**
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [**Harisai**](https://chat.swecha.org/direct/harisai). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership
# **ISSUES**
- Deployment with Django
- Deployment of Database
- Integrating the web application into PWA
- Integrating ML code with the upload web feature
\ No newline at end of file
# Pothole Detection
# POTHOLE DETECTION
# *Abstract :*
- **Poor road conditions, such as potholes, are a nuisance to society, which would annoy passengers, damage vehicles, and even cause accidents.**
- **Thus, detecting potholes is an important step toward pavement maintenance and rehabilitation to improve road conditions.**
- **Potholes have different shapes, scales, shadows, and illumination effects, and highly complicated backgrounds can be involved.**
- **Therefore, detection of potholes in road images is still a challenging task**.
- **In this study, we focus on pothole detection in 2D vision and present a new method to detect potholes based on location-aware convolutional neural networks, which focuses on the discriminative regions in the road instead of the global context.**
# *Roadmap* :
![image](https://code.swecha.org/raptors/pothole-detection/-/raw/master/website/images/Blue_and_Black_Mind_Map_Presentation.png)
# *Requirement :*
- **Anaconda**
- **Open CV**
- **Python**
- **Numpy**
- **pandas**
- **matplotlib**
# *Webapp (PWA) Requirements :*
1. **HTML**
2. **CSS**
3. **Javascript**
4. **MariaDB**
5. **Nodejs**
# *Installiation Guide :*
> **For Windows**:
- **Download [Python](https://www.python.org/downloads/) from here**
- **Download [Anaconda](https://www.anaconda.com/products/individual#windows) from here**
- **Download [opencv](https://chrisconlan.com/installing-python-opencv-3-windows/#:~:text=%20Install%20Python%20OpenCV%203%20on%20Windows%20with,that%20OpenCV%203%20is%20installed.%20%20More%20) from here**
> **For Ubuntu**:
- **Download [Python](https://phoenixnap.com/kb/how-to-install-python-3-ubuntu) from here**
- **Download [Anaconda](https://linuxize.com/post/how-to-install-anaconda-on-ubuntu-20-04/) from here**
- **Download [opencv](https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/) from here**
# ***Output :***
![input-image](https://code.swecha.org/raptors/pothole-detection/-/raw/master/media/pothole2.jpg)
![output-image](https://code.swecha.org/raptors/pothole-detection/-/raw/master/media/pothole2_out.jpg)
# *Flowchart :*
- **Node-1 : Choosefile**
- **Node-2 : Upload/capture**
- **Subnode-1 : checking with AI Code**
- **Choice-1 : True**
- **Choice-2 : False**
- **Dochoice-1 : store in DB**
- **Dochoice-2 : Warning**
- **Finalthing : Submit**
```mermaid
graph TB
SubGraph1 --> SubGraph1Flow
subgraph "Backend"
SubGraph1Flow(process on submit button)
SubGraph1Flow -- true --> save
SubGraph1Flow -- false --> warning
end**
subgraph "Frontend"
Node1[Upload] --> Node2[Capture/upload]
Node2 --> SubGraph1[Jump to backend]
SubGraph1 --> FinalThing[Submit]
end
```
# *Sample DB :*
| Image | Adress | Latitude | Longitude |
| ------ | ------ | ------ | ------ |
| img-1 | hyderbad | 17.387140 | 78.491684 |
| img-2 | warangal | 18.000055 | 79.588165 |
# *Locatating potholes on map :*
![Map](https://www.vmcdn.ca/f/files/sudbury/uploadedImages/news/localNews/2014/04/090414_potholeMap.jpg%3Bw%3D630)
# *Website link :*
**Open [webpage](http://raptors.swecha.io/pothole-detection/website/)**
# *Team :*
1. **Prerana Uppalapati**
2. **Jyothiswaroop**
3. **Sohith Kumar Guptha**
4. **Ranjith Reddy**
5. **Pooja**
6. **Srinidhi Reddy**
**click [here](http://raptors.swecha.io/pothole-detection/website/team.html) to see the complete details of team members**
Detecting potholes
\ No newline at end of file
# **Required** **modules** :
> 1. Sklearn
> 2. Keras
> 3. Tensorlow
> 4. Numpy
> 5. cv2
> 6. random
> 7. pandas
> 8. matplotlib
# **Editor** :
`You can choose any of this :`
> 1.Jupiternotebook
> 2.Google Colab
> 3.PythonIDLE
# **Installation** :
> For installation visit [**setup.md**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/documentation/setup.md) file
\ No newline at end of file
# RUNNING_THE _PROJECT
The files referenced below can be found in [**this repository**](https://code.swecha.org/raptors/pothole-detection).
> 1. Fork [**this repo**](https://code.swecha.org/raptors/pothole-detection) into your Github account and clone it to your local machine.
> 2. Ensure that the [**requirements**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/documentation/requirements.md) for this project are met. Visit the [**Setup**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/documentation/setup.md) page for information on setting up your environment.
> 3. Ensure that you have downloaded the dataset from [**here**](https://code.swecha.org/raptors/pothole-detection/-/tree/master/project-files).
# **Training the model** :
> In oder to train the module run this [**code**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/scripts/train.py).
# **Prediction** :
> After training your model with your custom dataset/already trained dataset run this [**code**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/scripts/Prediction.py)
\ No newline at end of file
# **Setup** :
> Install all the recommanded modules, You can find the modules [**here**](https://code.swecha.org/raptors/pothole-detection/-/blob/master/documentation/requirements.md)
# **Setting up Envinorment** :
# **Jupiter** :
`Follow this steps to setup jupiter notebook using CLI`
> sudo apt-get update
> sudo apt-get -y install python3.7 python-pip python-dev
> python --version
> pip --version
> sudo apt-get -y install ipython
> sudo -H pip install jupyter
> jupyter notebook --allow-root ---- This will open Jupiter notebook
# **Google Colab** :
> Open google colab from [**here**](https://colab.research.google.com/)
# **Python** :
`Follow this steps to setup Python using CLI`
> sudo apt update
> sudo apt install software-properties-common
> sudo add-apt-repository ppa:deadsnakes/ppa
> sudo apt update
> sudo apt install python3.8
> python -- version
# **You can install modules using**:
> 1. pip install (module name) ---- for pythonIDLE and Jupiter Notebook
> 2. !pip install (module name) ----- for google colab
# DATASETS :
> You can download the dataset directly from [here](https://drive.google.com/drive/folders/11mK_wdMbWBDFqx5O40stzl4wNuKED4bN?usp=sharing)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment