Kami adalah penyedia jasa penerbitan dan percetakan yang telah beroperasi sejak tahun 2016, dan bergabung menjadi anggota IKAPI dengan nomor 258/JTE/2023. Jika Anda memiliki naskah yang masih nganggur, daftar dan terbitkan bukumu sekarang !!!LIHAT PAKET TERBIT- Menulis Untuk Kemanfaatan -

container no-pad-m no-pad-v-m widgetNoTitle noCapSlider

8/slider/storage/16-9/1140

Iklan Tersedia ads left available col-xs-12 col-sm-6 img-31-9

Iklan Tersedia <a href="wAC">ads left available col-xs-12 col-sm-6 img-31-9</a>
PROMO TERBATAS !!!
SPACE IKLAN - A1
100k / bulan
250k / 3 bulan

Iklan Tersedia ads right available col-xs-12 col-sm-6 img-31-9

Iklan Tersedia <a href="wAC">ads right available col-xs-12 col-sm-6 img-31-9</a>
PROMO TERBATAS !!!
SPACE IKLAN - A2
100k / bulan
250k / 3 bulan

Jaringan Syaraf Tiruan pada Matlab Pendeteksi Gerak dengan Kamera Webcam Seraca Real Time Menggunakan Algoritma Backpropagation

Kecerdasan Buatan
Jaringan Syaraf Tiruan pada Matlab
Pendeteksi Gerak dengan Kamera Webcam Seraca Real Time
Menggunakan Algoritma Backpropagation 
Disusun oleh :
1.            Ahmad Faidul Basyar      (2014-53-018)
2.            Nailul Lutfah                    (2014-53-057)
3.            Lia Chamidah                            (2014-53-063)
4.            Eny Kusrini                      (2016-53-122)
Kelas                       : B
Progam Studi          : Sistem Informasi

FAKULTAS TEKNIK
UNIVERSITAS MURIA KUDUS
2014

1.     BAB I

2.     PENDAHULUAN

1.1   Latar Belakang

Deteksi Gerak (motion detection) merupkan komponen penting pada sistem pengawasan ruang (surveillance). Hampir setiap vendor kamera atau webcam menyertakan perangkat lunak yang memiliki fasilitas motion detection sehingga dapat digunakan untuk memantau suatu area atau ruangan. Jika terdapat suatu objek yang bergerak pada ruangan yang dipantau,maka sistem akan memberikan sinyal berupa suatu alarm.
Permasalahan yang timbul pada sistem pengawasan ruang berbasis kamera atau webcam tersebut adalah pendeteksian yang umum sehingga objek apapun yang terdeteksi pada suatu ruangan yang dipantau akan menyebabkan alarm berbunyi, alarm akan berbunyi dan sistem akan mencatat blog. Penulis hanya menggunakan sebuah webcam sebagai alat sensor serta dua tahap pemrosesan yaitu segmentasi dan klasifikasi. Segmentasi menggunakan mean shift dan klasifikasi menggunakan JST backpropagation. Hasil akhirnya adalah menguji kecepatan proses pendeteksian sehingga dapat dijadikan acuan untuk mengembangkan sistem yang lebih kompleks.



3.     BAB II

4.     LANDASAN TEORI


2.1   Kecerdasan Buatan

Kecerdasan buatan didefinisikan sebagai kecerdasan yang ditunjukan oleh suatu sistem atau entitas buatan. Sistem ini umumnya adalah komputer. Kecerdasan diciptakan dan dimasukkan ke dalam komputer yang bertujuan agar dapat melakukan pekerjaan seperti yang didlakukan manusia. Kata “cerdas” sendiri mengacu pada kecerdasan yang dimiliki oleh manusia, antara lain dapat belajar dan mengerti dari pengalaman. Karena meniru kecerdasan manusia yang diimplementasikan pada komputer, maka terdapat cabang-cabang  Al antara lain machine learning dan computer vision.

2.2   Deteksi Tepi

