Çok yüksek çözünürlüklü uydu görüntülerinden grafik tabanlı bilgi çıkarımı
Graph-based infortmation extraction from very high resolution satellite images
Yazar: NURETTİN SİNANOĞLU
Danışman: PROF. DR. ELİF SERTEL
İstanbul Teknik Üniversitesi / Bilişim Enstitüsü / Uydu Haberleşmesi ve Uzaktan Algılama  Ana Bilim Dalı / Uydu Haberleşmesi ve Uzaktan Algılama Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Jeodezi ve Fotogrametri = Geodesy and Photogrammetry

Özet:
Teknolojinin çok hızlı bir şekilde gelişmesi ile birlikte hayatımızda birçok yeniliklerde onunla birlikte meydana geldi. Bu gelişmeler ise insanoğlunun hayat standartlarını ve durmadan daha fazla yeniliğe aç hale gelmesine olanak sağlamıştır.

Günümüz dönemlerinde uydu teknolojilerinin ve görüntüleme yeteneklerinin inanılmaz bir şekilde artması ile birlikte, günümüz dünyasını her an aktif bir şekilde gözlemlemek ve bu gözlemlerde nesnelerin tespitlerini aktif bir şekilde yapmak çok önemli bir yer edinmiştir. 

Uydu görüntülerinin günümüz için en önemli kullanım alanı bizlere gideceğimiz yönü ve bu yönde gideceğimiz yolu gösterebilmesidir. Bu yolların ise durmadan değişen ve gelişen dünyamızda her an aktif bir şekilde güncellenmesi gerekmektedir. İlk zamanlarda bu yol tespitleri manuel yöntemler ile belirlenirken, günümüzde birçok derin öğrenme ve görüntü işleme yöntemi ile yapılabilmektedir. Şu zamanlarda derin öğrenme ve yanında günümüze kattığı evrişimsel sinir ağları büyük bir yol almamıza neden oldu. Çünkü geneleneksel yöntemler gibi belirli kıstaslar altında kalmayıp, her durumada uyum sağlayıp tüm kontrolleri eline alarak işlemleri otomatize bir şekilde yapmamıza olanak sağlamıştır. Şu zamanlarda ise geleneksel evrişimsel sinir ağlarının karşısında belkide onu tamamen literatürden silecek bir rakip bulunmaktadır. Bu rakip ise dönüştürücü (transformers) ismini verdiğimiz çok daha esnek ve yenilikçi bir öğrenme methodudur. Dönüştürücü yöntemlerinin artık gelenekselleşen evrişimsel sinir ağlarına karşı çok büyük avantajları bulunmaktadır. Bu avantajlardan bazıları ise çok daha düşük parametre sayısı ile daha iyi sonuçlar verebilmesidir. Parametre sayısının bizim için düşük olması önemli bir rol oynamaktadır. Bu rol çok daha düşük ağırlıklar ile düşük kapasitede donanımlarda bile bu gelişmiş derin öğrenme yöntemlerini kullanalak yüksek hızlı ve çok daha doğru sonuçlara minimum efor ve maaliyet ile ulaşmamızı sağlamaktadır. Bugün yapıya görü dönüşütürücü (vision transformers) ismi verilmiştir. Bu yapı ile birlikte uydu görüntülerinden çok daha spesifik istekler ile nesne tespitleri ve yol ağları çıkarımları yapabilmekteyiz.

Yapmış olduğumuz bu tezin ana hedefi, ViT'in bu alandaki potansiyelini araştırmak ve çok daha komplike verisetleri ile neler yapabildiği ve nereye doğru evrimleşeceğini gözlemleyebilmektir.

