推荐期刊

羊毛衫图片款式的计算机识别算法

时间:2015-12-21 01:54:44 所属分类:计算机技术 浏览量:

摘 要:文章研究了利用计算机识别羊毛衫图片款式的具体步骤,对图片的录入、图片轮廓勾勒、轮廓数据提取的方法进行了详细介绍,其中提出了采用“逐行扫描法”和“八点连通法”对羊毛衫款式轮廓进行分析。根据计算机所识别的轮廓数据模型,建立羊毛衫轮廓图简单或

摘 要:文章研究了利用计算机识别羊毛衫图片款式的具体步骤,对图片的录入、图片轮廓勾勒、轮廓数据提取的方法进行了详细介绍,其中提出了采用“逐行扫描法”和“八点连通法”对羊毛衫款式轮廓进行分析。根据计算机所识别的轮廓数据模型,建立羊毛衫轮廓图简单或复杂的水平点阵和垂直点阵数据结构,同时根据羊毛衫款式拆分和工艺单计算的要求,给出了轮廓的环行数据表示方法和逐行数据表示方法,以上数据表示是对羊毛衫进一步处理的前提条件。
关键词:羊毛衫;图片款式;轮廓;识别
羊毛衫是一种市场需求量极大的毛针织服装产品,手动横机是生产它的主要机械,其特点是款式变化较多,产品为半成形产品,不须裁剪,故损耗较少。但其生产效率较为低下,成为制约发展的一大因素。利用计算机技术来提高生产效率是一项重要的研究。
利用计算机技术提高手动横机的生产效率主要包括利用计算机辅助进行款式设计、工艺单计算、工艺单打印、实物模拟等几个部分,准确制作工艺单无疑是最终目的。要准确高效的制作工艺单,就必须将一个完整款式正确的处理成各个衣片。目前款式设计分为2 种方式,一是由人工操作,通过计算机所提供的工具来绘制任意款式,实现从无到有的过程,这一过程由于从绘制的时候计算机就可以对衣片数据进行记录,供以后计算工艺单时使用,所以计算机在对它进行各种处理是比较方便的,但人工绘制较为费时;另外一种是通过一定的算法对由一般相机或数码相机或其它设备所拍摄的现有羊毛衫款式图片进行分析转换,建立可处理的衣片数学模型,从而最终完成自动计算工艺单的方法。这种方法比较快捷,也是目前企业和公司迫切需要的功能。
从目前的国内外资料显示,上述的后一种方法即对图片款式进行分析这一课题的研究还鲜有报道,原因是计算机对衣片的自动分析的编程算法难度较大。找到一种可识别图片款式,拆分衣片的算法,进而建立数学模型,是本课题研究的主要内容。
这一课题的主要任务是:将由普通相机、数码相机等外设所拍摄的羊毛衫款式图片录入到系统中进行分析,提取出其款式轮廓图,并进一步分析这个款式的各个部分,进行自动或半自动拆分,以供以后计算工艺单时使用。这一课题的目的主要是为了使毛衫企业或毛衫市场信息研究单位能够将市场上流行热销的羊毛衫款式进行快速自动分析,从而由计算机自动制定出其生产工艺参数,为企业服务。
具体采用以下步骤进行毛衫款式的自动识别,其过程如图1 所示。
图1  毛衫款式自动识别系统
1  解决方案
1.1  图片录入
以前分析服装款式最常用的方法是采用数字化仪,通过这种方法可以将毛衫服装款式实物的各个部分经过数字化仪扫描出可处理的数字化轮廓,从而进一步进行处理。然而这种方法对于本课题不适用:一是所研究的对象是照片上的款式,而数字化仪一般针对实物;二是由于所拍摄的羊毛衫款式图片都比较小,所以数字化仪不能够准确直接录入所拍摄的普通毛衫款式照片;三是加入数字化仪必然会增加此系统的成本,不符合企业的要求。
图片录入方法是将羊毛衫款式图片通过计算机外部设备生成图像电子照片,然后导入到款式识别系统中进行处理。这一过程应该注意以下问题: ①所拍摄的羊毛衫应尽量保持平整,没有重叠,这样才能使计算机准确识别羊毛衫的具体图形数据,本系统对重叠的衣片也考虑了识别方法,但是比平整款式的质量差; ②所拍摄的羊毛衫轮廓需要清晰,背景需要用单一颜色背景,以便计算机准确识别。
系统对于所拍摄的不规则款式图片也进行了考虑,可以通过人工方法将其拆分成各个衣片,但是对不规则款式图片的处理,该方法尚有一定的局限性,还有待进一步研究。所以准确高质量的拍摄羊毛衫,是计算机分析该图片的先决条件,直接关系到本系统的后序工作。正确拍摄的羊毛衫如图2 所示。 
1.2  对图片进行轮廓勾勒并提取
这一部分是计算机款式识别系统的关键,其任务是将系统所导入的图片进行处理,以提取出轮廓,并且将这一轮廓进行矢量转换。具体步骤分为图片预处理和款式轮廓勾勒提取2 个步骤,每一步都是技术难点,需要计算机进行大量的智能计算和判断,其结果直接关系到计算机能否正确识别款式。
1.2.1 图片预处理
这一部分任务是将录入的羊毛衫照片处理成透明模式,去掉背景,只留下羊毛衫的轮廓,以便进一步处理。如果图片的信息格式中有背景色参数,则过程较为简单,直接将背景色去掉即可,即寻找图片中信息参数中的背景色数值,然后运用计算机图片去色方法将图片中的该数值颜色处理掉[1 ] 。而对于一般直接扫描的普通相机照片,判断背景色还需要计算机进一步处理,即需要一定的算法。这里结合羊毛衫照片的一般比较规则的特征,采用“逐点判断法”进行去掉背景色的处理,即计算机逐个判断图片4 个方向边界线的每一个点,然后分析每一个点的颜色值,一般情况下,如果一半以上的像素点颜色一致,就认为这些一致点的颜色就是背景色;但是也不排除特殊情况,即由于照片的特征,这些点的颜色其实是款式本身的点,那么这时候就需要进行人工处理。即通过软件系统提供的“选择背景色”工具,在人工操作下选取背景色从而完成图片的预处理这一过程。这一步虽然是人工操作,但是准确率相当高。
以上2 种方法还需要进一步完善:如果计算机自动判断的或人工选择的背景色和羊毛衫款式中的某一区域的颜色一样,那么在去除背景色的同时会去掉羊毛衫款式中该部分的颜色,将给以后的轮廓提取造成困难。这一点通常使用在8 个方向做辅助线的方法并结合计算机技术中“8 点连通法”[1 ] 联合解决,它的原理是依次判断图片上与所确定的透明色颜色值一致的每个点,然后再制作8 个方向的辅助线(计算机内部做,不显示出来) ,如果这个点的8 条辅助线的每一条线上的所有点均有2 种以上颜色值,则认为该点肯定是款式内部的点,不予去除;否则可认为是应该去除的点。但是如果款式边界有这样的情况,还需进一步运用8 点连通法,即判断这个点四周8 个方向的点的颜色值,根据不同的排列组合来完成点的取舍。这一步骤非常复杂,涉及到许多计算机图形学的理论,这里就不再赘述。
1.2.2 图片轮廓提取
去掉背景色的毛衫款式图片的周边点基本上已经显示出来,通过一定的算法,可以基本提取出款式的轮廓。该识别系统中提取轮廓的计算机编程算法采取“水平垂直逐行扫描法”,即一行一行的从左到右或从上到下定位轮廓点,然后将每一行的有关点的数据存储起来,从而形成轮廓的数据描述,其中水平扫描可以定位款式横向的轮廓点,垂直扫描可以定位款式纵向的轮廓点。扫描完以后再经过分析合并垂直和水平所确定的点,达到各个点的惟一性。利用此算法将图2 中左边款式进行预处理并且提取款式,得到轮廓图,如图3 (a) 所示。在这个提取过程中,又分2 种情况。
①对于类似大身下半部分等款式区域,由于周围再没有款式的其它部分,所以这些区域属于规则区域,提取轮廓点较为方便。只需用扫描法将左边和右边的点定位即可,如图3 (b) 所示。图中PH1和PH2分别代表在横向扫描该区域所得到的左右轮廓点,依次类推形成该区域的连续左右轮廓;而PV2点则是纵向扫描的下轮廓点, PV1 点是上轮廓点,由于这部分仅为款式的一部分,所以PV1点并不在这部分区域中,故其端扫描线用虚线表示。
②对于类似于大身上半部分的款式区域,由于大身周围有袖片的存在,所以在横纵方向扫描时,有2 个以上的轮廓点出现,所以判断起来就比较复杂。如图3 中的(c) 图。由于事先已经判断出背景色,所以在判断时可以根据背景色来分析每一个扫描线的轮廓点。图3 中的(c) 图中由于在袖片和大身之间有背景色,所以在这条扫描线上如果出现背景色,则对于扫描线左端,其背景色向其它色过渡的第一种颜色所在点即为最左轮廓点,如图中的PH1 点;而扫描线中间所出现透明色区段的左右点即为内部轮廓点,如图中的PH2 和PH3点; 依次类推得另外2 个内部轮廓点PH4 和PH5点及款式的右轮廓点PH6 点。同样道理,纵向也依此法进行扫描提取(未在图中标出) ,这样就可以完成这些区域的款式轮廓的提取了。
通过实践编写程序和调试,证明以上方法处理绝大多数款式是非常有效的。但是对于极个别款式中内部有背景色而在预处理过程中按照规定又不能去掉该区域的款式(如网眼组织) ,轮廓点的提取会有误差。正是考虑到这种情况,系统中加入了手工修正功能,一旦轮廓点无法正确自动识别,可以通过该工具手工进行修正。
1.3  对轮廓进行数学描述
通过步骤1. 2 ,可以提取如下点的集合来描述整个款式的轮廓点:
简单部分的水平点阵为:
P1H1P1H2
P2H1 P2H2
PxH1PxH2
……
PnH1 PnH2
其中PxH1 和PxH2 分别表示第x 次扫描衣片时扫描线与轮廓线相交的左边点和右边点, n 表示扫描的行数,由计算机自动判断;
复杂部分的水平点阵为:
P1H1P1H2 P1H3 P1H4 P1H5 P1H6
P2H1 P2H2 P2H3 P2H4 P2H5 P2H6
PxH1 PxH2PxH3 PxH4 PxH5 PxH6
………………


