程序聚合 软件案例 鱼群轨迹可视化系统-基于计算机视觉的鱼群行为分析工具 - FishTracker

鱼群轨迹可视化系统-基于计算机视觉的鱼群行为分析工具 - FishTracker

2026-01-15 21:37:54
行业:人工智能、智慧数字孪生
载体:网站、Windows应用
技术:Python、OpenCV

业务和功能介绍

一、立项背景和目标
当前鱼类行为学研究、水产养殖环境优化过程中,传统鱼群行为分析依赖人工统计,存在耗时耗力、数据准确性低、动态参数捕捉不全面等问题,难以满足科研数据支撑与养殖决策优化的需求。本项目目标是开发一款基于计算机视觉的自动化工具,通过视频分析实现鱼群轨迹的自动检测、跟踪与行为参数量化,为科研人员提供高效分析手段,为水产养殖从业者提供环境优化的数据依据。
二、软件功能与核心模块
核心功能:支持 MP4/AVI 格式视频导入,自动完成鱼群检测与个体分割、多目标轨迹持续跟踪、速度 / 加速度 / 群体密度等参数计算,提供交互式轨迹可视化与趋势图表展示,支持轨迹数据与分析结果 CSV 格式导出。
核心模块:
视频 IO 模块(video_io.py):负责视频导入与处理结果输出;
预处理模块(preprocessor.py):通过灰度转换、高斯模糊优化图像质量;
分割模块(segmenter.py):基于 MOG2 背景减除与凸包缺陷算法,实现运动目标分离与粘连鱼群分割;
跟踪模块:采用 cKDTree 加速的最近邻匹配算法,结合分阶段匹配策略实现多目标轨迹追踪;
分析模块(analyzer.py):通过 Savitzky-Golay 滤波平滑数据,计算行为参数;
可视化模块(visualizer.py):绘制轨迹曲线与趋势图表,支持实时对比展示;
主应用模块(app.py):整合所有模块,提供网页交互界面。
三、业务流程
用户准备符合要求的鱼群视频(MP4/AVI 格式,推荐分辨率≤1920×1080);
启动网页应用,通过左侧界面上传视频或直接使用内置样例视频;
按需调整跟踪参数(距离阈值、最大丢失帧数等,默认参数适配多数场景);
系统自动执行背景建模(约 30 帧)、图像预处理、鱼群分割、轨迹跟踪与行为分析;
处理完成后,用户可查看轨迹可视化结果、速度 / 密度 / 加速度趋势图表;
按需下载完整轨迹坐标数据或分析参数时间序列的 CSV 文件。

项目实现

一、整体架构和设计思路
项目采用模块化分层架构,整体分为 “输入 - 处理 - 分析 - 输出” 四大环节:输入层负责视频数据导入,处理层包含预处理、分割、跟踪三大核心步骤,分析层实现行为参数计算与数据平滑,输出层提供可视化展示与数据导出。技术选型上,基于 Python 生态构建,利用 OpenCV 实现计算机视觉相关操作(背景减除、轮廓检测),通过 Streamlit 快速开发交互式网页界面,借助 numpy/scipy 完成数值计算,依托 matplotlib/pandas 实现数据可视化,各模块解耦设计,便于维护与扩展。
二、“我” 的负责模块和结果
负责多目标跟踪模块与行为分析模块的设计与开发,核心成果如下:
设计基于 cKDTree 加速的最近邻匹配算法,结合分阶段匹配策略(严格匹配 + 松耦合匹配),实现多目标轨迹持续追踪,在 100 尾鱼的密集场景下,轨迹丢失率控制在 5% 以内;
实现 Savitzky-Golay 滤波算法对轨迹数据的平滑处理,优化速度与加速度的时间序列计算逻辑,参数计算准确率提升至 90%;
开发群体密度归一化计算方案,基于画面像素面积标准化密度参数,支持不同分辨率视频的密度数据横向对比,适配多种应用场景;
参与模块集成与性能优化,将单段 10 分钟 1080P 视频的处理时间从 20 分钟缩短至 8 分钟。
三、遇到的难点、坑和解决方案
难点 1:鱼群粘连导致个体分割不准确
坑:密集场景下鱼体相互遮挡、粘连,传统轮廓检测无法区分个体,分割误差率达 25%。
解决方案:采用 “形态学开闭运算 + 凸包缺陷分割” 组合策略,先通过开闭运算去除噪点、优化二值化结果,再利用凸包缺陷识别粘连区域的分割点,最终将分割准确率提升至 88%。
难点 2:目标遮挡 / 快速移动导致轨迹断裂
坑:鱼群快速游动或短暂遮挡时,轨迹易丢失或 ID 误切换,影响数据连续性。
解决方案:设计轨迹 ID 管理机制,设置 “距离阈值 + 最大丢失帧数” 双参数控制,当目标暂时丢失时,保留轨迹 ID 至最大丢失帧数,超过后自动注销;同时优化匹配优先级,优先匹配距离最近且运动趋势一致的目标,轨迹持续跟踪率提升至 92%。
难点 3:大量数据处理导致界面卡顿
坑:高分辨率视频帧数据量大,实时计算与可视化同步进行时,网页界面响应延迟严重。
解决方案:采用 “批量处理 + 缓存机制” 优化,将视频帧按 10 帧为一批批量处理,计算结果临时缓存;可视化部分采用增量绘制策略,仅更新新增轨迹与图表数据,减少重复渲染,界面响应速度提升 60%。

