Tengen Bilişim Teknolojileri

Yenilikçi Çözümler

[javascript protected email address]

Ar-Ge Faaliyetleri

Pat-i Framework

Kurumumuzca geliştirilen ve sürekli güncelenen, Java ile nesne yönelimli web uygulama geliştirme çatısıdır. Kurumuzun bir çok çözümünde altyapı olarak kullanılmıştır.

Kurumumuzun bilgi birikimi ve yazılım geliştirme tecrübesi ile oluşturulmuştur. J2EE teknolojileri üzerine geliştirilmiştir. Diğer uygulama geliştirme çatılarından farklı olarak sağladığı esnek yapı ile farklı altyapı ve arayüz bileşenleri kullanımına olanak sağlar. Barındırdığı arayüz bileşenleri ve altyapısı ile uygulama geliştirme için gerekli işgücü ve zaman gereksinimini azaltır.

Farklı yetkilendirme altyapılarına uyarlanabilir. Veritabanı ve platform bağımsız çalışabilir. Güvenlik bileşenleri ile istemci ve sunucu tarafında bilgi ve yetki doğrulaması yapabilir. İstemci ve sunucu arasındaki iletişimi AJAX/JSON altyapısı ile sağlayarak hızlı ve düşük ağ kullanımı ile çalışır. Multi-thread desteği ile otomatik işlem ve hatırlatmalar gerçekleştirebilir. Kullanıcı haraketlerini ve veri güncellemelerini loglayabilir.

Kullanıldığı çözümlerde performans ve güvenlik testlerinden başarı ile geçmiştir.

Veri Madenciliği Kütüphanesi

Doğal dil işleme, veri ve metin madenciliği uygulamalarında kullanılmak üzere kurumumuzca geliştirilen, teknolojinin geldiği en uç noktadaki yöntem ve araçların kullanımına izin veren bir orta katman kütüphanesidir.

Uygulama geliştiricilerin kullanımı için tasarlanıp geliştirilmiştir. Uygulama geliştirici, altta yatan algoritma detaylarından soyutlanarak veri/metin madenciliği süreçleri üzerine uygulama inşa edebilir. Girdi teşkil edilecek veriyi, verinin diline uygun ön işlemlerden geçirerek hızlı erişim ve işleme için endeksleyebilir. Endekslenen veri üzerinde seçilen algoritma ve sorgu yöntemleri ile analiz, sınıflandırma, kümeleme, benzetim v.b. işlemleri koşturulabilir. Girdi olarak sağlanan verinin otomatik olarak özetini çıkarıp anahtar kelimelerini belirlenen yoğunlukta sağlayabilir.

Büyük veri kümeleri üzerinde çalışmak gerektiğinde birden fazla nokta üzerinde çalışacak sistemler oluşturulmasına olanak sağlar.

Yayın/haber takibi, bilimsel makale araştırma/sorgu/özet çıkarımı, semantik inceleme ve sorgular, patent takip/araştırması gibi konularda geliştirilecek uygulamalara rahatlıkla altyapı oluşturabilir.

Gerçek Zamanlı Yüz Tanıma Mimarileri için Ölçeklendirilebilir Dizinleme Altyapısı

Son yıllarda personel takibi ve güvenlik başta olmak üzere kişilerin tanınmasında kullanılan yöntemler arasında “biyometrik tanıma yöntemleri” ön plana çıkmaya başlamıştır. Akıllı kart, şifre, RFID temelli sistemler güvenlik açıklarına ve uygulamaların verimsiz işlemesine neden olduğu için kişi kimliğinin fiziksel özellikler ile doğrulama yöntemlerine ihtiyaç duyulmuştur. Güvenlik gerektiren bir ortama giriş çıkışlarda veya personel takibinde, şifre ve kartlar yaygın olarak kullanılmaktadır. Ancak şifre ve kartlar çalınabilir veya başkasının yerine kullanılabilir, şifreler unutulabilir veya tahmin edilebilir oldukları için uygulamaların istenen amaca tam olarak ulaşması mümkün olmamaktadır. Buna karşın insanların yüz, parmak izi gibi biyolojik özellikleri kendilerine hastır, taklit edilemez çalınamaz veya başkası tarafından kullanılamaz.

Parmak izi, iris, retina, el geometrisi ve yüz bilgilerinin işlenmesi biyometrik temelli tanıma yöntemleri arasında sayılabilir. Yüz tanıma pek çok nedenden dolayı diğer yöntemler arasında öne çımaktadır. Yüz tanımanın avantajları şu şekilde özetlenebilir;

  • Parmak izi veya retina tanıma gibi uygulamalar kullanıcının bir okuyucu veya kamera önünde sabit durmasını gerektirirken yüz tanımada kameralar belli bir mesafeden ve farklı açılardan yüzü görebildikleri için yüzün tanınması kullanıcının inisiyatifine bırakılmaz. Bu durum güvenlik ve takip uygulamalarında önemli bir avantaj sağlar. Diğer yöntemlerde özellikle güvenlik uygulamalarında tanınmak istemeyen kişinin sistemden kaçma şansı varken örneğin aranan veya yeri tespit edilerek takip edilen bir kişinin yüz tanıma uygulamasından kaçması daha zordur.
  • Diğer biyometrik tanıma yöntemlerin verinin hatalı alınmasına açık yöntemlerdir. Deride meydana gelebilecek bir yara veya bozulma parmak izinin veya el yapısının doğru okunmasını engellerken iris ve retina tanıma küçük hareketlerden bile kolay etkilenebilecek yöntemlerdir. Ses tanımada özellikle açık ortamlarda ortamdaki seslerden etkilenebilir. Bunlara karşın yüz tanıma ucuz kameralarla ve doğru normalleştirme teknikleri kullanıldığında hemen her ortamda uygulanabilecek bir yöntemdir. Doğru yüz tanıma algoritmaları ve uygun ön işleme yöntemleri kullanıldığında aydınlatma, yüzün açısı vb. sorunlar rahatlıkla çözülebilir.

