阅读笔记《Changer: Feature Interaction is What You Need for Change Detection》

论文贡献如下:

  1. 提出MetaChanger与变化检测中的特征交互的概念
  2. 提出两个特定特征交互层 aggregation-distribution和feature exchange

为什么在变化检测中需要特征交互?

它是同质/异质特征在融合之前的特征提取阶段的相关性或通信。

  1. 感知双时间图像的上下文信息
  2. 特征交换后,两分支特征更相似,相当于自动预适应。

在这里插入图片描述
ChangerMeta都包含什么特别的结构?
在这里插入图片描述
(a)MetaChanger的交互层
(b)baseline,用做对比实验。中间换成了直接映射层。
(c)AD特征交互层:aggregation-distribution。先进行元素加,再全局平均池化,两层MLP(第一层压缩,第二层扩张通道)。将结果进行sigmoid操作与原特征操作,相当于赋予注意力权重。
在这里插入图片描述
(d)特征交换:feature exchange
包含通道交换和空间交换
主要步骤都是根据步距生成交换掩膜
根据掩膜进行保留和交换空间上的或通道上的特征。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(e)双流对齐融合
在这里插入图片描述
在这里插入图片描述

图3 ChangerEx模型。(a) ChangerEx第二阶段采用空间交换,后两阶段采用通道交换。
FDAF用于融合特征。(b)空间交换图。©通道交换示意图。
在这里插入图片描述
在这里插入图片描述

总结:这篇从特征交互的角度出发,是与其他变化检测网络的不同也是亮点。
主要是Aggregation-distribution、特征交换、和双流对齐三个核心模块。

好的,针对您提供的信息,我编写了一个简单的Java程序,用于连接MySQL 7数据库,实现查询、更新和插入操作。代码如下: ```java import java.sql.*; public class Main { static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; static final String USER = "changer"; static final String PASS = "123456"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try { Class.forName(JDBC_DRIVER); System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Creating statement..."); stmt = conn.createStatement(); // 查询操作 String sql = "SELECT id, name, age FROM users"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("ID: " + id + ", NAME: " + name + ", AGE: " + age); } rs.close(); // 更新操作 sql = "UPDATE users SET age=20 WHERE id=1"; int updateCount = stmt.executeUpdate(sql); System.out.println("Update Count: " + updateCount); // 插入操作 sql = "INSERT INTO users (name, age) VALUES ('Tom', 18)"; int insertCount = stmt.executeUpdate(sql); System.out.println("Insert Count: " + insertCount); stmt.close(); conn.close(); } catch (SQLException se) { se.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); } catch (SQLException se2) {} try { if (conn != null) conn.close(); } catch (SQLException se) { se.printStackTrace(); } } } } ``` 其中,JDBC驱动的版本为MySQL 8.0.21,因为MySQL 7的驱动已经不再维护,建议升级到MySQL 8。 代码中,我们先连接数据库,然后创建Statement对象,执行查询、更新和插入操作,最后关闭资源。 需要注意的是,MySQL 7和MySQL 8的JDBC驱动版本略有不同,因此需要根据具体的驱动版本修改JDBC_DRIVER和DB_URL的值。 另外,建议使用try-catch-finally语句,确保资源能够被正确释放,避免资源泄漏等问题。 实验报告和心得体会请查看附件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值