Hostname: page-component-74656f9884-8r8nv Total loading time: 0 Render date: 2026-11-07T01:08:39.526Z Has data issue: false hasContentIssue false

Real-time mouth posture estimation for meal-assisting robots

Published online by Cambridge University Press:  24 October 2025

Yuhe Fan
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Lixun Zhang*
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Canxing Zheng
Affiliation:
Department of Anorectal Surgery, Weifang People’s Hospital, Weifangy, Shandong, China
Zhenhan Wang
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Zekun Yang
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Feng Xue
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Huaiyu Che
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
Xingyuan Wang
Affiliation:
College of Mechanical and Electrical Engineering, Harbin Engineering University, Building No.61, Nantong Street No. 145, Harbin, 150001, China
*
Corresponding author: Lixun Zhang; Email: zhanglixun@hrbeu.edu.cn
Rights & Permissions [Opens in a new window]

Abstract

In the fields of meal-assisting robotics and human–robot interaction (HRI), real-time and accurate mouth pose estimation is critical for ensuring interaction safety and improving user experience. The complexity arises from the diverse opening degrees of mouths, variations in orientation, and external factors such as lighting conditions and occlusions, which pose significant challenges for real-time and accurate posture estimation of mouths. In response to the above-mentioned issues, this paper proposes a novel method for point cloud fitting and posture estimation of mouth opening degrees (FP-MODs). The proposed method leverages both RGB and depth images captured from a single viewpoint, integrating geometric modeling with advanced point cloud processing techniques to achieve robust and accurate mouth posture estimation. The innovation of this work lies in the hypothesis that different states of mouth openings can be effectively described by distinct geometric shapes: closed mouths are modeled by spatial quadratic surfaces, half-open mouths by spatial ellipses, and fully open mouths by spatial circles. Then, based on these hypotheses, we developed algorithms for fitting geometric models to point clouds obtained from mouth regions, respectively. Specifically, for the closed mouth state, we employ an algorithm based on least squares optimization to fit a spatial quadratic surface to the point cloud data. For the half-open or fully open mouth states, we combine inverse projection methods with least squares fitting to model the contour as a spatial ellipse and circle, respectively. Finally, to evaluate the effectiveness of the proposed FP-MODs method, extensive actual experiments were conducted under varying conditions, including different orientations and various types of mouths. The results demonstrate that the proposed FP-MODs method achieves high accuracy and robustness. This study can provide a theoretical foundation and technical support for improving HRI and food delivery safety in the field of robotics.

Information

Type
Research Article
Copyright
© The Author(s), 2025. Published by Cambridge University Press
Figure 0

Table I. Summary of research methods from previous work.

Figure 1

Figure 1. The proposed method of point cloud fitting and posture estimation of mouth opening degrees.

Figure 2

Table II. The average point number of point cloud after down-sampling.

Figure 3

Figure 2. The visualization results of point cloud down-sampling: letters a, b, and c denote mouth being closed, half-open, and open, respectively. Numbers 1, 2, 3, 4, 5, and 6 denote segmented RGB image of the mouth region, the CloudCompare v2.12.4 (Kyiv) visualizes the source point cloud, matplotlib visualizes the source point cloud data, the down-sampled point cloud (voxel size = 1), down-sampled point cloud (voxel size = 2), and down-sampled point cloud (voxel size = 3), respectively.

Figure 4

Table III. Description of proposed hypothesis and fitting methods.

Figure 5

Figure 3. Schematic diagrams of the proposed method for estimating the predicted posture vectors: (a) the inner contour showing an approximate shape of a spatial ellipse when the mouth is in a half-open state by the Algorithm S2, and (b) the inner contour showing an approximate shape of a spatial circle when the mouth is in an open state by the Algorithm S3. Where, the yellow region and the orange region are the spatial ellipse and the spatial circle obtained by the fitting of Algorithms S2 and S3, respectively, and the red arrow line is the predicted posture vector.

Figure 6

Figure 4. Schematic representation of the Euler-ZYX angle applied to mouth regions of meal-assisting robotics during meal delivering: (a) rotation around the Z-axis, (b) rotation around the Y-axis, (c) rotation around the X-axis, and (d) posture orientation.

