新聞動(dòng)態(tài)

News Center

如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器

發(fā)布日期:
2023-07-10

瀏覽次數(shù):


光電容積脈搏波法(PPG)是一種低成本,無(wú)創(chuàng)的光學(xué)技術(shù),可在皮膚表面進(jìn)行生理測(cè)量。其極廣泛的應(yīng)用之一是商用智能手表和運(yùn)動(dòng)手環(huán)中包含的可穿戴心率傳感器,它在日常環(huán)境下可提供舒適和連續(xù)的脈搏監(jiān)測(cè)。本文演示了如何在 Zemax OpticStudio 中對(duì)人體皮膚建模以進(jìn)行生理測(cè)量,并說(shuō)明了使用 ZOS-API 對(duì)基于 PPG 的心率傳感器進(jìn)行的時(shí)間相關(guān)模擬。


01

簡(jiǎn)介



PPG 器件由紅外或可見(jiàn)光波長(zhǎng)范圍內(nèi)的發(fā)光二極管 (LED) 和光電探測(cè)器組成。它們提供了一種簡(jiǎn)單的光學(xué)技術(shù)來(lái)檢測(cè)組織中的血容量變化,因?yàn)檠罕戎車(chē)慕M織對(duì)光具有更強(qiáng)烈地吸收和散射效應(yīng)。因此,血液的脈動(dòng)將導(dǎo)致檢測(cè)器信號(hào)發(fā)生相反的相位變化。本文介紹如何在 OpticStudio 中模擬人體皮膚組織模型,并演示如何使用 ZOS-API 應(yīng)用程序模擬 PPG 設(shè)備隨時(shí)間推移的測(cè)量信號(hào)。


02

基礎(chǔ)設(shè)計(jì)



PPG 傳感器可設(shè)計(jì)為反射或透射模式。由于光的穿透深度取決于其波長(zhǎng),因此綠色和黃色 LED 光線(xiàn)極適合在淺表血流中進(jìn)行測(cè)量,并且通常以反射模式使用。另一方面,紅外和近紅外波長(zhǎng)更適合測(cè)量深層組織血流,可用于透射模式。在次案例中,我們展示了一個(gè)反射 PPG 設(shè)備。


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


我們的目標(biāo)是根據(jù)相關(guān)文獻(xiàn)中發(fā)表的數(shù)據(jù)開(kāi)發(fā)一個(gè)逼真的皮膚模型。因此,我們打算應(yīng)用某種波長(zhǎng),通常設(shè)置為對(duì)應(yīng)皮膚和血液的光學(xué)參數(shù)在文獻(xiàn)中廣泛可見(jiàn)的波長(zhǎng),并且也接近商業(yè)設(shè)備中極常用的波長(zhǎng)。因此,我們建模選擇了 575nm 的波長(zhǎng),并使用 QSMF-C160 LED (Avago Technologies) 作為光源。此 LED 的模型可以直接從 Radiant Source Model 數(shù)據(jù)庫(kù)下載,并且可以通過(guò)從 Radiant Source Model 文件生成的光線(xiàn)來(lái)創(chuàng)建光源文件。此功能在 OpticStudio 的旗艦版中可用,知識(shí)庫(kù)文章?如何使用 RSMX 光源模型生成光線(xiàn)集(https://support.zemax.com/hc/zh-cn/articles/1500005487321)?中詳細(xì)討論了該過(guò)程。


03

人體皮膚建模



為了模擬人體組織介質(zhì)中的光傳輸,我們創(chuàng)建了分層皮膚模型,該模型考慮了表皮、真皮和皮下脂肪的組織結(jié)構(gòu)。由于此例的主要目標(biāo)是模擬基于 PPG 的心率傳感器,其中關(guān)鍵點(diǎn)是測(cè)量由血液脈動(dòng)引起的變化,因此我們專(zhuān)注于準(zhǔn)確地建??梢杂^(guān)察到這種脈動(dòng)的皮膚層。因此,我們分別對(duì)不同血含量值的真皮亞層進(jìn)行建模,即真皮乳頭層、毛細(xì)血管下皮層、上層血網(wǎng)真皮層、網(wǎng)狀真皮層和深部血網(wǎng)真皮層。另一方面,由于表皮中沒(méi)有血液含量,為了保持模型簡(jiǎn)單我們只使用一個(gè)厚表皮層,它包含所有角質(zhì)層、顆粒層、棘層和基底層。然后,與大多數(shù)已發(fā)布的皮膚模型類(lèi)似,我們也用一層結(jié)構(gòu)表示皮下脂肪。


上述所有皮膚層在 OpticStudio 中都建模為矩形物體,每層的厚度值基于文獻(xiàn)數(shù)據(jù),通過(guò)使得側(cè)面沒(méi)有漏光的方式來(lái)確定橫截面的尺寸。通過(guò)使用上一個(gè)層作為參考對(duì)象并對(duì)上一個(gè)層的 Z 長(zhǎng)度單元格中的 Z 位置值應(yīng)用 Pickup 求解來(lái)放置后續(xù)層結(jié)構(gòu)。該解決方案確保了各層結(jié)構(gòu)緊貼在一起,之間沒(méi)有任何間隙。


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


自定義組織層結(jié)構(gòu)

由于本案例研究?jī)H依賴(lài)于文獻(xiàn)中發(fā)表的數(shù)據(jù),因此我們?cè)谡麄€(gè)建模過(guò)程中并未進(jìn)行任何新的測(cè)量。盡管模型參數(shù)基于已發(fā)布的數(shù)據(jù),但需要注意的是,人體皮膚的光學(xué)參數(shù)在不同人群中可能存在明顯差異。因此,特定主題可能需要使用不同的參數(shù)。所以,如果您的特定應(yīng)用可以獲得更準(zhǔn)確的數(shù)據(jù),請(qǐng)制定相應(yīng)的組織結(jié)構(gòu)模型。


