Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme



Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Calculatoare


Index » educatie » » informatica » Calculatoare
» Sistem de Securitate : Detectarea Miscarii


Sistem de Securitate : Detectarea Miscarii




Sesiunea de Comunicari Stiintifice

Programare avansata si multimedia

Sistem de Securitate : Detectarea Miscarii

Introducere – Motivatie




Piata sistemelor de securitate este in continua dezvoltare si expansiune. Tot mai multi oameni apeleaza la un sistem informatic, automatizat pentru a-si proteja casa, biroul, masina, cladirea in care locuiesc etc. .

Majoritatea sistemelor de acest gen, sunt costisitoare si necesita componente hardware complexe, interconectate. Un astfel de sistem performant, la detectarea unei intruziuni nu face decat sa inregistreze pe un computer aflat in interiorul casei, biroului, ceea ce se intampla in perimetru. Un raufacator, poate identifica locatia acestui computer si opri sistemul sau poate sterge orice urma de intruziune. Sistemele de ultima generatie, declanseaza o alerta la o firma de securitate, care se deplaseaza la adresa posesorului.

Puncte slabe:

1 Costuri ridicate

2 Componente hardware complexe

3 Sistemul este de cele mai multe ori evident

4 Proprietarul nu stie ce se intampla can nu este present

Propunerea noastra este un sistem diferit, dar performant, in comparatie cu celelalte produse comerciale, disponibile publicului larg.

Puncte tari:

1 Cost foarte redus

2 Usor de utilizat

3 Usor de configurat

4 Sigur si eficient

5 Atentionare in timp real

Descrierea sistemului

Sistemul propus monitorizeaza incaperea care a fost desemnata ca arie de supraveghere si, cand detecteaza o miscare considerabila, telefoneaza automat persoanei desemnate cu securitatea incaperii, cladirii.

Sistemul este alcatuit din 4 mari componente:

1 PC

2 telefon mobil

3 webcam

4 soft

1 Marea majoritate a familiilor din mediul urban (in special familiile in care se gaseste un membru intelectual) sunt posesoare ale unui PC. PC-ul care este folosit pentru diverse activitati specifice celui care il utilizeaza, poate fi si gazda unui sistem de securitate, neobservabil. Este solutia optima si cea mai ieftina, deoarece nu trebuie achizitionat un calculator separat sau un alt dispozitiv hardware special.

2 Telefon mobil: aprope toata lumea are astazi un telefon mobil. Este greu de crezut ca o persoana/firma care are nevoie de un sistem de securitate nu detine si un telefon mobil. Iata, inca o data, sistemul foloseste pana acum ceea ce beneficiarul, cel mai probabil, deja detine.

3 Webcam: pentru a identifica miscarea, sistemul se foloseste de un webcam, simplu, obijnuit, necostisitor. Webcam-ul face legatura intre lumea reala s icea virtuala pentru acest sistem de securitate.

4 Soft: toate componentele de mai sus sunt interconectate cu ajutorul uni soft complex ce determina in timp real daca este miscare in incapere si alerteaza in timp real o persoana autorizata. Softul, la cererea utilizatorului, foloseste webcam-ul pentru a monitoriza in permanenta incaperea in care se afla, proceseaza folosind un algoritm complex de detectare a miscarii imaginile primate de la dispozitiv si, in caz de nevoie, prin intermediul Skype, alerteaza imediat persoana autorizata.

Tehnologii folosite

Pentru realizarea aplicatiei s-au folosit o diversitate de tehnologii,    fiecare specifica unei parti cheie, alese atent dupa ce specificatiile proiectului au fost stabilite si designul general creeat.

Regasim astfel:

Microsoft C# .NET - limbajul de baza in care a fost dezvoltata aplicatia

Microsoft C++ (MFC) – utilizat pentru a creea un DLL, componenta cheie, low level

XML – pentru a stoca informatii specifice utilizatorului

XML Web Services – pentru a transfera fisierele video salvate catre un Web Server

ASP.NET – pentru a facilita accesul la distanta in vederea vizionarii inregistrarilor video

