项目介绍:VisionScript
VisionScript 是一种抽象编程语言,专为快速执行常见的计算机视觉任务而设计。它建立在 Python 基础之上,提供了一种简单的语法,用于运行对象检测、分类和分割模型。
如何开始使用 VisionScript
首先,安装 VisionScript:
pip install visionscript
然后,您可以通过以下命令运行 VisionScript:
visionscript
这将打开一个 VisionScript 交互式环境,您可以在其中输入命令。
运行 VisionScript 文件
要运行 VisionScript 文件,可以使用:
visionscript ./your_file.vic
在笔记本中使用 VisionScript
VisionScript 提供了一个交互式网页笔记本,您可以通过以下命令运行 VisionScript 代码:
visionscript --notebook
这将在您的浏览器中打开一个笔记本。请注意,笔记本是临时的,您需要将代码复制到文件中以保存。
快速入门
以下是一些使用 VisionScript 的简单例子:
使用对象检测在图像中找到人
Load["./photo.jpg"]
Detect["person"]
Say[]
在文件夹中的所有图像中找到人
In["./images"]
Detect["person"]
Say[]
在照片中用表情符号替换人
Load["./abbey.jpg"]
Size[]
Say[]
Detect["person"]
Replace["emoji.png"]
Save["./abbey2.jpg"]
对图像进行分类
Load["./photo.jpg"]
Classify["apple", "banana"]
安装说明
要安装 VisionScript,请克隆此代码库并运行以下命令:
pip install -r requirements.txt
然后,创建一个以 .vic
结尾的文件,用于编写您的 VisionScript 代码。编写完代码后,运行:
visionscript ./your_file.vic
运行在调试模式下
调试模式下可以显示代码的完整抽象语法树(AST),对调试代码和添加新功能非常实用:
visionscript ./your_file.vic --showtree=True
项目灵感
该项目的灵感是构建一种简单的方法来完成一次性任务。对于不熟悉“分类”和“分割”等概念的用户,VisionScript 提供了一种探索这些操作对图像影响的理想方法。
VisionScript 的语法受 Python 和 Wolfram 语言的启发,以直观的 “语法+参数” 格式运行,支持线性解释。这意味着您可以逐行运行代码,简洁而高效。
支持的模型
VisionScript 为一些模型提供了抽象封装,包括:
- OpenAI 的 CLIP(分类)
- Ultralytics YOLOv8(对象检测训练、分割训练)
- CASIA-IVA-Lab 的 FastSAM(分割)
- GroundedSAM(对象检测、分割)
- Salesforce 的 BLIP(描述生成)
- ViT(分类训练)
开发者设置
如果您希望为 VisionScript 语言添加新功能或修复错误,首先需要设置开发环境。克隆语言库并安装所需依赖项:
git clone https://github.com/capjamesg/VisionScript
pip install -r requirements.txt
pip install -e .
然后,您可以使用下面的命令运行 VisionScript:
visionscript
授权协议
该项目采用 MIT 协议授权。