SiberLojikCV Sayısal Görüntü İşleme Platformu 1
Sayın Araştırmacı; Dünyada gelişen teknoloji ile hayatın her alanında, kendisini daha iyi hissettiren sayısal görüntü işleme yazılım algoritmaları, yaşantımızı kolaylaştırdıkları gibi, gün geçtikçe hayati önem arz eden vazgeçilmez unsurlara dönüşmektedir. Endüstri ve imalat sektöründen tutunda savunma, havacılık, tıp, astronomi gibi geniş kullanım alanına çözüm üreten yapay görme yazılım mimarileri, ülkemizde de bir çok sektörden talep almaya başlayan bir dal haline gelmiştir. Morfolojik filtreleme Segmentasyon Örüntü Tanıma Kenar Algılama Optik Karakter Tanıma Optik Renk Tanıma Bağlantılı Bileşen Etiketleme Geliştirmiş olduğumuz yapay görme platformu, görüntüleme aygıtı yani endüstriyel kamera, SiberLojikCV yazılım SDK sı ve kontrol kartı olmak üzere üç başlıkta incelenecektir.yukarıdaki özellikler ağırlıklı olarak yazılım içeriğini oluşturan algoritma konularıdır. Ş.Müslüm İNCEDAL Software and Hardware Development 2
1 Optik Görüntüleme Aygıtı Kamera SiberLojik yapay görme platformunun en önemli elemanlarından birisi olan SiberLojik optik görüntüleme aygıtı ile, endüstriyel bir çok proje gerçekleştirlimiştir. Teslim almış olduğumuz bir çok proje Ar-Ge olduğu için biz kendi içimizde ürünlerimize de Ür-Ge olarak yaklaştığımızdan bir çok sektörden talep karşılamayı başaracak bir altyapı oluşturduk. Sony çipseti üzerine kurulu olan SiberLojik endüstriyel kamera ülkemiz de bir çok projede dışarıdan satın alınıp verimli olarak kullanılamayan benzerlerine göre kullanıcı uzayımızı oldukça zengin tutan geniş kamera parametreleri ile çok büyük bir açığı kapatmayı amaçlamıştır. Kamera Özellikleri; Video Pixel Video Frame Rate Video Format Lens Yakalama Aralığı 1024x768 pixel 1024x768 pixel @ 60fps640x480 pixel @ 180fps 320x240 pixel @ 240fps RAW, YUV Opsiyonel 30cm~ Görüş Alanı 75 Pozlama Esnekliği Sıkıştırma PerPiksel Schmitt Trigger Küresel Perdeleme Global Shutter Sıkıştırılmamış video çıkış yeteneği. 8 bit sensor native color depth. 12 Adet TTL Temin edebilirsiniz http://www.siberlojik.co m/iletisim.html Öğrencilerimizin elle tutulur somut örnekler ile teorik eğitimleri, pratikle irdeleme fırsatı bulacak bu tümleşik yapay görme topluluğu ülkemizde bu sektörün gelişmesine katkı sunacak ilk girişimdir. 3
2 Kontrol Kumanda Modülü Endüstri, askeri, tıp, astronomi ve benzeri alanların ve bu alanlarda kullanılan makine tesis platform gibi düzenli mekanizma ve süreçlerin, gerçek zamanlı veya otonom bir şekilde kontrol ve takibine yönelik inter-disipliner, yapay görme komuta kontrol istasyonudur. Sistem bilgisayarın hiç bir veri iletişim noktasını ve protokolünü kullanmaz bu haliyle bilindik bir standart değildir.elektronik bileşenleri ise hiç bir mikroişlemci, mikro denetleyici, ShiftRegister ve benzeri yonga içermez. Siber tehditlere karşı bilinen ve kullanılan tüm bilgisayar destekli denetleyicilere göre daha güvenli bir kontrol yapısı oluşturur. Dünyada, bilgisayar veya gömülü sistem kontrollü yazılım ile çevre birimlerinin iletişimine yönelik, en hızlı yeni veri iletim yoludur. TTL tetikleme hızı " 20 nanosaniyedir ". SiberLojik araştırma ve geliştirmelerini global pazarda, belirli kalıplara oturmuş standart çözümlerin dışında, kendi buluş ve ürünleri ile ülkemizde yapılamayanları yapma adına, çok ciddi mesafeler kat etmiştir. SiberLojik TTL Mantık kapıları da bunların en önemlisidir. Teknoloji adına ne geliştirirseniz geliştirin, yapmış olduğunuz makine ve gereçleri, bilindik standart kontrol ve kumanda yöntemleri ile sevk ve idare ediyorsanız, her zaman siber tehdit altındasınızdır. SiberLojik TTL Mantık kapıları bu tehdidi % 100 ortadan kaldırır. Daha performanslı ürünler geliştirmenizi sağlar. 4
3 Yazılım Mimarisi Ülkemizde Image Processing konusunda faaliyet gösteren firma sayısı yok denecek kadar azdır, bu konuda yabancı firmaların bağımlılık oluşturmuş olması veya donanımla birlikte gelen yazılım platformunu kullanma zorunluluğu kullanıcı uzayımızı birilerinin koymuş olduğu sınırlarla düşünebilmemizi ve o sınırlarla hareket etmemizi sağlamaktadır. Satın aldığımız endüstriyel veya askeri görüntüleme setinin içerisinde onlarca güvenlik açığı olduğu gibi bir çok konuda yaşanılan problemler bize bir çok uygulamada geri adım attırmaktadır.endüstriyel kamera üreticisi firmalarına baktığınızda görüntüleme sistemi üzerine faaliyet veriyordur yazılımı tedarik etmektedir ikisini yapan firmalar ise kontrol kartını tedarik ediyordur. İşin en önemli kısmı yazılımdır, yazılımda kullandığınız tüm kod yapılarının tasarım aşamasında uygulanabilecek tüm yöntemleri hiç bir gizlilik olmaksızın kullanıcı uzayınıza sınırsız nimetler sunmak zorundadır. Aksi taktirde kullanılan kapalı kod kütüphaneleri tümleşiği, yazılım görüntüleme aygıtından gelen görüntüyü yazılım aracılığı ile işlerken gerçek zamanlı olarak kontrol kartını da kumanda etmek zorunda olduğundan kontrol kartı kütüphanesi ve görüntüleri işleyen kütüphane çoğu zaman sorun çıkarabilmektedir. 5
SiberLojikCV SDK Endüstriyel Kamera Parametreleri SiberLojik endüstriyel kamera parametreleri hiçbir firmanın son kullanıcının, kullanımına sunmadığı cihazın elektronik omurgasını kontrol imkânı sunar. Filtreleme sırasında yapacağınız parametre değişikliği daha iyi bir sonuç almanızı sağlayacaktır. Beyaz dengesi ve Gain kazanç ayarlarını manuel set etmeniz önerilir. Yapılacak her çalışma için farklı değerler girilmesi gerektiğinden ayarları o proje için saklamanız önerilmez, bunun sebebi ise ortamın ışık seviyesinden kaynaklanmaktadır. Oldukça basit olan parametre değişiklikleri, her seferinde farklı bir deneyim ve tecrübe kazanmanızı sağlayacaktır. 6
SiberLojikCV SDK İkili Filtreleme (Binary) SiberLojikCV yapay görme SDK sının en temel bileşenlerinden birisi olan gerçek zamanlı ikili filtreleme renklerin istenilen türde dönüşerek karşılaştırma ve farklılıkları daha iyi ayarlamasını sağlayacaktır. Örnek olarak aşağıdaki klavye görüntüsü önceki halinde tuşlardaki rakamların beyaza yakın olanları beyaza dönüşerek normal görüntü üzerinde belirtilen aralıktaki tüm renkler beyaz olmuştur.dilerseniz beyaz rengi transparana da dönüştürürsünüz, böylece kenar filtresi kullanmadan transparan kenarları daha iyi tespit etmiş olursunuz. Tarama hızı görüntünün filtrelenerek yinelenmesini sağlar, projenizde hız önemli değil ise yineleme hızını düşürmeniz tavsiye edilir. 7
SiberLojikCV SDK Kenar Filtresi Nesne tanıma ve yapay görmenin en önemli, ön çalışması olarak kabul edilen kenar filtresi, kalitesi itibarı ile projenin performansında en önemli paya sahiptir. Gerçek zamanlı olarak yüksek hızlı görüntü üzerine uygulanabilen bir çok matematiksel formül olmasına karşın en iyi sonucu ancak deneme yanılma yöntemleri ile elde edebilirsiniz. Yazılım mimarilerinde bir çok kenar filtresi yöntemleri bulunmaktadır bunlara örnek olarak sobel, prewitt, log, canny örnek verebiliriz.bu matematiksel fonksiyonların yazılım dilinde uygun fonksiyon ile derlenmesi de sonuç için çok önemlidir.bizim kullandığımız dil C# olduğundan getpixel değil de Lockbits fonksiyonu kullanılmıştır. Kullanacağınız aralık daha net bir kenar kazancı oluşturmanıza yardımcı olacaktır. Kenar çizgilerin rengi ise proje spesifiklerine göre farklı tercih sebepleriniz olacaktır. 8
SiberLojikCV SDK Nesne Tanıma (Kenar Eşleştirme ve Segmenatasyon) SiberLojikCV SDK sı içerisinde kullanılan bir çok yöntemle nesne tanımlama yapılmaktadır. Bunlardan bir tanesi olan kenar eşleştirme ve segmentasyon bir çok alanda başvurulacak genel maksatlı bir yöntemdir. Kenar filtresini aktif ettikten sonra bölge seçimi aktif tuşuna basıyoruz böylece filtrelenmiş görüntü penceremizdeki görüntünün donduğunu ve seçilecek kenarlar için işlem yapabileceğimizi belirtiyor. Seçim yaparken proje spesifiklerine piksel tarama sıklığını düşük yapmamız yazılımı daha çok kasmamıza neden olacaktır bu yüzden sıklığı az bir kenarı taramak sizi sonuca götürecek ise böyle yapmanız daha faydalı olacaktır. Aşağıda sol taraftaki görüntü 1 piksel tarama sıklığı ile elde edilmiş piksel diğer görüntü ise 3 piksel atlama yapılarak elde edilen tarama sonucudur.taranacak kenarın kalın ve ince ayarını ise fırça kalınlığından ayarlıyoruz. Sıkı Piksel Taraması Aralıklı Piksel Taraması 9
Taranacak kenar bölgelerini serbest çizim modunda tanımlarken daha fonksiyonel çizimler için CrossLine yaslanma çizgileri ile tanımlama yapmanız tavsiye edilir.dilerseniz bu özelliği CrossLine iptal tuşu ile pasif duruma alabilirsiniz.tanımlama yaptıktan sonra, yapılan tanımlamanın hangi bölge tarafından kullanılacağını seçmemiz gerekmektedir. İstediğiniz iş bölgesini seçtikten sonra, tanımlanan bölgeyi, Bölgeyi Tara butonu ile o iş bölgesine yüklüyoruz.dilerseniz tanımdan vazgeçebilirsiniz.tanımlama bittikten sonra o çizim üzerindeki taranacak noktalar seçilen iş bölgesinde farklı zamanlarda kullanabilmeniz içinde kaydedilebilir duruma gelmiştir.dilerseniz önce kaydedip işinize devam edebilirsiniz.tanımlamadan sonra o bölgeyi tarayarak sayısal farklılıkları gözlemleyebilir bu farklılıklara göre istenilen çıkışları aktif ederek düzenli mekanik süreçler oluşturabilirsiniz. 10
SiberLojikCV SDK Nesne Tanıma (Parçacık Karekterizasyonu ve Bağlantılı Bileşen Etiketleme ve Analiz) Parçacık karekterizasyonu yani Bağlantılı Bileşen Etiketleme nesneleri yüzey farklılıkları ve hakkında çok kapsamlı bilgi vermektedir. Bu uygulama için hem ikili filtre hem de kenar filtresi kullanılabilmektedir. Kaliteli bir analiz için nesnenin yapısına göre homojen bir ışık kaynağı doğru sonucu elde etmemizi sağlayacaktır. Endüstriyel konveyör üzerinde sensörler ile entegre çalışabilmektedir, bu sensörler yoğun ve hassas bir işlem algoritması gerçekleştiren karekterizasyon butonuna tıklamaktadır. 11
SiberLojikCV SDK Nesne Tanıma (Sanal Bölge Analizi Filtreli veya Filtresiz Bölge Renk Analizörü) Sanal bölgeler karşılaştırma ve eşleştirme uygulamalarında en çok kullanılan yöntemlerdir. Kullanıcının tüm değişken ve sabitleri kontrol edebildiği arayüz ile güvenlik ve endüstriyel renk ayrıştırma maksatlı bir çok ihtiyaca çözüm üretmektedir. Taranacak bölgelerin aşağıdaki gibi Mouse ile serbest moda işaretlenip daha sonra sadece o seçili bölge üzerinde ikili renk taraması yapılması, o bölgedeki değişimleri gerçek zamanlı işleme tabii tutmamızı sağlar. Bölge sayısının arttırılması ise çoklu kombinasyon ile eşleştirme ve nesne tanıma çözümleri oluşturmaktadır. 12
SiberLojikCV SDK Nesne Tanıma (Kontrol Kartı ve Senaryo) SiberLojik Mantık kapıları firmamızın buluşu olan bilgisayarın hiçbir veri iletişim noktasını kullanmadan çevre birimleri ile yazılımlarımızı kontrol etmeye yarayan TTL mantık kapılarıdır.bu kapılar Dünyada bilgisayarlı IO kontrol ve kumanda yapan hiçbir firmanın elde edemediği hızda sonuç vermektedir 20 nanosaniyede transistor tetikleyebilmektedir. Nesne tanıma ve yapay görme uygulamalarında hızlı görüntüleme hızlı kontrol ile bir bütün olmak zorundadır, bu entegrasyon ile bir çok makine ve teknoloji geliştirebilir kullanmakta olan diğer sistemlerden çok daha performanslı ve güvenli kontroller oluşturursunuz. Yukarıdaki tüm fonksiyonlar ile giriş ve çıkış işlemi yapabilirsiniz.örnek olarak aşağıdaki resimdeki sensör ile yakala fonksiyonu ile lazerli ışık ızgarası ile belirtmiş olduğunuz bölgeye parçacık girdiğinde otomatik analiz yapabilirsiniz. 13
SiberLojikCV SDK Histogram Eşleştirme Histogram çıkarma performansı önemli ölçüde olumsuz etkileyen, bir yöntemdir.kütüphane içerisinde kullandığımız matematiksel fonksiyon en verimli hale getirilmiştir.aksi halde 240 Fps lik bir hızın histogramını çıkarma mümkün olmayacaktı.diğer yöntemler ile sanal gölgelerde bu fonksiyon grafiksiz uygulandığından sanal bölgeleri kullanmanız çok daha verimli olacaktır. 14