Image analysis based symbol recognition in colored maps
Renkli haritalarda görüntü analizi tabanlı sembol tanıma
- Tez No: 863519
- Danışmanlar: PROF. DR. BEHÇET UĞUR TÖREYİN
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2024
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 78
Özet
Başta askeri yazılımlar olmak üzere harita içeren yazılımların testlerinde askeri sembollerin doğrulama işlemleri çoğunlukla manuel olarak yapılmaktadır. Sembollerin çok çeşitli olması ve bazılarının birbirine benzer olması sembollerin anlamlarını akılda tutmayı zorlaştırıp hatalı doğrulama yapmaya sebep olabilmektedir. Ayrıca testlerin manuel olarak yapılması, görüntüdeki her bir sembol için doğrulamanın tek tek yapılmasını gerektirir. Sürekli yeni versiyonu çıkarılan yazılımlar için aynı manuel test sürecinin tekrarlanması çok fazla iş gücü harcanmasına sebep olmaktadır. Haritalar üzerinde sembollerin konumunu bulan ve sınıflandırma işlemi yapan bir sembol tanıma yöntemi ile bu süreç otomatikleştirilebilecektir. Yazılım testlerinde manuel olarak yapılan görsel doğrulama işlemlerini yazılım test mühendisinden bağımsız hale getirip otomatikleştirmek hem zaman kazancı sağlayacak hem de hata yapma ihtimalini azaltacaktır. Yazılım test sürecinin verimliliğini ve etkinliğini artırarak, yazılımın kalitesini ve güvenilirliğini sağlamada önemli bir rol oynayacaktır. Sembol tanımanın çeşitli uygulama alanları bulunmaktadır ve günümüzde birçok farklı sembol çeşidi mevcuttur. Kozmetik ürünlerinden yiyecek ve içecek ambalajlarına, pankartlardan tabelalara kadar etrafımızda pek çok farklı sembol bulunmaktadır. Bu semboller, genellikle belirli bir bilgi veya mesaj iletmek için kullanılır ve geniş bir yelpazede çeşitlilik gösterirler. Ancak, sembollerin sayısının hızla artması ve farklı alanlarda kullanılan sembollerin çeşitlenmesi, sembollerin anlamlarını hatırlamayı zorlaştırır. Bu nedenle, matematiksel semboller, mantıksal devre sembolleri, harita sembolleri, müzik sembolleri, trafik işaretleri ve marka logoları gibi çeşitli sembollerin tanınması ve anlamlandırılması için sembol tanıma yöntemleri kullanılmaktadır. Literatüre bakıldığında geleneksel görüntü işleme yöntemleri, makine öğrenmesi yöntemleri ve derin öğrenme yöntemleri ile sembol tanıma problemlerine çözüm bulunmaya çalışılmıştır. Genellikle geleneksel görüntü işleme yöntemleri ile makine öğrenimi yöntemleri birlikte kullanılmaktadır. Kullanılan yöntemlere örnek olarak şablon eşleştirme, morfolojik işlemler, kenar tespit yöntemleri, segmentasyon yöntemleri, özelliklik çıkarma yöntemleri, destek vektör makineleri ve k en yakın komşu algoritmaları verilebilir. Derin öğrenme yöntemleri ise genellikle karışık sembollerin tespitinde tercih edilen yöntemlerdir. RetinaNet, Faster R-CNN, R-CNN, YOLO, AlexNet, DenseNet gibi modeller kullanılabilir. Literatürde kullanılan sembol tanıma yöntemlerinin harita üzerindeki sembollerin tanınmasında da kullanılabileceği düşünülmektedir. Bu alanda yapılan araştırmalar, bazı görüntü çözümleme teknikleri ile sembol tanıma için farklı yaklaşımlar sunar. Ancak renkli haritalar üzerine sonradan yerleştirilmiş sembollerin tanınması için bazı zorluklar bulunmaktadır. Bu zorlukları kısaca özetlemek gerekirse: • Harita görüntüsünün karmaşıklığı ve haritanın içerdiği renk çeşitliliği, üzerinde bulunan sembollerin tanınmasını zorlaştırabilir. • Semboller aynı biçimde fakat farklı renklerde ya da birbirine çok benzer olabilir. Bu durumda da sembollerin tespit edilirken karıştırılma ihtimali artmaktadır. • Haritanın ölçeğine göre sembollerin de ölçeği değişebilir. Bazı görüntülerde semboller çok büyükken bazı görüntülerde çok küçük olması sembolün tespit edilememesine sebep olabilir. • Sembollerin içleri dolu olmayabilir. Bu durumda sembolün transparan kısımlarında arka plan sürekli değişeceği için sembol tespiti zor olabilir. • Semboller üst üste denk gelebilir ve biri diğerinin bir kısmını örtebilir. Altta kalan sembol tespit edilemeyebilir. Yukarıda bahsedilen zorluklardan anlaşılabileceği üzere sembol tespiti karmaşık bir süreçtir. Doğru sonuçlar elde etmek için doğru özellik çıkarımı ve sınıflandırma algoritmaları ile bu probleme belli bir seviyede çözüm bulunabilir. Ancak gelişmiş yapay zeka teknikleri ile sembol tanınmasında diğer yöntemlere göre daha büyük başarı elde edildiği gözlenmektedir. Bu çalışmada haritalar üzerinde sembol tespiti problemi için bir veri kümesi üretilmiştir. Veri kümesi hazırlarken askeri sistemlerde kullanılan harita türleri araştırılmış ve çoğunlukla yükseklik ve uydu harita görüntülerinin kullanıldığı tespit edilmiştir. Bu sebeple veri kümesinde bu harita türleri kullanılmıştır. Gerçek askeri sistemlerde kullanılan haritalara benzeyen, dünyanın farklı bölgelerinden renkli ve karmaşık harita görüntüleri seçilmiştir. Ardından askeri sistemlerde kullanılan semboller incelenmiş ve benzer semboller tasarlanmıştır. Semboller tasarlanırken yukarıda bahsedilen zorluklar göz önünde bulundurulmuş ve zorlu durumları içerecek şekilde üretilmiştir. Çalışmada karşılaştırılan yöntemlerin performansını test etmek amacıyla sembollerin askeri sembollerde de görülen aşağıdaki durumları içerecek şekilde oluşturulmasına özen gösterilmiştir. • Aynı şekle sahip fakat farklı renklerde semboller • Birbirine çok benzeyen semboller • Arka planlarını gösteren şeffaf semboller Daha sonrasında hazırlanan semboller harita görüntülerinin üzerine yerleştirilmiştir. Yerleştirme işlemi yapılırken sembollerin mümkün olduğunca karışık renklere sahip arka plana denk gelecek şekilde rastgele yerleştirilmesine dikkat edilmiştir. Ayrıca bazı semboller birbirinin üzerine gelecek şekilde, bazı semboller de farklı ölçeklerde harita üzerinde konumlandırılmıştır ve etiket dosyaları oluşturulmuştur. Veri seti için her sembol sınıfından yaklaşık 50 örnek içerecek şekilde toplamda 144 harita görüntüsü üretilmiştir. Renkli harita üzerinde sembol tespiti sürecinin yazılım test mühendisinden bağımsız hale getirilerek otomatikleştirilmesi hem zamandan tasarruf sağlayacak hem de hata yapma olasılığını azaltacaktır. Bu nedenle sembollerin yerini bulan ve sınıflandıran bir sembol tanıma yöntemi için görüntü çözümleme tekniklerinden Şablon Eşleştirme, Yönlendirilmiş Histogramın Gradyanları (HOG), Destek Vektör Makineleri (SVM), Faster R-CNN ve YOLO yöntemleri kullanılarak elde edilen sonuçlar karşılaştırılmıştır. Bu çalışmada bahsedilen yöntemler test edilerek elde edilen sonuçlara göre yukarıda tanımlanan zorluklara karşı yöntemlerin davranışları tablo ile sunulmuştur. Her bir yöntem için çeşitli parametreler kullanılarak deneysel sonuçlar elde edilmiştir. Tabloda, parametrelerin değişen değerlerine göre yöntemin başarısı gösterilmiştir. Elde edilen sonuçlara bakıldığında en başarılı olan yöntemler derin öğrenme modelleri olmuştur. Faster R-CNN ve YOLO yöntemleri ile mAP sonucu %90'ın üzerinde elde edilmiştir. Yöntemlerin bahsedilen zorluklara karşı davranışları detaylı incelendiğinde bazı yöntemler başarılı olurken bazıları başarısız olmuştur. Yükseklik haritalarının renk çeşitliliği uydu haritalarına göre daha fazla olduğundan, karşılaştırılan tüm yöntemlerde yükseklik haritası görüntülerinde sembol tanıma performansının uydu haritası görüntülerine göre daha düşük olduğu görülmüştür. Benzer semboller özellikle HOG ve SVM yönteminde karıştırılmıştır. Ayrıca Faster R-CNN yönteminde siyah ve yuvarlak sembollerin sıklıkla birbirleriyle karıştırıldığı gözlemlenmiştir. Faster R-CNN ve YOLO yöntemleri farklı ölçeklerdeki simgeler için başarılı olurken, Şablon Eşleştirme yöntemi pek başarılı olamamıştır. HOG ve SVM yöntemleri sabit pencere boyutlarına sahip sembol görüntüleri ile eğitildiğinden büyük veya küçük sembolleri tanıma konusunda pek başarılı olamamıştır. Şeffaf olmayan semboller genel olarak tüm yöntemler tarafından doğru bir şekilde tespit edilirken Şablon Eşleştirme ile HOG ve SVM yöntemlerinin şeffaf sembolleri tanımakta zorluk çektiği görülmüştür. Üst üste binen sembollerde arkadaki sembolün karşılaştırılan yöntemler ile tespit edilemediği görülmüştür. Harita görüntülerindeki sembollerin tanınmasında kullanılan yöntemlerin güvenilirliğini, genellenebilirliğini ve performansını değerlendirmek için çapraz doğrulama yöntemi kullanılmıştır. Bu yöntemde veri seti beş parçaya bölünmüş ve her parça kullanılan tüm yöntemler için bir test seti olarak kullanılmıştır. Bu şekilde her yöntemin performansı beş farklı test seti üzerinde değerlendirilmiştir. Her test seti için sınıf bazlı sonuçlar elde edilmiştir. Elde edilen sonuçların ortalaması hesaplanarak modellerin genel performansı değerlendirilmiştir. Bu yöntem, veri setinin farklı alt kümeleri üzerinde test yapılmasına olanak tanıyarak modelin genelleme yeteneğinin daha iyi değerlendirilmesine olanak sağlamıştır. Beş farklı küme için elde edilen sınıf bazlı mAP sonuçlarının ortalaması bir tablo ile sunulmuştur. Bu tezde literatürde sembol tespiti için kullanılmış yöntemler irdelenmiş ve harita üzerindeki sembollerin otomatik tespit edilebilmesi için derin öğrenme modellerinin kullanılması önerilmiştir. Elde edilen sonuçlara bakıldığında derin öğrenme modelleri yardımıyla otomatik sembol tespitinin yazılım test sürecine yüksek doğruluk oranı ile hatalı test sayısının azaltılması, test süreçlerinin daha hızlı tamamlanması ve tekrar eden işlemler için harcanan insan gücünün azaltılması gibi kazanımlar sağlayacağı ön görülmüştür.
Özet (Çeviri)
In the tests of software containing maps, especially military software, the verification of military symbols is mostly done manually. The fact that the symbols are very varied and some of them are similar to each other can make it difficult to remember the meanings of the symbols and lead to incorrect verification. Additionally, performing the tests manually requires verification for each symbol in the image one by one. Repeating the same manual testing process for software whose new versions are constantly released causes a lot of labor consumption. Automating manual visual verification processes in software tests by making them independent of the software test engineer will save time and reduce the possibility of making mistakes. Recognition of symbols on the map will be automated with a symbol recognition method that finds the location of the symbols on the maps and performs the classification process. Symbol recognition has many application areas. There are many different symbols around, from cosmetics to food and beverage packaging, from banners to signs. These symbols give a lot of information. Because there are so many symbols and their number increases rapidly, it becomes difficult to remember the meanings of the symbols. For this reason, symbol recognition methods are used when detecting mathematical symbols, logical circuit symbols, map symbols, musical symbols, traffic signs, and brand logos, etc. It is thought that the symbol recognition methods used can also be used to recognize symbols on the map. Research in this field offers different approaches to symbol recognition with several image analysis techniques. However, there are some difficulties in recognizing symbols placed later on color maps. To briefly summarize these challenges: • The complexity of the map image and the variety of colors the map contains can make it difficult to recognize the symbols on it. • Symbols may be the same shape but in different colors or very similar to each other. In this case, the probability of confusion when detecting symbols increases. • The scale of the symbols may vary depending on the scale of the map. If the symbols are too large in some images and too small in others, this may cause the symbol not to be recognized. • Symbols may not be filled. In this case, symbol recognition may be difficult because the background of the transparent parts of the symbol will constantly change. • Symbols may overlap and one may cover part of the other. The bottom symbol may not be detected. As can be seen from the difficulties mentioned above, symbol detection is a complex process. This problem can be solved to a certain level with correct feature extraction and classification algorithms to obtain correct results. However, it is seen that greater success has been achieved in symbol recognition with advanced artificial intelligence techniques compared to other methods. In this study, a dataset was produced for the problem of symbol detection on maps. While preparing the dataset, the map types used in military systems were researched and it was determined that elevation and satellite map images were mostly used. For this reason, these map types were used in the dataset. Colorful and complex map images from different regions of the world have been selected, resembling maps used in real military systems. Then, the symbols used in military systems were examined and similar symbols were designed. The difficulties mentioned above were taken into consideration when designing the symbols and they were produced to include difficult situations. Afterward, the prepared symbols were placed randomly on the map images with the background as mixed colors as possible. Some symbols were positioned on the map, overlapping each other, and some symbols were positioned at different scales, and label files were created. The results were obtained using image analysis techniques such as Template Matching, HOG (Histogram of Oriented Gradients), SVM (Support Vector Machines), Faster R-CNN and YOLO (You Only Look Once) methods for symbol detection on the colored map were compared. According to the results obtained by testing the methods mentioned in this study, the behavior of the methods against the difficulties defined above is presented in the table. Looking at the results obtained, the most successful methods were deep learning models. With Faster R-CNN and YOLO methods, mAP result was obtained over 90%. In this thesis, the methods used for symbol recognition in the literature were examined and the use of deep learning models was suggested to automatically detect the symbols on the map. Results suggest that in the software testing process, it is predicted that automatic symbol recognition using deep learning models will provide gains such as reducing the number of faulty tests with a high accuracy rate, completing the test processes faster, and reducing the labor spent on repetitive processes.
Benzer Tezler
- El çizimi diyagramların modifiye destek vektör makineleri ve grid tabanlı su havzası ile tanınması
Recognition of hand drawn diagrams using modified support vector machines and grid based watershed
ORHAN NOORULDEEN
Doktora
Türkçe
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ OĞUZ ALTUN
- Matematiksel sembollerin tanınmasına yönelik yeni bir algoritma
A new algorithm for recognition of mathematical symbols
CEYHUN ÇAKAR
Yüksek Lisans
Türkçe
2015
Elektrik ve Elektronik MühendisliğiBaşkent ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. HAMİT ERDEM
- Uzman sistemler ve ulaştırma alanında kullanımları
Expert systems and using them in transportation
A.BURAK GÖKTEPE
- Yapay Zeka'nın robot görmesi üzerine uygulanması
An Application of robot vision in artificial intelligence
FUNDA PEHLİVAN
- Development of a software tool for optical text recognition for Turkish
Başlık çevirisi yok
MOİZ RESKO
Yüksek Lisans
İngilizce
1994
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBoğaziçi ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. H. LEVENT AKIN