尚未检测到更新。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 변환