crack_detection_app
Crackit©: Crack analysis and diagnosis on buildings elements
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.3%) to scientific vocabulary
Repository
Crackit©: Crack analysis and diagnosis on buildings elements
Basic Info
- Host: GitHub
- Owner: cilab-ufersa
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://crackdetection.streamlit.app/
- Size: 440 KB
Statistics
- Stars: 3
- Watchers: 0
- Forks: 3
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Crackit: Crack analysis and diagnosis on buildings elements
Crack detection is an important task in the field of civil engineering. Surface cracks can be a sign of structural damage and can lead to catastrophic failure. This app uses a deep learning model to detect cracks in images of concrete surfaces. You can upload an image or take a picture from your camera to see the model in action. It will segment the image to highlight the cracks and classify the image as containing a crack or not. You can also download a report of the results.
Also, you can analyze the crack by selecting two points on the image. The app will calculate the line equation that passes through the points and the angle of the line with the x-axis. This can be useful to determine the orientation of the crack.
App preview
https://github.com/user-attachments/assets/4520cde5-f5dc-42ea-9b00-a568d74ed57a
Prerequisites
What things you need to have to be able to run:
- Python 3.11
- Pip 3+
- VirtualEnvWrapper is recommended but not mandatory
Requirements
bash
$ pip install -r requirements.txt
Run
bash
$ streamlit run app/main.py
About the model
We used a pre-trained model called U-Net to segment the cracks in the images, and MobileNet to classify the images. Moreover, we used a custom algorithm to calculate the angle of the crack, which is based on the line equation that passes through two points selected by the user. The software also distinguishes between isolated cracks and map cracks, which can be useful for further analysis. For the distinction, we used ResNet50 model.
The angle is calculated based on the line equation that passes through two points selected by the user. The equation is given by:
$$y = m*x + b$$
where m is the slope of the line and b is the y-intercept. The slope is calculated by:
$$m = \frac{(y2 - y1)}{(x2 - x1)}$$
The angle of the line with the x-axis is given by:
$$ angle = arctan(m)$$
The angle is used to determine the orientation of the crack.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Acknowledgments
This project was developed as part of the project "Crack Detection and Characterization on Building Elements" at the Federal University of Semi-Árido, Brazil.
The dataset used to train the models was provided by the University of Stuttgart, Germany. The dataset is available at: Link
Owner
- Name: CILab
- Login: cilab-ufersa
- Kind: organization
- Email: cilab.ufersa@gmail.com
- Location: Brazil
- Website: https://cilab-ufersa.github.io/
- Repositories: 2
- Profile: https://github.com/cilab-ufersa
Computational Intelligence Laboratory - CILab
Citation (CITATION.cff)
cff-version: 1.0.0 message: "If you use this software, please cite it as below." authors: - family-names: "Claudino" given-names: "Heitor" - family-names: "Gonçalves" given-names: "Leticia" - family-names: "Bezerra" given-names: "Paulo" - family-names: "Rego" given-names: "Rosana" orcid: "https://orcid.org/0000-0001-5997-1221" title: "Crackit: Crack analysis and diagnosis on buildings elements" version: 1.0.0 date-released: 2024-07-31 url: "https://github.com/cilab-ufersa/crack_detection_app"
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Dependencies
- actions/checkout v4 composite
- actions/dependency-review-action v4 composite
- GitPython ==3.1.42
- Jinja2 ==3.1.3
- Markdown ==3.5.2
- MarkupSafe ==2.1.5
- Pygments ==2.17.2
- absl-py ==2.1.0
- altair ==5.2.0
- astunparse ==1.6.3
- attrs ==23.2.0
- blinker ==1.7.0
- cachetools ==5.3.3
- certifi ==2024.2.2
- charset-normalizer ==3.3.2
- click ==8.1.7
- colorama ==0.4.6
- flatbuffers ==23.5.26
- fpdf *
- gast ==0.5.4
- gitdb ==4.0.11
- google-auth ==2.28.1
- google-auth-oauthlib ==1.2.0
- google-pasta ==0.2.0
- grpcio ==1.62.0
- h5py ==3.10.0
- idna ==3.6
- importlib-metadata ==7.0.1
- jsonschema ==4.21.1
- jsonschema-specifications ==2023.12.1
- keras ==2.15.0
- libclang ==16.0.6
- markdown-it-py ==3.0.0
- matplotlib ==3.8.3
- mdurl ==0.1.2
- ml-dtypes ==0.2.0
- numpy ==1.26.4
- oauthlib ==3.2.2
- opencv-python-headless *
- opt-einsum ==3.3.0
- packaging ==23.2
- pandas ==2.2.1
- pillow ==10.2.0
- protobuf ==4.25.3
- pyarrow ==15.0.0
- pyasn1 ==0.5.1
- pyasn1-modules ==0.3.0
- pydeck ==0.8.1b0
- pyecharts ==2.0.6
- python-dateutil ==2.9.0.post0
- pytz ==2024.1
- referencing ==0.33.0
- requests ==2.31.0
- requests-oauthlib ==1.3.1
- rich ==13.7.1
- rpds-py ==0.18.0
- rsa ==4.9
- six ==1.16.0
- smmap ==5.0.1
- streamlit ==1.31.1
- streamlit *
- streamlit-echarts ==0.4.0
- streamlit_webrtc *
- tenacity ==8.2.3
- tensorboard ==2.15.2
- tensorboard-data-server ==0.7.2
- tensorflow ==2.15.0
- tensorflow-estimator ==2.15.0
- urllib3 ==2.2.1