当前位置: 首页 > news >正文

调用海康威视AI开放平台接口实现人体关键点检测

🎯 应用概述

这是一个基于Web的海康威视AI图像检测平台,支持通过浏览器上传图片并实时获取AI检测结果。用户可以直接在网页上上传图片,系统会自动调用海康威视AI接口进行人体检测和关键点识别,并生成可视化结果。

接口文档:人员关键点识别

✨ 核心特性

  • 🔑 完整的Token管理:自动获取和缓存访问令牌
  • 📷 双模式检测:支持本地文件上传和网络图片URL检测
  • 🎨 高级可视化:人体边界框、关键点、骨骼连接线
  • 🌐 现代Web界面:响应式设计,支持拖拽上传
  • 📊 详细统计:检测结果、性能指标、目标分析
  • 💾 结果导出:HTML可视化页面和JSON数据文件

🚀 快速开始

1. 启动Web服务器

npm run web

2. 访问Web应用

在浏览器中打开:http://localhost:3000

3. 选择检测模式

模式A:本地文件上传
  • 选择"📁 上传本地图片"
  • 点击选择或拖拽图片文件
  • 支持JPG、JPEG、PNG、BMP格式,最大20MB
模式B:网络图片URL
  • 选择"🌐 使用网络图片URL"
  • 输入公网可访问的图片URL
  • 点击"加载图片"预览

4. 开始AI检测

  • 确认图片预览正确
  • 点击"🚀 开始AI检测"按钮
  • 等待检测完成(通常1-3秒)

5. 查看检测结果

  • 📊 统计概览:目标数量、图像尺寸、处理耗时
  • 🎯 目标详情:每个检测目标的置信度和关键点信息
  • 🎨 可视化结果:点击查看完整的可视化页面
  • 💾 数据下载:下载完整的检测数据(JSON格式)

🎨 可视化功能详解

检测元素说明

  1. 🟢 绿色边界框:标识检测到的人体区域
  2. 🔴 红色关键点:16个人体关键点位置
  3. 🔵 蓝色连接线:人体骨骼结构连接
  4. ⚪ 白色标签:置信度和关键点名称

16个人体关键点

编号关键点名称编号关键点名称
0头顶8左腕
1左耳9右腕
2右耳10左髋
3上颈部11右髋
4左肩12左膝
5右肩13右膝
6左肘14左踝
7右肘15右踝

交互式控制

可视化页面提供以下控制按钮:

  • 切换边界框:显示/隐藏人体检测框
  • 切换关键点:显示/隐藏关键点标记
  • 切换连接线:显示/隐藏骨骼连接线
  • 切换标签:显示/隐藏文字标签
  • 下载结果:保存可视化图像

🎨 界面介绍

1、上传本地图片

在这里插入图片描述

2、选择网络URL图片

在这里插入图片描述

3、检测结果页面

在这里插入图片描述

4、可视化结果

在这里插入图片描述

📁 文件结构

Web应用相关的文件结构:

项目根目录/
├── server.js                 # Express服务器主文件
├── hikvisionApi.js           # 用于调用视觉算法接口进行图片校验
├── visualizer.js             # 用于在图片上绘制人体检测框和关键点
├── public/                   # 静态文件目录
│   └── index.html            # 主页面
├── uploads/                  # 上传文件存储目录
├── web_results/              # 检测结果存储目录
│   └── [resultId]/           # 每个检测结果的独立目录
│       ├── result.html       # 可视化HTML文件
│       └── data.json         # 检测数据JSON文件
└── package.json              # 项目配置(包含web启动脚本)

⚠️ 注意事项

系统要求

  • Node.js版本:建议16.0+(当前支持16.15.1)
  • 浏览器支持:Chrome、Firefox、Safari、Edge等现代浏览器
  • 网络要求:需要能够访问海康威视AI开放平台

