pavimentados


Namepavimentados JSON
Version 0.31.3 PyPI version JSON
download
home_pageNone
SummaryA python package Library which implement IA algorithims to detect cracks and failures on roads. The package is wrapper around all the models and provides an interfaces to use them properly
upload_time2024-03-23 13:25:30
maintainerNone
docs_urlNone
authorJose Maria Marquez Blanco
requires_python>=3.7
licenseNone
keywords machine learning crack detections computer vision safe road
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![analytics image (flat)](https://raw.githubusercontent.com/vitr/google-analytics-beacon/master/static/badge-flat.gif)
![analytics](https://www.google-analytics.com/collect?v=1&cid=555&t=pageview&ec=repo&ea=open&dp=/pavimentados/readme&dt=&tid=UA-4677001-16)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=EL-BID_pavimentados&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=EL-BID_pavimentados)
[![Downloads](https://pepy.tech/badge/pavimentados)](https://pepy.tech/project/pavimentados)
# Pavimentados

## Project Description
---

Pavimentados is a tool that allows the identification of pavement faults located on highways or roads, as well as vertical and horizontal signage. This library is an environment around the computer vision models developed to allow the detection of the different elements. The faults and detected elements are then used to generate metrics that help in road maintenance planning.

You can download models files from this [link](https://github.com/EL-BID/pavimentados/raw/e1cdb42d01f6ae323b7dc02d6e05d3c8b3b625a8/models/models.tar.gz?download=).

These models require images or videos taken with the specifications that will be explained in later sections. 

So far the system uses 4 models involved in different phases of detection and categorization.

| Model Name             | Description                                         | Classes |
|------------------------|---------------------------------------------------- | ------- |
| Paviment failures      | Detection of failures on the road and classifies it | 8       |
| Signage detection      | Detection of signage on the road                    | 2       |
| Signage classification | Classifies the signage detected                     | 314     |
| Signage State          | Detect if the signage is in good or bad state       | 3       |

To understand each model in detail see the [models](https://github.com/EL-BID/pavimentados/blob/main/MODELS.md) section.

## Main Features
---

Some of the features now available are as follows:

- Scoring using the models already developed
- Workflows for image acquisition and assessment
- Evaluation of gps information to determine the location of faults and elements.
- Image or video support
- Support for GPS data in different formats (GPRRA, csv, embedded in image)
- Download models directly into the root of the package

## Instalation
---

To install you can use the following commands

```
pip install pavimentados
```

Then to download the models use the following commands

```
from pavimentados import download_models

download_models(url = <signed_url>)
```

Or alternativily

```
from pavimentados import download_models

download_models(aws_access_key = <aws_access_key>, signature = <signature>, expires = <expiration_time>)
```


To obtain the corresponding credentials for downloading the models, please contact the Inter-American Development Bank at infradigital@iadb.org

You can also clone the repository but remember that the package is configured to download the models and place them in the root of the environment.

## Quick Start
---

To make use of the tool import the components that create a workflow with images

```
from pavimentados.processing.processors import MultiImage_Processor
from pavimentados.processing.workflows import Workflow_Processor
```

In this example, we have the image processor object MultiImage_Processor, which is in charge of taking the images and analyzing them individually using the models. In addition, we have the Workflow_Processor object that is in charge of the image processing workflow. 

Internally, the Workflow_Processor has objects that can interpret different image sources or GPS information. 

Among the allowed image sources we have:

 - image_routes: A list of image routes
 - image_folder: a folder with all images
 - images: images already loaded in numpy format
 - video: The path to a video file

Among the allowed GPS data sources we have:

 - image_routes: A list of the routes of the images that have the gps data embedded in them.
 - image_folder: A folder with all the images that have the gps data embedded in them.
 - loc: A file in GPRRA format
 - csv: A gps file with the gps information in columns and rows.

Once these elements are imported, the processor is instantiated as follows

```
ml_processor = MultiImage_Processor(assign_devices = True, gpu_enabled = True)
```

The processor has the ability to allocate GPU usage automatically assuming that 6GB is available, it can be parameterized so that it is not automatically allocated, pass the allocation as a parameter, or even not work with the GPU.

You can modify the devices used according to the TensorFlow documentation regarding GPU usage (see https://www.tensorflow.org/guide/gpu)

The workflow object is able to receive the instantiated processor, without it it is not able to execute the workflow.

```
workflow = Workflow_Processor(route, image_source_type='image_folder', gps_source_type = 'image_folder')
```

The complete execution code would be as follows:

```
from pavimentados.processing.processors import MultiImage_Processor
from pavimentados.processing.workflows import Workflow_Processor
from pathlib import Path

### Image with the GPS data embebed
route = Path(<route with the images for processing>)

ml_processor = MultiImage_Processor(assign_devices = True, gpu_enabled = True)

workflow = Workflow_Processor(route, image_source_type='image_folder', gps_source_type = 'image_folder')

results = workflow.execute(ml_processor)
```

In results you will find the following:

 1. table_summary_sections: DataFrame with summary table by sections.
 2. data_resulting: DataFrame with results per frame
 3. data_resulting_fails: DataFrame with results by unique faults encountered.
 4. signals_summary: DataFrame with all the information about the signals.
 5. raw_results: Raw results totals

 ## Autores
---

This package has been developed by:

<a href="https://github.com/J0s3M4rqu3z" target="blank">Jose Maria Marquez Blanco</a>
<br/>
<a href="https://www.linkedin.com/in/joancerretani/" target="blank">Joan Alberto Cerretani</a>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pavimentados",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "Machine Learning, crack detections, computer vision, safe road",
    "author": "Jose Maria Marquez Blanco",
    "author_email": "jose.marquez.blanco@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/82/4c/0690e32920638c80d62d3a1c095e4ebb7729dcba5761263fb11f0b86c34c/pavimentados-0.31.3.tar.gz",
    "platform": null,
    "description": "![analytics image (flat)](https://raw.githubusercontent.com/vitr/google-analytics-beacon/master/static/badge-flat.gif)\n![analytics](https://www.google-analytics.com/collect?v=1&cid=555&t=pageview&ec=repo&ea=open&dp=/pavimentados/readme&dt=&tid=UA-4677001-16)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=EL-BID_pavimentados&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=EL-BID_pavimentados)\n[![Downloads](https://pepy.tech/badge/pavimentados)](https://pepy.tech/project/pavimentados)\n# Pavimentados\n\n## Project Description\n---\n\nPavimentados is a tool that allows the identification of pavement faults located on highways or roads, as well as vertical and horizontal signage. This library is an environment around the computer vision models developed to allow the detection of the different elements. The faults and detected elements are then used to generate metrics that help in road maintenance planning.\n\nYou can download models files from this [link](https://github.com/EL-BID/pavimentados/raw/e1cdb42d01f6ae323b7dc02d6e05d3c8b3b625a8/models/models.tar.gz?download=).\n\nThese models require images or videos taken with the specifications that will be explained in later sections. \n\nSo far the system uses 4 models involved in different phases of detection and categorization.\n\n| Model Name             | Description                                         | Classes |\n|------------------------|---------------------------------------------------- | ------- |\n| Paviment failures      | Detection of failures on the road and classifies it | 8       |\n| Signage detection      | Detection of signage on the road                    | 2       |\n| Signage classification | Classifies the signage detected                     | 314     |\n| Signage State          | Detect if the signage is in good or bad state       | 3       |\n\nTo understand each model in detail see the [models](https://github.com/EL-BID/pavimentados/blob/main/MODELS.md) section.\n\n## Main Features\n---\n\nSome of the features now available are as follows:\n\n- Scoring using the models already developed\n- Workflows for image acquisition and assessment\n- Evaluation of gps information to determine the location of faults and elements.\n- Image or video support\n- Support for GPS data in different formats (GPRRA, csv, embedded in image)\n- Download models directly into the root of the package\n\n## Instalation\n---\n\nTo install you can use the following commands\n\n```\npip install pavimentados\n```\n\nThen to download the models use the following commands\n\n```\nfrom pavimentados import download_models\n\ndownload_models(url = <signed_url>)\n```\n\nOr alternativily\n\n```\nfrom pavimentados import download_models\n\ndownload_models(aws_access_key = <aws_access_key>, signature = <signature>, expires = <expiration_time>)\n```\n\n\nTo obtain the corresponding credentials for downloading the models, please contact the Inter-American Development Bank at infradigital@iadb.org\n\nYou can also clone the repository but remember that the package is configured to download the models and place them in the root of the environment.\n\n## Quick Start\n---\n\nTo make use of the tool import the components that create a workflow with images\n\n```\nfrom pavimentados.processing.processors import MultiImage_Processor\nfrom pavimentados.processing.workflows import Workflow_Processor\n```\n\nIn this example, we have the image processor object MultiImage_Processor, which is in charge of taking the images and analyzing them individually using the models. In addition, we have the Workflow_Processor object that is in charge of the image processing workflow. \n\nInternally, the Workflow_Processor has objects that can interpret different image sources or GPS information. \n\nAmong the allowed image sources we have:\n\n - image_routes: A list of image routes\n - image_folder: a folder with all images\n - images: images already loaded in numpy format\n - video: The path to a video file\n\nAmong the allowed GPS data sources we have:\n\n - image_routes: A list of the routes of the images that have the gps data embedded in them.\n - image_folder: A folder with all the images that have the gps data embedded in them.\n - loc: A file in GPRRA format\n - csv: A gps file with the gps information in columns and rows.\n\nOnce these elements are imported, the processor is instantiated as follows\n\n```\nml_processor = MultiImage_Processor(assign_devices = True, gpu_enabled = True)\n```\n\nThe processor has the ability to allocate GPU usage automatically assuming that 6GB is available, it can be parameterized so that it is not automatically allocated, pass the allocation as a parameter, or even not work with the GPU.\n\nYou can modify the devices used according to the TensorFlow documentation regarding GPU usage (see https://www.tensorflow.org/guide/gpu)\n\nThe workflow object is able to receive the instantiated processor, without it it is not able to execute the workflow.\n\n```\nworkflow = Workflow_Processor(route, image_source_type='image_folder', gps_source_type = 'image_folder')\n```\n\nThe complete execution code would be as follows:\n\n```\nfrom pavimentados.processing.processors import MultiImage_Processor\nfrom pavimentados.processing.workflows import Workflow_Processor\nfrom pathlib import Path\n\n### Image with the GPS data embebed\nroute = Path(<route with the images for processing>)\n\nml_processor = MultiImage_Processor(assign_devices = True, gpu_enabled = True)\n\nworkflow = Workflow_Processor(route, image_source_type='image_folder', gps_source_type = 'image_folder')\n\nresults = workflow.execute(ml_processor)\n```\n\nIn results you will find the following:\n\n 1. table_summary_sections: DataFrame with summary table by sections.\n 2. data_resulting: DataFrame with results per frame\n 3. data_resulting_fails: DataFrame with results by unique faults encountered.\n 4. signals_summary: DataFrame with all the information about the signals.\n 5. raw_results: Raw results totals\n\n ## Autores\n---\n\nThis package has been developed by:\n\n<a href=\"https://github.com/J0s3M4rqu3z\" target=\"blank\">Jose Maria Marquez Blanco</a>\n<br/>\n<a href=\"https://www.linkedin.com/in/joancerretani/\" target=\"blank\">Joan Alberto Cerretani</a>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A python package Library which implement IA algorithims to detect cracks and failures on roads. The package is wrapper around all the models and provides an interfaces to use them properly",
    "version": "0.31.3",
    "project_urls": null,
    "split_keywords": [
        "machine learning",
        " crack detections",
        " computer vision",
        " safe road"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17d5b5936f6536f8e16c7c2af0c928ede5253552ef1ef2b87e8abeeb325bfa07",
                "md5": "413d5f2d827ee48eb82bd0413a95e77e",
                "sha256": "f048b93ccf5c109afaddfbd1c5df74b9707fb795ac99733c9e8db7a9c23442a8"
            },
            "downloads": -1,
            "filename": "pavimentados-0.31.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "413d5f2d827ee48eb82bd0413a95e77e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 32408,
            "upload_time": "2024-03-23T13:25:28",
            "upload_time_iso_8601": "2024-03-23T13:25:28.565323Z",
            "url": "https://files.pythonhosted.org/packages/17/d5/b5936f6536f8e16c7c2af0c928ede5253552ef1ef2b87e8abeeb325bfa07/pavimentados-0.31.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "824c0690e32920638c80d62d3a1c095e4ebb7729dcba5761263fb11f0b86c34c",
                "md5": "23b0bf88199b0010950d5761d46a5186",
                "sha256": "bc159f1d315cc4e222026cf5c17a5e1745eaab51c52c40f6912bfe1f7e6083cd"
            },
            "downloads": -1,
            "filename": "pavimentados-0.31.3.tar.gz",
            "has_sig": false,
            "md5_digest": "23b0bf88199b0010950d5761d46a5186",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 30043,
            "upload_time": "2024-03-23T13:25:30",
            "upload_time_iso_8601": "2024-03-23T13:25:30.670760Z",
            "url": "https://files.pythonhosted.org/packages/82/4c/0690e32920638c80d62d3a1c095e4ebb7729dcba5761263fb11f0b86c34c/pavimentados-0.31.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-23 13:25:30",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pavimentados"
}
        
Elapsed time: 0.40718s