To improve your chances of being seen, turn your lights on and wear bright colors to improve contrast. Be aware that if the sun is right behind you, people ahead of you will have a very difficult time seeing you.
528 karma · joined June 23, 2014
To improve your chances of being seen, turn your lights on and wear bright colors to improve contrast. Be aware that if the sun is right behind you, people ahead of you will have a very difficult time seeing you.
It's very fast because it only pushes diffs. I use a bit of command line scripting to create an zip archival copy (for historical reasons) and to push the site to AWS just by doing:
$./deploy.sh
[1] http://www.investopedia.com/articles/investing/020515/busine...
I've seen people use multiple levels of simulation complexity. That way they can learn the basics in a simple environment and use that as a prior for the more complex (and therefore slower/more costly to run) simulators. It's like bootstrapping up to the real thing.
In general being able to run things in the simulator is critical to software testing. If your only method of doing integration testing and parameter optimization is the real robot, it will be a bad time, quite possibly leading to a crashed robot.
There's a screenshot on the linked site which leads me to believe that is the indented behavior. Doesn't seem that similar to PG, as the title implies.
I'm curious what kinds of evolutionary biology impacts technologies like Google's search engine have on humanity. Before the internet, there was a large motivation to memorize information in order to quickly retrieve it without a very costly lookup operation. Now, a more efficient method to access information is to "index" the information with your brain - i.e. just remember how to find it quickly with the right search terms. This way, a significantly larger amount of information can be accessed very quickly by an individual.
I have noticed this in my own life. I consider my ability to recall things with Google to be a skill, and I consciously do not memorize pieces of information which I am fairly sure I will be able to find in <10 seconds. I think that using my brain as an index allows me to ingest more concepts, and as a result of that make more connections between concepts. It's definitely not without downsides though, an obvious one being a very high level of reliance on internet access. I wonder how this will play out over time, and if there are directly observable physiological differences between individuals with and without the internet as a form of memory-augmentation.
I said no to three solid screens full of what I consider to be highly privacy infringing settings on install, all of which were on by default if you didn't do a "custom install."
Since you already have a decent looking hand segmentation method, you could simply trace the outline of the segmentation (opencv will give you contours if you ask politely) and generate descriptor vectors with that. Fourier descriptors are rotationally invariant, and you can get scale invariance easily by scaling your hand images to a constant size after segmentation. You can use the descriptors with a variety of ML algorithms, but K nearest neighbors is probably the easiest (and it was I implemented). SVM is probably also a good method. Using ML has the absolutely gigantic upside that you don't have to write code to recognize individual gestures, and it can learn many gestures (I did 5+ no problem).
I am actually working on open sourcing my code (didn't release it immediately because messy code + busy life during the semester), and porting it to Python so that I can use Numpy and Scipy. The original version I wrote in C++, which includes hand tracking (via OpenNI) + static gesture recognition on the Kinect 360 sensor, as well as a CLI for interfacing with the code and building a gesture library. To start tracking, you have to wave vigorously at the camera. In the Python version for the Kinect One sensor, I'm cleaning things up and also implementing my own hand detection and tracking algorithm (based on an unscented Kalman filter) so that I can kill the dependency on OpenNI, which will help calm the vigor of the wave gesture required to initialize OpenNI tracking. I expect good results when the Python version is finished, due to the high quality depth based hand segmentations I am seeing with the new Kinect. I might be able to hook you up with some source code if you don't mind seeing the rough draft and having a tricky install process.
While the older Kinect works with the Fourier method, it is not as good as the Kinect One sensor because it uses a depth reconstruction algorithm that results in jagged edges and merged fingers. The new sensor uses a time of flight sensor which gives very nice accuracy and normal looking edges. Granted, you could get around this problem via skin segmentation on the RGB or IR images that both Kinects also provide.
A camera only system like yours can work well with enough effort, but with a depth image you will almost certainly get better segmentation and detection results with simpler code. Then you can focus on higher level problems like static and dynamic gesture recognition, and design a better UX around those things. This does come at the price of needing a more expensive and larger sensor, though there's a few depth camera options available these days.
Hope this helps! Happy to discuss more if you'd like.
[1] http://www.bu.edu/vip/files/pubs/reports/CCSSM13-04buece.pdf
Edit: re your comment on Python, I have gone the C++ route (as well as just about every other mainstream language) and can honestly say that Python is a much easier development environment than what you will find in C++. Numpy and Scipy are where it is at. Even after completing two major software projects in C++, I have almost an order of magnitude greater productivity in Python, largely because these libraries and the incredibly readable syntax. Also they are blazing fast - you will be hard pressed to write faster C++ than the C code that powers Numpy. In my experience the algorithms you use and your system architecture will be a much larger factor than your language of choice. I choose what gives me the highest efficiency in development because I can focus more on nailing the architecture, algorithms and building necessary tooling. If you have never worked with C++, I assure you, the darkness that is C++ compilation and linking hell is not for the faint hearted.
For robotics work I always end up wanting a small but decent computer to run my ROS visualizations/algorithms and to make small code edits. This has a decent c/gpu, good battery, small form factor, ssd slot, and isn't ungodly expensive. I usually end up running a VM on my primary development laptop but that is very annoying, a dedicated and less valuable machine would be better.
I think that Tesla is doing a disservice to the rest of the industry by being overly zealous with their marketing and naming department. "Autopilot" is a bit of an exaggeration that needlessly oversells what is effectively a lane-assist feature. By saying that it's "autopilot" they set an expectation of a high degree of autonomy, and thereby influence how their technology is perceived and evaluated both by users and the press. Fatal accidents caused by incorrect use of a "Lane Assist" is a very different headline than an accident caused by "Autopilot."
Tesla is not the only manufacturer with some kind of active cruise control, they just get a lot of attention because they like to pretend they are selling autonomous cars. I am just crossing my fingers that their recklessness will not cause a significant setback to autonomous car technology in general. Tesla hand waving away safety concerns by quoting dodgy apples-to-oranges "statistics" doesn't exactly make me feel warm and fuzzy.
Furthermore, during those entire 130 million miles, there was theoretically a human also sitting behind the wheel ready to take over if the system failed. If there was no human behind the wheel, the cars would not have been able to attain 130 million miles of drive time without a very large number of crashes. When humans drive, there is no intelligent being ready to take over whenever we make a mistake as is the case for Autopilot.
In my opinion, using this "statistic" is a very lazy way of hiding behind the numbers in dealing with a very non-obvious issue.
$82000000/6500 = $12615
Average severance of 12.6k per employee seems rough.
Source? I hear that it is imperfect software.
[1] http://beef2live.com/story-world-cattle-inventory-ranking-co...
I definitely think that understanding the lower levels helps me write better software, largely for the reasons you list.