2014_S-UNIWARD_Universal distortion function for steganography in an arbitrary domain

Abstract:

  • 最近,在经验对象(如数字媒体)中最成功的隐写方法是嵌入有效载荷,同时最小化适当定义的失真函数。失真的设计本质上是留给隐写术师的唯一目标,因为有效的实用代码存在于有效载荷失真界限附近。从业者的目标是设计失真以获得具有高经验统计可检测性的方案。在本文中,我们提出了一种通用的失真设计叫做通用小波相对失真(UNIWARD),它可以应用于任意域的嵌入。嵌入失真被计算为载体图像的方向滤波器组分解中的系数的相对变化的总和。方向性迫使嵌入改变载体对象中难以在多个方向建模的部分,例如纹理或者噪声区域,同时避免平滑区域或者干净边缘。我们使用丰富模型和有针对性的攻击进行实验证明,使用UNIWARD构建的隐写方法在空间域、JPEG域和侧面信息JEPG域匹配或者由于当前技术水平。

Conclusion:

  • 完美的安全性对于经验载体源来说似乎是无法实现的,例如数字图像。目前最好的隐写术师能为这种源做的最好的事情在嵌入所需的有效载荷时最小化可检测性。解决这个问题的标准方法是当最小化精心制作的失真函数时嵌入,同时,这与经验统计检测性相关。这将安全隐写术的问题转化成一个已经在已知界限和一般接近最优的实际编码结构方面得到很大解决的问题。
  • 本文的贡献是一个干净和通用的失真函数设计叫做UNIWARD,它独立于嵌入域。失真总是在小波域中被计算为最高频率未抽样子带中小波系数的相对变化的和。小波基函数的方向性允许发送者评估每个像素的领域在多个方向(纹理和噪声区域)是否存在不连续性,从而避免在图像中至少可以沿着一个方向(干净边缘和平滑区域)建模的那些部分中进行嵌入改变。这种无模型的启发式方法已经在空间域、JPEG域、边缘信息JPEG域中实现。在所有三个领域中,所提出的隐写方案匹配或者优于最先进的隐写方法。尤其是在JPE
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在ROS2中,需要对代码进行一些修改和调整来适应新的API和数据类型。以下是将代码移植到ROS2的示例: ```cpp #include "rclcpp/rclcpp.hpp" #include "sensor_msgs/msg/camera_info.hpp" class CheckpointDetector : public rclcpp::Node { public: CheckpointDetector() : Node("checkpoint_detector") { camera_info_subscription_ = create_subscription<sensor_msgs::msg::CameraInfo>( "camera_info", 10, std::bind(&CheckpointDetector::cameraInfoCallback, this, std::placeholders::_1)); } private: void cameraInfoCallback(const sensor_msgs::msg::CameraInfo::SharedPtr camera_info) { sensor_msgs::msg::CameraInfo my_camera_info; my_camera_info.header = camera_info->header; my_camera_info.distortion_model = camera_info->distortion_model; my_camera_info.binning_x = camera_info->binning_x; my_camera_info.binning_y = camera_info->binning_y; my_camera_info.width = camera_info->width; my_camera_info.height = camera_info->height; my_camera_info.d = camera_info->d; my_camera_info.k = camera_info->k; my_camera_info.p = camera_info->p; my_camera_info.r = camera_info->r; } rclcpp::Subscription<sensor_msgs::msg::CameraInfo>::SharedPtr camera_info_subscription_; }; int main(int argc, char** argv) { rclcpp::init(argc, argv); rclcpp::spin(std::make_shared<CheckpointDetector>()); rclcpp::shutdown(); return 0; } ``` 请注意,ROS2中使用`rclcpp`库代替了ROS中的`ros::NodeHandle`和`ros::Subscriber`等。另外,`sensor_msgs::CameraInfo`的成员变量名称也有所不同。在ROS2中,它们被改为小写字母。 你可以将这个代码段放入你的ROS2工程中,并进行构建和运行。这样,当订阅到`camera_info`主题时,`cameraInfoCallback`函数将被调用,并将`camera_info`消息的内容赋值给`my_camera_info`变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值