朱福全,杨丽平,许 波
(1.四川警察学院 四川泸州 646000;2.泸县公安局 四川泸州 646000)
传统的犯罪现场重建主要通过现场笔录、现场图和现场照片等方式来保存和描述现场信息,缺少三维空间信息,使侦查人员缺乏对犯罪现场的直观认识,容易受主观因素的影响,给案情分析和案件侦破带来困难。因此,如何有效地对犯罪现场进行全面客观、形象直观地重建已成为刑事科学技术的一个重要研究课题。
随着虚拟现实技术的不断发展和广泛应用,利用计算机对犯罪现场进行三维重建成为现场重建的一条有效途径,并逐渐受到国内外学者的关注。 2009年美国国家科学基金会(NSF)花140万美元资助北卡州立大学设计开发IC-CRIME平台[1],该平台使用3D激光扫描技术记录空间和物体的维度,以及犯罪现场每项证据的位置,依靠Unity游戏引擎技术运行,允许用户为犯罪假设创建脚本及真实场景,使刑侦人员及陪审团可以在虚拟世界中分享各自的犯罪假设。在国内,重庆市公安局研发了案发现场三维图像重建系统[2],该系统采用无缝拼接技术,将现场照片进行智能拼接,生成360度全景图,能实现多角度的观察,但该系统属于“假三维”,交互性不强,应用受到限制。文献[3]-[5]基于虚拟现实系统开发平台实现了对犯罪现场的三维重建,但由于技术性太强,开发难度较大,实用性不高。另外,上述方法未就犯罪过程重建展开讨论,这在很大程度上影响了现场重建在案情分析和案件侦破中的作用和意义。
针对上述方法存在的不足,本文提出了一种基于Virtools技术的犯罪现场重建方法。其采用3D+Virtools的开发思路,利用3D建模软件进行模型构建,利用Virtools平台对模型进行整合,并通过创建行为脚本重构出虚拟犯罪现场和犯罪行为过程。方法显著的特点是不需要开发人员掌握相关程序语言和编程知识,开发难度小,实用性较高;同时,方法实现了犯罪过程的重建,增强了现场重建的效果。
Virtools是由法国全球交互三维开发解决方案公司达索开发的游戏和虚拟现实开发平台,其最大特点是采用直觉式图形开发界面和直观的图形化程序接口,内建700多个的行为模块(Building Blocks简称BB),除自身的3D/VR开发平台Virtools Dev以外,还有网络服务器Virtools Server、物理属性模块Physics Pack、人工智能模块AI Pack、Xbox开发模块和沉浸式平台VR Pack等5个模块。图形化程序接口使开发人员只需拖曳行为模块(BB)就可以轻松建构出复杂的三维互动应用程序,可同时满足无程序背景的设计人员和高阶程序设计师的需要,有效降低开发难度、缩短开发周期,已成为虚拟实验、产品展示和三维漫游等虚拟现实系统开发的主要方法。
根据犯罪现场重建的功能需求,其基本模型,如图1所示.
图1 犯罪现场重建模型
运行模块是整个系统的核心,通过接口载入模型资源库和音效资源库中的模型文件和音效文件生成虚拟的犯罪现场;用户通过漫游控制模块控制虚拟摄像机实现对虚拟现场的漫游和观察;通过行为控制模块实现对犯罪行为过程的重现;重建犯罪现场需要提供多种漫游控制功能以方便侦查人员与虚拟场景进行交互,从而实现从不同的角度观察和分析现场情况.现场物证是犯罪嫌疑人行为的作用结果,研究现场物证及其形成的过程有助于技术人员对物证的检验鉴定。现场勘查人员在现场勘查中对现场物证的初步分析往往基于技术人员的经验,这些分析需要经过数据的测量运算和实验结果来验证,现实中由于受实验环境、材料、观察的角度等条件的制约,一些现场实验无法多次重复进行或进行多角度观察。但借助虚拟现实技术,技术人员可以通过虚拟的现场实验环境,设置多种可能的参数,反复地进行试验,多角度观察整个物证形成的全过程,来验证分析结果的准确性,这样不仅使一些现场实验变成了可能,而且大大降低了实验的成本和风险,提高了实验的可靠性和效率。痕迹物证往往隐含着许多丰富的信息,而这些信息往往又无法在三维模型中进行表现。物证管理的目的就是要实现对痕迹物证隐含的信息进行动态的显示。
重建犯罪现场,再现犯罪嫌疑人在现场的活动过程,不仅是现场勘查的目的之一,而且也是分析犯罪嫌疑人犯罪心理的重要依据。利用虚拟现实技术来进行现场重建,不仅一改传统的以文字或图片描述犯罪过程的形式,而且为用户提供了全方位、多角度研究现场,审视现场勘查全过程的平台。在重建过程中,将犯罪嫌疑人的行为按照现场分析的结果预先设定在现场中,研究者以第三者的角度从各角度旁观案犯的作案过程,以验证当初的分析结果.或预先设置好各个物证的空间位置,以研究者的主观角度,去尝试完成作案过程,这样,研究者就更容易分析体会案犯的犯罪心理.犯罪过程的重建主要指根据案件的分析,对犯罪行为实施过程进行三维再现.犯罪行为的实施过程主要包括犯罪嫌疑人的犯罪行为过程,受害人在犯罪行为下的行为过程以及现场相关物证的运动过程,因此在犯罪过程的重建中,虚拟人的行为重建是关键。目前虚拟人的行为重建方法主要有关键帧法,基于运动学和逆向运动学的方法以及运动捕捉法等。但这些方法由于涉及复杂的计算,运算量较大,难以满足实时性要求。考虑到犯罪过程重建是一个不断修正的过程,为提高重建效率,本文基于重用性原则,采用了分层构建的思想进行重建。
利用Virtools技术对犯罪现场进行三维重建主要包括数据采集、模型构建、场景组织和系统发布四个步骤,具体流程如图2所示:
图2 犯罪现场重建流程图
1.数据采集。数据采集的目的是收集案发现场客观环境和痕迹物证的信息,为模型的构建和场景的组织提供事实依据。与普通虚拟现实系统不同,犯罪现场重建要求重构出的虚拟犯罪现场能客观、真实地反映原始犯罪现场,重建过程不能脱离实际现场,必须依赖于对原始现场的勘测、痕迹物证的检验与鉴定以及侦查活动等相关信息的记录。数据采集对象主要包括现场环境、痕迹物证、犯罪主客体以及作案工具等客观事物;采集内容包括采集对象的性质状态、空间位置、尺寸大小、方位朝向等信息;采集方式可采用现场照相、现场绘图、现场录像以及文字记录等形式。
2.模型构建。模型构建主要指根据数据采集阶段采集的数据信息对现场环境中的客观事物进行三维模型的构建,如房屋结构、家具、家电、生活用品、受害人、嫌疑人以及在作案过程中留下的作案工具、足印、指纹、血迹等痕迹物证。(1)实体模型的构建。(2)犯罪痕迹的重建。主要指指纹、足印、血迹等痕迹.与常见的几何物体相比,这一类犯罪痕迹具有两个显著的特点:一是几何表现极不规则且表面细节丰富;二是不能独立存在,而必须依附于其它物体表面,如地面、墙面、桌面等,因此用传统的几何建模方法很难对其进行重建。为最大程度地还原犯罪痕迹的真实情况,本文主要采用了透明贴图技术.即利用数码相机获取犯罪痕迹的原始图片,然后利用图像编辑软件Photoshop从原始图片中提取犯罪痕迹制作成透明纹理;最后为每个犯罪痕迹建立一个虚拟表面,并将制作好的透明纹理通过透明贴图方式赋予虚拟表面之上。但需要注意的是:为减小视角差异,原始图片的获取应尽量沿垂直于犯罪痕迹所在平面的方向进行。
3.场景构建。场景组织是重建的关键。主要包括两个方面:一是按照现场数据,利用Virtools提供的直觉式图形开发界面通过鼠标执行平移、旋转、缩放等基本操作对虚拟场景进行布置;二是根据用户需要利用行为交互模块(Building Blocks,BB)对场景进行交互功能设计,其中包括犯罪过程重建。(1)漫游设计。自动漫游是指用户根据系统预先设定的轨迹和视角进行漫游的一种方式,主要用于展示犯罪现场情况.在自动漫游方式下,用户不能自由控制摄像机的运动轨迹和观察视角,因此设置自动漫游摄像机时需要注意以下四个问题:(1)要能展现犯罪现场的整体状况;(2)要能全面展示现场所有痕迹和物证;(3)设置观察角度要合适,并对重要物证要设置多个观察角度;(4)设置摄像机的运动轨迹要合理,一般可按位置关系、时间顺序或逻辑顺序设置摄像机的运动轨迹。自主漫游是指通过用户的输入来控制摄像机的轨迹和视角以实现不同角度和方位的观察虚拟环境。自主漫游的实现原理是:在虚拟环境中建立世界坐标系S,并为自主漫游摄像机建立局部坐标系s,则s的原点o在S下的坐标即为摄像机在虚拟犯罪现场中的空间位置,同时定义摄像机视角方向为z轴正方向,如图3所示.理论上,摄像机可沿坐标系S的X、Y和Z三个坐标轴方向移动,同时也可围绕局部坐标系s的x轴和y轴旋转,因此摄像机具有五个自由度.但如果考虑摄像机只能在视角方向上移动,则可将自由度降低为三个,即围绕x轴、y轴的旋转和z轴方向的移动.本文采用了用W键和S键控制摄像机在视角方向(即z轴)上的移动,用鼠标控制摄像机视角方向的变化,即围绕x轴和y轴的旋转的联合控制方式。当摄像机需要移动到指定位置时,首先通过鼠标将视角方向指向指定位置,然后通过键盘将摄像机移动到指定位置;当摄像机到达指定位置时,则只需移动鼠标即可将视点方向改变到指定方向。
4.系统发布。虚拟犯罪现场的发布有两种方式:一是将场景文件以VMO格式进行保存,同时自动生成一份对应HTML文件;二是将场景文件打包生成独立的可执行文件.前者在播放时需要安装virtools专用播放插件Virtools Web Player,同时适合进行单机操作和网络操作;后者在发布时需要将Virtools中相应。dll文件与licence文件一起发布,主要适用于单机操作。
本文以某入室杀人案为例进行犯罪现场和犯罪过程的重建,其中关于模型构建和场景布置的实现过程在此不再赘述,下面主要描述行为重建、漫游设计和物证管理的主要实现过程。
根据对案发现场的分析,犯罪过程如下:
图3 虚拟犯罪嫌疑人行为控制脚本
图4 虚拟受害人行为控制脚本
利用 Switch On Key模块响应W键和S键的消息,通过Get Dir获取摄像机视角方向,并利用Normalize等运算器将数据进行处理后传到Translate模块实现摄像机的移动;利用Mouse Waiter模块响应按下左键并移动鼠标的消息,然后通过Get Mouse Displacement获取鼠标在屏幕上的移动距离,同时利用Multiplicatio等运算器将鼠标移动的数据进行处理后传到Rotate模块实现视角方向的变化.实现脚本如图4所示。
图5 自主漫游摄像机脚本
1.建立物证管理阵列(Evidence Array).Evidence Array包含物证索引、物证图片地址和物证说明。物证索引为数值型,用于检索虚拟现场中物证模型;物证图片地址为字符型,用于存储现场照片地址;物证描述为字符型,用于存储物证的相关描述和说明。(2)创建两个二维帧Evidence Shows Frame和Evidence Description Frame,分别用于显示物证照片和物证描述。(3)利用BBs建立物证模型、物证管理阵列和二维帧之间的关联。即首先为每个物证模型创建唯一的索引号,并添加Switch On Message模块响应左键双击消息,同时添加Send Message模块将索引号发送到二维帧;然后为Evidence Shows Frame和Evidence Description Frame二维帧分别添加Switch On Message模块接收信息,并根据索引号读取阵列Evidence Array中的物证图片地址和物证说明进行显示。图6为二维帧Evidence Shows Frame的脚本内容。
图6 二维帧Evidence Shows Frame脚本
图7 现场重建效果图
图8 犯罪过程重建效果图
图6展示了从不同位置和角度观察虚拟犯罪现场的静态效果图,其中左图展示了虚拟犯罪现场的整体情况;右图展示了近距离观察受害人的情况。图7是犯罪过程重建的效果截图,其中左图展示的是虚拟嫌疑人敲门和虚拟受害人开门的过程,右图为嫌疑人杀害受害人的过程。
利用计算机对犯罪现场进行三维重建不仅能够提供对犯罪现场直观、形象的描述,而且能够再现犯罪嫌疑人的犯罪过程,为分析犯罪心理提供重要依据,有助于侦查人员认识和分析案件。此外,犯罪现场的三维重建还可以实现对犯罪现场的永久性保存,为案件的再研究提供方便。本文提出的基于Virtools技术的犯罪现场三维重建方法不仅能够重建出逼真的犯罪现场环境,而且实现了对犯罪过程的重建。与现有方法相比,该方法不仅具有场景逼真、交互性强等特点,而且由于采用了图形化程序接口技术,有效地降低了犯罪现场的重建难度,提高了重建效率,具有一定的实用性。
[1]http://www.smartertechnology.com/c/a/Technology -For-Change/ICCRIME -Brings-CrimeScene -Investigations-into-21st-Century.
[2]http://lnb.gansudaily.com.cn/system/2009/06/15/011134531.shtml.
[3]孙树峰,顾君忠,郑伟进.基于虚拟现实技术重构犯罪现场[J].上海公安高等专科学校学报,2003,(4):41-43.
[4]刘 晶,查亚兵.基于虚拟现实技术的犯罪现场重建系统设计[J].微计算机信息,2009,(7-3):166-167.
[5]赵 雷,王靖亚,王斌君.TrueVision 3D技术在犯罪现场还原中的应用[J].中国人民公安大学学报(自然科学版)2008,(2):85-88.
[6]卢晓军,李 众,贺汉根.维修仿真中虚拟人动作数据库的研究与实现[J].计算机仿真,2006,(1):187-190.