LightlyStudio高级查询技巧:用LQL语言实现复杂数据筛选与分析
【免费下载链接】lightly-studioCurate, Annotate, and Manage Your Data in LightlyStudio.项目地址: https://gitcode.com/gh_mirrors/li/lightly-studio
LightlyStudio是一款强大的数据管理平台,其内置的Lightly Query Language(LQL)让用户能够轻松实现复杂的数据筛选与分析。本文将分享LQL的高级查询技巧,帮助你更高效地管理和分析数据。
什么是LQL?
Lightly Query Language(LQL)是LightlyStudio平台专用的查询语言,它允许用户通过简单的语法来筛选和分析数据。LQL的语法类似于SQL的WHERE子句,非常容易学习和使用。
LQL基础语法
LQL支持各种条件运算符,如=、!=、>、<、>=、<=等,以及逻辑运算符AND、OR、NOT。以下是一些基本的LQL查询示例:
# 查找宽度大于等于640像素或高度大于等于400像素的图片 width >= 640 OR height >= 400 # 查找没有"reviewed"标签的图片 NOT "reviewed" IN tags # 查找包含宽度小于100像素的"car"分割掩码的图片 segmentation_mask(class_name = "car" AND width < 100)支持的图片属性
LQL支持直接查询图片的多种属性,包括:
width:图片宽度height:图片高度file_name:文件名file_path_abs:绝对文件路径created_at:创建时间
例如:
height >= 400 width >= 640 file_name = "cat.jpg" file_path_abs != "/datasets/archive/bad.jpg" created_at >= "2025-01-01T00:00:00Z"标签过滤
使用"标签名" IN tags可以筛选包含特定标签的图片:
"car" IN tags "training" IN tags NOT "rejected" IN tags "training" IN tags OR "validation" IN tags注释查询函数
LQL支持三种注释查询函数,用于筛选带有特定注释的图片:
classification()
用于筛选带有特定分类注释的图片:
classification(class_name = "cat") classification(class_name != "background")object_detection()
用于筛选带有特定目标检测注释的图片,支持class_name、x、y、width、height等属性:
object_detection(x >= 10 AND y < 200) object_detection(class_name = "cat" AND width >= 50 AND height >= 40) object_detection(class_name = "cat" OR class_name = "dog")segmentation_mask()
用于筛选带有特定分割掩码注释的图片,支持class_name、x、y、width、height等属性:
segmentation_mask(class_name = "cat") segmentation_mask(x != 0) segmentation_mask(width > 80) segmentation_mask(class_name = "cat" AND width >= 50 AND height >= 40)组合查询
你可以将图片属性查询和注释查询组合起来,实现更复杂的筛选:
height > 400 AND object_detection(class_name = "cat") width >= 640 AND classification(class_name = "approved") "reviewed" IN tags AND segmentation_mask(class_name = "road")高级查询示例
以下是一些复杂的LQL查询示例,展示了LQL的强大功能:
# 查找大尺寸、已审核且包含特定目标检测的图片 height > 400 AND width >= 640 AND "reviewed" IN tags AND object_detection(class_name = "cat" AND width > 80 AND height > 80) # 嵌套查询,结合文件路径、创建时间、标签和分割掩码约束 (file_path_abs != "/datasets/archive/bad.jpg" AND created_at >= "2025-01-01T00:00:00Z") AND ("training" IN tags OR "validation" IN tags) AND segmentation_mask( (class_name = "car" OR class_name = "truck") AND width >= 100 AND height >= 60 AND NOT (x < 10 OR y < 10) ) # 组合多种注释类型的查询 "reviewed" IN tags AND classification(class_name = "urban-scene") AND ( object_detection(class_name = "person" AND height >= 120) OR segmentation_mask(class_name = "road" AND width > 300) )LQL语法注意事项
运算符优先级
LQL运算符的优先级如下:
NOTANDOR
建议使用括号明确指定运算顺序,提高查询可读性。
字符串和注释
字符串可以使用双引号或单引号:
file_name = "frame-0001.jpg" file_name = 'frame-0001.jpg'使用#添加注释:
height >= 400 # 只保留大尺寸图片关键字大小写
布尔运算符和成员运算符(如AND、OR、NOT、IN)不区分大小写。
日期时间格式
created_at属性需要使用JavaScriptDate对象可解析的日期时间字符串。
通过掌握这些LQL高级查询技巧,你可以更高效地筛选和分析LightlyStudio中的数据,提升数据管理效率。更多LQL语法细节,请参考官方文档:lightly_studio/docs/docs/concepts_and_tools/lightly_query_language.md。
要开始使用LightlyStudio,请先克隆仓库:
git clone https://gitcode.com/gh_mirrors/li/lightly-studio【免费下载链接】lightly-studioCurate, Annotate, and Manage Your Data in LightlyStudio.项目地址: https://gitcode.com/gh_mirrors/li/lightly-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考