Giter VIP home page Giter VIP logo

senseearth2020-changedetection's People

Contributors

liheyoung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

senseearth2020-changedetection's Issues

About unet model

I use hrnet18 as the backbone network and unet as the model. But "n_channels = self.backbone.channels" in the unet code is [270]. So when the following statement is run, an error will be reported. What is the reason?
"self.decoder1 = DecoderBlock(n_channels[-1] + n_channels[-2], n_channels[-2], lightweight)"

有关hrnet的问题

你好,非常感谢开源的代码!
但是在运行代码的时候有些问题,当hrnet作为主干网络提取特征时,backbone的channels列表中只加入了stage4的通道总和。

self.stage4_cfg = extra['STAGE4']
num_channels = self.stage4_cfg['NUM_CHANNELS']
block = blocks_dict[self.stage4_cfg['BLOCK']]
num_channels = [num_channels[i] * block.expansion for i in range(len(num_channels))]
self.transition3 = self._make_transition_layer(pre_stage_channels, num_channels)
self.stage4, pre_stage_channels = self._make_stage(self.stage4_cfg, num_channels, multi_scale_output=True)

last_inp_channels = np.int(np.sum(pre_stage_channels))
self.channels = [last_inp_channels]

在获取低层和高层特征的通道时,会出现越界的情况。

 low_level_channels = self.backbone.channels[1]
 high_level_channels = self.backbone.channels[-1]

应该将henet每一阶段的pre_stage_channels加入到channels中,但是这种方式感觉不太对,还是说我的运行方式有问题?

是否尝试过 HRNet + OCRNet ?

@LiheYoung ,谢谢您的分享,从您的分享里,得到很多启发。

您的网络里利用SPP作为变化检测的head,请问有没有尝试过用OCRNet作为head呢?

谢谢!

About datasets

How do you get the green histogram in the technical report?

使用其他变化检测数据集

您好,这个比赛的变化检测提供了变化区域内的语义分割标签,想问一下如果使用自己的数据集做变化检测,只提供了变化/不变化区域的标签,还能使用这个模型吗

Cannot access Datasets

Hello Sir,
unfortunately i cannot have access to datasets. can you please provide any suitable ink to download dataset.

paper

Hello, do you have a corresponding paper

question

你好,非常好的代码。我有几个疑问,test.py里out2的mask输出文件夹应该是im2吧。还有代码里有用特征向量和spphead求二值图了吗,非常想学习一下

关于标签的问题

楼主你好,在阅读楼主的源代码的时候,有些地方不是很明白,希望能得到楼主的指点:
1、在change_detection.py中
CLASSES = ['未变化区域', '水体', '地面', '低矮植被', '树木', '建筑物', '运动场']
以及商汤提供的标签都指明 未变化区域标记为0,水体标记为1,地面为2,低矮植被为3,树木为4,建筑物为5,运动场为6。
但是,在随后的一段代码中:
if self.mode == 'train':
gt_mask1 = np.array(Image.open(os.path.join(self.root, 'label1', id)))
mask_bin = np.zeros_like(gt_mask1)
mask_bin[gt_mask1 == 0] = 1
mask_bin = Image.fromarray(mask_bin)
为什么把mask_bin 标签为0都改为1?标签为0不是表示改区域未发生变化吗?

2、在训练代码train.py中:
out1, out2, out_bin = self.model(img1, img2)

            loss1 = self.criterion(out1, mask1 - 1)
            loss2 = self.criterion(out2, mask2 - 1)
  计算损失的时候,为什么mask1和mask2需要减1呢?

关于模型的得分

你好,我训练的hrnet_w18的得分最多只有36.65,没有办法达到38,是不是得引入伪标签才能提高分数呢?

BatchSize问题

非常抱歉,再一次冒昧打扰。有个问题想请教一下,当我以resnet101为backbone,deeplabv3plus为model,batch size设为2进行训练时,会出现batchnormalization只有一个sample的情况。为了找寻原因,打印了网络输入的tensor大小,发现虽然网络输入img1和img2的shape为[2, 3, 512, 512],但在BaseNet的forward中却输出了四张[1, 3, 512, 512]大小的张量,这也是导致batch size设置为2时会报错的原因,我很不理解,想问下其中的原因,谢谢了。

# deeplabv3plus.py
for i, (img1, img2, mask1, mask2, mask_bin) in enumerate(tbar):
    img1, img2 = img1.cuda(), img2.cuda()
    mask1, mask2 = mask1.cuda(), mask2.cuda()
    mask_bin = mask_bin.cuda()
    print(img1.shape) # [2, 3, 512, 512]
    print(img2.shape) # [2, 3, 512, 512]
# base.py
def forward(self, x1, x2, tta=False):
    print(x1.shape)  # 打印出四张shape为[1, 3, 512, 512]的Tensor
    print(x2.shape)

模型的最终效果

您好!我正在复现您的代码,并打算应用于其他变化检测数据集。请问您在这个数据集中最后达到了什么样的精度呢?不同模型下的得分达到多少是合理的呢?
谢谢!

伪标签的模型

你好,请问可以提供完整的处理伪标签的模型权重吗?非常感谢!

关于显存

您好,请问下8G显存够跑这个模型么

question

Whether it will have good effect to input the FCN header to get the two segmentation graph after making the difference of the feature graph extracted by backbone directly? Thank you .

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.