People Detection

Interested to know more? Do you have a potential use case? Fill the below form to contact us.






Congratulations. Your message has been sent successfully.
Error, please retry. Your message has not been sent.

Instructions
Input - Click on the “+” button in the video player and upload a decent resolution video with less than 40mb.
Output - Provides an inferred video after locating every person in the frame and provides their locations (XY Coordinates) over a time in JSON format.
Note: Upload the appropriate video for optimal performance. Video that doesn't relate to the model might provide you unexpected results

The complexity of detection might increase with the increase in the number of people in the frame due to the dynamic nature of people movements and it is next to impossible for humans to track the people. TensorGo SOTA algorithms can detect the people regardless of their orientation or angle they are facing, light levels and clothing. The application can not only detect multiple people in a frame but can also get their location in the frame.

Taking an example of counting the number of people and tracking them over a stadium or in a public place is extremely important for law enforcement authorities and governments. Considering the Covid-19 situation we can count, track the people and analyse the crowd for better decision making.

Use Cases

Crowd Analytics, Crowd Behaviour, People Counting, People Tracking etc.,

API Request and Response

TensorGo Platform provides you with a one stop solution to customize the our API offerings as per your use case by mixing and matching the existing APIs or requesting for a new custom model. This accelerates the development of use cases with minimal or no code towards deep learning applications.

Specification

API Endpoints

#For Getting the API KEY
#(Registration Not Required)
#Enter the email ID to get the api key.
#The api key will be valid for 2 hours only.#
Request:
post/
[URL]
	body:{ 
      		“email”:”xxxxxxx@xxxx.com”
             }
Response:
	 {“msg”:”Key has been sent to your email”}

#For Uploading
#Enter the api key which you have received in
#the email to access any of the below API. The api key should be
#added in the header with name “key”

#For uploading video or image.
Request:
post/
[URL]
	body:{ 
	        ‘app': ”Name of the app”
             	“file”:”Attached File”
             },
	Headers:{
		“Key”:”xxxxxxxxx”
		}
Response:
	{“ID”:”ID”}

#You have to enter the above ID in order to download
#the video or file in the download api. If it’s a image file
#then you will directly receive the infrared image link

#For uploading video link
Request:
post/
[URL]
	body:{
             “app”:”peopleNet”
              “link”:”video Link” -> 
             },
	Headers:{
		“Key”:”xxxxxxxxx”
}
Response:
	{“id”:”ID”}

#For uploading video rtsp link
Request:
post/
[URL]
body:{
“app”:”peopleNet”
“link”:”video Link” ->
},
Headers:{
“Key”:”xxxxxxxxx”
}
Response:
{“id”:”ID”}

#For Downloading
#Enter the ID which you have received in response
#to use any of the below API. It should be added in the query
#with the name “id”. Enter the app name which you
#have selected while uploading the video,
#to use any of the below api and It should be added
#in the query with the name “app”.

#Download the inferred video:
get/
[URL]?app=”app name”&ID=”ID received”
Headers:{
“Key”:”xxxxxxxxx”
}

#Download the csv file:
get/
[URL]?app=”app name”&ID=”ID received”
Headers:{
“Key”:”xxxxxxxxx”
}
#File Upload
import requests
with open(“File Location”, 'rb') as f:
     response=requests.post({URL},
     data={“app”:'peopleNet'},
     files={'file':f},
     headers = {“key”: “*******”})
#Response →  {“msg”:”Key has been sent to your email”}

#Video Link
#Enter the key that you have received in mail
response=requests.post({URL/videolink},
data={'app':'peopleNet',”link”:”Video Link”},
headers = {“key”: “xxxxxxx”})
#Response→ {“msg”:”Some Random ID”}

#Video RTSP Link
#Enter the key that you have received in mail
response=requests.post({URL/link},
data={'app':'peopleNet',”link”:”Video RTSP Link”},
headers = {“key”: “xxxxxxx”})
#Response→ {“msg”:”Some Random ID”}

#Video Link for Download
#Enter the key that you have received in mail
#Enter the id that you have received in response while uploading
response=requests.get({URL/downloadLink/video},
params={“id”:{ID Received},”app”:'peopleNet'},
headers = {“key”: “xxxxxxx”})
#Response→ {“videoLink”:”Video Link for downloading”}

#CSV Link for Download
#Enter the key that you have received in mail
#Enter the id that you have received in response while uploading
response=requests.get({URL/downloadLink/output},
params={“id”:{ID Received},”app”:'peopleNet'},
headers = {“key”: “xxxxxxx”})
#Response→ {“fileLink”:”CSV Link for downloading”}
//File Upload
var form = new FormData();
form.append('app', 'peopleNet');
form.append('file', files[0]);
fetch({URL}, {
  method: 'POST',
  body: form,
  headers: {
     “key”: “xxxxxxx”
    }})
