{"id":23047350,"url":"https://github.com/aurelienmorgan/defect_detection_webservice","last_synced_at":"2026-04-09T18:32:44.192Z","repository":{"id":236245427,"uuid":"294106929","full_name":"aurelienmorgan/defect_detection_webservice","owner":"aurelienmorgan","description":"Surface Defect Detection as a Tensorflow/Keras model microservice container.","archived":false,"fork":false,"pushed_at":"2021-07-23T13:14:16.000Z","size":97906,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T17:09:33.538Z","etag":null,"topics":["cnn","computer-vision","containers","data-augmentation","docker","flask","gunicorn","jupyter-notebook","keras","nginx","opencv","python","rest-api","segmentation-model","tensorflow","u-net","uwsgi","webservice"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aurelienmorgan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-09-09T12:30:58.000Z","updated_at":"2024-12-07T17:59:05.000Z","dependencies_parsed_at":"2024-04-26T09:37:39.686Z","dependency_job_id":null,"html_url":"https://github.com/aurelienmorgan/defect_detection_webservice","commit_stats":null,"previous_names":["aurelienmorgan/defect_detection_webservice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelienmorgan%2Fdefect_detection_webservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelienmorgan%2Fdefect_detection_webservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelienmorgan%2Fdefect_detection_webservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aurelienmorgan%2Fdefect_detection_webservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aurelienmorgan","download_url":"https://codeload.github.com/aurelienmorgan/defect_detection_webservice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246927806,"owners_count":20856193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cnn","computer-vision","containers","data-augmentation","docker","flask","gunicorn","jupyter-notebook","keras","nginx","opencv","python","rest-api","segmentation-model","tensorflow","u-net","uwsgi","webservice"],"created_at":"2024-12-15T22:32:52.441Z","updated_at":"2026-04-09T18:32:39.160Z","avatar_url":"https://github.com/aurelienmorgan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Surface Defect Detector\n\nWelcome to this demonstration platform  ! \n\nThe goal is to demonstrate how to easily integrate a Tensorflow/Keras model into a microservice architecture to provide predictions on the fly.\n\nThe use case is surface defect detection from flat steel sheet images.\n\nThe architecture employed is made-up of 3 Docker containers as follows : \n\n![](flask_app/app/static/images/docker_network.png)\n\nThe key element here is the webservice named ```defect-api-service```\nwhich is responsible for the generation of the prediction.\nGiven an input image, it operates the surface defect detection\nand returns an augmented image and probability informations.\n\nTo illustrate its usage, the prediction webservice has been integrated into\na basic web platform :\n\n\u003e```http://localhost/upload``` :\nselect the image for anaysis\u003cbr /\u003e\n\u003cimg alt=\"upload page\" src=\"images/upload.png\" width=\"650px\" /\u003e\n\n\u003cbr /\u003e\n\n\u003e```http://localhost/prediction?filename=5e1c6b7da.jpg``` :\nresult of the prediction as returned by ```defect-api-service```\u003cbr /\u003e\n\u003cimg alt=\"prediction page\" src=\"images/prediction.png\" width=\"650px\" /\u003e\n\n\u003cbr /\u003e\n\n\u003e```http://localhost/media/``` :\nlist of media file\u003cbr /\u003e\n\u003cimg alt=\"media page\" src=\"images/media.png\" width=\"650px\" /\u003e\n\nFor each image submitted for defect detection,\nthe ```defect-api-service``` stores three different files :\n- the original image itself\n- a json representation of the prediction\n- the image with an overlayed contour\nof the detected defectuous area (if any)\n\n\u003cbr /\u003e\n\nFor details on the model architecture and training\nas well as on what the reported probabilities do measure,\nplease kindly refer to \u003ca href=\"https://htmlpreview.github.io/?https://github.com/aurelienmorgan/defect_detection_webservice/blob/master/notebook/model.html?uncache=654645\"\u003ethis walkthough Jupyter Notebook\u003c/a\u003e.\n\n\u003cbr /\u003e\n\n\n\n\nKEYWORDS :\n\t```Nginx```, ```uwsgi```, ```Gunicorn```,\n\t```container```, ```Docker```,\n\t```Flask```, ```REST api```, ```webservice```,\n\t```Tensorflow```, ```Keras```, ```Computer Vision```, ```CNN```,\n\t```U-Net```, ```segmentation model```, ```data augmentation```,\n\t```OpenCV```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurelienmorgan%2Fdefect_detection_webservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faurelienmorgan%2Fdefect_detection_webservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurelienmorgan%2Fdefect_detection_webservice/lists"}