跳转至

使用百度AI的api

约 479 个字 • 25 行代码

由于RoboCup的Receptionist项目,需要通过视觉图像识别出志愿者身上的4个特征

如衣服的颜色、头发的颜色、性别和年龄至少 4 个特征

一开始打算寻找已经训练好的神经网络模型来进行识别,但是搜索了几个并尝试运行,效果也不是很好

过程中找到的2个有用的东西

找到了github上一个使用yolov3来识别服饰特征的仓库,

kritanjalijain/Clothing_Detection_YOLO

由于最后更新是22年的,所以觉得环境应该不难装,于是克隆下来尝试运行,

安装环境时有些包无法安装要求的版本,于是我直接安装了最新的版本(与要求的没有超太多个版本),然后尝试运行没有报错


借助new bing找到kaggle上的一个使用yolov8检测服饰的项目,

Fashion Object Detection - YOLOv8 (kaggle.com)

然后在Output中,runs/detect/train/weights/ 路径下找到 best.pt 权重文件,于是下载进行加载,无报错可以运行

然后在学长的提议下,开始了解百度AI,发现能进行人体特征属性的识别,

人体检测与属性识别_人体检测识别-百度AI开放平台 (baidu.com)

然后注册好账号并领取了免费的使用次数之后,开始查询它的技术文档,

SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台 (baidu.com)

参考这两页就可以:

于是得到一个的调用百度api识别图像上的人体特征的简单示例代码

from aip import AipBodyAnalysis

""" 你的 APPID AK SK """
APP_ID = '********'
API_KEY = '************************'
SECRET_KEY = '********************************'

client = AipBodyAnalysis(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

image = get_file_content('WIN_20240504_20_51_35_Pro.jpg')

""" 调用人体检测与属性识别 """
client.bodyAttr(image);

""" 如果有可选参数 """
options = {}
# options["type"] = "gender"

""" 带参数调用人体检测与属性识别 """
answer = client.bodyAttr(image, options)

返回的 answer 是一个字典,返回的示例在技术文档中可以看到


最后更新: 2024-05-07
创建日期: 2024-05-07

评论