PnH1 PnH2 PnH3 PnH4 PnH5 PnH6
其中PxH1表示第x 次扫描衣片时扫描线与轮廓线左边相交点, PxH2和PxH3表示扫描线与轮廓线中间有透明色的第1 区域的左右交点, PxH4和PxH5表示扫描线与轮廓线中间有透明色的第2 区域的左右交点, PxH6表示扫描线与轮廓线右边的交点。
由此可得出任意部分的水平点阵:
P1H1 P1H2z P1H2y P1HYz P1HYy…P1Hm
PxH1 PxH2z PxH2 y PxHYzPxHYy …PxHm
…………………
PnH1 PnH2z PnH2 y PnHYz PnHYy…PnHm
其中PxH1 表示第x 次扫描衣片时扫描线与轮廓线左边相交点, PxHYz 和PxHYy 表示扫描线与轮廓线中间有透明色的第y 区域的左右交点, PxHm表示扫描线与轮廓线右边的交点。
垂直方向的扫描结果与上述类似,这里不再赘述。
1.4  建立款式数据库
通过计算机对任意款式水平和垂直点阵的对比处理,可以对其进行并集运算,将2 个点阵的所有点提取出来,则为最终的款式轮廓点阵,为了便于计算机在以后的拆分衣片中使用这些点的集合,所以采用2 种方式来存储这些点。
1.4.1 环形表示
将轮廓点阵进行连续记录,这种表示的点阵提取的思路是首先提取点阵的所有纵坐标,即上述点阵的n 根扫描线所在位置的纵坐标,然后再将所有扫描线与轮廓线的最左和最右交点提取,这样对于简单部分点肯定连续,而对于复杂部分还要进一步通过选定区域逐行进行点的判断,从而正确提取轮廓点。这一步主要是通过判断已知轮廓点周围的8 个点的颜色值来完成的。最终得出可以沿款式轮廓环形连续描述款式的点的集合:
{ P1 , P2 , P3 , …, Px , Px+1 , …, Pn}
其中这个点阵的所有点是按照轮廓周界的方向顺序表示的,即顺序在输出设备上输出这些点,
则会沿轮廓周界的路径(环形方向) 顺序显示出整个款式图。
1.4.2 逐行表示
这种表示方法比较简单,只需要按照扫描线将每个扫描线所提取的点排列即可,当然也需综合判断上述的垂直点阵和水平点阵。以这种方式显示的轮廓在显示时是逐行显示的:
第1 行 P11 , P12 , …, P1x , …, P1m1

第y 行 Py1 , Py2 , …, Pyx , …, Pymy

第n 行 Pn1 , Pn2 , …, Pnx , …, Pnmn
其中每行下标m1 , …, my , …, mn 表示的是每一行的总点数,对于每一行其值可能是不同的。
2  结论
通过上述的分析处理,可以将一个任意图片的羊毛衫的款式轮廓识别出来,并且按照“环形”和“逐行”方式表示出来,使外来款式图形可以用数学点阵的方式定量描述出来,为后序的拆分衣片和其它对款式的处理奠定了基础。
参考文献:
[1 ] 唐荣锡. CADPCAM技术[M] . 北京:北京航空航天大学出版社,1990. 2. 149 - 151.
[2 ] 孙家广. 计算机辅助设计技术基础[M] . 北京:清华大学出版社,1992. 9. 82 - 85.

转载请注明来自:http://www.zazhifabiao.com/lunwen/gcjs/jsjjs/36702.html