Yapacağımız bu çalışma için en önemli iki etmen bulunmaktadır. Bunlar tasarlanacak olan vision transformers mimari ve bu mimariye en uygun bir şekilde görüntülere ve etiketlere sahip olan verisetlerinin seçimidir. Kullanacağımız verisetleri araştırılırken bazı filtrelemeler yapmamız gerekmektedir. Bu filtrelemelerden ilki verisetinin ne kadar büyüklüğe sahip olduğunun analizi doğru yapmaktır. Verisetindeki görseller modelimiz için fazla yüksek çözünürlüğe sahip olursa kullancağımız parametre sayısını çok fazla arttırmamız gerekecek ve bunun için çok daha büyük model ve bu modeli eğitecek çok yüksek donanımlara ihtiyaç gerektirecektir. Bu nedenle verisetindeki görsellerin aşırı yüksek çözünürlüklere sahip olmaması gerekmektedir. Bir diğer önemli etmen ise verisetinin sahip olduğu etiketlerdir. Bizim ihtiyacımız olan etiketler ise yol ağlarının belirlenebilmesi için yol segmentasyonuna uygun segmente görüntü çıktılarına sahip olması ve yol ağlarının kenar ve kıvrım noktalarında piksel koordinatları bulundurmasıdır. Bu piksel koordinatları ile birlikte yol ağını tamamen vektörize bir halde ağını bize sunmuş olması gerekmektedir. Bizim çalışmamız için bulduğumuz kent ölçekli veriseti ihtiyacımızı büyük ölçüde karşılamıştır. Lakin çalışmamız sadece yol ağlarının bulunması ile sınırlı kalmayıp vision transformers yapısının sınırlarınıda test edip geliştirebilmemiz için aynı mimari içerisinde bina köşe ve merkez koordinatlarınıda tespit edecek halde tasarlanmıştır. Bu yüzden verisetinde aynı zamanda bina köşe koordinatları ile merkez noktalarınında piksel koordinatlarına ihtiyacımız bulunmaktadır. Verisetini bu ihtiyaç doğrultusunda zenginleştirebilmek için yarı manuel yarı otomatize bir etiketleme mekanizması geliştirdik. Bu mekanizma görüntüdeki köşe kısımları görüntü işleme yöntemleri ile bizlere sunup, bizler ise bu noktaları manuel bir şekilde etiketleyerek verisetimize bu geliştirmeleri entegre ettik.

ViT temelli modelimizi tasarlarken önemli bazı etkenler bulunmaktadır. Dönüştürücü yapısı ilk tasarlandığı zaman aslında bir doğal dil modeliydi ve doğal dil işleme çalışmaları için kullanılıyordu. Bir süre sonra bu yapının görüntüler üzerinde nasıl kullanılabileceği üzerine çalışmalar yayınlanmaya başlandı. Transformers yapısının en büyük eksiği görüntüyü evrişimsel sinir ağı gibi matris halinde görüntüyü kullanmıyor ve yine evrişimsel sinir ağı gibi görüntü detaylarını çıkarabilecek bir mekanizmaya sahip olmadığı için girdi olarak direkt bir şekilde görüntü verilmesi modeli anlamsız bir hale getiriyordu. Bu nedenle uydu görüntülerini vision transformers katmanına iletmeden önce bir evrişimsel sinir ağı katmanı ile bu uydu görüntülerinin tüm detaylarını çıkarmamız gerekmektedir. Bu yüzden çalışmamızda görüntü detaylarını çıkarabilmek için ResNet18 mimarisini ervişimsel sinir katmanına yerleştirerek detay çıkarımı aşamasını tamamlandı. Bu katmandan çıkan filtrelenmiş görüntüler ROI olarak kısalttığımız ilgili bölgeler aşamasına geliyor. Bu alanda görüntüdeki filtrelenmiş kısımdan sadece detayların olduğu kısımları transformers katmanına iletilir. Vision transformers katmanına gelirken mimarimiz iki kola ayrılıyor. İlk kolda yol ağlarının belirlenebilmesi için yapılan katmanlar bulunurken, ikinci kolda bina köşe ve merkez koordinatlarını bulmamızı sağlayan diğer katmanlar bulunmaktadır. Mimarimizi iki kola ayırmamızın temel sebebi sağladıkları çıktıların tamamen farklı olmasından kaynaklıdır. İlk katmandan yol köşe ve kıvrım koordinatları ile birlikte vektörlerde çıktı olarak gelmektedir. İkinci kolda ise bina köşe koordinatları ile merkez koordinatları sınıflandırılmış halde gelmektedir. Vektör çıktıyı daha doğru sağlayabilmek için buradaki tahmin mekanizmasının işini kolaylaştırabilmek adına bina çıktılarını başka bir kol üzerinden tespitlerini gerçekleştirdik. Mimarimizi ve verisetinin çalışmalarını tamamladıktan sonra eğitim süresi A100 ekran kartına sahip bir bulut ortamında 20 saatlik bir eğitim sürecinden sonra tamamlanmış oldu. 

