[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-wgcban--ChangeFormer":3,"similar-wgcban--ChangeFormer":110},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":19,"owner_email":20,"owner_twitter":14,"owner_website":21,"owner_url":22,"languages":23,"stars":36,"forks":37,"last_commit_at":38,"license":39,"difficulty_score":40,"env_os":41,"env_gpu":42,"env_ram":43,"env_deps":44,"category_tags":51,"github_topics":56,"view_count":68,"oss_zip_url":69,"oss_zip_packed_at":69,"status":70,"created_at":71,"updated_at":72,"faqs":73,"releases":104},3930,"wgcban\u002FChangeFormer","ChangeFormer","[IGARSS'22]: A Transformer-Based Siamese Network for Change Detection","ChangeFormer 是一款基于 Transformer 架构的孪生神经网络，专为遥感图像中的变化检测任务设计。它主要解决如何精准识别两幅不同时间拍摄的卫星或航空图像中地表物体（如建筑物、道路等）发生变化的问题，广泛应用于城市规划、灾害评估及环境监测等领域。\n\n该工具适合遥感领域的研究人员、AI 开发者以及需要处理地理空间数据的专业人士使用。其核心技术亮点在于摒弃了传统的卷积神经网络（CNN），转而利用 Transformer 强大的全局上下文建模能力，结合孪生网络结构，能够更有效地捕捉图像中的长距离依赖关系，从而在复杂场景下实现比传统方法更高的检测精度。\n\n官方提供了在 LEVIR-CD 和 DSIFN-CD 等主流数据集上的预训练模型与完整代码，支持用户快速复现论文结果或基于现有模型进行微调训练。无论是希望深入探索前沿算法的学者，还是寻求高效解决方案的工程师，ChangeFormer 都提供了一个灵活且高性能的开源基准。","## ChangeFormer: A Transformer-Based Siamese Network for Change Detection\n> [A Transformer-Based Siamese Network for Change Detection](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.01293)\n\n> [Wele Gedara Chaminda Bandara](https:\u002F\u002Fwww.wgcban.com\u002F), and [Vishal M. Patel](https:\u002F\u002Fengineering.jhu.edu\u002Fvpatel36\u002Fsciencex_teams\u002Fvishalpatel\u002F)\n\n> Presented at [IGARSS-22](https:\u002F\u002Fwww.igarss2022.org\u002Fdefault.php), Kuala Lumpur, Malaysia.\n\nUseful links:\n- Paper (published): https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F9883686\n- Paper (ArXiv): https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.01293\n- Presentation (in YouTube): https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=SkiNoTrSmQM\n\n## My other Change Detection repos:\n\n- Change Detection with Denoising Diffusion Probabilistic Models: [DDPM-CD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002Fddpm-cd)\n- Semi-supervised Change Detection: [SemiCD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FSemiCD)\n- Unsupervised Change Detection: [Metric-CD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FMetric-CD)\n\n\n## Network Architecture\n![image-20210228153142126](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwgcban_ChangeFormer_readme_5e51ef411ff9.jpeg)\n\n## Quantitative & Qualitative Results on LEVIR-CD and DSIFN-CD\n![image-20210228153142126](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwgcban_ChangeFormer_readme_85fe594b7454.png)\n\n# Usage\n## Requirements\n\n```\nPython 3.8.0\npytorch 1.10.1\ntorchvision 0.11.2\neinops  0.3.2\n```\n\n- Please see `requirements.txt` for all the other requirements.\n\n## Setting up conda environment: \n\nCreate a virtual ``conda`` environment named ``ChangeFormer`` with the following command:\n\n```bash\nconda create --name ChangeFormer --file requirements.txt\nconda activate ChangeFormer\n```\n\n## Installation\n\nClone this repo:\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer.git\ncd ChangeFormer\n```\n\n## Quick Start on LEVIR dataset\n\nWe have some samples from the [LEVIR-CD](https:\u002F\u002Fjustchenhao.github.io\u002FLEVIR\u002F) dataset in the folder `samples_LEVIR` for a quick start.\n\nFirstly, you can download our ChangeFormerV6 pretrained model——by [`Github-LEVIR-Pretrained`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip). \n\nPlace it in `checkpoints\u002FChangeFormer_LEVIR\u002F`.\n\nRun a demo to get started as follows:\n\n```python\npython demo_LEVIR.py\n```\n\nYou can find the prediction results in `samples\u002Fpredict_LEVIR`.\n\n\n## Quick Start on DSIFN dataset\n\nWe have some samples from the [`DSIFN-CD`](https:\u002F\u002Fgithub.com\u002FGeoZcx\u002FA-deeply-supervised-image-fusion-network-for-change-detection-in-remote-sensing-images\u002Ftree\u002Fmaster\u002Fdataset) dataset in the folder `samples_DSIFN` for a quick start.\n\nDownload our ChangeFormerV6 pretrained model——by [`Github`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_DSIFN_b16_lr0.00006_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip). After downloaded the pretrained model, you can put it in `checkpoints\u002FChangeFormer_DSIFN\u002F`.\n\nRun the demo to get started as follows:\n\n```python\npython demo_DSIFN.py\n```\n\nYou can find the prediction results in `samples\u002Fpredict_DSIFN`.\n\n## Training on LEVIR-CD\n\nWhen we initialy train our ChangeFormer, we initialized some parameters of the network with a model pre-trained on the RGB segmentation (ADE 160k dataset) to get faster convergence.\n\nYou can download the pre-trained model [`Github-LEVIR-Pretrained`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip).\n```\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fundtrlxiz7bkag5\u002Fpretrained_changeformer.pt\n```\n\nThen, update the path to the pre-trained model by updating the ``path`` argument in the ``run_ChangeFormer_LEVIR.sh``.\nHere:\nhttps:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fblob\u002Fa3eca2b1ec5d0d2628ea2e0b6beae85630ba79d4\u002Fscripts\u002Frun_ChangeFormer_LEVIR.sh#L28\n\nYou can find the training script `run_ChangeFormer_LEVIR.sh` in the folder `scripts`. You can run the script file by `sh scripts\u002Frun_ChangeFormer_LEVIR.sh` in the command environment.\n\nThe detailed script file `run_ChangeFormer_LEVIR.sh` is as follows:\n\n```cmd\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\n#GPUs\ngpus=0\n\n#Set paths\ncheckpoint_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fcheckpoints\nvis_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fvis\ndata_name=LEVIR\n\n\nimg_size=256    \nbatch_size=16   \nlr=0.0001         \nmax_epochs=200\nembed_dim=256\n\nnet_G=ChangeFormerV6        #ChangeFormerV6 is the finalized verion\n\nlr_policy=linear\noptimizer=adamw                 #Choices: sgd (set lr to 0.01), adam, adamw\nloss=ce                         #Choices: ce, fl (Focal Loss), miou\nmulti_scale_train=True\nmulti_scale_infer=False\nshuffle_AB=False\n\n#Initializing from pretrained weights\npretrain=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fpretrained_segformer\u002Fsegformer.b2.512x512.ade.160k.pth\n\n#Train and Validation splits\nsplit=train         #train\nsplit_val=test      #test, val\nproject_name=CD_${net_G}_${data_name}_b${batch_size}_lr${lr}_${optimizer}_${split}_${split_val}_${max_epochs}_${lr_policy}_${loss}_multi_train_${multi_scale_train}_multi_infer_${multi_scale_infer}_shuffle_AB_${shuffle_AB}_embed_dim_${embed_dim}\n\nCUDA_VISIBLE_DEVICES=1 python main_cd.py --img_size ${img_size} --loss ${loss} --checkpoint_root ${checkpoint_root} --vis_root ${vis_root} --lr_policy ${lr_policy} --optimizer ${optimizer} --pretrain ${pretrain} --split ${split} --split_val ${split_val} --net_G ${net_G} --multi_scale_train ${multi_scale_train} --multi_scale_infer ${multi_scale_infer} --gpu_ids ${gpus} --max_epochs ${max_epochs} --project_name ${project_name} --batch_size ${batch_size} --shuffle_AB ${shuffle_AB} --data_name ${data_name}  --lr ${lr} --embed_dim ${embed_dim}\n```\n\n## Training on DSIFN-CD\n\nFollow the similar procedure mentioned for LEVIR-CD. Use `run_ChangeFormer_DSIFN.sh` in `scripts` folder to train on DSIFN-CD.\n\n## Evaluate on LEVIR\n\nYou can find the evaluation script `eval_ChangeFormer_LEVIR.sh` in the folder `scripts`. You can run the script file by `sh scripts\u002Feval_ChangeFormer_LEVIR.sh` in the command environment.\n\nThe detailed script file `eval_ChangeFormer_LEVIR.sh` is as follows:\n\n```cmd\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\ngpus=0\n\ndata_name=LEVIR\nnet_G=ChangeFormerV6 #This is the best version\nsplit=test\nvis_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fvis\nproject_name=CD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256\ncheckpoints_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fcheckpoints\ncheckpoint_name=best_ckpt.pt\nimg_size=256\nembed_dim=256 #Make sure to change the embedding dim (best and default = 256)\n\nCUDA_VISIBLE_DEVICES=0 python eval_cd.py --split ${split} --net_G ${net_G} --embed_dim ${embed_dim} --img_size ${img_size} --vis_root ${vis_root} --checkpoints_root ${checkpoints_root} --checkpoint_name ${checkpoint_name} --gpu_ids ${gpus} --project_name ${project_name} --data_name ${data_name}\n```\n\n## Evaluate on DSIFN\n\nFollow the same evaluation procedure mentioned for LEVIR-CD. You can find the evaluation script `eval_ChangeFormer_DSFIN.sh` in the folder `scripts`. You can run the script file by `sh scripts\u002Feval_ChangeFormer_DSIFN.sh` in the command environment.\n\n### Dataset Preparation\n\n## Data structure\n\n```\nChange detection data set with pixel-level binary labels；\n├─A\n├─B\n├─label\n└─list\n```\n\n`A`: images of t1 phase;\n\n`B`:images of t2 phase;\n\n`label`: label maps;\n\n`list`: contains `train.txt, val.txt and test.txt`, each file records the image names (XXX.png) in the change detection dataset.\n\n## Links to processed datsets used for train\u002Fval\u002Ftest\n\nYou can download the processed `LEVIR-CD` and `DSIFN-CD` datasets by the DropBox through the following here:\n\n- LEVIR-CD-256: [`click here to download`](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip)\n- DSIFN-CD-256: [`click here to download`](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip)\n\nSince the file sizes are large, I recommed to use command line and cosider downloading the zip file as follows (in linux):\n\nTo download LEVIR-CD dataset run following command in linux-terminal:\n```cmd\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip\n```\nTo download DSIFN-CD dataset run following command in linux-terminal:\n```cmd\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip\n```\n\nFor your reference, I have also attached the inks to original LEVIR-CD and DSIFN-CD here: [`LEVIR-CD`](https:\u002F\u002Fjustchenhao.github.io\u002FLEVIR\u002F) and [`DSIFN-CD`](https:\u002F\u002Fgithub.com\u002FGeoZcx\u002FA-deeply-supervised-image-fusion-network-for-change-detection-in-remote-sensing-images\u002Ftree\u002Fmaster\u002Fdataset).\n\n### Other useful notes\n#### ChangeFormer for multi-class change detection\nIf you wish to use ChangeFormer for multi-class change detection, you will need to make a few modifications to the existing codebase, which is designed for binary change detection. There are many discussions in the issues section. The required modifications are (https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F93#issuecomment-1918609871):\n1. `run_ChangeFormer_cd.sh`: n_class=8 and make it a hyperparameter to python main.py\n2. `models\u002Fnetworks.py`: net = ChangeFormerV6(embed_dim=args.embed_dim, output_nc=args.n_class)\n3. `models\u002Fbasic_model.py`: Comment out: pred_vis = pred * 255, i.e., modifications to visualisation processing\n4. `models\u002Ftrainer.py`: Modify: ConfuseMatrixMeter(n_class=self.n_class)\n\n### License\n\nCode is released for non-commercial and research purposes **only**. For commercial purposes, please contact the authors.\n\n### Citation\n\nIf you use this code for your research, please cite our paper:\n\n```bibtex\n@INPROCEEDINGS{9883686,\n  author={Bandara, Wele Gedara Chaminda and Patel, Vishal M.},\n  booktitle={IGARSS 2022 - 2022 IEEE International Geoscience and Remote Sensing Symposium}, \n  title={A Transformer-Based Siamese Network for Change Detection}, \n  year={2022},\n  volume={},\n  number={},\n  pages={207-210},\n  doi={10.1109\u002FIGARSS46834.2022.9883686}}\n```\n\n## Disclaimer\nAppreciate the work from the following repositories:\n- https:\u002F\u002Fgithub.com\u002Fjustchenhao\u002FBIT_CD (Our ChangeFormer is implemented on the code provided in this repository)\n\n","## ChangeFormer：一种基于 Transformer 的孪生网络用于变化检测\n> [一种基于 Transformer 的孪生网络用于变化检测](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.01293)\n\n> [Wele Gedara Chaminda Bandara](https:\u002F\u002Fwww.wgcban.com\u002F) 和 [Vishal M. Patel](https:\u002F\u002Fengineering.jhu.edu\u002Fvpatel36\u002Fsciencex_teams\u002Fvishalpatel\u002F)\n\n> 在 [IGARSS-22](https:\u002F\u002Fwww.igarss2022.org\u002Fdefault.php)，马来西亚吉隆坡发表。\n\n有用链接：\n- 论文（已发表）：https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F9883686\n- 论文（ArXiv）：https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.01293\n- 演示视频（YouTube）：https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=SkiNoTrSmQM\n\n## 我的其他变化检测仓库：\n\n- 基于去噪扩散概率模型的变化检测：[DDPM-CD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002Fddpm-cd)\n- 半监督变化检测：[SemiCD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FSemiCD)\n- 无监督变化检测：[Metric-CD](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FMetric-CD)\n\n\n## 网络架构\n![image-20210228153142126](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwgcban_ChangeFormer_readme_5e51ef411ff9.jpeg)\n\n## LEVIR-CD 和 DSIFN-CD 上的定量与定性结果\n![image-20210228153142126](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwgcban_ChangeFormer_readme_85fe594b7454.png)\n\n# 使用方法\n## 需求\n\n```\nPython 3.8.0\npytorch 1.10.1\ntorchvision 0.11.2\neinops  0.3.2\n```\n\n- 请参阅 `requirements.txt` 获取所有其他依赖项。\n\n## 设置 conda 环境：\n\n使用以下命令创建名为 `ChangeFormer` 的虚拟 `conda` 环境：\n\n```bash\nconda create --name ChangeFormer --file requirements.txt\nconda activate ChangeFormer\n```\n\n## 安装\n\n克隆此仓库：\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer.git\ncd ChangeFormer\n```\n\n## LEVIR 数据集快速入门\n\n我们在文件夹 `samples_LEVIR` 中提供了一些来自 [LEVIR-CD](https:\u002F\u002Fjustchenhao.github.io\u002FLEVIR\u002F) 数据集的样本，方便快速上手。\n\n首先，您可以下载我们训练好的 ChangeFormerV6 模型——通过 [`Github-LEVIR-Pretrained`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip)。\n\n将其放置在 `checkpoints\u002FChangeFormer_LEVIR\u002F` 目录下。\n\n运行演示以开始使用：\n\n```python\npython demo_LEVIR.py\n```\n\n您可以在 `samples\u002Fpredict_LEVIR` 中找到预测结果。\n\n## DSIFN 数据集快速入门\n\n我们在文件夹 `samples_DSIFN` 中提供了一些来自 [`DSIFN-CD`](https:\u002F\u002Fgithub.com\u002FGeoZcx\u002FA-deeply-supervised-image-fusion-network-for-change-detection-in-remote-sensing-images\u002Ftree\u002Fmaster\u002Fdataset) 数据集的样本，方便快速上手。\n\n下载我们训练好的 ChangeFormerV6 模型——通过 [`Github`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_DSIFN_b16_lr0.00006_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip)。下载完成后，您可以将其放入 `checkpoints\u002FChangeFormer_DSIFN\u002F` 目录中。\n\n运行演示以开始使用：\n\n```python\npython demo_DSIFN.py\n```\n\n您可以在 `samples\u002Fpredict_DSIFN` 中找到预测结果。\n\n## 在 LEVIR-CD 上训练\n\n当我们首次训练 ChangeFormer 时，为了加快收敛速度，我们用在 RGB 分割任务（ADE 160k 数据集）上预训练的模型初始化了网络的部分参数。\n\n您可以下载预训练模型 [`Github-LEVIR-Pretrained`](https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip)。\n```\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fundtrlxiz7bkag5\u002Fpretrained_changeformer.pt\n```\n\n然后，通过更新 `run_ChangeFormer_LEVIR.sh` 中的 `path` 参数来指定预训练模型的路径。\n此处：\nhttps:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fblob\u002Fa3eca2b1ec5d0d2628ea2e0b6beae85630ba79d4\u002Fscripts\u002Frun_ChangeFormer_LEVIR.sh#L28\n\n您可以在 `scripts` 文件夹中找到训练脚本 `run_ChangeFormer_LEVIR.sh`。您可以通过在命令行环境中执行 `sh scripts\u002Frun_ChangeFormer_LEVIR.sh` 来运行该脚本。\n\n详细的 `run_ChangeFormer_LEVIR.sh` 脚本如下所示：\n\n```cmd\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\n#GPU\ngpus=0\n\n#设置路径\ncheckpoint_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fcheckpoints\nvis_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fvis\ndata_name=LEVIR\n\n\nimg_size=256    \nbatch_size=16   \nlr=0.0001         \nmax_epochs=200\nembed_dim=256\n\nnet_G=ChangeFormerV6        #ChangeFormerV6 是最终版本\n\nlr_policy=linear\noptimizer=adamw                 #选项：sgd（设置 lr 为 0.01）、adam、adamw\nloss=ce                         #选项：ce、fl（Focal Loss）、miou\nmulti_scale_train=True\nmulti_scale_infer=False\nshuffle_AB=False\n\n#从预训练权重初始化\npretrain=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fpretrained_segformer\u002Fsegformer.b2.512x512.ade.160k.pth\n\n#训练和验证划分\nsplit=train         #训练\nsplit_val=test      #测试、验证\nproject_name=CD_${net_G}_${data_name}_b${batch_size}_lr${lr}_${optimizer}_${split}_${split_val}_${max_epochs}_${lr_policy}_${loss}_multi_train_${multi_scale_train}_multi_infer_${multi_scale_infer}_shuffle_AB_${shuffle_AB}_embed_dim_${embed_dim}\n\nCUDA_VISIBLE_DEVICES=1 python main_cd.py --img_size ${img_size} --loss ${loss} --checkpoint_root ${checkpoint_root} --vis_root ${vis_root} --lr_policy ${lr_policy} --optimizer ${optimizer} --pretrain ${pretrain} --split ${split} --split_val ${split_val} --net_G ${net_G} --multi_scale_train ${multi_scale_train} --multi_scale_infer ${multi_scale_infer} --gpu_ids ${gpus} --max_epochs ${max_epochs} --project_name ${project_name} --batch_size ${batch_size} --shuffle_AB ${shuffle_AB} --data_name ${data_name}  --lr ${lr} --embed_dim ${embed_dim}\n```\n\n## 在 DSIFN-CD 上训练\n\n遵循与 LEVIR-CD 类似的流程。使用 `scripts` 文件夹中的 `run_ChangeFormer_DSIFN.sh` 来在 DSIFN-CD 上进行训练。\n\n## 在 LEVIR 上评估\n\n您可以在 `scripts` 文件夹中找到评估脚本 `eval_ChangeFormer_LEVIR.sh`。您可以通过在命令行环境中执行 `sh scripts\u002Feval_ChangeFormer_LEVIR.sh` 来运行该脚本。\n\n详细的 `eval_ChangeFormer_LEVIR.sh` 脚本如下所示：\n\n```cmd\n#!\u002Fusr\u002Fbin\u002Fenv bash\n\ngpus=0\n\ndata_name=LEVIR\nnet_G=ChangeFormerV6 #这是最佳版本\nsplit=test\nvis_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fvis\nproject_name=CD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256\ncheckpoints_root=\u002Fmedia\u002Flidan\u002Fssd2\u002FChangeFormer\u002Fcheckpoints\ncheckpoint_name=best_ckpt.pt\nimg_size=256\nembed_dim=256 #请确保更改嵌入维度（最佳且默认值为 256）\n\nCUDA_VISIBLE_DEVICES=0 python eval_cd.py --split ${split} --net_G ${net_G} --embed_dim ${embed_dim} --img_size ${img_size} --vis_root ${vis_root} --checkpoints_root ${checkpoints_root} --checkpoint_name ${checkpoint_name} --gpu_ids ${gpus} --project_name ${project_name} --data_name ${data_name}\n```\n\n## 在 DSIFN 上进行评估\n\n请遵循与 LEVIR-CD 相同的评估流程。您可以在 `scripts` 文件夹中找到评估脚本 `eval_ChangeFormer_DSFIN.sh`。在命令行环境中，可以通过运行 `sh scripts\u002Feval_ChangeFormer_DSIFN.sh` 来执行该脚本。\n\n### 数据集准备\n\n## 数据结构\n\n```\n具有像素级二值标签的变化检测数据集；\n├─A\n├─B\n├─label\n└─list\n```\n\n`A`：t1 阶段的图像；\n\n`B`：t2 阶段的图像；\n\n`label`：标签图；\n\n`list`：包含 `train.txt、val.txt 和 test.txt`，每个文件记录变化检测数据集中图像的名称（XXX.png）。\n\n## 用于训练\u002F验证\u002F测试的处理后数据集链接\n\n您可以通过以下 Dropbox 链接下载处理后的 `LEVIR-CD` 和 `DSIFN-CD` 数据集：\n\n- LEVIR-CD-256：[`点击此处下载`](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip)\n- DSIFN-CD-256：[`点击此处下载`](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip)\n\n由于文件较大，建议使用命令行工具下载，例如在 Linux 系统中运行以下命令：\n\n下载 LEVIR-CD 数据集：\n```cmd\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip\n```\n\n下载 DSIFN-CD 数据集：\n```cmd\nwget https:\u002F\u002Fwww.dropbox.com\u002Fs\u002F18fb5jo0npu5evm\u002FLEVIR-CD256.zip\n```\n\n供参考，我还附上了原始 LEVIR-CD 和 DSIFN-CD 的链接：[`LEVIR-CD`](https:\u002F\u002Fjustchenhao.github.io\u002FLEVIR\u002F) 和 [`DSIFN-CD`](https:\u002F\u002Fgithub.com\u002FGeoZcx\u002FA-deeply-supervised-image-fusion-network-for-change-detection-in-remote-sensing-images\u002Ftree\u002Fmaster\u002Fdataset)。\n\n### 其他有用提示\n#### ChangeFormer 用于多类变化检测\n如果您希望将 ChangeFormer 用于多类变化检测，需要对现有代码库进行一些修改，因为当前代码是为二分类变化检测设计的。相关讨论已在 Issues 中展开。所需修改如下（https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F93#issuecomment-1918609871）：\n1. `run_ChangeFormer_cd.sh`：将 `n_class` 设置为 8，并将其作为超参数传递给 `python main.py`。\n2. `models\u002Fnetworks.py`：修改网络定义为 `net = ChangeFormerV6(embed_dim=args.embed_dim, output_nc=args.n_class)`。\n3. `models\u002Fbasic_model.py`：注释掉 `pred_vis = pred * 255`，即修改可视化处理部分。\n4. `models\u002Ftrainer.py`：修改混淆矩阵计算模块，使其支持多类别：`ConfuseMatrixMeter(n_class=self.n_class)`。\n\n### 许可协议\n代码仅用于非商业和科研目的。如需商业用途，请联系作者。\n\n### 引用\n如果您在研究中使用此代码，请引用我们的论文：\n\n```bibtex\n@INPROCEEDINGS{9883686,\n  author={Bandara, Wele Gedara Chaminda and Patel, Vishal M.},\n  booktitle={IGARSS 2022 - 2022 IEEE International Geoscience and Remote Sensing Symposium}, \n  title={基于 Transformer 的双分支网络用于变化检测}, \n  year={2022},\n  volume={},\n  number={},\n  pages={207-210},\n  doi={10.1109\u002FIGARSS46834.2022.9883686}}\n```\n\n## 免责声明\n感谢以下仓库的工作：\n- https:\u002F\u002Fgithub.com\u002Fjustchenhao\u002FBIT_CD（我们的 ChangeFormer 是基于该仓库提供的代码实现的）","# ChangeFormer 快速上手指南\n\nChangeFormer 是一个基于 Transformer 的孪生网络，专为遥感图像变化检测任务设计。本指南将帮助中国开发者快速完成环境配置、安装及基础推理演示。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 Windows\n*   **Python**: 3.8.0\n*   **深度学习框架**:\n    *   PyTorch: 1.10.1\n    *   Torchvision: 0.11.2\n*   **其他依赖**: `einops` (0.3.2) 等（详见 `requirements.txt`）\n*   **硬件**: 建议配备 NVIDIA GPU 以加速推理和训练\n\n> **提示**：国内用户建议使用清华源或阿里源加速 `pip` 和 `conda` 包的下载。\n\n## 安装步骤\n\n### 1. 创建 Conda 虚拟环境\n使用项目提供的 `requirements.txt` 创建名为 `ChangeFormer` 的虚拟环境：\n\n```bash\nconda create --name ChangeFormer --file requirements.txt\nconda activate ChangeFormer\n```\n\n*若自动安装失败，可手动指定国内源安装核心依赖：*\n```bash\nconda install pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch\npip install einops==0.3.2 -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2. 克隆代码仓库\n将项目代码克隆到本地：\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer.git\ncd ChangeFormer\n```\n\n## 基本使用\n\n本项目提供了基于 **LEVIR-CD** 和 **DSIFN-CD** 数据集的快速演示脚本。以下以 LEVIR-CD 为例，展示如何加载预训练模型并进行推理。\n\n### 1. 下载预训练模型\n下载针对 LEVIR-CD 数据集预训练的 ChangeFormerV6 模型，并将其放置在指定目录：\n\n```bash\n# 创建目录\nmkdir -p checkpoints\u002FChangeFormer_LEVIR\u002F\n\n# 下载模型 (示例链接，若下载慢可手动下载后放入目录)\nwget https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Freleases\u002Fdownload\u002Fv0.1.0\u002FCD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip\n\n# 解压并将模型文件 (.pt) 移动至 checkpoints\u002FChangeFormer_LEVIR\u002F 目录\nunzip CD_ChangeFormerV6_LEVIR_b16_lr0.0001_adamw_train_test_200_linear_ce_multi_train_True_multi_infer_False_shuffle_AB_False_embed_dim_256.zip\n# 请确保最终的 .pt 文件位于 checkpoints\u002FChangeFormer_LEVIR\u002F 下\n```\n\n### 2. 运行演示脚本\n项目文件夹 `samples_LEVIR` 中已包含少量测试样本。直接运行以下命令即可生成预测结果：\n\n```python\npython demo_LEVIR.py\n```\n\n### 3. 查看结果\n推理完成后，生成的变化检测掩码图将保存在以下路径：\n*   **结果目录**: `samples\u002Fpredict_LEVIR`\n\n---\n*注：如需使用 DSIFN-CD 数据集进行演示，请参考上述步骤，将模型下载至 `checkpoints\u002FChangeFormer_DSIFN\u002F` 并运行 `python demo_DSIFN.py`，结果将输出至 `samples\u002Fpredict_DSIFN`。*","某省级自然资源监测中心急需对全省过去五年的高分辨率卫星影像进行自动化分析，以精准识别违规建筑扩张和耕地流失情况。\n\n### 没有 ChangeFormer 时\n- **人工判读效率低下**：面对海量双时相遥感影像，分析师只能依靠肉眼逐帧比对，耗时数周且极易因视觉疲劳产生漏检。\n- **传统算法误报率高**：基于像素差值或浅层 CNN 的传统方法难以区分季节性植被变化、光照差异与真实的土地覆盖改变，导致大量虚假警报。\n- **细节特征丢失严重**：现有模型在处理建筑物边缘、道路细微延伸等小尺度变化时表现乏力，无法生成边界清晰的变更图斑。\n- **模型泛化能力不足**：针对不同地域或传感器拍摄的影像，往往需要重新调整大量参数甚至重新训练，部署成本极高。\n\n### 使用 ChangeFormer 后\n- **自动化批量处理**：利用 ChangeFormer 的 Siamese Transformer 架构，系统可自动并行处理成千上万对影像，将原本数周的工作量压缩至数小时完成。\n- **抗干扰能力显著增强**：凭借 Transformer 强大的全局上下文建模能力，ChangeFormer 能有效抑制云层阴影、季节更替带来的噪声，大幅降低误报率。\n- **高精度边界提取**：模型在 LEVIR-CD 等数据集上验证的卓越性能，使其能精准捕捉建筑物扩建等细微变化，输出边缘锐利、拓扑准确的变更掩膜。\n- **开箱即用的泛化性**：直接加载官方预训练的 ChangeFormerV6 权重，即可在不同区域的遥感数据上获得稳定可靠的检测结果，无需从零开始训练。\n\nChangeFormer 通过将先进的 Transformer 机制引入变化检测，彻底解决了传统方法在复杂场景下“看不清、辨不准、跑不动”的难题，实现了遥感监测的智能化升级。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwgcban_ChangeFormer_85fe594b.png","wgcban","Chaminda Bandara","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwgcban_2d7715d9.jpg","Solving problems in computer vision and deep learning. PhD from ECE, Johns Hopkins.","The Johns Hopkins University","Baltimore, MD, USA","wbandar1@jhu.edu","wgcban.com","https:\u002F\u002Fgithub.com\u002Fwgcban",[24,28,32],{"name":25,"color":26,"percentage":27},"Python","#3572A5",90.8,{"name":29,"color":30,"percentage":31},"Shell","#89e051",5.4,{"name":33,"color":34,"percentage":35},"MATLAB","#e16737",3.9,592,79,"2026-04-04T21:19:56","MIT",3,"Linux","需要 NVIDIA GPU (脚本中指定 CUDA_VISIBLE_DEVICES)，具体型号和显存未说明，需支持 PyTorch 1.10.1","未说明",{"notes":45,"python":46,"dependencies":47},"建议使用 conda 创建虚拟环境。训练时可选加载在 ADE 160k 数据集上预训练的分割模型以加速收敛。代码默认针对二值变化检测，若用于多类检测需修改源码。数据集较大，建议在 Linux 终端使用 wget 下载。","3.8.0",[48,49,50],"pytorch==1.10.1","torchvision==0.11.2","einops==0.3.2",[52,53,54,55],"插件","图像","开发框架","语言模型",[57,58,59,60,61,62,63,64,65,66,67],"change-detection","remote-sensing","siamese-network","transformer-encoder","transformer-architecture","attention-mechanism","pytorch","deep-learning","satellite-imagery","multi-temporal","climate-change",2,null,"ready","2026-03-27T02:49:30.150509","2026-04-06T07:14:17.980812",[74,79,84,89,94,99],{"id":75,"question_zh":76,"answer_zh":77,"source_url":78},17956,"如何使用 ChangeFormer 处理自己的数据并获取变化检测结果？","Transformer 解码器的输出 'cp' 包含四个张量，分别对应不同空间尺度（HxW, H\u002F2xW\u002F2, H\u002F4xW\u002F4, H\u002F8xW\u002F8）的输出。这些输出用于在配置文件中设置 'multi_scale_train=True' 时计算多尺度损失。若要获取最终的变化图，通常使用解码器的最终输出或根据需求聚合多尺度信息。多尺度损失函数常用于提高变化检测地图的质量。相关配置可在运行脚本（如 run_ChangeFormer_LEVIR.sh）和 models\u002Ftrainer.py 中找到。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F6",{"id":80,"question_zh":81,"answer_zh":82,"source_url":83},17957,"如何修改代码以支持多于两类的变化检测（多分类任务）？","仅修改 'args.n_class' 参数是不够的。必须确保标签数据具有正确的编码方案，即每个类别在标签图像中都有对应的唯一整数值。例如，如果有 4 个类别（如“缺失”、“新增”、“旋转”、“替换”），标签图像中的像素值应分别为 0, 1, 2, 3 等。如果某些类别被标记为不可变或编码不匹配，即使更改了 n_class 也无法生效。请检查标签图像的编码是否与类别数一致。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F29",{"id":85,"question_zh":86,"answer_zh":87,"source_url":88},17958,"加载预训练模型时出现键不匹配（keys mismatch）错误怎么办？","该错误通常是因为脚本文件中指定的模型参数（如嵌入维度 embedding dim）与预训练模型不一致。请仔细检查运行脚本中的参数设置，确保与预训练模型的结构完全匹配。此外，确认预训练模型的路径和文件名正确。虽然在加载状态字典时设置 strict=False 可以忽略部分键缺失，但在推理阶段通常需要加载所有权重，因此最好从根本上解决参数不匹配问题。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F18",{"id":90,"question_zh":91,"answer_zh":92,"source_url":93},17959,"如何在新的多类别数据集（如 Landsat-SCD）上训练 ChangeFormer？","对于包含多个类别的新数据集（如 Landsat-SCD 有 10 类），可以直接使用预训练权重（pretrained_changeformer.pt）进行初始化，然后从头开始训练（train from scratch）或微调。代码中通过 'self.net_G.load_state_dict(torch.load(self.args.pretrain), strict=False)' 加载预训练权重。实验表明，经过约 100 个 epoch 的训练后，多类别的 F1 分数可以接近论文报告的结果。确保数据集结构与 LEVIR-CD 类似，并正确设置类别数量。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F40",{"id":95,"question_zh":96,"answer_zh":97,"source_url":98},17960,"ChangeFormer 的参数量（Params）和计算量（FLOPs）是多少？与 BiT 相比如何？","具体的参数量（M）和 FLOPs 数据可以在项目的对比图表或相关讨论中找到。维护者曾在回复中提供了包含参数量和 FLOPs 的对比截图，显示 ChangeFormer 与 BiT 等模型的性能对比。建议查看 Issue 评论中的图片或项目文档中的性能表格以获取确切数值。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F13",{"id":100,"question_zh":101,"answer_zh":102,"source_url":103},17961,"推荐使用什么工具进行变化检测数据的标注？","社区用户推荐使用 X-AnyLabeling 工具进行数据标注。这是一个强大的标注工具，适用于各种计算机视觉任务，包括变化检测。可以通过其 GitHub 仓库（https:\u002F\u002Fgithub.com\u002FCVHub520\u002FX-AnyLabeling）获取和使用该工具。","https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fissues\u002F76",[105],{"id":106,"version":107,"summary_zh":108,"released_at":109},108288,"v0.1.0","[arXiv V5](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.01293v5) 中的结果。\n\n- [ ] LEVIR-CD 数据集上的结果\n  - 精度：92.05\n  - 召回率：88.80\n  - F1 分数：90.40\n  - IoU：82.48\n  - 总体准确率：99.04\n\n- [ ] DSIFN-CD 数据集上的结果\n  - 精度：88.48\n  - 召回率：84.94\n  - F1 分数：86.67\n  - IoU：76.48\n  - 总体准确率：95.56\n\n## 变更内容\n* Mac，由 @wgcban 在 https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fpull\u002F1 中完成\n* 演示文件，由 @wgcban 在 https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fpull\u002F2 中完成\n* 增加定性结果，由 @wgcban 在 https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fpull\u002F3 中完成\n\n## 新贡献者\n* @wgcban 在 https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fpull\u002F1 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwgcban\u002FChangeFormer\u002Fcommits\u002Fv0.1.0","2022-02-20T16:03:09",[111,120,128,136,144,156],{"id":112,"name":113,"github_repo":114,"description_zh":115,"stars":116,"difficulty_score":40,"last_commit_at":117,"category_tags":118,"status":70},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[54,53,119],"Agent",{"id":121,"name":122,"github_repo":123,"description_zh":124,"stars":125,"difficulty_score":68,"last_commit_at":126,"category_tags":127,"status":70},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,"2026-04-05T11:33:21",[54,119,55],{"id":129,"name":130,"github_repo":131,"description_zh":132,"stars":133,"difficulty_score":68,"last_commit_at":134,"category_tags":135,"status":70},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[54,53,119],{"id":137,"name":138,"github_repo":139,"description_zh":140,"stars":141,"difficulty_score":68,"last_commit_at":142,"category_tags":143,"status":70},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[54,55],{"id":145,"name":146,"github_repo":147,"description_zh":148,"stars":149,"difficulty_score":68,"last_commit_at":150,"category_tags":151,"status":70},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[53,152,153,52,119,154,55,54,155],"数据工具","视频","其他","音频",{"id":157,"name":158,"github_repo":159,"description_zh":160,"stars":161,"difficulty_score":40,"last_commit_at":162,"category_tags":163,"status":70},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[119,53,54,55,154]]