示例图片视频


风起
30天前活跃
方向: 人工智能-机器学习与深度学习、人工智能-NLP和自然语言处理、
交付率:100.00%
相似推荐
企业数字化管理系统-企航 EasyOps
这个系统主要是给中小企业用来管理日常业务的。很多小公司平时用 Excel 记录客户、订单和库存,时间久了数据容易乱,也不好查。这个项目就是把客户、订单、库存、审批和报表这些内容集中到一个系统里管理.系统里有工作台、客户管理、订单管理、库存管理、审批中心和经营报表。用户可以在系统里录入客户信息,查看客户跟进情况;也可以创建订单、查看订单状态和订单金额;库存数量可以统一管理,库存低了系统会提醒;一些订单折扣、合同、退款申请可以走审批;最后还能通过报表查看销售额、客户数量、库存预警等经营数据。
基于多智能体与知识图谱的复杂知识分析平台
1. 立项背景和目标 面向复杂知识问答、多步任务拆解和证据驱动分析场景,搭建统一的 AI Agent 平台。旨在解决传统问答系统在复杂任务中可分解性不足、证据链不可追溯、文档与图谱数据割裂、模型选型缺乏统一评测等痛点,降低知识密集型分析任务的人工操作成本。 2. 核心功能模块 多智能体协作: 采用 planner -> dispatcher -> summary 主链路,支持任务拆解、依赖编排和拓扑执行。 知识检索与定位: 集成文档多格式解析、片段级检索、页级定位及 Neo4j 知识图谱 Cypher 检索。 评测与选型底座: 支持对不同模型、提示词策略和子代理组合进行横向对比与流程稳定性观察。 前端工作台: 支持多会话聊天、模型参数配置、执行轨迹面板、知识图谱可视化及结果下载。 3. 业务流程与功能路径 用户上传多格式文档或输入复杂分析任务 -> 系统提取分析并构建图谱 -> 多智能体协作编排并调度任务(子代理执行文档精读和图谱检索) -> 聚合生成可追溯、可信的结构化报告或演示文稿 -> 通过 SSE 流式反馈、渲染任务轨迹并展示给前端。
豪视界-AI 图像处理平台
AI 图像处理平台("流行智能"后更名"豪视界") —— 一个面向电商卖家的 SaaS 化 AI图像处理工具站。核心业务逻辑:卖家上传商品图,平台调用多个 AI引擎完成换背景、生成模特图、扩图/高清/去水印等处理,按张扣积分,处理结果存云端图库。 支撑业务的系统能力 - 账户体系:邮箱/手机注册登录、JWT 鉴权、图形验证码、访客可浏览(登录才可下单) - 积分计费系统:注册赠送 100 积分、按任务类型差异化定价(可后台配置)、消费流水记录、积分套餐 - 异步任务系统:任务状态机(等待→处理中→完成/失败)、批量提交、全局任务列表、结果轮询 - 图库:处理结果云端存储(阿里云 OSS)、缩略图、任务详情回看 - 管理后台:用户管理(禁用/启用/改积分)、任务监控与重试、系统配置、积分规则/套餐配置、操作日志、仪表盘统计
企业内部ERP系统
面向鞋类全栈 ERP 系统,覆盖从客户接单、模具管理、BOM 拆解、生产排程、出入库管理到标签打印、报表分析的全链路业务流程。系统采用前后端分离架构,后端基于 Spring Boot 3 提供 RESTful API,前端为 Vue 3 + Vite SPA,支持本地开发与 Docker 生产部署两套环境。
统一开发平台-统一开发平台
1. **雪花算法**:支持 5 种 WorkerId 分配策略(配置固定值、本地随机、Redis、ZooKeeper、Nacos) 2. **号码段模式**:数据库维护号码段,应用启动时自动建表,支持步长和号段缓存 3. **号码段链模式**:优化号码段的双 Buffer 机制,消除号码段切换时的耗时 4. **缓存集成**:号码段和号码段链支持本地(Caffeine)+ Redis 双级缓存 5. **代理服务**:独立部署的 ID 代理服务,提供 HTTP + Dubbo 接口 6. **Starter 集成**:应用通过 Starter 直接集成 ID 生成能力 7. **MyBatis 自动注入**:通过 MyBatis-Plus MetaObjectHandler 自动填充 ID 8. **独立 ID 池**:每个 `表名 + 主键字段名` 可拥有独立的 ID 池配置
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服