Eğitim süreci tamamlandıktan sonra verisetimizden test aşaması için eğitim aşamasına dahil etmediğimiz 5 adet uydu görüntüsü ve etiketlerini modelimizi test edebilmek için kullandık. Bu test aşamasında modelimizin verdiği çıktıları incelerken doğru ve yanlış yaptığımız birçok parametreyide görebilme fırsatını elde edildi. Modelimizi tasarlarken doğru yaptığımız kısımlardan ilki resnet katmanından sonra yapıyı 2 kola ayırmamızdı çünkü metrik seviyesinde eğitim süreci boyunca iki metrikte yakın seviyelerde ilerledi. Geliştirmemiz gereken konulardan biri ise köşe noktalarında kesin değerlere çok yakın tespitler verememiş olmasıydı. Bunun temel sebebi ise detay çıkarımı için belirlediğimiz resnet mimarisi yeterli yeteneğe sahip olmamasıydı. 

Sonuç olarak çalışmada vision transformers mimarisi ile uydu görüntülerinden yol ağlarının çok daha hızlı ve doğru oranlarda tespit edilebildiği gözlemlenirken aynı model içerisinde farklı isterlere sahip çıktılarında verilebileceği gözlemlenmiştir. Gelecekte vision transformers yapıları ile çok daha detaylı ve spesifik konulara çözümler getirilebileceği görülmüştür.

Abstract:
With the rapid advancement of technology, numerous innovations have emerged in our lives. These developments have enabled humans to enhance their living standards and continuously seek more innovations.

In today's era, the incredible increase in satellite technology and imaging capabilities has made it crucial to actively observe the contemporary world and identify objects in these observations. The most important use of satellite images today is to show us the direction we need to go and the route we should take. In our ever-changing and developing world, these routes need to be updated continuously. Initially, these route identifications were determined manually, but nowadays, many deep learning and image processing methods are used. Recently, deep learning and convolutional neural networks have significantly advanced our capabilities. Unlike traditional methods, these techniques do not adhere to specific criteria but adapt to any situation, allowing us to automate processes by taking full control.

However, a potential contender that might completely overshadow traditional convolutional neural networks has emerged. This contender is a much more flexible and innovative learning method called transformers. Transformer methods have significant advantages over the now conventional convolutional neural networks. One of these advantages is that they can yield better results with a much lower number of parameters. The lower number of parameters plays an important role for us, as it allows us to achieve high-speed and more accurate results with minimum effort and cost, even on low-capacity hardware. Today, this structure is called vision transformers. With this structure, we can detect objects and infer road networks from satellite images with much more specific requests.

