CN / EN
banner图
掌握核心技术 驾驭光的运用

行业新闻

深度学习是解决所有计算机视觉问题的最佳方案吗?

日期:2019-04-26 来源:三姆森科技
         加州大学伯克利分校的JitendraMalik教授在2017年举办的嵌入式视觉峰会(EmbeddedVisionSummit)上进行了的一场精彩的主题演讲。Malik在计算机视觉领域拥有30年的研究和教学积累,他解释说,他一直对深度神经网络(DNN)对计算机视觉的价值持怀疑态度,但是在面对日益增长的令人印象深刻的结果时,他最终改变了主意。
深度学习是解决所有计算机视觉问题的最佳方案吗?_samsuncn.com
         毫无疑问,DNN已经改变了计算机视觉领域。DNN在识别目标、在图像内定位目标以及确定哪个像素属于哪个目标等方面,都能提供更好的结果。即使是像光流和立体匹配这样的已经能用传统技术很好地解决的问题,现在也可以用深度学习技术获得更好的解决方案。深度学习的成功,远远超出了计算机视觉领域,它还涉及到语音识别等众多领域。
         由于这些令人印象深刻的成功,深度学习在科研和产业领域吸引了大量的关注和投资。这些关注和投资,正在加速深度学习算法和有效实施这些算法方面的进展,从而使深度学习技术能够集成到越来越多的系统中,包括那些具有显著的成本和功率限制的系统。
         深度学习真的适合所有问题吗?
         这自然就提出了一个问题:如果你正在将计算机视觉功能集成到你的系统或应用中,你是否应该考虑除了深度学习以外的其他任何技术?在我的咨询实践中,越来越多的客户希望通过深度学习来解决计算机视觉问题。但是我们发现,在某些情况下,其他类型的算法更合适解决问题。
         为什么?
         首先,视觉世界是无限变化的,系统设计者有无数种方法使用视觉数据。其中有一些应用案例,如目标识别和定位,都可以通过深度学习技术得到很好的解决。因此,如果你的应用需要一种算法来识别家具,那么你很幸运:你可以选择一种深度神经网络算法,并使用自己的数据集对其进行重新编译。
         我们要先谈谈这个数据集。训练数据对有效的深度学习算法至关重要。训练一个DNN通常需要数千个带标记的训练图像(即用所需输出标记的图像),以及数千个带标记的图像来评估候选训练算法。当然,这些数据的性质非常重要:训练和验证数据,必须能够代表算法要处理的情况的多样性。如果很难或者不可能获得足够多样化的训练数据,那么最好还是使用传统技术。
         考虑使用其他技术而非DNN的另一个原因是,如果你要执行一项计算机视觉任务,而在以往的报道记载中,尚未使用DNN算法来解决这样问题。在这种情况下,你可以尝试使用为其他目的而创建的现有DNN算法;或者你也可以尝试创建一个新的DNN算法来满足自身需求。不管怎样,你都是处在研究领域。这可能会令人望而生畏,因为很少有人和组织有开发新型深度神经网络算法的经验。而且,很难知道你是否能在可用的时间、精力和计算资源限度内取得成功。
         传统技术与DNN的结合
         当我们深入研究客户的需求时,我们经常发现,最初看起来像单一视觉问题的任务,往往可以分解为几个子任务。通常,在这些子任务中,自然有一些子任务是适合使用DNN解决的,而另一些子任务则不适合用DNN来解决。对于这些项目,结合DNN和传统技术的解决方案,通常是更好的选择,而不是试图将整个问题都强制转向DNN解决方案。
         记住机器学习技术是多种多样、变化多端的,这一点也非常重要。早在深度神经网络普及之前,其他机器学习技术(如支持向量机,SVM)就已经被用于解决很多视觉问题,并且今天仍然很有用。
         鉴于DNN在研究和技术方面的巨大投资,很明显,DNN作为首选解决方案的适用范围,将会继续迅速扩大。然而,在可预见的未来,许多应用将通过传统技术(包括其他形式的机器学习)或通过深度学习和传统算法的组合,来获得最好的解决方案。


返回列表