詳細(xì)表示皮膚中的所有每條血管將需要添加數(shù)百個(gè)具有復(fù)雜空間排列的物體,并且會(huì)降低模型的通用性,因此這種類(lèi)型的建模在文獻(xiàn)中并不進(jìn)行考慮,所以我們也沒(méi)有應(yīng)用這種建模方式。相反,我們通過(guò)計(jì)算血液和周?chē)M織結(jié)構(gòu)的光學(xué)參數(shù)的加權(quán)平均值來(lái)考慮不同皮膚層的血液含量。


因此,我們基于以下原始數(shù)據(jù),使用 OpticStudio 中的模型材料求解對(duì)表皮層的材料進(jìn)行了建模:


皮膚層結(jié)構(gòu)

575 nm?波長(zhǎng)

折射率

血液含量?[%]

活表皮

1.45

0

真皮層

1.40

2

上層血網(wǎng)真皮層

1.40

5

網(wǎng)狀真皮層

1.40

1

深層血網(wǎng)真皮層

1.40

5

皮下脂肪

1.44

5

血液

1.35

n/a

如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


人體組織中的體散射

Henyey-Greenstein 分布函數(shù)可以準(zhǔn)確描述混濁介質(zhì)(例如生物組織)中小顆粒的光線(xiàn)散射。Henyey-Greenstein 模型只有一個(gè)自由參數(shù),即各向異性因子 g。該參數(shù)的域區(qū)間為 [-1, 1],其中 g=-1 對(duì)應(yīng)反向散射,g=0 表示各向同性散射,g=1 表示正向散射。散射光的角度分布定義為:


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


在 OpticStudio 的非序列模式下,Henyey-Greenstein 體散射模型以 DLL (Henyey-Greenstein-bulk.DLL) 的形式提供,包含在 OpticStudio 安裝文件中。知識(shí)庫(kù)文章?使用 Henyey-Greenstein 分布對(duì)體散射進(jìn)行建模(https://support.zemax.com/hc/zh-cn/articles/1500005577062)?對(duì)模型進(jìn)行了進(jìn)一步的解釋以及對(duì) DLL 進(jìn)行了全面分析。此外,有關(guān) OpticStudio 中表面和體散射模型的詳細(xì)討論可以在此知識(shí)庫(kù)文章中找到:OpticStudio 中有哪些可用散射模型?(https://support.zemax.com/hc/zh-cn/articles/1500005575662)


在文章附件的多層皮膚模型中,每一層的散射參數(shù)都是根據(jù)文獻(xiàn)中給出的實(shí)際值設(shè)置的。雖然 Henyey-Greenstein 散射 DLL 的輸入?yún)?shù)是平均路徑、傳輸分?jǐn)?shù)和各向異性參數(shù) g,但在文獻(xiàn)中通常散射和吸收系數(shù)分別定義為 μs 與 μa,與各向異性因子一起展示。因此,我們使用以下公式來(lái)計(jì)算模型的輸入?yún)?shù):


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


類(lèi)似地,與之前的折射率、散射和吸收系數(shù)以及不同皮膚層的各向異性因子一樣,為血液和組織其余部分相應(yīng)值的加權(quán)平均值進(jìn)行計(jì)算,以下為對(duì)應(yīng)于 575 nm 應(yīng)用波長(zhǎng)的原始數(shù)據(jù):


