AI-Powered Android App — Car Classification

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so the final product looks like this um it's actually still on google play if people want to check it out um it's called recognizer so it's spelled like this uh record nice and then there's an r on the end i don't know why the title on the app um has the missing r but it's recognizer on google play people are curious if they have an android phone um i took down i took down the the back end so it actually won't return any results but if you want to look at the front end um you can check it out um i mean i mean front end like if you want to just look at the welcome screen um that will work but if you click on detect it'll bring you to a blank screen at the moment because i took down my machine learning server because of cost reasons um yeah so a little bit more about the final product uh here's an example of it working on a i mean i think that's working um it says that's a kia sedona i don't know based on this image if it's a key as a donor or not but essentially what the idea is it takes an image of a car and it finds the the idea is it finds the the top most likely thing to be a car in the image and it returns the result of what that vehicle is so here it's uh predicts that it's a kia sedona with a 43 chance um then it might be a honda odyssey or a toyota corolla but yeah so yeah so um a little bit of a discussion of the goals for today's talk just kind of want to provide like an inspiration of what can be done with ml um machine learning and second i want to provide like a little bit of a thought process for how to approach ml projects um so that proc that thought process would involve you know what kind of data set do we have to use so maybe i'll back up a little bit um a machine learning problem is usually framed in the sense that like we have a data set of inputs and outputs um and this is like machine learning as a whole is the idea of of mapping inputs to some form of outputs um and in this case we're mapping image pixels to what kind of car it is um but it could be many different um many different problems being solved with machine learning so um so with approaching the machine learning project i think that there's a few things that need to be defined um is the data set needs to be defined like how are you like what inputs to what outputs do you want what's the the next thing is what's the business like what does the business actually want and this often defines what the data set should be after that you have your data pipelines so how do you plan on processing that data and then from there there's usually like the machine learning model that you choose and then the deployment process so i'll kind of cover all those different topics uh in today's talk um and then third um today people leave with a little bit of an understanding of um model deployment and android applications i won't go into too much detail but i'll touch on that so um brief overview of today's talk there's just going to be 10 major sections so first we'll start with the concept um so i alluded to this before we're gonna what the idea of this project is that we're gonna have eventually we're gonna have a server that can run machine learning predictions so it takes as input an image and it returns what that image is classified as so um in the case of that kia sedona um has the image of that car and then the return would be what kind of car that is so kia sedona um so yeah we have the client and the server and the client in this case is the android app is the android application running on your cell phone and that will talk to the server through an api so yeah so a little bit about android uh i'll start with this um if people haven't used java before that's that's fine i i didn't use java before much before this project and um i recommend definitely if if you're interested in android app development uh if you if you start off with like the easy like demos you can kind of build on top of that um so i just kind of grabbed like an android um java simple application and then made changes to it to fit my goals um so this is this is kind of showing this like screen grab is just showing um kind of how how android studio looks and um so android studio is a is an ide where you can use it to interact with your java development so you can mess around with the code there you can do compile you can compile your code there you can look at the ui so here the the main idea for android app development i mean at least my my take away from working with it for you know a few weeks was that um you you have activities which lead to each other so an activity is if i go back to this slide the first activity here is the welcome screen and then the second activity here would be the the car image with the results so each one is each one of these activities has its own um android its own uh sorry its own java file in this case um so yeah that's and then going into the ui a little bit um again i'm not gonna go into too much detail but this is kind of showing how how the ui can be defined you can change these these numbers so where it says like 350 and 50. you can change these spacings you can go down to the bottom left here and edit the um what these buttons are mapping to in in your inside of your code so that way like when a button is pressed that will change um on the on the uh on the java code that will that will be updated anyway so so once once the app was kind of defined um i didn't build in the api yet i left that to i kind of decided to come back to that because we still need to define the machine learning model so i think the one of the biggest questions about this project was like if if you're going to build a um a model that a model that can do prediction on cars and you know look at an image find where the car is and also tell you what kind of car it is that requires a large data set so we're a data set of many car images so so to do that uh first i i compiled a list of different kinds of cars that we are curious about so i wanted to look at the cars that we're gonna see more often like maybe forwards and toyotas and the more common um model types uh we don't see a lot of like ferraris on the street usually or like i don't know bugattis so the this is not in a complete exhaustive list of cars it's just uh the top 350 or so um so i just went over and wrote down a list of those car different those different car types um see so got that list of car types and then i started off with google image search but they actually had some issues with i wasn't able to do scraping on there so i moved to use flickr api um a flicker if people don't know is uh just like a website that posts a bunch of images and you can you can pretty easily access it um i don't know if you need an account but um it's not it's not too hard to use if you're trying to create a data set of images so um i used the flickr api and a in the end what's called the requests library request library is um it's a library that allows you to make um calls to the internet and get back responses and so on the right we actually see a a code snippet that i used to get those images of cars in this case i don't i don't know if that was the original code i don't think it was it says honeybees on flower but um i edited that code and to get what i wanted um see so yeah once once that once that code is set up uh to to grab those different images um you can save them to your disk which is what i did in this case we had a lot of images so we had so with 350 350 different kinds of cars i wanted to collect several hundred images of each car um because i i figured based on my own experience you need several images of anything to classify it accurately um if people have worked so there is this this really well known data set called imagenet which people might have heard of um that has a thousand different classes and i believe it has about a thousand images for each class um it's about a million images total and it's kind of like it's used really often in um benchmarking new neural networks um for for computer vision so um people people probably have not worked too much for that before but um it's just good to know like uh you know imagenet is like one of like those top um data sets that has worked with a lot so essentially just created a data set on a similar size scale as imagenet just with cars and one of the challenges with that was that we have tens of gigabytes of images of cars now and um if you're if you're going to be doing like transformations of that data like scaling it or doing or other like cropping later on um it quickly becomes really massive like so 350 000 images if each one's like a megabyte or two megabytes you end up having like that's about 350 gigabytes um on your computer at a time so uh quickly it becomes pretty massive so i added in like a resizing operation um as it downloaded the images so i just resized every image um to like a smaller scale before saving the file to disk in order to avoid uh out of disk space issues which actually did happen the first time i tried it so i i think i kind of like killed my computer by downloading too many images the first time i did this so um yeah don't do that uh oh yeah so the next problem is we need to find out which images actually have cars um so i think that's a nice image yeah so in this image um if if you just go into flicker and download images of um in this case i think this is like a um an acura rl um essentially a accuracy sedan um in this case we have a lot of images of like you know there's like random crashes in the images there's like you know random front damage there's like images of like the front dashboard and like and the accurate label you know all these kind of things that don't really count as the actual car itself um so we need to filter those out um in order to filter those out we can train a detector that detects cars um so it's kind of like i don't know if it's like a chicken and egg problem where we we also want a detector but we don't have the data for that either so um so the next step is to actually we can actually create a detector if we can train the detector then we can then we can find all the images that we can use for our classifier so um i'll just back up a step here the detector is going to create the bounding boxes of the cars so it's going to find the cars in the image and then the classifier will say that's a ford mustang or an acura tsx or some other kind of vehicle so we're going to start off with the detector to find the data and then we're going to go to the class effect so we need to train the detector first um and to do that we require ground truth images um ground truth data of those bounding boxes so introducing uh bounding boss label to bounty box label tool um for python so here we i i just grabbed this this um github library um uh repo and you can basically just go through and draw bounding boxes on images and each bounding box that you draw um gets saved to i think like a text file and it can be parsed over later on with you know some sort of script um so what i did was i took the bounty box label tool and i pointed it at this big file structure of of images that i had the 350 000 images that i already scraped from flickr and um just started labeling bounding boxes of cars um so that i decided to do about 2 000 bounty boxes i thought that would be enough so here's a little a true image of what i was doing with eating pizza and labeling images for hours and hours i think this took a couple days so um yeah and then after those images are done then we can move on to looking at the detacher network um so here we have the choice of detector network um and this this kind of gets into a little bit of the weeds of of computer vision but um [Music] in computer vision there's like different tasks um that you might want to be doing you can there's a lot of different things now um but it started off with like image classification was like the biggest thing back in 2012 when like um alex net and and uh all those neural networks got started um so let's start off with with classification you know like this is a cat this is a dog but then it slowly started going into like image detection so um finding bounty boxes of what things are um which is kind of what this app does um neural nets can also do things like like image segmentation which is kind of like saying for each pixel like what is this pixel part of um i don't have an image of that but like essentially it's like color coding the whole image based on like what object a certain thing is so yeah uh convolutional neural networks have really grown in taken over a large part of um image image work recently over the past nine years um so so so this particular particular computer vision network is yellow version three um yolo is this um it stands for you only look once um as opposed to you only live once or yeah you only live once um so it's it was originally created by i think someone named reddy it might be his first name or last name but i i can't remember off the top of my head um but but the idea is that you you have you have um [Music] a sequence of convolutional layers um a convolutional layer is something that essentially looks at nearby pixels and creates features out of those without going to the details but what a feature is is in machine learning you pass in features those are essentially your inputs and then your output is uh whatever you're trying to accomplish like classification so these convolutional layers uh create features and on the output side there there's these three different um predict sessions says predict one predict two and predict three um those are all different ways of predicting bounding boxes for the output so if i go back to the here like in this case it might be predicting like this bounding box around the dog's face [Music] so the specific like in terms of how those how those predictions actually look um essentially it's it's saying for every it's like giving uh an output vector for every pixel on this image and that output vector is defining the the chance of there being a an object in that area and also what what that bounty box shape is so like the x and y coordinates of that bounding box and that that prediction is done for every pixel um in that image that that's that's the the general idea of it and you might say why is there why there are three different um predict sections um it's because each section has a different um a different size scale so they they kind of work for finding different scaled objects uh in that in that image so like small versus large objects or like close versus far away so that's what your version three is and i picked this one because um i think it was the first one i saw but um there there's different approaches you can use like there's various versions of volvo out there um there's also some something like mask rscnn but there's a lot of options for this um so yep so got that trained up um ran predictions on the entire data set the entire 350 000 image data set and this gave me these um these cropped images uh from the detector so um [Music] i was i was like i was labeling these images these images actually and i was kind of trying to decide like what constitutes like a full vehicle because you have to kind of decide like you know um let's say in like some of these images like they're they're kind of cut away or like only part of the default shown so that that was part of my consideration for when i was um doing those bounding boxes i think i think a big part of the question like when you're designing like a machine learning problem is what what the ground truth actually is and and does that does that satisfy like what you're trying to accomplish on your on your application so like in my case i wanted to find you know cars that we can see pretty well um so like something like the acura label here would be a pretty bad um example i think so it's probably a little more complicated with other problems yeah okay so the next question was um if if we have these these labeled cropped images we need to means that passes through a classifier and we need to find a way to do classification of these images um so the nice thing is that there's a lot of already built classifiers out there in in the computer vision world so you got you guys might have heard of uh resnett or google matter um there's like vg g16 is one of the older ones um they they like change every year so yeah i think the more recent ones was like i i forgot um but anyway uh you can pretty much just go on to like github and find one of these models um clone the repub the repository um if you can figure out how they structure their their training and test um process then it's a matter of just formatting your data set to their folder structure that they desire so that's usually in the readme so yeah once the model was trained up oh yeah also in terms of testing the performance of it i i had like a so people that people may not have worked with like trained test butts before but the idea is um when you do when you train a machine learning model you want to be able to validate that your training process worked successfully um and if you use all the training data um to train your model and then you try to do you take your your trained model and do predictions on that train data your your model basically it's it's like a memory almost it just says oh i've already seen this data and i already know the answer so similar to like how a professor will give questions that people have not yet seen um to verify that they actually did learn the material and didn't memorize things um the the same id the same idea applies to machine learning where we want the test data to be data that's that's new to um to the to the model not new in this sense like it's still in the same realm of area like there's still car images but new in the sense that they're not the exact same images um so yeah so the best that's the general idea of a trained test split you have eighty percent of your data on one side maybe and 20 of your data is going to be your test test data which you can hold for later so in this case uh i looked at accuracy as my metric um you can there's a lot of different metrics that can be used here but um i i chose use accuracy um accuracy basically just goes through and says is this the correct prediction for this image if it's not then that's a that's a score of zero for that image if it is it's a score of one and you can just sum up how many you got right and that's that's how accuracy was defined here other metrics that you can use for classification for multi-class classification are something like f1 score or um let's see there's balanced accuracy there's a bunch of others that you can if you type in like sqlearn classification metrics you can probably find some more um but yeah i i think accuracy was reasonable because you have every class has the same number of images so you don't need to worry about class imbalance too much class and balance being like having very few images from one class and very many from another class that's not a problem so um i think the accuracy here was around 80 and i feel pretty good about that because that's a lot of classes it's it's a relatively hard problem because a lot of cars are pretty similar to each other um so i think the that 80 accuracy it'll depend on what the problem you're trying to solve is like um maybe it's 70 or maybe it's 95 or yeah depends on what you're trying to do um i guess so so in my case i didn't i just wanted a proof of concept so yeah so the next step um the next step after we so we trained our detector we trained our classifier we have a viable data set um does not crash your hard drive [Music] now we want to make the machine learning model work um more like in the production sense um when i say production i mean like um so usually there's kind of like there's like the development process where you put things in like a jupiter notebook um it's it's more more hacky i guess and with production you with production code you generally want things to be a little bit more predefined and a bit cleaner maybe so in this case i just wanted to create a pipeline to detect the images to classify them and then to send back those classifications to something um that's something being the api call that we'll define later on um and this is kind of a side note but we we want to be able to initialize the model before it needs to get called um and this is just to reduce the round trip time for the api call um so the the api calls like that that's something like the client sends the request to the server then the server is gonna have to say okay let me do the processing and send back the response um so if the server has the model already loaded then we don't need to load it over and over again every time the call that request comes into the server so this is kind of a side note but we we generally want to initialize the model uh before it gets called this will save us like seconds maybe minutes in some cases um so so the next step after getting the model defined we want to define what the client and server interface looks like so this is i don't know this is actually probably not exactly how my code looked at the end but it's close enough um so here on the right we have what's called uh a it's a it's a flask application so flask is a lightweight web application framework and here we can define what's called like a post method so essentially we're creating a root on our computer when when the server is running essentially if you if you run this file server.pi on the right it will create um a web a local web app that will respond to post requests um and it'll do essentially what's on the handle request method so on on line 11 on the server it'll do all that stuff inside of that function so um for people that haven't written codes before um don't worry about it it's it's essentially taking as input an image and it's responding with um with the prediction of the label that's what the server is doing and it's running on your local machine on your on your computer um on the left that's it's like a fake client so it's like it's like you're you're it's like a fake version of your cell phone so this is creating an image uh test image and we're just sending that to our server and we're going to just see if the response from the server makes sense um and and the nice thing about this test environment is we don't have to stand up we don't have to bring this code anywhere anywhere else you don't have to create any new environments on different computers um the server and client just live on the same server or on the same computer so it keeps it nice and relatively simple for testing so that was uh that was the approach to verify that the flask application worked and that the model worked um and then the next step was just to get that working um with the android application so um i this is not i mean so here we have just a little code snippet of from from the application that shows that we are creating a request essentially this is doing the exact same thing in java on our cell phones on the android cell phone um that that the client that the client.pi file on the left here is doing so it's just verifying that also works on our um on our android devices um one actual problem i ran into here was that i this probably gets a little bit into the weeds but uh there are a couple issues with this that i ran into um your your your phone and your computer have to be on the same subnet for this to work um so the subnet is uh i have an example of that so the the subnet you know like in your in your ip address on your computer there's four different numbers separated by dots um and the third number is the subnet so that apparently needs to be the same for your computer and for the android application um so that was a problem i ran into another problem was um this won't really matter people unless they're trying to do the exact same thing but allowing this this option called allow clear text was stopping me from developing this and when i changed allow clear text to true it started working so yeah yeah um fun fact oh um just on on the topic of java um for android development there's also kotlin that's another option that people use for for a language so this is the the defined api for the java application um and i'm just going to check that the the chat area and see if there's any questions that i should be addressing um see there's a lot of messages in the chat um this was slowly done so uh tigran i i don't know how to pronounce that sorry i'll try my best um tigran pronoun said this was solely done by cv um i assume that's computer vision um so here we're using a broad like bruising python java and some aws um so that might answer that question um canero asks can a self-taught coder learn how to do this um i think the answer is definitely yes uh there's a lot of different um tutorials online for a lot of this kind of stuff and i think the idea is uh going through those tutorials and starting off with like the simpler ones and building on top of this um is there a reason that you went with android as opposed to apple yeah um i've i got an android uh an android phone so i just wanted to have it on my own device so just being selfish um did you samantha asked did you consider creating variations of the car images you selected to increase the size of your data set um yeah so one part that i kind of glossed over um if i can uh so so so with each with each image um in the training process there are like a list of augmentations that i ran rotations whitening you can add in noise so yes there's many different augmentations that you can do to increase the size of your data set that will definitely increase the performance of the classification model at the end of the training process it'll take longer but um it's worth the time um sure um was it easy to go so uh tigger and asked was it easy to go from using python to java and did your mechanical engineering i'll start with the first part um so python to java um i would say it was relatively it was somewhat challenging because java has um a strongly typed language and is compiled so like some of the concepts are quite new um i would say again like if you start with like a tutorial like for a simple java application like that could be like a 20 minute video on youtube if you run through that like that kind of provides like a good starting point i find but yeah it's it's definitely different um because python is not strongly types it's not compiled um the language the syntax is quite simple overall um i would definitely start with python if if i hadn't written any code before i would start with python just because i think it's simpler to get used to um did your mechanical engineering degree help with the boot camp i think i'll just come back to that at the end of the talk [Music] and yeah let's yeah i'll just keep going yeah sure let's see oops okay so we just cover the java section um all right so the next step was we we have our um so we have our classifier we have our detector we have a job application that works locally and can talk to our computer's server our local computer server um and so the next question is this is actually pretty close to the end now um in terms of what needs to be done we need to move that server from the local flask version to somewhere hosted online so with this i originally picked to go with um [Music] this this website called python anywhere so python anywhere is um it's just a way to host um various models websites etc um apis and it looked really simple one of the problems was they did not support one of the tools i was using which was torch pie torch high torch is the deep learning framework that i was using for running detection so i tried it for a few days and it didn't work so i moved over to um aws elastic beanstalk and that had a little bit of work involved i had to talk to support and i briefly upgraded to the premium support for about like 24 hours and then downgraded in order to get support but um they they were quite helpful and allowed me to move forward and essentially the issue was related to i would recommend people that are using elastic bean stock to start with the the simple example so like the one shown on the right under more info there's a there's kind of like tutorials for um using a python flask application on elastic bean stock so i would i recommend that people if they're interested in the last two bean stock for apis or website hosting i would check out that the the basic tutorials first i actually jumped i jumped over that step and um that that hurt me so um so i kind of skipped over what is elastic bean stock so elastic bean beanstalk is it's an es2 instance and an ac2 instance is uh i mean it's essentially just a computer in the cloud that people can use um so it takes that computer and allows you to do things like load balance um you can run on your virtual private um [Music] your virtual private system uh cloud and you can also do like like auto scaling so like let's say that suddenly your app started getting millions of views or even hundreds of thousands you could um elastic beanstalk will automatically take your instance and grab grab more machines to run to serve all those all those queries in my case that wasn't an issue but it was a nice way to quickly deploy the application um and just a quick note about uh elastic bean stock um so the main idea is you upload a a zip file um with like this this breakdown like you know there's an application.pi file which contains this server code on the right [Music] and there's a requirements.txt which defines what are the python libraries involved and it i mean there's a there's a few other caveats but that's that's the main idea and um it just re-uploads it it can be re-uploaded too and um it redeploys that application automatically so it's it's a way to provide the server in the cloud um and then the only change that has to happen actually on the java application is that you need to change from the local ip address to the cloud to the cloud url so that's kind of nice um so one thing that i wanted to do before i finished up was um currently it's just doing like definition of what these car models are like it will just say ford mustang um i wanted to also displacing things like horsepower and cost and that kind of stuff in case people are people won't want to like scan a car and then check if they can afford it um so i decided to kind of go into google um and scrape a bunch of this data so scraping in and data science world is kind of like it's like grabbing data from uh from the web so in this case i um examined the if you if you right click on on like google chrome you can get like inspect element as an option i think and uh you can kind of go into that area and um it kind of gets into the weeds of scraping but um you can you can grab that information uh from the uh from the web itself so uh so price is shown here if we right click inspect element and then like get xpath we can we can put in what the xpath was again getting into details but effectively we can use this thing called selenium and we can look into x pass and using that information we can compile the list of horsepowers and prices for all these different kinds of cars if you want to learn if you want to learn more about scraping i would just recommend like google like selenium scraper example and you can read more about it so that was a way to get all that information about cars on there so like if i go back to the first page uh yeah like here it says the horsepower and the price about those those numbers are populated from that so yep um the next step was to release the app on google play i want to go a bit faster because we're almost out of time but um this was not too bad you just kind of go through the steps upload your your application you just need to sign it you need to create a developer account but uh you know it's a couple days of work but not too bad um yeah and then then your app is on google play and people can download it um here's an example of some of the results so that's a ford mustang it turns out if you if you screenshot your result and put it into the into the prediction again it'll still kind of work but um it has the wrong top two predictions so i don't know fun fact i guess um it thinks that boats are jeeps and oh yeah so one other thing is that it's important to back up your files at all times or not all times but like on some sort of routinely done thing uh so one one issue i ran into was i was turning my data set was too large to keep in memory during the training process so with machine learning you usually put the data set i mean a lot of time it's in in your memory so machines usually are like 32 gigabytes of ram or 64 or 16 something in that range this data set didn't fit on memory so i decided to load it in batches from my disk and i i have a hard disk and i think what happened was it had read from our hard disk so many times that it like it degraded the hard disk um so i actually had like a hard disk failure during this process um and basically had to go to the computer store and get my hard disk um saved so yeah just um yeah that would back up your code um and then just just uh there's a side note on on disk failure rates like if people are curious you can see like over the over the span of four years about 20 of hard disks actually fail so um yeah um so yeah that that's the last slide um some takeaways that i i personally had were backing up your data is important um on some sort of routine basis your code and your data um the second one would be when you start something new start with like any kind of youtube tutorials or demos and then make changes on top of those and every change that you make see if that breaks something from before and that way like you can kind of make iterative process as opposed to starting big and not knowing where the problem came from um that really helped me a lot with like java starting with like the tutorials and building on top of those tutorials um next one is that kodi languages can be pretty diverse and uh it's not really like i guess that's kind of obvious to people but um java and python are super different and um it takes time to get used to those things so yeah um anyway that's that's the idea um open up now to questions um i think i already addressed a lot of them um earlier but um yeah now the question is how do i get to questions so daniel s you mentioned spending days just training the detector to filter car pictures how long did your project take from start to finish oh good question um i think it was about three months or so um part time well i had a job um so maybe like on average 10 to 20 hours a week for three months and a lot of that was like just learning new learning new technologies was challenging um i think that people if if they had worked with things in the past it'd be a lot faster the actual machine learning process was not too bad but dealing with java and dealing with the with the cloud deployment was more challenging for me um hank oh hey hi ivan i think that's the same hank maybe it's a different one um uh can't wait to oh it's the same one okay hey um can't wait to check out the app do you have the github available but the slides be available there um so the bad news i lost a lot of the data when that disk crashed um so i don't have uh the exact application but um i can share like pretty close to it um and i can try to put that up on github um along with i i do have the actual java application i don't have the back end for it but i can i can at least post part of it online um sure um charles says did you try running the server code locally on the phone oh yeah um do you think it would have been possible so like i think what you're asking is basically like why run the machine learning model um on the server can you run that on the phone um like can you run the server ml on the phone um and the answer is pretty much yes i think that would actually have been a probably a simpler um architecture um the reason i didn't do that is because i wanted to i actually wanted to learn about server client roles and and how that interacted with with an api um so i i actually purposely went around that and made it harder for myself i guess um for the purpose of learning um but yeah i i i think it would have worked on the phone as well um on a cpu on a phone it'd be a little bit slower but um yeah it wouldn't be that big of a deal so yes you you could have done that um i think the best way to do that would be to export the pi torch model to what's called a jit trace and then you can probably find a way to load a jit trace um in java or maybe convert to a palm x file like onyx i'll spell that onyx and jet would be the approaches i would take for exporting it to your phone um cool and i think i got a question before from tigran so tigran asks about the [Music] mechanical engineering degree for the boot camp um so my mechanical engineering degree was kind of i i did i had like i think i had like two or three computer science classes during my time with mechanical engineering um one of those was computer vision actually which helped a lot um so i had a bit of a head start um but like you know it's two or three classes like that's yeah um in terms of mechanical engineering overall i think having engineering as a background is definitely helpful um but i've seen a few people that didn't have an engineering background that were are very good coders my friend dean actually is like one of the best covers i know and he his degree is um in fine arts so um but yeah an engineering engineering degree does help yeah sure thanks i saw a lot of alumni and the future students joined today's session is informative and inspiring a lot and you yeah yeah yeah i think if i i think if i had some more time in this project what i would really like to do i mean there's definitely a lot of stuff i'd like to do but one thing that'd be really cool would be to to take the model um optimize it for for like a cell phone and get to run a lot faster and then maybe it can just be pointed at like you know point point to anything and it can run um uh on like a continuous basis so like 60 frames per second or something and just you just spin around it detects cars all the time that'd be a nice next step i think but more work you should have more maybe if you have a little bit of bandwidth we can do it for a capsule maybe we have done a few capstone projects in bases so one major capstone project we actually did over nine months awesome thank you everyone for joining us especially sarah for for raising such amazing kiss and you and did a wonderful presentation today yeah yeah sure well thank you all for for listening and uh yeah all right we will follow up with the video recording and mature afterwards thank you so much for joining us today have a wonderful night everyone hi
Info
Channel: NYC Data Science Academy
Views: 88
Rating: 5 out of 5
Keywords:
Id: 9bz4aU0xMXA
Channel Id: undefined
Length: 54min 47sec (3287 seconds)
Published: Thu Sep 09 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.