Figure 7

Figure 5. (a) Meal-assisting robotic testbed system and (b) hardware and communication of the testbed.

Figure 8

Figure 6. Selected RGB frames captured using the RealSense D405 depth camera: (a) and (d) correspond to the closed mouth state; (b) and (e) the half-open mouth state; (c) and (f) the open mouth state.

Figure 9

Figure 7. Schematic representation of the actual posture vector: (a) the schematic representation of the positions of the eight points of the mouth contour (spatial coordinates x, y, and z under the reference coordinate system of the optical platform) measured during the acquisition of the mouth RGB and depth images; (b) the eight points in (a) merged in the eight points in the Open3d point cloud, and then based on the eight points fitted by the RANSAC algorithm into a plane, and the outer normal vector of the plane represents the actual posture vector of mouths.

Figure 10

Figure 8. The results of point cloud fitting and posture estimation for mouth openings with different down-sampling methods: numbers 1, 2, 3, 4, 5, and 6 denote the segmented RGB images of the mouth region, and CloudCompare v2.12.4 (Kyiv) visualizes the source point cloud of the mouth region, the fitted result of the source point cloud, the fitted result of the point cloud with down-sampling (voxel size = 1), the fitted result of the point cloud with down-sampling (voxel size = 2), and the fitted result of the point cloud with down-sampling (voxel size = 3), respectively. (a) and (d), (b) and (e), and (c) and (f) denote the mouth in closed state, the mouth in half-open state, and the mouth in open state, respectively. Where, (a), (b), and (c) denote the fitting and posture results for the normal segmentation case, while (d), (e), and (f) denote the fitting and posture results for the poor segmentation case. The red points in the figure indicate point cloud data. The blue points, blue closed curves, and blue spheres represent the fitted geometry. The green arrows indicate the posture estimation of the mouth in the half-open or open state.

Figure 11

Table IV. The results of different down-sampling methods on fitting and posture vectors.

Figure 12

Table V. The results of fitting and posture vectors for different orientations.

Figure 13

Figure 9. The results of fitting and posture vectors in different orientations. The results of fitting and posture vectors in different orientations: (a)∼(e) indicate the results when the mouth is located in the closed state in five different orientations; (f)∼(j) indicate the results when the mouth is located in the half-open state in five different orientations; (k)∼(o) indicate the results when the mouth is located in the open state in five different orientations. Number 1 represents the RGB image acquired by the RealSence D405 depth camera; number 2 represents the RGB image obtained after segmentation of the mouth contour region; number 3 represents the CloudCompare v2.12.4 (Kyiv) visualization results; and number 4 represents the fitting and posture results obtained from the source point cloud after down-sampling (voxel size = 1). Red dots indicate the down-sampled point cloud data. Blue dots, blue closed curves, and blue spherical surfaces indicate the fitted geometries. Green arrows indicate the posture vectors for the mouth in the half-open or open state.

Figure 14

Table VI. The results of fitting and posture vectors for different mouth types.

Figure 15

Figure 10. The results of fitting the mouth openings and posture vectors in different mouth shapes. The results of fitting the mouth openings and posture vectors in different mouth shapes: (a)∼(e) the results when the mouths of participants with different mouth shapes were in the closed state, (f)∼(j) the results when the mouths of participants with different mouth shapes were in the half-open state, and (k)∼(o) the results when the mouths of participants with different mouth shapes were in the open state. Number 1 represents the RGB image acquired using the RealSence D405 depth camera, number 2 represents the RGB image after segmentation of the mouth contour region, number 3 represents the visualization results in CloudCompare v2.12.4 (Kyiv), and number 4 represents the fitting and posture results obtained after down-sampling (voxel size = 1) of the source point cloud. Red points indicate point cloud data after down-sampling. Blue points, blue closed curves, and blue spheres indicate the fitted geometry. Green arrows indicate the posture vectors for the mouth half-open or open state.

Supplementary material: File

Fan et al. supplementary material

Fan et al. supplementary material
Download Fan et al. supplementary material(File)
File 24 KB