发明名称 一种基于名片识别的社交关系管理方法
摘要 一种基于名片识别的社交关系管理方法,包括以下四个步骤:步骤1、录入名片信息,利用摄像头或扫描仪进行名片图像采集,根据名片图像的特征划分出文字块并利用OCR引擎进行字符识别,根据关键字段进行分词处理,对提取的信息归类录入,将其填入相应的表单,最后与用户进行交互,对可能存在的无法识别信息进行人工确认与调整;步骤2、建立社交关系网络;步骤3、实现智能检索;步骤4、完成移动终端同步。
申请公布号 CN103617422B 申请公布日期 2017.01.11
申请号 CN201310521182.2 申请日期 2013.10.29
申请人 浙江工业大学 发明人 高飞;梅凯城;张元鸣;胡伟江;陆佳炜;卢书芳;李泽界;胡小燕;张雪君;肖刚
分类号 G06K9/20(2006.01)I;G06K9/46(2006.01)I;G06F17/30(2006.01)I 主分类号 G06K9/20(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 一种基于名片识别的社交关系管理方法,包括以下四个步骤:步骤1、录入名片信息,利用摄像头或扫描仪进行名片图像采集,根据名片图像的特征划分出文字块并利用OCR引擎进行字符识别,根据关键字段进行分词处理,对提取的信息归类录入,将其填入相应的表单,最后与用户进行交互,对可能存在的无法识别信息进行人工确认与调整;所述根据名片图像的特征划分文字块并利用OCR引擎进行字符识别的的具体步骤如下:1.1、灰度化:首先对摄像头或扫描仪采集的名片图像采用加权平均法进行灰度化,由于人眼对绿色的敏感最高,对蓝色敏感最低,因此使用f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j)能得到较合理的灰度图像,其中(i,j)表示像素坐标,彩色图像中红、绿、蓝三个分量分别为R(i,j)、G(i,j)、B(i,j),f(i,j)则为该点的灰度值;1.2、边缘提取:结合Sobel算子与LOG(Laplacian of Gauss)算子,形成修正LOG算法,即选取下列Sobel算子:<img file="FDA0001006502610000011.GIF" wi="429" he="229" /><img file="FDA0001006502610000012.GIF" wi="437" he="222" />S=max{|S<sub>x</sub>|,|S<sub>y</sub>|},作为边缘检测的前提条件,减少多余的零交叉点,其中S<sub>x</sub>为Sobel算子水平方向的中心分差,S<sub>y</sub>为Sobel算子垂直方向的中心分差,选取其中较大值作为梯度S;再使用模板为<img file="FDA0001006502610000013.GIF" wi="702" he="350" />的LOG算子进行检测;1.3、二值化:计算出阈值对灰度图进行二值化,若灰度图高为h,宽为w,求得阈值,即灰度平均值<img file="FDA0001006502610000021.GIF" wi="846" he="167" />再根据阈值Threshold进行二值化:<img file="FDA0001006502610000022.GIF" wi="758" he="142" />1.4、倾斜检测与矫正:通过霍夫变换(Hough Transform)检测名片框的边缘线,获得名片区域并判断出名片的倾斜角度进行矫正,具体为:边缘线表示为参数方程ρ=x*cosθ+y*sinθ,则倾斜角<img file="FDA0001006502610000023.GIF" wi="693" he="421" />其中p<sub>1</sub>(x<sub>1</sub>,y<sub>1</sub>),p<sub>2</sub>(x<sub>2</sub>,y<sub>2</sub>)表示边缘线上选取的两监测点,根据倾斜角θ对原图与二值图像同时进行仿射变换,即P'=P·R,将‑θ代入2D旋转矩阵得到矫正矩阵<img file="FDA0001006502610000024.GIF" wi="754" he="247" />由点<img file="FDA0001006502610000025.GIF" wi="163" he="221" />矫正后得到,具体运算为<img file="FDA0001006502610000026.GIF" wi="452" he="143" />其中P表示原图或二值图像中的坐标点(x,y)的齐次坐标表示,P'表示倾斜矫正后的图像中的坐标点(x',y')的齐次坐标表示;1.5、图像分割:根据名片图像的特征划分出文字块,包括步骤如下:1.5.1、定义探测密度Density,为当前像素上下左右及斜对角线共8个方向上的相邻像素中黑色像素的数量,计算公式为:<img file="FDA0001006502610000027.GIF" wi="792" he="143" />其中i∈[x‑1,x+1]∩N<sup>*</sup>,j∈[x‑1,x+1]∩N<sup>*</sup>,(x,y)为当前探测点坐标,N<sup>*</sup>为正整数集;1.5.2、将名片区域的图像转化为密度矩阵,去掉余下噪点,操作方法如下:逐个判断各个像素的密度,当Density&lt;2时,对应矩阵元素记为0,即当作噪声处理,当Density&gt;=2时,对应矩阵元素记为1,表明该像素为文字块一部分;1.5.3、通过转换公式<img file="FDA0001006502610000031.GIF" wi="647" he="143" />将矫正后的二值单色图转化为以下的二维数组形式:<img file="FDA0001006502610000032.GIF" wi="566" he="223" />1.5.4、根据密度矩阵,可分别采用快速识别策略或精准识别策略定位文字块区域,然后依据区域对名片图像进行分割,其中快速识别策略:逐行判断密度矩阵,每一行内“1”元素占单元个数的比例超过一定阈值,则视为文本行,低于此阈值则视为空白;精准识别策略:逐行判断密度矩阵,将行内连续的“0”元素连结成“探测线”,根据“探测线”起始端的深浅、长度差异与末端位置特征判断是否为文本区域,即去除长度小于阈值的探测线;然后标记出第一条探测线的末端与第二条探测线的始端;对所有行进行探测与标记后,由标记围成的区域即文本区域;1.5.5、定义R<sub>i</sub>∈{d(i,y)|y∈[0,h]∩N<sup>*</sup>},<img file="FDA0001006502610000033.GIF" wi="333" he="87" />当且仅当<img file="FDA0001006502610000034.GIF" wi="366" he="63" />时记录下j值,最后所得的一组区域[j<sub>1</sub>,j<sub>2</sub>],[j<sub>2</sub>,j<sub>3</sub>],[j<sub>3</sub>,j<sub>4</sub>]…即若干文字块,其中h表示行数,w表示列数,N<sup>*</sup>为正整数集,R<sub>i</sub>为步骤3的二维数组中第i行的元素,Sum<sub>j</sub>为R<sub>i</sub>所在行所有元素之和;1.6、字符识别:利用OCR(Optical Character Recognition)技术提取出每一个文字块的信息,这里采用MODI(Microsoft Office Document Imaging)的OCR模块对分割出的图像逐一进行识别,将每一文字块图像都变成一组文字,即对文字块[j<sub>1</sub>,j<sub>2</sub>],[j<sub>2</sub>,j<sub>3</sub>],[j<sub>3</sub>,j<sub>4</sub>]…逐一调用OCR识别引擎,得到与每个区域对应的字符集C<sub>1,2</sub>,C<sub>2,3</sub>,C<sub>3,4</sub>…;所述根据关键字段进行分词处理的具体步骤如下:1.7、分词处理:根据关键字段进行分词处理,对提取的信息归类录入,具体为:首先建立关键词库W以及语义库,其中关键词是指那些对于单位、职位、地址、联系方式具有确定描述意义的词汇,语义库是在针对关键词的不同表述的近义词之间建立的映射库;根据关键词,基于上下文特征,提取出每组文字中的对应信息,填入相应表单,完成分词处理,具体步骤如下:1.7.1、寻找“:”分隔符,利用分隔符界定关键词与内容,如果界定出的关键词不在关键字集合中则交由用户决定是否将其视为关键词收录到集合中,通过此步骤实现分词策略的学习功能;1.7.2、然后匹配出关键字Key=C<sub>x,y</sub>∩W,将字符串<img file="FDA0001006502610000042.GIF" wi="358" he="79" />填入名为Key的表单项中,当<img file="FDA0001006502610000041.GIF" wi="179" he="55" />时,将字符集C<sub>x,y</sub>填入“未分类”表单项;基于语义库的策略包括:定位中文姓名策略:当字符串不符合手机号、电话号码、地址、邮编、邮箱、网址的语义情况下采用本规则进行判断:字符数在2~4之间且跟随有职位、头衔的字符串,或带有“姓名”类标签的字符串;定位手机号码策略:以13、15、18开头的11位纯数字字符串,或带有“手机”类标签的字符串;定位电话号码策略:7~8位纯数字字符串,或以区号开头并包括括号、连字符或空格分隔符的字符串,或带有“电话”类标签的字符串;定位公司名称策略:当字符串不符合手机号、电话号码、地址、邮编、邮箱、网址的语义情况下采用本规则进行判断:出现“公司”、“集团”、各机关单位关键词的字符串,或带有“公司”类标签的字符串;定位地址策略:出现“省”、“市”、“县”、“乡”、“镇”、“路”、“区”、“幢”、“单位”、“室”与数字混合的字符串,或带有“地址”类标签的字符串;定位邮编策略:6位纯数字字符串,或带有“邮编”类标签的字符串;定位邮箱策略:出现数字、字母、“@”、“.”字符,或带有“邮箱”类标签的字符串;定位网址策略:出现“http”、“.”、“www”、“com”、“cn”、“edu”字符,或带有“网址”类标签的字符串;步骤2、建立社交关系网络;所述建立社交关系网络的步骤如下:2.1、通过用鼠标移动联系人结点来建立两个联系人的关系:将新加入的结点A<sub>j</sub>附加到已有结点A<sub>i</sub>上,确定操作双方后利用连线的形式表示两个联系人之间建立的关系L<sub>i,j</sub>,它表示A<sub>i</sub>与A<sub>j</sub>彼此互相认识,其中A<sub>j</sub>和A<sub>i</sub>表示两个联系人,具体 按如下几种情况分别处理:2.1.1、如果新建立的联系人结点A<sub>i</sub>是用户O的第一接触人,则将新结点A<sub>i</sub>连接到用户结点O上建立联系线路OA<sub>i</sub>,其关系为L<sub>0,i</sub>;2.1.2、如果新建立的联系人结点A<sub>j</sub>是用户O通过朋友A<sub>i</sub>得知了此联系人,且对方并不认识用户O的情况下,则将新结点A<sub>j</sub>连接到用户朋友结点A<sub>i</sub>上建立联系线路A<sub>i</sub>A<sub>j</sub>,其关系为L<sub>i,j</sub>;2.1.3、如果原先是用户O通过朋友A<sub>i</sub>得知的联系人A<sub>j</sub>与用户朋友A<sub>i</sub>是第一接触人,而在进一步的合作交流后,用户O与该联系人A<sub>j</sub>成为了第一接触人,则将该联系人结点A<sub>j</sub>连接到用户结点O上,形成与用户结点直接的联系路径OA<sub>j</sub>,其关系为L<sub>0,j</sub>;2.2、对于每个关系L<sub>i,j</sub>通过使用权值K<sub>i,j</sub>来表示关系的强弱,L<sub>i,j</sub>的权值K<sub>i,j</sub>取决于联系人A<sub>i</sub>与联系人A<sub>j</sub>的结识时间T(单位:天)以及联系次数Count,具体计算方法为:<img file="FDA0001006502610000051.GIF" wi="1116" he="121" />2.3、根据度数D与权值K得出“我”与各联系人的“亲密度”Intimacy,约定用户结点O的度数D<sub>0</sub>=0通过路径OA<sub>i</sub>上的关系L<sub>0,i</sub>相连的结点A<sub>i</sub>的度数D<sub>i</sub>=1+D<sub>0</sub>;通过路径A<sub>i</sub>A<sub>j</sub>上的关系L<sub>i,j</sub>相连的结点A<sub>j</sub>的度数D<sub>j</sub>=1+D<sub>i</sub>,“我”与结点A<sub>j</sub>的“亲密度”计算公式为:Intimacy<sub>j</sub>=D<sub>j</sub>+K<sub>i,j</sub>,D<sub>i</sub>∈N<sup>*</sup>,K<sub>i,j</sub>∈[0,1),“亲密度”Intimacy的整数部分代表了六度分割中的度数,小数部分将同等度数下的各个关系进一步划分开,因此,“亲密度”能较好的反应出以“我”为中心到各个结点的亲疏关系,其中N<sup>*</sup>为正整数集;步骤3、实现智能检索;所述实现智能检索,其特征在于:通过用户输入的检索关键词与已录入的个人信息进行模糊匹配,筛选出可能的目标列表智能检索,其具体步骤如下:3.1、设用户输入的关键词为字符串WORD,其中的元素为Char,名片数据集DATA,若<img file="FDA0001006502610000053.GIF" wi="332" he="55" />且<img file="FDA0001006502610000052.GIF" wi="414" he="55" />则返回其对应的联系人A<sub>(Char</sub><sub>∩</sub><sub>DATA)</sub>;3.2、用户从返回的列表中,根据实际需求,选择出具体目标,定位到某一联系人A<sub>i</sub>;3.3、根据关系L上的权值K,通过Dijkstra算法,得到“我”与目标之间“最有效”的沟通途径,即通过最亲密的联系人联系到最需要的联系人,这里将联系人结点A视作Dijkstra算法中的点集;关系L视作算法中的边集;边的长度为对应K值;用户结点O作为算法中的源;步骤4、完成移动终端同步;所述完成移动终端同步的步骤如下:4.1、启动服务:PC服务器端要求采用Socket和多线程技术设计服务器程序,它可以是驻留服务程序,即随着操作系统启动而启动,也可以手工启动,启动后将与数据库服务器建立连接,然后自动监听移动终端的请求;4.2、自动配置IP:当用户点击移动终端的同步客户端程序时,它将从移动终端中的配置文件中读取服务器IP地址、服务器端口号PORT;如果无法连接上PC服务器端,它将自动扫描服务器端程序,扫描配置策略为:终端加入PC服务器所在网段后,终端程序自动获取其IP地址,根据字符串定位算法获取IP地址前三个区域的数据,利用循环程序自动扫描由0‑255与前三个区域数据构成的IP地址作为可能的PC服务器端程序IP地址,若能连接成功,则将其保存于配置文件中,供下次自动连接服务器使用;4.3、系统设置:移动终端的系统设置功能技术特征为:当终端程序自动扫描无法连接上PC服务器端程序时,可以交互式地修改IP地址、端口号PORT,同时还可以设置备份和导入时的完全覆盖、差异两个选项;4.4、备份移动终端:移动终端的备份功能技术特征为:用户在移动终端上点击备份功能按钮时,当系统设置中的选项为完全覆盖,移动终端程序读取该终端的通讯录中第i个联系人,i=1,2,…,n,然后将第i个联系人通过PC服务器端程序写入到对应的数据库中,若数据库中存在该联系人,则更新数据,若不存在,则插入;如果当系统设置中的选项为差异时,移动终端程序读取该终端的通讯录中第i个联系人,i=1,2,…,n,然后将第i个联系人通过PC服务器端程序写入到对应的数据库中,若数据库中存在该联系人,则忽略,若不存在,则插入;4.5、导入移动终端:移动终端的导入功能技术特征为:用户在移动终端上点击导入功能按钮时,当系统设置中的选项为完全覆盖,PC服务器端程序读取数据库通讯录中第i个联系人,i=1,2,…,n,然后将第i个联系人通过移动终端程序写 入到终端的通讯录中,若通讯录中存在该联系人,则更新数据,若不存在,则插入;如果当系统设置中的选项为差异时,PC服务器端程序读取数据库通讯录中第i个联系人,i=1,2,…,n,然后将第i个联系人通过移动终端程序写入到终端的通讯录中,若通讯录中存在该联系人,则忽略,若不存在,则插入。
地址 310014 浙江省杭州市下城区潮王路18号