Close

Hack Chat Transcript, Part 1

A event log for AI at the Edge Hack Chat with NVIDIA

Machine learning unleashed

lutetiumLutetium 05/01/2019 at 20:050 Comments

Christoph11:59 AM
never seen so many people join the room right before a chat session

Tegwyn☠Twmffat11:59 AM
Like bidding on ebay

Hey everyone, welcome to the Hack Chat. Today we have John Welsh from NVIDIA here to talk about all the exciting stuff that's going on with AI at the Edge.

Welcome John! Can you tell us a little about yourself and how you came to be working in AI?

lossowski joined  the room.12:01 PM

John12:01 PM
Hey everyone! Of course. As for my job with NVIDIA - I'm an engineer on the Jetson product team focusing on how to apply deep learning with NVIDIA Jetson

rocketmanrc joined  the room.12:02 PM

John12:02 PM
I got into AI during my Masters back in maryland when working on my thesis. I tried a few computer vision techniques, but wanted to give it a shot given all of the material coming out :)

John12:02 PM
Ultimately I was trying to make a robot follow me around campus

Tegwyn☠Twmffat12:02 PM
like a body guard?

John12:03 PM
More like a pet I think

John12:03 PM
I'm hoping to hear more about all the project ideas everyone has

John12:03 PM
I think it's an exciting time with modern AI coming to such a small form factor

How close did you get to succeeding?

Tom Kelley joined  the room.12:04 PM

John12:04 PM
The robot followed me around the lab on campus. It was a pretty fun demo, but nothing we deployed anywhere yet

Tegwyn☠Twmffat12:05 PM
how many selfies did you have to take ...

Tegwyn☠Twmffat12:05 PM
to get it to discriminate against your collegues?

John12:05 PM
Hah, well. Not too many actually.

I'll chip in with my idea: driveway security camera that can differentiate between wildlife and humans/vehicles. Reduced false alarms would be the goal.

John12:06 PM
We used an existing dataset for person re-identification to learn important features for distinguishing people. So the neural network actually learned how to recognize people reasonably from a single camera shot

John12:07 PM
@Dan Maloney This sounds very cool. Is the goal ultimately to send pictures or alerts when one of these is detected?

Max-Felix Müller12:08 PM
When the robot follows you, it only sees your back. I imagine it would be very difficult to differentiate people that way, given that even normal people struggle with that?

FrazzledBadger12:09 PM
I'm looking to build a handheld wireless monitor for use in Broadcast, and wanted to use the Nano for encoding/decoding and streaming the video. Do you know the latency off hand?

I'm thinking more of a tiered response. Keep track of wildlife intrusions (like a game camera) but send alerts for people. Send a high alert if you see a vehicle that's not known to the system, maybe via character recognition of license plates?

alangixxer joined  the room.12:09 PM

John12:10 PM
@Max-Felix Müller Absolutely. Face recognition wouldn't work in that context. Person re-identification is actually using the entire body (all orientations), so it learns features from your general apperance (clothes are helpful). We planned to combine this with face recognition for short term / long term recognition

jamesonbeebe12:10 PM
As far as CNN's developed and trained with (TensorFlow, MATLAB, R, etc.), how is the portability of the Network supported by the Nvidia hardware?

alangixxer12:11 PM
@Dan Maloney I used openalpr for license plate recognition of the Nano. It works.

@alangixxer - Sweet, good to know. Thanks!

John12:12 PM
@Dan Maloney This may help for general object detection with good performance on Nano. https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md . You can fine tune existing object detectors if you put together your own dataset

Chitoku12:12 PM
@FrazzledBadger , that can be a cool project.

The latency for the encoder/decoder depends on the resolution and other settings, but i guess there are many other factors like Wi-Fi communication, so eventually you would need to just try things out

John12:12 PM
We have some content on how to accelerate it on Nano also in case you need to do with real-time feedback

John12:13 PM
@jamesonbeebe I'm most familiar with TensorFlow and PyTorch. Many of the models will just work, we provide pre-compiled versions of these software on our download center and forums

jamesonbeebe12:14 PM
perfect! That leads me to my next question, How can I accelerate real-time data processing with a big CNN?

John12:15 PM
@Dan Maloney I know our deepstream team has also done work with vehicle and license plate recognition. I believe we have sample apps out there

Tegwyn☠Twmffat12:15 PM
My favourite is the dog detector - it's incredibly responsive!

Tom Kelley12:15 PM
What is the feed-forward speed of one of the Jetson boards like compared to something like an RPi? A decently new CPU?

