Radiant Solution

[Speos] SimAI 및 pySpeos 활용 Light Guide 최적화 본문

카테고리 없음

[Speos] SimAI 및 pySpeos 활용 Light Guide 최적화

래디언트솔루션 2026. 9. 7. 16:13

 SimAI  pySpeos 활용 Light Guide 최적화

Design & Validation of Optical Systems
 Software Team | 
Radiant Solution

(※ 원문 출처 : Lighting Map Prediction with Ansys Optics and SimAI – Ansys Optics)

 

본 메뉴얼에서는 파이썬 라이브러리로 제공되는 물리 기반 광학 시뮬레이션 엔진인 pySpeos과거 엔지니어링 및 시뮬레이션 데이터를 기반으로 훈련된 물리 법칙에 구애받지 않는 기계 학습 모델인 SimAI를 통합한 하이브리드 시뮬레이션 방법론을 소개합니다.
이러한 통합 워크플로우를 통해 사실적인 광분포도를 신속하고 자동으로 생성할 수 있을 뿐만 아니라반복적이고 시간이 많이 소요되는 광학 시뮬레이션의 필요성을 대폭 줄일 수 있습니다.
해당 예제를 통해 Speos 시뮬레이션 환경 설정, 훈련 데이터셋 구축, 데이터 생성 워크플로우 자동화, 그리고 이전에 본 적 없는 설계나 경계 조건 입력에 대한 새로운 조명 예측 결과 생성을 포함한 전 과정에 대해 설명합니다.



 



Overview
시뮬레이션 워크플로우와 주요 결과에 대한 이해

 

감성적 품질정량적 성능 및 Spec/법규 준수 여부를 조기에 그리고 빈번하게 평가해야 하는 산업 분야에서는 급변하는 설계 요구 사항과 고객 피드백에 유연하게 대응하는 것이 매우 중요합니다.
전통적으로 광학 설계의 개발 및 평가는 물리 기반 광선 추적 시뮬레이션에 크게 의존해 왔는데이 과정에는 막대한 시뮬레이션 소요시간은 물론숙련된 광학 설계 엔지니어와 전담 시뮬레이션 전문가들의 협력이 필요합니다.
복잡한 형상이나 여러 물리 현상의 상호작용 등으로 인해 모델의 복잡성이 증가한다면시뮬레이션 실행 시간이 몇 시간에서 며칠로 늘어날 수 있습니다.
이러한 병목 현상은 시제품 제작 속도를 늦추고견적 요청(RFQ)에 대한 응답 및 설계 평가를 지연시킵니다.

 

 

타겟 조명 영역과조명 영역에 광 분포 패턴을 생성하기 위해 프리즘리플렉터렌즈 등의 광학계를 포함하는 하나 이상의 조명 광학 파트로 구성된 고전적인 광학 구성

 

이러한 과제를 해결하기 위해, Ansys Optics(, Speos, pySpeos  SimAI)를 활용한 새로운 데이터 기반 접근 방식은 기존의 고정밀 워크플로우에 대한 대안이자 강력한 솔루션을 제공합니다.
특히기존의 광학 데이터나 시뮬레이션 데이터를 기반으로 훈련된 기계 학습 모델을 통합함으로써그렇지 않았다면 반복적인 시뮬레이션이 필요했을 예측 작업을 가속화할 수 있는 새로운 길이 열립니다.

다음은 Speos pySpeos를 사용하여 훈련 데이터를 준비하고, SimAI에서 모델을 학습하며, optiSLang에서 데이터를 준비하는 자동화된 워크플로우를 거쳐학습된 모델을 활용해 광분포도를 예측하기 위해 따를 단계들 입니다 :

 

Note : 시작하기 전아래와 같이 각 소프트웨어들이 설치되어 있어야 합니다.

  • Ansys Speos 2025R2 or higher
  • Speos RPC 2025R2 or higher
  • Python 3.10 or higher
  • SimAI
  • optiSLang 2025R2 or higher

