If you want estimate distance of objects with your simple webcam, then this algorithm(Triangle similarity) will be helpful for you to find Distance from object to camera, I have provide to two examples, one is simple face detection and distance Estimation, other is Yolo4 object detection and distance Estimation
Here in this readme file you will get short description, if need more details, then you can watch video tutorial on YouTube as well.
Distance.and.Speed.Estimation.Demo.mp4
Distance Estimation Youtube Tutorail
Distance & Speed Estimation Youtube Tutorial
YoloV4 Object Detection & Distance Estimation Project GitHub Repository
YoloV4.Distance.Estimation.mp4
✔️ I have included Speed Estimation code is well check that out.
✔️ You can find the implementation of Distance estimation of multiple objects using Yolo V4 Object Detector Opencv-python
git clone https://github.com/Asadullah-Dal17/Distance_measurement_using_single_camera
-
Windows
pip install opencv-python
-
install Opencv-python on Linux or Mac
pip3 install opencv-python
-
windows: 👇
python distance.py
------ OR ---------
python Updated_distance.py
-
linux or Mac 👇
python3 distance.py
------ OR ---------
python3 Updated_distance.py
# focal length finder function
def focal_length(measured_distance, real_width, width_in_rf_image):
focal_length_value = (width_in_rf_image * measured_distance) / real_width
#return focal length.
return focal_length_value
The Focal Length finder Function Tacks Three Arguments:
measured_distance
It is distance which we have measured while capturing reference image:straightruler:. **_From object to Camera** which is Known_distance = 72.2 #centimeter
real_width
Its measure with width of object in real world, here i measure the width of face in real world which was Known_width =14.3 #centimeter
width_in_rf_image
it width of object in the image/frame it will be in pixels
# distance estimation function
def distance_finder(focal_length, real_face_width, face_width_in_frame):
distance = (real_face_width * focal_length)/face_width_in_frame
return distance
This Funciton Taks Three Argument,
Focal_Length
it is focal length, out of FocalLength finder function.
real_face_width
Its measure width of object in real world, here i measure the width of face in real world which was Known_width =14.3 #centimeter
face_width_in_frame
width of face in the frame, unit will pixels here.
I have also create Face Following Robot which use distance Estimation, if you are interested you can Watch my Youtube Video
if You found this Helpful, please star ⭐ it.
if you have any Query feel free to ask me on my Social Media.
Keep me motivated to work on project like these, please subscribe to my Youtube Channel