{"id":15735639,"url":"https://github.com/roym899/crf_segmentation_tutorial","last_synced_at":"2025-03-13T07:31:53.054Z","repository":{"id":41085840,"uuid":"232147860","full_name":"roym899/crf_segmentation_tutorial","owner":"roym899","description":"Tutorial for efficient inference in fully connected CRFs","archived":false,"fork":false,"pushed_at":"2021-12-25T16:20:45.000Z","size":1688,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T19:06:36.994Z","etag":null,"topics":["crf","segmentation","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roym899.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-06T17:10:24.000Z","updated_at":"2024-12-02T01:55:37.000Z","dependencies_parsed_at":"2022-09-07T16:02:51.952Z","dependency_job_id":null,"html_url":"https://github.com/roym899/crf_segmentation_tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roym899%2Fcrf_segmentation_tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roym899%2Fcrf_segmentation_tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roym899%2Fcrf_segmentation_tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roym899%2Fcrf_segmentation_tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roym899","download_url":"https://codeload.github.com/roym899/crf_segmentation_tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243361368,"owners_count":20278556,"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":["crf","segmentation","tutorial"],"created_at":"2024-10-04T01:14:15.179Z","updated_at":"2025-03-13T07:31:52.668Z","avatar_url":"https://github.com/roym899.png","language":"Python","readme":"# Fast and Accurate Image Segmentation using Fully Connected Conditional Random Fields\n\nThis tutorial was created for a course on probabilistic graphical models at KTH. Start by reading the tutorial in [tutorial.pdf](tutorial.pdf). Only the inference functions as stated in the tutorial have to be implemented. A number of Python packages are required for this tutorial. Make sure all of them are installed and available in your Python environment (you will need Python \u003e3.7, since I use `dataclass`).\n\nVersions/Packages used for development and testing:\n```\nPython          3.7.5\nnumpy           1.17.3\nmatplotlib      3.1.1\nPillow          6.2.0     \nscipy           1.3.1        \n```\n\nAll functions have documentation (type hints + docstring). Make sure to read and understand these before implementing a function. A few images from the [MSRC-9 dataset](http://research.microsoft.com/vision/cambridge/recognition/) dataset have been included. Download this dataset if you want to try out more images. Most other formats, where the segmentation is available as an image should also work out of the box ([COCO](http://cocodataset.org/#home) has been tested, but is less interesting, since the labels are generally already much more accurate).\n\n## Overview\n### `main.py`\nEntry point to the program. This uses the crf package, which we develop in this tutorial. Currently there is one way of running the program.\n\n#### Refine Mode\nThis takes as input an image and a rough segmentation. The improved segmentation will be either shown or written to disk.\n```console\npython3 main.py refine image segmentation -o output\n```\n\n### `crf/crf.py`\nThis is the file that contains the functions you will implement. It contains code skeletons and comments guiding you through the implementation. All interfaces to the functions are defined and main.py ensures that the functions are called in the right way.\n\n### `crf/utils.py`\nThis file contains helper functions, like loading images and segmentations and bringing them to the right format. Tested with [MSRC-9 dataset](http://research.microsoft.com/vision/cambridge/recognition/).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froym899%2Fcrf_segmentation_tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froym899%2Fcrf_segmentation_tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froym899%2Fcrf_segmentation_tutorial/lists"}