草庐IT

盘点11个Github上有趣黑科技开源项目

Echa攻城狮 2023-03-28 原文
这几天有几位老铁们私信给我留言,说最近找了几部小电影都打码了,有没有黑科技把码去掉,无码看着多舒服。小编也好奇,是啥电影要用到黑科技来解决,其实只要懂点技术,没有解决不了的,只要用心去做,给点时间。不吹牛了,回归正传。

今天小编给老铁们分享11个Github上有趣的黑科技开源项目,个个都非常惊艳。小编有时候也会用用,方便有趣,还可以帮忙解决不少的事情,所以决定一一分享给大家,希望大家喜欢。

PULSE

Github(7k):https://github.com/adamian98/pulse

PULSE - 该开源项目可以通过给图片增加像素点来实现去马赛克或高清化

马赛克:人类文明进步的绊脚石,宅男的死敌,老司机的噩梦。从马赛克诞生起,人类和马赛克的斗争就从未停止。

对于程序员来说,如果女生问我们最多的问题是:如何装系统?那么男生问的最多的问题肯定是:咋去除马赛克。

如果有人问你能不能去除马赛克?你可以给他肯定的答复:不能,马赛克是不可逆的。

但是,但是!你可以脑补啊,那玩意看多了,被打码的地方啥样,自己心里没数么?但对于一个正常人来说,我这里说的是正常人啊,即使你阅片无数,给你一个严重打码的美女照片,你也很难脑补出这个美女长啥样,原因有两个:

1. 你没有看过足够多的美女图片

2. 你没有建立 美女马赛克 到 美女原图 的联系

有的小伙伴就说了,我不吃不喝,就只看美女图片和对应的马赛克图。当我看了足够多,给我一个打码的美女图片,我脑海里会不会立马涌现这个美女长啥样 ?

妙啊,乍一听还真有点东西。难道这就是 “心中无码,便是高清” ?

如图:

Depix

Github(23.1k):https://github.com/beurtschipper/Depix

Depix - 给打了马赛克的文字去码

如图:

TecoGAN

Github(5.1k):https://github.com/thunil/TecoGAN

TecoGAN 给视频去马赛克或者进行超分辨率

如图:

Real-Time-Voice-Cloning

Github(38.3k):https://github.com/CorentinJ/Real-Time-Voice-Cloning

Real-Time-Voice-Cloning - 只需要你 5 秒钟的语音,就能生成你说出来的任何话,细思极恐。

下面是比较详细的使用教程,遇到问题可以查看帮助:

​https://www.bilibili.com/video/av79481223?zw​

​https://blog.csdn.net/weixin_41010198/article/details/113186232​

我用这个模型试了一下,因为这个模型是老外开源的,所以训练的数据是英语的语音,我试了一下说中文,简直就是不会说中文的老外讲中文一个味道,现在我怀疑世界的真实性了

如图:

 SkinDeep

Github(38.3k):https://github.com/vijishmadhavan/SkinDeep

SkinDeep - 黑科技一键去除图片、视频中的纹身

没想到 GitHub 上真有这个开源项目,一位来自印度的算法研究员 Vijish Madhavan 开源了一个机器学习工具 SkinDeep ,它可以自动去除明星身上的纹身。

我使用这一工具去处理了一些重度纹身的人物照片,效果还不错。下图是阿伦 · 艾弗森(美国篮球运动员)的纹身去除前后对比图。

如图:

StyleCLIP

Github(3.2k):https://github.com/orpatashnik/StyleCLIP

StyleCLIP - AI自动 P图,见没见过扫把头的马斯克?

刚刚这个项目展现了 AI 的强大,效果堪比 PS,接下来这个自动 P 图的项目才是真的牛逼。

你有没有想过这样一个场景,当你对着一张原图说:帮我 P 一个帅气的刘海,啪!一个具有帅气刘海的图片便自动生成了。

如图:


 polyglot-png

Github(3.2k):https://github.com/DavidBuchanan314/tweetable-polyglot-png

polyglot-png - 明明下载的是一张图片,只需修改后缀名,图片就变成了一首歌,一串代码

国外黑客David Buchanan利用Twitter的漏洞,可以用图片伪装的方式传输一份“加密”文件,前提是不超过3MB。

他成功把这种藏匿文件的GitHub源代码压缩到图片中。

现在你只要去他的Twitter,把这张图片下载下来,并将文件后缀名从.png修改为.zip,即可解压为Github代码。

用图片隐藏压缩包的原理并不复杂,png图片文件的格式如下。在Zlib之后,有一片IDAT块的附加数据。藏匿数据就放在这里。

带压缩包的图片地址:https://i.imgur.com/kNhGrN3.png

