新聞動態(tài)

News Center

如何在 OpticStudio 中建模人體皮膚以及光學心率探測器

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

瀏覽次數(shù):


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


01

簡介



PPG 器件由紅外或可見光波長范圍內(nèi)的發(fā)光二極管 (LED) 和光電探測器組成。它們提供了一種簡單的光學技術來檢測組織中的血容量變化,因為血液比周圍的組織對光具有更強烈地吸收和散射效應。因此,血液的脈動將導致檢測器信號發(fā)生相反的相位變化。本文介紹如何在 OpticStudio 中模擬人體皮膚組織模型,并演示如何使用 ZOS-API 應用程序模擬 PPG 設備隨時間推移的測量信號。


02

基礎設計



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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


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


03

人體皮膚建模



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


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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


自定義組織層結構

由于本案例研究僅依賴于文獻中發(fā)表的數(shù)據(jù),因此我們在整個建模過程中并未進行任何新的測量。盡管模型參數(shù)基于已發(fā)布的數(shù)據(jù),但需要注意的是,人體皮膚的光學參數(shù)在不同人群中可能存在明顯差異。因此,特定主題可能需要使用不同的參數(shù)。所以,如果您的特定應用可以獲得更準確的數(shù)據(jù),請制定相應的組織結構模型。


詳細表示皮膚中的所有每條血管將需要添加數(shù)百個具有復雜空間排列的物體,并且會降低模型的通用性,因此這種類型的建模在文獻中并不進行考慮,所以我們也沒有應用這種建模方式。相反,我們通過計算血液和周圍組織結構的光學參數(shù)的加權平均值來考慮不同皮膚層的血液含量。


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


皮膚層結構

575 nm?波長

折射率

血液含量?[%]

活表皮

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 中建模人體皮膚以及光學心率探測器


人體組織中的體散射

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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


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


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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


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


皮膚層結構

μ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 中建模人體皮膚以及光學心率探測器


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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


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


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



04

模擬心率傳感器



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


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

根據(jù)文獻,當心臟在收縮期將血液泵入血管時,皮膚層的相對血液含量會翻倍。我們使用經(jīng)驗函數(shù)來表征這種脈動,下圖顯示了 5 個心臟周期的結果(10步長/周期)。


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


基于此,我們首先計算了每一層的血液含量,然后我們相應地更新了折射率、平均自由程、透射率和Henyey-Greenstein 散射分布的各向異性因子 g。對應的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)


結尾處,我們對每個時間步長運行光線追跡,并從對應 PPG 的小尺寸探測器中提取結果,即光線命中總數(shù)和吸收功率。為了提高光線追跡速度,我們應用了簡單光線分裂 (Simple Ray Splitting),其細節(jié)在知識庫文章?什么是簡單光線分裂?(https://support.zemax.com/hc/zh-cn/articles/1500005575742)中進行了討論。光線追跡和數(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

結果



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


如何在 OpticStudio 中建模人體皮膚以及光學心率探測器


這些結果與文獻中的實驗觀察結果非常吻合。在商用心率傳感器中,作為后處理的一部分,通常會對該數(shù)據(jù)應用簡單的信號處理算法。第 一步是對噪聲信號進行平滑處理,然后計算每分鐘超過某個預定義閾值的峰值數(shù)來計算心率。


參考文獻

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)


相關閱讀

光學 | 新Ansys Zemax助力高科技應用創(chuàng)建高保真度設計

探究 Zemax OpticStudio偏振分析功能

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

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

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

如何在 OpticStudio 中建模人體皮膚以及光學心率探測器



相關推薦

【Lumerical系列】無源器件-復用器件(3)丨模式(解)復用器
本期是Lumerical系列中無源器件專題-復用器件的第三期,涉及的器件...
Ansys 2024 R2-Ansys 光學與光子學仿真新功能介紹——Speos
1. 光學設計交換增強功能1.1 在2024 R1版本中引入的光學設計交...
Ansys 2024 R2-Ansys 光學與光子學仿真新功能介紹——Zemax
1. 離軸孔徑和RSI的公差操作數(shù)OpticStudio 將添加Zern...
Ansys 2024 R2-Ansys 光學與光子學仿真新功能介紹——Lumerical
Lumerical 新功能介紹1. CMOS圖像傳感光子逆向設計的改進1...