The main goal of our thesis is to explore the potential of ViT in this field and observe what it can achieve and how it will evolve with more complex datasets. There are two crucial factors for our study. The first is the design of the vision transformers architecture, and the second is the selection of datasets with appropriate images and labels for this architecture. When researching the datasets we will use, we need to apply certain filters. The first filter is to accurately analyze the size of the dataset. If the images in the dataset have too high a resolution, we will need to increase the number of parameters significantly, requiring a much larger model and very high-capacity hardware to train this model. Therefore, the images in the dataset should not have excessively high resolutions. Another important factor is the labels in the dataset. The labels we need should include segmented image outputs suitable for road segmentation to identify road networks and pixel coordinates at the edges and curve points of these road networks.
With these pixel coordinates, the road network should be presented to us in a completely vectorized form. The city-scale dataset we found for our study largely meets our needs. However, our study is not limited to finding road networks; it is also designed to test and expand the limits of the vision transformers structure by identifying the coordinates of building corners and centers within the same architecture. Therefore, we also need pixel coordinates of building corners and center points in the dataset. To enrich the dataset according to this need, we developed a semi-manual, semi-automated labeling mechanism. This mechanism identifies corner points in the image using image processing methods, and we manually label these points to integrate these enhancements into our dataset.

When designing our vision transformers-based model, there are several important factors. When the transformers structure was first designed, it was actually a natural language model used for natural language processing studies. After a while, studies began to be published on how this structure could be used on images. The biggest drawback of the transformers structure is that it does not use the image as a matrix like a convolutional neural network and does not have a mechanism to extract image details like a convolutional neural network, making it meaningless to input the image directly into the model. Therefore, we need to extract all the details of the satellite images with a convolutional neural network layer before feeding them into the vision transformers layer. In our study, we used the ResNet18 architecture to extract image details by placing it in the convolutional neural network layer. The filtered images from this layer move to the region of interest (ROI) stage, where only the detailed parts of the filtered image are sent to the transformers layer. As the filtered images reach the vision transformers layer, our architecture splits into two branches. The first branch contains the layers that identify road networks, while the second branch contains the layers that find building corner and center coordinates. The primary reason for splitting our architecture into two branches is that their outputs are completely different. The first branch outputs vectorized road edge and curve coordinates, while the second branch outputs classified building corner and center coordinates. To ensure more accurate vector output, we performed building detections through a separate branch to simplify the prediction mechanism here. After completing the architecture and dataset work, the training process was conducted in a cloud environment with an A100 GPU for 20 hours.

After the training process, we used five satellite images and their labels, which were not included in the training phase, from our dataset to test our model. During this test phase, we had the opportunity to observe many parameters that were done correctly and incorrectly by our model. One of the aspects we got right in designing our model was splitting the structure into two branches after the ResNet layer because both metrics progressed at similar levels during the training process. One area that needs improvement is the inability to provide highly accurate detections at corner points. The main reason for this is that the ResNet architecture we used for detail extraction lacks sufficient capability.

In conclusion, the rapid advancements in technology, particularly in satellite imaging and deep learning, have revolutionized the way we observe and interact with our world. Our study has demonstrated the significant potential of vision transformers (ViT) in automating the detection and analysis of road networks and building structures from satellite images. By leveraging the strengths of ViT, especially their efficiency and flexibility, we can achieve high-speed, accurate results even on low-capacity hardware.

Our research highlights two critical components: the design of the vision transformers architecture and the careful selection of appropriate datasets. By addressing challenges related to dataset resolution and the precise labeling of road networks and building coordinates, we have developed a robust semi-manual, semi-automated labeling mechanism that enhances our dataset and model accuracy.Moreover, our approach of using a convolutional neural network layer, specifically ResNet18, to preprocess image details before feeding them into the ViT has proven effective. The decision to split our model architecture into two branches, targeting road network identification and building detection separately, has further contributed to the accuracy and reliability of our outputs.Despite these successes, our model's performance in detecting building corner points indicates room for improvement, primarily due to limitations in the ResNet architecture used for detail extraction. Future work will focus on enhancing this aspect to achieve even higher accuracy.

Overall, our study underscores the transformative potential of vision transformers in satellite image analysis and sets the stage for further innovations in this field. As we continue to refine our methods and expand our datasets, we anticipate even greater advancements in the automation and precision of satellite-based observations.