पेज विकृति सुधार (Page Dewarping)
- मुड़ी हुई पेज इमेज को सीधा करने के काम को एक optimization समस्या के रूप में लिया गया है
पृष्ठभूमि
- Leptonica लाइब्रेरी या Coordinate Transform Model (CTM) जैसी मौजूदा विकृति-सुधार विधियाँ hierarchical problem decomposition approach का उपयोग करती हैं
- टेक्स्ट को लाइन-स्तर पर अलग करना
- लाइनों को समानांतर और क्षैतिज बनाने के लिए warping या coordinate transform खोजना
- CTM के 3D cylinder model-आधारित approach से प्रेरणा लेकर, पेज का आकार निर्धारित करने वाले parameters का उपयोग करते हुए एक स्वयं का parametric model बनाया गया
- 3D rotation/translation vectors, page curvature slope, horizontal line offset आदि
- इसे एक optimization समस्या के रूप में परिभाषित किया गया
- मूल फोटो में क्षैतिज टेक्स्ट क्षेत्रों के साथ keypoints खोजे जाते हैं
- प्रारंभिक अनुमान से शुरू करके model parameters को optimize किया जाता है ताकि keypoint reprojection error न्यूनतम हो
प्रक्रिया
- पेज boundary extraction
- टेक्स्ट contour detection
- binarization, morphological operations, connected component analysis का उपयोग
- vertical text tables को भी detect करने के लिए विशेष रूप से अनुकूलित
- टेक्स्ट contours को क्षैतिज क्षेत्रों में group करना
- क्षैतिज क्षेत्रों में keypoint sampling
- प्रारंभिक model parameters का अनुमान
- optimization के जरिए reprojection error को न्यूनतम करना
- scipy.optimize.minimize के Powell solver का उपयोग
- runtime का अधिकांश हिस्सा यही लेता है
- सर्वोत्तम model के साथ coordinate transform के बाद image remapping और binarization
परिणाम
- विभिन्न उदाहरण इमेजों पर यह अच्छी तरह काम करता है
- model parameters की संख्या अधिक होने से optimization में समय लगता है
- क्षैतिज दिशा की विकृति पर विचार नहीं किया गया
समापन
- पृष्ठभूमि ज्ञान इकट्ठा करके उसे optimization समस्या के रूप में formalize करने वाला एक विशिष्ट workflow
- Deformable Part Model, Active Appearance Model जैसी समान approach
- Emacs, Pylint जैसे टूल्स के उपयोग का व्यावहारिक ज्ञान भी मिला
- आगे विकास की योजना नहीं है, लेकिन computer vision सिखाने के समय संदर्भ के लिए उपयोगी परियोजना
GN⁺ की राय
- वास्तविक उपयोगिता के लिए क्षैतिज दिशा की विकृति भी सुधारनी होगी। इसके लिए CTM की तरह अधिक परिष्कृत model की आवश्यकता दिखती है।
- optimization की गति में सुधार महत्वपूर्ण लगता है। parameters की संख्या घटाने या high-speed optimization techniques का उपयोग मददगार हो सकता है।
- deep learning-आधारित तरीकों से इसकी तुलना करना रोचक होगा। संभव है कि deep learning feature extraction और modeling को एक साथ हल कर सके।
- औद्योगिक दस्तावेज़ digitization जैसे कार्यों में उपयोग के लिए, विभिन्न layout वाले दस्तावेज़ों पर इसकी robustness और बढ़ानी होगी।
- इसे open source के रूप में जारी करना अच्छा है, लेकिन वास्तविक उपयोग के लिए Python script की बजाय standalone executable program के रूप में वितरित करना बेहतर हो सकता है।
1 टिप्पणियां
Hacker News राय
सारांश:
de-curlingएक चुनौती थी जिन्हें पूरी तरह खोलकर स्कैन नहीं किया जा सकता थाde-wrinklingभी आज़माना अच्छा होगाde-warpingकिया जा सकता है