跳转到主要内容
Chinese, Simplified

我在 Medium 上休学了一年,从未发表过一篇关于计算机视觉的文章。事实是…
回想起来,我在这里发布的最后一篇文章是 2020 年 12 月 12 日,而且是很久以前的事了。事实是,我在我的游戏项目和其他一百万件事之间左右为难,比如工程研究、竞赛和项目、实习和我自学计算机视觉技能的时间。但是,尽管如此,那是很棒的一年,我不得不说,我为自己感到自豪,我仍然能够继续学习计算机视觉,甚至获得了该领域的实习机会。不用说,我从这份工作中学到了很多东西,这里是细目。


今年,我将全力撰写计算机视觉主题,我认为这些主题将对初学者/中级计算机视觉爱好者有所帮助。
随着我更多地接触到计算机视觉这个话题,我发现迫切需要让自己参与到现实世界的应用程序中,并停止从事只能在屏幕上工作的项目。巧合的是,在我的工程课程中有一个顶点项目,我们要为隔离中心的 Covid-19 患者设计一个送餐机器人。我们与一个团队一起,利用我们对计算机视觉的了解并将其应用于机器人本身。我们成功实施了数字识别等功能,有助于标记和识别患者。请记住,这一切都在嵌入式系统上,并且考虑到保持低成本,有很多约束和限制。尽管如此,我们在机器人的部署和生产方面仍然在同行中脱颖而出。

看,计算机视觉的应用不仅限于软件,更重要的是它如何与有限的硬件一起工作。我们发现自己处于一个独特的位置,可以改进我们所做的事情。当然,我们尝试了最有名的面部识别系统和许多其他功能,但它们根本不是我们打算使用的硬件的理想解决方案。因此,我提高计算机视觉技能的第一个技巧是通过硬件集成自己实施解决方案的实践经验。从那里,您将能够对不同的应用程序进行试验,并找出适合目标的应用程序。

提示 #1:通过硬件集成实现计算机视觉解决方案的实践经验无疑是有用的。


快进几个月,我发现自己在一家公司的 AI 团队工作,我的任务是从事几个计算机视觉项目。老实说,它们对我来说很有趣,我认为它们是对整个社会有益的项目。虽然这些项目是保密的,但我只能说这些项目属于水培和医疗领域。老实说,这些项目主要集中在软件方面,我没有参与其中的硬件集成部分。
可悲的是,我的实习期并没有让我在硬件集成阶段停留足够长的时间。


但有趣的是,我深入研究了计算机视觉的软件方面,从分析图像数据集、在学习了许多算法后手动提取特征到实现著名的深度学习模型。幸运的是(或者不幸的是),两周后,我遇到了一个我没想到的问题:缺少图像。您可能会欣赏本文中的另一个事实是,与 Kaggle 问题的世界不同,现实世界中的图像数据集从来没有很好地排列/组织/压缩/策划/准备/{you name it}……但它们无处不在。引用我在LinkedIn上发布的文章:
干净的数据集很难获得,它们通常来自数据和标签被巧妙地压缩在一个文件夹中供您下载的站点。现实世界的数据集会让您自己提取数据和标签。痛苦。不过挺好玩的

这让我想到了提示 #2:学习如何策划或准备好的图像数据集将是一项非凡的技能。

有了这个,这可能意味着您需要掌握 Photoshop 技能,或者您必须学习如何使用代码操作图像。我通过艰难的方式学到了这些,我会花费无数个小时来尝试修复图像,以便它在分布方面适合整个数据集,否则它很可能是一个异常值。请记住,人工智能团队负责研究和实施原型级解决方案,而不是成熟的解决方案,这解释了为什么有如此多的图像处理技能实验。


提示 #2:能够准备一个好的图像数据集,或者更重要的是,能够在计算机视觉项目中识别一个好的图像数据集是一项非凡的技能。


还记得我提到过水培和医疗领域吗?具体来说,这些不是我的研究领域,而且对我来说看起来很陌生的行话数量非常惊人。但也正是这些行话帮助我提高了计算机视觉技能。信不信由你,当我开始每个计算机视觉项目时,首先要做的就是阅读该主题并研究许多有助于我后来的“实验”的期刊论文。因为大多数项目都需要我们手动从图像中提取特征,所以我们应该事先知道这些特征是如何产生的。在医学领域,这些特征已经被科学证明了很多年,理想情况下,我们只需要遵循一定的规则来提取它们。你会认为它简单明了,因为我也这么认为。尽管认为有必要,但在这样的特征提取步骤上花费了太多时间。关键是,在任何计算机视觉项目中,我们都应该充分了解该主题,以便在继续之前了解我们正在处理的功能。这是我的第三个建议。


提示 #3:领域知识与计算机视觉工具带下的工具同样重要。

在开始编写代码来探索数据之前,通常需要做一些阅读以充分了解某个主题,然后再开始编写代码。

假设您已经经历了准备好的图像数据集的麻烦,阅读某些所需主题的麻烦,甚至使用代码处理一些特征提取的麻烦,现在是时候将数据呈现给 团队。 我曾经认为这很简单,因为我需要做的就是脱口而出结果并告诉他们推进项目所需的解决方案。 男孩,我又错了。
通常,团队已经对图像数据了解很多,有时甚至与您一样多,即使在图像处理步骤之后也是如此。 困难的是我们能够找到团队不知道的见解并以简短而准确的方式呈现它们。 这有点抽象,因为它需要经验,因为没有很多例子。 请记住,当我们作为计算机视觉工程师决定展示我们的发现时,我们应该比团队更了解数据。 这很重要。

提示#4:编译所有数据并将其呈现给团队需要时间,但团队没有一整天的空闲时间,因此演示文稿必须简短而准确。

此外,团队已经对数据了如指掌,因此找到可以使项目继续向前发展的见解至关重要。 做演示,不是那么有趣。 讲故事,不错。
2021 年是我生活的许多领域充满成长的一年,计算机视觉绝对是其中之一。 我希望你能在这篇文章中拿走一些关键点,这样你就可以为计算机视觉工程师的角色做好准备,但是当你在做的时候,记得要玩得开心,因为计算机视觉是一个有很多的领域 复活节彩蛋! 我将在我即将发表的文章中揭开它们的面纱。 :)

原文:https://medium.com/mlearning-ai/how-i-improved-my-computer-vision-skill…

本文:

Tags
 
Article
知识星球
 
微信公众号
 
视频号