- Видео 53
- Просмотров 47 153
PixelOverflow
США
Добавлен 3 сен 2022
Computer Vision, AI, Machine Learning, Engineering
Approaching the cutting edge with tutorials and projects
Approaching the cutting edge with tutorials and projects
Eulerian Color Magnification
Learn how to amplify color in videos and detect heart rates.
medium post: medium.com/@itberrios6/how-to-detect-heart-rate-in-videos-3dbbf1eb62fd
notebook: github.com/itberrios/CV_projects/blob/main/color_mag/color_mag.ipynb
medium post: medium.com/@itberrios6/how-to-detect-heart-rate-in-videos-3dbbf1eb62fd
notebook: github.com/itberrios/CV_projects/blob/main/color_mag/color_mag.ipynb
Просмотров: 525
Видео
Phase Based Motion Magnification
Просмотров 1,2 тыс.9 месяцев назад
In this video we will learn how to detect and amplify invisible motions in videos with Phase Based Processing accompanying article part 1: medium.com/@itberrios6/phase-based-motion-magnification-part-1-d50547d54ce5 accompanying article part 2: medium.com/@itberrios6/phase-based-motion-magnification-part-2-2b1dbc8b1e68 notebook: github.com/itberrios/phase_based/blob/main/motion_magnification_pyt...
Sub-Octave Steerable Pyramids
Просмотров 809 месяцев назад
Learn about Sub-Octave Steerable Pyramids which apply to Phase Based Motion Processing. Notebook: github.com/itberrios/phase_based/blob/main/suboctave_steerable_pyramids.ipynb
Complex Steerable Pyramids
Просмотров 3349 месяцев назад
How to make a Complex Steerable Pyramid in Python article: medium.com/@itberrios6/complex-steerable-pyramids-3cf7b99ff9fc notebook: github.com/itberrios/CV_projects/blob/main/pyramids/complex_steerable_pyramids.ipynb Steerable Pyramid: ruclips.net/video/zeHxOYIXgXc/видео.html
Local Phase in Images
Просмотров 1129 месяцев назад
Hands on approach to learn about image phase and it's importance. Learn about Phase Congruency and how it forms the underlying structures of images. Notebook: github.com/itberrios/CV_projects/blob/main/pyramids/complex_steerable_pyramids.ipynb
Steerable Pyramids
Просмотров 27510 месяцев назад
In this video we will learn about Steerable Pyramids and we will learn how to code them from scratch in Python. post: medium.com/@itberrios6/steerable-pyramids-6bfd4d23c10d notebook: github.com/itberrios/CV_projects/blob/main/pyramids/steerable_pyramids.ipynb
Deep Motion Detection with RAFT
Просмотров 784Год назад
How to use RAFT and RANSAC to detect motion from a moving camera Article: medium.com/@itberrios6/robust-motion-detection-with-raft-f7de3e7ad0e4 Notebook: github.com/itberrios/CV_projects/blob/main/motion_detection/flow_based_motion_detection.ipynb Dataset: github.com/VisDrone/VisDrone-Dataset
Unsupervised Motion Detection
Просмотров 269Год назад
Unsupervised Motion Detection tutorial on the Visdrone Dataset Article: medium.com/python-in-plain-english/unsupervised-motion-detection-8b523c53c49b Notebook: github.com/itberrios/CV_projects/blob/main/motion_detection/unsupervised_motion_detection.ipynb Dataset: github.com/VisDrone/VisDrone-Dataset Contour Detection/NMS Supression: ruclips.net/video/GeqSF8EV1Gs/видео.html
Unsupervised Motion Detection on VisDrone Dataset
Просмотров 524Год назад
Unsupervised Motion Detection results on the VisDrone dataset Article: medium.com/@itberrios6/unsupervised-motion-detection-8b523c53c49b Notebook: github.com/itberrios/CV_projects/blob/main/motion_detection/unsupervised_motion_detection.ipynb Dataset: github.com/VisDrone/VisDrone-Dataset ruclips.net/video/_P-9nzTJm78/видео.html
Motion Detection: Part 3 - Background Subtraction
Просмотров 689Год назад
Learn how to use Background Subtraction to create a robust moving object detector Article: medium.com/@itberrios6/introduction-to-motion-detection-part-3-025271f66ef9 Notebook: github.com/itberrios/CV_projects/blob/main/motion_detection/detection_with_background_subtraction.ipynb
Motion Detection: Part 2 - Optical Flow
Просмотров 1,1 тыс.Год назад
Learn how to use Dense Optical Flow to create a moving object detector. Article: github.com/itberrios/CV_projects/blob/main/motion_detection/detection_with_optical_flow.ipynb Notebook: medium.com/@itberrios6/introduction-to-motion-detection-part-2-6ec3d6b385d4
Motion Detection: Part 1 - Frame Differencing
Просмотров 857Год назад
Learn how to use Frame Differencing to detect motion in videos. See how motion detection can be used to build a class agnostic object detector. Article: medium.com/@itberrios6/introduction-to-motion-detection-part-1-e031b0bb9bb2 notebook: github.com/itberrios/CV_projects/blob/main/motion_detection/detection_with_frame_differencing.ipynb
Optical Flow with RAFT: Compute dense flow fields with deep neural nets
Просмотров 767Год назад
In this video, we will learn about RAFT (Recurrent All-pairs Field Transforms) for Optical Flow. For an in depth introduction please see articles and original paper below. RAFT: Part 1 - towardsdatascience.com/optical-flow-with-raft-part-1-f984b4a33993 RAFT: Part 2 - towardsdatascience.com/optical-flow-with-raft-part-2-f0376a972c25 paper - arxiv.org/pdf/2003.12039.pdf notebook - github.com/itbe...
Camera Velocity Estimation Part 2 - Selecting a Machine Learning Model
Просмотров 145Год назад
In part 2 we follow up on the of velocity estimation by training several models on extracted frame transformation features. We finally choose xgboost to perform inference. Notebook: github.com/itberrios/CV_projects/blob/main/mars_challenge/mars_challenge_1.ipynb
Camera Velocity Estimation Part 1 - Preparing the data
Просмотров 162Год назад
Learn how to demonstrate your skills with camera velocity estimation. In this video we will learn how to prepare data for an unconventional yet simple approach to camera velocity estimation using nothing but camera frames. Data Exploration Notebook: github.com/itberrios/CV_projects/blob/main/mars_challenge/mars_challenge_baseline.ipynb Main Notebook: github.com/itberrios/CV_projects/blob/main/m...
Exploring Simultaneous Segmentation and Depth Estimation
Просмотров 243Год назад
Exploring Simultaneous Segmentation and Depth Estimation
How to make a CityScapes Dataloader for Multi-task Learning
Просмотров 551Год назад
How to make a CityScapes Dataloader for Multi-task Learning
Cityscapes Dataset - Preparing depth data for deep learning (Part 2 - CreStereo)
Просмотров 502Год назад
Cityscapes Dataset - Preparing depth data for deep learning (Part 2 - CreStereo)
Cityscapes Dataset - Preparing depth data for deep learning (Part 1)
Просмотров 625Год назад
Cityscapes Dataset - Preparing depth data for deep learning (Part 1)
How to train powerful models - NYU depth dataset exploration
Просмотров 410Год назад
How to train powerful models - NYU depth dataset exploration
Build AI Art Apps using Streamlit with Hugging Face spaces
Просмотров 402Год назад
Build AI Art Apps using Streamlit with Hugging Face spaces
AI Art generation with Hugging Face Stable Diffusion Models
Просмотров 99Год назад
AI Art generation with Hugging Face Stable Diffusion Models
Real time Object detection and tracking with YOLO-NAS and OC-SORT
Просмотров 13 тыс.Год назад
Real time Object detection and tracking with YOLO-NAS and OC-SORT
DeepLabV3 Segmentation on Oak-D Pro in C++ with DepthAI
Просмотров 687Год назад
DeepLabV3 Segmentation on Oak-D Pro in C with DepthAI
What an amazing work you are doing.... Awesome!
Hey Isaac, you have a great set of videos here! It is worth mentioning that complex steerable pyramids can be applied in the spatial domain as well, as either a sin or cosine carrier inside of a Gaussian envelope. The 2D orientation would be the same as how you have outlined and the wavelength of the carrier would determine the sub-band 'depth'. Will your next video be on Riesz Pyramids?
Thanks! That sounds really interesting. I might do a different one, I really dove into Pyramids about a year ago, but haven't thought much about them since.
how to avoid collision between 3d bb in lidar coordinates?
For drones that may remain stationary, motion-based detection methods may fail. Do you have any methods to assist with detection in such scenarios?
These things can be tricky, the method I'm using here actually tries to "cancel out" the effects of camera motion, so if the drone is stationary then it should work better. If you know that the drone will be stationary for a long time then you can use of these first 3 methods ruclips.net/video/GeqSF8EV1Gs/видео.html
@@pixeloverflow Sorry, I may not have expressed my thoughts clearly. I want to use a camera to detect drones, but the target drone may be stationary, so motion based detection may not be effective. Do you have any ideas to assist in detection?
@@徐志豪-e9u Ok, I think I understand now and that's a tough problem. Here's some quick ideas, let me know if you decide to try any of these. You could run an object detection model (i.e. YOLO), but that would add extra latency. You could use the motion of the drone to determine if something is present. This would be almost the opposite of what I'm doing here, meaning that you would probably reject objects that are moving too much. You could also train your own model to recognize what objects "look like". So every time you detect an object, you mark it as a training sample. This would be a tricky loss function since there are likely many stationary objects that would go undetected and may confuse the model.
I am currently working on small object detection, as motion detection is more favorable for small targets but also brings a lot of interference. However, YOLO's performance on small object detection is less than satisfactory, so I am trying to combine them
@@徐志豪-e9u Yes, I've noticed that it's really challenging to use YOLO for small objects. Have you tried this workflow? blog.roboflow.com/detect-small-objects/
I have sent an email requesting the dataset, would you be able to provide it to me please
Crystal clear explanation. Thanks!
Please improve your audio quality. Sometimes the sound goes on and off.
Which license did you use?
Hi, would you be able to clarify this? I don't remember using any type of license for this.
Thank you so much for the explanation this was an amazing video!!!
Glad you enjoyed it!
thanks, can you share your dataset?
Sure, send an email to 'pixelflowai@gmail.com' and I'll send it over
Hi, Thank you very much for the helpful video! If I were to use it on my own data for segmentation, how should the data be structured?
No problem, your data can be structured in such that all (x,y,z) positions are accessible in a matrix format (Is this what you meant?). You might need to make some transformations and/or fine tune if your data is much different than the training data.
Thanks you ♥ It helps me alot
nice job
Thanks!
Hi, I really liked you videos and could execute the programs. One request, you have not shown matrices such as mAP, Precision-recall curve, IoU class, iIou class, IoU category, iIoU category, etc. Do you have code for these so we can benefit understanding how the system performed
Hello, I'm glad you enjoyed these! I never got around to formally evaluating the system, from my perspective I was more interested in capturing the 3D location from LiDAR and fusing them with an "off the shelf" YOLOv5 model. In hindsight, not having any metrics wasn't a such good idea.
In the future, I may look into 3D detection on LiDAR point clouds, in this case I will gauge performance with various metrics (I'm not currently sure which ones would be most appropriate here).
It was good to see KITTI dataset based object detection and usage of sensor fusion. You did great explanation of logic & code
Thanks!
Great job. I've been searching for such flexible resources from long time, and your videos helped me a lot. Thanks a ton.
Thanks! Glad it helped
this channel is a treasure
Thank you very much! A similar video about PointNet++ would be much appreciated!!
All you saying in this video is a bunch of nothing. You are not explaining anything.
Thanks for the feedback, sorry you didn't learn anything, I try to get better with each video. This video is intended to complement this Point Net series that I wrote which assumes you are already familiar with Deep Learning: medium.com/@itberrios6/point-net-from-scratch-78935690e496. Maybe this would help you understand better.
It is an amazing video, if you can explain another technique in decomposition. it would be appreciated.
It's possible, I don't have anything planned though
Hello. Interesting video. Exactly what I've been looking for. Could you make a video with the deep learning techniques?
Amazing job ! Most videos just use an open github repository and don't go into the math.
Thanks! Glad you liked it, it took a while for me to figure this out!
Thank you! Can you please make a video on how to make and train a custom yolo-NAS model and run it for real time object detection
Do you know how I can use Matlab to do sensor fusion between camera and lidar?
I don't have a MATLAB license, but I made this playlist that shows how to fuse Camera and LiDAR in Python. You should be able to convert the concepts into MATLAB. ruclips.net/video/hXpXKRnnM9o/видео.html&pp=iAQB
Let me know if this helps
Hi, did someone have the problem that RawImgFrame.hpp and enconding.h have constexpr errors when building the solution? If then, how do you solve it?
I had many issues when first setting this up. The way I was able to solve them was to ensure I had the correct dependencies.
If you're still having trouble after following the video, you can post your issue on the Luxonis forum: discuss.luxonis.com/
Can you please make a video for PointNet++ also?
Hello, I might do that in the future, but in the meantime I have other things planned since most of the modern architectures are available on GitHub and open3d. If your interested in learning more I have an article about KPConv: medium.com/@itberrios6/introducing-kpconv-d0f186172ad5
Very nice, explanatory video! You saved my day. Thank you!
Glad it was helpful!
Can it measure the real-time speed of the objects? or any analysis that we can do? Watching the objects with bounding boxes moving is not really useful
It depends on the application, it would be hard to do it for this video, I would say situation where the camera doesn't move is ideal. The tracking algorithm is able to gauge the motion of the objects in terms of pixels, if we know how the pixels correspond to real distances in the scene, then we can compute velocities. We would need to have camera info (camera matrix, calibration parameters, distortion coefficients) to account for lens distortion. A simple analysis is object counting, tracking the objects tells us which ones we have already counted, or else we could end up counting the same object over 100 times in a few seconds.
@@pixeloverflow Thank you for your response and time and effort in making the video :) I just want to point out one thing: the content might need something more than just redoing what a lot of bigger channels already did. Please, don't get me wrong. I highly appreciate your time and effort making the video.
@@nguyenthehoang9148 Thanks! Maybe I'll make a special video with something much different
very helpfull, clear... thanks
No problem, thanks for watching!
Thank you. Never seen that from start to finish before.
Thanks for watching!
Nice one 👍
Thanks!
Great work !!!
Thanks!
Great work, but how can we evaluate this work in terms of metrics like IoU, F1, Precision, Recall.
Thanks! In this video I only used raw KITTI data which has no corresponding "truth" data, but there are several KITTI benchmarks (2D and 3D object detection, tracking, optical flow), with "truth" that can be used. I think an approach to evaluate this work in terms of metrics would be to use the KITTI bench mark data for "Object" and "Depth" to evaluate the estimated depth and the detected objects using this same approach.
@pixeloverflow I understand ground truth data is not available in the kitti raw dataset, but can we apply the same coordinate transformation on Kitti 3D OD data which has labels file in it for evaluation. Also 3D dataset is too big for colab, can you suggest some good alternate for colab. One last thing we can get 3d bounding boxes for this approach since we already have 2D coordinates and depth, right ?
@@manojdhiman574 Yeah that should work. I'm not sure of any good alternates for Colab, I'll try to get back to you if I find anything. For the 3D bounding boxes, yes we can make 3D bounding boxes using the depth data. I've done this before (it's been a while so I don't remember the details), but it is slow and doesn't work very well. I believe Deep Learning approaches currently perform well on this though.
@pixeloverflow Thanks a lot for sharing this approach, I learned something new. Keep up the good work.
@@manojdhiman574 Thanks!
Promo'SM
Just what I need man! Good work!
Glad this helped! Thanks for watching!
Thanks for the overview! Would love to see more content going over C++ implementations.
Thanks for watching! Yes, I'll try to get some C++ implementations in.