{"id":20962239,"url":"https://github.com/lartpang/hdfnet","last_synced_at":"2025-08-15T00:35:53.095Z","repository":{"id":108876935,"uuid":"276930164","full_name":"lartpang/HDFNet","owner":"lartpang","description":"(ECCV 2020) Hierarchical Dynamic Filtering Network for RGB-D Salient Object Detection","archived":false,"fork":false,"pushed_at":"2023-09-14T05:18:42.000Z","size":1711,"stargazers_count":89,"open_issues_count":0,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-04T12:07:46.965Z","etag":null,"topics":["eccv","eccv2020","image-processing","imageprocessing","imagesegmentation","pytorch","saliency","saliency-detection","salient-object-detection","segmentation"],"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/lartpang.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,"zenodo":null}},"created_at":"2020-07-03T15:21:42.000Z","updated_at":"2025-05-21T04:21:47.000Z","dependencies_parsed_at":"2025-07-04T12:07:48.508Z","dependency_job_id":"7cb9e9be-5067-4403-9558-5584982ffdc7","html_url":"https://github.com/lartpang/HDFNet","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lartpang/HDFNet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lartpang%2FHDFNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lartpang%2FHDFNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lartpang%2FHDFNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lartpang%2FHDFNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lartpang","download_url":"https://codeload.github.com/lartpang/HDFNet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lartpang%2FHDFNet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270505881,"owners_count":24596505,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["eccv","eccv2020","image-processing","imageprocessing","imagesegmentation","pytorch","saliency","saliency-detection","salient-object-detection","segmentation"],"created_at":"2024-11-19T02:25:14.843Z","updated_at":"2025-08-15T00:35:53.085Z","avatar_url":"https://github.com/lartpang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HDFNet\n\n![GitHub License](https://img.shields.io/github/license/lartpang/HDFNet?style=flat-square)\n![GitHub last commit](https://img.shields.io/github/last-commit/lartpang/HDFNet?style=flat-square)\n![GitHub issues](https://img.shields.io/github/issues/lartpang/HDFNet?style=flat-square)\n![GitHub stars](https://img.shields.io/github/stars/lartpang/HDFNet?style=flat-square)\n[![Arxiv Page](https://img.shields.io/badge/Arxiv-2007.06227-red?style=flat-square)](https://arxiv.org/abs/2007.06227)\n\n(ECCV 2020) Hierarchical Dynamic Filtering Network for RGB-D Salient Object Detection\n\nGitee Mirror: \u003chttps://gitee.com/p_lart/HDFNet\u003e\n\n\u003e Author: Lart Pang(`lartpang@163.com`)\n\u003e\n\u003e This is a complete, modular and easily modified code base based on PyTorch, which is suitable for the training and testing of significant target detection task model.\n\n```text\n@inproceedings{HDFNet-ECCV2020,\n    author = {Youwei Pang and Lihe Zhang and Xiaoqi Zhao and Huchuan Lu},\n    title = {Hierarchical Dynamic Filtering Network for RGB-D Salient Object Detection},\n    booktitle = ECCV,\n    year = {2020}\n}\n```\n\n**News**: \n* The proposed model (HDFNet) is an important baseline of the winning solution in NTIRE 2021 (Depth Guided Image Relighting Challenge) hosted in CVPR 2021 workshop (winner: AICSNTU-MBNet team (Asustek Computer Inc \u0026 National Taiwan University)). [[PAPER](https://arxiv.org/pdf/2105.00690.pdf)] [[COOD](https://github.com/weitingchen83/NTIRE2021-Depth-Guided-Image-Relighting-MBNet)]\n\n**NOTE**: \n* In the link below, we provide the results of the two versions (with/without `_STEREO`). \n* Specifically, in the file with `_STEREO`, two versions of the STEREO dataset are provided. \n    * One of them contains 797 pictures, and the other contains 1000 pictures. \n    * In our paper, the results evaluated on the latter are used, which is exactly what is provided in the file without `_STEREO`.\n\n[[Results \u0026 PretrainedParams (j9qu)](https://pan.baidu.com/s/1hExlf0uZ0kuar99xzpL0Sw)]\n\n* RGBD-DATASET\n    * https://github.com/jiwei0921/RGBD-SOD-datasets\n    * http://dpfan.net/d3netbenchmark/\n\n![image](https://user-images.githubusercontent.com/26847524/87150231-45f15f80-c2e4-11ea-8ce8-fb8588faf5f5.png)\n\n![image](https://user-images.githubusercontent.com/26847524/87150259-4e499a80-c2e4-11ea-94d2-1427a7a59bfa.png)\n\n![image](https://user-images.githubusercontent.com/26847524/87150301-5acdf300-c2e4-11ea-8bff-2f9178675730.png)\n\n![image](https://user-images.githubusercontent.com/26847524/87150362-789b5800-c2e4-11ea-81ea-8c70778efc6a.png)\n\n## Repository Details\n\n* `backbone`: Store some code for backbone networks.\n* `loss`: The code of the loss function.\n* `module`: The code of important modules.\n* `network`: The code of the network.\n* `output`: It saves all results.\n* `utils`: Some instrumental code.\n    * `data/*py`: Some files about creating the dataloader.\n    * `transforms/*py`: Some operations on data augmentation.\n    * `metric.py`: max/mean/weighted F-measure, S-measure, E-measure and MAE. (**NOTE: If you find a problem in this part of the code, please notify me in time, thank you.**)\n    * `misc.py`: Some useful utility functions.\n    * `tensor_ops.py`: Some operations about tensors.\n* `config.py`: Configuration file for model training and testing.\n* `train.py`: I think you can understand.\n* `test.py` and `test.sh`: These files can evaluate the performance of the model on the specified dataset. And the file `test.sh` is a simple example about how to configure and run `test.py`.\n\n## Usage\n\n### Environment\n\nI provided conda environment configuration file (hdfnet.yaml), you can refer to the package version information.\n\nAnd you can try `conda env create -f hdfnet.yaml` to create an environment to run our code.\n\n### Train your own model\n\n* Add your own module into the `module`.\n* Add your own network into the `network` and import your model in the `network/__init__.py`.\n* Modify `config.py`:\n    * change the dataset path: `datasets_root`\n    * change items in `arg_config`\n        * `model` corresponds to the name of the model in `network`\n        * `suffix`: finally, the form of `\u003cmodel\u003e_\u003csuffix\u003e` is used to form the alias of the model of this experiment and all files related to this experiment will be saved to the folder `\u003cmodel\u003e_\u003csuffix\u003e` in `output` folder\n        * `resume`: set it to `False` to train normally\n        * `data_mode`: set it to `RGBD` or `RGB` for using RGBD SOD datasets or RGB SOD datasets to train mdoel.\n        * other items, like `lr`, `batch_size` and so on...\n* Run the script: `python train.py`\n\nIf the training process is interrupted, you can use the following strategy to resume the training process.\n\n* Set `resume` to `True`.\n* Run the script `train.py` again.\n\n### Evaluate model performance\n\nThere are two ways:\n1. For models that have been trained, you can set `resume` to `True` and run the script `train.py` again.\n2. Use the scripts `test.sh` and `test.py`. The specific method of use can be obtained by executing this command: `python test.py --help`.\n\n### Only evaluate generated predictions\n\nYou can use the toolkit released by us: \u003chttps://github.com/lartpang/Py-SOD-VOS-EvalToolkit\u003e.\n\n## Related Works\n\n* (ECCV 2020 Oral) Suppress and Balance: A Simple Gated Network for Salient Object Detection: https://github.com/Xiaoqi-Zhao-DLUT/GateNet-RGB-Saliency\n* (ECCV 2020) A Single Stream Network for Robust and Real-time RGB-D Salient Object Detection: https://github.com/Xiaoqi-Zhao-DLUT/DANet-RGBD-Saliency\n* (CVPR 2020) Multi-scale Interactive Network for Salient Object Detection: https://github.com/lartpang/MINet\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flartpang%2Fhdfnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flartpang%2Fhdfnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flartpang%2Fhdfnet/lists"}