{"id":15631293,"url":"https://github.com/kkweon/unet-in-tensorflow","last_synced_at":"2025-08-20T12:32:34.690Z","repository":{"id":150541570,"uuid":"91636714","full_name":"kkweon/UNet-in-Tensorflow","owner":"kkweon","description":"U-Net implementation in Tensorflow","archived":false,"fork":false,"pushed_at":"2018-01-09T20:45:27.000Z","size":18728,"stargazers_count":195,"open_issues_count":10,"forks_count":83,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-12-10T02:10:23.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","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/kkweon.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-18T01:46:16.000Z","updated_at":"2024-07-24T08:29:18.000Z","dependencies_parsed_at":"2023-04-30T12:16:11.889Z","dependency_job_id":null,"html_url":"https://github.com/kkweon/UNet-in-Tensorflow","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/kkweon%2FUNet-in-Tensorflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkweon%2FUNet-in-Tensorflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkweon%2FUNet-in-Tensorflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkweon%2FUNet-in-Tensorflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kkweon","download_url":"https://codeload.github.com/kkweon/UNet-in-Tensorflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230423564,"owners_count":18223435,"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":[],"created_at":"2024-10-03T10:39:50.490Z","updated_at":"2024-12-19T11:13:33.485Z","avatar_url":"https://github.com/kkweon.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# U-Net Implementation in TensorFlow\n\n\u003cimg src=\"assets/output.gif\" width=1024 /\u003e\n\nRe implementation of U-Net in Tensorflow\n- to check how image segmentations can be used for detection problems\n\nOriginal Paper\n- [U-Net: Convolutional Networks for Biomedical Image Segmentation](https://arxiv.org/abs/1505.04597)\n\n## Summary\n\nVehicle Detection using U-Net\n\nObjective: detect vehicles\nFind a function f such that y = f(X)\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eInput\u003c/th\u003e\n        \u003cth\u003eShape\u003c/th\u003e\n        \u003cth\u003eExplanation\u003c/th\u003e\n        \u003cth\u003eExample\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eX: 3-D Tensor\u003c/td\u003e\n        \u003ctd\u003e(640, 960, 3)\u003c/td\u003e\n        \u003ctd\u003eRGB image in an array\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"assets/example_input.jpg\" width=320 /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003ey: 3-D Tensor\u003c/td\u003e\n        \u003ctd\u003e(640, 960, 1)\u003c/td\u003e\n        \u003ctd\u003eBinarized image. Bacground is 0\u003cbr /\u003evehicle is masked as 255\u003c/td\u003e\n        \u003ctd\u003e\u003cimg src=\"assets/example_output.jpg\" width=320 /\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\nLoss function: maximize IOU\n```\n    (intersection of prediction \u0026 grount truth)\n    -------------------------------------------\n    (union of prediction \u0026 ground truth)\n```\n\n### Examples on Test Data: trained for 3 epochs\n\u003cimg src=\"assets/result1.png\" /\u003e\n\u003cimg src=\"assets/result2.png\" /\u003e\n\u003cimg src=\"assets/result3.png\" /\u003e\n\u003cimg src=\"assets/result4.png\" /\u003e\n\u003cimg src=\"assets/result5.png\" /\u003e\n\u003cimg src=\"assets/result6.png\" /\u003e\n\u003cimg src=\"assets/result7.png\" /\u003e\n\n\n## Get Started\n\n### Download dataset\n\n- the annotated driving dataset is provided by [Udacity](https://github.com/udacity/self-driving-car/tree/master/annotations)\n- In total, 9,423 frames with 65,000 labels at 1920x1200 resolution.\n\n```bash\nmake download\n```\n\n### Resize image and generate mask images\n\n- [utils/data.py](./utils/data.py) is used to resize images and generate masks\n\n```bash\nmake generate\n```\n\n### Train Test Split\n\nMake sure masks and bounding boxes\n\n```bash\njupyter notebook \"Visualization \u0026 Train Test Split.ipynb\"\n```\n\n### Train\n\n```bash\n# Train for 1 epoch\npython train.py\n```\n\nor\n\n```bash\n$ python train.py --help\nusage: train.py [-h] [--epochs EPOCHS] [--batch-size BATCH_SIZE]\n                [--logdir LOGDIR] [--reg REG] [--ckdir CKDIR]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --epochs EPOCHS       Number of epochs (default: 1)\n  --batch-size BATCH_SIZE\n                        Batch size (default: 4)\n  --logdir LOGDIR       Tensorboard log directory (default: logdir)\n  --reg REG             L2 Regularizer Term (default: 0.1)\n  --ckdir CKDIR         Checkpoint directory (default: models)\n```\n\n### Test\n\n- Open the Jupyter notebook file to run against test data\n\n```bash\njupyter notebook \"./Test Run After Training.ipynb\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkweon%2Funet-in-tensorflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkkweon%2Funet-in-tensorflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkweon%2Funet-in-tensorflow/lists"}