Sayfa eğrilmesini düzeltme (Page Dewarping)
- Kıvrılmış sayfa görüntüsünü düzleştirme işine bir optimizasyon problemi olarak yaklaşıyor
Arka plan
- Leptonica kütüphanesi veya Coordinate Transform Model (CTM) yöntemi gibi mevcut eğrilme düzeltme yöntemleri, hiyerarşik problem ayrıştırma yaklaşımını kullanıyor
- Metni satır bazında ayırma
- Satırları paralel ve yatay hale getirecek warping veya koordinat dönüşümünü bulma
- CTM'nin 3D silindir modeli tabanlı yaklaşımından ilham alarak, sayfa şeklini belirleyen parametreleri kullanan kendi parametrik modelini oluşturmuş
- 3D dönme/öteleme vektörleri, sayfa eğriliği gradyanı, yatay çizgi ofseti vb.
- Bunu bir optimizasyon problemi olarak tanımlıyor
- Orijinal fotoğrafta yatay metin bölgeleri boyunca anahtar noktalar bulunuyor
- Başlangıç tahmininden başlayıp model parametrelerini optimize ederek anahtar nokta yeniden yansıtma hatasını en aza indiriyor
Süreç
- Sayfa sınırlarını çıkarma
- Metin konturlarını tespit etme
- İkili eşikleme, morfolojik işlemler ve bağlı bileşen analizi kullanılıyor
- Dikey metin tablolarını da tespit edecek şekilde özelleştirilmiş
- Metin konturlarını yatay bölgeler halinde gruplama
- Yatay bölgelerde anahtar nokta örnekleme
- İlk model parametrelerini tahmin etme
- Optimizasyonla yeniden yansıtma hatasını en aza indirme
scipy.optimize.minimize içindeki Powell çözücüsü kullanılıyor
- Çalışma süresinin büyük bölümünü bu adım alıyor
- En iyi modelle koordinat dönüşümü yapıp görüntüyü yeniden eşleme ve ikili eşikleme
Sonuçlar
- Çeşitli örnek görüntülerde iyi çalışıyor
- Model parametresi sayısı fazla olduğu için optimizasyon zaman alıyor
- Yatay yöndeki bozulma dikkate alınmamış
Kapanış
- Arka plan bilgisi biriktirip bunu bir optimizasyon problemi olarak formüle eden tipik bir iş akışı
- Deformable Part Model ve Active Appearance Model'e benzer bir yaklaşım
- Emacs, Pylint gibi araçları kullanma konusunda da deneyim kazanılmış
- Ek geliştirme planı yok, ancak bilgisayarlı görü öğretirken başvurulabilecek bir proje
GN⁺ görüşü
- Gerçek kullanım için yatay yöndeki bozulmanın da düzeltilmesi gerekiyor gibi görünüyor. Bunun için CTM'deki gibi daha gelişmiş bir modele ihtiyaç olabilir.
- Optimizasyon hızını artırmak önemli görünüyor. Parametre sayısını azaltmak veya hızlı optimizasyon teknikleri kullanmak yardımcı olabilir.
- Derin öğrenme tabanlı yöntemlerle karşılaştırmak ilginç olabilir. Derin öğrenme, özellik noktası çıkarımı ve modellemeyi aynı anda çözebilir.
- Endüstriyel ortamdaki belge dijitalleştirme işleri için kullanılacaksa, farklı yerleşim düzenlerine sahip belgelere karşı daha fazla dayanıklılık sağlanması gerekiyor gibi görünüyor.
- Açık kaynak olarak yayımlanmış olması iyi, ancak gerçek kullanım için Python betiği yerine bağımsız çalıştırılabilir bir program olarak dağıtılması daha iyi olabilir.
1 yorum
Hacker News görüşü
Özet:
de-curlingişlemi bir sorundude-wrinklingde denemeye değer olurdude-warpingmümkün