Yüz tanıma 2 farklı amaç için kullanılır;

  • Doğrulama (eşleştirme): Kameranın gördüğü yüzün kişinin kendisi olduğunu iddia ettiği kişi olup olmadığına bakıllır.
  • Tanıma: Kameranın gördüğü yüzler arasında bulunmak istenen yüzün bulunup bulunmadığına bakılır.

Yüz tanıma bu iki amaçla çok sayıda kullanım alanına sahiptir. Bunlardan bazıları;

Büyük veri kümeleri üzerinde çalışmak gerektiğinde birden fazla nokta üzerinde çalışacak sistemler oluşturulmasına olanak sağlar.

Yayın/haber takibi, bilimsel makale araştırma/sorgu/özet çıkarımı, semantik inceleme ve sorgular, patent takip/araştırması gibi konularda geliştirilecek uygulamalara rahatlıkla altyapı oluşturabilir.

  • Güvenlik (güvenlik gerektiren binalara giriş-çıkışların kontrolü, ATM'lerde kimlik tespiti, sınır kontrol noktaları vb.)
  • Takip (özellikle kent güvenliği uygulamalarında yaygınlığı gittikçe CCTV kameralarından elde edilne görüntülerin aranan suçluların bulunması için kullanılması )
  • Genel kimlik doğrulama işlemleri (seçmen kaydı, bankacılık işlemleri, e-ticaret sitelerine üyelik vb.)
  • Suç olaylarında olay sonrası inceleme (CCTV görüntülerinin zanlıların bulunması amacıyla taranması )
  • Görüntülü veri tabanlarının çeşitli amaçlarla (kayıpların bulunması vb.) incelenmesi ve taranması
  • Akıllı kart uygulamaları
  • Multimedya ortamlarında insan-bilgisayar arayüzleri (HMI) uygulamaları
  • Video indeksleme (videolarda yüzlerin etiketlenmesi)

Yüz tanıma uygulamaları yukarıda listelenen kullanım alanlarının yanı sıra cinsiyet ve yaş tespiti için de altyapı olarak kullanılabilir. Yüz tanıma ayrıca daha kapsamlı ve verimli uygulamalar geliştirmek için konuşma, iris, parmak izi tanıma gibi farklı biyometrik uygulamalar ile birlikte de kullanılabilir.

Yüz tanıma nesne tanıma uygulamaları arasında en özelleşmiş ve zor olan alanlardan biridir. Bunun nedeni yüzlerin diğer nesnelere oranla daha birbirine benzer olması ve buna bağlı olarak ayırt edici özelliklerinin tespitinin zor olmasıdır. Geleneksel örüntü tanıma teknikleri ile yüzlerin başarılı bir şekilde ayırt edilmesi çok zordur. Işık, yüzün duruş açısı gibi dış faktörler de yüzün tanınmasını ve diğer yüzlerden ayırt edilmesini zorlaştırır. Bu etkenlerin elimine edilmesi için doru ön işleme yöntemlerinin uygulanması gerekir. Ayrıca, veritabanında bulunan yüz sayısı ne kadar fazlaysa uygulamanın yüzü bulma süresi de o kadar uzamaktadır. Bunun için ölçeklendirilebilir bir dizinleme altyapısı kullanılması gerekir.

Proje kapsamında gerçek zamanlı ve yüksek doğruluk oranına sahip bir yüz tanıma uygulaması ve bu tür uygulamaların ölçeklendirilebilir olmasını sağlayacak olan bir dizinleme altyapısıdır.

Proje kapsamında yüzün her bir bölgesini (burun, ağız vb.) özetleyecek farklı algoritmalar tespit edilmekte ve ulaşılan özet bilgiler dizinleme altyapısına aktarılmaktadır. Dizinleme altyapısı kapsamında geliştirilen çözüm sorgulanan özet verileri işleyerek gerçek zamanlı ve ölçeklendirilebilir sorgu sonuçları sağlayacak şekilde tasarlanmıştır.

Yüz tanıma uygulamalarının gerçek zamanlı olabilmesi için görüntü işleme kadar dizinleme altyapısının da yüksek performansa sahip olması gerekir. Ayrıca, özellikle güvenlik amaçlı olarak kullanılan yüz tanıma uygulamalarında veritabanına yüklenen yüz verisi miktarı sürekli artış gösterebilmektedir. Dolayısıyla dizinleme altyapısının ölçeklendirilebilir olması uzun vadede uygulamanın performansına olumlu yönde katkı sağlamaktadır. Proje paralel ve çok çekirdekli programlama teknikleri kullanılarak gerçek zamanlı bir yüz tanıma yazılımı ve ölçeklendirilebilir bir dizinleme altyapısını hayata geçirmektedir.

Dizinleme altyapısında çeşitli kümeleme ve indeksleme yöntemleri çalışmaktadır. Yüz tanıma algoritmaları tarafından çıkartılmış olan sayısal öznitelik vektörleri kayıt edilip saklanmakta ve gerektiğinde yüksek performans ve bulunurlukla işlenerek benzer kayıtların tespiti yapılmaktadır. NoSQL veri yapıları üzerinde çalışmaktadır.

 geri