//Response →  {“msg”:”Key has been sent to your email”}
//You’ll receive a key in in your mail

//Video Link
//Enter the key that you have received in mail
fetch(
  {URL/videolink},{
method:”POST”,
body: {“app”:'peopleNet'},
headers: {
      “key”: “xxxxxxx”
    }})
//Response→ {“msg”:”Some Random ID”}

//Video RTSP Link
//Enter the key that you have received in mail
fetch(
  {URL/link},{
method:”POST”,
body: {“app”:'peopleNet'},
    headers: {
    “key”: “xxxxxxx”
    }})
//Response→ {“msg”:”Some Random ID”}

//Video Link for Download
//Enter the key that you have received in mail
//Enter the id that you have received in response while uploading
fetch(
  {URL/downloadLink/video+”?
  id={ID Received}&app=peopleNet”},{
    headers: {
     “key”: “xxxxxxx”
    }})
//Response→ {“videoLink”:”Video Link for downloading”}

//CSV Link for Download
//Enter the key that you have received in mail
//Enter the id that you have received in response while uploading
fetch(
  {URL/downloadLink/output+”?
  id={ID Received}&app=peopleNet'},{
    headers: {
    “key”: “xxxxxxx”    }}
//Response→ {“fileLink”:”CSV Link for downloading”}

#File Upload
curl -X 'POST' \
  '{URL}' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'file={File Attached}' \
  -F 'app=peopleNet’
#Response →  {“msg”:”Key has been sent to your email”}
#You’ll receive a key in in your mail

#Video RTSP Link
#Enter the key that you have received in mail
curl -X 'POST' \
  '{URL/link}' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -H 'key: xxxxxxxx' \
  -F 'url={Video RTSP Link},' \
  -F 'app=peopleNet'
#Response→ {“msg”:”Some Random ID”}

#Video Link
#Enter the key that you have received in mail
curl -X 'POST' \
  '{URL/videolink}' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -H 'key: xxxxxxxx' \
  -F 'url={Video Link},' \
  -F 'app=peopleNet'
#Response→ {“msg”:”Some Random ID”}

#Video Link for Download
#Enter the key that you have received in mail
#Enter the id that you have received in response while uploading
curl -X 'GET' \
  '{URL/downloadLink/video/ + ”?
   id={ID Received}&app=peopleNet”}' \
  -H 'accept: application/json'\
  -H 'key: xxxxxxxx' 
#Response→ {“videoLink”:”Video Link for downloading”}

#CSV Link for Download
#Enter the key that you have received in mail
#Enter the id that you have received in response while uploading
curl -X 'GET' \
  '{URL/downloadLink/output/ + ”?
   id={ID Received}&app=peopleNet”}' \
  -H 'accept: application/json'\
  -H 'key: xxxxxxxx' 
#Response→ {“videoLink”:”Video Link for downloading”} 
//File Upload
$cf = new CURLFile($files);
$curl = curl_init(URL);
curl_setopt($curl, CURLOPT_URL, URL);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, ['upload' => $cf]);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('key': '********'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data =
{
  'app': 'peopleNet'
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
//Response →  {'msg':'Key has been sent to your email'}
//You'll receive a key in in your mail

//Video Link
//Enter the key that you have received in mail
$curl = curl_init(URL/videolink);
curl_setopt($curl, CURLOPT_URL,URL/videolink);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('key': '********'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data =
{
  'app': 'peopleNet'
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);
//Response→ {'msg':'Some Random ID'}

//Video RTSP Link
//Enter the key that you have received in mail
$curl = curl_init(URL/link);
curl_setopt($curl, CURLOPT_URL,URL/link);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('key': '********'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data =
{
  'app': 'peopleNet'
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);
//Response→ {'msg':'Some Random ID'}

//Video Link for Download
//Enter the key that you have received in mail
//Enter the id that you have received in response while uploading
$curl = curl_init(URL/downloadLink/video);
curl_setopt($curl, CURLOPT_URL,URL/downloadLink/output);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('key': '********'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data =
{
  'app': 'peopleNet',
  'id': '{ID Received}'
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);
//Response→ {'videoLink':'Video Link for downloading'}

//CSV Link for Download
//Enter the key that you have received in mail
//Enter the id that you have received in response while uploading
$curl = curl_init(URL/downloadLink/output);
curl_setopt($curl, CURLOPT_URL,URL/downloadLink/output);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('key': '********'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$data =
{
  'app': 'peopleNet',
  'id': '{ID Received}'
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);
//Response→ {'fileLink':'CSV Link for downloading'}