@John - Cool, thanks! Can't wait to start working this up. It tickles my security/paranoia spot.

John12:16 PM
@jamesonbeebe Do you know which model you're using? Sometimes (due to memory constraints) it can be trickier. I can point you to some content for optimizing TensorFlow models with TensorRT

bejecreimer12:17 PM
Hi @John, Did you run into any interesting problems with your follower bot?

jamesonbeebe12:17 PM
I do not, however I was considering using a Jetson board for real time edge training

jamesonbeebe12:18 PM
but I'm not too sure what the best way of doing that would be, well... it would be edge training and edge detection as well

piranha3212:18 PM
@John Keras "just works". You have to install coda and cuda-nn, and gforce card is detected and used automatically

John12:18 PM
@Tom Kelley sometimes it depends on the model you're running. I believe we have some benchmarks out there let me try to pull them up :)

Tom Kelley12:19 PM
@John you're the man.

Inderpreet Singh12:20 PM
hi @John , what network model would you recommend for real time object detection in a video stream of say 720p video stream

John12:20 PM
@jamesonbeebe We actually guide people on how to train our 'collision avoidance' model in the jetbot project on the Jetson nano :) https://github.com/NVIDIA-AI-IOT/jetbot/wiki/examples#option-1---train-on-jetson-nano

jamesonbeebe12:20 PM
TensorRT sounds like that's more of where I want to be looking. Thanks @John

John12:21 PM
@jamesonbeebe I find PyTorch very flexible and well suited for this, and the training workflows we have in that project

John12:21 PM
@jamesonbeebe As a note, TensorRT is for inference (feed forward only) so you'll have to train in PyTorch and then optimize afterwards for TensorRT use

John12:23 PM
@Inderpreet Singh For object detection I used SSD MobileNet V2 which resizes input to 300x300 pixels. This is fairly accurate, but definitely depends on how you're using it. We have content to optimize these models with TensorRT, works pretty well on Jetson Nano

John12:24 PM
@Inderpreet Singh You can see an example doing inference with this model here https://github.com/NVIDIA-AI-IOT/jetbot/blob/master/notebooks/object_following/live_demo.ipynb

John12:24 PM
@Inderpreet Singh You can train the model on your own data too, let me know if you have questions on that

Inderpreet Singh12:24 PM
I have lots of data

Inderpreet Singh12:25 PM
I have the jetson nano on a live feed of a highway streatch

John12:26 PM
@Tom Kelley Here's the benchmarks, they have the RPi V3 in there I believe https://developer.nvidia.com/embedded/jetson-nano-dl-inference-benchmarks

Inderpreet Singh12:26 PM
my current software is opencv based and could use deeplearning to do better identification of objects and vehicles

John12:27 PM
@Inderpreet Singh This sounds like a similar use case to what our deepstream team focuses on. They have some samples for traffic anomoly detection. Let me see if I can find those

borelli.g92 joined  the room.12:27 PM

Tom Kelley12:27 PM
@John Thanks man, I'll check that out!

Tegwyn☠Twmffat12:27 PM
How come you don't use detectnet?

John12:27 PM
@Inderpreet Singh https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps

Sigh, fine - take my money. Just ordered a Nano dev kit off Amazon ;-)

Inderpreet Singh12:29 PM
Brilliant. Any pointers to re-training with more data? My opencv routine has dumped gigs of data over the last three months.

borelli.g9212:29 PM
Hi @John , I was thinking about organizing some workshops in my company with the aim of exploring the Jetson Nano and more in general embedded computer vision. Do you have any project to suggest other than the robot navigation?

Inderpreet Singh12:29 PM
I have problems when lighting conditions change AND objects further away... like200meters

John12:31 PM
@Tegwyn☠Twmffat I did use DetectNet when I first joined NVIDIA, I think a lot of new content has come out since then including our support for some of the TensorFlow object detection API models on Jetson. There was a bit more to choose from along the computational / accuracy scale there

Maksim Surguy12:33 PM
Hi all! I've been following AI on the edge for many years now, including exploring GPU accelerated inference on the Raspberry Pi and was so happy to see Jetson Nano that comes very close to being affordable workbench for experiments. I just wanted to say that I've started a list called Awesome Nvidia Jetson Nano that you all are welcome to look at and contribute to: https://github.com/msurguy/awesome-jetson-nano

Maksim Surguy12:34 PM
The ideas of which projects to try without too much effort would be something I'd like to compile in one place for everyone to quickly refer to

John12:34 PM
@borelli.g92 Yes, I think there are tons! I think anything that needs to take video in and output processed data in real time. We have an interesting example of this where our interns used a projector to guide people in our cafeteria how to throw away their trash

John12:34 PM
@borelli.g92 https://news.developer.nvidia.com/from-munch-to-hunch-ai-classifies-your-waste-at-lunch/

John12:35 PM
@borelli.g92 I think things involving gesture interaction are also well suited, since the latency needs to be low and video needs to be streamed continuously

borelli.g9212:35 PM
Very interesting! Thank you very much for sharing this.

John12:36 PM
@Maksim Surguy Awesome thanks for sharing this!

borelli.g9212:37 PM
Do you have any repository where you share with the pubblic this kind of "intern projects"? I believe that it might be quite interesting if someone wants to dive into the topic.

Inderpreet Singh12:37 PM
@john what is the performance and feature gap between python and C++ for depelopment?

Maksim Surguy12:38 PM
@John you're welcome! Enjoy, contribute and share pls

John12:38 PM
@borelli.g92 Yes! We have a github channel I contribute to myself https://github.com/NVIDIA-AI-IOT

John12:38 PM
@borelli.g92 There's lots of other projects there to check out

borelli.g9212:39 PM
@John Thanks, I missed that one.

Over the top!

John12:39 PM
@Inderpreet Singh Interesting question! The feature gap has actually narrowed a lot with our latest SW release (that came along with Jetson Nano). For example, we have the TensorRT Python API which makes it much easier to prototype inference pipelines (and then deploy using C++ API if needed)

Nicolas Tremblay12:40 PM
@Maksim Surguy Thank you, already on my watch list

Prof. Fartsparkle12:40 PM
@John any eta when you will release the product manual for the Jetson Nano SoM? Would like to get starting on a carrier board for my tablet projects but thats a bit hard with the limited information available so far.

Max-Felix Müller12:41 PM
Let's suppose I'm a poor (main thing is that the Nano is currently unavailable in germany) student who wants to get into AI. How/where would you recommend to start?

Prof. Fartsparkle12:41 PM
You can buy it directly from Nvidia now in Germany

John12:42 PM
@Max-Felix Müller We have tutorials / projects that we created to teach full AI workflows also (like JetBot https://github.com/NVIDIA-AI-IOT/jetbot)

Max-Felix Müller12:42 PM
@Prof. Fartsparkle it's sold out

Max-Felix Müller12:43 PM
@John cool. Thank you

Chitoku12:43 PM
@Prof. Fartsparkle NVIDIA is almost there to complete the documentation, so will publish the collateral soon

Prof. Fartsparkle12:43 PM
just pre-order it, mine shipped a week earlier than estimated

Prof. Fartsparkle12:44 PM
@Chitoku awesome!

Tegwyn☠Twmffat12:44 PM
These Nvidia jetson products will not disappoint!

John12:47 PM
I'm personally curious, is anyone here currently incorporating AI in any of there projects? Or if not, what do you feel is stopping you (maybe other than Nanos being sold out :P)

deshipu12:47 PM
I'm very good at being disappointed

Tegwyn☠Twmffat12:48 PM
anyone here currently incorporating AI in any of there projects? ……… +3

@John - For me it's the learning curve that's stopping me. Or it will be once my dev kit gets here on Friday.

deshipu12:48 PM
@John you know, "AI" is a very board term. There is a game of Reversi on one of my projects, you can play against the computer — that is arguably AI...

deshipu12:49 PM
my robots also have some simple state machines with decision trees for their behavior — that is AI as well...

John12:49 PM
@Dan Maloney Ah. What would you say is the barrier your facing when learning? Intimidating software APIs? The underlying concepts?

Sairam Yamanoor12:50 PM
While I did buy the Nano, I am not entirely sure how to get started. I have been tasked with digging up how we could develop low power edge devices. So my answer would be: I am not sure how to get started. Any tips? I am really interested in playing with NNs on MCUs

Inderpreet Singh12:50 PM
@John The major hindrance is the apparent complexity. The JetBot are great starter projects but there need to be more projects that help people/students LEARN deeplerning and understand it better.

@John It's a totally new area for me. I'm planning on working through the tutorials and building from there. then asking @Tegwyn☠Twmffat for help, lol

Inderpreet Singh12:51 PM
If you Google deep learning tutorial or tensor flow tutorial, it starts with demos

Discussions