数据驱动零售之【人流统计(静态人数)Java调用示例】


前言:人数统计可带来的若干益处,包括通过做出明智的楼宇自动化决策获得成本节约、增加在场人数舒适度以及进行高效人数统计实施的多种方法。用户可以在掌握监控区域实时动态信息的同时,及时得到现场准确的人数和人群流量数据,有利于管理单位更高效的组织工作,它可与第三方软件系统进行集成,为科学决策提供数据支持。

人数统计是大型商场、购物中心、连锁店、机场、车站、博物馆、展览馆等公共场所在管理和决策方面不可缺少的数据。对于零售业而言,人流量更是非常基础的指标。因其与销售量直接的正比关系,人们对人流量计数数据的重视由来已久。

例如,在美国,HVAC 空气流量根据 OSHA(职业安全与健康管理局)标准进行调节,它与房间能够容纳的最多人数相关联。因此,如果没有传感器,房间就必须根据它能容纳的最多人数(最大座位容量)在工作时间内通风,这势必会浪费大量的能源。在场感应系统可以精确地计算人数,并根据实际在场人数准确调节 HVAC 空气流量

  • 今天为大家介绍百度AI下的人流统计(静态人数)接口调用示例代码(邀测接口需要单独申请)

--------------------------------------------------分割线--------------------------------------------------

  • 人流统计(静态人数)示例代码
package com.xs.image;

import java.net.URLEncoder;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xs.util.baidu.Base64Util;
import com.xs.util.baidu.FileUtil;
import com.xs.util.baidu.HttpUtil;


/**
 * 人流统计-JavaAPI示例代码
 * @author 小帅丶
 * @date 2018年3月30日
 */
public class BodyNumSample {
	//接口地址
	private static final String BODY_NUM = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num";
	//更换为自己应用的AccessToken
	static String token= "自己应用的AccessToken";
	//调用示例代码
	public static void main(String[] args) {
		//图片本地路径
		String imagePath = "图片本地路径";
		String result = CountBodyNum(imagePath, token);
		JSONObject jsonObject = JSON.parseObject(result).getJSONObject("result");
		System.out.println("图中的人脸个数为:"+jsonObject.get("number"));
	}
	/**
	 * 对于输入的一张图片(可正常解码,且长宽比适宜),识别和统计图像中的人体个数,以俯拍角度为主要识别视角,支持特定框选区域的人数统计,并可以输出渲染图片(人体头顶热力图)
	 * @param path 图片路径
	 * @param token AccessToken
	 * @return
	 */
	public static String CountBodyNum(String path,String token) {
		String result="";
		try {
            String filePath = path;
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");
            //image图像数据+show是否输出渲染的图片,默认不返回,选true时返回渲染后的图片(base64),其它无效值或为空则默认false
            String param = "image=" + imgParam+"&show=true";
            result = HttpUtil.post(BODY_NUM, token, param);
        } catch (Exception e) {
        	result = e.getMessage();
        }
        return result;
    }

 

  • 示例图片

  • 返回的结果

可以看出机器检索图片上认为有250个人体头顶热力图

{
    "log_id": 2053273838950054700, 
    "result": {
        "image": "/9j/4.........", 
        "number": 250
    }
}
  • 返回的图片渲染数据转换成图片后的文件

--------------------------------------------------分割线--------------------------------------------------

结束语:接口目前属于内测,需要单独申请哦。由上面的示例图片和渲染图片可以看到接口只是检测人头(人体头顶热力图)并不是整身哦。邀测阶段接口数据反正还不是很完善,

实际人数与接口返回还不太准确。图片本身人数越多。错误率就越大。已经反馈给百度。相信后续会慢慢优化准确率的哦。

人流量也算是一个数据。所以在特定的场景下,人流的统计真的是可以分析出很多提高利益的方案哦。

数据驱动零售¥¥¥¥¥......   你懂得^_^

源代码GitHub地址:https://github.com/xiaoshuaishuai319/BaiTencentDuAI

源代码Gitee地址:https://gitee.com/xshuai/ai


猜你喜欢

转载自blog.csdn.net/u010651369/article/details/79757245