Koshur-OCR / index.html
KashlabsAI's picture
Deploy static Koshur OCR interface with Modal backend
e699840 verified
Raw
History Blame Contribute Delete
3.81 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Experimental Kashmiri Perso-Arabic OCR by Kash Labs AI">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' blob: data:; style-src 'self'; script-src 'self'; connect-src 'self' https://kash-ai-labs--koshur-ocr-backend-api.modal.run;">
<title>Koshur OCR · Kash Labs AI</title>
<link rel="stylesheet" href="style.css">
<script src="app.js" defer></script>
</head>
<body>
<main class="shell">
<header class="topbar">
<div class="brand"><span class="mark" aria-hidden="true">ک</span><span>Kash Labs AI</span></div>
<div class="service" aria-live="polite"><span id="service-dot" class="service-dot"></span><span id="service-text">Checking inference</span></div>
</header>
<section class="hero" aria-labelledby="page-title">
<div>
<p class="eyebrow">Kashmiri language technology · Research preview</p>
<h1 id="page-title">Koshur<br>OCR</h1>
</div>
<p class="lede">Turn a printed Kashmiri Perso-Arabic line image into editable Unicode text. Built as a compact, transparent research baseline—not a black box.</p>
</section>
<section class="metrics" aria-label="Model metrics">
<div class="metric"><strong>28.13%</strong><span>Deduplicated CER</span></div>
<div class="metric"><strong>15.11%</strong><span>Exact match</span></div>
<div class="metric"><strong>4.47M</strong><span>Parameters</span></div>
<div class="metric"><strong>10K</strong><span>Training lines</span></div>
</section>
<section class="workspace" aria-label="OCR workspace">
<article class="panel">
<div class="panel-heading"><span class="step">01 · Source line</span><button id="clear" class="text-button" type="button">Clear</button></div>
<div id="drop-zone" class="drop-zone">
<input id="image-file" type="file" accept="image/png,image/jpeg,image/webp">
<label for="image-file" aria-label="Choose a single-line text image"></label>
<img id="preview" class="preview" alt="Selected OCR line preview" hidden>
<div id="preview-placeholder" class="preview-placeholder">
<span class="upload-icon" aria-hidden="true"></span>
<strong>Drop a line image here</strong>
<span>or tap to choose · PNG, JPEG, WebP · max 10 MB</span>
</div>
</div>
<button id="recognize" class="primary" type="button" disabled>Recognize Kashmiri</button>
</article>
<article class="panel">
<div class="panel-heading"><span class="step">02 · Unicode result</span><button id="copy" class="text-button" type="button">Copy text</button></div>
<textarea id="result" class="result" lang="ks-Arab" dir="rtl" aria-label="OCR transcription" placeholder="نتیجہ یِتھ پٮ۪ٹھ ظٲہِر گژھِ…" readonly></textarea>
<p id="status" class="status" data-kind="neutral" aria-live="polite">Upload a tightly cropped single-line image to begin.</p>
</article>
</section>
<aside class="notice">
<strong>Research limitation</strong>
<span>This epoch-47 checkpoint was trained on synthetic printed lines with the established Kashmiri diacritic set removed from its targets. It is not a full-page, handwriting, or diacritic-restoration system. Review predictions before reuse.</span>
</aside>
<footer class="footer">
<span>CRNN · temporal dropout · BiGRU · CTC</span>
<span><a href="https://huggingface.co/KashlabsAI/Koshur-OCR" target="_blank" rel="noreferrer">Model files & documentation</a></span>
</footer>
</main>
</body>
</html>