Yapay Zeka kavramı son zamanlarda olur olmaz her yeni teknolojide ismi geçen bir kavram. Adeta birkaç karar mekanizmasından oluşan algoritmaların bile yapay zeka diye yutturulmaya çalışıldığı bir Post Truth evreninde yaşıyoruz. Robotik süreç otomasyonuyla ilgili yapılan her tanıtımda en az 10-15 kez değiniliyor. Dolayısıyla yapay zeka kavramının bu kadar dillere pelesenk olduğu bir ortamda insanları teknolojinin bu yeni modasıyla gerçek anlamda buluşturan şirketler aslında sanıldığı kadar fazla değil.
UiPath’in 2019 yılının Nisan ayında piyasaya sürdüğü ve her yeni versiyonda gelişmeye devam eden AI Computer Vision ürünü RPA sektöründe yeni bir devrimin kapısını araladı. UiPath’in gerçekleştirdiği Computer Vision projesiyle aslında belki de ilk defa yapay zeka kavramı gerçek anlamda bir RPA problemini çözmekte fiili olarak kullanılmaya başlandı.
Bu makalede UiPath’in yapay zeka tabanlı Computer Vision ürününün/servisinin ne olduğunu, nerede ve nasıl kullanıldığına değinmek istedim.
UiPath AI Computer Vision Nedir?
UiPath AI Computer Vision, robotlarımızın normal şartlar altında tanımlayamadığı ekranı “görmesini” ve arayüzde yer alan tüm öğeleri tanımlamasını sağlayan bir servistir.
Arayüzlerin insan gözüyle görülmüş gibi tanınmasını sağlayan bu servis; yapay zeka, OCR(optik karakter tanıma), metin bulanık eşleme gibi özellikleri kullanan bir algoritmadır.
Tanımlanamayan Ekranlardan Kastımız Ne?
RPA projelerinde üzerinde çalıştığımız uygulamaları temel olarak aşağıdaki şekilde sınıflandırabiliriz.
- Masaüstü Uygulamalar (.NET , Java vs. ile geliştirilen uygulamalar)
- Web Uygulamaları (Chrome, Firefox gibi tarayıcılarda çalışan uygulamalar)
- Sanal Masaüstü Uygulamaları (Citrix, VMware Horizon, Microsoft RDP gibi)
RPA ürünleri masaüstü uygulamaları çözümleyebilmek için işlem sisteminin ve uygulamanın yazıldığı dilin sağladığı kütüphaneleri kullanarak bu uygulamaların arayüzündeki elemanları bulmakta oldukça yeteneklidir ve bu arayüzleri tanımlanabilir arayüzler olarak değerlendiriz.
Web uygulamalarının arayüzleriniyse varsayılan olarak tanımlayamazlar ancak, her RPA ürünü en sık kullanılan tarayıcılar için geliştirdiği eklentiler sayesinde, tarayıcıda açık olan web sitesine ait arayüzü yorumlayabilir ve dolayısıyla eklenti kurulmuşsa arayüz üzerindeki nesneleri tanımlamak RPA ürünü için çocuk oyuncağıdır. Yani bu arayüzleri de tanımlanabilen arayüzler sınıfına dahil edebiliriz.
Sanal masaüstü uygulamaları, uzak bir sunucuya ya da sanal bir makinaya bağlanmamızı ve bu makinalardaki uygulamaları kullanmamıza olanak tanıyan uygulamalardır. Bu uygulamaların karakteristiği gereği, RPA ürünleri bu uygulama arayüzlerini tanımlayamaz, ekranı bir bütün halinde görür. Çünkü sanal masaüstü uygulamalarıyla görüntülediğimiz arayüz, RPA ürününün çalıştığı işletim sisteminde çalışamakta, bu programlar bize sadece bir ekran görüntüsü akışı sağlamaktadır. Burada gerçekleşen durumu bir filmde 1 saniye de gelen 24 kare olarak düşünebiliriz.
İşte sanal masaüstü uygulamaları gibi ekrandaki nesnelerin doğal yollarla tanınamadığı uygulamaları arayüzleri tanımlanamayan uygulamalar olarak tanımlayabiliriz.
Sanal masaüstü uygulamalarının yanı sıra Flash, Silverlight gibi uygulamalarda da arayüzün tanımlanamadığı durumlar söz konusudur. Bu tarz uygulamalarda da Computer Vision kullanılması tavsiye edilmektedir.
Neden İhtiyacımız Var ?
Yukarıda tanımlanamayan arayüzlere sahip uygulamalar olarak nitelediğim sanal masaüstü ortamlarında (Citrix, VMware, VNC ve Windows Remote Desktop gibi) RPA otomasyon projesi geliştirmek her zaman zor bir durum olmuştur. Ekrandaki arayüz elemanları ayrı ayrı tanımlanamadığı ve ekran bir bütün olarak algılandığı için çoğunlukla workaround solution dediğimiz yaraya derman olmaya geçici-palyatif çözümler üretilmektedir.
Computer Vision öncesi bu ekranlar, çoğu zaman OCR ve Image Automation (Image Click vs.) gibi çözümlerle aşılmaya çalışılıyordu. Ancak bu çözümler özellikle arayüzdeki en küçük değişikliklerde veya çözünürlükteki bir değişiklikte bile otomasyonu bozacağı için bakım sorunlarına yol açıyordu.
Computer Vision bu zorlukları, kullanıcı arabirimlerinin insan gibi tanımalarını sağlayan bir algoritma ile çözer. Yapmamız gereken tek işlem tanımlanamayan ekranı robotumuza göstermek. UiPath Computer Vision yazılımı bizim için bu ekrandaki elemanları görecek ve tanımlayacaktır.
Nasıl Kullanılır ?
Eğer kullandığınız UiPath Studio versiyonu 19.4 üzeriyse herhangi bir kütüphane kurmanıza gerek yok varsayılan olarak Computer Vision kütüphanesi kurulu olarak gelecektir. Ancak kullandığınız versiyon 19.4.0 veya altıysa Manage Package üzerinden UiPath.UI.Automation kütüphanesi 19.5.0 ve üzeri bir sürüme yükseltilir.
Computer Vision servisini kullanabilmek için kişiye özel üretilen anahtar değer olan API KEY bilgisine ihtiyacımız bulunmaktadır.
API KEY anahtar değerine ulaşmak için cloud.uipath.com adresi üzerinde oturum açıp, Admin → Licences → Other Services menülerine tıklanarak açılan ekrandan Computer Vision seçeneği altından API KEY oluşturulur ve kopyalanır. Bu işlem tamamen ücretsizdir ve dakikada 30 megapixele kadar işlem yapabilecek şekilde sınırlandırılmıştır.
UiPath Studio’da geliştirdiğimiz, Computer Vision yardımı ile yapılacak tüm işlemler CV Screen Scope akışının içerisinde yer almalıdır. CV Screen Scope aktivitesinin düzgün bir şekilde çalışabilmesi için URL ve ApiKey parametreleri doldurulmalıdır.
URL: computer vision sunucusuna ait link yani https://cv.uipath.com adresi yazılır. ApiKey: bu sunucuya bağlanmak için gerekli anahtarı ifade eder. Api Key anahtarını nasıl elde edeceğimizi yukarıda anlatmıştık, cloud.uipath.com’dan aldığımız anahtar değeri ApiKey parametresine girilir.
Bu parametreleri doldurduktan sonra bu aktiviteyle yapacağımız tek işlem Indicate on screen seçeneğine tıklayarak üzerinde çalışacağımız ekranı seçmek. Bu işlemi de gerçekleştirdiğimizde UiPath Studio seçtiğimiz arayüzün ekran görüntüsünü alarak, cv.uipath.com adresinde çalışan Computer Vision servisine gönderir. Sunucu üzerinde çalışan algoritma ekrandaki tüm arayüz elemanlarını tanımlayarak, normal şartlar altında UiPath’in yapamadığı işlemi yapmasına destek olur.
Bu adımı da başarıyla tamamladıktan sonra artık son düzlüğe giriyoruz. Gönül rahatlığıyla istediğimiz arayüz elemanıyla, Computer Vision kütüphanesinin sağladığı aktiviteler aracılığıyla etkileşime geçebiliriz.
Sorularınız, yorum ve önerileriniz için yorum yazabilir, ya da contact@erkanceylan.com mail adresinden bana ulaşabilirsiniz.
Sağlıklı, mutlu günler dilerim.