{"id":23112007,"url":"https://github.com/lightaxis/translucent-dust-detection-gpu-cuda-","last_synced_at":"2025-07-17T02:43:52.466Z","repository":{"id":154353877,"uuid":"324190386","full_name":"lightAxis/Translucent-Dust-Detection-GPU-CUDA-","owner":"lightAxis","description":"후속연구 https://github.com/jisuk500/Facade-Contaminant-Detection","archived":false,"fork":false,"pushed_at":"2024-01-11T11:00:59.000Z","size":1177,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T11:41:27.104Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/lightAxis.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,"publiccode":null,"codemeta":null}},"created_at":"2020-12-24T15:56:31.000Z","updated_at":"2024-01-11T11:00:50.000Z","dependencies_parsed_at":"2024-01-11T13:20:41.229Z","dependency_job_id":null,"html_url":"https://github.com/lightAxis/Translucent-Dust-Detection-GPU-CUDA-","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/lightAxis%2FTranslucent-Dust-Detection-GPU-CUDA-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightAxis%2FTranslucent-Dust-Detection-GPU-CUDA-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightAxis%2FTranslucent-Dust-Detection-GPU-CUDA-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightAxis%2FTranslucent-Dust-Detection-GPU-CUDA-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightAxis","download_url":"https://codeload.github.com/lightAxis/Translucent-Dust-Detection-GPU-CUDA-/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247097972,"owners_count":20883127,"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-12-17T02:15:37.085Z","updated_at":"2025-04-03T23:44:28.737Z","avatar_url":"https://github.com/lightAxis.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Translucent-Dust-Detection-GPU-CUDA-\n선행연구 : [Facade-Contaminant-Detection](https://github.com/lightAxis/Facade-Contaminant-Detection)\n\nUsing GPU library CUDA to accelerate processing time\n\n## Contribution\nPrevious mean-shift process has many centroids together.\nCPU processing cannot deal with it parallely.\nTrying to use GPU to allocate each core a single centroid, process parallely.\n\nPrevious mean-shift process's centroids has no lifetime. Only if when the centroid is dead, it stops\nThis trait boders GPU processing time, as other centroids have to wait untill all centroids finish calculation.\nSo I made lifetime trait in mean-shift process. centroid dies when reached to maximum lifetime(maxIter) count.\n\n## Result\n\n![그림1](https://user-images.githubusercontent.com/62084431/103011839-f2b35680-457d-11eb-9e39-0d9bff6c4094.png)\n\nEstimated Density\n|maxLiftTime|Pic 1|Pic 2|Pic 3|\n|:-:|:-:|:-:|:-:|\n|Full|0.301|0.463|0.739|\n|20  |0.301|0.463|0.738|\n|15  |0.301|0.463|0.738|\n|10  |0.300|0.463|0.732|\n|8   |0.299|0.462|0.728|\n|5   |0.295|0.459|0.719|\n\n\nCPU Calculation Times(ms)\n|maxLiftTime|Pic 1|Pic 2|Pic 3|\n|:-:|:-:|:-:|:-:|\n|Full|366|476|900|\n|20  |337|476|747|\n|15  |289|392|649|\n|10  |245|327|508|\n|8   |207|307|419|\n|5   |145|196|283|\n\nGPU Calculation Times(ms)\n|maxLiftTime|Pic 1|Pic 2|Pic 3|\n|:-:|:-:|:-:|:-:|\n|Full|462|558|677|\n|20  |282|290|237|\n|15  |228|224|237|\n|10  |163|163|167|\n|8   |138|138|139|\n|5   |97 |96 |98 |\n\n![그림1](https://user-images.githubusercontent.com/62084431/103119057-044b4a00-46b5-11eb-96be-6d9b4bd88e7c.png)\n\n![그림2](https://user-images.githubusercontent.com/62084431/103119058-057c7700-46b5-11eb-85b1-996f8a9a4ea2.png)\n\n\n## Conclusion\n\nSelect maxLifeTime value of 10:\nReduces processing time when use CPU: 900ms -\u003e 508 ms\nReduces processing time when use GPU: 900ms(CPU) -\u003e 167(GPU)ms\n\nGet 5.4 times Faster processing time than previous study\n\n\nYou can change maxLiftTime to trade-off processing time \u003c-\u003e estimation accuracy\nIn case of maxLifeTime=5, reduces 900ms -\u003e 98ms. But estimation accuracy error rises to 2%\n\n## Environment\n\nOpenCV 4.01 / C++ / CUDA 10.1 / Visual Studio 2019\n\nCPU - Intel i7-8750H @ 2.20GHz\n\nGPU - GTX 1060\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightaxis%2Ftranslucent-dust-detection-gpu-cuda-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightaxis%2Ftranslucent-dust-detection-gpu-cuda-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightaxis%2Ftranslucent-dust-detection-gpu-cuda-/lists"}