精华内容
下载资源
问答
  • 来源|深燃文|王敏“算法不讲武德!”越来越多年轻人发觉,生活正在被算法控制。从事互联网运营的卢锋,想要搜索某个科技产品的特性及用户使用体验,但打开知乎,还没来得及输入关键词,便被首页的推...

    来源|深燃

    文|王敏

    “算法不讲武德!”越来越多年轻人发觉,生活正在被算法控制。

     

    从事互联网运营的卢锋,想要搜索某个科技产品的特性及用户使用体验,但打开知乎,还没来得及输入关键词,便被首页的推荐内容所吸引,不停地点开一条又一条。半个小时过去,他恍然间已经忘了最初为什么打开知乎。

     

    这就是不少年轻人感受到的算法推荐带来的负面影响之一——易沉迷。

     

    个性化推荐几乎成为每一款互联网产品标配,大数据已经越来越多地介入了人们的“手机生活”。不可否认,算法推荐在追求商业利益之外,本质上是为用户服务的,很多人的感受是,在一些APP频繁输入兴趣关键词,算法就能够逐渐了解甚至摸透自己的兴趣和喜好,进而持续推荐自己感兴趣的内容。

     

    正如美国学者凯斯·桑斯坦所言,在传播过程中,公众会偏向于选择那些他们感兴趣的信息,但久而久之,便会将自身置于“茧房”之中。在这样的“信息茧房”中,全部都是感兴趣的内容,很容易致瘾,让人停不下来。

     

    长此以往,可能会使人盲目自信甚至走向极端。美国互联网观察家伊莱·帕里泽将此形容为“过滤气泡”算法推荐会过滤掉异质信息,为用户打造个性化的信息世界,让用户身处在“网络泡泡”的环境中。

     

    一直深处于自己乐意看到的内容池当中,视野可能会变得狭窄,所见所闻被APP所控制。不过,这届年轻人心里清楚,在当今社会,完全脱离算法是不可能的,他们只能用自己的方式去尝试“对抗算法”。

     

    有人用“不登录、不点赞、不关注、不评论”的方式尽量减少在网上留下痕迹;有人用多个手机和手机号,尽量分隔可能成瘾的网络环境;有人针对不同的场景训练不同的账号……

     

    01

    困在算法里

    22岁的林枫最近因为工作新注册了一个抖音账号,面对着“震惊体、刚刚体”等“野生推荐内容”,他有些怀疑:“我是刷了一个假抖音吗?”

     

    为了让抖音的算法推荐更多偏向自己工作的内容,他当天晚上就决定“好好调教”一下抖音新账号,持续用抖音搜索工作相关的内容。但没想到,一“调教”居然“调教”到了天亮,只得拖着疲惫的身躯继续上班。

     

    林枫原本是想利用算法,能够更高效率地寻找优质内容,没想到最后被“反噬”,很难控制自己刷完一个视频继续上滑的动作。

     

    如同抖音是林枫的“时间黑洞”,快手、B站、知乎,于很多年轻人而言也是时间黑洞,一旦打开,就很难停下来,背后都有算法的“功劳”。

     

    时至今日,随着互联网门槛的降低,普罗大众对于算法这个词并不陌生。算法推荐能够通过数学变量的运算,推测出用户可能喜欢的东西,进而降低用户寻找优质内容的时间成本。杨漾为了降低寻找喜欢内容的成本,甚至会克制自己、不随意点开一些不喜欢的内容,即使不小心点开后也会及时退出,以免算法进一步获取错误信息。

     

    但算法进一步优化,演变成一些APP为了增强用户黏性,以此迁就用户喜好的“工具”,不断猜测和推荐符合其立场和偏好的内容。当人们习惯性地被自己的兴趣所引导,很容易陷入“信息茧房”。

     

    ▲来源 / 视觉中国

    “算法推荐让我越来越被迫固步自封了,其实也想偶尔跳出舒适区尝试一些新的事物、获取新的信息,却被不停投喂类似的信息。”豆瓣一位用户表示。

     

    去年下半年,百度创始人李彦宏也曾两次提到“信息茧房”。在百度纪录片《二十度》中,李彦宏说道,“现在的算法在试图取悦用户,算法的好坏基本上是按照这个用户花了多长时间来消费内容、他第二天再回来的概率有多大,都是在优化这些东西”。他认为这样不好,会把人搞得非常分裂,容易让人走极端。

     

    个性化的推荐,让相同价值观的人被集合到一起,甚至有可能进一步走向极端,这并非没有案例。剑桥分析公司曾被质疑深度参与了2016年美国大选,采用个性化内容推送方式,帮助政客确定不同类型的选民在特定问题上的立场,并辅助政客制定竞选策略,影响美国大选结果。虽然剑桥分析公司曾否认非法或不恰当地收集或与其他人分享数据,但这个案例证明,算法推荐如被不当使用,风险极大。

     

    李彦宏还在一次论坛中直言,算法对于人类获取信息的影响越来越大,投喂式的信息流造就产品粘性,但也考验着网络媒体的价值观。他认为,算法虽然无罪,但不能只给用户他们本能喜欢的“易牙,竖刁,卫开方”,算法更应该去主动了解用户的高级目标,而不是追随用户本能的喜好。

     

    深处APP的世界又难以完全摆脱算法,越来越多的用户开始警惕算法推荐的便利性,针对投喂式算法推荐出现了“逆反心理”。

     

    一部分人为了摆脱“娱乐茧房”而开始下意识“对抗算法”,还有人为了保持“神秘感”,不想被大数据、算法抓走自己的行为数据,正在采取行动。

    02

    对抗算法,各出奇招

    普通人是怎样对抗算法的?

     

    为了对抗个性化推荐而致瘾,一些年轻人的选择是,有意识的与致瘾APP隔绝。

     

    刚大学毕业三年的乔思会每天查看自己手机的使用时长,分析自己在每个APP花的时间,以此警惕自己沉迷于娱乐APP。和乔思主动调控时长不同,一些人的选择是杜绝容易沉迷的APP,比如,不让容易上瘾的APP在手机里长期存在,在短暂使用后赶快删除。

     

    同样,卢锋也没有依赖个人的意志力,而是日常使用两部手机。他的主手机用于日常社交和学习,目的是尽量将工作状态下的自己与致瘾环境隔离,辅助手机则用于刷抖音、今日头条等娱乐向APP,同时尽量控制每天拿起辅手机的次数。

     

    林枫之所以注册新抖音号,其实也是想将自己的生活和工作分开。他的同事基本也是如此,会“训练”出一个针对工作的抖音号,而个人兴趣爱好,则用私人号搜索,不让算法推荐模糊自己生活和工作的界限。

     

    而要想走出投喂式算法所造成的信息茧房,有人采用技术工具,比如寻找RSS服务(Really Simple Syndication 简易信息聚合),利用RSS服务发挥聚合器的作用,将多个订阅源整合在一起,得以快速获得多个网站的内容更新,破除以单一来源为主的信息茧房。

     

    还有一些年轻人将“对抗”算法的重心放在尽可能少地在互联网上留下用户行为数据上,让算法摸不清楚自己。算法推荐,最重要的是数据,APP利用用户行为数据不断建模,才能做到通过推荐的内容刺激用户分泌多巴胺。

     

    卢锋使用两个手机,不仅是为了破除“娱乐茧房”,更关键的是也想要保护自己的个人数据安全,从根源上减少算法对个人数据的捕捉。

     

    ▲来源 / Pexels

    早在2019年,有网友质疑某金融APP擅自保存用户图片,涉嫌窃取用户隐私,这件事情发酵之后引起了卢锋的警觉,他立刻打开手机查看自己手机APP的权限。在当时,据他观察,大多数APP都是默认获取用户的通讯录数据。“这不仅会使得自己的手机号信息泄露,还会泄露手机里好友的手机号,当这些与资产状况、消费习惯等信息匹配,可能会被大数据杀熟。”

     

    从那时起,卢锋基本上每周都会检查一遍自己手机里APP的用户权限,主要查看通讯录、位置、语音、图片的授权。“通讯录授权一定是都关闭的,位置只允许地图类APP使用。另外还有一些APP因为临时需要开了授权,但会忘了关闭,我每周都会定期检查,及时关掉。”

     

    卢锋认为,如果持续不关注这些APP的授权,自己未来便会被打上各种各样的标签,进而在互联网世界无处遁形。

     

    现在,卢锋会用备用手机号码和临时邮箱注册不常用的APP,但他依旧拒绝信息读取、照片读取和语音读取,甚至因为不愿意授权,卸载了一些使用感受还不错的APP。

     

    不点赞、不评论、不关注、不登录”,乔思为了不让APP抓取到过多的个人数据,总结出了自己的四不原则。一方面是尽可能少留下信息,另一方面,尽可能减少在网上获得的反馈,除了微信之外,拒绝了所有APP的通知。“大部分‘通知’,既不及时也不重要”。

     

    和乔思类似,多位用户告诉深燃,对于一些信息浏览类的APP,在不影响使用的情况下,会拒绝注册。

     

    但无论是在早期还是在个性化算法推荐的内容环境形成之后,最重要的是,个人有意识地警惕算法推荐。

     

    尽管杨漾希望推荐算法能够给自己推荐足够多的内容,但她也深知,这可能会给自己带来一定负面影响。她的态度是“抱着警惕的心态,约束自己使用APP的行为”,并给自己制定的唯一一条准则就是,尽可能少在APP上花费过多的时间和金钱。

    03

    如何看待算法推荐?

    林枫的两个抖音号,由于搜索的内容不同,如今推荐的内容完全不同,某种程度上达到了将工作和个人兴趣进行区分的目的。

     

    乔思也发现,关闭“通知”、“不点赞、不评论、不关注、不登录”,少了很多推着自己打开各个APP的钩子,自己也会通过有目的地主动搜索来减少算法投喂内容,这在很大程度上降低了自己陷入“娱乐茧房”的几率。卢锋也是如此,将抖音等纯娱乐性质的APP和办公、学习类的APP分开,将更多的时间花在沟通、办公类的工具上。

     

    不过,乔思和卢锋也提到,虽然有意识地在“抵抗”,但持续“上滑”的动作并没有完全消失。他们承认,只要身处当前的互联网环境,用户或多或少都会受到算法推荐的一些负面影响。

     

    在日本二维码聚合支付平台NETSTARS CTO陈斌看来,“算法推荐的恰当使用,其实是一个科学伦理题。”他对深燃分析,利用数据建立模型,很多APP可能比用户更加“懂”自己的喜好。“在这样的引导下,人几乎可以成为被引导和塑造的商品,一些企业通过推荐算法利用人的漏洞与人性的弱点来实现利益最大化。”

     

    ▲来源 / Pexels

    陈斌最担心的是,算法推荐越来越广泛与深入地使用,未来可能每个人的标签都是透明公开的,这会让一个用户在被了解的时候缺乏灰度,没有隐私可言。而对于一些APP的霸王条款,普通人可能难以察觉,更不要提应该如何“抗议”了。

     

    当然,相关部门一直在不断查处侵害用户权益的APP,责令其下架整改。“科技发展总是先于立法,不可否认,立法层面需要持续加强。”陈斌表示。

     

    同时,他也提出,用户面对算法推荐应该摆正心态,要客观独立思考。“在算法推荐的社会,最重要的是要有独立思考的能力。每件事情都有两面性,最重要的是怎么去对待。技术为人类服务,人类在使用这项服务时,也要保持警惕的状态。”

     

    陈斌表示,网络上已经存在很多“自我保护”的方法,需要用户意识觉醒之后,去主动探索。

     

    在信息泛滥的时代,没有算法推荐,用户可能很难高效找到优质内容,但对于算法推荐过于依赖时,用户又容易陷入信息茧房。不过,现在认识到这个问题还不晚,不盲目顺应算法,就是走出“算法陷阱”的第一步。

     

    *题图来源于《黑客帝国》。应受访者要求,文中林枫、乔思、卢锋、杨漾为化名。


    网易智能开通视频号啦,Tech逆向思维是网易智能旗下知识科普账号

    来!带你换个角度看世界~

    最新视频→【被马斯克骂,被丰田追捧,氢燃料比充电更能代表汽车的未来?】

    欢迎关注!点赞!

    RECOMMEND


    网易智能有12个不同垂直领域社群等你来

    添加智能菌微信:kaiwu_club

    扫码了解更多

    展开全文
  • 作者丨雷晨阳 审稿丨邓富城 编辑丨极市平台 导读 本文介绍一篇来自香港科技大学中稿CVPR2021的工作,工作采用了硬件和软件结合做底层图像处理的方法,主要介绍了一种鲁棒性和精确性都很强的去反光算法,在定量指标...

    点击上方“3D视觉工坊”,选择“星标”

    干货第一时间送达

    作者丨雷晨阳

    审稿丨邓富城

    编辑丨极市平台

    导读

     

    本文介绍一篇来自香港科技大学中稿CVPR2021的工作,工作采用了硬件和软件结合做底层图像处理的方法,主要介绍了一种鲁棒性和精确性都很强的去反光算法,在定量指标和视觉效果上都显著超过了其他的算法。 

    代码以及数据集:https://github.com/ChenyangLEI/flash-reflection-removal
    项目主页:https://chenyanglei.github.io/flashrr_rfc/index.html
    论文:https://arxiv.org/pdf/2103.04273.pdf
    利用偏振光去反射:https://github.com/ChenyangLEI/polarization-reflection-removal

    本文介绍了一种非常鲁棒的去反光算法,在定量指标和视觉效果上都显著超过了其他的算法。

    摘要

    我们的算法主要利用了一张额外的闪光照片(Flash image)来进行去反射(Reflection Removal),只需要一步操作,我们可以极大地提升效果。本文的主要贡献有三个: 

    1. 我们提出了一种新颖的提示(Reflection-free Flash-only Cues,RFC),该提示使区分反射更容易,从而进行更好地去反射。该提示非常可靠的,因为它与环境光下的反射的外观和强度无关。

    2. 我们提出了一个专用框架,该框架可以在使用RFC的同时避免引入仅闪光图像的artifacts。与最新技术相比,我们在真实数据集上的PSNR提高了5.23dB以上,SSIM提高了0.04,在LPIPS中减小了0.068。

    3. 我们构造了第一个包含raw数据和RGB数据的数据集,以用于基于闪光的去反射。

    背景

    什么是去反射?观察玻璃后的背景时,玻璃上有镜面反射,导致背景物体的结构、颜色清晰度下降。例如在商场中透过玻璃看商品,在展览馆中通过玻璃看作品,再例如从车窗外看车内的人。

    为什么要去反射?当我们的目标是背景时,反射属于干扰信号。反射可能影响照片美观,或者影响其他算法在照片的效果(例如目标检测)。

    为什么去反射比较困难?反射和背景都是自然图像,难以分辨。在许多情况下,只看图片的一部分,即便人类也无法分辨。

    相关工作

    单张图像去反射。在某些情况下,反射的外观可能含有一些线索。例如,在对焦在背景时,反射可能失焦,且因此看起来模糊[6,7]。当玻璃比较厚的时候,可能产生鬼影效果[4]。然而,这些线索在很多时候并不成立。现实世界中的反光很可能是清晰且无鬼影的。当反射的外观不符合算法假设时,算法的效果常常会剧烈下降。

    多张图像去反射。一些去反射方法[5]利用在反射和背景的不同运动状态来进行去反射。但是,拍摄不同的运动图像会花费更多的精力(用户需要移动手机)。还有一些方法[3]利用了偏振光,但是偏振相机还没有被广泛运用。

    基于闪光去反射。闪光灯的其他特点曾被许多工作应用过。Agrawal等人[1]假设图像的梯度方向在闪光和环境光下是一致的。但是,它们在不理想的区域(例如,阴影,镜面反射)很难生成合理的结果。此外,它们的结果往往过于平滑。SDN[2]假设可以通过闪光明显抑制反射,但是抑制效果对环境光下的反射强度敏感:当反射较强时,抑制不再有效。下文将介绍,在相同的设置之下,我们的算法效果上显著超过这两种算法。

    Reflection-free Flash-only Cues (RFC)

    首先介绍一个概念,纯闪光图片(Flash-only image)。

    和一般的单张图片去反射方法上图(a) 相比,我们的方法需要多拍摄一张闪光照片图(b)。我们命名环境光照(ambient illumination)下的图片为 ,加上闪光光照(flash illuminating)的图片为 。我们处理得到的图片是上图(c),纯闪光图片 。如何获得?

    注意此处我们需要这两张图片的raw image,因为sRGB图片的数值和光照并非线性相关。R和T分别表示闪光和背景。式子(3)是最关键的一步操作。由式子(3)可以知道,环境光照下的反光已经完全消失,但是还有flash-only光照下的反光。我们认为,它在大多数情况下为0。因为闪光灯具有方向性,只会照亮前面的东西,不会照亮后面的东西。而玻璃的反光在经过多次弹射之后进入相机已经比较弱了。

    网络结构

    虽然纯闪光照片 不包含任何的 (环境光下的反光),但是这张图片本身存在很多质量上的问题,包括:(1)偏色;(2)不均匀光照(由物体的远近和形状导致);(3)闪光灯反光;(4)新的阴影或者被照亮的灰尘。如下图:我们需要设计一种结构,既可以利用到RFC的优点,又能规避上述纯闪光图片I_{fo}的缺陷。因此我们设计了一个两阶段的框架,第一个阶段只预测R_a,第二阶段再预测T_a。我们框架的目的是让最终得到的图片依赖于I_a而非I_{fo},而I_{fo}只作为一个参考图片。这样子, 的artifacts在第一个阶段就可以被拦截了。

    如果单纯利用一个网络来预测 会怎么样呢?我们实验发现网络倾向于从 生成最终的结果,上述的多种artifact就会被引入。

    实验结果

    我们对比了两类算法:单图去反射算法和基于闪光的去反射算法。上表展示了定量对比的结果,我们的表现显著超过了其他算法(包括其他基于闪光的去反光算法)。

    上图展示了一个视觉对比结果,我们的算法在强的反光下仍然可以去掉反光,这主要得益于纯闪光图片 的引导。

    上图展示了一个视觉对比结果,我们的算法可以鲁棒地去掉反光。

    上图展示了一个视觉对比结果,和最新的基于闪光的去反射算法相比较(SDN, IJCV2020),我们可以更好的去掉强反光(当然,弱的反光更不在话下)。

    讨论与总结

    我们相信纯闪光图片 还可以被运用到很多其他的领域中。例如,我们发现环境光下的阴影也会在 中消失,也就是说, 也可以用去阴影。其次,在纯反光图片中只有一个光源,这对于很多领域也是非常重要的,例如photometric stereo。

    由于我们的reflection-free cues,我们的算法的鲁棒性和精确性都很强,这从很多实验结果中也可以得到印证。尽管我们需要多拍一张照片,但是可以通过客制的程序来以很小的代价实现这一点(连拍两张照片)。我们的缺点在于,当物体离玻璃很远时,闪光灯可能无法照到物体,那么 就全黑了,当然,这也是多数active-sensing的共同缺点,存在距离限制。

    参考文献:

    [1] Amit   Agrawal,   Ramesh   Raskar,   Shree   K   Nayar,   andYuanzhen Li.  Removing photography artifacts using gradi-ent projection and flash-exposure sampling.  InSIGGRAPH. 2005

    [2] Yakun Chang, Cheolkon Jung, Jun Sun, and Fengqiao Wang.Siamese dense network for reflection removal with flash andno-flash image pairs.Int. J. Comput. Vis., 128(6):1673–1698,2020.

    [3] Chenyang Lei,  Xuhua Huang,  Mengdi Zhang,  Qiong Yan,Wenxiu Sun, and Qifeng Chen. Polarized reflection removalwith perfect alignment in the wild

    [4] YiChang Shih, Dilip Krishnan, Fredo Durand, and William TFreeman. Reflection removal using ghosting cues. InCVPR,2015

    [5] Tianfan Xue,  Michael Rubinstein,  Ce Liu,  and William T.Freeman.    A  computational  approach  for  obstruction-freephotography. ACM Trans. Graph., 34(4):79:1–79:11, 2015.

    [6] Yang  Yang,  Wenye  Ma,  Yin  Zheng,  Jian-Feng  Cai,  andWeiyu Xu. Fast single image reflection suppression via con-vex optimization.

    [7] Xuaner  Zhang,  Ren  Ng,  and  Qifeng  Chen.   Single  imagereflection separation with perceptual losses. In CVPR, 2018.

    本文仅做学术分享,如有侵权,请联系删文。

    下载1

    在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

    下载2

    在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

    下载3

    在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

    重磅!3DCVer-学术论文写作投稿 交流群已成立

    扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

    同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

    一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

    ▲长按加微信群或投稿

    ▲长按关注公众号

    3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

    学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

     圈里有高质量教程资料、可答疑解惑、助你高效解决问题

    觉得有用,麻烦给个赞和在看~  

    展开全文
  • “如果它被破解了,我 35 岁之后就有事干了” “如果可逆了,全宇宙最强的压缩算法就诞生了,任意字节数据都可以压缩到128bits” “根据摘要就能把论文全文推导出来,碉堡了” ... 群消息刷了很多,都在带薪摸鱼,...

    你知道的越多,不知道的就越多,业余的像一棵小草!

    你来,我们一起精进!你不来,我和你的竞争对手一起精进!

    编辑:业余草

    推荐:https://www.xttblog.com/?p=5259

    MD5 算法暴力破解的几种方法

    前言

    昨天微信群里又热闹了起来,我一看消息,原来是有人在讨论:“如果突然有一天 MD5 算法被破解了,可逆了怎么办?

    其中有些网友表示,这题我会。

    “如果它被破解了,我 35 岁之后就有事干了”

    “如果可逆了,全宇宙最强的压缩算法就诞生了,任意字节数据都可以压缩到128bits”

    “根据摘要就能把论文全文推导出来,碉堡了”

    ...

    群消息刷了很多,都在带薪摸鱼,却没人讨论,具体怎么破解。所以,今天我就来献丑一下,浅谈一下 MD5 怎么样“破解”,大家轻喷!

    逆向是不可能逆向的

    在正式介绍 MD5 “破解”的方法前,先说明一点:目前我们没办法把 MD5 字符串还原回对应的原文。道理很简单,任意长度的数据经过 MD5 处理后,所包含的信息量已经大大减少。要是可以还原的话,那 MD5 岂不是成为最强的压缩算法了??

    所以,目前所谓的“破解”指的就是“碰撞”。即找到一个原文,算出来的 MD5 码和已知的 MD5 码一样。接下来介绍一些常见的破解方法。

    暴力碰撞:穷举法&字典法

    小标题上写了两种方法:穷举法和字典法。但是我认为它们的本质是一样的,都是利用计算机的资源尝试碰撞已知的 MD5 码。这里就放在一起了。

    穷举法非常简单,就是不停地尝试各种字符的排列组合,看哪一个组合的 MD5 码能对上。可惜缺点是太耗费时间了。我们举个栗子,假设我们要破解一个 6 位大小写字母和数字混合的密码,那么一共有 种组合。这个数的大小超过 500 亿。

    只考虑大小写字母和数字,每一位有 62 种可能,那么 8 位密码的排列组合就是 62 的 8 次方,218340105584800,约等于二百万亿!

    既然计算如此费时,能不能考虑「把计算结果以映射表的形式存放起来,一个萝卜一个坑」,一个原文对应着一个 MD5 码呢?可以呀!这就是传说中的“字典法”。将已知的 MD5 码查表,直接反查出原文。

    字典法体现了算法设计的“以空间换时间”的思想「缺点是比较耗费空间。不过现在硬盘的价格变得白菜价了,空间开销不算什么。」

    所以,简单且常见的密码,如果用了 MD5 加密,会被暴力的很快。况且现在量子计算机要来了,等量子计算机发展到和我们现在的普通笔记本大小,MD5 被暴力的就更快了,说不定就是分分钟的事。

    给大家推荐一个用字典法破解 MD5 的网站:https://www.cmd5.com/password.aspx

    时间和空间的折中:哈希链表&彩虹表法

    如果说穷举法太耗费时间,字典法太耗费存储空间的话,我们能不能考虑在时间消耗和空间消耗之间折中呢?我们可以考虑用链表将一系列有意义的原文和 MD5 码串起来。

    要构造这样的链表,我们需要两个函数:哈希函数 H(x)和衰减函数(reduction function)R(x)。哈希函数可以是 MD5,也可以是其他的消息摘要算法。H(x) 的值域是 R(x) 的定义域,R(x)  的值域是 H(x)的定义域。「R(x)不是H(x)的反函数。」

    将一个原文不停地使用 H(x) 和 R(x) 交替进行运算  k次,再将原文本身和运算结果以链表的形式串接起来,就可以得到结点个数为 2k+1 的链表。实际存放的时候只存放首端和末端两个原文即可。「这种链表叫做“哈希链表”,体现了算法设计的“时空权衡”(Space and Time Tradeoffs)。」

    举个栗子,假设原文s=abcabc,经过 2 次交替运算,得到以下的链表:

    abcabc->H(x)->3C8B0D7A->R(x)->eopmca->H(x)->7E9F216C->R(x)->rapper

    以上数据均为举例编造的,仅为说明原理使用。那我们存放这个链表的时候,只需要记录 abcabc 和 rapper 两个原文即可。

    假设我们要破解的摘要值(哈希链表的 H(x) 不一定是 MD5 算法,这里用更准确的说法代替 MD5 码)是 7E9F216C,经过 R(x) 运算得到 rapper,说明我们要寻找的原文就在以 rapper 为末端的哈希链表中。从首端开始经过多次运算,我们发现 eopmca 的摘要值就是 7E9F216C。于是就反查出 7E9F216C 对应的原文是 eopmca。

    「如果在生成哈希链表的时候依次使用多个不一样的 R(x),此时的哈希链表就是“彩虹表”。」

    文字描述起来太过复杂,还是用图列举一个 demo。

    彩虹表法

    这里再给大家推荐一个已经计算好的彩虹表:http://project-rainbowcrack.com/table.htm

    差分攻击

    上面介绍的穷举法、字典法和彩虹表法都是暴力破解,适用于任何的消息摘要算法。真正意义上 MD5 算法的破解,是 2004 年山东大学王小云教授提出的 MD5 碰撞方法。她所用到的方法正是差分攻击。

    这种方法概括起来说是这样的:给定一个 1024 位的原文 M1,加上一个特定的常数得到的新的明文 M2。M1 和 M2 的 MD5 码是一样的。(这里大家可以去找具体的论文)这个特定的常数到底是怎么找出来的?笔者当时在查阅原始文献的时候也不清楚。因此后来的研究者开始对怎么样差分进行了各种各样的研究。具体的方法比较复杂,我就这里就不再赘述,班门弄斧了。

    后记

    其实还有一种破解 MD5 的方法——长度扩展攻击。不过这种方法是在一定条件下(破解加盐之后产生的 MD5 码)才能用的。这种方法由 MD5 分块计算的特性而来。

    如果,我是说如果。你能逆转破解成功,你一定会获得图灵等计算机大奖。大大的解放数据存储能力,任何数据都可以用一段字符串表示。

    展开全文
  • 实验结果 我们对比了两类算法:单图去反射算法和基于闪光的去反射算法。 上表展示了定量对比的结果,我们的表现显著超过了其他算法(包括其他基于闪光的去反光算法)。 上图展示了一个视觉对比结果,我们的算法在强...

    本文首发极市平台(微信公众号同名),转载请标明出处。
    极市平台是国内专业的计算机视觉开发者平台,原文请戳这里

    代码以及数据集:https://github.com/ChenyangLEI/flash-reflection-removal

    项目主页:https://chenyanglei.github.io/flashrr_rfc/index.html

    论文:https://arxiv.org/pdf/2103.04273.pdf

    利用偏振光去反射:https://github.com/ChenyangLEI/polarization-reflection-removal

    本文介绍了一种非常鲁棒的去反光算法,在定量指标和视觉效果上都显著超过了其他的算法。

    摘要

    我们的算法主要利用了一张额外的闪光照片(Flash image)来进行去反射(Reflection Removal),只需要一步操作,我们可以极大地提升效果。本文的主要贡献有三个:

    1.我们提出了一种新颖的提示(Reflection-free Flash-only Cues,RFC),该提示使区分反射更容易,从而进行更好地去反射。该提示非常可靠的,因为它与环境光下的反射的外观和强度无关。

    2.我们提出了一个专用框架,该框架可以在使用RFC的同时避免引入仅闪光图像的artifacts。 与最新技术相比,我们在真实数据集上的PSNR提高了5.23dB以上,SSIM提高了0.04,在LPIPS中减小了0.068。

    3.我们构造了第一个包含raw数据和RGB数据的数据集,以用于基于闪光的去反射。

    背景

    什么是去反射?观察玻璃后的背景时,玻璃上有镜面反射,导致背景物体的结构、颜色清晰度下降。例如在商场中透过玻璃看商品,在展览馆中通过玻璃看作品,再例如从车窗外看车内的人。

    为什么要去反射?当我们的目标是背景时,反射属于干扰信号。反射可能影响照片美观,或者影响其他算法在照片的效果(例如目标检测)。

    为什么去反射比较困难?反射和背景都是自然图像,难以分辨。在许多情况下,只看图片的一部分,即便人类也无法分辨。

    相关工作

    单张图像去反射。在某些情况下,反射的外观可能含有一些线索。例如,在对焦在背景时,反射可能失焦,且因此看起来模糊[6,7]。当玻璃比较厚的时候,可能产生鬼影效果[4]。然而,这些线索在很多时候并不成立。现实世界中的反光很可能是清晰且无鬼影的。当反射的外观不符合算法假设时,算法的效果常常会剧烈下降。

    多张图像去反射。一些去反射方法[5]利用在反射和背景的不同运动状态来进行去反射。 但是,拍摄不同的运动图像会花费更多的精力(用户需要移动手机)。还有一些方法[3]利用了偏振光,但是偏振相机还没有被广泛运用。

    基于闪光去反射。闪光灯的其他特点曾被许多工作应用过。Agrawal等人[1]假设图像的梯度方向在闪光和环境光下是一致的。 但是,它们在不理想的区域(例如,阴影,镜面反射)很难生成合理的结果。此外,它们的结果往往过于平滑。 SDN[2]假设可以通过闪光明显抑制反射,但是抑制效果对环境光下的反射强度敏感:当反射较强时,抑制不再有效。下文将介绍,在相同的设置之下,我们的算法效果上显著超过这两种算法。

    Reflection-free Flash-only Cues (RFC)

    首先介绍一个概念,纯闪光图片(Flash-only image)。
    006C3FgEly1gp4mf7eisyj30xo09s75y

    和一般的单张图片去反射方法上图(a) 相比,我们的方法需要多拍摄一张闪光照片图(b)。我们命名环境光照(ambient illumination)下的图片为 I a I_a Ia,加上闪光光照(flash illumination)的图片为 I f I_f If。我们处理得到的图片是上图©,纯闪光图片 I f o I_{fo} Ifo。如何获得?
    006C3FgEly1gp4mfuvso9j30ly05y74k

    注意此处我们需要这两张图片的raw image,因为sRGB图片的数值和光照并非线性相关。R和T分别表示闪光和背景。
    式子(3)是最关键的一步操作。由式子(3)可以知道,环境光照下的反光已经完全消失,但是还有flash-only光照下的反光。我们认为,它在大多数情况下为0。因为闪光灯具有方向性,只会照亮前面的东西,不会照亮后面的东西。而玻璃的反光在经过多次弹射之后进入相机已经比较弱了。

    网络结构

    虽然纯闪光照片 I f o I_{fo} Ifo不包含任何的 R a R_a Ra(环境光下的反光),但是这张图片本身存在很多质量上的问题,包括:(1)偏色;(2)不均匀光照(由物体的远近和形状导致);(3)闪光灯反光;(4)新的阴影或者被照亮的灰尘。如下图:

    我们需要设计一种结构,既可以利用到RFC的优点,又能规避上述纯闪光图片 I f o I_{fo} Ifo的缺陷。因此我们设计了一个两阶段的框架,第一个阶段只预测 R a R_a Ra,第二阶段再预测 T a T_a Ta。我们框架的目的是让最终得到的图片依赖于 I a I_a Ia而非 I f o I_{fo} Ifo,而I_{fo}只作为一个参考图片。这样子, I f o I_{fo} Ifo的artifacts在第一个阶段就可以被拦截了。

    如果单纯利用一个网络来预测 T a T_a Ta会怎么样呢?我们实验发现网络倾向于从 I f o I_{fo} Ifo生成最终的结果,上述的多种artifact就会被引入。

    实验结果

    我们对比了两类算法:单图去反射算法和基于闪光的去反射算法。
    006C3FgEly1gp4mj72w61j30xk08sjsk
    上表展示了定量对比的结果,我们的表现显著超过了其他算法(包括其他基于闪光的去反光算法)。

    上图展示了一个视觉对比结果,我们的算法在强的反光下仍然可以去掉反光,这主要得益于纯闪光图片 I f o I_{fo} Ifo的引导。
    006C3FgEly1gp4mmlb2ksj30xq0eags8
    上图展示了一个视觉对比结果,我们的算法可以鲁棒地去掉反光。
    006C3FgEly1gp4mntx0lvj30xe0hg44y
    上图展示了一个视觉对比结果,和最新的基于闪光的去反射算法相比较(SDN, IJCV2020),我们可以更好的去掉强反光(当然,弱的反光更不在话下)。

    讨论与总结

    我们相信纯闪光图片 I f o I_{fo} Ifo还可以被运用到很多其他的领域中。例如,我们发现环境光下的阴影也会在 I f o I_{fo} Ifo中消失,也就是说, I f o I_{fo} Ifo也可以用去阴影。其次,在纯反光图片中只有一个光源,这对于很多领域也是非常重要的,例如photometric stereo。

    由于我们的reflection-free cues,我们的算法的鲁棒性和精确性都很强,这从很多实验结果中也可以得到印证。尽管我们需要多拍一张照片,但是可以通过客制的程序来以很小的代价实现这一点(连拍两张照片)。我们的缺点在于,当物体离玻璃很远时,闪光灯可能无法照到物体,那么 I f o I_{fo} Ifo就全黑了,当然,这也是多数active-sensing的共同缺点,存在距离限制。

    参考文献:

    [1] Amit Agrawal, Ramesh Raskar, Shree K Nayar, andYuanzhen Li. Removing photography artifacts using gradi-ent projection and flash-exposure sampling. InSIGGRAPH. 2005

    [2] Yakun Chang, Cheolkon Jung, Jun Sun, and Fengqiao Wang.Siamese dense network for reflection removal with flash andno-flash image pairs.Int. J. Comput. Vis., 128(6):1673–1698,2020.

    [3] Chenyang Lei, Xuhua Huang, Mengdi Zhang, Qiong Yan,Wenxiu Sun, and Qifeng Chen. Polarized reflection removalwith perfect alignment in the wild

    [4] YiChang Shih, Dilip Krishnan, Fredo Durand, and William TFreeman. Reflection removal using ghosting cues. InCVPR,2015

    [5] Tianfan Xue, Michael Rubinstein, Ce Liu, and William T.Freeman. A computational approach for obstruction-freephotography. ACM Trans. Graph., 34(4):79:1–79:11, 2015.

    [6] Yang Yang, Wenye Ma, Yin Zheng, Jian-Feng Cai, andWeiyu Xu. Fast single image reflection suppression via con-vex optimization.

    [7] Xuaner Zhang, Ren Ng, and Qifeng Chen. Single imagereflection separation with perceptual losses. In CVPR, 2018.

    展开全文
  • 最近和师兄一起利用环阵探头进行了实验,采取了比较朴素的打光方式(手持光纤打光),利用Ssharp系统做数据采集,将采集到的数据存储后,分别使用了传统的滤波投影算法和之前的图像重建网络进行了重建实验。对滤波...
  • 总结和展望 结合58广告作弊业务场景,我们应用了连通子图算法、标签传播算法、louvain算法和GCN算法,取得了不错的效果。实践表明,图卷积神经网络算法对图的结构信息和图节点的特征进行有效的抽取和分析,能够...
  • 距离加权插值算法

    2020-12-23 04:58:29
    【实例截图】【核心代码】8dm7fq└── 距离加权插值算法(正方形搜索域)├── 距离加权插值算法(正方形搜索域)│ ├── bin│ │ └── Debug│ │ ├── 距离加权插值算法(正方形搜索域).exe│ │ ├──...
  • 濾波投影重建算法實現及應用(matlab)1. 濾波投影重建算法原理濾波投影重建算法常用在CT成像重建中,背后的數學原理是傅立葉變換:對投影的一維傅立葉變換等效於對原圖像進行二維的傅立葉變換。(傅立葉中心切片...
  • 简单的算法是将result初始化为1,然后重复将result乘以X,每次乘法之后应用%运算符(这样使得result的值变小,以免溢出),执行N次相乘后,result就是我们要找的答案。 这样对于较小的N值来说,实现是合理的,但是当...
  • 【绘芯滑轨屏推荐】为了减小传统的锐化掩模算法对噪声的敏感性,提出了一种新的锐化掩模图像增强算法,该算法在图像的平坦区域进行去噪处理,并依据人眼视觉特性对图像的不同细节区域做不同程度的增强。...
  • 深燃(shenrancaijing)原创作者 | 王敏编辑 | 向小园“算法不讲武德!”越来越多年轻人发觉,生活正在被算法控制。从事互联网运营的卢锋,想要搜索某个科技产品的特性及用户使用...
  • 图像反光 去除

    千次阅读 2021-04-04 12:56:52
    图像反光能被一键去除了?港科大开源RFC,仅用一个操作,强反光也能完美去除|CVPR2021 代码以及数据集:https://github.com/ChenyangLEI/flash-reflection-removal 项目主页:...
  • 滤波投影重建算法实现及应用(matlab)1. 滤波投影重建算法原理滤波投影重建算法常用在CT成像重建中,背后的数学原理是傅立叶变换:对投影的一维傅立叶变换等效于对原图像进行二维的傅立叶变换。(傅立叶中心切片...
  • 职能 作弊算法工程师,这个牛。 哪里可以学呀? 原文链接:https://blog.csdn.net/juwikuang/article/details/117537132 版权声明:本文为CSDN博主「有数可据」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上...
  • 参考论文:Image Warping with Scattered Data InterpolationInverse distance weighted interpolation算法(IDW)实际上就是根据给定的控制点对和控制点对的位移矢量(方向和距离),计算控制点对周围像素的距离加权...
  • 为了在不破坏图像关键信息的前提下,尽量保持眼底OCT图像轮廓特征,本文基于已知点扩散函数信息,提出了一种新的基于最大期望(Expectation-maximization, EM)方法的卷积去除OCT图像模糊算法。该算法的思想是:将图...
  • 很多都是离散的数据,通常情况下我们需要根据离散的数据来评估整体的数据分布情况,这时候往往我们需要用到一些插值算法,例如克里金插值法,线性插值三角网法以及本文中介绍的距离加权法插值算法。插值算法...
  • InverseDistanceWeightedInterpolationOneofthemostcommonlyusedtechniquesforinterpolationofscatterpointsisinversedistanceweighted(IDW)interpolation.Inversedistanceweightedmethodsa...
  • 左图为普通环光照明,右图为偏振光源照明
  • 路径规划算法

    2021-11-14 10:20:44
    文章目录前言一、传统路径规划算法1.Dijkstra算法2.A*算法3.D*算法4.人工势场法二、基于采样路径规划算法1.PRM算法2.RRT算法三、智能仿生算法1.神经网络算法2.蚁群算法3.遗传算法 前言 随着机器人技术、智能控制...
  • 图形学复习CH7 光栅化前几章介绍了几何处理和裁剪变换,接下来的步骤就是光栅化光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素7.1 线段生成算法(1)DDA画...
  • JD京东京喜拼拼sign算法(附编译后的小程序源码) 小程序端、源码 用到的工具 Fiddler、微信开发者工具 调试链接: https://api.m.jd.com/api?functionId=jxpp.picksite.queryOpenProvinceCityList&appid=...
  • 近年来,国内的电信诈骗案件呈愈演愈烈之势,本文以某省电信公司简化版本的防诈骗模型为案例,利用python机器学习工具,使用随机森林算法,从数据处理、特征工程、到诈骗模型的模型的构建及评估等完整流程进行一个...
  • 程序员是否要懂算法

    2020-12-29 17:00:38
    也有一部分程序员,认为算法非常重要,不会各种基础算法的程序员就是垃圾。 那么,到底谁对谁错?作为程序员的我们应该把算法摆在什么的位置? 或者实际一点,我们准备 应聘 或者 面试别人,是否需要重视算法这...
  • 经由过程应用prim算法(圈法)求解最小支撑树题目..[精要] 一.实验目的 通过使用prim算法(圈法)求解最小支撑树问题 二.实验内容 设图G =(V,E),其生成树的顶点集合为U。 ①.把v0放入U。 ②.在所有u∈U,v∈V-...
  • BP算法和LMBP算法

    千次阅读 2021-01-03 23:10:15
    BP算法 反向传播算法(BP算法)是一种监督学习算法,常被用来训练多层感知机。BP算法由两个环节(激励传播、权重更新)反复循环迭代,直到网络对...然后,将这个梯度乘上一个比例(∂*sm*(a(m-1)))并去后加到权重上。
  • 优化算法详解

    2021-10-17 10:56:33
    对于几乎所有机器学习算法,无论是有监督学习、无监督学习,还是强化学习,最后一般都归结为求解最优化问题。因此,最优化方法在机器学习算法的推导与实现中占据中心地位。在这篇文章中,SIGAI将对机器学习中所使用...
  • 中北大学课 程 设 计 说 明 书学生姓名: xxx 学 号: 11xxxxxxxx学 院: 信息与通信工程学院专 业: 电子信息工程题 目: 图像锐化掩膜算法研究指导教师: 田秀荣 职称: 讲师2015 年 01月 16日中北大学课程设计...
  • 算法分析与设计中的五大常用算法一、分治算法1. 基本概念2. 基本思想及策略3. 分治法适用的情况4. 分治法的基本步骤5. 分治法求解的一些经典问题二、 动态规划算法1. 基本概念2. 基本思想与策略3. 适用的情况4. 求解...
  • 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的密钥之后才能显示出原容,本篇会介绍各种加密算法。 加密介绍 第一类(SHA算法)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 301,763
精华内容 120,705
关键字:

反算法