前两天在 GitHub Trending 上看到个利用 AI 自动给图片上色的项目(style2paints)火起来了。
在 AI 大行其道的时代,工程师们也开始思考如何用这项技术来解决一些实际问题。当这班工程师把 “魔爪” 伸向艺术家们擅长的绘画领域时,有趣的事情发生了。他们发现一些艺术家们引以为豪的图像绘制、色块填充、图层修补等技巧都能轻而易举的通过 AI 完成。具体是如何做到的,相信下面这几个开源项目能给你答案。
这是我曾经在某个技术论坛上偶然看到过的,由南京大学与中山大学几名学生联手制作的一个项目,它通过与 AI 结合的方式,帮用户快速将手绘草稿转为成品图。使用者只需简单画上几笔就能转成完整画像,简直堪称手残党的福音!
它的绘制过程大概是像下面这样的:

简单几笔就可以给你画个老婆:

还能把真人转为动画:

看完这个项目之后,你还觉得通过下面步骤画好一只马是在搞笑吗?

GitHub:style2paints
https://github.com/lllyasviel/style2paints
线稿成图工具有了,线稿上色还远吗?
Style2Paints 是一款 AI 驱动的线稿上色工具 ,可根据用户上传的自定义色彩给线稿进行上色,甚至连画作的光线、阴影等效果也能一并处理,最终处理效果令人震撼。其中线稿的上色工作会分为多个步骤进行,使得最终成品也能拥有多个图层,让创作者可以很轻松的完成后续的微调与修改工作。
一图胜千言,发几张示例图让大家感受一下:
少女风:

萝莉风:

御姐风:

GitHub:deep-painterly-harmonization
https://github.com/luanfujun/deep-painterly-harmonization
这是一个基于深度学习的开源项目,让图片可以毫无违和感的融入到绘画作品中,目测后面会被广大网友玩坏 ?照例来两张图感受一下。
第一列为原图,第二列为未被处理过的融合图,第三列为成品图:


最后这张最骚了,来自卷福的蜜汁微笑 ?

GitHub:deep-photo-styletransfer
https://github.com/luanfujun/deep-photo-styletransfer
最后分享的这个项目,它基于深度学习,利用深度卷积网络进行摄影风格转换,能在瞬间切换图片摄影风格。下面给大家看下示意图。
第一、二列为原始图,第三列为合成图:


大家从上面我分享的几个项目应该可以看出,我们目前日常所做的一些重复性劳动正在慢慢的被人工智能所替代。
不少人在此时兴许又会感到焦虑,其实大可不必,为了避免让自己成为一名「卢德分子」,你要做的应该是先去接纳这项新技术,并思考如何如何将这项技术应用到自己的实际生活,提高自己的工作效率。
如何保证自己的工作不被人工智能所替代呢?
迈克斯·泰格马克在《生命3.0》给出了建议,在此分享给大家看下:
近期,在对“哪些工作会被机器取代”的一项预测中,有人提出了一些在职业教育之前应了解的职业问题。这些问题十分有用。
比如:
这份工作是否需要与人交互,并使用社交商?
这份工作是否涉及创造性,并能使你想出聪明的解决办法?
这份工作是否需要你在不可预料的环境中工作?
在回答这些问题时,得到的肯定答案越多,你的就业选择可能会越好。这意味着,相对安全的选择包括教师、护士、医生、牙医、科学家、企业家、程序员、工程师、律师、社会工作者、神职人员、艺术家、美发师和按摩师。
相比之下,那些高度重复、结构化以及可预测的工作看起来过不了多久就会被机器自动化。计算机和工业机器人早在很久以前就已经取代了这类工作中最简单的那部分。
持续进步的技术正在不断消灭更多类似的工作,从电话销售员到仓管员、收银员、火车司机、烘焙师和厨师。接下来,就是卡车、公交车、出租车和 Uber/Lyft 司机等。
还有更多职业,包括律师助理、信用分析师、信贷员、会计师和税务员等,虽然这些工作不属于即将被完全消灭的工作之列,但大多数工作任务都将被自动化,因此所需的人数会越来越少。
可以看到,程序员在目前还是处于一个比较安全的位置的,但随着后面人工智能的技术愈加成熟,应用愈加广泛,一些相对平庸、没有创造力的程序员应该还是会最先被淘汰。
要让自己变得不可替代,便得保持不断学习,灵活调整,随时更新自己的技能,以适应这个瞬息万变的时代。
感谢您的阅读,如觉得有用请您点赞,您的鼓励是对我的最大动力!
END
2022/11/28
联系我:pengyu717@yeah.net
所以我开始关注ruby,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出
给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R
我在我的Rails3示例应用程序上使用CarrierWave。我想验证远程位置上传,因此当用户提交无效URL(空白或非图像)时,我不会收到标准错误异常:CarrierWave::DownloadErrorinImageController#createtryingtodownloadafilewhichisnotservedoverHTTP这是我的模型:classPaintingtrue,:length=>{:minimum=>5,:maximum=>100}validates:image,:presence=>trueend这是我的Controller:classPaintingsC
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
我正在研究使用EventMachine支持的twitter-streamrubygem来跟踪和捕获推文。我对整个事件编程有点陌生。我如何判断我在事件循环中所做的任何处理是否导致我落后?有没有简单的检查方法? 最佳答案 您可以通过使用周期性计时器并打印出耗时来确定延迟。如果您使用的是1秒的计时器,您应该已经过了大约1秒,如果它更长,您就知道您正在减慢react器的速度。@last=Time.now.to_fEM.add_periodic_timer(1)doputs"LATENCY:#{Time.now.to_f-@last}"@
啊,正则表达式有点困惑。我正在尝试删除字符串末尾所有可能的标点符号:ifstr[str.length-1]=='?'||str[str.length-1]=='.'||str[str.length-1]=='!'orstr[str.length-1]==','||str[str.length-1]==';'str.chomp!end我相信有更好的方法来做到这一点。有什么指点吗? 最佳答案 str.sub!(/[?.!,;]?$/,'')[?.!,;]-字符类。匹配这5个字符中的任何一个(注意,。在字符类中并不特殊)?-前一个字符或组
在Ruby中有运算符(operator)。在API中,他们没有命名它的名字,只是:Theclassmustdefinetheoperator...Comparableusestoimplementtheconventionalcomparison......theobjectsinthecollectionmustalsoimplementameaningfuloperator...它叫什么名字? 最佳答案 参见上面的@Tony。然而,它也被称为(俚语)“宇宙飞船运算符(operator)”。
我有一个字符串变量,它只能包含6个不同的值。我想检查它是否包含前4个值之一或2个第二值之一。有没有比这更优雅的方式:ifstring.eql?'val1'||string.eql?'val2'||string.eql?'val3'||string.eql?'val4'...elsifstring.eql?'val5'||string.eql?'val6'...end可能类似于ifstringisin['val1','val2','val3','val4']? 最佳答案 您可以使用include?:if['val1','val2','
电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