细心的同学会发现 Intellij IDEA 每次发版本的时候都会有不同的启动界面背景,都很比较抽象的艺术图像。

2020.3的启动界面背景

JetBrains 的其它产品也有自己独特的设计。

但是这背后是怎么实现的、有什么寓意却很少有人知道。今天让胖哥来带你解开这个答案。

编码的艺术

编码是一门艺术。说到这里你会很容易想到这肯定是利用编程实现的。是的,这里的图像生成器技术用了到机器学习中的神经网络技术。这些生成的图像本质上是前馈神经网络映射函数描绘的!基于传递给网络的确切数据,加上一些预设的生成算法(遗传算法),让这些图片看上去很“顺眼”。目前 JetBrains 提供了可视生成器,你可以根据自己的喜好来生成桌面背景。

神经网络图片生成体验

只需访问Desktop Art 页面或直接转到code2art.jetbrains.com,就可以自己设计上述风格的桌面。打开后在在下拉列表中选择IntelliJ IDEAMPS 之类的产品后,只需单击Prescribed按钮,它将以该产品的所有动画效果创建初始屏幕。

选择Mixer,稍等片刻我们可以看到 9 张不同的图像,每个图像都是由神经网络分别生成的。你可以在其中混合随意的想法,调整色彩,选取目标,并根据你自己的设定创作出反映内在自我的艺术色彩。

如果这 9 张图像都不符合您的口味,你可以点击Regenerate获取 9 张新的新图像,这些图像在某种程度上都与以前的图像有所不同。如果您已经喜欢某些现有图像,你可以点击选中它们,然后按Crossbreed按钮将选中的图像混合生成一些新图像,重复多次,直到找到理想的图像。通过其它一些选项,你可以导出静态图片、动图甚至 MP4 视频。

小试牛刀

技术细节

从技术上讲,该图片生成器的服务器端分为几个部分:

  • 使用TensorFlow构建的基于神经网络的图像生成引擎。
  • 视频渲染引擎,可从图像生成视频。
  • 场景存储服务。
  • 任务队列,用于在服务器组件之间分配 CPU 和 GPU 密集型计算任务。
  • 混合器 Mixer–通过遗传算法演化生成图像的工具。
    • Mixer 模式和图像生成引擎之上还建立了另一个神经网络,该神经网络可以汇总用户的偏好来预测哪些图像更可能是美丽的,这也是神经网络能够越来越了解人类喜好的根本。

有兴趣的可以深入了解一下,代码是开源的。

有时候不得不感叹一下一些伟大的产品的设计思维都是具有创造性和艺术性的,什么时候我们中国的程序员能有这种外部环境,没有 KPI,没有 996,什么时候我们才能做出伟大的产品。
©著作权归作者所有:来自51CTO博客作者mob604756f80175的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 图像分割算法实战(深度学习)
  2. 图像翻转
  3. 数字图像处理关于傅立叶变换的小记
  4. 利用pytorch图像增广
  5. 深度学习,机器学习视频教程
  6. Oracle数据科学:图像识别与视频合成
  7. 【论文解读】LGN: 基于词典构建的中文NER图神经网络
  8. 卷积神经网络详解
  9. 在图像生成领域里,GAN这一大家族是如何生根发芽的

随机推荐

  1. Python是否支持复制字符串呢?
  2. Python进阶:全面解读高级特性之切片!
  3. 大名鼎鼎的Requests库用了什么编码风格?
  4. getchar()与循环(九)
  5. join()方法的神奇用处与Intern机制的软肋
  6. [译]PEP 342--增强型生成器:协程
  7. Python进阶:设计模式之迭代器模式
  8. Python 之父退位后,最高决策权花落谁家?
  9. 简单配置nginx反向代理服务
  10. excel 中设置下拉菜单,让其一直显示