=Paper= {{Paper |id=Vol-2201/UYMS_2018_paper_111 |storemode=property |title=Video Olay Tanima Sistemleri Icin Bir Veri Uretim Yaziliminin Gerceklestirilmesi(Development of a Data Generation Software for Video Event Recognition Systems) |pdfUrl=https://ceur-ws.org/Vol-2201/UYMS_2018_paper_111.pdf |volume=Vol-2201 |authors=Karani Kardas }} ==Video Olay Tanima Sistemleri Icin Bir Veri Uretim Yaziliminin Gerceklestirilmesi(Development of a Data Generation Software for Video Event Recognition Systems)== https://ceur-ws.org/Vol-2201/UYMS_2018_paper_111.pdf
  Video Olay Tanıma Sistemleri için bir Veri Üretim
           Yazılımının Gerçekleştirilmesi

                                    Karani Kardaş

Havelsan A.Ş., Komuta Kontrol ve Savunma Teknolojileri Direktörlüğü, 06510, Çankaya,
                                 Ankara - Türkiye.
                        kkardas@havelsan.com.tr



    Özet. Video sistemlerinin kurulum ve kullanım maliyetlerinin azalması ve bu
    sistemlerin açık alanlardaki güvenliğe katkısı nedenleri ile kişi tespit-takip
    yapabilen ve aktörler arası gerçekleşen olayları tanımaya çalışan gözetim video
    sistemleri yazılımları gün geçtikçe yaygınlaşan aktif bir çalışma konusudur.
    Makine öğrenmesi yöntemleri kullanılan bu çalışmalarda öğrenilen yöntemlerin
    ve modellerin başarısının ölçümü için test verilerine olan ihtiyaç büyüktür.
    Gerek öğrenme sürecinde gerek de test aşamasında kullanılabilecek veri
    kümelerinin büyüklüğü geliştirilen tanıma sisteminin başarısını önemli ölçüde
    etkiler. Özellikle arka plan çıkarımı ve nesne takibi gibi alt seviye işlemleri
    yapmadan, bu alt seviye üzerine geliştirilen video olay tanıma yazılımlarının
    testlerinde perspektif problemlerinden bağımsız, kamera kalibrasyonu gibi
    ayarlar ile uğraşmadan hızlı bir şekilde test veri ihtiyacının karşılanması
    önemlidir. Bu çalışma, video olay tanıma sistemleri için test verilerinin
    oluşturulması için geliştirilmiş bir yazılımı sunar. Bu bağlamda, çalışmada
    sahne tasarımı, aktör ve olay tanımlarının kullanıcı tarafından tanımlanabileceği
    bir Test Verisi Üretim Yazılımı tanıtılmaktadır. Geliştirilen bu yazılım ile
    üretilen test verilerinin gerçek bir olay tanıma sisteminde başarılı bir şekilde
    kullanımı gösterilmiştir.

    Anahtar Kelimeler: Test Verisi Üretimi, Gözetim Videoları, Olay Tanıma.




Development of a Data Generation Software for Video
            Event Recognition Systems

    Abstract. Surveillance video systems software, which is able to detect and
    track people and recognize the events that occur between actors, is an active
    topic due to the decrease in the installation and usage costs of video systems
    and the contribution of these systems to public security. There is a great need
    for test data for evaluating the success of the methods and models learned in
    these studies using machine learning methods. The size of the datasets that can
    be used both in the learning process and in the test phase significantly impacts
    the success of the developed event recognition system. In particular, it is
    important to quickly meet the test data needs without camera calibration or
       perspective problems in the testing of video event recognition software in which
       there is no low level operations such as background subtraction and object
       tracking. This work presents test data generation software for video event
       recognition systems. In this respect, we present a Test Data Generation
       Software in which scene design, actor and event definitions can be defined by
       the user. Successful use of generated test data by the developed software in a
       real event recognition system is demonstrated in the paper.

       Keywords: Test Data Generation, Surveillance Videos, Event Recognition.


1      Giriş
Video kamera sistemlerinin kurulum ve kullanım maliyetlerinin azalması, açık alan
güvenlik alanında gözetim kamera sistemlerinin kullanımını yaygınlaştırmıştır. Olası
bir olay durumunda sistemler tarafından kaydedilen videoların insanlar tarafından
izlenerek çıkarımların yapılması uzun zaman ve emek gerektirir. Otomasyonu
arttırarak bu dezavantajları azaltma amacıyla videolarda takip ve olay çıkarım
kabiliyetlerine sahip olay tanıma yazılımları, üzerinde çalışılan önemli bir konudur.
Bu yazılımlar sayesinde günümüz video analiz sistemleri, basit görüntü kaydı yapan
sistemlerden öteye geçerek insan kaynağı ihtiyacını ve olaylara müdahale süresini
azaltır. Böylece bu sistemlerin açık alanlardaki güvenliğe katkısı artar.
   Videolarda olay tanıma yazılımları, videoların otomatik olarak incelenmesi ve
gerçekleşmiş olayların bulunmasını sağlar. Videolarda olay tanıma, üzerinde çalışılan
önemli konulardan biridir [1]. Videolarda bulunmaya çalışılan olaylar “Koşma”,
“Durma” ve “Yürüme” gibi tek aktörün meydana getirdiği aktiviteler olabileceği gibi
“Toplanma”, “Birlikte Yürüme”, “Kovalama” ve “Kavga” gibi birden fazla aktörün
birlikte meydana getirdiği daha karmaşık olaylar olabilir.
   Olay tanıma işlemi amaca ulaşmak için belli adımlardan oluşmaktadır. Başarılı
olay tanıma işlemleri makine öğrenmesi yöntemlerini içerir ve genel olarak seçilen
olay model yöntemine göre olay modelleri, öğrenme verileri yardımı ile öğrenilerek
modellenir. Daha sonra modelin kalitesini ölçme adına öğrenme işleminde
kullanılmamış başka test verileri ile modellerin kalitesi test edilir. Gerek öğrenme ve
gerek de test aşamasında kullanılmak üzere test verilerinin önemi kullanılan makine
öğrenmesinin başarısında büyük rol oynar. Test verilerinin büyüklüğü geliştirilen
tanıma sisteminin başarısını önemli ölçüde etkiler.
   Olay tanıma işlemi genel olarak alt seviye işlemler ve üst seviye işlemlerden
oluşur. Alt seviye işlemler arka plan çıkarımı, nesne tanıma ve takip gibi piksel
tabanlı işlemlerdir. Üst seviye işlemler ise alt seviden çıkarımı yapılmış aktör ve
onların takip ettiği yol bilgilerinin anlamlandırılması ile ortaya çıkan olay modelleri
kullanılarak karmaşık ilişkilerin ve olayların çıkarımından oluşur. Özellikle alt seviye
işlemleri yapmayan ve üst seviye işlemlere yoğunlaşan çalışmalarda aktörler ile
nesneler belirlenmiş ve hareket takipleri yapılarak elde edilmiş aktörlerin hareket
bilgilerinden oluşan test verilerini bulup kullanmak önemlidir. Günümüzde video
çekimi ile uğraşmadan hatta video çekimi sonrası arka plan çıkarımı, nesne tanıma ve
takip gibi alt seviye problemleri ile uğraşmadan perspektif problemlerinden bağımsız
üretilmiş video verisi bulmak hayli zordur. Üstelik video çekimi yapmak ve
bahsedilen alt seviye işlemler yaparak üst seviye için test verisi oluşturmak maliyetli,
zahmetli ve hataya yatkın bir süreçtir. Bu nedenlerle üst seviye algoritmalarının hızlı
bir şekilde testlerinin yapılabilmesi için hazır veriseti bulmak ve oluşturmak olay
tanıma sistemleri için önemlidir.
   Bu çalışmada yukarıda önemi ve kullanım amacı bahsedilen test verilerinin
üretimini gerçekleştirme amaçlı, gözetim videoları için sahne tasarımı, aktör ve olay
tanımlarının kullanıcı tarafından tanımlanabileceği esnek bir sentetik veri üretimi
yazılımı geliştirilmiştir. Çalışma kapsamında, oluşturulan sentetik verilerin gerçek bir
uygulamada kullanımı gösterilmiştir. Böylece test verisinin kısıtlı olduğu zamanlarda,
kullanıcıların gerçekleştirdikleri olay tanıma yazılımlarının testini yapabilmek için
ihtiyaç duyacakları test verileri etkili bir şekilde sağlanmış olur.
   Bildiri şu şekilde organize edilmiştir: ikinci bölümde literatür taraması sonuçları
sunulmuş ve bu konudaki yer alan diğer çalışmalar hakkında bilgiler verilmiştir.
Üçüncü bölümde geliştirilen yazılım detaylı bir şekilde sunulmuştur. Dördüncü
bölümde geliştirilen yazılımı kullanılarak yapılan deneyler anlatılmıştır. Son bölümde
uygulamanın artı ve eksi yönleri tartışılmış, sonuçlar ve gelecek çalışmalar
değerlendirilmiştir.


2      İlgili Çalışmalar
Literatür incelendiğinde olay tanımanın yapay zeka ve görüntü işleme alanlarında son
yıllarda aktif olan bir konu olduğu görülür. Bu bağlamda, olay tanıma konusunda
farklı makine öğrenmesi yöntemini kullanan birçok çalışma vardır. Örneğin [2]
çalışmasında kural tabanlı yöntemler kullanılmıştır. [3], [4] ve [5] çalışmalarında
Sinir Ağları, Bayes Ağları, Saklı Markov Modelleri, Sonlu Durum Makineleri gibi
olasılık içeren modeller kullanılmıştır. [6] çalışmasında ise Karar Ağaçları yöntemi
olay tanıma metodu olarak kullanılmıştır. Konu Modelleri ve Kelime Çantası
yaklaşımları da [7] ve [8] gibi çalışmalarda zamanı dikkate almayan yöntemler olarak
olay tanıma işlemlerinde kullanılmıştır. Bazı çalışmalarda ise anlamsal modeller
kullanılmıştır. Örneğin [9] çalışmasında Petri Net, [10] ve [11] çalışmalarında ise
mantık tabanlı yaklaşımlar ve [12] çalışmasında Kısıt Tatmini yöntemi kullanılmıştır.
[13] ve [14] çalışmalarında ise son zamanlarda performans yönünden etkinliği ile ön
plana çıkan Derin Öğrenme yöntemi kullanılmıştır. Hem olasılık tabanlı oluşu hem de
anlamsal modeller sunması nedenleri ile Markov Mantık Ağları yöntemi [15] ve [16]
çalışmalarında kullanılan önemli bir makine öğrenmesi yöntemidir.
   Yukarıda bahsedilen olay tanıma için kullanılan makine öğrenmesi yöntemlerinin
her birinin farklı avantaj ve dezavantajları vardır. Ancak tüm makine öğrenmesi
yöntemlerinde olan ortak özellik öğrenme ve test verilerine olan büyük ihtiyaçtır.
Özellikle alt seviye işlemleri yapmadan üst seviye işlemlere yoğunlaşan olay tanıma
çalışmalarında aktörler ve nesneler belirlenmiş ve hareket takipleri yapılarak elde
edilmiş aktörlerin hareket bilgilerinden oluşan test verilerini bulmak önemlidir.
Literatürde bu bağlamda gözetim videoları için geliştirilmiş ve çıkarımları yapılarak
XML formatında işaretlenmiş veri setlerinden en önemlileri CAVIAR [17] ve
BEHAVE [18] Verisetleridir. Bu verisetleri XML formatında olduğu için alt seviye
yeteneklerine sahip olmayan uygulamalar için çok önemlidir. Bu verisetlerinde her bir
video kullanıcı yardımı ile işaretlenmiş, videonun ilgili bölümlerindeki aktörler
etiketlenmiş ve aktörlerin birbirleri arasındaki olaylar belirtilmiştir. Şekil 1 CAVIAR
Veriseti’nden örnek bir XML verisini göstermektedir. Şekil 1’den de görüldüğü gibi
bu veriseti aktörlerin piksel olarak pozisyon, genişlik ve boy bilgilerini her bir video
çerçevesi (frame) için tutar. Ek olarak aktörün yapmış olduğu ve aktörler arası
gerçekleştirilmiş olan olaylar yer alır.




Şekil 1. CAVIAR Video Veriseti’nden Örnek Bir XML Verisi

   CAVIAR ve BEHAVE Verisetleri gözetim videolarında olay tanıma çalışmalarında
literatürde oldukça yaygın kullanılmıştır. Örneğin [5], [6], [10], [11] ve [19]
çalışmalarında CAVIAR Veriseti, [20], [21], [22], [23] ve [24] çalışmalarında ise
BEHAVE Veriseti kullanılmıştır. [16] gibi bazı çalışmalarda ise her iki veriseti de
kullanılmıştır.
   CAVIAR Video Veriseti 28 adet elle işaretlenmiş açık alanda çekilmiş videodan
oluşur. Bu verisetinde “Koşma”, “Durma”, “Yürüme”, ve “Ani Hareket” olmak üzere
dört tip temel aktivite ve “Kavga”, “Bırakılan Nesne” ve “Toplanma” olmak üzere üç
tip de olay tanımlıdır. CAVIAR Verisetinde, işaretlenmiş video çerçeve sayısı
“Koşma” için 406, “Durma” için 2934, “Yürüme” için 14134 ve “Ani Hareket” için
1872 ’dir. Veri sayısındaki bu heterojenlik, CAVIAR Veriseti’nin başarılı kullanımını
zorlaştırmakta öğrenme algoritmasının olayları başka olaylarla karıştırmasına sebep
olmaktadır. Ayrıca CAVIAR Veriseti’nde, tanımlı olay sayısı oldukça azdır. Örneğin
“Toplanma” olayı için 6, “Kavga” olayı için 3 ve “Bırakılan Nesne” için 4’tane olay
verisi vardır. Veri sayılarının bu şekildeki az oluşu da, bu veri setinin başarılı
kullanımını zorlaştıran diğer bir önemli faktördür. CAVIAR Video Verisi’nden örnek
bir görüntü Şekil 2’de gösterilmiştir.
Şekil 2. CAVIAR Video Veriseti’nden Örnek Bir Görüntü

   BEHAVE Veriseti toplam olarak 76800 video çerçevesinden oluşur. Videoların
çözünürlüğü ise 640x480 pikseldir. Bu verisetinde “Birleşme”, “Yaklaşma”, “Birlikte
Yürüme”, “Ayrılma”, “İzleme”, “Kovalama”, “Kavga”, “Birlikte Koşma” ve
“Tanışma” olayları tanımlıdır. Ancak bu verisetinde de olay sayıları CAVIAR
verisetinde olduğu gibi homojen değildir. Bazı olay tipleri için çok fazla veri varken
bazıları için çok az veri vardır. Örneğin “Birleşme”, “Yaklaşma”, “Birlikte Yürüme”
ve “Ayrılma” olaylar için sırasıyla 35, 25, 43 ve 23 olay verisi varken, “İzleme” ve
“Tanışma” olayları için sadece birer olay verisi tanımlanmıştır. BEHAVE
Veriseti’nden alınan örnek görüntüler Şekil 3’de gösterilmiştir.




Şekil 3. BEHAVE Video Veriseti’nden Örnek Görüntüler

   Mevcut çalışmalar genel olarak değerlendirildiğinde yukarıda da bahsedildiği gibi
özellikle üst seviye olay tanıma çalışmaları için geliştirilmiş olan CAVIAR ve
BEHAVE Verisetleri ön plana çıkmaktadır. Ancak bu verisetlerinin bazı eksiklikleri
vardır. Öne çıkan en büyük problem bu verisetleri hazırlanırken kullanılan kamera
parametrelerine göre oluşan perspektif problemidir. Kameralar tam tepeden bakacak
şekilde olmadığı için bu problem ortaya çıkar. Özellikle CAVIAR Veriseti’nde
kullanılan bombeli kamera nedeni ile oluşan perspektif problemi büyüktür. Bu
verisetlerinde düzgün çalışmalar yapılabilmesi için kalibrasyon işlemleri gereklidir.
Her ne kadar bu verisetleri kısmi kalibrasyon parametreleri sağlasa da verilerin
düzeltilmesi zordur ve düzeltme işlemi sonrası bile elde edilen veriler tam tepeden
bakan görüntülerden elde edilen veriler kadar başarılı olamaz. Bu verisetlerinde
dikkate alınan önemli bir diğer problem ise verisetlerinde tanımlı olan olayların
sayılarının arasında büyük farklar olmasıdır. Verisetleri arasındaki büyük farklar
çıkarılan olayların birbirleri ile karıştırılmasına sebep olur. Son olarak dikkate
alınabilecek diğer bir problem de veriseti sayısının bazı olay tipleri için çok az ve
farklı senaryoları içermeleri nedenleri ile tutarsız oluşudur. Örneğin [19] çalışmasında
CAVIAR Veriseti’ndeki “Toplanma” verisi için bu durum dile getirilmiştir.
   Yukarıda bahsedilen problemler bütünüyle dikkate alındığında ve yeni olay
videolarının çekimi ile olay çıkarımı işlemlerinin zaman alıcı ve maliyetli oluşu göz
önüne alındığında sentetik veri üretme yazılımına olan ihtiyacın büyük olduğu
görülür. Bu bildiride önerilen çalışma ile literatürdeki bu eksikliğin giderilmesi
hedeflenmiş, tam tepeden bakan istenen sayıda olay verilerinin alt seviye işlemlere
gerek kalmadan üretilebilmesi sağlanmıştır.


3      Test Verisi Üretim Yazılımı
Test Verisi Üretimi Yazılımı farklı olay tipleri için test verisi hazırlanmasını sağlayan
bir uygulama aracıdır. Bu uygulama ile esnek bir şekilde sahne modellenebilir ve olay
senaryoları hazırlanabilir. 50 cm * 50 cm boyutlarındaki ızgaralardan oluşan değişik
büyüklükteki sahneler oluşturulabilir. Izgara büyüklüğünün 50 cm * 50 cm olarak
sabit seçilmesinin sebebi bu büyüklüğün yaklaşık olarak bir aktörün etki alanını
kapsamasıdır. Oluşturulan senaryolar tam tepeden bakış şeklinde oluşturulduğundan
perspektif problemlerinden bağımsızdır ve kalibrasyona ihtiyaç duyulmaz. İnsan,
araba ve nesne gibi farklı aktör tipleri tanımlanabilir. Nesneler, çanta gibi özellikle
gözetim videolarındaki olaylarda yer alabilecek muhtemel aktörlerdendir. Senaryo
oluşturulurken her bir aktör için hareket bilgileri zaman aralıkları verilerek girilebilir.
Hareket bilgileri sahne ızgaraları işaretlenerek belirtilebilir. Oluşturulan senaryolar
izleme ve kontrol amacıyla bir akan video gibi oynatılabilir. Şekil 4’te Test Verisi
Üretimi Yazılımı’nın ana kullanıcı ekranı gösterilmiştir.




Şekil 4. Test Verisi Üretim Yazılımı'nın Ana Kullanıcı Ekranı Görüntüsü
   Sahne yapısı ve video uzunluğu bilgileri ana ekranın sağ üstünde yer alan “Scene”
ve “Video Size” kullanıcı bileşenlerinden tanımlanabilir (Şekil 5). Sahne yapısı metre
cinsinden girilir böylece 50 cm’lik ızgaralardan oluşan sahne tasarlanır. Video süresi
de başlangıç ve bitiş saniyeleri olarak girilir.




Şekil 5. Sahne ve Video Bilgilerinin Girilmesi

   Senaryoda yer alacak aktörler tipleri ile birlikte “Add Actor” isimli aktör ekleme
kullanıcı bileşeni ile eklenebilir (Şekil 6). Sistemde şu an için geçerli aktör tipleri
İnsan, Nesne ve Araba tipleridir (Şekil 7).




Şekil 6. Aktör Ekleme Bileşeni                   Şekil 7. Tanımlı Aktör Tipleri

   Şekil 8’de gösterilen “Add Trajectory” isimli kullanıcı bileşeni ve ana ekranın
solunda bulunan ızgaralar kullanılarak aktör hareketi tanımlanabilir. Her bir aktör
hareketi için hareket şekli zaman aralığı ile birlikte verilerek ve ızgaralar üzerinde
işaretlenerek tanımlama yapılabilir. Zaman aralığı “Add Trajectory” isimli kullanıcı
bileşeninden belirlenir.




Şekil 8. Aktör Hareketi Tanımlama Kullanıcı Arayüzü Bileşeni

   Oluşturulan senaryolar ekranın sağ alt kısmında bulunan “Play Event” isimli
kullanıcı bileşeni kullanılarak oynatılabilir (Şekil 9). Bu bileşen ile “senaryo oynatma
oluşturma”, “oynatılan senaryoyu kapatma”, “senaryo oynatımını başlatma” ve
“oynayan senaryoyu durdurma” işlemleri yapılabilir.
Şekil 9. Senaryo Oynatma Kullanıcı Arayüzü Bileşeni

   Oluşturulan senaryolar hakkındaki tüm detaylı bilgiler ana ekranın alt kısmında
bulunan ve Şekil 10’da gösterilen bilgi ekranında ayrıntılı olarak listelenir.




Şekil 10. Bilgi Ekranı Kullanıcı Arayüzü Bileşeni

   Ana ekran menüsünden “dosyadan senaryo açma” ve “dosyaya senaryo kaydetme”
işlemleri ile oluşturulan senaryoların kayıt işlemleri Şekil 11’de gösterildiği gibi
yapılabilir.




Şekil 11. Senaryo Açma/Kaydetme

   Oluşturulmuş ve oynatılan örnek bir senaryo Şekil 12‘de gösterilmiştir.




Şekil 12. Örnek Bir Senaryo Gösterimi
  Bu araç ile bazı aktivite ve olaylar için oluşturulan örnek senaryolar Tablo 1’de
gösterilmiştir.

Tablo 1. Oluşturulan Örnek Senaryolar

   Durma                   Yürüme                  Karşılaşma             Bırakılan Nesne
   VideoInterval:1-8       VideoInterval:1-10      Video Interval: 1-15   VideoInterval:1-20
   SceneTag:15-15          SceneTag:15-15          Scene: 5-5             SceneTag:10-10
   Actors:1                Actors:1                Actors: 2              Actors:2
   1-PERSON                2-PERSON                0-PERSON               0-PERSON
   Int:1-1-8-17-26-17-26   Int:2-1-10-9-19-15-19   1-PERSON               1-OBJECT
                                                   Int: 0-1-5-0-5-4-5     Int:0-1-20-0-7-19-7
                                                   Int: 0-5-10-4-5-4-5    Int:1-1-12-0-6-11-6
                                                   Int: 0-10-15-4-5-0-5   Int:1-12-20-11-6-11-6
                                                   Int: 1-2-5-9-5-5-5
                                                   Int: 1-5-10-5-5-5-5
                                                   Int: 1-10-15-5-5-9-5


   Tablo 1’den görüldüğü gibi oluşturulan senaryolar ile ilgili video uzunluğu, sahne
büyüklük bilgileri, aktörler hakkındaki bilgiler ve her bir aktörün o video içindeki
belli zaman aralıklarında yapmış oldukları hareket, pozisyon bilgileri ile birlikte
tutulur.
   Test Verisi Üretim Yazılımı Java programlama dili kullanılarak geliştirilmiştir.
Uygulamanın sınıf modeli ise Şekil 13’te gösterilmiştir.




Şekil 13. Uygulamanın Sınıf Diyagramı

   Action sınıfı oluşturulmuş aktivite için kullanılan veri yapısıdır. Zaman aralıkları
ve hareket güzergahındaki ızgara bilgilerini tutar. Izgara hücrelerinin konum
bilgilerini ve sırasını tutan veri yapısı GridCell sınıfıdır. EventScenario sınıfı
oluşturulan senaryoları modelleyen veri yapısıdır. Bu sınıf, aktör bilgilerini ve
aktörlerin meydana getirdiği aktivite bilgilerini tutar. Sistemin bir diğer önemli sınıfı
olan Actor sınıfı isim ve tip gibi aktör bilgilerini tutar. ActorType sınıfı sistemde
tanımlı aktör tiplerini yansıtan sınıftır. “Araba”, “Nesne” ve “İnsan” şu an için
sistemde tanımlı mevcut tiplerdir.
   Kullanıcı arayüzü bileşenlerini içeren ve ana ekranı yansıtan arayüz bileşen sınıfı
EventGenerationFrame sınıfıdır. ScenarioPanel sınıfı kullanıcı tarafından senaryo
bilgilerinin girilebildiği ve ana ekranın sol tarafını oluşturan kullanıcı bileşenidir.
Tasarlanmış sahnenin hücre sayıları gibi bilgilerini tutan sahneyi modellemek için
geliştirilmiş veri yapısı ise SceneView sınıfıdır. TypedGridCell sınıfı aktörlerin
hareketi içinde yer alan ve işaretlenmiş ızgara bilgilerini yansıtan sınıftır. VideoPlayer
sınıfı oluşturulmuş senaryoyu zamana göre sahne üzerinde görsel olarak oynatmakla
sorumlu sınıftır. Son olarak EventExportImport sınıfı ise oluşturulan senaryoları
dosyaya yazan veya oluşturulmuş senaryoları inceleme/değiştirme amaçlı açılmasını
sağlayan sınıftır.


4      Deneyler
Geliştirilen Test Verisi Üretim Yazılımı, SVAS (Surveillance Video Analysis
System) [16] çalışmasında farklı olay senaryoları için daha fazla test verisi ile
güvenilirlik analizi amacıyla kullanılmıştır. SVAS, gözetim videoları için geliştirilmiş
aktivite ve olay tanıma yeteneklerine sahip birçok makine öğrenmesi tekniğini farklı
fazlarda kullanan bir analiz sistemidir. Bu analiz sisteminde CAVIAR ve BEHAVE
Verisetleri kullanılmış, ancak yukarıdaki bölümlerde belirtilen bazı problemlerden
bağımsız, maliyetsiz, hızlı bir şekilde test veri ihtiyacının karşılanması amacıyla Test
Verisi Üretim Yazılımı ile SVAS kapsamında 135 tane video verisi üretilerek ve
SVAS'ın sentetik veri ihtiyacı karşılanarak olay tanıma kabiliyeti test edilmiştir. Bu
deney kapsamında hem “Koşma”, “Durma” ve “Yürüme” aktiviteleri için hem de
“Kovalama”, “İzleme”, “Bırakılan Nesne”, “Toplanma”, “Birlikte Yürüme” ve
“Birlikte Koşma” olayları için test verileri üretilmiştir. Üretilen test verilerinin bazı
bölümleri rastgele silinerek SVAS'ın gürültü sebebi ile oluşabilecek eksik verilere
duyarlığı da test edilmiştir. Elde edilen sonuçlar Tablo 2'de gösterilmiştir.

Tablo 2. SVAS Çalışmasındaki Sentetik Veri Testi Sonuçları

    Öğrenme Verisi Başına Silinen Değer           Olay Bulma          Olay Bulma
                  (saniye)                           Sayısı            Yüzdesi
            Silinen Değer Yok                         135               100 %
                 0.5 saniye                           112               82.9 %
                  1 saniye                             98               72.6 %
                  2 saniye                             67               49.6 %
                  3saniye                              0                 0%

   Tablo 2’de gösterildiği gibi SVAS, Test Verisi Üretim Yazılımı ile üretilen verileri
kullanarak başarılı öğrenme ve tanıma işlemlerini yapabilmiş ve sentetik olarak
üretilmiş olayların tamamını bulabilmiştir. Sentetik olarak üretilen video verilerinin
uzunluğu maksimum beş saniye olarak üretildiği için video verisindeki gürültülere
bağlı veri kayıplarını simüle etme amacıyla silinen saniyelerin etkisi büyüktür. Yine
de test videolarının uzunlukları dikkate alındığında SVAS sistemi için silinen verilere
karşı duyarlılığı %10 ile %20 arasında olduğu söylenebilir.


5      Sonuçlar ve Değerlendirme
Bu çalışmada, video olay tanıma sistemleri için test verilerinin oluşturulması amacıyla
geliştirilmiş bir Test Verisi Üretim Yazılımı sunulmuştur. Literatürdeki video verileri
için oluşturulmuş açık verisetleri hakkında detaylı bilgiler verilmiş, sunulan yazılım
ile üretilen veriler arasındaki farka değinilmiştir. Ayrıca, geliştirilen bu yazılım ile
üretilen test verilerinin SVAS isimli gerçek bir olay tanıma sisteminde başarılı bir
şekilde kullanımı gösterilmiştir. Önerilen yazılım ile özellikle üst seviye olay tanıma
uygulamalarının kullandıkları makine öğrenmesi yöntemlerinin test verisi ihtiyacı
giderilebilir. Esnek yapısı sayesinde kullanıcılar, sahne tasarımı, aktör ve olay
tanımlarını perspektif problemlerinden bağımsız ve kalibrasyon ayarlamaları ile
uğraşmadan kolay bir şekilde yaparak istenilen tipte video test verileri ve istenilen
karmaşıklıkta olay senaryoları üretilebilirler.
   Gelecek çalışma olarak, önerilen yazılımın hareketli ve çoklu kameralardan elde
edilen verileri simüle edecek şekilde geliştirilmesi hedeflenmektedir. Ayrıca sisteme
gözetim videolarındaki ihtiyaç duyulabilecek başka aktivite tiplerinin de eklenmesi
planlanmaktadır. Yazılım şu an için aktör hareketlerini en az bir saniyelik aktiviteler
olarak tanımlayabildiğinden “Kavga” olayı gibi aktörlerin ani hareketlerini içeren
olaylar için tanımlama yapamamaktadır. Bu tip olayların da tanımlamasının
yapılabilmesi için yazılımın hızlı meydana gelen aktiviteleri de modelleyebilecek hale
getirilmesi planlanmaktadır. Bu bağlamda özellikle gözetim videoları için önemli olan
aktörlerin ani hareketlerini yansıtan modellerin yazılıma kazandırılması
hedeflenmektedir.


Kaynakça
 1. Lavee, G., Rivlin, E., Rudzksy, M.: Understanding video events: A survey of methods for
    automatic interpretation of semantic occurences in video. Man, and Cybernetics, Part C:
    Applications and Reviews, IEEE Transactions, vol 39 (5), pp. 489–504. (2009).
 2. Antoniou, G.: Rule-Based Activity Recognition in Ambient Intelligence. Rule-Based
    Reasoning, Programming, and Applications, p. 1. (2011).
 3. Lv, F., Song, X., Wu, B., Singh, V. K., Nevatia, R..: Left-Luggage Detection using
    Bayesian Inference. In Proceedings 9th IEEE International Workshop Perform. Eval.
    Tracking Surveillance, pp. 83-90. (2006).
 4. Oliver, N., Horvitz, E.: A comparison of HMMs and dynamic bayesian Networks for
    recognizing office activities. International conference on user modeling, Vol. 3538:199-
    209. (2005).
 5. Perez, O., Piccardi, M., Garcia, J., Molina, J. M.: Comparison of Classifiers for Human
    Activity Recognition. In International Work-Conference on the Interplay Between Natural
    and Artificial Computation: pp. 192-201. (2007).
 6. Simon, C., Meessen, J., De Vleeschouwer C.: Visual event recognition using decision
    trees. Multimedia Tools Applications, 50(1), pp. 95-121. (2010).
 7. Baxter, R., Robertson, N. M., Lane, D.: Real-time event recognition from video via a “bag-
    of-activities”. In Proceedings of the UAI Bayesian Modelling Applications Workshop.
    (2011).
 8. Wallach, H. M.: Topic modeling: beyond bag-of-words. In Proceedings of the 23rd
    International Conference on Machine learning, pp. 977-984. (2006).
 9. Ghanem, N., DeMenthon, D., Doermann, D., Davis, L., Representation and recognition of
    events in surveillance video using Petri nets. IEEE CVPR, pp. 104–112, (2004).
10. Skarlatidis, A., Artikis, A., Filippou, J., Paliouras, G.: A probabilistic logic
    programming event calculus. Theory and Practice of Logic Programming, 15(2), pp. 213-
    224. (2015).
11. Artikis, A., Sergot, M., Paliouras, G.: A Logic Programming Approach to Activity
    Recognition. In Proceedings of ACM International Workshop on Events in Multimedia,
    pp. 3-8. (2010).
12. Reddy, S., Gal,Y., Shieber,S.: Recognition of Users Activities Using Constraint
    Satisfaction. Springer, vol. 5535: 415-421. (2009).
13. Jhuo, I., Lee, D.T.: Video Event Detection via Multi-modality Deep Learning. 22nd Int.
    Conf. on Pattern Recognition, pp. 666-671. (2014).
14. Scariaa, E., Tb, A. A., Isaacc, E.: Suspicious Activity Detection in Surveillance Video
    using Discriminative Deep Belief Network. International Journal of Control Theory and
    Applications, 9(43), pp. 261-267. (2016).
15. Helaoui, R., Niepert, M., Stuckenschmidt , H.: Recognizing Interleaved and Concurrent
    Activities: A Statistical-Relational Approach. In Proceedings of the 9th Annual IEEE
    International Conference on Pervasive Computing and Communication, pp. 1-9. (2011).
16. Kardas, K., Cicekli, N.K.: SVAS: Surveillance Video Analysis System. Expert Systems
    with Applications, 89, 343-361. (2017).
17. Yang, B., Nevatia, R.: Multi-Target Tracking by Online Learning of Non-linear Motion
    Patterns and Robust Appearance Models. In Proceedings of IEEE Computer Vision and
    Pattern Recognition (CVPR), pp. 1918-1925. (2012),
    http://homepages.inf.ed.ac.uk/rbf/CAVIARDATA1/, Son Erişim 2018/06/03.
18. Blunsden, S. J., Fisher, R. B.: The BEHAVE video dataset: ground truthed video for multi-
    person behavior classification. Annals of the BMVA,Vol(4),1-12. (2010),
    http://groups.inf.ed.ac.uk/vision/BEHAVEDATA/INTERACTIONS, Son Erişim
    2018/06/03.
19. Patino, L., FerrymanJ.: Meeting detection in video through semantic analysis. In
    Proceedings of 12th IEEE International Conference onAdvanced Video and Signal Based
    Surveillance (AVSS), pp. 1-6. (2015).
20. Al-Raziqi,A., Denzler,J.: Unsupervised Framework for Interactions Modeling between
    Multiple Objects. In Proceedings of the 11th Joint Conference on Computer Vision,
    Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2016) - Volume
    4: VISAPP, pp. 509-516. (2016).
21. Elhamod, M., Levine, M. D.: Automated Real-Time Detection of Potentially Suspicious
    Behavior in Public Transport Areas. IEEE Transactions on Intelligent Transportation
    Systems, pp. 688-699. (2013).
22. Muench, D., Becker, S., Hubner, W., Arens, M.: Towards a Real-Time Situational
    Awareness System for Surveillance Applications in Unconstrained Environments. 7th
    Security Research Conference, Future Security, pp. 517-521. (2012).
23. Yin, Y., Yang, G., Xu, J., Man, H.: Small Group Human Activity Recognition. In 2012
    19th IEEE International Conference on Image Processing (ICIP), pp. 2709-2712. (2012).
24. Zhang, C., Yang, X., Lin, W., Zhu J.: Recognizing Human Group Behaviors with Multi-
    Group Causalities. In 2012 IEEE/WIC/ACM International Conferences on Web
    Intelligence and Intelligent Agent Technology (WI-IAT): Vol. 3, pp. 44-48. (2012).