Deteksi tepi merupakan salah satu proses  prapengolahan yang sering dibutuhkan pada  analisis citra yang bertujuan untuk meningkatkan  penampakan garis pada citra. Jadi prosesnya  mempunyai sifat diferensiasi atau memperkuat  komponen frekuensi tinggi. Tepi mencirikan batas  – batas objek dan karena itu tepi berguna untuk  proses segmentasi dan identifikasi objek di dalam citra. Tujuan operasi pendeteksi tepi adalah untuk  meningkatkan penampakan garis batas suatu  daerah atau objek di dalam citra .  Metode deteksi tepi terdiri atas deteksi tepi  dengan nilai ambang, deteksi tepi dengan gradien  pertama, deteksi tepi dengan gradien kedua, deteksi tepi dengan gradien arah, deteksi tepi dengan teknik geser dan selisih citra, dan deteksi segmen-segmen garis.




2.3   Inisialisasi Webcam
Untuk dapat menggunakan webcam, terlebih dahulu dilakukan penginisialisasian. Tujuannya adalah untuk mendapatkan jenis webcam apa saja yang dapat dipakai pada program pendeteksian gerakan tersebut. Pengaktifan Webcam Setelah webcam diinisialisasi, maka langkah selanjutnya adalah membuka atau mengaktifkan webcam tersebut agar bisa dipakai. Pembacaan Citra untuk dapat memproses citra dari kamera webcam, maka bit-bit citra tersebut harus dibaca  atau dikenali terlebih dahulu. Bit-bit tersebut disimpan dengan nama imgData. Pemrosesan Citra setelah dilakukan pembacaan citra, maka  proses selanjutnya adalah proses pengolahan citra. Proses pengolahan citra tersebut dibagi menjadi dua bagian, yang pertama adalah proses aras keabuan, dan yang kedua adalah deteksi tepi.





5.     BAB III

6.     ANALISA ALGORITMA


Proses pengolahan citra tersebut dibagi menjadi dua bagian, yang pertama adalah proses aras keabuan, dan yang kedua adalah deteksi tepi.
3.1. Proses Aras Keabuan
Citra yang dipilih adalah citra 24-bit  sehingga dikenali sebagai citra RGB. Untuk menyederhanakan proses perlu diubah aras warnanya menjadi aras keabuan, dan citra hanya memiliki tingkat atau kadar keabuan. Citra RGB adalah citra yang tersusun dari kombinasi tiga warna dasar (merah, hijau, biru). Ketiga warna tersebut dapat menghasilkan kombinasi warna yang sangat banyak, sesuai dengan kadar dari setiap warna tersebut. Hal ini membuat proses pengolahan citra menjadi kompleks dan panjang. Program yang dibuat mendeteksi perubahan citra dalam aras keabuan. Dengan demikian citra dengan aras warna perlu diubah ke dalam aras keabuan.
3.2.  Deteksi Tepi
Suatu objek dapat dengan mudah dideteksi pada suatu citra jika objek cukup kontras dari latar belakangnya. Perubahan kekontrasannya dapat dideteksi dengan deteksi tepi dengan menggunakan operator Sobel, yang menciptakan suatu citra biner dengan menggunakan suatu nilai ambang khusus. Untuk menentukan citra biner dengan menggunakan fungsi tepi.
3.3  Proses Pendeteksian Gerak
Dari proses deteksi tepi, maka akan didapat informasi mengenai bit dari citra-citra yang tertangkap kamera, data tersebut masing-masing disimpan dengan nama background. Frame dan current Frame. Proses perbandingan dilakukan dengan cara mengurangkan dua buah data tersebut, sehingga dapat diketahui apakah ada perbedaan atau tidak
3.4   Keaslian Gambar Webcam
Penentuan posisi webcam dan pencahayaan memiliki pengaruh besar dalam pengenalan objek, untuk itu dibutuhkan pengesetan webcam dan pencahayaan yang cukup. Tingkat kemampuan program pendeteksi gerakan akan cenderung menurun,  dikarenakan webcam tidak dapat merekam gambar secara sempurna. Sensitivitas  webcam untuk mendeteksi suatu objek  tergantung pada cahaya objek tersebut. Apabila pada cahaya semakin terang, tingkat sensitivitas webcam semakin bagus. Namun apabila pada cahaya semakin gelap. tingkat sensitivitas webcam semakin  menurun. Kualitas webcam juga berpengaruh untuk  mengolah citra yang dihasilkan dari kecepatan pergerakan objek tersebut.  Apabila benda bergerak terlalu cepat dengan kualitas webcam yang bagus, maka akan memperoleh hasil pengolahan citra yang maksimal.






