Bitirme Tezi : "Güvenlik Sistemi" ' nin Genel Tanımı

   ÜRÜN PERSPEKTİFİ

   Geliştirilecek uygulama içerisinde ilk olarak evin belirli bir noktasında konumlandırılacak Arduino üzerinde çalışan kamera ve Arduino ile TCP üzerinden haberleşecek bir server ‘a ihtiyacımız var. Direkt olarak server’a bağlı bir kamera yerine Arduino üzerinde bir kamerayı tercih sebebimiz daha sonrasında bu kamerayı hareketli hale getirebilme ihtimalidir. Arduino üzerindeki bir kamera ile belirli bir cismin takibi gerçekleştirilebiliyor olacak. Daha sonra uygulamayı aktif olarak kullanacak olan kullanıcıların yüzlerini analiz ederek yüz hatlarındaki mesafeler de katılarak burun genişliği, burun uzunluğu kaşlar arasındaki mesafe, çene yapısı,göz yapısındaki çukurluğa  kadar en ince ayrıntısının veri tabanında tutulması sağlanacaktır. Yüz tanıma sisteminin model eğitimi için kullanılacak fotoğraflar kişinin yüz kıyaslamasını elindeki modele bakarak gerçekleştirecek ve kullanıcının belirlediği eşleşme yüzdesinin altında olduğunda alarm mekanizması devreye girecektir. Bu alarm mekanizması kişinin Android telefonuna yükleyeceği bir uygulama içerisinde Notification üretilerek veyahut bir IP PHONE araması yapılarak gerçekleştirilecektir. Sistem iki alarm çeşidini de destekleyecek, alarm çeşidi kullanıcının tercihine bırakılacaktır. Sistemin alarm mekanizması kullanıcı kontrolünde çalışacaktır. Kameranın tespit ettiği kişi modele uymuyorsa kişiye “Evinde Biri Var Haberin Var Mı” şeklinde geri sayım içeren bir bildirim gönderilecek. Kişi bu bildirime olumsuz dönüş yapar veyahut belirli bir süre içerisinde dönüş yapmazsa alarm çalışacaktır. Kullanıcının android uygulaması aynı zamanda “Panik Butonu” içerecektir. Bu buton kişinin kendini güvende hissetmediği anda kişinin belirlediği numaralara kişinin konumunu bildirecektir. Alarm mekanizmasının aktif olması için kullanıcının kendi mobil arayüzünde bunu aktif etmesi gerekecektir. Geliştirilen proje bu güncel sorunlara çözüm arayacaktır.

               Sistem Arayüzü:

               Sistem .Net üzerinden çalışabilen OpenCV ve EmguCv kütüphanelerinden faydalanarak görüntüişleme gerçekleştirilecektir. Proje de kullanacak olduğumuz client uygulaması Android bir uygulama olarak geliştirilecektir. Veri tabanı server üzerinde olacaktır. Client in veri tabanına erişimi bir web api üzerinden sağlanacak ve bu iletişimin güvenliği için token based authentication kullanılacaktır. Veri tabanı olarak microsoft sql server kullanılacaktır.
               OpenCv; Açık kaynak kodlu görüntü işleme kütüphanesidir. Open source yani açık kaynak kodlu bir kütüphanedir ve BSD lisansı ile altında geliştirilmektedir. BSD lisansına sahip olması bu kütüphaneyi istediğiniz projede ücretsiz olarak kullanabileceğiniz anlamına gelmektedir.  OpenCV platform bağımsız bir kütüphanedir, bu sayede Windows, Linux, FreeBSD, Android, Mac OS ve iOS platformlarında çalışabilmektedir.

              Kullanıcı Arayüzü:

              Projemizdeki alarm sistemi ve kullanıcıya bildirim sağlanacak sistem mobil android uygulaması olarak geliştirilecek ve android telefonlarında bu sistem yüklenecektir. Uygulama ilk açıldığında kullanıcının sisteme giriş yapabilmesi için kullanıcı adı ve şifreyi doğru şekilde girip giriş butonuna basması gerekmektedir. Bu sistemde panik butonunu kullanıp alarm seçenekleri ve panik butonu seçeneklerine geçebilecektir.


     ÜRÜN FONKSİYONLARI

              GÖRÜNTÜ İLETİMİNİN SAĞLANMASI
     Ardunio ile çalışan ve görüntü iletimini sağlayacak kamera ile bu işlem gerçekleştirilecektir.


              WİNDOWS UYGULAMASI

    Kameradan gelecek olan görüntüleri alacak işleyecek ve gerekirse uyarı alarmı üretecek bir uygulamanın geliştirilmesi.


              DIŞARDAN ALINAN VERİYLE KARŞILAŞTIRILMASI

    Sistemi kullanan kullanıcıların veri tabanındaki verileriyle diğer algılanan kişilerin verilerinin belirlenen benzerlik oranına göre karşılaştırılması yapılır.


              ANDROİD UYGULAMA 

    Alarm mekanizması sırasında kullanıcıyı bilgilendirecek, kullanıcıdan gelen alarm isteklerini veri tabanına iletecek ve uygulamanın aktifliğinin değiştirilmesine olanak sağlayacak bir uygulama geliştirilecek.


             KULLANICININ TEHLİKE BİLDİRİMİ
    Kullanıcıya gelen kişinin resimli olarak mobil bildirimi yapıldıktan sonra kullanıcı bu kişiyi tanımıyorum seçeneğiyle alarmı devreye sokarak polise haber verme işlemlerini gerçekleştirebilecektir.


             WEB API
    Android ile veri tabanı arasında köprü vazifesini gerçekleştirecektir.


     
      KULLANICI ÖZELLİKLERİ

      Sistemdeki kullanıcılar aşağıdaki gibidir.

      Sistemi Aktif olarak kullanacak olan kullanıcı; bu kullanıcının tüm yüz hatları   özellikleri sisteme en ince ayrıntısı ile yüklenecektir. Sisteme yalnızca bir kişinin yüzü tanımlanmayabilir. Bu sistemi kullanan kişilerin tanıdıklarının da sisteme yüklenmesi sağlanacaktır.


     KISITLAMALAR


  • Uygulama geliştirilirken dokümanın ilgili kısımlarında da bahsedildiği üzere Arduino kullanılacaktır.
  • Arduino hafıza birimleri açısından kısıtlı olduğu için görüntü işlemede aktarılacak olan resimlerin kaliteleri de VGA kalitede olacaktır.
  • Bu resimlerin aktarımı için kullanılacak olan kamera ancak VGA görüntü kalitesini desteklemektedir.
  • Client uygulaması yalnızca Android olacağı için IOS işletim sistemi yüklü telefonlarda çalışmayacaktır.


    VARSAYIM VE BAĞLILIKLAR

  • Sisteme yüklenen kişi yüzleri arttıkça dışarıdan algılanan herhangi bir yüzün önceden tanımlanan yüzlerle karşılaştırılması ve benzerlik oranına göre diğer işlemlerin uygulanması uzun sürebilir.
  • Veritabanının hafızasının kısıtlılığı veya veritabanına erişilemediği durumlarda veya veri tabanına bağlı sistem bölümlerinde işlem yapılamaması ihtimali bulunmaktadır.
  • Sistemde bazı aksaklıklar veya hatalar olsa bile sistem işlevlerine devam edebilecek şekilde tasarlanacaktır. Sistemin durması veya sistem işlev yapamaz hale gelmesi gibi durumlar söz konusu olmayacaktır.
  • Sistem sürekli hizmet verecek şekilde geliştirilecek ve tasarlanacaktır.


    ÖZEL GEREKSİNİMLER

        KULLANICI ARAYÜZ GEREKSİNİMLERİ
    Geliştirilen  sistemde bilindiği üzere kullanıcıya bildirim sağlaması amacıyla mobil uygulama geliştirilecektir. Uygulamada gerçekleşecek adımlar aşıdaki gibidir.
             
                ANASAYFA

                Güvenlik Sistemi  isimli uygulamamızın  anasayfasında kullanıcı sisteme kullanıcı adı ve şifre kısımlarını doldurduktan sonra bu sayfa üzerinden giriş yapabilecektir.
         
 
               PANİK BİLDİRİMİ

               Anasayfadaki giriş başarıyla yapıldıktan sonra panik sayfası karşımıza gelmektedir. Panik sayfasında panik butonu kullanılabilecek , Alarm seçenekleri menülerine geçilebilecektir.


             ALARM SEÇENEKLERİ

             Alarm seçenekleri sayfasında alarm için gerekli parametler yer alacaktır.Bu parametler acil durum anında haber verilmesi istenen kişinin ismi ve telefon numarası biligisinin girilerek o kişiye haber verme imkanı sağlayacak. Haber verme çeşitleri de seçmeli şekilde olacak arayarak,kısa mesaj atarak veya direk polise haber verme seçenekleri olacak.


          ALARMI DEVREYE SOKMA

          Bu sayfada ise notification ekranı ile alarm durumunda kendisine gelecek olan  notification ile alarmın devreye girip girmeme durumu belirlenecektir. Kullanıcıya gelen kişinin yabancı olup olmadığını yanıltlayarak alarmı devreye sokup sokmayacağına karar verecektir.





   KULLANIM DURUMU SENARYOSU
     
          AKTÖRLER

          Geliştirilen uygulamnın kullanıcılarının  kimler olduğunu tanımlar. Uygulamının kullanıcıları kimler sorusuna cevap veririr. Bizim uygulamamız olan yüz tanıma sisteminin Aktörleri yani kullanıcıları evindeki güvenliği sağlamaya çalışan ev sahibi veya iş yerlerindeki güvenliği sağlamaya çalışan işyeri sahibi  olabilir. Diğer bir aktör devreye girecek alarm olabilir.


