HumanFaceLandmark¶
- class agentlego.tools.HumanFaceLandmark(model='face', device='cuda', toolmeta=None)[source]
A tool to extract human face landmarks from an image.
Default Tool Meta¶
name: HumanFaceLandmark
description: This tool can estimate the landmark or keypoints of human faces in an image and draw the landmarks image.
inputs:
image (ImageIO)
outputs:
ImageIO: The human face landmarks image.
Examples¶
Download the demo resource
wget http://download.openmmlab.com/agentlego/face.png
Use the tool directly (without agent)
from agentlego.apis import load_tool
from PIL import Image
# load tool
tool = load_tool('HumanFaceLandmark', device='cuda')
# apply tool
face_landmark = tool('face.png')
print(face_landmark)
With Lagent
from lagent import ReAct, GPTAPI, ActionExecutor
from agentlego.apis import load_tool
# load tools and build agent
# please set `OPENAI_API_KEY` in your environment variable.
tool = load_tool('HumanFaceLandmark', device='cuda').to_lagent()
agent = ReAct(GPTAPI(temperature=0.), action_executor=ActionExecutor([tool]))
# agent running with the tool.
img_path = 'face.png'
ret = agent.chat(f'Draw the face landmark of the human in the image `{img_path}`')
for step in ret.inner_steps[1:]:
print('------')
print(step['content'])
Set up¶
Before using the tool, please confirm you have installed the related dependencies by the below commands.
pip install -U openmim
pip install git+https://github.com/jin-s13/xtcocoapi
mim install -U mmpose
Reference¶
This tool uses a RTM Pose model in default settings. See the following paper for details.
@misc{jiang2023rtmpose,
title={RTMPose: Real-Time Multi-Person Pose Estimation based on MMPose},
author={Tao Jiang and Peng Lu and Li Zhang and Ningsheng Ma and Rui Han and Chengqi Lyu and Yining Li and Kai Chen},
year={2023},
eprint={2303.07399},
archivePrefix={arXiv},
primaryClass={cs.CV}
}