Transforming feedback control systems on whiteboard into Matlab via a deep learning based intelligent system

Erdem, Dorukhan
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Institute of Science And Technology
Fen Bilimleri Enstitüsü
In control theory, some concepts can be better grasped with further visualization. Some core concepts such as the transient and steady-state behavior of a system or the interval at which it is stable can be better expressed using plots in time and frequency domains. The introduction of these visual aids has an important place in control lectures. In the classroom environment, instructors usually draw the corresponding graphs about a system by hand after presenting its control diagram. Hand drawing a plot is a difficult and time-consuming process and it is not possible to correctly scaled graphs this way. In order to correctly analyze a system, a simulation environment like Matlab® should be preferred. In this thesis, we have proposed a deep learning based pipeline that can recognize and transfer a block diagram on the whiteboard to the Matlab® environment. This way, control systems drawn by the lecturers can be properly analyzed with computer-generated plots without redefining them in the Matlab®. Generally, feedback control architectures are covered in control system lectures. These architectures can be visually represented with block diagrams. In a block diagram, transfer blocks are shown as rectangles and the connections between these blocks are indicated with arrows. The arithmetic operations like summation and subtraction between the signals are also shown inside small circles. A feedback control system may contain transfer functions for the filter or noise dynamics along with the controller and the plant. The number and the location of these transfer functions, their connection schemes, the number of forward or backward paths separates an architecture from another. In order to transfer a handwritten block diagram to Matlab® these informations must be extracted first using computer vision techniques. Then, the contents of each transfer function must be found in order to represent them in Matlab®. An architecture with known connections and transfer functions can be easily expressed in the Matlab® environment. If desired, a simulation model can be created Simulink™ or analyzed with Control System Designer App™. The control architecture from a given picture can be found with different approaches. A possible one is to handle the recognition task as a classification problem. In classification problems, inputs are assigned to one of the pre-defined classes by calculating a similarity ratio. In the context of feedback control architecture recognition, frequently used architectures can be selected as the class set, and the corresponding class can be found by examining the input image. Classification problems usually require a feature extraction method. These methods transfer the inputs to a feature space and the classification is done between the points in that space. The accuracy of the classification task depends on the selected feature extraction method and finding a proper method is the main challenge in classification problems. An ideal feature extraction method should not be affected by the uncertainties in the input image. Lighting condition is among the most common uncertainties in image processing problems. The intensity of the light can cause dark areas to appear brighter and can cause information loss. Also, the quality of the lecturer's handwriting quality can cause further uncertainties in our handwritten architecture recognition problem. Long sessions may deteriorate the lecturer's handwriting quality or different handwritings among various lecturers can harm the generalizability of the classification model. Various feature extraction algorithms exist in the computer vision literature, but a majority of them are not robust to transformations or noises in the input images. Therefore, structures that automatically extract features such as neural networks are preferred. In this thesis, recognition of a handwritten feedback control architecture is handled as a classification task where the classes are the 6 feedback control architectures defined in the Control System Designer App™. In order to accomplish the classification task, we have trained a deep Convolutional Neural Network (CNN). For the training, we have collected images of handwritten feedback architectures with the help of various lecturers. Although we have gathered as many samples as we can, constructing a dataset is a time-consuming process. To avoid problems that may arise from the lack of data, we have adopted the transfer learning approach. With the transfer learning approach, a deep network trained on large datasets like ImageNet can be adapted to new classification tasks by replacing its last layers. As the base network for our CNN, we have selected ResNet-50 since it shows high classification accuracies in benchmark tests and doesn't suffer from a common problem called gradient vanishing. The next step in our deep learning based pipeline is to construct the transfer functions. To create the mathematical expressions of the transfer functions, characters in the input images must first be recognized. Besides, we need to be able to determine which characters belong to which transfer function. If the location and the dimensions of each transfer function block in the input image are known, the corresponding characters can be searched inside these regions. Considering the transfer functions are represented as rectangles in block diagrams, we continued our pipeline with a rectangle detection step in this context. First, the input image is binarized with a thresholding algorithm. Possible noises caused by illuminations are then filtered from the binary image. After the filtering operation, an edge detection algorithm is applied and the outermost edge is removed from the binary image. With a filling method that fills closed contours, we ended up with regions as candidate rectangles. Using the connected component analysis and inspecting the rectangularity of each region, actual rectangles and their locations are found. At this point, the architecture and the transfer functions it contains are already known. Starting from the upper-left one, rectangles are then matched with the transfer functions by comparing their locations. Following the rectangle detection step, regions belonging to the transfer functions are cropped from the filtered binary image. Then the characters are detected in these cropped regions using the connected component analysis. In order to label the detected characters, we have trained another CNN using a pre-trained ResNet-50 as a base network. There are 20 possible labels for a character consisting of the arithmetic operators, parentheses, digits, and the 's' character. We have also constructed a second dataset for the character classification task. After detecting the transfer function blocks and recognizing the characters they contain, symbolic expressions for each transfer function can be constructed. A transfer function can be defined in Matlab® by finding the coefficients of its numerator and denominator. The coefficients can easily found from the symbolic expressions with the functions provided by Matlab®. For this purpose, the characters in each block are first sorted by their horizontal positions. Using the vertical position of the character that represents the fraction sign, the remaining ones are then separated as numerator and denominator. By concatenating the labels of the ordered characters, equation strings are generated. From the equation strings, symbolic expressions are constructed and the required coefficients are found. Thus, all the information necessary to transfer the feedback architecture drawn on the board to the Matlab® environment was obtained. At the end of the deep learning based pipeline, the recognized architecture can easily be transferred to the Control System Designer App™. The application requires the type of the feedback control architecture and the expressions of the transfer functions to create a new analysis, which is already present at this point. Alternatively, a Simulink™ model can be generated by defining the connections and transfer functions. To test the real-time capabilities of our pipeline, we finally created a test application that uses our pipeline. It processes images gathered from a live camera and creates a Simulink™ model if it detects a suitable feedback control architecture.
Kontrol teorisinde bazı konular, daha iyi kavranabilmeleri için görsel metotlara ihtiyaç duyar. Bir sistemin geçici ve sürekli haldeki davranışı veya hangi aralıklarda kararlı olduğu gibi temel bilgiler görsel zaman veya frekans tanım bölgelerinde oluşturulan grafiklerle gösterildiğinde daha iyi ifade edilebilmektedir. Ayrıca köklerin yer eğrisi veya Bode grafikleri gibi zaman ve frekans bölgesindeki görsel yöntemler ile sistemlerin tasarımı da yapılabilmektedir. Kontrol derslerinde de bu görsel araçların tanıtımı önemli bir yer tutmaktadır. Sınıf ortamında işlenen derslerde eğitmenler blok şeması verilen bir sistem ile ilgili grafikleri tahtaya yaklaşık bir şekilde çizmektedirler. Bu hem zaman alan zor bir süreçtir hem de ölçeksiz çizilen grafikler yüzünden kavramların anlaşılmasını güçleştirmektedir. Ele alınan sistem hakkında doğru bir şekilde yorum yapabilmek için Matlab® gibi bir benzetim ortamı kullanılmalıdır. Bu tez kapsamında, tahtaya çizilmiş kontrol şemalarını tanıyan ve Matlab® ortamına aktarabilen derin öğrenme tabanlı bir yöntem önerilmiştir. Önerilen bu yöntem derin öğrenme ve görüntü işleme yöntemlerini kullanmakta ve kontrol şemalarını gerçek zamanda bilgisayar ortamına aktarabilmektir. Böylece ders esnasında eğitmen tarafından tahtaya çizilen kontrol mimarilerinin sistem yanıtı, kontrolör işareti gibi grafikler kolaylıkla ve doğru bir şekilde elde edilebilmektedir. Üstelik tahtadaki mimarinin Matlab® ortamında bir kez daha oluşturulmasına gerek kalmamaktadır. Önerilen yöntem gerçek zamanlı çalıştığı için el ile çizilmiş şemadaki herhangi bir değişiklik de benzetim ortamında görülebilmektedir. Bu şekilde sistemin kutup ve sıfırları güncellenerek sistem cevabı üzerindeki etkileri kolaylıkla görülebilmekte veya farklı kontrolör parametrelerinin ayarı yapılabilmektedir. Kontrol sistemi derslerinde genellikle geri beslemeli kontrol mimarileri ele alınmaktadır. Bu mimariler blok şemalarıyla görsel olarak da ifade edilebilmektedir. Bir kontrol şemasında transfer fonksiyonları dörtgenler ile temsil edilmekte ve oklar aracılığıyla birbirilerine bağlanmaktadır. Ayrıca sinyaller arasındaki toplama ve çıkarma gibi aritmetik işlemler de daireler içerisinde gösterilmektedir. Geri beslemeli bir kontrol yapısında kontrol edilmek istenen sistemin ve kontrolörlerin yanında sensor dinamiklerini ve gürültü filtrelerini temsil eden transfer fonksiyonları da bulunabilmektedir. Belirtilen transfer fonksiyonlarının konumları, aralarındaki bağlantılar, ileri ve geri yolların sayıları gibi etkenler herhangi bir mimariyi bir diğerinden ayırmaktadır. Tahtaya çizilmiş bir blok şemasını Matlab® ortamına aktarılabilmesi için öncelikle şemanın bilgisayar tarafından algılanması gerekmektedir. Bir kamera ile görüntüsü kaydedilen bir blok şemasından, görüntü işleme yöntemleri kullanılarak gerekli bilgiler elde edilebilir ve bu şema bilgisayar ortamında yeniden oluşturulabilir. Bunu başarabilmek için öncelikle şemada belirtilen mimarinin yapısı oluşturulmalıdır. Mimarinin kaç tane transfer bloğu içerdiği, aralarındaki bağlantı yapıları gibi bilgilerin bilinmesi daha sonraki adımlarını da kolaylaştıracaktır. Bir sonraki aşamada ise her bir transfer bloğunun içeriği elde edilmeli ve transfer fonksiyonları benzetim ortamında oluşturulmalıdır. Bağlantıları ve transfer fonksiyonları bilinen bir mimari kolaylıkla Matlab® ortamında ifade edilebilmektedir. İstenirse Simulink™ ile benzetim modeli oluşturulabilmekte veya kontrol sistem tasarım uygulaması (Control System Designer App™) ile analizi yapılabilmektedir. Verilen bir resimden kontrol mimarisi farklı yaklaşımlarla bulunabilir. Bunlardan bir tanesi, problemi bir sınıflandırma görevi olarak ele almaktır. Sınıflandırma problemlerinde girdiler benzerlik oranlarına göre önceden belirlenmiş sınıflardan bir tanesine atanırlar. Kontrol mimarisi tespiti bağlamında da sıklıkla kullanılan mimariler önceden belirlenebilir ve blok şemasının resmi incelenerek hangisine en çok benzediği bulunabilir. Sınıflandırma problemleri genellikle bir özellik çıkarma yöntemine ihtiyaç duyar. Özellik çıkarma yöntemleri girdileri bir özellik uzayına aktarır ve sınıflandırma işlemi bu uzaydaki noktalar arasında yapılır. Sınıflandırma işleminin başarısı, kullanılan özellik çıkarma yöntemine dayanmaktadır ve uygun bir özellik çıkarma yöntemi bulmak sınıflandırma problemlerinin başlıca zorluğudur. İdeal bir özellik çıkarma yönteminin resimdeki belirsizliklerden etkilenmemesi gerekir. Görüntü işleme problemlerinde ortam ışığı en çok karşılaşılan belirsizlikler arasındadır. Işığın şiddeti yer yer parlamalarla koyu bölgelerin aydınlık gözükmesine ve ilgilenen objenin kaybolmasına neden olabilir. Ele alınan mimari tanıma probleminde ise ışıktan kaynaklanan gürültülerin yanı sıra eğitmenin yazı kalitesi de belirsizlik yaratabilmektedir. Eğitmenin yazısı bir süre sonra bozulabilmekte veya eğitmenler arasında karakter tipleri farklılık gösterebilmektedir. Görüntü işleme literatüründe farklı özellik çıkarma algoritmaları bulunsa da bu yöntemler gürültülere karşı dayanıksız kalmakta ya da telif hakkıyla korunmaktadırlar. Bu yüzden nöral ağlar gibi otomatik özellik çıkaran yapılar tercih edilmektedir. Bu tez kapsamında mimari tespiti bir sınıflandırma problemi olarak ele alınmış ve kontrol derslerinde sıklıkla kullanılan 6 farklı mimari belirlenmiştir. Ayrıca belirtilmelidir ki kontrol sistem tasarım uygulaması da yine bu 6 farklı mimariye ait yapılarla çalışabilmektedir. Sınıflandırma görevinde kullanılmak üzere derin bir Evreşimli Sinir Ağı (CNN) eğitilmiştir. Görüntü işleme problemlerinde CNN yapıları Eğitim için farklı eğitmenlerden toplanan ve belirlenen 6 mimarinin sınıf ortamındaki beyaz tahta çizimlerini içeren bir veri seti oluşturulmuştur. Her ne kadar toplanan veri sayısı yüksek tutulmaya çalışılsa da geniş bir veri seti oluşturmak zaman almaktadır. Veri azlığından kaynaklanabilecek sorunları aşabilmek için öğrenme aktarımı yaklaşımı tercih edilmiştir. Öğrenme aktarımı ile ImageNet gibi büyük veri setlerinde eğitilmiş bir ağ, son katmanları değiştirilerek yeni veri setlerine uyarlanabilmektedir. Sınıflandırma görevinde kullanılan ağ ise önceden eğitilmiş bir ResNet-50 ağına dayanmaktadır. Blok şeması resmindeki mimari belirlendikten sonraki aşama transfer fonksiyonlarının elde edilmesidir. Bir transfer fonksiyonunun matematiksel ifadesini elde edebilmek için öncelikle resimdeki karakterlerin tanınması ve konumlarının bulunması gerekmektedir. Ayrıca hangi karakterlerin hangi transfer fonksiyonuna ait oldukları da belirlenmelidir. Transfer fonksiyonu bloklarının konumu ve büyüklükleri önceden belirlenebilirse ilgili karakterler sadece bu bloklar içerisinde aranabilir. Kontrol sistemlerinin blok şemalarında transfer fonksiyonlarının dörtgenler içerisinde ifade edildiği göz önünde bulundurularak mimari tespitinden sonra resimdeki dörtgenler aranmıştır. Dörtgenlerin tespiti için öncelikle girdi resminin ikili hali elde edilmiştir. Işıktan kaynaklanan belirsizlikler etkisini en çok ikili resmin elde edilmesinde göstermekte ve istenmeyen gürültüler üretmektedir. Bu gürültüler, klasik görüntü işleme yöntemleri kullanılarak mümkün olabildiğince giderilmeye çalışılmış ve sadece şemaya ait piksellerin pozitif olduğu ikili resmin oluşturulması amaçlanmıştır. Takip eden adımlarda kenarlar tespit edilmiş, en geniş çevre silinmiş ve kalan kapalı çevreler doldurulmuştur. Böylece birbirinden ayrı ve dörtgen olma olasılığı yüksek pozitif bölgeler elde edilmiştir. Bağlı bileşen analizi ile kalan bölgelerin dörtgenlikleri belirlenmiş ve transfer fonksiyonu blokları tespit edilmiştir. Bağlı bileşen analizinde bir bölgenin konumu ve boyutları bulunabildiği için resimdeki transfer fonksiyonlarının da konum ve boyutları belirlenebilmiştir. Ayrıca, bir kontrol mimarisinde sistemin, kontrolörün veya filtrelerin birbirilerine göre konumları bilinmektedir. Bu sayede dörtgen tespiti ile elde edilen bölgelerin mimarideki hangi transfer bloğuna karşılık geldiği en sol üstteki dörtgenden başlayarak bulunabilmektedir. Dörtgen tespitinin ardından belirlenen her bir transfer fonksiyonu bloğunun bulunduğu bölge, gürültülerden arındırılmış ikili resimden kırpılmıştır. Kırpılan bu bölgelerdeki karakterler yine bağlı bileşen analizi kullanılarak tespit edilmiştir. Bu aşamada yalnızca karakterlere ait bileşenler bilinmekte, hangi karakter oldukları bilinmemektedir. Her bir blok içerisindeki karakterler bulunduktan sonra yine bir CNN kullanılarak bu karakterler etiketlenmiştir. Aritmetik operasyon sembolleri, parantezler, rakamlar ve 's' karakterini içeren 20 sınıflık bir sınıflandırma problemini çözen bu ağ da ResNet-50 ile öğrenme aktarımı yöntemini kullanmaktadır. Eğitim için oluşturulan veri seti, mimari tanıma problemi için oluşturulmuş çizimlerden ayıklanmış karakter resimleri kullanılmıştır. Sınıflar arası eşit bir dağılım olması için eksik kalan sınıflar yine farklı eğitmenlerden toplanmış örneklerle tamamlanmıştır. Transfer fonksiyonu blokları ve içerdikleri karakterler tespit edildikten sonra transfer fonksiyonlarının Matlab® ortamında sembolik ifadeleri elde edilmiştir. Matlab® ortamında bir transfer fonksiyonunu oluşturabilmek için pay ve payda polinomlarının katsayılarının bulunması gerekmektedir. Sembolik ifadesi elde edilen bir polinomun katsayıları yine Matlab® aracılığı ile kolaylıkla bulunabilir. Bu amaçla karakterler öncelikle yatay konumlarına göre sıralanmıştır. Ardından, pay ve payda polinomlarını ayıran kesir çizgisinin düşeydeki konumu kullanılarak karakterler pay ve payda olacak şekilde iki kümede toplanmıştır. Karakterler yatayda sıralı oldukları için pay ve paydayı temsil eden karakter katarları, karakterlerin etiketleri peşi sıra eklenerek oluşturulmuştur. Karakter katarları yaratılırken üslü sayılar da komşu iki karakter arasındaki düşey konum farkına bakılarak tespit edilmiştir. Karakter katarından sembolik polinom oluşturabilen bir fonksiyon tanımlanmış ve mimarideki transfer fonksiyonları bu sembolik ifadelerin katsayıları aracılığı ile oluşturulmuştur. Böylece tahtaya çizilmiş geri beslemeli mimariyi Matlab® ortamına aktarmak için gerekli bütün bilgiler elde edilmiştir. Geri beslemeli bir kontrol mimarisini, kontrol sistem tasarım uygulamasına aktarmak oldukça kolaydır. Tek yapılması, gereken uygulama bünyesinde tanımlanmış 6 farklı mimariden birini seçmek ve her bir transfer fonksiyonunun ifadesini belirlemektir. Çizilen bir blok şemasını Simulink™ ortamına aktarabilmek için ise öncelikle 6 farklı model oluşturulmuştur. Bu modellerde gerekli transfer fonksiyonları birim olarak tanımlanmış ve kontrol sistem tasarım uygulamasında belirtildiği gibi isimlendirilmiştir. Tanınan kontrol blok şeması Simulink™ ortamına aktarılırken için ilgili model dosyası açılır ve isim eşleştirme ile transfer fonksiyonlarının gerçek değerleri modele aktarılır. Önerilen derin öğrenme tabanlı yöntemin gerçek zaman performansını ölçmek için ise son olarak bir test uygulaması oluşturulmuştur. Bir sınıftaki beyaz tahtaya sabitlenmiş bir kameradan canlı alınan görüntüler gerçek zamanlı bir şekilde işlenerek çizilen geri beslemeli kontrol mimarilerinin Simulink™ ortamına aktarılması amaçlanmıştır. Ayrıca herhangi bir transfer bloğunda yapılan değişiklikler de takip edilerek modelin güncellenmesi sağlanmıştır.
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2020
Tez (Yüksek Lisans)-- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2020
Anahtar kelimeler
matlab, deep learning