现在AI红火,但是最火爆的要属大语言模型。看好它的人认为它是通用人工智能的雏形。不过这段时间,专用的人工智能模型领域也有很多有意思的东西。比如以前的Facebook,现在的Meta公司,在人工智能方面也很牛。虽然他们的元宇宙没搞出什么名堂来,但他们在人工智能领域还是很牛叉的。而且他们把很多模型都开源出来了。比如之前的羊驼模型,直接破了OpenAI的垄断,让语言模型甚至可以运行在个人电脑之上。
今天提到的这个也是Meta公司的开源模型,而且更加有趣,它叫做“分割一切”。给它一张图片,它竟然能够识别出图片中几乎所有的物品。然后将它们轮廓勾勒出来。这一功能的应用可以有各种各样的想象。看到网上有个说法是Meta的这个模型,终结了计算机视觉这个领域。
还正好最近在工作中碰到了一个问题,问题的起因是用监控摄像头的画面检测人员是否在岗。说实话,我不觉得这个功能有必要。人工智能还是应该多应用在为人造福,替代人类从事复杂重复的劳动,而不是用来监控和管理人的方面。不过不管怎样,理论上,分割一切模型确实可以应用到这个方面,用来实现这个功能。
当然我也没有开始用这个模型写一个应用的水平。我在GitHub上找到了一个名叫Segment Anything和Tracking Anything的项目。看介绍,好像是浙江大学的一个研究小组做的。直接他们还提供了可以在谷歌CoLab上运行的Demo。利用Meta的Segment Anything模型和结合了其他的模型,实现了非常方便和强大的功能。对于我这个任务,我只需要在文本数框中输入Human Person People等表示人类的英语单词,它就能够检测出画面中是否有人。如果没有人,则会显示出一个错误的提醒。利用这个项目,我几乎不需要做任何底层的编程,就能够实现检测是否,通过监控检测人员是否在赶。首先,我只需要运行这个项目的CodeLab笔记本,然后就会得到一个和Stable Diffusion相似的WebUI在浏览器中显示。然后,就使用Selenium这个自动化操作浏览器的Python,然后编写代码截屏,将截屏上传,用Selenium自动上传,并点击相应的按钮进行分析,就能够得到最终的结果了。
当然,实现了这个功能后,下一步应该可以用在更贴近生产的场景中,比如识别船舶。