

{"id":78316,"date":"2020-06-02T11:04:26","date_gmt":"2020-06-02T05:34:26","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=78316"},"modified":"2021-08-25T13:54:57","modified_gmt":"2021-08-25T08:24:57","slug":"deep-surveillance-with-deep-learning-intelligent-video-surveillance-project","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/","title":{"rendered":"Deep Surveillance with Deep Learning &#8211; Intelligent Video Surveillance Project"},"content":{"rendered":"<p>Surveillance security is a very tedious and time-consuming job. In this tutorial, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time and identify any abnormal activities like violence or theft.<\/p>\n<p>There is a lot of research going on in the industry about video surveillance among them; the role of CCTV videos has overgrown. CCTV cameras are placed all over the places for surveillance and security.<\/p>\n<p>In the last decade, there have been advancements in deep learning algorithms for deep surveillance. These advancements have shown an essential trend in deep surveillance and promise a drastic efficiency gain. The typical applications of deep surveillance are theft identification, violence detection, and detection of the chances of explosion.<\/p>\n<p><strong>Network architecture:<\/strong><\/p>\n<p>We have generally seen deep neural networks for computer vision, image classification, and object detection tasks. In this project, we have to extend deep neural networks to 3-dimensional for learning spatio-temporal features of the video feed.<\/p>\n<p>For this video surveillance project, we will introduce a <a href=\"https:\/\/ieeexplore.ieee.org\/document\/8827932\">spatio temporal<\/a> autoencoder, which is based on a 3D convolution network.\u00a0The encoder part extracts the spatial and temporal information, and then the decoder reconstructs the frames. The abnormal events are identified by computing the reconstruction loss using Euclidean distance between original and reconstructed batch.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78331\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders.jpg\" alt=\"spatial temporal encoders\" width=\"1050\" height=\"373\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders.jpg 1050w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders-150x53.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders-300x107.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders-768x273.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders-1024x364.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/spatial-temporal-encoders-520x185.jpg 520w\" sizes=\"auto, (max-width: 1050px) 100vw, 1050px\" \/><\/a><\/p>\n<h2>Intelligent Video Surveillance with Deep Learning<\/h2>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-learning-intelligent-video-surveillance.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78332\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-learning-intelligent-video-surveillance.gif\" alt=\"deep learning intelligent video surveillance execution\" width=\"1918\" height=\"897\" \/><\/a><\/p>\n<p>We will use spatial temporal encoders to identify abnormal activities.<\/p>\n<h3>The dataset for abnormal event detection in video surveillance:<\/h3>\n<p>Following are the comprehensive datasets that are used to train models for anomaly detection tasks.<\/p>\n<h4>CUHK Avenue Dataset:<\/h4>\n<p>This dataset contains 16 training and 21 testing video clips. The video contains 30652 frames in total.<\/p>\n<p>The training videos contain video with normal situations. The testing videos contain videos with both standard and abnormal events.<\/p>\n<p><strong>Dataset Download Link:<\/strong>\u00a0<a href=\"http:\/\/www.cse.cuhk.edu.hk\/leojia\/projects\/detectabnormal\/dataset.html\">Avenue Dataset for Abnormal Event Detection<\/a><\/p>\n<h4>UCSD pedestrian Dataset:<\/h4>\n<p>This dataset contains videos with pedestrians. It includes groups of people walking towards, away, and parallel to the camera. The abnormal event includes:<\/p>\n<ul>\n<li>Non-pedestrian entities<\/li>\n<li>Anomalous pedestrian motion patterns<\/li>\n<\/ul>\n<p><strong>Dataset Download Link:\u00a0<\/strong><a href=\"http:\/\/www.svcl.ucsd.edu\/projects\/anomaly\/dataset.html\">UCSD Anomaly Detection Dataset<\/a><\/p>\n<h3>Project Source Code<\/h3>\n<p>Before proceeding ahead, please download the source code which we used in this deep learning project: <strong><a href=\"https:\/\/data-flair.training\/blogs\/download-video-surveillance-project-source-code\/\">Video Surveillance Project Code<\/a><\/strong><\/p>\n<h3>Video Surveillance &#8211; Anomaly Even Detection Code:<\/h3>\n<p>First, download any one of the above datasets and put in a directory named \u201ctrain\u201d.<\/p>\n<p>Make a new python file train.py and paste the code described in following steps:<\/p>\n<p>1. Imports:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from keras.preprocessing.image import img_to_array,load_img\r\nimport numpy as np\r\nimport glob\r\nimport os \r\nimport cv2\r\n\r\nfrom keras.layers import Conv3D,ConvLSTM2D,Conv3DTranspose\r\nfrom keras.models import Sequential\r\nfrom keras.callbacks import ModelCheckpoint, EarlyStopping\r\nimport imutils\r\n<\/pre>\n<p>2.\u00a0Initialize directory path variable and describe a function to process and store video frames:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">store_image=[]\r\ntrain_path='.\/train'\r\nfps=5\r\ntrain_videos=os.listdir('train_path')\r\ntrain_images_path=train_path+'\/frames'\r\nos.makedirs(train_images_path)\r\n\r\ndef store_inarray(image_path):\r\n    image=load_img(image_path)\r\n    image=img_to_array(image)\r\n    image=cv2.resize(image, (227,227), interpolation = cv2.INTER_AREA)\r\n    gray=0.2989*image[:,:,0]+0.5870*image[:,:,1]+0.1140*image[:,:,2]\r\n    store_image.append(gray)\r\n<\/pre>\n<p>3.\u00a0Extract frames from video and call store function:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">for video in train_videos:\r\n    os.system( 'ffmpeg -i {}\/{} -r 1\/{}  {}\/frames\/%03d.jpg'.format(train_path,video,fps,train_path))\r\n    images=os.listdir(train_images_path)\r\n    for image in images:\r\n        image_path=train_image_path + '\/' + image\r\n        store_inarray(image_path)\r\n<\/pre>\n<p>4.\u00a0Store the store_image list in a numpy file \u201ctraining.npy\u201d:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">store_image=np.array(store_image)\r\na,b,c=store_image.shape\r\n\r\nstore_image.resize(b,c,a)\r\nstore_image=(store_image-store_image.mean())\/(store_image.std())\r\nstore_image=np.clip(store_image,0,1)\r\nnp.save('training.npy',store_image)\r\n<\/pre>\n<p>5.\u00a0Create spatial autoencoder architecture:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">stae_model=Sequential()\r\n\r\nstae_model.add(Conv3D(filters=128,kernel_size=(11,11,1),strides=(4,4,1),padding='valid',input_shape=(227,227,10,1),activation='tanh'))\r\nstae_model.add(Conv3D(filters=64,kernel_size=(5,5,1),strides=(2,2,1),padding='valid',activation='tanh'))\r\nstae_model.add(ConvLSTM2D(filters=64,kernel_size=(3,3),strides=1,padding='same',dropout=0.4,recurrent_dropout=0.3,return_sequences=True))\r\nstae_model.add(ConvLSTM2D(filters=32,kernel_size=(3,3),strides=1,padding='same',dropout=0.3,return_sequences=True))\r\nstae_model.add(ConvLSTM2D(filters=64,kernel_size=(3,3),strides=1,return_sequences=True, padding='same',dropout=0.5))\r\nstae_model.add(Conv3DTranspose(filters=128,kernel_size=(5,5,1),strides=(2,2,1),padding='valid',activation='tanh'))\r\nstae_model.add(Conv3DTranspose(filters=1,kernel_size=(11,11,1),strides=(4,4,1),padding='valid',activation='tanh'))\r\n\r\nstae_model.compile(optimizer='adam',loss='mean_squared_error',metrics=['accuracy'])\r\n<\/pre>\n<p>6.\u00a0Train the autoencoder on the \u201ctraining.npy\u201d file and save the model with name &#8220;saved_model.h5&#8221;:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">training_data=np.load('training.npy')\r\nframes=training_data.shape[2]\r\nframes=frames-frames%10\r\n\r\ntraining_data=training_data[:,:,:frames]\r\ntraining_data=training_data.reshape(-1,227,227,10)\r\ntraining_data=np.expand_dims(training_data,axis=4)\r\ntarget_data=training_data.copy()\r\n\r\nepochs=5\r\nbatch_size=1\r\n\r\ncallback_save = ModelCheckpoint(\"saved_model.h5\", monitor=\"mean_squared_error\", save_best_only=True)\r\n\r\ncallback_early_stopping = EarlyStopping(monitor='val_loss', patience=3)\r\n\r\nstae_model.fit(training_data,target_data, batch_size=batch_size, epochs=epochs, callbacks = [callback_save,callback_early_stopping])\r\nstae_model.save(\"saved_model.h5\")\r\n<\/pre>\n<p>Run this script to train and save the autoencoder model.<\/p>\n<p>Now make another python file \u201ctest.py\u201d and observe the results of abnormal event detection on any custom video.<\/p>\n<p>Paste the below code in \u201ctest.py\u201d:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">import cv2\r\nimport numpy as np \r\nfrom keras.models import load_model\r\nimport argparse\r\nfrom PIL import Image\r\nimport imutils\r\n\r\n\r\ndef mean_squared_loss(x1,x2):\r\n    difference=x1-x2\r\n    a,b,c,d,e=difference.shape\r\n    n_samples=a*b*c*d*e\r\n    sq_difference=difference**2\r\n    Sum=sq_difference.sum()\r\n    distance=np.sqrt(Sum)\r\n    mean_distance=distance\/n_samples\r\n\r\n    return mean_distance\r\n\r\n\r\nmodel=load_model(\"saved_model.h5\")\r\n\r\ncap = cv2.VideoCapture(\"__path_to_custom_test_video\")\r\nprint(cap.isOpened())\r\n\r\nwhile cap.isOpened():\r\n    imagedump=[]\r\n    ret,frame=cap.read()\r\n\r\n    for i in range(10):\r\n        ret,frame=cap.read()\r\n        image = imutils.resize(frame,width=700,height=600)\r\n\r\n        frame=cv2.resize(frame, (227,227), interpolation = cv2.INTER_AREA)\r\n        gray=0.2989*frame[:,:,0]+0.5870*frame[:,:,1]+0.1140*frame[:,:,2]\r\n        gray=(gray-gray.mean())\/gray.std()\r\n        gray=np.clip(gray,0,1)\r\n        imagedump.append(gray)\r\n\r\n    imagedump=np.array(imagedump)\r\n\r\n    imagedump.resize(227,227,10)\r\n    imagedump=np.expand_dims(imagedump,axis=0)\r\n    imagedump=np.expand_dims(imagedump,axis=4)\r\n\r\n    output=model.predict(imagedump)\r\n\r\n    loss=mean_squared_loss(imagedump,output)\r\n\r\n    if frame.any()==None:\r\n        print(\"none\")\r\n\r\n    if cv2.waitKey(10) &amp; 0xFF==ord('q'):\r\n        break\r\n    if loss&gt;0.00068:\r\n        print('Abnormal Event Detected')\r\n        cv2.putText(image,\"Abnormal Event\",(100,80),cv2.FONT_HERSHEY_SIMPLEX,2,(0,0,255),4)\r\n\r\n    cv2.imshow(\"video\",image)\r\n\r\ncap.release()\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p>Now, run this script and observe the results of video surveillance, it will highlight the abnormal events.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/video-surveillance-project-execution.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-78333\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/video-surveillance-project-execution.gif\" alt=\"video surveillance project execution\" width=\"1918\" height=\"766\" \/><\/a><\/p>\n<h2>Summary:<\/h2>\n<p>In this deep learning project, we train an autoencoder for abnormal event detection. We train the autoencoder on normal videos. We identify the abnormal events based on the euclidean distance of the custom video feed and the frames predicted by the autoencoder.<\/p>\n<p>We set a threshold value for abnormal events. In this project, it is 0.0068; you can vary this threshold to experiment getting better results.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1081,&quot;href&quot;:&quot;https:\\\/\\\/ieeexplore.ieee.org\\\/document\\\/8827932&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20240504115355\\\/https:\\\/\\\/ieeexplore.ieee.org\\\/document\\\/8827932\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 00:52:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-12 01:07:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-16 07:45:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-19 12:14:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-22 13:29:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-26 00:48:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-29 11:01:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-01 18:05:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-05 03:35:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-08 05:22:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-11 20:53:56&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-15 04:52:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-18 05:51:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-21 11:32:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-24 16:49:17&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-28 05:45:40&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-31 17:01:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-03 17:03:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-07 08:46:57&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-02-10 10:35:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 15:02:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 19:01:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-20 14:40:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-23 15:35:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-26 20:37:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-02 01:00:26&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-05 07:43:18&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-08 16:15:49&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-12 07:52:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-15 14:27:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-18 15:34:28&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-21 17:51:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-25 06:43:37&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-28 06:47:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-31 06:48:31&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-03 07:33:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 14:42:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-09 20:24:19&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-13 11:17:43&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-16 12:41:34&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 07:30:39&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-23 13:40:30&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-26 21:01:00&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-30 12:01:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-04 03:01:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-07 14:12:41&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-11 08:19:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-14 11:52:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-17 15:23:22&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-21 01:35:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-25 12:05:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-28 12:49:35&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-31 14:37:03&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-04 14:17:21&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-08 06:16:47&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-11 07:25:36&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-06-15 12:37:19&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 12:37:19&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1082,&quot;href&quot;:&quot;http:\\\/\\\/www.cse.cuhk.edu.hk\\\/leojia\\\/projects\\\/detectabnormal\\\/dataset.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250710001430\\\/https:\\\/\\\/www.cse.cuhk.edu.hk\\\/leojia\\\/projects\\\/detectabnormal\\\/dataset.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 00:52:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-12 01:07:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-16 07:45:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-19 12:15:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-22 13:29:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-26 00:49:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-29 14:50:02&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-01 18:05:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-05 06:29:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-08 07:46:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 06:52:03&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-01-15 10:35:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-18 19:13:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-22 17:17:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-25 21:53:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-29 08:52:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 14:16:40&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 15:24:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-09 14:47:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-12 15:34:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 18:52:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 04:27:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-22 10:16:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-26 07:01:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-01 09:03:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-05 07:43:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 16:15:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 07:52:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 14:28:39&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-18 15:34:50&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-21 17:51:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 06:44:10&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-28 06:47:30&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 06:48:52&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-03 07:33:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 14:42:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-09 20:26:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 11:17:48&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-16 12:41:59&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-20 07:30:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-23 13:40:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 21:01:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-30 10:35:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-04 03:01:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-07 14:12:50&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-11 08:19:12&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-14 11:52:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-17 15:23:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-21 01:35:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-24 19:05:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-28 09:03:42&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-31 14:37:13&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-04 14:17:46&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-06-08 06:16:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-11 07:25:40&quot;,&quot;http_code&quot;:404},{&quot;date&quot;:&quot;2026-06-15 12:38:16&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 12:38:16&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1083,&quot;href&quot;:&quot;http:\\\/\\\/www.svcl.ucsd.edu\\\/projects\\\/anomaly\\\/dataset.html&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20250814235603\\\/http:\\\/\\\/www.svcl.ucsd.edu\\\/projects\\\/anomaly\\\/dataset.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-09 00:52:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-12 01:07:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-16 07:45:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-19 12:18:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-22 13:29:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-26 00:49:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-29 14:49:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-01 18:05:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-05 06:29:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-08 07:46:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 06:51:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-15 10:35:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-18 19:13:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-22 17:17:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-25 21:53:18&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-29 08:52:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 14:16:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 15:24:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-09 14:47:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-12 15:34:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-15 18:52:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 04:27:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-22 10:16:23&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-26 07:01:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-01 09:03:54&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-03-05 07:43:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 16:15:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 07:52:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 14:28:41&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-18 15:34:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 17:51:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-25 06:43:56&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-28 06:47:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-31 06:48:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 07:33:21&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-06 14:42:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-10 07:00:08&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 11:17:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-16 12:42:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-20 07:30:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-23 13:40:53&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 21:01:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-30 10:35:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-04 03:01:34&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-07 14:12:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-11 08:19:13&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-14 11:52:21&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-17 22:42:03&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-21 01:35:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-24 19:05:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-28 09:03:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-31 14:37:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-04 14:17:35&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-08 06:16:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-11 07:25:37&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-15 12:38:12&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-15 12:38:12&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Surveillance security is a very tedious and time-consuming job. In this tutorial, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time and&#46;&#46;&#46;<\/p>\n","protected":false},"author":10,"featured_media":78334,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[21686,22392,22394,15377,22393],"class_list":["post-78316","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-deep-learning-project","tag-deep-surveillance","tag-spatial-temporal-encoders","tag-video-surveillance","tag-video-surveillance-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Deep Surveillance with Deep Learning - Intelligent Video Surveillance Project - DataFlair<\/title>\n<meta name=\"description\" content=\"In this deep learning project, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time &amp; identify any abnormal activities like violence or theft.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Surveillance with Deep Learning - Intelligent Video Surveillance Project - DataFlair\" \/>\n<meta property=\"og:description\" content=\"In this deep learning project, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time &amp; identify any abnormal activities like violence or theft.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-02T05:34:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-25T08:24:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"802\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deep Surveillance with Deep Learning - Intelligent Video Surveillance Project - DataFlair","description":"In this deep learning project, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time & identify any abnormal activities like violence or theft.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/","og_locale":"en_US","og_type":"article","og_title":"Deep Surveillance with Deep Learning - Intelligent Video Surveillance Project - DataFlair","og_description":"In this deep learning project, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time & identify any abnormal activities like violence or theft.","og_url":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2020-06-02T05:34:26+00:00","article_modified_time":"2021-08-25T08:24:57+00:00","og_image":[{"width":802,"height":420,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/a90b082e16aa38d207212d22b0581f33"},"headline":"Deep Surveillance with Deep Learning &#8211; Intelligent Video Surveillance Project","datePublished":"2020-06-02T05:34:26+00:00","dateModified":"2021-08-25T08:24:57+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/"},"wordCount":586,"commentCount":49,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg","keywords":["deep learning project","deep surveillance","spatial temporal encoders","Video Surveillance","video surveillance project"],"articleSection":["Machine Learning Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/","url":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/","name":"Deep Surveillance with Deep Learning - Intelligent Video Surveillance Project - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg","datePublished":"2020-06-02T05:34:26+00:00","dateModified":"2021-08-25T08:24:57+00:00","description":"In this deep learning project, we will build a system to automate the task of analyzing video surveillance. We will analyze the video feed in real-time & identify any abnormal activities like violence or theft.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/06\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project.jpg","width":802,"height":420,"caption":"deep surveillance with deep learning intelligent video surveillance project"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/deep-surveillance-with-deep-learning-intelligent-video-surveillance-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Machine Learning Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/machine-learning\/"},{"@type":"ListItem","position":3,"name":"Deep Surveillance with Deep Learning &#8211; Intelligent Video Surveillance Project"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/a90b082e16aa38d207212d22b0581f33","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6de0d647a0185cd6faf264e4ba860b0d85d08d7070766f9cd41bea5bb0b227?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team is passionate about delivering top-notch tutorials and resources on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. With expertise in the tech industry, we simplify complex topics to help learners excel. Stay updated with our latest insights.","url":"https:\/\/data-flair.training\/blogs\/author\/dfadteam1\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/78316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=78316"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/78316\/revisions"}],"predecessor-version":[{"id":86538,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/78316\/revisions\/86538"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/78334"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=78316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=78316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=78316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}