配置要求

  • API密钥:必须在.env文件中配置正确的APP_KEY和APP_SECRET
  • 网络连接:确保服务器能够访问ai.hikvision.com
  • 端口占用:默认使用3000端口,确保端口未被占用

使用限制

  • 文件格式:仅支持JPG、JPEG、PNG、BMP格式
  • 文件大小:单个文件最大20MB
  • 并发处理:建议避免同时上传多个大文件
  • 存储空间:上传的文件和结果会占用本地存储空间

安全考虑

  • 文件清理:建议定期清理uploads和web_results目录
  • 访问控制:生产环境建议添加身份验证
  • HTTPS:生产环境建议使用HTTPS协议
  • 文件验证:系统已包含基本的文件类型和大小验证

🛠️ 故障排除

常见问题

  1. 服务器启动失败

    # 检查端口是否被占用
    netstat -ano | findstr :3000# 使用其他端口启动
    set PORT=3001 && npm run web
    
  2. 图片上传失败

    • 检查文件格式是否支持
    • 确认文件大小不超过20MB
    • 检查网络连接是否正常
  3. AI检测失败

    • 确认API密钥配置正确
    • 检查网络是否能访问海康威视服务器
    • 查看服务器控制台的错误日志
  4. 可视化结果无法显示

    • 确认结果文件已生成
    • 检查浏览器是否阻止弹窗
    • 尝试直接访问结果URL

调试方法

  1. 查看服务器日志

    • 服务器控制台会显示详细的处理日志
    • 包括文件上传、API调用、结果生成等步骤
  2. 检查API状态

    # 健康检查
    curl http://localhost:3000/api/health# 配置检查
    curl http://localhost:3000/api/config
    
  3. 浏览器开发者工具

    • 打开F12开发者工具
    • 查看Network标签页的请求响应
    • 查看Console标签页的错误信息
http://www.dtcms.com/a/340735.html

相关文章:

  • Java毕业设计选题推荐 |基于SpringBoot+Vue的知识产权管理系统设计与实现
  • langchain-ds的报告生成提示词
  • 如何低比特量化算法的工程实战与落地优化
  • 从零开始的云计算生活——第四十七天,细水长流,kubernetes模块之ingress资源对象
  • 开源 AR 眼镜怎么选?OpenGlass ,OSSG,cheApR 分析推荐
  • 无需驱动!单文件实现键盘按键禁用的技术方案
  • 通用物联网接口调用完整解决方案2
  • Ubuntu_22.04安装文档
  • k8s--Discuz论坛lnmp平台部署
  • 软件可视化与前端、后端技术开发的关系
  • WPF MVVM进阶系列教程(四、ViewModel通信)
  • std::map 的插入元素方式
  • 下拉组件Tag支持自定义背景颜色,图片组支持设置刷新频率,DataEase开源BI工具v2.10.12 LTS版本发布
  • iOS 应用上架常见问题与解决方案,多工具组合的实战经验
  • 深入解析RAGFlow六阶段架构
  • iOS 应用迭代与上架节奏管理 从测试包到正式发布的全流程实践
  • 操作系统:资源竞争或者同步问题;锁、信号量等机制
  • Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南
  • MacBook Pro M1升级Burp Suite2025.8
  • Mac电脑上虚拟机共享文件夹权限问题
  • 数据挖掘笔记:点到线段的距离计算
  • 5.3 包管理工具 npm yarn pnpm 对比
  • AI与BI的协同:未来企业数据分析的趋势
  • 【考研408数据结构-06】 树与二叉树(上):遍历算法全解析
  • 【考研408数据结构-07】 树与二叉树(下):特殊树结构与应用
  • HTTPS协议与HTTP协议的区别
  • Web前端调试与性能优化,Charles抓包工具的高效应用
  • 计算机视觉(二)------OpenCV图像视频操作进阶:从原理到实战
  • vscode连接docker
  • 【网络运维】Linux:正则表达式