CN117115226B - 一种基于计算机视觉的识别脚型尺寸的方法 - Google Patents
一种基于计算机视觉的识别脚型尺寸的方法 Download PDFInfo
- Publication number
- CN117115226B CN117115226B CN202311049171.9A CN202311049171A CN117115226B CN 117115226 B CN117115226 B CN 117115226B CN 202311049171 A CN202311049171 A CN 202311049171A CN 117115226 B CN117115226 B CN 117115226B
- Authority
- CN
- China
- Prior art keywords
- paper
- foot
- point
- points
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000011218 segmentation Effects 0.000 claims abstract description 48
- 238000012937 correction Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 7
- 210000002683 foot Anatomy 0.000 claims description 154
- 210000001872 metatarsal bone Anatomy 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000739 chaotic effect Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 241000826860 Trapezium Species 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- A—HUMAN NECESSITIES
- A43—FOOTWEAR
- A43D—MACHINES, TOOLS, EQUIPMENT OR METHODS FOR MANUFACTURING OR REPAIRING FOOTWEAR
- A43D1/00—Foot or last measuring devices; Measuring devices for shoe parts
- A43D1/02—Foot-measuring devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于计算机视觉的识别脚型尺寸的方法,方法包括:步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图;步骤2,进行图片缩放处理;步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像;步骤4,进行俯视图处理获得最大脚宽:分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数。
Description
技术领域
本申请涉及智慧鞋服技术领域,特别涉及一种基于计算机视觉的识别脚型尺寸的方法。
背景技术
手机拍照测量脚部尺寸是一种利用智能手机的摄像头和陀螺仪,结合图像处理或三维重建技术,实现在家中快速、方便、准确地获取脚型数据的方法。这种方法可以为被测量者提供个性化的鞋类推荐和定制服务,也可以为鞋类设计和制造提供数据支持。并且无需专业设备,简单易用,高效快速,准确度也比较高。
但是由于技术发展受到的限制,手机拍照测量脚部尺寸的方法也存在以下挑战:环境干扰:用户通常需要在光线充足、无反光、无杂物的环境中进行测量;设备限制:用户需要使用具有高清摄像头和陀螺仪的智能手机,以及A4纸以及身份证外作为参照物;操作繁琐:用户需要从特定角度进行拍摄;测量精度:目前大部分基于手机拍照识别脚型尺寸的方法与系统都无法在大多数复杂场景下实现5毫米内的精确度;算法速度慢:一般方法需要长达5分钟的复原时间;数据安全:用户将自己的脚部数据上传到云端,可能数据泄露或滥用的风险。
目前,基于手机拍照脚型识别并且具有可行性的方案主要为相机+陀螺仪的2D成像计算,这一方法也得到了多方位的发展,这一方案也在很多专利中予以体现,但是这些方法仍然存在一定的问题,例如:一种基于图像的人脚关键部位的数据提取与测量方法申请号为:201310731335.6,主要问题在于,1、几何校正过程中,没有考虑高度差带来的问题;2、虽然自动测量了脚长、脚宽和脚面高度,但是未考虑足弓高度,且考虑的脚宽位置较少;
一种通过手机拍照获取脚型数据的测量方法,申请号为201610370311.6,存在的问题包括:1、图像获取过程中,利用方块作为参照物不能满足客户线上定制,无实际应用价值;2、无任何矫正,仅要求手机倾斜角度;3无任何自动计算,不利于大规模落地应用;1、几何校正,没有考虑高度差带来的问题,2、虽然自动测量了脚长、脚宽,但是未考虑足弓高度,且考虑的脚宽位置较少;
一种基于手机拍照的脚码尺寸测量方法,申请号为201811296595.4(已授权),这一专利中存在的问题包括:1、图像获取,过程中,获取侧面信息时,脚跟必须为于图像中间位置,具有局限性;2、几何校正过程中,脚跟必须位于图像中间位置,以此正对拍摄消除误差,操作难度大;3、自动识别脚跟和脚尖,测得脚长,未考虑脚宽和足弓高度。
一种鞋码信息检测方法和装置,申请号201510084720.5,存在的问题有:1、图像获取,仅进行俯视视角拍摄;2、几何校正,没有考虑高度差带来的差异;3、自动计算脚部最宽宽度、脚长度,未考虑足弓高度。
总结来讲,现有技术均未考虑身高差异在几何校正中的影响,并忽略足弓高度,导致手机拍照测量脚部尺寸精确度偏低。
发明内容
本申请提供了一种基于计算机视觉的识别脚型尺寸的方法,可用于解决手机拍照测量脚部尺寸精确度偏低的技术问题。
本申请提供一种基于计算机视觉的识别脚型尺寸的方法,方法包括:
步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图;
步骤2,进行图片缩放处理;
步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像;
步骤4,进行俯视图处理获得最大脚宽:分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数。
可选的,步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图,包括:
其中,侧视图拍摄过程中拍摄手机长边与A4纸长边方向一致,手机面板与水平面呈60-90度之间,
将标准A4纸,放置于地面,确保A4纸短边方向朝向被测量者。
被测量者穿着深色袜子,将左脚放置于A4纸上,确保脚的方向与A4纸长边方向基本平行,将手机横置,确保手机长边方向与A4纸长边方向一致,从右侧拍向脚,手机面板与水平面呈60-90度之间,记作gamma,调整手机位置,确保A4纸四个顶点都在画面中;
被测量者将手机移至脚面正上方,且手机长边方向与A4纸长边方向一致,调整手机面板与水平面平行,调整手机位置,确保A4纸靠近脚尖的两个顶点都在画面中。
可选的,步骤2,图片缩放处理,包括:
取容错系数为3,A4纸长度为297毫米,宽度为210毫米,假定每次拍摄中A4纸在长宽方向上的比例大约为3/5,A4纸在图片中的长度方向上像素至少为:
将相机拍摄的图片尺寸分别记为Lsrc和Wsrc,分别将两者单独放缩到公式1和2要求的最小像素要求,确定分别的放大倍率:
取较大的倍率作为原图的长宽统一放大倍率,因此放缩后图片尺寸表示为:
Limg=αLsrc (4)
Wimg=αWsrc (5)
依据公式3-5,将步骤1拍摄的侧视图和俯视图,均进行放缩变换到合适的尺寸。
可选的,于步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像,,包括:
步骤31,A4纸关键点位获取:
步骤32,脚部区域获取:
步骤33,确定脚型参数。
可选的,步骤31,A4纸关键点位获取,包括:
步骤311,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,避免异常噪点分割结果产生影响;使用阈值分割法对步骤2的侧视图片进行第一重分割,阈值设置为150;
步骤312,轮廓抽取与关键顶点初步获取:进行轮廓查找,对获取得到的轮廓点进行遍历,将查找的结果中,最大的轮廓作为A4纸的轮廓点;根据公式6,分别计算所有点与图片四个顶点的距离,与四个顶点距离最小的点,记为A4纸的四个顶点:获取得到的顶点:
步骤313,全新透视矫正法对A4纸轮廓:使用透视矫正法,将A4纸矫正为梯形,即上方两个顶点位于统一高度,下方两个顶点位于统一高度:
原四点坐标记为Points_old=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y),(RD_point_x,RD_point_y),(LD_point_x,LD_point_y)]
其中,顺序为左上,右上,右下,左下
目校的矫正坐标为Points_new=[(LT_point_x,LT_point_y),(RT_point_x,LT_point_y),(RD_point_x,LD_point_y),(LD_point_x,LD_point_y)]
其中,目标梯形的上下底位置以左上顶点和左下顶点为准
确定透视变换矩阵:
Mtrans=getPerspectiveTransform(Points_old,Points_new) (7)
获得矫正矩阵后,进行图像角度变换。
可选的,步骤32,脚部区域获取,包括:
利用第二重阈值进行分割:使用阈值分割法对步骤31处理的侧视图片进行第二重分割,阈值设置为80;
根据步骤31获得A4纸关键点,一次连接形成掩码,以掩码提取出第二重阈值分割的图片,掩码外的区域统一使用255即白色的值替代;
进行反相变换,使用轮廓抽取获得最大的轮廓就是足部轮廓,并确定其最小外接矩形,矩形下方两个顶点坐标分别记为Points_rect=[(Foot_LD_x,Foot_LD_y),(Foot_RD_x,Foot_RD_y)]。
可选的,步骤33,确定脚型参数,包括:
步骤331,确定脚部的长度:
脚部的长度在图中占据的像素点数通过脚部外接矩形下方左右两个顶点的横坐标相减得到,即
Pixel_foot=Points_rect[1][0]-Points_rect[1][0] (8)
记A4纸实际长度宽度值分别为:L_A4和W_A4
A4纸左右两侧的上顶点横坐标差距以及下顶点横坐标差距均为A4纸在长度方向上占据的像素点数,通过比例换算,测得脚部位置即矩形底边位置,每个像素代表的实际距离:
A4纸梯形投影上底像素点数:
Pixel_T=Points_new[1][0] - Points_new[0][0] (9)
A4纸梯形投影下底像素点数:
Pixel_D=Points_new[2][0] - Points_new[3][0] (10)
A4纸梯形投影高度像素点数:
Pixel_TD=Points_new[3][1] - Points_new[0][1] (11)
脚底外接矩形下边到A4纸梯形投影下底像素点数:
Pixel_H=Points_new[3][1] - Points_rect[0][1] (12)
脚底位置A4纸长度方向上所占的像素点数:
Pixel_JD=Pixel_T+(Pixel_D-Pixel_T)/Pixel_TD*(Pixel_TD-Pixel_H) (13)
脚底位置单位像素代表的实际长度为:
w= L_A4/Pixel_JD (14)
利用额外引入的拍摄角度作gamma为超参数,对脚部长度进行修正:
步骤332,确定足弓的高度:
基于二重阈值分割结果和轮廓外接矩形,以距离脚后跟20%脚部长度的位置即后脚跟最低点为起点,以距离脚后跟69.5%脚部长度的位置即第一跖骨为终点,从下到上进行扫描,当扫描到第一个0值的时候记录坐标,退出该次纵向扫描,继续向右扫描;最后统计纵坐标最小的点就是足弓最高点的位置,坐标记为(ZG_x,ZG_y);
基于公式16计算纵向方向上每个像素代表的实际距离:
h= W_A4/Pixel_TD (16)
由于拍摄角度的影响,足弓高度计算时,引入了角度补偿:
最终得到的足弓最高点位置。
可选的,步骤4,进行俯视图处理获得最大脚宽,包括:
分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数。
步骤41,获取A4纸关键点位:
俯视图中A4纸的关键点位主要为A4纸上方的2个顶点,主要步骤如下:
步骤411,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,使用阈值分割法对步骤2的侧视图片进行第一重分割,阈值设置为150;
步骤412,轮廓抽取与关键顶点初步获取:进行轮廓查找,查找的结果中,最大的轮廓就是A4纸的轮廓点;对获取得到的轮廓点进行遍历,根据计算公式6,分别计算所有点与图片上方两个顶点的距离,距离最小的点,记为A4纸的两个上顶点;根据顶部两个顶点坐标,通过简单的旋转使A4纸短边水平;两个上顶点分别记为Points_top=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y)]
步骤42,获取脚部区域:
第二重阈值分割:使用阈值分割法对步骤42中处理的俯视图片进行第二重分割,阈值设置为80;
步骤43,确定脚型参数:
以A4纸两个上顶点纵坐标为起点,两个上顶点横坐标为边界,使用第二重阈值分割的结果进行自上向下,自左向右进行扫描,当扫描到第一个0值时,就是足尖的位置,记为(ZJ_x,ZJ_y)
确定俯视图中,每个像素代表的实际距离长度:
w_h= W_A4/(Points_top[1][0]-Points_top[0][0]) (18)
脚部最大宽度为第一跖骨和第五跖骨的连接线长度,此外,第一跖骨为距离脚尖30.5%脚部长度的位置,第五跖骨为距离脚尖37.5%脚部长度的位置;
求得第一跖骨和第五跖骨的参考纵坐标分别为:
ZG1_ref= Points_top[1][1]-L_foot*0.305/w_h (19)
ZG5_ref= Points_top[1][1]-L_foot*0.305/w_h (20)
以第一跖骨参考点上下20像素为边界,以A4纸右上角横坐标为起点,从右向左,从上到下进行扫描,当扫描到第一个0值时,就是第一的位置,记为(ZG1_x,ZG1_y);
以第五跖骨参考点上下20像素为边界,以A4纸左上角横坐标为起点,从左向右,从上到下进行扫描,当扫描到第一个0值时,就是第五的位置,记为(ZG5_x,ZG5_y);
最终计算得到的最大脚部宽度位置本申请的优点如下:
1、采用多重阈值掩码分割法:
创新性的使用了多重阈值滤波结合掩码的方法,实现复杂场景下,正确获取参考用的A4纸以及脚部的轮廓信息,解决了现有算法对于画面背景复杂时无法正确计算脚型信息的问题。
2、全新透视矫正法:
创新性的提出了全新的侧视图片透视矫正方法,相较于传统直接A4纸还原为矩形的方法,我们仅将其还原为普通梯形,避免了脚板厚度的影响,避免了因此造成巨大幅度的失真的问题。
3、基于角度矫正的足弓高度和脚长计算方法:
创新性的将侧面的拍摄角度引入足弓高度的计算和脚部长的补偿运算中,实现了单图获取足弓高度,同时提供了脚部长度的计算精度。
附图说明
图1为本申请实施例提供的拍摄侧视图;
图2为本申请实施例提供的拍摄俯视图;
图3为本申请实施例提供的侧视图模糊处理与第一重阈值分割结果图;
图4为本申请实施例提供的侧视图A4纸关键顶点初步获取图;
图5为本申请实施例提供的全新透视矫正后的A4纸关键点图;
图6为本申请实施例提供的二重阈值分割结果图;
图7为本申请实施例提供的脚部区域提取结果图;
图8为本申请实施例提供的足弓最高点位置图;
图9为本申请实施例提供的俯视图模糊处理与第一重阈值分割结果图;
图10为本申请实施例提供的简易矫正后的A4纸关键点图;
图11为本申请实施例提供的俯视图第二重阈值分割结果图;
图12为本申请实施例提供最大脚部宽度位置;
图13为本申请实施例提供的方法流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的方法包括:
步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图;
其中,侧视图拍摄过程中拍摄手机长边与A4纸长边方向一致,手机面板与水平面呈60-90度之间,
将标准A4纸,放置于地面,确保A4纸短边方向朝向被测量者。
被测量者穿着深色袜子,将左脚放置于A4纸上,确保脚的方向与A4纸长边方向基本平行,将手机横置,确保手机长边方向与A4纸长边方向一致,从右侧拍向脚,手机面板与水平面呈60-90度之间,记作gamma(角度符合时,拍摄键解锁),调整手机位置,确保A4纸四个顶点都在画面中,按下拍摄键,获得侧视图(案例选择尽可能复杂的图片作为展示)。
被测量者将手机移至脚面正上方,且手机长边方向与A4纸长边方向一致,调整手机面板与水平面平行(角度控制在±3度以内,角度符合时,拍摄键解锁),调整手机位置,确保A4纸靠近脚尖的两个顶点都在画面中,按下拍摄键,获得俯视图。
步骤2,图片缩放处理:
已知欧标中鞋码尺寸的码间差距为5毫米,为了实现定制化的舒适性和准确性,本发明的目标精度为1毫米,通常容错系数为3-5,考虑到计算精度和计算成本的权衡,本申请取容错系数为3,因此图片像素精度需要控制在3倍以上,即做到实际1毫米等效图片3个像素点,已知A4纸长度为297毫米,宽度为210毫米,由于A4纸在图片中的无法占据整个视场,假定每次拍摄中A4纸在长宽方向上的比例大约为3/5,所以A4纸在图片中的长度方向上像素至少为:
将相机拍摄的图片尺寸分别记为Lsrc和Wsrc,分别将两者单独放缩到公式1和2要求的最小像素要求,确定分别的放大倍率:
取较大的倍率作为原图的长宽统一放大倍率,因此放缩后图片尺寸表示为:
Limg=αLsrc (4)
Wimg=αWsrc (5)
依据公式3-5,将步骤1拍摄的侧视图和俯视图,均进行放缩变换到合适的尺寸,在满足精度要求的前提下,实现计算成本的最小化。
步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像:
由于复杂背景和各类光影影响,单次分割往往难以同时将脚部轮廓和A4纸轮廓同时分割,为此本申请使用了多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,再使用掩码法获取目标的脚部区域图像,并进一步计算目标参数。
步骤31,A4纸关键点位获取:
侧视图中A4纸的关键点位主要为A4纸的4个顶点,主要步骤如下:
步骤311,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,避免异常噪点分割结果产生影响;使用阈值分割法对步骤2的侧视图片进行第一重分割,根据多次实验的经验归纳,阈值设置为150可获得最佳效果;(注:对比图1和图3,可以发现阈值分割算法很容易受到脚部影子的干扰,这也是之前发明专利存在的严重弊端,也是本申请使用多重阈值分割的原因)
步骤312,轮廓抽取与关键顶点初步获取:图3中可以看到分割结果较为混乱,为此需要进行进一步的提取,对图3进行轮廓查找,对获取得到的轮廓点进行遍历,将查找的结果中,最大的轮廓作为A4纸的轮廓点;根据公式6,分别计算所有点与图片四个顶点的距离,与四个顶点距离最小的点,记为A4纸的四个顶点:获取得到的顶点如图4所示:
步骤313,全新透视矫正法对A4纸轮廓:传统的透视矫正法直接将A4纸还原为矩形形状,受到脚本厚度影响,这种操作会导致足部形状严重变形失真。为此,本申请使用透视矫正法,将A4纸矫正为梯形,即上方两个顶点位于统一高度,下方两个顶点位于统一高度:
原四点坐标记为Points_old=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y),(RD_point_x,RD_point_y),(LD_point_x,LD_point_y)]
其中,顺序为左上,右上,右下,左下
目校的矫正坐标为Points_new=[(LT_point_x,LT_point_y),(RT_point_x,LT_point_y),(RD_point_x,LD_point_y),(LD_point_x,LD_point_y)]
其中,目标梯形的上下底位置以左上顶点和左下顶点为准
确定透视变换矩阵:
Mtrans=getPerspectiveTransform(Points_old,Points_new) (7)
获得矫正矩阵后,使用工具opencv的warpPerspective函数进行图像角度变换,变换后的图像如图5所示:
步骤32,脚部区域获取:
利用第二重阈值进行分割:使用阈值分割法对步骤31处理的侧视图片进行第二重分割,根据多次实验的经验归纳,阈值设置为80可获得最佳效果,可以达到去除脚部阴影的影响;
根据步骤31获得A4纸关键点,一次连接形成掩码,以掩码提取出第二重阈值分割的图片,掩码外的区域统一使用255即白色的值替代,如图6所示:
进行反相变换,使用轮廓抽取获得最大的轮廓就是足部轮廓,并确定其最小外接矩形,如图7所示,矩形下方两个顶点坐标分别记为Points_rect=[(Foot_LD_x,Foot_LD_y),(Foot_RD_x,Foot_RD_y)]
步骤33,确定脚型参数
步骤331,确定脚部的长度:
脚部的长度在图中占据的像素点数通过脚部外接矩形下方左右两个顶点的横坐标相减得到,即
Pixel_foot=Points_rect[1][0]-Points_rect[1][0] (8)
记A4纸实际长度宽度值分别为:L_A4和W_A4
A4纸左右两侧的上顶点横坐标差距以及下顶点横坐标差距均为A4纸在长度方向上占据的像素点数,通过比例换算,测得脚部位置即矩形底边位置,每个像素代表的实际距离:
A4纸梯形投影上底像素点数:
Pixel_T=Points_new[1][0]-Points_new[0][0] (9)
A4纸梯形投影下底像素点数:
Pixel_D=Points_new[2][0]-Points_new[3][0] (10)
A4纸梯形投影高度像素点数:
Pixel_TD=Points_new[3][1]-Points_new[0][1] (11)
脚底外接矩形下边到A4纸梯形投影下底像素点数:
Pixel_H=Points_new[3][1]-Points_rect[0][1] (12)
脚底位置A4纸长度方向上所占的像素点数:
Pixel_JD=Pixel_T+(Pixel_D-Pixel_T)/Pixel_TD*(Pixel_TD-Pixel_H) (13)
脚底位置单位像素代表的实际长度为:
w= L_A4/Pixel_JD (14)
实际上侧视图拍到的仅仅是左脚大拇指侧轮廓,而脚部最长的距离往往是食指到后脚跟,而非拇指到后脚跟,在倾斜拍摄时,往往脚部最长的位置,会相较于外接矩形底部更加靠上一点。所以本申请在计算脚部长度的时候,利用额外引入了拍摄角度作gamma为超参数,对脚部长度进行修正:
步骤332,确定足弓的高度:
足弓的计算是基于图6二重阈值分割结果和轮廓外接矩形得到,以距离脚后跟20%脚部长度的位置即后脚跟最低点为起点,以距离脚后跟69.5%脚部长度的位置即第一跖骨为终点,从下到上进行扫描,当扫描到第一个0值的时候记录坐标,退出该次纵向扫描,继续向右扫描;最后统计纵坐标最小的点就是足弓最高点的位置,坐标记为(ZG_x,ZG_y);
基于公式16计算纵向方向上每个像素代表的实际距离:
h= W_A4/Pixel_TD (16)
由于拍摄角度的影响,足弓高度计算时,引入了角度补偿:
最终得到的足弓最高点位置如图8所示。
步骤4,进行俯视图处理获得最大脚宽:
由于复杂背景和各类光影影响,单次分割往往难以同时将脚部轮廓和A4纸轮廓同时分割,为此本发明使用了多重阈值分割法,分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数:
步骤41,获取A4纸关键点位:
俯视图中A4纸的关键点位主要为A4纸上方的2个顶点,主要步骤如下:
步骤411,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,避免异常噪点分割结果产生影响;使用阈值分割法对步骤2的侧视图片进行第一重分割,根据多次实验的经验归纳,阈值设置为150可获得最佳效果;
步骤412,轮廓抽取与关键顶点初步获取:图9中可以看到分割结果较为混乱,为此需要进行进一步的提取,对图9进行轮廓查找,查找的结果中,最大的轮廓就是A4纸的轮廓点;对获取得到的轮廓点进行遍历,根据计算公式6,分别计算所有点与图片上方两个顶点的距离(下方两个顶点容易被遮挡,故弃用),距离最小的点,记为A4纸的两个上顶点;根据顶部两个顶点坐标,通过简单的旋转使A4纸短边水平(拍摄时水平正对拍摄,一般不存在误差)。两个上顶点分别记为Points_top=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y)]
步骤42,获取脚部区域:
第二重阈值分割:使用阈值分割法对步骤42中处理的俯视图片进行第二重分割,根据多次实验的经验归纳,阈值设置为80可获得最佳效果,可以达到去除脚部阴影的影响;
步骤43,确定脚型参数:
以A4纸两个上顶点纵坐标为起点,两个上顶点横坐标为边界,使用第二重阈值分割的结果进行自上向下,自左向右进行扫描,当扫描到第一个0值时,就是足尖的位置,记为(ZJ_x,ZJ_y)
确定俯视图中,每个像素代表的实际距离长度:
w_h= W_A4/(Points_top[1][0]-Points_top[0][0]) (18)
脚部最大宽度为第一跖骨和第五跖骨的连接线长度,此外,第一跖骨一般为距离脚尖30.5%脚部长度的位置,第五跖骨一般为距离脚尖37.5%脚部长度的位置。
求得第一跖骨和第五跖骨的参考纵坐标分别为:
ZG1_ref= Points_top[1][1]-L_foot*0.305/w_h (19)
ZG5_ref= Points_top[1][1]-L_foot*0.305/w_h (20)
以第一跖骨参考点上下20像素为边界,以A4纸右上角横坐标为起点,从右向左,从上到下进行扫描,当扫描到第一个0值时,就是第一的位置,记为(ZG1_x,ZG1_y);
以第五跖骨参考点上下20像素为边界,以A4纸左上角横坐标为起点,从左向右,从上到下进行扫描,当扫描到第一个0值时,就是第五的位置,记为(ZG5_x,ZG5_y);
最终计算得到的最大脚部宽度位置如图12所示。
下面结合具体实施例具体阐述本申请:
准备一张标准A4纸,放置于干净的地板上,消费者坐在与A4纸相邻的椅子上,确保A4纸短边方向朝向自己。
消费者身着深色袜子,将左脚放置于A4纸上,确保脚的方向与A4纸长边方向基本平行,将手机横置,确保手机长边方向与A4纸长边方向一致,从右侧拍向脚,手机面板与水平面呈60-90度之间(角度符合时,拍摄键解锁),调整手机位置,确保A4纸四个顶点都在画面中,按下拍摄键,获得侧视图。
消费者将手机移至脚面正上方,且手机长边方向与A4纸长边方向一致,调整手机面板与水平面平行(角度控制在±3度以内,角度符合时,拍摄键解锁),调整手机位置,确保A4纸靠近脚尖的两个顶点都在画面中,按下拍摄键,获得俯视图。
根据消费者自身选择是否输入平时穿的鞋子码数(非必须选项,仅用作结果比对,误差超过3毫米时,判定为无效计算,提示重新拍摄)。
根据输入的侧视图和俯视图,自动计算脚长,最大脚宽以及足弓高度等数据,该结果呈现给消费者的同时,可以根据需要进一步引导用户进入鞋款选择界面,所有数据最终整合完毕,传输给生产厂家,完成鞋款个性化生产定制。
本申请具有以下优点:
1、使用多重阈值掩码分割法,可以有效解决绝大多数复杂背景情况下的目标区域提取难题。可以大幅减少消费者在前期准备上花费的时间,更加人性化。同时,更加精确的区域分割也为数据信息的提取提供了强有力的保障。
2、针对侧视图,使用全新的透视矫正法,相比于以往将A4纸还原为长方形,我们仅将其还原为普通梯形,这种做法可以有效避免脚板厚度带来的影响,使计算更加精确。
3、使用基于角度矫正的足弓高度和脚长计算方法,将侧面的拍摄角度引入足弓高度的计算和脚部长的补偿运算中,实现了单图获取足弓高度,同时提供了脚部长度的计算精度。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (4)
1.一种基于计算机视觉的识别脚型尺寸的方法,其特征在于,所述方法包括:
步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图;
步骤2,进行图片缩放处理;
步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像;
步骤4,进行俯视图处理获得最大脚宽:分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数;
其中,步骤3,利用多重阈值分割法,分别对A4纸和脚部轮廓进行分割,再使用全新透视矫正法对A4纸轮廓进行矫正,使用掩码法获取目标的脚部区域图像,包括:
步骤31,A4纸关键点位获取;
步骤32,脚部区域获取;
步骤33,确定脚型参数;
步骤31,A4纸关键点位获取,包括:
步骤311,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,避免异常噪点分割结果产生影响;使用阈值分割法对步骤2的侧视图片进行第一重分割,阈值设置为150;
步骤312,轮廓抽取与关键顶点初步获取:进行轮廓查找,对获取得到的轮廓点进行遍历,将查找的结果中,最大的轮廓作为A4纸的轮廓点;根据公式6,分别计算所有点与图片四个顶点的距离,与四个顶点距离最小的点,记为A4纸的四个顶点,获取得到的顶点:
步骤313,全新透视矫正法对A4纸轮廓:使用透视矫正法,将A4纸矫正为梯形,即上方两个顶点位于统一高度,下方两个顶点位于统一高度:
原四点坐标记为Points_old=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y),(RD_point_x,RD_point_y),(LD_point_x,LD_point_y)]
其中,顺序为左上,右上,右下,左下;
目标的矫正坐标为Points_new=[(LT_point_x,LT_point_y),(RT_point_x,LT_point_y),(RD_point_x,LD_point_y),(LD_point_x,LD_point_y)]
其中,目标梯形的上下底位置以左上顶点和左下顶点为准
确定透视变换矩阵:
Mtrans=getPerspectiveTransform(Points_old,Points_new) (7)
获得矫正矩阵后,进行图像角度变换;
步骤32,脚部区域获取,包括:
利用第二重阈值进行分割:使用阈值分割法对步骤31处理的侧视图片进行第二重分割,阈值设置为80;
根据步骤31获得A4纸关键点,一次连接形成掩码,以掩码提取出第二重阈值分割的图片,掩码外的区域统一使用255即白色的值替代;
进行反相变换,使用轮廓抽取获得最大的轮廓就是足部轮廓,并确定其最小外接矩形,矩形下方两个顶点坐标分别记为Points_rect=[(Foot_LD_x,Foot_LD_y),(Foot_RD_x,Foot_RD_y)];
步骤33,确定脚型参数,包括:
步骤331,确定脚部的长度:
脚部的长度在图中占据的像素点数通过脚部外接矩形下方左右两个顶点的横坐标相减得到,即
Pixel_foot=Points_rect[1][0]-Points_rect[1][0] (8)
记A4纸实际长度宽度值分别为:L_A4和W_A4
A4纸左右两侧的上顶点横坐标差距以及下顶点横坐标差距均为A4纸在长度方向上占据的像素点数,通过比例换算,测得脚部位置即矩形底边位置,每个像素代表的实际距离:
A4纸梯形投影上底像素点数:
Pixel_T=Points_new[1][0]-Points_new[0][0](9)
A4纸梯形投影下底像素点数:
Pixel_D=Points_new[2][0]-Points_new[3][0](10)
A4纸梯形投影高度像素点数:
Pixel_TD=Points_new[3][1]-Points_new[0][1](11)
脚底外接矩形下边到A4纸梯形投影下底像素点数:
Pixel_H=Points_new[3][1]-Points_rect[0][1](12)
脚底位置A4纸长度方向上所占的像素点数:
Pixel_JD=Pixel_T+(Pixel_D-Pixel_T)/Pixel_TD*(Pixel_TD-Pixel_H)(13)
脚底位置单位像素代表的实际长度为:
w=L_A4/Pixel_JD(14)
利用额外引入的拍摄角度作gamma为超参数,对脚部长度进行修正:
步骤332,确定足弓的高度:
基于二重阈值分割结果和轮廓外接矩形,以距离脚后跟20%脚部长度的位置即后脚跟最低点为起点,以距离脚后跟69.5%脚部长度的位置即第一跖骨为终点,从下到上进行扫描,当扫描到第一个0值的时候记录坐标,退出当前次纵向扫描,继续向右扫描;最后统计纵坐标最小的点就是足弓最高点的位置,坐标记为(ZG_x,ZG_y);
基于公式16计算纵向方向上每个像素代表的实际距离:
h=W_A4/Pixel_TD (16)
由于拍摄角度的影响,足弓高度计算时,引入了角度补偿:
最终得到的足弓最高点位置。
2.根据权利要求1所述的方法,其特征在于,步骤1,图片获取:分别获取被测量者脚放置于白纸上的侧视图,以及俯视图,包括:
其中,侧视图拍摄过程中拍摄手机长边与A4纸长边方向一致,手机面板与水平面呈60-90度之间;
将标准A4纸,放置于地面,确保A4纸短边方向朝向被测量者;
被测量者穿着深色袜子,将左脚放置于A4纸上,确保脚的方向与A4纸长边方向基本平行,将手机横置,确保手机长边方向与A4纸长边方向一致,从右侧拍向脚,手机面板与水平面呈60-90度之间,记作gamma,调整手机位置,确保A4纸四个顶点都在画面中;
被测量者将手机移至脚面正上方,且手机长边方向与A4纸长边方向一致,调整手机面板与水平面平行,调整手机位置,确保A4纸靠近脚尖的两个顶点都在画面中。
3.根据权利要求2所述的方法,其特征在,步骤2,图片缩放处理,包括:
取容错系数为3,A4纸长度为297毫米,宽度为210毫米,假定每次拍摄中A4纸在长宽方向上的比例为3/5,A4纸在图片中的长度方向上像素至少为:
将相机拍摄的图片尺寸分别记为Lsrc和Wsrc,分别将两者单独放缩到公式1和2要求的最小像素要求,确定分别的放大倍率:
取较大的倍率作为原图的长宽统一放大倍率,因此放缩后图片尺寸表示为:
Limg=αLsrc (4)
Wimg=αWsrc (5)
依据公式3-5,将步骤1拍摄的侧视图和俯视图,均进行放缩变换到合适的尺寸。
4.根据权利要求1所述的方法,其特征在,步骤4,进行俯视图处理获得最大脚宽,包括:
分别对A4纸和脚部轮廓进行分割,在使用简易矫正法对A4纸轮廓进行矫正,获取目标的脚部区域图像后,确定目标参数;
步骤41,获取A4纸关键点位:
俯视图中A4纸的关键点位主要为A4纸上方的2个顶点,主要步骤如下:
步骤411,模糊处理与第一重阈值分割:使用高斯模糊实现初步降噪,使用阈值分割法对步骤2的侧视图片进行第一重分割,阈值设置为150;
步骤412,轮廓抽取与关键顶点初步获取:进行轮廓查找,查找的结果中,最大的轮廓就是A4纸的轮廓点;对获取得到的轮廓点进行遍历,根据计算公式6,分别计算所有点与图片上方两个顶点的距离,距离最小的点,记为A4纸的两个上顶点;根据顶部两个顶点坐标,通过简单的旋转使A4纸短边水平;两个上顶点分别记为Points_top=[(LT_point_x,LT_point_y),(RT_point_x,RT_point_y)]
步骤42,获取脚部区域:
第二重阈值分割:使用阈值分割法对步骤42中处理的俯视图片进行第二重分割,阈值设置为80;
步骤43,确定脚型参数:
以A4纸两个上顶点纵坐标为起点,两个上顶点横坐标为边界,使用第二重阈值分割的结果进行自上向下,自左向右进行扫描,当扫描到第一个0值时,就是足尖的位置,记为(ZJ_x,ZJ_y)
确定俯视图中,每个像素代表的实际距离长度:
w_h=W_A4/(Points_top[1][0]-Points_top[0][0])(18)
脚部最大宽度为第一跖骨和第五跖骨的连接线长度,此外,第一跖骨为距离脚尖30.5%脚部长度的位置,第五跖骨为距离脚尖37.5%脚部长度的位置;
求得第一跖骨和第五跖骨的参考纵坐标分别为:
ZG1_ref=Points_top[1][1]-L_foot*0.305/w_h(19)
ZG5_ref=Points_top[1][1]-L_foot*0.305/w_h(20)
以第一跖骨参考点上下20像素为边界,以A4纸右上角横坐标为起点,从右向左,从上到下进行扫描,当扫描到第一个0值时,就是第一的位置,记为(ZG1_x,ZG1_y);
以第五跖骨参考点上下20像素为边界,以A4纸左上角横坐标为起点,从左向右,从上到下进行扫描,当扫描到第一个0值时,就是第五的位置,记为(ZG5_x,ZG5_y);
最终计算得到的最大脚部宽度位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049171.9A CN117115226B (zh) | 2023-08-21 | 2023-08-21 | 一种基于计算机视觉的识别脚型尺寸的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049171.9A CN117115226B (zh) | 2023-08-21 | 2023-08-21 | 一种基于计算机视觉的识别脚型尺寸的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117115226A CN117115226A (zh) | 2023-11-24 |
CN117115226B true CN117115226B (zh) | 2024-08-30 |
Family
ID=88801437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311049171.9A Active CN117115226B (zh) | 2023-08-21 | 2023-08-21 | 一种基于计算机视觉的识别脚型尺寸的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117115226B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117994316A (zh) * | 2024-01-11 | 2024-05-07 | 自然资源部第一海洋研究所 | 一种基于ais的船只水上高度自动提取方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118229670A (zh) * | 2024-05-16 | 2024-06-21 | 大捷智能科技(广东)有限公司 | 一种智能的轮毂模型尺寸快速测量方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127773A (zh) * | 2016-06-29 | 2016-11-16 | 北京三维天下科技股份有限公司 | 一种基于图片的脚型数据获取方法 |
EP3531373B1 (en) * | 2018-02-26 | 2022-05-04 | Touchless Animal Metrics, SL | A method and device for the characterization of living specimens from a distance |
CN115511769A (zh) * | 2021-06-04 | 2022-12-23 | 深圳鑫成泰达科技有限公司 | 流水线上包装字符图像的归一化检测方法 |
CN115500816A (zh) * | 2022-10-10 | 2022-12-23 | 西安福音康复健康产业有限公司 | 一种跟骨测量方法及数据化定制矫形器的方法 |
-
2023
- 2023-08-21 CN CN202311049171.9A patent/CN117115226B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118229670A (zh) * | 2024-05-16 | 2024-06-21 | 大捷智能科技(广东)有限公司 | 一种智能的轮毂模型尺寸快速测量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117115226A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106709947B (zh) | 一种基于rgbd相机的三维人体快速建模系统 | |
CN107665497B (zh) | 一种医学图像中计算心胸比的方法 | |
CN117115226B (zh) | 一种基于计算机视觉的识别脚型尺寸的方法 | |
CN109087261B (zh) | 基于非受限采集场景的人脸矫正方法 | |
CN106060493A (zh) | 多源投影无缝边缘拼接方法及系统 | |
CN109452941B (zh) | 基于图片正畸与边界提取的肢体周径测量方法及系统 | |
CN107481267A (zh) | 一种基于双目视觉的摄像投影交互系统及方法 | |
CN108510477B (zh) | 试纸色块的定位方法及装置 | |
CN109308462B (zh) | 一种指静脉和指节纹感兴趣区域定位方法 | |
JP2015171143A (ja) | カラーコード化された構造によるカメラ較正の方法及び装置、並びにコンピュータ可読記憶媒体 | |
CN107392882A (zh) | 一种基于角点检测的简单透镜psf迭代优化初始值的方法 | |
CN114612412A (zh) | 三维点云数据的处理方法及其用途、电子设备、存储介质 | |
CN101729739A (zh) | 一种图像纠偏处理方法 | |
CN112132971B (zh) | 三维人体建模方法、装置、电子设备和存储介质 | |
EP3777596B1 (en) | Method of measuring the shape and dimensions of human body parts | |
CN110838148A (zh) | 一种双目相机自标定方法 | |
JP2000185060A (ja) | 歯牙のマ―ジンライン抽出法 | |
CN111630569B (zh) | 双目匹配的方法、视觉成像装置及具有存储功能的装置 | |
CN116596987A (zh) | 一种基于双目视觉的工件三维尺寸高精度测量方法 | |
CN115661258A (zh) | 标定方法及装置、畸变校正方法及装置、存储介质、终端 | |
JP3638845B2 (ja) | 画像処理装置及び方法 | |
Su et al. | An automatic calibration system for binocular stereo imaging | |
CN111985535A (zh) | 一种通过神经网络优化人体深度图的方法及其装置 | |
CN113676721A (zh) | 一种ar眼镜的图像获取方法及系统 | |
CN112200824A (zh) | 一种准确计算裂缝图像中单个像素实际宽度的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |