در سامانههای پیدا کردن متن در تصویر، هدف آن است که مکان متن موجود در تصویر را مشخص کنیم. برای مثال به تصاویر زیر توجه کنید که چگونه مکان متون موجود در آنها مشخص شده است:
کاربرد اصلی این مسئله به عنوان یک پیش پردازش قبل از تبدیل تصویر به نوشتار یا همان OCR است.
۱. مقدمه
امروزه به دلیل گسترش چشمگیر تکنولوژی و در نتیجه دوربین های عکاسی، عکسهایی با کیفیتهای متنوع موجودند که حجم زیادی از دادههای تصویری را به وجود آوردهاند.موفقیت بزرگ تلفنهای هوشمند و خواستههای بزرگ در جستجو و درک تصویر مبتنی بر محتوا، تشخیص متن را یک وظیفه حیاتی در تعامل کامپیوتری انسان ساختهاست. بنابراین استفاده از این تصاویر و پردازش آنها می تواند به ما اطلاعات مفیدی در موارد مختلف بدهد. به همین دلیل پردازش تصاویر در حال حاضر بسیار مفید بوده و توجه بسیاری را به خود جلب کردهاست. یک نوع از این پردازشها، استخراج متن از تصویر است که برای آن لازم است ابتدا متن موجود در تصاویر تشخیص دادهشده و سپس تبدیل به نوشتار صورت بگیرد.
در این مقاله هدف پرداختن به تشخیص متن در تصاویر است و در آن به مرحله استخراج متن از تصویر پرداخته نمی شود.
در روشهای قدیمی برای استخراج متن از تصاویر صفحات پویش1شده مورد بررسی قرار می گرفتند. تصاویر مورد استفاده در این روش باید دارای پسزمینه سفید بوده و متن موجود در آنها می بایست به صورت افقی قرار می گرفت تا متون آنها قابل تشخیص باشند. ولی در حال حاضر نیاز است عکسها با پیچیدگی های مختلف مورد بررسی قرار بگیرند و امکان استخراج متن از آنها وجود داشته باشد.[1]
از جمله مشکلات و پیچیدگی های استخراج متن از این تصاویر، عبارت است از :
1- پیچیدگی پس زمینه تصویر2 : وجود پسزمینهی پیچیده از دو جهت میتواند ایجاد مشکل نماید. اول آنکه برخی از اشیا که دارای ساختار منظم و یا بافت خاصی هستند (مانند درها، پنجرهها، خطوط خیابان، برگ درختان و غیره ) به اشتباه متن شناسایی میگردند. دوم آنکه زمانیکه پسزمینهی متن تصویری پیچیدهاست نمیتوان لبههای3 متن را به درستی مشخص نمود.
2- سطوح غیر همسطح 4 : ممکن است متن موجود در تصویر، قسمتی در یک سطح و قسمتی در سطح دیگر داشته باشد و یا دارای عمق و بعد بوده باشد. تشخیص این متون مشکل است.
3- جهت متن :متن موجود در تصویر ممکن است دارای زاویه بوده و جهت آن به صورت افقی محض نباشد.
4-روشنایی کنترل نشده 5 : در برخی از تصاویر روشنایی و نورپردازی به صورت ناهموار است به طوری که قسمتی دارای وضوح و روشنایی بیشتر و قسمتی از آن تاریک است.
5- کیفیت پایین : به دلیل استفاده از دوربینهای معمولی ،کیفیت پایین تصاویر ، یکی از اصلیترین مشکلاتی است که برای پیدا کردن متن در تصویر با آن مواجه هستیم.
6- مشخص نبودن مرز متن و پسزمینه: ممکن است متن موجود همرنگ با پسزمینه خود بوده و تشخیص لبه آن به سختی صورت بگیرد.
7- تنوع در رسمالخط :
[2]
موارد ذکر شده در بالا مشکلات اصلی برای پیدا کردن متن در تصاویر است. مشکلات دیگری مانند فونت، رنگ و اندازه متون نیز وجود دارد.
حال به بررسی اهمیت پیدا کردن و تشخیص متن در تصویر میپردازیم. این کار میتواند سببب بهبود روشهای مورد استفاده در ابزارهای نویسهخوان نوری6 شود. با استفاده از بهبود روشها میتوان عکسهای تهیه شده با دوربینهای معمولی را نیز به نوشتههای مناسب تبدیل نمود.
دلیل دیگر این کار استفاده از متن تصویر برای نمایه7کردن آن است. یعنی با توجه به متن تصویر متوجه شویم که تصویر نمایانگر چه محلی میباشد.
۲. کارهای مرتبط
در سال های اخیر پیشرفت قابل توجهی در تشخیص متن در تصاویر صحنه صورت گرفته است. به طور مختصر به چند کار انجام شده در این حوزه اشاره می کنیم :
کیم و همکارانش [3] روشی را که تر کیبی از SVM و CAMSHIFT است را پیشنهاد دادند. SVM برای تحلیل خواص بافت متون، مورد استفاده قرار می گیرد. ویژگیهای بافت ، با شدت پیکسل های خام که به طور مستقیم به SVM تغذیه می شوند، محاسبه میگردند و مناطق متن با استفاده از الگوریتم CAMSHIFT به وسیله نتایج تجزیه و تحلیل بافت، شناسایی می شوند.
پان و همکارانش [4] روشی ترکیبی را ارائه کردهاند. این روش دارای سه مرحله اصلی پیشپردازش، تحلیل مولفه همبند و گروهبندی متن است. در ابتدا یک آشکارساز منطقه ای برای تشخیص مناطق متن، در هر لایه هرم تصویر، طراحی شده است. سپس مقیاس سازگاری محدوده محلی، برای تولید مولفه های متن کاندید، استفاده می شود. یک فیلد تصادفی شرطی (CRF) برای فیلتر کردن اجزای غیر متن استفاده می گردد. در نهایت، قطعات متن به خطوط متن یا کلمات، با روش بهینه سازی یادگیری، گروه بندی می شوند. این روش برای متون متراکم در تصاویر با شدت کم کار می کند.
الگوریتم پیشنهادی در زیر آمدهاست :
ناصریما موراتی و کومااراسویمی[5] از روش تبدیل ویولت گسسته هارر 8و خوشه بندی9 استفاده می کردند.در این روش برای استخراج متن از تصویر و برای طبقه بندی دقیق تر قسمت های متنی و غیر متنی، عملیات مورفولوژیکی گنجانده شده است. معمولا بیشتر الگوریتمها تصویر را در مقیاس خاکستری به عنوان ورودی می گیرند، اما در این روش رنگی از رنگ RGB به عنوان ورودی استفاده می شود. لبههای برجسته با استفاده از تبدیل موجک Harr شناسایی می شوند.
در این روش ، ویژگیهای آماری از جمله : میانگین، انحراف استاندارد و انرژی برآورد شده است. خوشه بندی به این منظور استفاده می شود که مجموعه داده ها با توجه به فاصلهها، تقسیم بندی شوند. سپس مناطق غیر متن با استفاده از عملیات مورفولوژیکی حذف می گردند. روش پیشنهادی می تواند نتایج خوشه بندی متن را برای تصویر با پس زمینه یکنواخت به دست آورد، اما وقتی که پسزمینه غیر یکنواخت است، نمیتواند متن را پیدا کند. الگوریتم پیشنهادی به جابهجایی و جهت قرار دادن متن حساس است.
در فلوچارت زیر مراحل این الگوریتم ذکر شدهاند :
چن و همکارانش [6] روشی براساس یافتن نواحی کاندید، هرس کردن آنها و گروهبندی ارائه دادند. در این روش، در ابتدا نواحی که امکان وجود متن در آن است، بهدست میآید. سپس با فیلتر براساس مولفههای همبند و SWT، نواحی که متن در آن ها موجود نیست، هرس میشوند و در آخر با اتصال حروف به هم، خطوط به دست میآیند.
مراحل این روش به شکل زیر است :
جانگ و همکارانش[7] معماری کلی برای سامانههای استخراج اطلاعات متن10 به اختصار TIE ارائه کردهاند. که دومین مرحله این معماری پیدا کردن مکان متن11 میباشد.
در فلوچارت زیر الگوریتم پیشنهادی را مشاهده میکنید :
رویکردهای موجود برای تشخیص متن میتواند تقریبا به سه دسته تقسیم شود: روشهای مبتنی بر بافت12، روشهای مبتنی بر منطقه 13و روشهای ترکیبی.
+روشهای مبتنی بر بافت : متون متنی متون را به عنوان یک نوع خاص بافت اداره میکنند و از خواص آنها مانند تنشهای محلی، پاسخهای فیلتر و ضرایب موجک استفاده میکنند. این روشها محاسبهای است که خواستار آن هستیم زیرا تمام مکانها و مقیاسها به طور کامل اسکن میشوند. علاوه بر این، این الگوریتمها عمدتا متون افقی را تشخیص میدهند.
+روشهای مبتنی بر منطقه : روشهای مبتنی بر منطقه ابتدا مناطق متن کاندید را از طریق تشخیص لبه یا خوشهبندی مشخص کرده و سپس مناطق غیرمتنی را با استفاده از قوانین اکتشافی مختلف حذف میکند.
+دسته سوم، روشهای ترکیبی و مخلوطی از روشهای مبتنی بر بافت و مبتنی بر منطقه است.[8]
۳. آزمایشها
برای انجام این بخش از دادههای موجود در این سایت استفادهشدهاست.
این پایگاه داده شامل 500 تصویر طبیعی است که با استفاده از یک دوربین جیبی گرفتهشدهاست. مجموعه دادگان موجود به دو قسمت تقسیم میشوند: دادههای آموزشی و دادههای آزمایشی. دادههای آموزشی شامل 300 تصویر است که به طور تصادفی از مجموعه دادگان اصلی انتخاب شده و 200 تصویر باقی مانده، دادههای آزمایشی را تشکیل میدهند.
پروژه انجام شده به این صورت پیادهسازی شدهاست که پردازش تصویر در آن به صورت لولهای 14 انجام میگیرد. در این روش، ورودی هر مرحله، خروجی مراحل قبل است. بنابراین نیاز به دادههای آموزشی در آن نیست و تمام داده های آموزشی و آزمایشی، به عنوان داده های آزمایشی استفاده میشود.
الگوریتم پیشنهادی برای این پروژه تقریبا همان روش پیشنهادی چن[6] است. میتوان آن را طبق مراحل زیر پیادهسازی کرد :
1- تصاویر مورد استفاده اغلب به این شکل هستند که نواحی با رنگ یکسان در آنها زیاد است. بنابراین در این مرحله با حذف این نواحی، سعی در نگهداری مکانهایی داریم که متن در آنها موجود است. این کار را با تابع threshold که متعلق به opencv در پایتون است، انجام میدهیم.
خروجی این مرحله به شکل زیر میباشد :
2- در این مرحله به منظور یافتن لبههای [^edges] موجود در تصویر، از تابعCanny موجود در پکیج opencv، استفاده میکنیم که خروجی زیر را میدهد:
3- ورودی این مرحله، عکس خروجی مرحله پیش است. در این مرحله تلاش میشود تا به وسیله تابع floodFill، نواحی داخلی لبههای تشخیصدادهشده در مرحله قبل، پر گردد.
خروجی این مرحله را در زیر میتوانید مشاهده کنید :
4- در این مرحله خروجی مرحله اول را با سوم and میکنیم تا خروجی حاصل تنها شامل متن موجود باشد. که خروجی آن به شکل زیر است :
5- در این مرحله با یافتن نواحی همبند، قسمتهایی از تصویر که متن در آن نیست را هرس میکنیم.
6-حال حروف موجود در عکس را به هم متصل میکنیم تا خطوطی به دست بیایند. در واقع در آخر این مرحله باید تنها خطوط متن در تصویر موجود باشند.
7-در نهایت با به دست آوردن نقاط گوشهای خطوط به دست آمده در مرحله قبل، سعی در کشیدن مستطیل هایی که مشخص کننده متن است، میکنیم.
لازم به ذکر است که در این مرحله از پروژه، مراحل1 تا 4 پیاده سازی شده است و در مرحله بعدی ادامه آن پیاده سازی میشود. به همین دلیل در این مرحله امکان گرفتن خروجی پایانی و استفاده از مجموعه دادگان و بررسی میزان دقت15 و فراخوانی16 و امتیاز F 17 فراهم نبود.
کد پروژه تا این مرحله در این لینک[9] در سایت گیت هاب قرار گرفتهاست.
۴. کارهای آینده
۵. مراجع
[1]T.Kasar, J.Kumar and A.G.Ramakrishnan,“Font and Background Color Independent Text Binarization” Medical Intelligence and Language Engineering Laboratory Department of Electrical Engineering, Indian Institute of Science Bangalore, INDIA - 560 012.
[2]L. Agnihotri and N. Dimitrova, “Text detection for video analysis,” in Proceedings of IEEE International Workshop on Content-Based Access of Image and Video Libraries, pp. 109–113, June 1999.
[3]Kwang In Kim, Keechul Jung, and Jin Hyung Kim, “Texture-Based Approach for Text Detection in Images Using Support Vector Machines and Continuously Adaptive Mean Shift Algorithm”
[4]YF. Pan, X. Hou, CL. Liu, "A Hybrid Approach to Detect and Localize Texts in Natural Scene Images," IEEE Transactions on Image Processing, vol. 20, no. 3, pp. 800-813, 2011.
[5]Narasimha Murthy K N, Dr. Y S Kumaraswamy, "A Novel Method for Efficient Text Extraction from Real Time Images with Diversified Background using Haar Discrete Wavelet Transform and K-Means Clustering"
[6]Huizhong Chen, Sam S. Tsai1, Georg Schroth, David M. Chen, Radek Grzeszczuk and Bernd Girod, "Robust text detection in natural images with edge-enhanced Maximally Stable Extremal Regions"
[7] K. Jung, K. I. Kim, A. K. Jain, "Text Information Extraction in Images and Video: a Survey," Pattern Recognition, Elsevier, vol. 37, no.5, pp. 977–997, 2004.
[8]Cong Yao, Xiang Bai, Wenyu Liu, Yi Ma, Zhuowen Tu, "Detecting Texts of Arbitrary Orientations in Natural Images"
[9]https://github.com/aeinsara/Detect-text-in-image2
۶. پیوندهای مفید
scan
complex backgrounds
edges
nonplaner surfaces
uneven lightening
optical character recognition
index
Harr discrete wavelet transform
clustering
text information extraction
text localization
texture-based
region-based
pipline
precision
recall
F_score