Windows Media Player SDK – pentru a putea coda fisierele video in ideea micsorarii dimensiunii acestora

Macromedia Flash – Action Scripting – pentru a creea prezentarea proiectului

Skype, Skype API – comunicarea cu telefoul mobil

Algoritm de detectare a miscarii

Algoritmi de detectare a miscarii pot fi implementati reativ usor, insa fiecare are avantaje si dezavantaje. In continuare vom prezenta premizele unui algoritm rudimentar, pentru ca apoi cladind pe el, sa ajungem la un algoritm performant.

Ideea de baza folosita in a creea un algoritm de detectare a miscarii este de a compara in permanenta imaginea actual cu cea precedenta.



Incepem cu un cadru (frame) stabil (de exemplu primul cadru) si cadrele imediat urmatoare, amandoua fiind transformate in alb-negru pentru a putea compara mai usor diferentele; Primul pas este de a creea o imagine diferenta intre cele 2 cadre. Acest lucru se poate face folosind un filtru de diferenta:

Difference FiltruDiferenta = new Difference();

Initializam apoi acest filtru cu primul cadru, care va fi folosit ca baza de comparative.

FiltruDiferenta.OverlayImage = Cadru1;

Obtniem o imagine ca rezultat al diferentei dintre cadrul current si cel de inceput

Bitmap ImagineDiferenta = FiltruDiferenta.Apply(CadruCurent);

Aplicam un alt filtru, care va transforma pixelii obtinuti ca diferenta in alb; aici vom folosi un prag pentru a scoate numai acele diferente mai mari ca o valoare.

IFilter Prag = new Threshold(20);

Bitmap    Diferenta = prag.Apply(ImagineDiferenta);

In acest moment am obtinut o imagine care contine numai diferentele dintre cadrul current si cel de baza; Imaginea nu este insa corecta deoarece apar pixeli care aparent sunt diferiti, dar care in realitate sunt doar “zgomot” produs de calitatea imaginii. Pentru a obtine o imagine apropiata de realitate, mai aplicam un filtru numit filtru de eroziune, al carui scop este sa anuleze micile diferente care nu sunt relevante.

IFilter Eroziune = new Erosion();

Bitmap ImagineReala = eroziune.Apply(Diferenta);

Problema fundamentala a acestui algoritm este aceea ca daca din cadru dispare un obiect, atunci vom detecta miscare pentru fiecare cadru!

Pentru a evita o astfel de problema, vom muta cu cadrul de baza catre cadrul current. Procedand astfel, algoritmul va evita detectarea falsa a miscarii. Diferenta dintre cele doua cadre poate fi foarte mica, insa folosind un prag de diferenta la fel de mic, precum este descris mai sus, exactitatea algoritmului creste considerabil; astfel, dupa procesarea fiecarei imagini, cadrul de baza va deveni cadrul curent. In procesarea imaginii vom calcula de fiecare data numarul de pixeli albi obtinuti si o vom compara cu o valoare prestabilita, considerata drept prag de detectie a miscarii.

Algoritm de comunicare Skype

Pentru a putea atentiona o persoana autorizata am ales sa folosim Skype ca mijloc de comunicare. Skype implementeaza Skype API prin care se poate controla si interactiona programatic cu clientul Skype.

Programatic, acest lucru se realizeaza prin transferul de mesaje Windows intre client (aplicatia de detectie a miscarii) si Skype.

Pasul unu este conectarea la Skype. Acest lucru se face prin transmiterea mesajului SkypeControlAPIDiscover. Daca conectarea a reusit, Skype va trimite mesajul Available. Din acest Moment, folosind mesajul SkypeControlAPIAttach putem trimite comenzi, conform Skype API. Pentru a efectua un telefon, se trimite mesajul call urmat de numarul de telefon.

Structura generala

Text Box: Este Skype
Pornit?

Da

 
Text Box: Contacteaza
Persoana Autorizata


Miscare detectata

 
Text Box: Analizam
Cadrul Curent

Nu s-a detectat miscare

 






Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate