"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

December 31, 2019

Day #308 - Display on Rasberry PI

Finally got a 2.8 Inch LCD display for Rasberry PI. Next step is to experiment with the models with real-time situations. This LCD will help to visualize the output. Package installation commands and reference.

Happy Learning!!!

December 30, 2019

Social Media Responsibilities

How do we measure social media impact? What are the pros and cons of Social Media
Pros
  • Information Sharing
  • Connect with a larger set of population
Cons
  • Sharing information without Authenticity
  • Motive / Authenticity of people sharing information
  • Smiles / Selfies vs Reality of Life
  • Manipulative / Biased / Personalized targeted ads
  • Exploit human tendencies of feedback / Sensitized to bias 
Social Media Accountability
  • Freedom of speech vs Hurting Sentiments
  • Consequences of blackmail/threat/bullying through social media contacts
  • Consequences of any form of violence instigated through messages
  • Validating the facts/claims shared?
  • Endorsing political advertisement claims without a moral stand?
  • Biased targeting of users?
  • Depression / Suicide due to excess usage of social media?
  • Freedom of speech vs Authenticity of speech vs Intentions of information shared?





When we can’t even agree on what is real


Keep Thinking!!!

December 26, 2019

Analyzing top 25 AI companies in 2019

Analyzing top 25 AI companies listed in Link




Happy Learning AI Landscape!!!

December 24, 2019

Data Analysis vs Forensic Science

Before AI / BI it's about #exploring the data to uncover the #DataInsights. #DataAnalysis is similar to #ForensicScience. Side by Side comparison of both perspectives.


#Data and #Insights sets the #direction for successful #AI / #BI usecases #datascience #bigdata #analytics

Happy Learning!!!

December 23, 2019

Difference between SQL and NOSQL Systems

Reposting from my two-year-old Quora answer

The Key differences between them lies in the understanding CAP theorem
  • Consistency
  • Availability
  • Partition Tolerance
In layman terms. SQL systems ex-RDBMS will adhere ACID properties (Atomicity, Consistency, Isolation, Durability).
  • The datatypes, schema are predefined, You cannot store non-matching datatypes
  • To avoid dirty data, systems enforce isolation levels that govern only committed data is read (Consistency)
  • Only latest records are available, records at that point in time are not available
  • Banking Systems, ordering systems where data needs to consistent will be mostly SQL based systems where consistency is important
No-SQL systems (Not Only SQL)
  • The schema is not tightly governed, its flexible you can store different datatypes in same columns
  • These may be geographically distributed where data may be synced and eventually be consistent end of day not realtime
  • They also support point in time data, data values at a point in time can also be looked up
  • Where there is no requirement for consistency we can achieve other 2 Availability and partition tolerance
  • Since some of the ACID properties are compromised you will have high availability of this systems
It is more to do with business need to decided SQL or SQL based storage.

Happy Learning!!!

December 17, 2019

Improving Women Safety

To reduce crime against women more than strengthening laws we need to get to the root cause of issues. We need to analyze the crime data and fix the source of the problem.

We need to analyze the crime patterns based on different aspects to find the underlying patterns.

Pattern vs Solutions
  • Correlation with alcohol - How to reduce/limit alcohol consumption 
  • Correlation with education - How to reduce dropouts and improve education
  • Correlation with income category - Sustainable jobs
  • Correlation with marital status - Family aspects
  • Correlation to caste - Driven by caste / Unemployment / Dropouts
  • Correlation to age group - Social media, porn impact
  • Correlation to social behavior - Drugs / partying / Addiction
  • Correlation to job type - Government vs Private jobs vs Daily vs Organized Crimes
Education is not limited to a few years. Education is not about degrees. The real purpose of education is to unlearn and relearn things from morality/humanity perspective.

It needs complete society change, not just laws. Let's prepare a safer tomorrow by making the required changes. 

Keep Questioning!!!

December 16, 2019

Day #307 - Porting Keras to Tensorflow Lite Version

Next Task is to run all the developed models in Pi using Tensorflow Lite. I am using google colab to convert the models into lite version.

The ported models we will attempt to run in Rasberry PI as next steps

Happy Learning!!!

Day#306 - Express the SQL in pandas, TSQL in Pandas

I wanted to mimic joins, aggregation, sum whatever we do in Database with pandas. A simple storyline of Data Analysis between Employee, Department and Salary using pandas dataframes.


Everything can be done in SQL. This is a different approach to it using pandas.

Happy Learning!!!

Day #305 - Loading from Weights file HDF, saved models H5 files

We will look at
  • Vanilla Model
  • Load preexisting weights HDF5 and Continue
  • Load preexisting model H5 and Continue

Results

Option #1 - Vanilla Model
Option #2 - Continue from Saved Weights
Option #3 - Continue from Saved Model H5 File


Happy Learning!!!

Day #304 - Analysis of Deep Fashion Dataset - LandmarkDetection

Three different poses

8 localization points only 4 is not null in all columns
Different visibility value options (0,1,2) - visibility: v=2 visible; v=1 occlusion; v=0 not labeled

One model for each category we need to do
The top-level has 3 generic categories:
  • 1: “top” (upper-body clothes such as jackets, sweaters, tees, etc.)
  • 2: “bottom” (lower-body clothes such as jeans, shorts, skirts, etc.)
  • 3: “long” (full-body clothes such as dresses, coats, robes, etc.)
The implementation is defined in paper - Link
Data - Link

Architecture Implementation

Data Analysis of the Dataset for Non-Zero Columns

  • image_name                   0
  • landmark_visibility_1        0
  • landmark_location_x_1        0
  • landmark_location_y_1        0
  • landmark_visibility_2        0
  • landmark_location_x_2        0
  • landmark_location_y_2        0
  • landmark_visibility_3        0
  • landmark_location_x_3        0
  • landmark_location_y_3        0
  • landmark_visibility_4        0
  • landmark_location_x_4        0
  • landmark_location_y_4        0
  • landmark_visibility_5    30972
  • landmark_location_x_5    30972
  • landmark_location_y_5    30972
  • landmark_visibility_6    30972
  • landmark_location_x_6    30972
  • landmark_location_y_6    30972
  • landmark_visibility_7    73003
  • landmark_location_x_7    73003
  • landmark_location_y_7    73003
  • landmark_visibility_8    73003
  • landmark_location_x_8    73003
  • landmark_location_y_8    73003

Non-zero columns

  • landmark_visibility_1        0
  • landmark_location_x_1        0
  • landmark_location_y_1        0
  • landmark_visibility_2        0
  • landmark_location_x_2        0
  • landmark_location_y_2        0
  • landmark_visibility_3        0
  • landmark_location_x_3        0
  • landmark_location_y_3        0
  • landmark_visibility_4        0
  • landmark_location_x_4        0
  • landmark_location_y_4        0

Happy Learning!!!

Day #303 - Model Training Guidelines - Part II

Here we will look at two more additions on top of the previous post 
  • Save model h5 file after every run/epoch 
  • Add Data batching to run in smaller iterations, Leverage Sequencer


This is a template code. This can be customized for larger datasets


Happy Learning!!!

December 15, 2019

Project Learning Notes

Tracking, Counting has always been quite interesting topic for sometime. Explored this codebase link


I liked the approach of directionality based tracking. This is very needed for directionality based counting. Hoping to reuse / implement it in people counting scenarios.


My perspective is

  • Tracking by Sampling Frames (Reduce Load)
  • Use Euclidean and other attributes to track/match
  • Evaluate existing tracking built in OpenCV (Again these need frame by frame tracking)

Happy Learning!!!

December 13, 2019

Day #302 - Keras Best Practices during Training

In this post we take the raw version of code and add below features in code
  • Adding Checkpoint
  • Adding Logging
  • Plot Results
  • Restart Training from Checkpoint
  • Early Stopping

Run #1 Output (10 Epochs)


Run #2 Continue with Existing Weights (5 Epochs)


Happy Learning!!!

December 11, 2019

Day #301 - Data Batching in Keras

This post is about custom data batching using Keras. Here we override the methods of inbuilt sequence. The below example is with dummy data generation, data splitting and fetching the batch of records.



Other strategies
  • Databases -> CSV 50K Data Chunks Records -> Training and Save Checkpoint
  • Checkpoint to Save for Each run and reuse for next 50K Chunk of Data
This is a classic data fetching solution. Database can store millions of records. We can fetch each batch, export it to a CSV and use each chunk, train and save checkpoint and continue further for next run.

Happy Learning!!!

December 01, 2019

Day #300 - Lessons Learnt from Multi-Label Classification

Today is 300th Post on Data Science. It has been a long journey. Still I feel there is a lot more to catchup. Keep Learning, Keep Going.

There are different tasks involved

1. Data Collection - Fatkun Batch Download Image chrome extension to download images
2. Script to reshape images and store in a standard format
3. Simple DB script to update and prepare data

4. This base implementation was useful for model implementation link
5. Data Test Results

Happy Learning!!!


November 26, 2019

Amazon Go /Big Basket Smart Machine - Tech Analysis

Amazon Go
  • QR Code for user account linking
  • Pick items, Auto detected
  • Multiple validation points (Video Object Detection, Shelf Weight sensor-based confirmation, RFID reads etc)
  • Multiple RFID readers to capture item movement across ISLEs
Cons
  • Massive surveillance 
  • Real-time computation
IMO, Big Basket Smart Machine is also similar to the implementation
  • QR Code for user account linking
  • Pick and Buy
  • Mobile App integration 
  • Weight Sensors used to detect Shelf Item Quantity
  • Unique Items in each row. It is not mixed
Since its a standalone machine, it will not need any tracking with RFID / Video camera. Only Weight sensors sufficient and it is a single person operated at a time.

Happy Learning!!!

Day #299 - OpenVino Python Code for Faces - Pedestrain - Attributes

Hope this helps for other developers trying out executing intel openvino models in python

Happy Learning!!!

November 24, 2019

Day #298 - Data Analysis of PNB Defaulters

Data Source - Link

Data Analysis of PNB Defaulters

Chart #1 - Top 20 States By Company Registration State and Defaulted Amount



Chart #2 - Top 20 States By Defaulters Count





Chart #3 - Top 20 Branches with Maximum Defaulters





Chart #4 - Top 20 Branches with Maximum Defaulters Loan Value





Possible Feature Variables
  1. Branch Related Approval Score, Higher Defaulters lower the rating
  2. Similar Industry Match Score
  3. State Related Scores
  4. Connections / Joint ventures in Past with Collapsed Companies
  5. Rules for threshold limit based on Industry / State / Branch
  6. Multiple Models for ongoing monitoring / performance / social medial trends etc..
  7. Build a global model with defaulter list across banks and identify common patterns/modus operandi
Happy Learning!!!

November 18, 2019

Day #297 - Paper Analysis - WIDER Face and Pedestrian Challenge

WIDER Face and Pedestrian Challenge
Tasks - face detection, pedestrian detection, person search
Dataset - WIDER Pedestrian Track - 20,000 images. From surveillance cameras, driving vehicles

Face Detection
  • Approach 1 -  single stage detector with the network structure based on RetinaNet [7] and FAN - Face attention network
  • Approach 2 - two-stage face detector following Faster R-CNN [12] and FPN Feature pyramid networks [13] framework
  • Approach 3 - a two-stage face detection framework. RetinaNet [7] and RefineDet [15]. The team uses two-stage classification and regression to improve the accuracy of classification
PEDESTRIAN DETECTION TRACK
  • Approach 1 - basic detection framework of the champion is Cascade R-CNN. Five models are ensembled: ResNet50 [18], DenseNet-161 [19], 197 SENet-154 [20] and two ResNext-101 [21] models.
  • Approach 2 - The second team uses FPN [13] and Faster R-CNN [12] as the basis of their detection framework
  • Approach 3 - The team at the third place uses Cascade R-CNN [16] as the detection framework
PERSON SEARCH TRACK
  • Approach 1 - The winning team designs a cascaded model that utilizes both face and body features for person search. (1) The face detector used here is MTCNN [26] trained on WIDER FACE [4]. (2) The face recognition model backbones include ResNet [18], InceptionResNet-v2 [27], DenseNet [19], DPN and MobiletNet [28]. (3) The Re-ID backbones include ResNet=50, ResNet-101, DenseNet-161 and DenseNet-201
  • Approach 2 - The solution is decomposed into two stages - the first stage is to retrieve faces, and the second stage is to retrieve the bodies. Finally, the retrieval results of the two stages are combined as the ranking result. (1) Face Detection. The face detector used here are PCN [29] and MTCNN [26]. (2) Face Retrieval. A second-order networks [30], [31], [32] (ResNet34 as backbone) trained on VGGFace2 [33] with softmax loss and ring loss [34] is used here
  • Approach 3 -  In the first step, the face in the query is used to search persons, whose faces can be detected, by face recognition. Then these images are further used to search again in all candidate images by person reidentification feature to get the final result
Happy Learning!!!


November 13, 2019

Day #296 - TensorflowLite

TensorflowLite models run in gmail, google photos, google assistant, google photos etc..

Advantages
  • Low Latency
  • No Data connection required
  • On device sensors
Key Points
  • On Device ML on many platforms
  • Tensorflow model saved in graph format
  • Converted to Lite format
TFLite
  • Model compression
  • Quantization
  • Optimized SIMD Kernels
  • Converter to generate model. Interpreter to run models
Benefits
  • Cross-Platform deployment
  • Inference speed increases
  • Binary size reduction
  • Hardware acceleration roadmap
#Build and save keras model
model = build_your_model()
tf.keras.experimental.export_saved_model(model,saved_model_dir)

#convert keras to tensorflow lite model
converter = tf.lite.TFLiteConverter.from_saved_models(saved_model_dir)
#To experiment new feature
converter.experimental_new_converter = True
tflite_model = converter.convert()

Link1, Link2

Improve Performance of models
  • Reduce precision of weights (16 bit instead of 32 bit precision) - Quantization
  • Pruning - Remove connections during training
  • Op Kernels - ARM
  • Delegates - GPU (Run on Specialized hardware)




Tensorflow Lite on Micro-controllers is an impressive move. More than mobiles, cross platforms this is a very impressive step.

Happy Learning!!!

November 11, 2019

Getting new ideas perspectives

Some meaningful tips for new ideas, solutions, creative thinking




Happy Learning!!!

November 05, 2019

Day #295 - Age - Emotion - Gender Detection Model

It seems I am aging faster than ever.


Deep Learning Model for Age, Gender, Emotion and Real-time implementation. It seems I am agining faster. If it says I am 40, I have just a decade left to code and transition to something else.

Years progressed so fast seems already aged. I hope to code and do something till my day of death. Keep Going...

Happy Learning!!!

November 04, 2019

Day #294 - Setting up Home Surveillance System

Finally, after a few months, I was able to set up a Home Surveillance System. Person Detection and Real-time alert.

Installation


Demo

Happy Learning!!!

November 01, 2019

Day #293 - Date with RASA - Chatbot Learning day :)

Found an interesting workshop on end to end demo with RASA.

Training



Demo



Happy Learning!!!

October 30, 2019

Day #292 - Gstream on Windows10

Note - Do "complete" instead of "typical" for both cases for it to work

This link was useful to experiment and follow.

Step 1. Download installer1 from link

Step 2. Download installer2 from link

Install both of them in Windows, Goto Folder - F:\gstreamer\1.0\x86_64\bin

Step #3 - Command
gst-launch-1.0.exe -v ksvideosrc device-index=0 ! video/x-raw, format=YUY2, width=320, heigh=240, framerate=30/1, pixel-aspect-ratio=1/1 ! videoconvert ! autovideosink

Stream Output

Next Post Stream from rasberry pi to windows

Happy Learning!!!

October 29, 2019

Day #291 - Working with chatterbot - Windows 10


Happy Learning!!!

Day #290 - Yolo from OpenCV DNN - Windows 10

OpenCV has examples to invoke Deep Network using readNet modules

Key Methods
  • cv.dnn.readNet - Load the network
  • cv.dnn.NMSBoxes - Non Max Suppression
  • cv.dnn.blobFromImage - Input for Deep Network
Steps

Results




Happy Learning!!!

October 25, 2019

Day #289 - Example code for Class Creation, Data Persistence, Email and Phone number Validation

Example code for Class Creation, Data Persistence, Email and Phone number validators

Happy Learning!!!

October 24, 2019

Day #288 - Messaging using pyzmq

pip install pyzmq

Example - python usage

Output


Real world use case - imagezmq: Transporting OpenCV images

Happy Learning!!!

October 19, 2019

Day #287 - Dlib Custom Detector

Learning's
  • Aspect ratio needs to be maintained
  • Trained for only one type of Object (Vim Dishwasher)
  • Trained with just a few images 30 images of train and 5 images of test
  • Environment - Windows 10, After all the Setup and Steps, It would take ~45 mins to develop for label, training, and testing
Data Set
  • Custom Shelf and Vim dishwash Detection
Image Pre-requisites
  • I resized data to 512 x 512 format to be consistent
  • Place all images in train and test directory respectively before next steps
Label Training Data
  • Img Lab Installation - Refer previous post
  • Use Shift key to select rectangle
  • Use Alt D to delete region
  • Each tool has its own commands



Label Testing Data


Training Code




Test Code



Result

Day #286 - Working with imglab Annotation Tool

Working with imglab annotation tool.


Happy Learning!!!

October 17, 2019

Learning Moments

Last three-four days, I was breaking my head for a segmentation task. There were a ton of tutorials. Everywhere I pick a code and ended up not working. Finally, I managed to segment it. When we sit and learn alone defintely there will be moments of long failures. Do whatever you do with a bit of curiosity and interest. Learning is an ongoing habit. We are not used to proper learning with focus, attention, curiosity, passion, and experimentation.  

Happy Learning!!!

Day #285 - Experimenting with Unet Segmentation

U-Net

  • Symmetric U-Shape - Convolutions + Poolings
  • Up-Convolutions - Upsampled layers
  • Encoder / Decoder
  • Contraction / Expansion
  • Skip Connections to learn pixel information

There are a ton of tutorials out there but it takes time to find to what works for us :) in our environment. I was experimenting on u-net based segmentation past few days. I will share my learnings on what worked for me.

Step 1 - The initial image is

I am interested in segmenting the parts (products)

Step 2 - The first step is to resize the image into 256 x 256 dimension



Step 3 - The Next Step is to binarize the image

This is the source image. The target image is


Step 4 - Tool - I used paint 3D and white brush in it to segment the required parts for my need

Step 5 - Follow the steps and create the train and label (source and segmented image)

Step 6 - Train the model, Got the repo and customized it link

Step 7 - The predictions for the test image are




Next Demo


 Happy Learning!!!


October 15, 2019

Day #284 - OpenCV Error in Windows server 2012


  • Turn windows features on or off
  • Skip the roles screen and directly go to Feature screen
  • Select "Desktop Experience" under "User Interfaces and Infrastructure"

Think answer was useful link

Happy Learning!!!

October 11, 2019

Day #283 - Clustering to group similar Images


For large retail datasets, before object detection. Clustering becomes essential to focus on each cluster to take it forward. Today's post is clustering images into similar groups

  • Generate Feature Data based on VGG / Resnet
  • Cluster them using Kmeans
  • Result output to their respective cluster directory


Input - Mixed Set of Images
Output 
Cluster 1
Cluster 2

Cluster 3
More Reads - Example (in R)

Happy Learning!!!

October 10, 2019

Day #282 - Retail Product Detection / Retail Object Detection


Paper #1 - Automatic Detection of Out-Of-Shelf Products in the Retail Sector Supply Chain

Rule-based information system
  • OOS Contribution factors - Measurement of product availability, Measurement of shelf availability
  • Approach - Radio-Frequency Identification based
  • Rule - “IF (a product is fast-moving) AND (has low sales volatility) AND (POS sales = 0 for today) THEN the product is OOS
  • IF Fastmoving product sales count is zero then there is a problem
  • Detection approach = Historical data -> Patterns -> Rules = Apply on Current Data
Paper #2 - Retail Shelf Analytics Through Image Processing and Deep Learning
Analysis
  • Tasks - Automatic product checkout using segmentation, Object detection of products on store shelves
  • Approach - Shelf Image -> Detector for regions (Class, BBox, Mask) -> Crop Each Region -> Object -> Feature Extractor -> KNN Classifier

Paper #3 - A deep learning pipeline for product recognition on store shelves
Analysis
  • Shelf Image -> Region proposals -> Crop -> Reference Images -> Refinement -> Detection

Paper #4 - Planogram Compliance Checking Based on Detection of Recurring Patterns
Analysis
  • Shelf Image -> Region Partition -> Recurring Pattern Detection -> Compliance Checking

High Level Recommendations (Apply Combination of techniques)
  • Shelf Image -> Region Partition -> Region proposals -> Detect Recurring Pattern, Reference Images for refinement -> Prediction
Project Analysis 
The Shelf Detector System For Retail Stores Using Object Detection

pip install -r requirements.txt
python train_obj_detector.py testNutella1

Code Details - https://github.com/bobquest33/dlib_obj_count/blob/master/nutella.pdf
Tool Used - https://imglab.in/

Interesting Read
Retail Product Recognition on Supermarket Shelves

Paper #5 - Rethinking Object Detection in Retail Stores
Key Notes
  • Simultaneously object localization and counting, abbreviated as Locount
  • Algorithms to localize groups of objects of interest with the number of instances
  • Most of the state-of-the-art object detectors use non-maximal suppression (NMS) to post-process object proposals to produce final detections
New Approach
  • Cascaded localization and counting network (CLCNet)
  • Localize groups of objects of interest with the numbers of instances
Dataset
  • Grozi-120 dataset
  • Freiburg Groceries dataset
  • GameStop dataset
  • Retail-121 dataset
  • Sku110k dataset
  • TGFS dataset
Cascade R-CNN [1] proposes a multi-stage object detection architecture, which is formed by a sequence of detectors trained with increasing IoU thresholds

Locount Dataset
  • 140 common commodities, including 9 big subclasses
  • Cascaded localization and counting network (CLCNet
    • count-regression strategy for counting
    • count-classification strategy for counting
  • Locount to localize groups of objects with the instance numbers, which is more practical in retail scenarios



Happy Learning!!!

October 09, 2019

Day #281 - Yolo based Object Counting and Duplicate Removal

Today's learning is Yolo based object counting, duplicate removal using intersection over union metric.

Happy Learning!!!

October 08, 2019

Day #280 - Human detection and Tracking

Project #1 - Human Detection and Tracking 

Overview
  • Detecting a human and its face in a given video and storing Local Binary Pattern Histogram
  • Recognize them in any other videos
  • Local Binary Pattern Histogram - type of visual descriptor, clockwise direction check neighbour values
Execution Steps
Clone the project
Step 1 - python create_face_model.py -i data
Step 2 - python main.py -v video

Project #2 - Person-Detection-and-Tracking  (Pending Execution)

Overview
  • The person detection in Real-time is done with the help of Single Shot MultiBox Detector
  • Single Shot MultiBox Detector
  • Tracking - Kalman Filter is fed with the velocity, position and direction of the person which helps it to predict the future location 
Single Shot MultiBox Detector
  • The core of SSD is predicting category scores and box offsets for a fixed set of default bounding boxes using small convolutional filters applied to feature maps
  • The key difference between training SSD and training a typical detector that uses region proposals, is that ground truth information needs to be assigned to specific outputs in the fixed set of detector outputs
Execution Steps
Clone the project https://github.com/ambakick/Person-Detection-and-Tracking

Execute - camera.py in Spyder

Project #3 - Tracker Types Demo Project (Pending Execution)

Overview
  • Track Multiple faces
  • Download and Experiment
Run Below Demos
demo - track multiple faces.py
Multiple_Trackers.py
face_eye.py
distance_to_camera.py

Datasets - Link

Object Motion Detection and Tracking for Video Surveillance
Measuring size and distance with OpenCV
Calculate X, Y, Z Real World Coordinates from Image Coordinates using OpenCV

Happy Learning!!!

October 07, 2019

Learning and Growth

Every job / role / growth is more about understanding the problem / perspective / business and technical dimensions. AI has a lot of tools, languages, architecture, research insights. It is ongoing learning to evaluate all possible solutions, productize with certain boundaries, keep learning to expand other architectures. Be open to learning, titles/roles are a cascade effect of your consistent efforts.

Keep Going!!!


October 03, 2019

Day #279- Multi-Object Tracking

Project #1 - vehicle-speed-check

Clone Repository - Link

On Anaconda prompt,
cd vehicle-speed-check
pip install -r requirements.txt
python speed_check.py

Comments - Very good project to get started. The logic of speed computation with respect to frames per second, pixel movement can be reused in other use cases. Use of dlib correlation tracker. The tracking logic can be reused in other similar implementation

Project #2 - Simple Example code (ROI Based)



Project #3 - Another interesting project from Adrian blog 

Cloned the project and executed the demo. This code does not work in windows 10 though. Someone has fixed the code. The working code is in link 

python multi_object_tracking_fast.py --prototxt E:\Code_Repo\multiobject-tracking-dlib\mobilenet_ssd\MobileNetSSD_deploy.prototxt  --model E:\Code_Repo\multiobject-tracking-dlib\mobilenet_ssd\MobileNetSSD_deploy.caffemodel --video E:\Code_Repo\multiobject-tracking-dlib\race.mp4 --output E:\Code_Repo\multiobject-tracking-dlib\race_output_fast.avi

October 02, 2019

Day #278 - Object Tracking - TensorFlow Object Counting API

I came across this project. Fantastic work!! The Detection part needs to be finetuned for the Indian scenario, the tracking seems fine performing decently. You can spot a few false positives, Trucks on the other side of the lane are not detected, Indian Trucks are not well recognized. This can be handled by a custom detection model. Overall the tracking and counter approach can be reused in multiple scenarios.

Clone the project - object_counting_api

vehicle_counting.py - Executed this for some of my highway videos.

The objects passing through the line will be counted and incremented. Minor changes to roi

Output of the same



Happy Learning!!!

Analytics in Elections

If Analytics is used to target people, neutralize opinions, create digital impressions. This would lead to the creation of bias. This is not an ethical use of AI.

Analytics is needed to create affordable health care, forecast economy, provide good insights to develop people, economy jobs. AI should be used in the right sense. AI for politics will benefit in the short term but it is a curse in the long term.

When the truth is neutralized with biased facts the consequences of power with the wrong leaders will be a curse for the future generations

Keep Thinking!!!

September 29, 2019

The curse of Social Media and State of Education - Dark Future

With the growing amount of selfies, pics data shared across quora, facebook, Instagram, tiktok. We need to think of
  • Impact of the content on the psychology of kids
  • Emotional Maturity / Bias / Impact on Kids / Children
  • Loss of productivity / Distraction
  • There is considerably more bad content than the good content
  • How does these content fuel for better thinking / better focus
  • Who is responsible for moderating all the online content? How do I know as a parent the influence on my Kids
  • The state of education/mindset hasn't changed with this cheap data plans. Instead, we started losing our own individual thinking
  • This is a follow the crowd pattern approach. Developed countries do not have so much of exams but produce better research and innovation. With the state of education, we produce more failures and ship abroad few successful students
  • Changing students to merely solving problems within time constraint does not develop creativity or curiosity
  • If 90 kids fail in this education system what do they end up? Delivery boys?
  • Population can't be controlled by force. It needs education, awareness, and responsibility
Better metrics for a better future generation and better thinking towards
  • How do we make people self-sufficient
  • How has education improved scientific thinking
  • How has education improved morality
  • How has education promoted social responsibility
  • Are things affordable for the poor and needy
  • What have we done to create ideas at grassroots
Creating a better intelligent generation needs more thoughts than just about GDP

Keep Thinking!!!





September 26, 2019

The Curse of Cheap Data Plans

Many time I wonder cheap data plans are a curse, not a boom. I see more often these days
  • More time I personally spend on Youtube
  • Forwards of TikTok/ Halo Status videoes
  • Rechecking same repetitive news everywhere
I have lost a lot of sleeping hours. Google Youtube recommendation is the most unfair recommendation. Providing extremely similar recommendations. There is no mix of different sources. Sometimes tailored information is not what we need, we need the raw data.

Too much of personalization is a curse. You will lose yourself biased on your perspectives. Sometimes raw information makes more sense than tailored information.

Escape the Web!!!

Day #277 - Tracking Objects - Deep SORT

What is Deep Sort ?
Simple Online and Realtime Tracking with a Deep Association Metric

How it works ?
It performs Kalman filtering in image space and frame-by-frame data association using the Hungarian method with an association metric that measures bounding box overlap

Paper - Link


Happy Learning!!!


September 25, 2019

Day # 276 - Segmentation, Age-Gender Estimations

This post is based on current learning's exploring segmentation and age/gender detection.

Experiment #1 - Used the existing model and took faces from edouardjanssens.com for both men / women from 1-100 in increments of 5. The actual result and predicted chart summary

Demo Code



Experiment #2 - Getting Started with Segmentation, Experimented with Repo - https://github.com/divamgupta/image-segmentation-keras

Few tweaks in code

Demo Code
Happy Learning!!!