Step 1 : 광학 모델 준비 (Speos)

기존의 광학 시뮬레이션 프로젝트 또한 훈련 데이터 풀 확보에 필수이지만본 문서에서는 SimAI 모델 훈련을 위한 프로젝트가 없거나 충분하지 않은 경우에 중점을 둘 것입니다.
본 단계에서는 Speos를 사용하여 광학 시스템과 광분포도 결과를 준비하며해당 결과들로 이후 새로운 조건에서 학습 및 예측에 활용됩니다.

Step 2 : SimAI 훈련 데이터셋 생성 (pySpeos)

SimAI VTP 형식의 훈련 데이터가 필요하기 때문에여기서는 pySpeos를 사용하여 준비된 시뮬레이션을 계산하고 시뮬레이션 데이터 결과를 VTP 파일로 내보냅니다한편, SimAI “변수 입력 “예측 대상 출력” 간의 관계를 이해하는 지식을 구축하기 위해 여러 훈련 데이터셋의 입력이 필요합니다.
따라서여러 개의 훈련 데이터셋을 생성하기 위해 이 단계를 여러 번 반복하게 됩니다.
일반적으로 SimAI에 제공되는 데이터셋이 많을수록훈련된 모델의 예측 성능은 더욱 향상됩니다.

보통 각 데이터셋은 (1) 형상 정의 SimAI에서 요구하는 데이터 형식인 VTP 메쉬, (2) 이러한 VTP 메쉬에 매핑된 시뮬레이션 출력값그리고 (3) 선택적으로 광학 시스템의 구성을 정의하는 주요 경계 조건 및 매개변수 설정(JSON 파일 형식)으로 구성됩니다.
 PySpeos
 Speos 결과 파일을 기반으로 VTP 형식의 데이터셋 형태로 광분포도휘도 분포 및 계측값을 생성합니다.
관련된 모든 정보를 VTP 내의 CAD 데이터와 값으로 표현할 수 있다면, JSON 파일을 포함할 필요는 없습니다.

본 예제에서는 각 데이터셋에 VTP 파일과 JSON 파일이 모두 포함되어 있는 경우에 초점을 맞출 것입니다.

 

Step 3 : 데이터셋 생성을 위한 자동 워크플로우 (optiSLang)

광학 시스템에 여러 개의 CAD가 포함된 경우매개변수 범위를 sweep하기 위해 복잡한 워크플로우가 필요한 광학 매개변수들이 있습니다.
 optiSLang
의 자동 워크플로우는 정교한 표본 추출 전략을 바탕으로 이러한 매개변수의 조합을 체계적으로 생성하여 SimAI에 사용할 데이터를 준비합니다.

 

Step 4 : SimAI 모델 훈련 및 최적화 (SimAI)

SimAI는 물리 모델에 완전히 독립적이므로이 플랫폼은 광학 기반 방정식을 명시적으로 코딩할 필요가 없으며대신 입력-출력 데이터 쌍으로부터 기초가 되는 물리적 관계를 직접 추론합니다. VTP 파일이 훈련 데이터 풀에 업로드되면유저는 입력 변수목표 예측 변수 및 훈련 기간을 선택하여 훈련 모델을 구성할 수 있습니다. VTP 파일의 형상 변화와 JSON 파일의 스칼라 변화에서 비롯된 입력 값들이 학습됩니다.

