郭 勇 張大治 李永勝 黃霖宇
(1 四川警察學(xué)院刑事科學(xué)技術(shù)系 四川 瀘州 646000;
2 四川大學(xué)電子信息學(xué)院 四川 成都 610065;
3 刑事檢驗(yàn)四川省高校重點(diǎn)實(shí)驗(yàn)室(四川警察學(xué)院) 四川 瀘州 646000)
涉槍案件通常伴隨著劫持人質(zhì)或殺害被害人等惡性行為,對(duì)社會(huì)的安全穩(wěn)定帶來(lái)負(fù)面影響。彈殼作為涉槍案件的重要物證,對(duì)案件偵破、刑事訴訟和法律認(rèn)定均具有重要意義。而彈殼痕跡檢驗(yàn)技術(shù)則是充分發(fā)揮彈殼物證作用的關(guān)鍵技術(shù)。在彈殼諸多痕跡特征中,擊針痕跡是相對(duì)穩(wěn)定的痕跡之一[1],因此被應(yīng)用于實(shí)際槍擊案件鑒定與分析中[2]。擊針痕跡指的是子彈發(fā)射時(shí),槍支擊針快速撞擊底火從而在火帽上留下的凹陷狀痕跡,常見(jiàn)有圓形、扁形、三角形、三棱形或截錐形等不同擊針體形狀,而針端也會(huì)有球面或者平面之分,從而導(dǎo)致?lián)翎樅圹E形狀差異。此外,同一種類(lèi)的槍支,擊針結(jié)構(gòu)基本相同,原則上具有相同的偏火度。但因擊針安裝誤差,以及槍支使用過(guò)程中因磨損、機(jī)件松動(dòng)等不同,擊針痕跡的位置會(huì)發(fā)生變化,具有個(gè)體特征。因此,擊針痕跡的形狀和位置可作為認(rèn)定槍支時(shí)主要檢驗(yàn)特征使用。
常用的擊針痕跡檢驗(yàn)方法主要有人工識(shí)別和自動(dòng)識(shí)別兩大類(lèi)[3]。人工識(shí)別常用方法有體視顯微鏡、比較顯微鏡和電子顯微成像3種[3-5]。體視顯微鏡法需要人工手動(dòng)調(diào)焦,對(duì)不同深度的痕跡進(jìn)行逐層觀察和比對(duì)。該方法具有體積小、便于操作等優(yōu)點(diǎn),但卻存在操作效率低、不能同時(shí)清晰觀看不同深度痕跡三維圖像、主觀性強(qiáng)等缺點(diǎn)。比較顯微鏡方法具有結(jié)構(gòu)精密、操作簡(jiǎn)單等優(yōu)點(diǎn),但仍然存在效率低下、主觀性因素影響大[6]等缺點(diǎn)。同時(shí),上述兩種方法由于涉及大量人工操作,都有對(duì)彈殼造成痕跡二次破壞的風(fēng)險(xiǎn)。電子顯微成像技術(shù)避免了上述問(wèn)題,可自動(dòng)對(duì)痕跡進(jìn)行掃描成像。但由于其成像原理通常是經(jīng)過(guò)自動(dòng)多次變焦對(duì)不同深度痕跡進(jìn)行逐層掃描后再拼接,容易導(dǎo)致成像誤差或拼接不上的問(wèn)題。文獻(xiàn)[7]雖然基于投影光柵相移三維輪廓測(cè)量原理進(jìn)行了三維彈痕采集,但易受光學(xué)畸變及夾持姿勢(shì)等影響。自動(dòng)識(shí)別在歐美發(fā)達(dá)國(guó)家研究工作開(kāi)展的較早,1993年,美國(guó)的煙酒槍支管理局聯(lián)合加拿大Forensic公司研制了能夠較快完成對(duì)槍彈痕跡采集和查詢處理等功能的Bulletproof系統(tǒng)[8]4-5,也研制了基于圖像識(shí)別的槍彈痕跡的識(shí)別系統(tǒng)[9],但該類(lèi)進(jìn)口設(shè)備費(fèi)用昂貴,且無(wú)法對(duì)彈痕的三維信息進(jìn)行充分比對(duì)。我國(guó)公安部第二研究所自主研發(fā)了槍彈痕跡識(shí)別系統(tǒng),但該系統(tǒng)由于三維痕跡信息獲取精度較低,分析精度并不能滿足實(shí)際應(yīng)用的需要[8]5-6。此外,部分彈痕比較系統(tǒng)主要基于圖像處理方法,在圖像采集時(shí)受反光影響較大,導(dǎo)致測(cè)量質(zhì)量受到較大影響。
除上述痕跡檢驗(yàn)方法中涉及到的測(cè)量方法,近些年來(lái)所興起的單點(diǎn)激光位移檢測(cè)方法,具有不受環(huán)境光線的影響、被測(cè)物體的表面不被損壞、精度較高、數(shù)據(jù)文件的體積較小、頻響特性較好等諸多優(yōu)于其他的測(cè)量方式的特點(diǎn),對(duì)精準(zhǔn)測(cè)量痕跡線條細(xì)節(jié)非常有效[10]。其基本原理是通過(guò)高精度的激光位移傳感器對(duì)痕跡截面凹痕深度進(jìn)行逐點(diǎn)掃描檢測(cè),通過(guò)采集到對(duì)數(shù)據(jù)的分析與比對(duì)來(lái)區(qū)分不同的痕跡[11],因此可將該方法應(yīng)用到彈殼痕跡檢驗(yàn)中。
本文針對(duì)國(guó)內(nèi)外彈殼痕跡檢驗(yàn)技術(shù)現(xiàn)狀,為保證系統(tǒng)可靠性和高精度,避免對(duì)彈痕造成二次破壞,同時(shí)兼顧設(shè)備成本,設(shè)計(jì)并開(kāi)發(fā)了一套基于激光單點(diǎn)掃描的彈殼擊針三維痕跡采集系統(tǒng),以彈殼擊針痕跡為研究目標(biāo),采用激光掃描技術(shù)對(duì)擊針凹痕進(jìn)行高精度掃描,通過(guò)對(duì)數(shù)據(jù)進(jìn)行有效和精確處理,建立擊針三維模型,以實(shí)現(xiàn)對(duì)彈殼擊針凹痕的無(wú)損數(shù)字化三維重建。
擊針三維痕跡采集系統(tǒng)主要由痕跡采集硬件子系統(tǒng)和計(jì)算機(jī)軟件分析子系統(tǒng)構(gòu)成。而痕跡采集硬件子系統(tǒng)又分為用于痕跡采集的硬件設(shè)備和控制電路,以及用于控制數(shù)據(jù)采集的單片機(jī)軟件。系統(tǒng)工作的基本原理為:首先選取與彈殼底平面平行的參考平面,然后通過(guò)單片機(jī)程序控制高精度位移傳感器對(duì)彈殼底部痕跡相對(duì)參考平面的凹陷深度進(jìn)行逐點(diǎn)測(cè)量,并在測(cè)量過(guò)程中將測(cè)量點(diǎn)的相對(duì)坐標(biāo)值與對(duì)應(yīng)凹陷深度進(jìn)行記錄并上傳到計(jì)算機(jī)。當(dāng)系統(tǒng)完成彈殼底部面所有點(diǎn)的凹陷深度測(cè)量后,計(jì)算機(jī)軟件將各點(diǎn)凹陷數(shù)據(jù)按照相對(duì)坐標(biāo)位置關(guān)系進(jìn)行處理并拼接形成底部三維痕跡圖。因此,三維痕跡采集建模過(guò)程中,需要通過(guò)硬件設(shè)備實(shí)現(xiàn)對(duì)測(cè)量點(diǎn)位置控制、單點(diǎn)凹陷深度測(cè)量、測(cè)量坐標(biāo)點(diǎn)及對(duì)應(yīng)凹陷深度值記錄,以及系統(tǒng)整體邏輯控制。在完成凹陷基礎(chǔ)數(shù)據(jù)采集的基礎(chǔ)上,需要進(jìn)一步通過(guò)軟件對(duì)數(shù)據(jù)進(jìn)行分析處理及三維圖形繪制。
在綜合考慮系統(tǒng)復(fù)雜性、體積和成本等因素的前提下,為實(shí)現(xiàn)對(duì)擊針痕跡的高精度采集,采用單點(diǎn)激光位移傳感器實(shí)現(xiàn)對(duì)參考平面與彈殼底部指定單點(diǎn)之間的距離進(jìn)行測(cè)量。通過(guò)單片機(jī)控制高精度電控位移滑臺(tái)實(shí)現(xiàn)彈殼與參考平面間相對(duì)三維位置關(guān)系的調(diào)整,實(shí)現(xiàn)對(duì)參考平面的選取及對(duì)彈殼底部進(jìn)行逐點(diǎn)測(cè)量。將待測(cè)彈殼通過(guò)軟塑料夾具進(jìn)行夾持,通過(guò)電動(dòng)滑臺(tái)移動(dòng)激光傳感器對(duì)傳感器和彈殼的相對(duì)位置進(jìn)行調(diào)整,實(shí)現(xiàn)對(duì)彈殼底部的逐行逐點(diǎn)測(cè)量。最后將采集到的數(shù)據(jù)上傳到上位計(jì)算機(jī)進(jìn)行處理建模,并將結(jié)果提供給后續(xù)環(huán)節(jié)使用。
硬件系統(tǒng)整體架構(gòu)如圖1所示,主要包括激光位移傳感器、載物臺(tái)、Z軸電控位移臺(tái)、X/Y雙軸位移臺(tái)、控制板卡及用于數(shù)據(jù)分析處理的上位計(jì)算機(jī)等部件組成。激光位移傳感器用于對(duì)指定測(cè)量點(diǎn)與參考平面之間的相對(duì)距離進(jìn)行測(cè)量。載物臺(tái)用于夾持彈殼并固定于Z軸電控位移臺(tái)上,采用軟塑料制成,以避免在測(cè)量夾持過(guò)程中對(duì)彈殼痕跡造成二次破壞。Z軸電控位移臺(tái)用于控制彈殼底平面與參考平面相對(duì)位置。激光位移傳感器通常具有一定的測(cè)量范圍,如彈殼底平面超出了測(cè)量最大范圍則無(wú)法實(shí)現(xiàn)凹痕的準(zhǔn)確測(cè)量。因此通過(guò)Z軸電控位移臺(tái)可實(shí)現(xiàn)對(duì)彈殼底平面與參考平面之間的距離進(jìn)行調(diào)整,使得彈殼底平面可位于激光位移傳感器的最佳測(cè)量范圍內(nèi)。測(cè)量過(guò)程中,需要對(duì)被測(cè)量點(diǎn)與彈殼底平面之間相對(duì)位置的調(diào)整,以實(shí)現(xiàn)對(duì)所有點(diǎn)的逐點(diǎn)測(cè)量。因此,可通過(guò)X/Y雙軸位移臺(tái)實(shí)現(xiàn)對(duì)測(cè)量點(diǎn)位置的控制??刂瓢蹇ㄖ饕饔檬菫榱擞布考g整體邏輯的控制,以及將采集到的數(shù)據(jù)上傳到計(jì)算機(jī)進(jìn)行進(jìn)一步的數(shù)據(jù)處理分析。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
為實(shí)現(xiàn)上述功能,需要首先根據(jù)系統(tǒng)需要選擇對(duì)應(yīng)的痕跡測(cè)量傳感器及電控滑臺(tái)等硬件設(shè)置搭建硬件平臺(tái),進(jìn)一步選擇單片機(jī)等微型控制器控制硬件平臺(tái)進(jìn)行數(shù)據(jù)采集并上傳給計(jì)算機(jī),最后在計(jì)算機(jī)平臺(tái)上通過(guò)設(shè)計(jì)軟件對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理并將結(jié)果呈現(xiàn)給使用者。
本系統(tǒng)采用單點(diǎn)激光位移傳感器實(shí)現(xiàn)對(duì)單點(diǎn)凹陷深度的測(cè)量。由于激光具有方向性好、亮度高、單色性好、相干性好等特點(diǎn),常用于精密度要求高、測(cè)量距離較短的應(yīng)用場(chǎng)景。激光位移傳感器通常采用三角測(cè)量法進(jìn)行距離測(cè)量,其基本工作原理為通過(guò)激光二極管等發(fā)出光束,光束經(jīng)過(guò)透鏡聚焦后透射到被測(cè)物體表面,被待測(cè)物體表面反射的激光經(jīng)過(guò)接收鏡組成像到傳感器內(nèi)置的光電成像器件(例如CCD陣列)上。通過(guò)該方式,可以將激光光源與待測(cè)物體表面之間的位移變化轉(zhuǎn)變?yōu)閭鞲衅鲀?nèi)置光電探測(cè)器上成像位置的變化。傳感器內(nèi)置的信號(hào)處理器通過(guò)幾何關(guān)系運(yùn)算,即可求得傳感器與待測(cè)物體表面的距離[12]。這類(lèi)傳感器造價(jià)相對(duì)低廉,且精度通常能達(dá)到微米量級(jí),適用于需要精密測(cè)量微小位移的場(chǎng)合。
本系統(tǒng)選用的激光位移傳感器為松下HLG103-S-J,該傳感器測(cè)量距離分辨率為0.5μm,光束大小僅為0.1mm×0.1mm,可實(shí)現(xiàn)高分辨率的采集。傳感器的測(cè)量中心距離及測(cè)量范圍分別為30mm和±4mm。因此,本傳感器可實(shí)現(xiàn)距離為26~34mm范圍內(nèi)的測(cè)量,最大可測(cè)量凹陷深度為8mm,足以滿足常見(jiàn)擊針痕跡采集應(yīng)用場(chǎng)景需求。
X/Y軸滑臺(tái)主要用于逐點(diǎn)采集過(guò)程中,對(duì)采集點(diǎn)的調(diào)整和控制。X/Y軸滑臺(tái)的精度和準(zhǔn)確度對(duì)三維痕跡模型的正確性具有至關(guān)重要的作用。工程設(shè)計(jì)中使用的電機(jī)類(lèi)型種類(lèi)繁多,而涉及到對(duì)電機(jī)轉(zhuǎn)角進(jìn)行精確控制的應(yīng)用場(chǎng)景中,常選用步進(jìn)電機(jī)或伺服電機(jī)。在本文應(yīng)用中對(duì)射擊彈殼底面數(shù)據(jù)進(jìn)行采集時(shí),涉及到滑臺(tái)位置的精確控制。因此,為提高數(shù)據(jù)采集質(zhì)量,采用THK高精度進(jìn)口十字滑臺(tái),滑臺(tái)有效行程50mm×35mm,運(yùn)動(dòng)范圍足以覆蓋彈殼底面。該滑臺(tái)X軸和Y軸滑軌導(dǎo)程均為2mm,定位精度高達(dá)±1μm,可對(duì)位移傳感器測(cè)量點(diǎn)實(shí)現(xiàn)高精度、高準(zhǔn)確度的控制。滑臺(tái)采用日本東方五相高精度步進(jìn)電機(jī)進(jìn)行控制,減少運(yùn)動(dòng)過(guò)程中的震動(dòng)對(duì)精度的影響,并可實(shí)現(xiàn)更高精度的細(xì)分控制,從而提升采集精度。對(duì)X/Y軸步進(jìn)電機(jī)的控制均選用韓國(guó)Autonics公司MD5-HF14型號(hào)五相步進(jìn)電機(jī)驅(qū)動(dòng)器。該驅(qū)動(dòng)器可實(shí)現(xiàn)超低速旋轉(zhuǎn),步進(jìn)角為0.72°,且最高可實(shí)現(xiàn)250細(xì)分的分辨率。為準(zhǔn)確定位起始點(diǎn)及防止電機(jī)超出行程范圍,X/Y軸的導(dǎo)軌起始點(diǎn)和極限位置均安裝有歐姆龍限位開(kāi)關(guān)。通過(guò)選用高精度、低震動(dòng)的滑臺(tái)、步進(jìn)電機(jī)及電機(jī)驅(qū)動(dòng)器,為高精度數(shù)據(jù)采集的提供硬件層面的保障。
Z軸電控位移臺(tái)主要用于調(diào)整彈殼底部平面與測(cè)量參考平面的相對(duì)位置。Z軸控制的少量誤差僅導(dǎo)致三維圖像整體凹陷深度變化,不會(huì)對(duì)痕跡特征有影響,因此對(duì)控制精度要求相對(duì)不如X/Y軸高。為降低成本,Z軸電控位移臺(tái)采用42兩相步進(jìn)電機(jī)控制國(guó)產(chǎn)XBC-1204直線滑軌,絲桿導(dǎo)程4mm。通過(guò)M6600兩相步進(jìn)驅(qū)動(dòng)器對(duì)滑臺(tái)進(jìn)行控制,可實(shí)現(xiàn)0.05mm的控制精度。
控制板卡需快速進(jìn)行大量點(diǎn)數(shù)據(jù)采集和處理,因此選用STM32F407ZET6單片機(jī)作為核心控制器。STM32F407系列單片機(jī)工作頻率高達(dá)168MHz,內(nèi)帶浮點(diǎn)運(yùn)算單元,具有較高的處理速度及運(yùn)算能力,并且具有豐富的通信端口,因此較適用于本應(yīng)用場(chǎng)景。控制板卡與激光位移傳感器之間通過(guò)RS485協(xié)議進(jìn)行配置參數(shù)及測(cè)量結(jié)果傳輸,具體的數(shù)據(jù)傳輸協(xié)議可參考松下HL-G103-S-J用戶手冊(cè)??刂瓢蹇ㄅc上位計(jì)算機(jī)之間通過(guò)RS232接口、基于自行設(shè)計(jì)的通信協(xié)議進(jìn)行控制指令及測(cè)量結(jié)果的交互,具體協(xié)議參考后文軟件設(shè)計(jì)相關(guān)內(nèi)容??刂瓢蹇ㄍㄟ^(guò)GPIO(General-Purpose Input/Output)引腳與3個(gè)滑臺(tái)的電機(jī)驅(qū)動(dòng)器之間相連,從而實(shí)現(xiàn)對(duì)滑臺(tái)電機(jī)運(yùn)動(dòng)方向和運(yùn)動(dòng)位置的精確控制。各滑臺(tái)限位開(kāi)關(guān)也通過(guò)單片機(jī)GPIO與控制板卡相連。硬件控制部分整體結(jié)構(gòu)如圖2所示。
圖2 硬件控制整體框圖
單片機(jī)程序采用C語(yǔ)言在KeiluVersion 5平臺(tái)下編寫(xiě),其主要任務(wù)是完成與激光位移傳感器之間的控制指令及測(cè)量數(shù)據(jù)傳輸、采集點(diǎn)相對(duì)坐標(biāo)控制及數(shù)據(jù)記錄,以及與上位計(jì)算機(jī)之間進(jìn)行控制指令及測(cè)量結(jié)果的傳輸。單片機(jī)與激光位移傳感器之間的數(shù)據(jù)交互參照松下HL-G1系列用戶手冊(cè)中所定義的通信規(guī)范進(jìn)行通信。而為了實(shí)現(xiàn)采集數(shù)據(jù)的準(zhǔn)確記錄及與上位機(jī)的準(zhǔn)確有序交互,需自行定義與上位機(jī)的數(shù)據(jù)傳輸協(xié)議。本系統(tǒng)中將每一次彈殼底面痕跡采集的所有數(shù)據(jù)定義為一幀。與上位計(jì)算機(jī)傳輸?shù)膮f(xié)議中,針對(duì)數(shù)據(jù)幀的起始位、采樣行數(shù)及列數(shù)參數(shù)、每行起始位及幀尾均采用特殊字符進(jìn)行定義,而每一點(diǎn)的測(cè)量結(jié)果采用固定長(zhǎng)度字符串進(jìn)行表示,以便于上位機(jī)在數(shù)據(jù)處理過(guò)程中能準(zhǔn)確對(duì)采集數(shù)據(jù)進(jìn)行解析。
單片機(jī)程序采用ST官方標(biāo)準(zhǔn)固件庫(kù)進(jìn)行開(kāi)發(fā),其工作流程圖如圖3所示??刂瓢蹇ㄉ想姾?,程序首先對(duì)系統(tǒng)時(shí)鐘、用于數(shù)據(jù)傳輸?shù)腞S232通信接口、用于讀取傳感器數(shù)據(jù)的RS485接口、以及電機(jī)和限位開(kāi)關(guān)的GPIO工作模式等進(jìn)行配置,并進(jìn)一步在限位開(kāi)關(guān)的輔助下,將X/Y/Z三軸滑臺(tái)調(diào)整到起始位置,完成對(duì)系統(tǒng)的初始化,等待用戶發(fā)送測(cè)量指令。具體實(shí)現(xiàn)時(shí),本系統(tǒng)配置將USART1的波特率設(shè)置為9600波特用于上傳數(shù)據(jù)到計(jì)算機(jī);將USART2的波特率設(shè)為為9600波特用于RS485與位移傳感器進(jìn)行通信。
圖3 單片機(jī)工作流程圖
當(dāng)用戶在載物臺(tái)上放置好待測(cè)射擊彈殼后,通過(guò)控制板卡上按鍵或者通過(guò)上位機(jī)發(fā)送啟動(dòng)測(cè)試指令,系統(tǒng)進(jìn)入測(cè)量過(guò)程。首先通過(guò)控制Z軸滑臺(tái)調(diào)整待測(cè)彈殼底部與激光位移傳感器之間距離,實(shí)現(xiàn)測(cè)量參考平面的確定。激光位移傳感器通常只在一定的距離范圍內(nèi)能實(shí)現(xiàn)精確測(cè)量,具體測(cè)量中心距離及測(cè)量動(dòng)態(tài)范圍與所選擇傳感器型號(hào)有關(guān)。本系統(tǒng)所選傳感器可實(shí)現(xiàn)以距離傳感器30mm為中心距離、±4mm動(dòng)態(tài)范圍內(nèi)的測(cè)量。為實(shí)現(xiàn)較大的動(dòng)態(tài)測(cè)量范圍并兼顧采集的準(zhǔn)確性,本系統(tǒng)通過(guò)Z軸滑臺(tái)使彈殼底平面距離傳感器27mm,從而實(shí)現(xiàn)27~34mm范圍內(nèi)的凹陷測(cè)量,而7mm的動(dòng)態(tài)范圍足以滿足常見(jiàn)擊針凹痕采集。激光位移傳感器的測(cè)量范圍通常從幾毫米到幾十厘米不等,如需進(jìn)一步提升動(dòng)態(tài)測(cè)量范圍,可選擇其他測(cè)量范圍更大的傳感器。
通過(guò)控制Z軸滑臺(tái)確定好測(cè)量參考平面后,進(jìn)一步控制X/Y軸滑臺(tái)調(diào)整傳感器與彈殼底部之間的相對(duì)位置,實(shí)現(xiàn)對(duì)彈殼底部與參考平面之間的距離進(jìn)行逐點(diǎn)測(cè)量,并將通過(guò)RS232接口將測(cè)量值上傳到上位計(jì)算機(jī)。在逐點(diǎn)測(cè)量過(guò)程中,滑臺(tái)移動(dòng)的步進(jìn)值,即采集精度,可根據(jù)采集精度要求和采集時(shí)間要求提前設(shè)置。當(dāng)所有點(diǎn)均測(cè)量完畢后,在限位開(kāi)關(guān)的輔助下,控制滑臺(tái)回到起始位置,結(jié)束采集過(guò)程。
上位計(jì)算機(jī)接收到控制板卡上傳的測(cè)量結(jié)果數(shù)據(jù)后,通過(guò)MATLAB對(duì)數(shù)據(jù)進(jìn)行分析處理,主要包含數(shù)據(jù)解析提取及三維圖形構(gòu)建兩部分。數(shù)據(jù)解析提取部分主要實(shí)現(xiàn)將單片機(jī)從下位控制板卡上傳到計(jì)算機(jī)的數(shù)據(jù)根據(jù)所設(shè)計(jì)的傳輸協(xié)議進(jìn)行解析,去除輔助字符串后,將相對(duì)測(cè)量參考平面的距離數(shù)據(jù)根據(jù)相對(duì)位置關(guān)系提取出來(lái)存儲(chǔ)數(shù)組中進(jìn)行后續(xù)數(shù)據(jù)處理。而三維圖形構(gòu)建部分則對(duì)數(shù)據(jù)中的數(shù)據(jù)進(jìn)行去噪處理后進(jìn)行三維圖形繪制和渲染,并根據(jù)用戶需要可動(dòng)態(tài)調(diào)整視角對(duì)擊針痕跡進(jìn)行觀察和比對(duì)。
3.3.1 數(shù)據(jù)解析
為便于后期數(shù)據(jù)處理及原始數(shù)據(jù)存檔,當(dāng)計(jì)算機(jī)通過(guò)串口接收到由單片機(jī)上傳的完整測(cè)量數(shù)據(jù)幀后,首先以字符串格式將接收到的數(shù)據(jù)存儲(chǔ)與硬盤(pán)上,再進(jìn)行進(jìn)一步的處理。在數(shù)據(jù)解析過(guò)程中,首先對(duì)數(shù)據(jù)幀中的幀頭、掃描參數(shù)(總行數(shù)及總列數(shù))、行掃描序號(hào)及起始標(biāo)志,以及掃描結(jié)束標(biāo)識(shí)等關(guān)鍵輔助信息進(jìn)行識(shí)別及解析。本系統(tǒng)中,采用固定特殊字符串對(duì)以上關(guān)鍵信息進(jìn)行標(biāo)識(shí),例如數(shù)據(jù)幀頭采用“FSTART*XXXX*YYYY*”固定格式標(biāo)注幀頭及掃描參數(shù),其中XXXX和YYYY代表4位整數(shù),分別用于標(biāo)識(shí)掃描總行數(shù)及總列數(shù)。因此,在使用MATLAB進(jìn)行三維重建時(shí),需要識(shí)別和定位文本文檔中的關(guān)鍵輔助信息,并將凹痕深度數(shù)據(jù)導(dǎo)入到MATLAB數(shù)組中。由于輔助信息采用固定的特殊字符串,因此數(shù)據(jù)解析過(guò)程主要采用strcmp和strsplit函數(shù)實(shí)現(xiàn)數(shù)據(jù)定位和分割。strcmp函數(shù)用于字符串比較,將對(duì)接收到的文本文件與協(xié)議約定的特殊關(guān)鍵輔助字符串進(jìn)行對(duì)比,從而實(shí)現(xiàn)對(duì)原始數(shù)據(jù)關(guān)鍵位置的定位,并進(jìn)一步采用strsplit函數(shù)進(jìn)行字符串和數(shù)據(jù)的分割。由于激光位移傳感器范圍的數(shù)據(jù)格式以“+”或“-”符號(hào)開(kāi)頭并緊接實(shí)際測(cè)量數(shù)據(jù),因此,可通過(guò)strsplit函數(shù)根據(jù)“+”或“-”將文檔中的字符串切分為單個(gè)測(cè)量數(shù)據(jù)。數(shù)據(jù)解析提取流程如圖4所示。
圖4 數(shù)據(jù)解析流程圖
3.3.2 三維圖形構(gòu)建
對(duì)擊針進(jìn)行三維建模的原理,是通過(guò)對(duì)擊針頭撞擊底火形成的凹痕進(jìn)行三維掃描后再反向建立擊針形狀模型。為提高后續(xù)操作的數(shù)據(jù)質(zhì)量與準(zhǔn)確性,盡管在硬件設(shè)計(jì)和單片機(jī)軟件設(shè)計(jì)過(guò)程中已盡量保證數(shù)據(jù)采集的精確性,但由于激光位移傳感器自身精度及控制系統(tǒng)步進(jìn)誤差等原因,通常導(dǎo)致采集到數(shù)據(jù)中存在一定的低頻噪聲或高頻噪聲數(shù)據(jù)。如直接將掃描數(shù)據(jù)進(jìn)行建模,必然會(huì)影響三維模型的精度和準(zhǔn)確度,不能完全準(zhǔn)確反映擊針頭形狀,從而影響后續(xù)痕跡檢驗(yàn)的正確率。因此,為達(dá)到更好的效果,通常需要采用一種或者多種濾波算法結(jié)合,在不影響數(shù)據(jù)準(zhǔn)確性的前提下(過(guò)度的數(shù)據(jù)濾波可能影響系統(tǒng)對(duì)突變凹陷的響應(yīng)),對(duì)原始數(shù)據(jù)進(jìn)行濾波處理,從而獲取相對(duì)穩(wěn)定無(wú)噪聲的數(shù)據(jù)用于實(shí)際的應(yīng)用系統(tǒng)。本系統(tǒng)為抑制采集噪聲干擾,在數(shù)據(jù)預(yù)處理時(shí),對(duì)數(shù)據(jù)歸一化處理后,采用中值濾波對(duì)數(shù)據(jù)進(jìn)行了濾波,然后按照數(shù)據(jù)點(diǎn)間的相對(duì)坐標(biāo)關(guān)系進(jìn)行拼接繪圖。經(jīng)過(guò)上述處理后,繪制效果如圖5所示。圖5所呈現(xiàn)的是彈殼內(nèi)部的透視圖,可清晰看出擊針撞擊底火所形成的凹陷痕跡。
圖5 初步預(yù)處理后三維效果
在圖5中,基于所采集的彈殼數(shù)據(jù)所構(gòu)建的三維圖形較好地還原了彈殼的形狀,但是由于逐點(diǎn)掃描測(cè)量過(guò)程中,X軸和Y軸滑軌移動(dòng)存在最小步進(jìn)值,因此,對(duì)圖5放大后可見(jiàn)一定的像素顆粒感。由于實(shí)際系統(tǒng)中,擊針通常不會(huì)存在明顯的形狀特殊突變,為更好地還原彈殼凹痕表面的平滑,進(jìn)一步對(duì)掃描數(shù)據(jù)進(jìn)行插值處理,從而更好地還原彈殼的原始形狀。為還原金屬?gòu)棜さ谋砻媪翝?,在進(jìn)行三維圖形構(gòu)建時(shí),對(duì)其表面加入了光線處理。具體而言,通過(guò)surfl指令進(jìn)行三維圖形繪制,并通過(guò)lighting phong指令使得構(gòu)建的三維圖形表面更加細(xì)膩,色彩更加豐富,而進(jìn)一步通過(guò)shading interp指令對(duì)彈殼的著色進(jìn)行色彩的插值處理,使其色彩過(guò)渡更加平滑。
為了對(duì)所設(shè)計(jì)的采集裝置及軟件的效果進(jìn)行評(píng)估,選用不同型號(hào)的多枚射擊彈殼進(jìn)行痕跡采集實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,本系統(tǒng)均能較好的采集痕跡細(xì)節(jié),并可根據(jù)需要呈現(xiàn)不同角度的三維圖像給使用者。基于采集到的某射擊彈殼在不同視覺(jué)角度下的三維重建效果圖如6~7所示。圖6很好地反映了擊針痕跡,可從不同角度看到擊針外形和細(xì)節(jié),圖7則從射擊彈殼底部的視角詳細(xì)的展示了射擊擊針凹痕、彈殼底部編號(hào)、痕跡等細(xì)節(jié)信息。綜上,基于三維痕跡采集系統(tǒng),使用者可非常清晰方便的從不同視角查看擊針痕跡細(xì)節(jié),有利于提升痕跡檢驗(yàn)的速度、精度及準(zhǔn)確度。
圖6 彈殼底火凹痕三維重建不同角度透視效果
圖7 彈殼底火凹痕三維重建不同角度俯視效果
通過(guò)STM32F407為核心的控制板卡對(duì)三維高精度電動(dòng)滑臺(tái)進(jìn)行控制,采用單點(diǎn)激光位移傳感器掃描獲取發(fā)射彈殼擊針痕跡原始數(shù)據(jù),設(shè)計(jì)噪聲處理以三維痕跡還原方法,構(gòu)建射擊擊針三維模型,用于彈殼痕跡檢驗(yàn),具有無(wú)損檢材痕跡、精確提取細(xì)微痕跡、降低痕跡檢驗(yàn)主觀性及提升檢驗(yàn)效率等優(yōu)點(diǎn),提高了擊針痕跡檢驗(yàn)的便捷性及準(zhǔn)確性。同時(shí),相對(duì)使用國(guó)外同類(lèi)痕跡采集產(chǎn)品,本系統(tǒng)降低了產(chǎn)品成本,并有利于提升國(guó)家刑事檢驗(yàn)等公安系統(tǒng)的保密性,對(duì)推動(dòng)痕跡檢驗(yàn)領(lǐng)域的自主研發(fā)也具有重要意義。
本文所設(shè)計(jì)的裝置完成了基礎(chǔ)數(shù)據(jù)的無(wú)損自動(dòng)化采集、數(shù)字化存儲(chǔ)和三維圖形化呈現(xiàn),后續(xù)可進(jìn)行不同方向的延伸研究,實(shí)現(xiàn)更多痕跡檢驗(yàn)工作的自動(dòng)化。此外,本系統(tǒng)雖然針對(duì)射擊彈殼擊針痕跡進(jìn)行設(shè)計(jì),但可輕松擴(kuò)展應(yīng)用到其他需要三維痕跡特征采集的領(lǐng)域,例如彈殼其他痕跡[13],線纜剪切痕跡檢驗(yàn)[14-15],保險(xiǎn)箱撬壓痕跡[16]等。