Help detecting snakes using AI

For those of you with programming experience, I have some questions, if you'd be so kind as to read them.

I want to work on a project where I train a camera to detect snakes in real time and track them while within the camera range. So, pretend I have a backyard here in AZ and I suspect there are snakes, but there are also other critters running around, so if general motion detection is recommended that wouldn't help.


I don't know anything about programming so before I consider investing time or money, I'd like to know if this is feasible/how it works.


  1. Is the the type Of project I can tackle using the online AI programming courses? My thoughts where of using youtube videos of snakes for this project.
    1. How difficult would a project like this be for someone with no programming experience. What language would be used?
    2. If I paid someone to create the basic program how much would do you think it would cost?

Thank you

 
Most Helpful

Just a quick brain dump:

  1. You wouldn't use video, you'd use still images that you pull from that video. So it's not a video problem, it's an image problem. If you want to sound really professional, it's an "image processing" problem
  2. Your biggest challenge will be training data. You'd need all kinds of pictures of snakes in all kinds of environments and positions. You'd basically need to recreate all of the potential ways that snakes could be in real life at any time (day, night, big snakes, small snakes, coiled, extended, on the floor, on a rock, etc).  If you think about all the permutations of all those requirements (e.g. on a rock, coiled, at night; on a rock, coiled, during the day, etc.) then you should realize that you need A LOT of training data. Tens-of-thousands of images or more.
  3. Your aim should be to create an algorithm that removes bias and can act independently as your snake spotter. This has been hard to do with the exact kind of "animal spotting" problem you describe. There is a famous example where a researcher did the same thing for a type of endangered wolf. They thought their program worked, but what they really did was accidentally create an algorithm that detects snow because all of the known photos of this wolf (i.e. the training data I'm describing above) contained snow. 

I will leave it up to you if this is something that you really want to pursue. 

 

Your biggest challenge will be training data. You'd need all kinds of pictures of snakes in all kinds of environments and positions. You'd basically need to recreate all of the potential ways that snakes could be in real life at any time (day, night, big snakes, small snakes, coiled, extended, on the floor, on a rock, etc).  If you think about all the permutations of all those requirements (e.g. on a rock, coiled, at night; on a rock, coiled, during the day, etc.) then you should realize that you need A LOT of training data. Tens-of-thousands of images or more

Just want to point out that cameras can collect audio data as well, which would be more informative and require less data than purely relying on visual cues.  

Array
 

GoingToBeAnMD

Just a quick brain dump:

  1. You wouldn't use video, you'd use still images that you pull from that video. So it's not a video problem, it's an image problem. If you want to sound really professional, it's an "image processing" problem
  2. Your biggest challenge will be training data. You'd need all kinds of pictures of snakes in all kinds of environments and positions. You'd basically need to recreate all of the potential ways that snakes could be in real life at any time (day, night, big snakes, small snakes, coiled, extended, on the floor, on a rock, etc).  If you think about all the permutations of all those requirements (e.g. on a rock, coiled, at night; on a rock, coiled, during the day, etc.) then you should realize that you need A LOT of training data. Tens-of-thousands of images or more.
  3. Your aim should be to create an algorithm that removes bias and can act independently as your snake spotter. This has been hard to do with the exact kind of "animal spotting" problem you describe. There is a famous example where a researcher did the same thing for a type of endangered wolf. They thought their program worked, but what they really did was accidentally create an algorithm that detects snow because all of the known photos of this wolf (i.e. the training data I'm describing above) contained snow. 

I will leave it up to you if this is something that you really want to pursue. 

If I don't have the capital now, I'll have the capital some day... I'm doubling down on this.

I was thinking if it's long and slithering its a snake. Then make sure it doesn't detect a hose because the hose wouldn't be slithering. I'd only be looking at the snake in my lawn. If I used something like infrared, I think I could. I think Sagemaker will work

How easy would it be to build an algo/ how much would it cost?

 

It all depends on who you hire. I have a team of absolute killers that does this type of work for my function but I pay them quite a bit to be good. 

 

Download snek from internetz, train machine learning model on snek, run object detection preprocessing to output snek and objectz, run snek detector on output to detect snek.

Can be done, yes, but is this seriously worth his time?

(Also, I have no idea why I decided to go cacographic on you... Seemed funny at the time.)

 

To be fair the best way to detect a snake wouldn't necessarily be through static image processing given that they are very difficult to distinguish from their environment but more like through motion detection.

 

I appreciate your thoughts but let's not do Level 1 thinking here:

  1. The kid said he wanted video, let's do video
  2. I've been answering with the assumption that "snakes" may be a euphemism for other things he may want to detect or create an algorithm for. That's fair play. I want people to realize that writing algorithms (any algorithm) is fucking hard. 
  3. Motion detectors are going to give you all sorts of false-positives and you'd need something very, very high end to detect a snake moving. I used to work in physical security with cameras, access control, stuff like that. The good stuff always costs a ton of money. 
  4. If you did this as a business you could have people set up their own cameras and then your algorithm takes over from there, get recurring revenue from the subscription to your algorithm hosted on your own servers. That's a completely defensible model, no one gets your IP. With motion detectors, any setup you make people can copy by buying the same stuff - a horribly indefensible business model. Why would you want that? 

I appreciate your thoughts

 

Correct as noted above big fish are the end game, but I figured snake detection would work too and be something I could try out.

Basically my thought was if I can't capture a slithering snake from a picture. As t moves the snake slithers and its body oscillates side to side. The video angle would be static and Arial. I guess I don't need AI for this since this will always be constant. I just want to detect the moving image on a screen. Looks like Python with OpenCV or tensorflow might work.

 

Every SWE was once someone who didn't know how to code

“The three most harmful addictions are heroin, carbohydrates, and a monthly salary.” - Nassim Taleb
 

Architecto dignissimos quia esse. Omnis assumenda perferendis est omnis modi neque.

Maxime quas explicabo sed est voluptas architecto. In illum adipisci commodi ad. Velit vitae cumque dolor tempore vel debitis. Perspiciatis et voluptates blanditiis sunt.

Officiis velit voluptatem odio harum. Quia nobis repudiandae delectus.

Laboriosam ut eum ducimus. Vitae temporibus voluptate sapiente vero odit quo neque illo.

Borrow at 3, Lend at 6, Golf at 3
 

Reiciendis illo tempora tenetur. Consequatur mollitia impedit ut delectus placeat ipsa quia sit. Fugit excepturi fugiat dolorem natus.

Quod fuga dolorem dolores ut nemo omnis est. Provident laboriosam omnis odit voluptatem quia doloribus dolorem earum. Atque corrupti quia ullam doloremque praesentium. Quia ipsa est voluptatem. Quas aut et omnis sed aut quasi dolorem et.

Career Advancement Opportunities

May 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Goldman Sachs 19 98.8%
  • Harris Williams & Co. New 98.3%
  • Lazard Freres 02 97.7%
  • JPMorgan Chase 04 97.1%

Overall Employee Satisfaction

May 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

May 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

May 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (19) $385
  • Associates (88) $260
  • 3rd+ Year Analyst (14) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (67) $168
  • 1st Year Analyst (205) $159
  • Intern/Summer Analyst (146) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
Betsy Massar's picture
Betsy Massar
99.0
3
Secyh62's picture
Secyh62
99.0
4
BankonBanking's picture
BankonBanking
99.0
5
GameTheory's picture
GameTheory
98.9
6
CompBanker's picture
CompBanker
98.9
7
kanon's picture
kanon
98.9
8
dosk17's picture
dosk17
98.9
9
Jamoldo's picture
Jamoldo
98.8
10
bolo up's picture
bolo up
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”