资讯动态

CircularNet 废料智能分拣:仪表盘上线前的 BigQuery 数据源准备指南

发布时间:2026/9/7 5:46:16 来源:尧图企业网站定制
CircularNet 废料智能分拣仪表盘上线前的 BigQuery 数据源准备指南【免费下载链接】modelsModels and examples built with TensorFlow项目地址: https://gitcode.com/GitHub_Trending/mode/models本篇基于 CircularNetwaste_identification_ml 项目官方文档view-data章节的开始前准备指南展开说明在把预测流水线的结果接入 Looker Studio 仪表盘之前需要完成哪些数据侧准备工作如何把云端/边缘设备两条路径产生的模型预测结果落到 BigQuery结果表包含哪些字段以及写入行为追加还是覆盖的源码级细节。读完本文你可以独立完成仪表盘的 BigQuery 数据源准备并理解数据从相机到可视化图表的完整链路。适用场景与前置步骤总览CircularNet 面向传送带场景的物体检测与跟踪如废料分拣其文档体系位于 circularnet-docs 目录采用 Hugo 技术文档站点组织。其中 view-data/_index.md 说明了该章节的定位在对象跟踪预测流水线运行完、模型结果上传到 BigQuery 之后你可以配置一个 Looker Studio 仪表盘获得自定义可视化和定点分析能力用于洞察与废物管理决策。CircularNet 提供了一份 Looker Studio 模板可复制到你的 Google Cloud 账户中以 BigQuery 作为数据源进行定制。而 view-data/before-you-begin.md 正是这条链路的第一道关口。该文档给出的前置步骤非常明确在仪表盘上可视化预测结果之前必须完成以下准备创建 Google Cloud 账户文档引导到 Google Cloud 控制台完成注册打开 Google Cloud 控制台后续所有数据操作都在控制台内完成把模型结果存入 BigQuery这一步按你的推理部署方式分为两种情形如果你在 Google Cloud 上运行对象跟踪预测流水线参见 analyze-data/prediction-pipeline-in-cloud.md结果会自动加载进 BigQuery无需额外操作如果你使用边缘设备或其他非 Google Cloud 方案做对象跟踪则必须手动把数据从你自己的数据库加载到 BigQuery文档指向了 BigQuery 官方的数据加载文档。文档还给出了一条实用提示Tip边缘设备可以通过在设备端运行的代码中配置云端 API 访问把数据推送到云端对于 Jetson NVIDIA 设备可参考其官方 Reference Cloud 文档实现。两条数据路径在仓库中的源码印证文档只说了云端自动、边缘手动仓库里的部署脚本则让我们能看到具体是怎么实现的。云端路径流水线脚本内置 BigQuery 写入参数云端预测流水线的部署代码位于 Deploy/detr_cloud_deployment。其客户端入口脚本 run_images.sh 激活名为myenv的 Python 虚拟环境后调用inference_pipeline.py并传入一组参数其中与 BigQuery 直接相关的有三项python inference_pipeline.py \ --input_directorygs://recykal/TestData/SmallTestData \ --output_directorygs://recykal/TestData/SmallTestData \ --model_namecn_segmentation_trt_model \ --threshold0.50 \ --search_range_x150 \ --search_range_y20 \ --memory3 \ --project_idwaste-identification-ml-330916 \ --bq_dataset_idcircularnet_dataset \ --bq_table_idtest_table1 \ --overwriteTrue参数含义来自脚本头部的说明注释参数说明--input_directory存放待推理输入图像的 GCS 目录--output_directory模型推理输出保存的 GCS 目录--model_name用于推理的模型名称--threshold检测置信度阈值--search_range_x/--search_range_y对象在丢失帧之间沿 X / Y 方向允许的最大像素位移对象跟踪用--memory对象可以丢失多少帧后仍保持被跟踪--project_id执行 BigQuery 操作的 Google Cloud 项目 ID--bq_dataset_id存放结果的 BigQuery 数据集 ID--bq_table_id存放结果的 BigQuery 表 ID--overwrite设为 True 时覆盖已有的 BigQuery 表可以看到云端流水线把project_id、bq_dataset_id、bq_table_id作为一等公民参数——这正是文档所说运行云端流水线即自动写入 BigQuery的直接证据。文档侧 prediction-pipeline-in-cloud.md 中还给出了更完整的参数清单含--height、--width、--model、--score、--search_range_x/y、--memory等及示例取值如模型名Jan2025_ver2_merged_1024_1024、阈值0.70、跟踪搜索范围100像素、memory20帧并注明若输入是图像而非视频应将命令中的run_gcp_videos.sh替换为run_gcp_images.sh并去掉--fps参数。边缘路径脚本不含 BigQuery 参数必须手动加载与之对照边缘设备的流水线文档 prediction-pipeline-in-edge.md 显示边缘侧脚本run_edge_images.sh的参数只有本地路径与推理相关项--input_directory、--output_directory、--height、--width、--model、--score、--search_range、--memory没有任何 BigQuery 参数。这从源码结构上印证了 before-you-begin 文档的判断边缘方案的结果默认只落在本地输出目录要接入仪表盘必须走手动把数据库数据加载到 BigQuery这条路或者按文档 Tip 在边缘侧代码中配置云端 API 直接把数据推上去。预测结果表的结构13 个字段一览文档只说把结果存入 BigQuery而 big_query_ops.py 给出了结果表的集中式 Schema 定义_BIGQUERY_SCHEMA约第 49–64 行。该表按单张图像内的单个检测对象粒度存储一行字段如下字段名类型必填语义particleINTEGER是对象粒子/物料标识source_nameSTRING是来源名称源视频/图像批次image_nameSTRING是图像文件名detection_scoresFLOAT是检测置信度分数creation_timeSTRING是记录创建时间bbox_0~bbox_3INTEGER是边界框四个坐标分量detected_classesINTEGER是检测类别编号detected_classes_namesSTRING是检测类别名称detected_colorsSTRING是检测到的颜色信息其中detected_colors来自流水线中的颜色提取逻辑同目录下的 color_extraction.pydetected_classes_names则可与类别映射文件 labels50.csv 对应。仪表盘Looker Studio 模板正是基于这些字段做分组、计数与趋势图表——理解这张表的粒度每行一个检测框 跟踪后的粒子 ID是看懂仪表盘上数量统计类别分布等图表含义的前提。写入行为追加还是覆盖BigQueryManager类big_query_ops.py实现了两类关键行为直接决定数据源的可预测性建表逻辑create_table约第 92–109 行先确保数据集存在不存在则创建若目标表已存在则依据overwrite参数决定行为——为 True 时删除旧表再按_BIGQUERY_SCHEMA重建为 False 时跳过建表直接复用。这与 prediction-pipeline-in-cloud.md 中--bq_table_id的说明一致若表已存在流水线会向该表追加结果。数据摄入ingest_data通过pandas_gbq.to_gbq以if_existsappend方式把 pandas DataFrame 追加进目标表即结果表天然按运行次数累积增长。由此可以推断两条实践结论其一跨多次运行想看到时间维度的趋势追加模式正合适其二若某次运行参数错误产生了脏数据重新跑一次并不会自动清理——配合云端文档中的提醒对同一视频/图像文件重跑流水线前必须先从输出桶删除首次运行生成的结果以免冲突覆盖与清理策略--overwriteTrue重建表或清理输出桶后重跑需要显式决策。此外同一文件中的upload_image_results_to_storage_bucket约第 121–148 行用gsutil -m cp -r把本地预测结果目录并发上传到输出 GCS 桶并清理本地目录说明BigQuery 存分析记录、Cloud Storage 存图像级结果是流水线的一体化设计与 prediction-pipeline-in-cloud.md 中结果追加到两张 BigQuery 表、处理完的产物导出到另一个桶的描述吻合。权限与常见注意事项在准备 BigQuery 数据源时prediction-pipeline-in-cloud.md 还列出了容易被忽略的权限前提部署 CircularNet 的 NVIDIA T4 GPU 虚拟机实例上的服务账户需要同时具备Storage Admin角色对输入、输出两个 Cloud Storage 桶以桶级策略添加该服务账户为主体BigQuery Admin角色对该项目中的 BigQuery 表。缺少前者流水线读不到输入图像缺少后者则自动写入 BigQuery这一步会静默失败或报权限错误——这正是 before-you-begin 文档要求你先打开 Google Cloud 控制台核对账户与项目的原因。另外两个文档给出的运维要点也值得一并记住流水线会在client目录下生成logs文件夹保存排障结果与模型记录排查数据没进表问题时应先看日志使用完 GPU 实例后应及时停止实例以避免不必要费用。小结与相关文件before-you-begin 这一页虽然篇幅不长但它卡住了整个数据可视化章节的前置条件账户就绪 结果已在 BigQuery 中。结合仓库源码可以把它落成可执行的动作清单——云端部署者核对run_images.sh的--project_id / --bq_dataset_id / --bq_table_id / --overwrite四个参数并确认服务账户的 Storage Admin 与 BigQuery Admin 角色边缘部署者则规划好手动或边缘推云加载数据的通道并确保目标表字段与_BIGQUERY_SCHEMA对齐。完成这些之后即可进入 configure-dashboard.md 描述的仪表盘配置步骤复制 Looker Studio 模板、把New data source指向你的 BigQuery 结果表。本文引用的仓库文件清单view-data/before-you-begin.md本文主体文档view-data/_index.md、view-data/configure-dashboard.mdanalyze-data/prediction-pipeline-in-cloud.md、analyze-data/prediction-pipeline-in-edge.mdDeploy/detr_cloud_deployment/client/big_query_ops.py、client/run_images.sh、client/inference_pipeline.py、client/labels50.csv【免费下载链接】modelsModels and examples built with TensorFlow项目地址: https://gitcode.com/GitHub_Trending/mode/models创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价