尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
학습 모델(P/D)과 규칙 기반 보정(T)을 결합한 색각이상(Color Vision Deficiency, CVD) 보정 웹 애플리케이션 및 선택적 색상 보정 연구 프로젝트입니다. • 색각이상을 가진 사용자가 이미지, 카메라 사진, 영상을 입력하면 색상 혼동이 발생하기 쉬운 영역을 중심으로 보정한 결과를 제공합니다. • 이미지 전체를 일괄 변환하는 기존 Daltonization과 달리, 혼동 가능성이 높은 색만 골라서 그 색이 원래 갖는 밝기·질감은 유지한 채 구분 가능하게 만드는 것을 목표로 합니다. • 핵심 기능: 이미지 보정, 카메라 보정, 영상 보정, 이시하라 검사, 색각 교육, 보정 기록 저장 dev tunnel 주소는 실행 환경에 따라 바뀔 수 있습니다. • 색각이상 사용자 보조 • 적색맹(protan), 녹색맹(deutan), 청색맹(tritan) 사용자가 일상 이미지에서 색상 차이를 더 쉽게 구분할 수 있도록 보정 결과를 제공합니다.檢視完整 README ↗
학습 모델(P/D)과 규칙 기반 보정(T)을 결합한 색각이상(Color Vision Deficiency, CVD) 보정 웹 애플리케이션 및 선택적 색상 보정 연구 프로젝트입니다.
이미지 보정, 카메라 보정, 영상 보정, 이시하라 검사, 색각 교육, 보정 기록 저장dev tunnel 주소는 실행 환경에 따라 바뀔 수 있습니다.
cd cvd-lens
npm install
npm run dev
cd cvd-lens/inference
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
DATABASE_URL=
NEXTAUTH_SECRET=
NEXTAUTH_URL=http://localhost:3000
NEXT_PUBLIC_API_URL=http://localhost:8000
CVDLENS_ALLOWED_ORIGINS=http://localhost:3000
색각이상 사용자 보조
전역 색상 변환의 한계 개선
알고리즘 모방이 아닌 지각 기반 학습
이미지 보정카메라 보정영상 보정이시하라 검사색각 교육보정 기록CVDLens는 보정 이미지를 통째로 생성하지 않고, 원본에 더할 색상 델타(delta) 를 예측한 뒤 혼동 가중치로 그 세기를 조절해 원본에 합성합니다.
최종 출력 = clamp( 원본 + w · Δ )
Δ : 네트워크가 예측하는 색상 보정 델타 (가시 부분공간으로 제한)
w : 혼동 가중치 (색각 시뮬레이션 기반, 혼동되기 쉬운 픽셀일수록 1에 가까움)
w — Lab ΔE 기반으로 "이 픽셀 색이 해당 색각 유형에게 얼마나 혼동되는가"를 계산합니다. 혼동이 적은 영역은 w ≈ 0이 되어 원본이 그대로 유지되므로, 보정이 필요한 색에만 선택적으로 적용됩니다.CVDCorrectionNet (bilateral-grid 색상 보정 네트워크)(B, 3, H, W) + one-hot CVD 타입 (B, 3) + severity (B, 1)(B, 2, D=8, 16, 16) (밝기 델타 d_lum, 채도 델타 d_c)(d_lum, d_c) 복원 → 가시 부분공간 합성으로 델타 생성색각이상 시뮬레이션 기반의 지각 손실로 학습합니다. Daltonize 결과를 정답 이미지로 쓰지 않습니다.
CVDLossV2 (cvdlens_v2/losses.py)
L_contrast — 색각 시뮬레이션을 통과한 결과에서 혼동 색쌍의 대비 부족분만 벌하는 one-sided·혼동 가중 대비 손실L_global — 전역 색상 구분성(ΔE) 손실L_naturalness — 원본 색감 보존 (배포 체크포인트 학습에서는 시뮬-L1 사용, LPIPS 비활성)TV — 델타 필드 평활 정규화현재 배포 P/D 체크포인트는 severity 1.0으로만 학습되었으므로 서비스 추론도 1.0으로 고정합니다. T는 학습 모델이 아니라 30도 채도 보존 hue 회전 규칙을 고정 적용합니다. 사용자 보정 강도 선택은 제공하지 않습니다.
py -m cvdlens_v2.train # 학습
py -m cvdlens_v2.select_best # 게이트 기반 최적 체크포인트 선정
py -m cvdlens_v2.export_onnx # ONNX 변환 (타입별 self-contained 그래프)
/infer, /infer/video)cvdlens_{p,d}.onnx로 보정합니다. 입력은 srgb(1,3,256,256) + severity(1,1)이며 서비스에서는 학습 조건과 같은 1.0으로 고정합니다.out − in)만 뽑아 원본 해상도로 bilinear 업샘플한 뒤 원본 픽셀에 더합니다. 색보정은 저주파라 손실이 없고, 글자·경계 같은 고주파 디테일은 원본 그대로 유지됩니다.MAX_SIDE).색각이상 시뮬레이션을 통과했을 때의 구분성 회복을 기준으로 평가합니다.
|Δ| < 0.005로 선택성을 검증합니다.cd cvd-lens/inference && py validate_infer.py로 (a) 잔글씨 선명도 유지, (b) 보정 방향 유지, (c) do-nothing 원해상도 |Δ| 최소를 확인합니다.graduation_project/
├── cvd-lens/ # 웹 애플리케이션 + 추론 서버
│ ├── app/
│ │ ├── correction/ # 카메라 / 이미지 / 영상 보정
│ │ ├── corrections/ # 보정 기록
│ │ ├── history/ # 진단 기록
│ │ ├── ishihara/ # 이시하라 참고 검사 (10개 도판)
│ │ ├── education/ # 색각 교육 + 유형 시뮬레이터
│ │ ├── components/
│ │ └── api/
│ ├── inference/
│ │ ├── main.py # FastAPI 추론 서버 (델타 합성 · guided filter)
│ │ ├── guided.py # guided filter 후처리
│ │ ├── config.py # 추론 설정 (guided filter · JPEG 품질 등)
│ │ └── model/ # 배포 추론은 cvdlens_{p,d}.onnx 사용
│ └── public/
│ └── ishihara/ # 이시하라 도판 이미지
└── cvdlens_v2/ # 모델 · 손실 · 학습 · 평가 (연구 코드)
├── model.py # CVDCorrectionNet (bilateral-grid)
├── losses.py # CVDLossV2 (지각 대비 손실)
├── confusion.py # 혼동 가중치 w
├── basis.py # 가시 부분공간 델타 합성
├── simulation.py # 색각이상 시뮬레이션
├── train.py / kaggle_train.py
├── select_best.py # 게이트 기반 체크포인트 선정
└── export_onnx.py # ONNX 변환