7.     BAB IV

8.     IMPLEMENTASI



Implementasi dilakukan dengan menggunakan software Matlab 7.10.0 (R2010a).
Gambar 4.1 : Matlab R2010a.
Langkah – langkah Implementasi :
1.      Buka Matlab lalu pilih “File” à “New” à “GUI”.
Gambar 4.2 : Buat GUI.
2.      Pilih Tab “Create New GUI” pilih “Blank GUI” à “OK”.
Gambar 4.3 : Jenis GUI.
3.      Buat GUI seperti gambar berikut lalu simpan dengan nama “MOTION”.
Tag :  Axes2     Axes3     Text3      Text5     Text4      Pushbutton1     Pushbutton2
Gambar 4.4 : Design GUI.
4.      Buka Matlab. Pilih “File” à “New” à “Function”, tuliskan kode dibawah ini lalu simpan dengan nama “MOTION”.
Gambar 4.5 : SS Source Code MOTION.

function varargout = MOTION(varargin)
% Edeted by Nama Kelompok :
%           201453018 - AHMAD FAIDUL BASYAR
%           201453057 - NAILUL LUTFAH
%           201453063 - LIA CHAMIDAH
%           201653122 - Eny Kusrini
% MOTION MATLAB code for MOTION.fig
%      MOTION, by itself, creates a new MOTION or raises the existing
%      singleton*.
%
%      H = MOTION returns the handle to a new MOTION or the handle to
%      the existing singleton*.
%
%      MOTION('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MOTION.M with the given input arguments.
%
%      MOTION('Property','Value',...) creates a new MOTION or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before MOTION_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to MOTION_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help MOTION

% Last Modified by GUIDE v2.5 01-Nov-2016 05:16:06

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @MOTION_OpeningFcn, ...
                   'gui_OutputFcn',  @MOTION_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before MOTION is made visible.
function MOTION_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to MOTION (see VARARGIN)

% Choose default command line output for MOTION
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes MOTION wait for user response (see UIRESUME)
% uiwait(handles.MOTION);


% --- Outputs from this function are returned to the command line.
function varargout = MOTION_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global vid
%imaqreset;
error=50;
s=25;
vid=videoinput('winvideo',1,'YUY2_640x480');% take video input
triggerconfig(vid,'manual');  % after triggering only we get video
set(vid,'FramesPerTrigger',1); %only 1 frame per trigger
set(vid,'TriggerRepeat', Inf); %repeating trigger infinite timf
set(vid,'ReturnedColorSpace','rgb');% colour space used is rgb

i=0;
start(vid);% video is started


%adjusting for background noise

for n=1:50
    trigger(vid);
    temp=getdata(vid,1);
    f(:,:,mod(n,2)+1)=temp(2);
    g=f(:,:,1)~=f(:,:,2);
    imshow(g);
    %sm(1,n)=backgroundcheck(g);
end
clear g;
clear temp;

 %f=zeros(480,640,2);
%s=max(sm(25:50));
if (nargin==0)
    error=2;
end
s=(s*(error+100))/100;% calculate sensitivity
clear sm;
clc
disp('backbround sensitivity=');%display sensitivity
disp(s);


disp('MOTION DETECTOR ON ->');
set(handles.text3,'String','Pendeteksi Gerak = Nyala.');
prev=getsnapshot(vid);%take video snpshot as previous one
while(1)
% for mk=1:100
 j=0;
    trigger(vid);
    temp=getdata(vid,1);% take video data
    axes(handles.axes2); %point to the axes where u want to display the frame
    imshow(temp);  %show the frame on axes
    g=getsnapshot(vid); %get current frame
    %f(:,:,mod(i,2)+1)=temp;

    %g=f(:,:,1)~=f(:,:,2);
   %g=rgb2gray(g);
    a=prev-g; %take difference between 2 frames
    a=rgb2gray(a);
    %compp=sum(sum(a));
   %disp(compp);
   %err=((s/10)*100*50);
   %disp(err);
   prev=g; % store current frame as previous frame
    if((sum(sum(a))/100)>(s/10)*100*50)%check if difference between frames is greater than threshold
     captur = datestr(clock, 'dd-mmm-yyyy-HH-MM-SS-FFF');
     disp(['motion detected. capture "',captur,'.jpeg"']);%yes than motion detected
     axes(handles.axes3);
      imshow(a);%show difference as snapshot
     
      imwrite(g,[captur,'.jpeg']);%store difference to folder
       j=j+1;% continue the loop
       set(handles.text4,'String','Gerak Terdeteksi.');
       set(handles.text5,'String',['Gambar terakhir diambil "',captur,'.jpeg".']);
    else
        disp('no motion');
        set(handles.text4,'String','Tidak ada Pergerakan.');
        pause(0.2)
    end
  
  
       
    if(mod(j,6)==0)  %check if motion detected 6 times
       
       
%         y=y(1:3000); %  to play the alarm
%       0  for a=1:4
%             wavplay(y,4500,'sync');
%         end
    end

%     disp('difference');
%     disp(sum(sum(sum(a))));
   i=i+1;%continue the loop


%end
%end 
%global vid
%stop(vid);
end

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 set(handles.text3,'String','Pendeteksi Gerak = Mati.');
 set(handles.text4,'String','-');

global vid
stop(vid);

% to stop the video



function edit1_Callback(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end



5.      Berikut Screenshot Hasil.

Gambar 4.6 : Hasil.



9.     BAB V

10.            PENUTUP

5.1     Kesimpulan

Berdasarkan hasil pengujian sistem dan analisa secara menyeluruh maka dapat ditarik beberapa kesimpulan sebagai berikut :
1.      Posisi terbaik yang dapat dideteksi oleh sistem adalah berjarak masimal 2 meter dari webcam.
2.      Jika jarak obyek (manusia) sangat dekat dengan webcam,maka sistem akan menampilkan proses error yang mengacu pada file dengan menggunakan openCV yang direkomendasikan untuk proses intel. Hal ini dapat dilihat pada hasil pengujian pertama dimana jarak objek (manusia) ke webcam adalah 0,1 meter.

5.2     Saran

Setelah melakukan penelitan menggunakan JST, maka penulis dapat memberikan saran untuk pengembangan sistem lebih lanjut :
1.      Untuk membangun sistem real-time diperlukan perangkat keras sehingga pemroses iterasi JST dapat berlangsung dengan cepat hal ini terlihat pada jumlah neuron yang digunakan yaitu sebanyak 1500 neuron.
2.      Perlu ditambahkan beberapa buah classifier misalnya klasifikasi warna kulit, deteksi wajah dan JST yang telah dikoreksi parameternya baik bobot awal pada lapisan output sehingga dapat menghasilkan sistem pendeteksian manusia yan mantap.



11.            DAFTAR PUSTAKA


Daiambil dari http://freesourcecode.net/sites/default/files/64888.zip pada tanggal 02 November 2016


Tidak ada komentar:

Posting Komentar

Iklan Tersedia ads left available col-xs-12 col-sm-6 img-31-9

Iklan Tersedia <a href="wAC">ads left available col-xs-12 col-sm-6 img-31-9</a>
PROMO TERBATAS !!!
SPACE IKLAN - B1
25k / bulan
60k / 3 bulan

Iklan Tersedia ads right available col-xs-12 col-sm-6 img-31-9

Iklan Tersedia <a href="wAC">ads right available col-xs-12 col-sm-6 img-31-9</a>
PROMO TERBATAS !!!
SPACE IKLAN - B2
25k / bulan
60k / 3 bulan