6.4
众里寻她千百度──海量3D模型的检索

现在网上的3D模型的数量可谓海量,仅Shapeways这一个网站就有100多万个模型。因此,绝大多数情况下我们都根本无需亲手设计模型,只需把自己需要的找出来再3D打印即可。

“找”这个字说起来容易、做起来难。不像文本这样的结构化数据,3D模型属于典型的非结构化数据。因此文本时代的网页搜索引擎已经力不从心了。有的读者会说,我给每一个3D模型用文本描述/标注一下不就行了?如图6.4-1所示,输入关键词car,则将3D模型库中所有的小汽车都找出来了。但如果是100万个模型,手工标注的工作量就太大了,比如这个模型要标上“一头脸上有道刀疤的黑色的猪”,那个模型要标上“一只黄色的短尾巴狗”等等,十分繁琐。而且,光凭文本是无法描述清楚一个具体形状的。比如你钟情的一位美丽姑娘,你即使是用“娇洁凝碧水,似飘雪落轻盈;修弱纤纤指,柔声语嘤;巧笑倩兮,美目盼兮;夫何瑰逸之令姿,独旷世以秀群;佩鸣玉以比洁,齐幽兰以争芬”这样的一堆形容词来描述,别人也还是无法想像出她的具体样子来。

6.4-1  通过文本进行3D模型检索。左:输入关键词key,右:返回所有的小汽车模型

因此,最靠谱的形状检索方法还是直接面向形状本身,让智能算法自动提取出形状的特征,然后计算形状的相似度度量,将最相似的结果返回给你。要把整个算法流程对之前没有任何基础的读者描述清楚,是个极具挑战性的艰巨任务。因此,下面我会把问题作不影响本质的简化,并一步一步娓娓道来。