皮膚層結(jié)構(gòu)

μa

[1/mm]

μs

[1/mm]

g [-]

活皮層

1

20

0.79

真皮層

0.28

21.5

0.79

上層血網(wǎng)真皮層

0.28

21.5

0.79

網(wǎng)狀真皮層

0.28

21.5

0.79

深層血網(wǎng)真皮層

0.28

21.5

0.79

皮下脂肪

0.081

1.396

0.75

血液

32.4

50

0.98

如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


多層皮膚模型和組織中的光線(xiàn)傳輸顯示在下面的?3D?布局圖中。為了說(shuō)明每個(gè)皮層的散射情況,光線(xiàn)在圖上按光線(xiàn)分段著色。


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


為了提供除顯示圖之外的數(shù)值結(jié)果,我們?cè)谠O(shè)計(jì)中添加了三個(gè)矩形探測(cè)器。它們與皮膚表面之間被一個(gè)薄薄的空氣間隙隔開(kāi)(出于非序列模式建模嵌套規(guī)則的考慮)。兩個(gè)探測(cè)器具有與皮膚層相同的截面尺寸,一個(gè)朝向光源,另一個(gè)朝向皮膚模型,以分別測(cè)量所有入射光和背向散射光供后續(xù)參考。第三個(gè)探測(cè)器是一個(gè)同樣面向皮膚的小探測(cè)器 (2mm x 2mm),代表了 PPG 設(shè)備中的典型光電探測(cè)器。


上述設(shè)計(jì)可以在文章附件 (skinModel.zar) 中找到,當(dāng)測(cè)量/模擬與時(shí)間依賴(lài)性不相關(guān)時(shí),它可以用作現(xiàn)成的皮膚模型。另一方面,對(duì)時(shí)間相關(guān)效應(yīng)建模的方法——例如,在心率傳感器的應(yīng)用情況下——將在下一節(jié)中討論。



04

模擬心率傳感器



為了模擬心率監(jiān)測(cè),我們可以使用 ZOS-API 來(lái)模擬組織中的脈動(dòng)血流。我們通過(guò)調(diào)整皮膚層的血液含量來(lái)模擬心臟周期的不同階段,然后我們檢查探測(cè)到的背散射光作為時(shí)間步長(zhǎng)的函數(shù),將各層血液含量的時(shí)間變化通過(guò)倍增因子考慮在內(nèi),假設(shè)血容量在每一層中按比例且同時(shí)變化。在這個(gè)例子中,我們使用 Python API(通過(guò) .NET 連接到 OpticStudio)來(lái)修改模型參數(shù),使用微調(diào)設(shè)置運(yùn)行光線(xiàn)追跡,然后分析和繪制結(jié)果。應(yīng)用到的 Python 程序腳本可以從文章附件 (PPGsimulation.py) 下載。


通過(guò) API 修改人體組織參數(shù)

根據(jù)文獻(xiàn),當(dāng)心臟在收縮期將血液泵入血管時(shí),皮膚層的相對(duì)血液含量會(huì)翻倍。我們使用經(jīng)驗(yàn)函數(shù)來(lái)表征這種脈動(dòng),下圖顯示了 5 個(gè)心臟周期的結(jié)果(10步長(zhǎng)/周期)。


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


基于此,我們首先計(jì)算了每一層的血液含量,然后我們相應(yīng)地更新了折射率、平均自由程、透射率和Henyey-Greenstein 散射分布的各向異性因子 g。對(duì)應(yīng)的Python代碼如下:

layer = TheNCE.GetObjectAt(layerNum)
solver = layer.MaterialCell.CreateSolveType(ZOSAPI.Editors.SolveType.MaterialModel)
solver._S_MaterialModel.IndexNd = n
layer.MaterialCell.SetSolveData(solver)
volPhysData = layer.VolumePhysicsData
volPhysData.ModelSettings._S_DLLDefinedScattering.MeanPath = meanPath
volPhysData.ModelSettings._S_DLLDefinedScattering.SetParameterValue(0, transmission)
volPhysData.ModelSettings._S_DLLDefinedScattering.SetParameterValue(1, g)


