计算机视觉知识点-TensorFlow工具介绍

看到一篇介绍的比较好的TensorFlow关于计算机视觉相关库的介绍的文章,这里转述一下.

TensorFlow是能够执行一系列任务的端到端开源机器学习平台。 它为初学者和研究人员提供了一种易用性,并且可以用于不同的应用程序,比如计算机视觉,自然语言处理和强化学习。

TensorFlow model optimization toolkit
TensorFlow Graphics
TensorFlow Federated
TensorFlow Privacy
TensorFlow Hub

TensorFlow Model Optimization Toolkit

TensorFlow模型的可以转化为TensorFlow lite服务,针对ARM neon进行了优化.当然也可以在训练时期进行速度优化.

Pruning

第一种方法是重量修剪,它通过删除层之间的某些连接来工作,从而减少了涉及的参数和操作的数量,从而优化了模型。 它消除了重量张量中不必要的值,并在训练过程中执行。 这对于减小模型的大小很有用,当然,还可以通过训练后的量化进一步减小模型的大小。这里这里是进一步的参考

Quantization

与仅在训练过程中进行修剪不同,量化可以在训练和测试中进行。 Tensorflow Lite模型也被量化为使用8位整数。由于整数运算比浮点运算快得多,因此提高了性能和效率。
但是量化是一种有损技术。这意味着以前从-3e38到3e38表示的信息变成-127到127表示。为了解决这个问题,可以在训练期间应用量化。

Quantization Aware Training

通过在训练过程中应用量化,我们迫使模型学习量化差异,并将量化误差作为噪声引入,优化器尝试将其最小化。以这种方式训练的模型具有与浮点模型相当的准确性。可以参考这里这里.

Post Training Quantization

在训练之后进行量化,可以参考这里这里.

Weight Clustering

合并相似的权重,并用单个值替换它们。像JPEG压缩,也是有损耗的。权重矩阵存储的浮点值转换为整数,并存储包含聚类数字的查找表,这减少了所需的空间.如下例所示,将十六个float只聚类,并将图层权重转换为整数值。重量矩阵越大,空间和时间效率提升的越明显.

将聚类应用于全面训练的模型以找到中心,然后,可以使用压缩工具来减小模型的大小。 可以参考这里,这里,这里.

TensorFlow Graphics

TensorFlow graphics旨在将计算机视觉和计算机图形相结合以解决复杂的3D任务。计算机图形工作流程需要3D对象及其在场景

中的绝对位置,对它们由灯光构成的材料的描述以及用于生成合成渲染的相机的描述。另一方面,计算机视觉工作流程将从图像

开始,并尝试推导其参数。可以将其视为自动编码器,其中视觉系统(编码器)将尝试查找参数,而图形系统(解码器)随后将

基于这些参数生成图像,并将其与原始图像进行比较。而且,该系统不需要标记的数据并且以自我监督的方式训练.一些用途是:
 

转换

可以在对象上执行对象转换,例如旋转和平移。神经网络可以学习到这一点,以准确找到对象的位置。对于需要精确估计这些对

象位置的机械臂很有用。
 

相机建模

可以为相机设置不同的固有参数,这些参数会改变图像的感知方式。例如,更改相机的焦距会更改对象的大小。
 

材料

可以使用具有不同类型的光反射功能的不同类型的材料。因此,创建的场景可以准确模拟对象在现实世界中的行为。
 

3D卷积和池化

它具有3D卷积和池化层,使我们能够对3D数据执行语义分类和分段。
 

TensorBoard 3D 

数据正变得越来越普遍,可用于解决从2D数据进行3D重建,点云分割,使3D对象变形等问题。通过TensorBoard 3D,这些结果

可以可视化,从而提供对模型的更好见解。

进一步的阅读-在这里

TensorFlow Federated

随着移动设备和边缘设备的数量增加,生成了大量数据。 这个库旨在在设备上执行机器学习! 这意味着无需将大量(敏感)数据

上传到服务器。 Google键盘已经在使用它。可以参考这里

TensorFlow Privacy

这篇论文可以通过隐私攻击从机器学习模型中提取模型的训练数据信息,论文中的例子甚至可以根据模型重建训练数据.

上图左侧是仅使用人名和模型重建的图像。 右侧的图像是原始图像。 图片来自上面提到的论文.

使用tensorflow提供的工具,可以避免这个问题. 例如,假设有一个人与人之间的聊天数据集。现在,在聊天中传递的敏感信息可以是密码,银行帐户详细信息等。因此,如果在此数据集上创建了模型,工具将确保该模型无法学习这些详细信息,阅读有关差异化隐私的这篇文章,其中包含执行该文章的代码。

TensorFlow Hub

TensorFlow Hub是一个在TensorFlow中发布,发现和重用机器学习模块的平台。或者称为TensorFlow模型的GitHub。开发人员可以共享他们的预训练模型,然后可以供其他人重用。通过重用,开发人员可以使用较小的数据集来训练模型,提高通用性或只是加快训练速度。让我们快速浏览一些可用的不同计算机视觉模型。

图像分类

从MobileNet到Inception到EfficientNet,有一百多种模型可用于此任务。命名您想要的任何模型,很可能会在此找到它。


对象检测和分割

同样,您可以在这里找到任何需要的模型,尤其是在COCO数据集上训练过的TensorFlow模型动物园对象检测器的集合中。 Deeplab架构主导着图像分割场景。还有大量的TfLite和TensorFlowJs模型可用。
 
图像样式化

也可以使用不同的骨架来进行图像样式化,以及使用卡通化GAN。

生成对抗网络

可使用BigNet和Compare-GAN等GAN模型,并在ImageNet和Celeb数据集上进行训练,可用于训练ImageNet和人造脸中的任何类别!还有一个BoundlessGAN,可用于在相机捕获的场景之外生成区域。此外,它们中的大多数都有Colab笔记本,因此在实现它们方面没有大惊小怪。

我刚刚描述了冰山一角。对于姿势估计,特征匹配,超分辨率等主题,还有很多可用的模型,还可以在此处找到有关它的教程

TensorFlow提供了更多的库,例如TensorFlow Extended(用于部署ML管道的库),Magenta(用于生成音乐的库等)。在此处查看完整列表

最后的话:

这篇文章发布在CSDN/蓝色的杯子, 没事多留言,让我们一起爱智求真吧.我的邮箱wisdomfriend@126.com.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值