David Buchanan的Twitter:https://twitter.com/David3141593/status/1371974874856587268

如图:

 ResnetGPT

Github(2.2k):https://github.com/FengQuanLi/ResnetGPT

ResnetGPT - 教你训练一个模型,让人工智能玩王者荣耀.

这个开源项目的实现原理是怎样的 ?下图是这个模型的核心代码,不算难,我一步步的拆解,我尽量用通俗的语言描述这些技术。

让电脑帮我们玩游戏可以分为如下几步,当然这种方式是比较容易实现的方式,并不会用到「强化学习」的东西,而屠杀围棋圈的 AlphaGo 算法是基于强化学习。

1. 获取当前游戏界面。既英雄现在是什么状态、周围有没有敌方英雄、小兵等等。

2. 根据当前游戏界面状态生成操作指令,是应该前进、攻击还是释放技能。

3. 根据生成的操作指令去控制手机,英雄做出相应的动作。

对于训练一个平民版的人工智能模型,大体流程就是这样。其中获取当前游戏界面、根据指令去控制手机都有成熟的技术。

比如这个项目中使用 scrcpy 获取安卓手机的投屏,这款安卓投屏神器可以将游戏画面投屏到电脑桌面上。

有了游戏画面,就得到了这时战局的状况。游戏画面是图片的形式,至于这个图片包含什么内容,人能看明白,但是电脑不懂。

这就需要我们自己去提取图片中的特征,这里便会用到深度学习算法的东西。基于卷积神经网络(CNN)来提取图片的特征,项目中使用的是 ResNet 101 分类网络。

通过训练这个卷积神经网络,该网络就会具备提取游戏画面特征的能量,有了这些,算法才能进行下一步操作指令的生成。

如图:

intelligent-uavpath-planning

Gitee:https://gitee.com/wwy2018/intelligent-uavpath-planning-simulation-system-S

intelligent-uavpath-planning - 这个项目是一个智能无人机路径规划仿真系统

这个项目是一个智能无人机路径规划仿真系统,具有操作控制精细、平台整合性强、全方向模型建立与应用自动化等优点。

它以 A、B 两国在 C 区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出。数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。

如图:

EssayKiller_V2

Github(4.9k):https://github.com/EssayKillerBrain/EssayKiller_V2

EssayKiller_V2 - 一个人利用三个月,开发了一个会写作文的人工智能

一般来说,高考作文可以通过批量化、模式化的训练达到一个令人满意的分数。实际上就是把学生当做一个写作机器进行训练,为学生输入大量范文,提供写作模式,然后进行长时间的学习。等等,这不是和人工智能的训练过程相同吗?

那么,如果给一个人工智能系统同样的数据,是否可以教会它写作文呢?

答案是,当然可以。B 站 UP 主 - 图灵的猫,秉承了心动不如行动的理念,一个人利用三个月,500 个小时,10000 行代码,200000000 条数据,1700000000 个参数,开发了一个会写作文的人工智能 - EssayKiller。

如图:

style2paints

Github:https://github.com/lllyasviel/style2paints

style2paints - 不需要安装任何环境、做任何配置,下载然后双击,就可以给线描图画上色。

这个 AI 项目是二次元的福音,虽然他是基于 AI 驱动,但这个项目不需要你安装任何环境、做任何配置。直接下载,然后双击,就可以给一个线描图画上色了。

如图:


有关盘点11个Github上有趣黑科技开源项目的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  4. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  5. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  6. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  7. 语法类似于 GitHub Flavored Markdown 的 Ruby markdown 解释器? - 2

    我使用Jekyll运行博客,并认为我会解决RedcarpetMarkdown解释器,因为它是developedandusedbyGitHub.好吧,我只是碰巧遇到了一个错误,去检查问题,然后foundthis.Maintainersays,"Asyouprobablyhavenoticed(harharharhar)Idon'thavetimetomaintainRedcarpetanymore.It'snotapriorityforme(IfindMarkdownthoroughlyboring)andit'snotapriorityforGitHub,becausewenolong

  8. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

  9. ruby - ri 有空文件 – Ubuntu 11.10, Ruby 1.9 - 2

    我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da

  10. ruby - vagrant 从 github 安装插件 - 2

    我们正在使用Vagrant进行部署,我们最终希望将此集群部署在Rackspace上。vagrant-rackspace插件是一个自然的选择,但它有一些错误,这些错误未包含在最新的0.1.1版本中(notablythatvagrantprovisiondoesn'twork)。我已经在我的personalfork中解决了这个问题通过合并其他人的工作来对存储库进行改造。是否可以从github安装vagrant插件?显而易见的事情没有奏效:[unix]$vagrantplugininstallvagrant-rackspace--plugin-sourcehttps://github.com

随机推荐