Belirlenen Aktörler yüz tanıma sistemini kullanarak ne yapmak isterler;

-Aktör: Ev Sahibi
Evine girecek yabancı birinden haberdar olma
Alarm sistemini çalıştırabilme
Olası tehlikelerden evini koruyabilme

-Aktör: Alarm sistemi
Kullanıcının panik anında devreye sokabilceği bir sistem.



  KULLANIM SENARYOSU MODELİ

Şekil 1
   KULLANICI SENARYOSU TANIMI

Tablo 1

Tablo 2

     VERİ TABANI TASARIMI

     Uygulamamız’ın ana işlevi veri tabanı bağımlı olmamakla birlikte üretilecek alarmlar, panik durumları ve kullanıcı bilgileri gibi parametreler için veritabanından yararlanmak gerekmektedir.
Big Data gibi bir durum söz konusu olmadığı için klasik bir veritabanı yapısı uygulamamız için yeterli olacak,NoSQL-Cache mechanism gibi durumlarla karşılaşılmayacaktır.

    Uygulamamızın veritabanının güvenliği dikkate alınması gereken bir konu olduğu için yalnızca tek bir dar boğazdan(WEB API) veritabanına erişim sağlanacaktır.

    Bu darboğaz vazifesini üstlenen WEB API token based authentication olarak çalışacaktır.
Genel manada veritabanımızda 5 adet tablo bulunmaktadır.

    Bu tablolardan biri hariç diğerleri parametreleri tutmak ve alarm mekanizmalarında kullanılmak üzere oluşturulmuştur.

    Aşağıda belirtilen DBMS ER Diagram üzerinde veri tabanı yapımız detaylı biçimde anlatılmıştır.

Tablo 3


Yorumlar

Popüler Yayınlar