結(jié)尾處,我們對(duì)每個(gè)時(shí)間步長(zhǎng)運(yùn)行光線(xiàn)追跡,并從對(duì)應(yīng) PPG 的小尺寸探測(cè)器中提取結(jié)果,即光線(xiàn)命中總數(shù)和吸收功率。為了提高光線(xiàn)追跡速度,我們應(yīng)用了簡(jiǎn)單光線(xiàn)分裂 (Simple Ray Splitting),其細(xì)節(jié)在知識(shí)庫(kù)文章?什么是簡(jiǎn)單光線(xiàn)分裂?(https://support.zemax.com/hc/zh-cn/articles/1500005575742)中進(jìn)行了討論。光線(xiàn)追跡和數(shù)據(jù)提取可以使用以下 Python 命令完成:

NSCRayTrace = TheSystem.Tools.OpenNSCRayTrace()
NSCRayTrace.ClearDetectors(0)
NSCRayTrace.SplitNSCRays = True
NSCRayTrace.ScatterNSCRays = True
NSCRayTrace.UsePolarization = True
NSCRayTrace.IgnoreErrors = True
NSCRayTrace.SaveRays = False
NSCRayTrace.Run()
NSCRayTrace.WaitForCompletion()
NSCRayTrace.Close()

hits = -3 # pixel =-3 for total hits
power = 0 # pixel = 0 for total power
Data = 0
hits_bool_return, total_hits = TheNCE.GetDetectorData(detectorNum, hits, Data, 0)
power_bool_return, total_power = TheNCE.GetDetectorData(detectorNum, power, Data, 0)


05

結(jié)果



由于血液的吸收和散射系數(shù)比組織的其余部分大得多,因此血液含量越高,背散射光能量越低,檢測(cè)器的測(cè)量功率也越低,反之亦然。根據(jù)我們的模擬,在每個(gè)時(shí)間步長(zhǎng)使用 1W 的光源和 105 條分析光線(xiàn),建模的血含量脈動(dòng)導(dǎo)致檢測(cè)器信號(hào)發(fā)生 10~15% 的變化,如下圖所示。


如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器


這些結(jié)果與文獻(xiàn)中的實(shí)驗(yàn)觀(guān)察結(jié)果非常吻合。在商用心率傳感器中,作為后處理的一部分,通常會(huì)對(duì)該數(shù)據(jù)應(yīng)用簡(jiǎn)單的信號(hào)處理算法。第 一步是對(duì)噪聲信號(hào)進(jìn)行平滑處理,然后計(jì)算每分鐘超過(guò)某個(gè)預(yù)定義閾值的峰值數(shù)來(lái)計(jì)算心率。


參考文獻(xiàn)

1. Maeda, et al. Monte Carlo simulation of spectral reflectance using a multilayered skin tissue model. Optical Review (2010)

2. Sinichkin, et al. In vivo fluorescence spectroscopy of the human skin: experiments and models. Journal of Biomedical Optics (1998)

3. Meglinski, Matcher. Quantitative assessment of skin layers absorption and skin reflectance spectra simulation in the visible and near-infrared spectral regions. Physiological Measurement (2002)

4. Doronin, et al. Assessment of the calibration curve for transmittance pulse-oximetry. Laser Physics (2011)

5. Meglinski. Monte Carlo simulation of reflection spectra of random multilayer media strongly scattering and absorbing light. Quantum Electronics (2001)


相關(guān)閱讀

光學(xué) | 新Ansys Zemax助力高科技應(yīng)用創(chuàng)建高保真度設(shè)計(jì)

探究 Zemax OpticStudio偏振分析功能

如何利用 Zemax OpticStudio 模擬 AR 系統(tǒng)中的全息光波導(dǎo)

在 Zemax OpticStudio 中建立增強(qiáng)現(xiàn)實(shí)頭戴式顯示器

如何在Zemax OpticStudio用戶(hù)自定義表面真實(shí)建模衍射式人工晶狀體透鏡

如何在 OpticStudio 中建模人體皮膚以及光學(xué)心率探測(cè)器



相關(guān)推薦

Zemax手機(jī)鏡頭設(shè)計(jì) | 第四部分:結(jié)合 LS-DYNA 進(jìn)行沖擊碰撞性能分析
Ansys Optics本文是系列文章的第四部分,作為延展。該系列文章將...
LS-DYNA | 如何查找和消除初始穿透?
01.摘要本文介紹了何為交叉和穿透,和幾種不同的穿透類(lèi)型。注:尤其不要混...
Maxwell如何將傅里葉變換結(jié)果參數(shù)化
電機(jī)的優(yōu)化設(shè)計(jì)問(wèn)題永遠(yuǎn)也繞不開(kāi)對(duì)諧波的優(yōu)化,雖然Maxwell后處理中自...
LS-DYNA隱式計(jì)算使用技巧 | 檢查清單
01.摘要本文介紹了LS-DYNA隱式計(jì)算的一些技巧,即在隱式求解前的一...