最近我们与WIRED品牌实验室合作拍摄了视频使用骁龙设备烹饪美食,发布在WIRED.com上。视频展示了边缘人工智能令人振奋的实用案例,使用到的技术包括用于识别对象的对象检测、用于语言翻译的自然语言处理(NLP)和用于识别警报声音的声音感测。请务必观看这里的视频和文章!
实现此类技术我们需要神经网络模型。现在可供开发者使用的框架林林总总,包括TensorFlow,甚至还包括使用ONNX(常见的模型交换格式)共享数据的框架。
得益于Qualcomm®人工智能(AI)引擎,骁龙®移动平台正好派上用场,帮助开发者利用这些框架,交付各种人工智能用例。人工智能引擎靠得就是Qualcomm® Hexagon™ DSP丰富的特性,比如融合人工智能加速器架构和Hexagon 780处理器内置的新Tensor加速器。这种技术依托QDN各种AI开发资源,包括:
- Qualcomm®神经处理SDK:导入并优化模型以在骁龙芯片上执行的管道,包括人工智能和Tensor加速器。
- AI模型效率工具包(AIMET):高级模型压缩和量化技术开源库,优化经过训练的神经网络模型。
- Qualcomm®计算机视觉SDK:针对移动设备优化的计算机视觉算法库。
- Qualcomm®机器视觉SDK:用于机器人和自动驾驶车辆的计算机视觉例程C程序库。
- 骁龙Profiler:实时监控骁龙系统芯片性能的分析工具。
让我们看看一些常见的人工智能使用场景,利用了人工智能引擎及其工具创建的机器学习(ML)模型和功能。
物体检测
视频中,我们可以看到如何使用骁龙进行菠萝分类,并识别用于烹饪是否足够成熟。这只是开发者使用骁龙实现的众多图像处理算法中的一个实例。图像处理算法可分成不同的类别,包括:
- 图像分类:确定图像代表什么(例如,面部、车辆、建筑物等)。使用场景包括:分析农作物的状况、通过卫星图像探测环境状况、对装配线上的物体进行分类等。
- 对象检测和跟踪:定位和识别图像中一个或多个类型的对象,甚至在多个图像(例如视频帧)上跟踪这些对象。使用场景包括:分析安全摄像头视频、面部识别、跟踪自动驾驶车辆中的移动物体等。
- 语义分割:以像素为基础,识别图像中一个或多个类型的对象,实现更加精细的对象检测。使用场景包括:突出显示医学图像中的异常、重新着色图片中的物体等。
图像处理最常使用的神经网络之一是卷积神经网络(CNN)。CNN架构有各种各样的形式,如LeNet、AlexNet等,适合不同类型的图像处理任务。
CNN遵循相同的一般原理,使用过滤器(又称内核函数),对输入图像进行卷积计算,提取一个或多个特征图。这些特征图再通过池化层迭代进行下采样,并传递到下一层,提取更高一级的特征。然后将最终下采样(池化层)的特征图压平(flattened),并用作全连接神经网络进行分类的输入以进行分类。
我们的神经处理SDK支持多种有用的CNN层,包括卷积、反卷积、深度卷积、完全连接和池化。如需了解更详细的清单,请查看API参考指南的“支持的网络层”页面。
计算机视觉SDK旨在帮助开发者打造全新的用户体验,包括手势识别、面部检测、跟踪和识别、文本识别和跟踪,甚至增强现实。SDK针对这些应用提供了丰富的数学例程库,并经过优化,可在骁龙平台上运行。
自然语言处理
视频展示了两个实时的自然语言处理的示例。在第一个例子中,将纸质菜单的西班牙语翻译成英语,在第二个例子中,实时翻译口语。自然语言处理是一个很振奋人心的领域,包含多种任务,包括:
- 语言/语音识别:理解口语。场景包括从智能音箱到语音激活的工业物联网系统。
- 实时翻译:将一种口语翻译成另一种语言,几乎可以做到实时。这样可以允许讲不同语言的在线会议参与者之间进行口头交流。
- 语义分析:理解言语情感,如正面或负面陈述。
维基百科上的自然语言处理页面对上述及其他类型的NLP任务有了很好的解释。
NLP应用常使用的机器学习模型是循环神经网络(RNN),如长短期记忆(LSTM)。这些模型非常适合自然语言处理,它们能够记住任意时间间隔内的值并调节信息流。它们最突出的特点在于其循环层中的循环能力。在这里,每个层的输入包括要分析的数据和由该层执行的先前计算的输出,使它们具备了“记忆”的能力(即,跨迭代维持状态的能力),而它们的递归性非常适合于序列数据,如语音中的一系列单词。
神经处理SDK支持LSTM层,支持的网络层页面提供了更多信息。
有意思的是,自然语言处理有时可与图像识别交叉使用。例如,PerceptiLabs的这一用例,显示了如何使用MobileNet(另一种类型的CNN)分析光谱图,检测语音用户界面(VUI)等应用的语音命令。
声音感测
视频还展示了如何使用骁龙执行声音感测,以检测非常具体的声音。在这个视频中,骁龙设备检测到溢水的声音,发出警报通知用户。这种功能可以通过多种技术实现,包括上面提到的CNN频谱分析法。
结语
我们的系统芯片和工具生态系统很好的支持设备端边缘人工智能,尤其是在图像识别和自然语言处理这两个关键领域,支持众多的实际使用场景。