SimAI는 클라우드 기반의 SaaS(Software as a Service) 플랫폼으로 운영되어고성능 하드웨어가 필요 없으며 협업 워크플로우신속한 배포 및 확장 가능한 컴퓨팅 리소스를 제공합니다.
 (
※ 그리고 올해(2026초에 이미 로컬 PC 버전도 출시되었습니다.)
또한이 플랫폼은 Python SDK(PySimAI)를 제공하여유저가 고급 또는 자동화된 워크플로우를 위해 모델 생성학습 및 추론 과정을 스크립트로 작성할 수 있도록 합니다.

 

Step 5 : 새로운 CAD/경계 조건을 적용한 예측 (SimAI)

훈련된 SimAI 모델을 통해 유저는 새로운 형상 데이터(VTP 또는 STP 파일)나 새로운 스칼라 데이터(JSON)를 제공하여 목표 예측 결과를 생성할 수 있습니다.
 SimAI
는 새로운 스칼라 값이나 경계 조건을 제공함으로써 이 JSON 데이터를 읽어들이고스칼라 입력값을 처리한 뒤업데이트된 시스템 상태에 상응하는 새로운 2D/3D 조명 예측 결과를 생성합니다.
관련 설계 매개변수를 형상 자체에 인코딩할 수 있는 경우, SimAI는 이러한 형상에 내장된 매개변수를 활용하여 업데이트된 CAD 입력 데이터로부터 직접 정확한 조명 예측 결과를 생성할 수 있습니다.

 

Run and results
모델 실행 방법 및 주요 결과에 대한 고찰

Step 1: 광학 모델 준비

본 예제는 Interior Lightguide Optimization(클릭!)의 예제를 활용합니다.

이 프로젝트의 광학 시스템은 프리즘 기반의 Light-guide, Light-guide의 한쪽 입광부에 배치된 LED 광원으로 구성되어 있습니다.
프리즘은 Speos Optical Part Design을 사용하여 프리즘 관련 매개변수를 설정함으로써 정의됩니다.
아래 그림과 같이휘도 센서는 Light-guide를 통해 버튼 쪽의 조명 표면으로 전달되는 광분포를 계측하는 데 사용됩니다.

 

휘도 센서 계측 결과

이 예제에서는 스칼라 Light-guide OPD 매개변수를 입력으로 사용하고휘도 센서 XMP 결과에서 도출된 광분포도를 예측 목표로 잡겠습니다.

 

Light-guide 프리즘 설계 매개변수

Step 2 : 광학 시뮬레이션 및 데이터셋 생성

시뮬레이션 설정이 완료되면시뮬레이션을 *.speos 파일로 내보내기를 클릭하고스크립트를 실행하면 시뮬레이션이 계산되며 결과 XMP 파일이 VTP 형식으로 내보내집니다.

따라서필요한 모든 구동 입력값(, OPD Light-guide 매개변수)가 포함된 JSON과 출력 대상(광분포도)이 포함된 VTP를 사용할 것입니다.
 Light-guide 
형상 등과 같은 기타 정보는 포함할 필요가 없습니다.
결과적으로이 예제에서 각 데이터셋은 (1) 아래와 같이 휘도 센서 측정값을 평면형 VTP로 변환한 VTP 파일과, (2) 주요 매개변수 설정 OPD Light-guide 프리즘 매개변수가 포함된 JSON 파일로 구성됩니다.

유저는 다양한 Light-guide 프리즘 설계 매개변수를 사용하여 이러한 VTP  JSON 훈련 데이터셋을 여러 개 생성해야 합니다.

 

휘도 센서 측정 결과가 포함된 평면 표면을 담은 VTP 파일 예시

SimAI의 요구 사항에 따라각 데이터셋에 대해 내보낸 VTP 파일의 이름은 “surface.vtp”, JSON 파일의 이름은 “boundary.json”으로 지정해야 한다는 점에 유의하시기 바랍니다.

Step 3 : 자동화된 데이터 생성

기존 데이터를 이용할 수 없고유저가 새로운 설계를 생성하는데 거부감이 없다면설계 탐색민감도 분석 및 최적화를 위한 강력한 플랫폼인 optiSLang을 활용하여 자동 데이터 생성 워크플로우를 통합할 수 있습니다.

 

SimAI 데이터 자동 생성을 위한 Ansys optiSLang 워크플로우

상기 워크플로우에서는 형상 치수재질 특성광원 특성 등과 같은 광학 시스템 매개변수들이 optiSLang 내에서 정량값으로서 가변 할 매개변수로 정의됩니다.
그런 다음 OptiSLang Latin Hypercube Sampling, 몬테카를로 방법 또는 실험 계획법(DoE) 기법 등 고급 샘플링 전략을 바탕으로 이러한 매개변수의 조합을 체계적으로 생성합니다내부에 포함된 파이썬 노드를 사용하여생성된 각 매개변수 세트는 pySpeos로 자동으로 내보내져 고정밀도 광선 추적 시뮬레이션이 수행되며그 결과물은 VTP  JSON 파일로 변환됩니다.

상기 워크플로우에는 다음과 같은 노드들이 포함되어 있습니다 :



1. Batch script (Batch node) : 필요한 pySpeos 모듈이 설치되어 있는지 확인하고, 설치되어 있지 않으면 설치합니다.
@echo off
REM Set the path to optislang-python.cmd
SET OPTISLANG_PYTHON="C:\Program Files\ANSYS Inc\v261\optiSLang\optislang-python.cmd"
echo Installing ansys-speos-core...
%OPTISLANG_PYTHON% -m pip install ansys-speos-core -vvv
2. Script text input node : 형상 변형으로 표현되지 않는 스칼라 설계 변형(예: 재질 유형)을 적용합니다. 본 예제에서는 해당 노드가 필요하지는 않습니다.
3. CAD node : CAD 소프트웨어와 연결하여 형상 매개변수를 적용하고, 업데이트된 CAD 설계 출력을 생성합니다. 본 예제에서는 Speos Optical Part Design을 통해 광학 파트인 Light-guide가 생성되므로, 역시 해당 단계는 필요하지 않습니다.
4. Ansys Speos node : 새로운 매개변수 값 세트 또는 CAD 파일을 기반으로 Speos 모델을 자동으로 가져오거나 업데이트합니다. 본 예제에서는 Ansys Speos node에서 Light-guide 파트가 생성됩니다.
5. Exporting_VTP_JSON (Python node) : pySpeos를 실행하여 원하는 시뮬레이션 결과를 D 드라이브의 tmp 폴더 내에 VTP 및 JSON 파일을 포함한 SimAI 데이터셋 형식으로 저장합니다.
6. Ansys Speos output node(선택 사항) : simulation report 파일에서 미리 정의된 성능 지표를 추출합니다.
 

 

이러한 워크플로우는 상기와 같이광학 시뮬레이션을 생성하는 데 필요한 프로세스에 따라 쉽게 수정할 수 있습니다. ( : CAD 툴에서 매개변수 업데이트광학 시뮬레이션 업데이트 등)
하지만 본 예제에서는 Light-guide Speos Optical Part Design을 사용하여 설계했기 때문에, optiSLang CAD node는 필요하지 않습니다.

첨부 파일로 제공된 optiSLang 프로젝트를 열고아래와 같이 워크플로우 설정을 확인하십시오.

 

본 예제에서 사용된 자동화된 SimAI 데이터 생성

위에서 소개한 워크플로우에는 다음과 같은 노드들이 포함되어 있습니다 :

  1. Batch script (Batch node) : 필요한 pySpeos 모듈이 설치되어 있는지 확인하고설치되어 있지 않으면 설치합니다.
  2. Ansys Speos node : 새로운 Light-guide 설계 매개변수를 사용하여 Speos 광학 파트 설계를 업데이트합니다.
  3. Exporting_VTP_JSON (Python node) : pySpeos를 실행하여 휘도 센서 결과를 VTP 형식으로, Light-guide 매개변수를 JSON 파일 형식으로 변환한 후 D 드라이브의 tmp 폴더에 저장합니다.
  4. Ansys Speos output node (선택 사항) : simulation report 파일에서 미리 정의된 성능 지표를 추출합니다.

민감도 분석을 실행하여 워크플로우를 반복하고 데이터셋 입력값을 생성하십시오.
제공된 optiSLang 프로젝트에는 10개의 설계가 정의되어 있으며물론 유저가 값을 늘려 더 많은 훈련 데이터셋을 확보할 수도 있습니다.

Step 4 : 모델 훈련 및 최적화

SimAI에 훈련 데이터셋을 업로드한 후, input, output, domain of analysis  build duration을 선택하도록 모델을 구성해야 합니다.
본 예제에서는 5개의 스칼라 Light-guide 매개변수를 input으로 선택하고휘도 또는 광도 측정 결과를 output으로 정의합니다.
그 후 build duration 시간을 결정해야 하는데, debug mode(몇 시간), less precise mode( 24시간), precise mode( 2), more precise mode( 1주일중에서 선택할 수 있습니다.

 

SImAI 모델 구성 설정

SimAI 플랫폼 내에서 수집된 데이터셋은 자동화된 전처리 및 정규화 과정을 거친 후대상 광학계에 맞춤화된 AI 모델을 훈련하는 데 활용됩니다.
모델 개발은 다음과 같은 단계로 구성된 체계적인 파이프라인을 통해 진행됩니다 :

(1)  특징 추출 단계 형상파라메트릭 및 광학 특성을 대표적인 입력 특징으로 추출

(2)  모델 역전파/최적화 단계 예측 오차를 최소화하기 위해 역전파를 통해 신경망 매개변수 반복적 업데이트

(3)  정규화 및 검증 단계 : 수치적 안정성강건성 및 강력한 일반화 성능 보장

(4)  적응형 학습 단계 : 수렴 효율성을 유지하기 위해 학습률과 내부 하이퍼파라미터 동적 조정

상기 과정을 통해 고충실도 pySpeos 시뮬레이션에서 관찰된 경향을 정확하게 재현할 수 있는 예측 모델이 도출됩니다.

 

SimAI 모델 훈련 과정 개략도

 

Step 5 : 새로운 경계 조건을 적용한 AI 기반 예측

모델 훈련이 완료된 후업데이트된 STL 또는 VTP 형상 파일 및/또는 수정된 시스템 매개변수가 포함된 JSON 파일을 제공함으로써유저는 pySpeos와 같은 물리 기반 솔버에서 산출된 결과와 매우 유사한 조명 예측 결과를 신속하게 얻을 수 있습니다.

  • 새로운 경계 조건을 적용한 예측

유저는 입력 CAD 형상을 수정할 필요 없이새로운 경계 조건이나 새로운 설계를 나타내는 JSON 파일에 업데이트된 스칼라 값을 입력할 수 있습니다.
다음 예시에서는 Light-guide 설계에 사용되는 5가지 주요 매개변수를 활용하여 SimAI 모델을 학습시킵니다.
훈련된 모델 덕분에 유저는 새로운 광학 세팅을 생성하고 메쉬를 다시 적용하여 시뮬레이션을 실행할 필요가 없으며대신 SimAI가 제공된 매개변수를 바탕으로 광 패턴 결과를 직접 생성할 수 있습니다.
해당 기능을 통해 더 광범위한 설계 영역에 걸쳐 신속한 분석이 가능하며물리 기반 시뮬레이션에 필요한 메싱 반복매개변수 반복 세팅 또는 복잡한 광학 설정 재구축 과정을 피할 수 있습니다.

 

경계 조건을 기반으로 한 SimAI 모델 예측

. AI 예측 결과(왼쪽)와 물리 기반 시뮬레이션 결과(오른쪽)


광학 설계 1: 평균 휘도 값이 3.87인 광분포도

광학 설계 1: 평균 휘도 값이 3.84인 광분포도

광학 설계 2: 평균 휘도 값이 3.21인 광분포도

광학 설계 2: 평균 휘도 값이 3.22인 광분포도

 

  • 새로운 경계 조건을 적용한 예측

조금 더 응용하자면광학적 특성에 직접적인 영향을 미치는 렌즈 형상리플렉터 측벽하우징 구조기구물 설계 또는 구배각 반영과 같은 관련 설계 매개변수를 형상 자체에 반영할 수 있습니다.
 SimAI
는 파일에서 형상 특징을 자동으로 추출하여 이에 상응하는 조명 결과를 생성함으로써완전한 물리 기반 시뮬레이션에서 기대되는 동작을 재현합니다.

아래에 제시된 예시 결과에서는 모든 설계 관련 매개변수가 형상 내에 연동되어 있습니다.
따라서 이러한 SimAI 모델에는 추가적인 경계 조건이 지정되지 않습니다.
예측 단계에서 유저는 아래와 같이 업데이트된 설계 버전을 나타내는 새로운 STL 또는 VTP 파일을 간단히 제공하면 됩니다.

 형상 정보를 기반으로 한 SimAI 모델 예측

 

. AI 예측 결과(왼쪽)와 물리 기반 시뮬레이션 결과(오른쪽)


광학 설계 3: 평균 휘도 값이 4.35인 광분포도

광학 설계 3: 평균 휘도 값이 4.39인 광분포도

광학 설계 4: 평균 휘도 값이 4.24인 광분포도

광학 설계 4: 평균 휘도 값이 4.21인 광분포도
 

 

Important model settings
본 모델에서 사용된 주요 객체 및 설정에 대한 설명

  • 광분포도 데이터의 정확도는 2D 센서를 사용할 때는 센서 해상도에 의해, 3D 센서를 사용할 때는 3D 메쉬 해상도에 의해 결정됩니다.
  • 훈련 데이터 맵을 구성할 때빈 영역이나 값이 없는 영역의 비율을 제한하는 것이 중요합니다.
  • 각 데이터셋은 최대 하나의 VTP 파일과 하나의 JSON 파일을 지원합니다.
    본 예제에서는 단 하나의 대상 광분포도만 필요합니다.
    여러 개의 광분포도가 필요한 경우, SimAI에 제출하기 전에 모든 결과 VTP 파일을 하나의 파일로 병합해야 합니다.
  • SimAI 모델 구성에서는 1, 3, 7일의 훈련 기간을 지원합니다.
    일반적으로 훈련 시간을 늘릴수록 모델의 정확도가 높아지지만훈련 데이터셋에 대한 over-fitting이 발생하지 않도록 주의해야 합니다.
  • SimAI를 훈련시키려면 최소 35개의 데이터셋을 사용하는 것이 권장됩니다.
    데이터셋의 수를 늘리면 일반적으로 모델의 성능이 향상됩니다.
  • 각 예측 결과에는 신뢰도 지표가 함께 제공되며이는 모델이 이 새로운 예측을 얼마나 잘 파악하고 있는지를 수치화한 것입니다.
    학습된 잠재 형상/물리 공간에서 크게 벗어난 디자인은 신뢰도 점수가 낮게 나타나며이는 추가적인 훈련 데이터나 재훈련이 필요할 수 있음을 시사합니다.
    해당 메커니즘은 모델 예측의 신뢰성과 타당성에 대한 실질적인 지침을 제공합니다.

 

Taking the model further
더욱 디테일하게 모델 세팅을 원하는 유저를 위한 정보 및 팁

  • optiSLang에서 유저는 SimAI에 생성 및 제출할 데이터셋의 수를 늘릴 수 있습니다.
  • Speos에서는 유저가 Light-guide 설계에 영향을 미치는 OPD 매개변수를 변경할 수 있습니다새로운 매개변수를 기반으로 새로운 SimAI를 학습시킬 수 있습니다.
  • SimAI에서는 유저가 훈련 기간을 조정하고서로 다른 훈련 시간을 적용하여 그 차이를 평가할 수 있습니다.

 

Additional resources
추가 문서예제 및 교육 자료

Ansys 2025R1부터 PySpeos PyOptiSLang을 사용할 수 있습니다.
아래 링크에서 자세한 설치 안내 및 유저 설명서를 확인하실 수 있습니다:

 

 

 

감사합니다
㈜래디언트솔루션
optical@radiantsolution.co.kr
 02-2065-0726