Looking for ideas on a class project in Computer Vision [closed] - matlab

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have come upon another class where I need to find an idea for a project, and since my last posting on SO for a project idea was so successful, I've decided to ask here again.
I'm taking a class titled Computer Vision for Human-Computer Interaction, and we need to come up with a few ideas for a project that we will have about 2-4 weeks to complete. We have the option of working with 1 or 2 other people, although I will probably be going solo on mine.
In the class we've covered things like image formation, image features, segmentation, shape analysis, object tracking, motion calculation, and some applications. Our homework assignments have been completed in Matlab for convenience, although its not required for use in our project.
I have come up with few possibilities: tracking the motion of a golf club and ball in full swing and doing some analysis, or possibly using eigenface techniques to do some sort of facial recognition and matching.
I would enjoy building an application that I can put on the web for others to play around with, but most of all I want to complete a project that could be of good use to someone (whether for entertainment or more useful purposes).
So... any ideas? Thanks!

Its fun and challenging to go from static image processing to doing analysis in real-time. For example, analyze video from a webcam and have the user play a primitive video game by waving their hands.
Or, if you want to continue with your face recognition idea, try writing software to highlight famous faces in a running video in realtime.
Use google image search to gather training data and then see how well your software can do at identifying the president of the US in different settings , for example. Can you train all of the former presidential candidates and differentiate them all?
Also, look into using OpenCV for fast real time computer vision processing in C.

Take a look at these for examples:
http://en.wikipedia.org/wiki/Category:Applications_of_computer_vision
http://www.cs.ubc.ca/~lowe/vision.html

There are some funky projects in this ongoing course:
http://www.seas.upenn.edu/~cis581/

Related

It's possible create Core ML models [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'd like to know if it's possible create core ml models for xcode, my app needs recognize many different species in real time, so I need to create a custom model
I'm still begginer so please explain me step by step, thanks
Yes it is possible, for that you could use Caffe, Keras, turi or other libraries to generate trained models and then using Core ML python tool you can convert it to .mlmodel to use in xcode.
Also I will suggest to you to read this article :
http://www.reza.codes/2017-07-29/how-to-train-your-own-dataset-for-coreml/
Yes and no.
YES - you can train your own model and then import it into CoreML. But NO - you cannot do any training once the model has been imported. (That will require an app update.)
Here's a few good links to get you started:
A repo and a detailed article that explains how to take a trained YOLO model and import it into CoreML.
A very detailed article (with screenshots) of how to "train a Caffe model using DIGITS on an EC2 g2.2xlarge instance, convert it into a CoreML model using Apple’s coremltools and integrate it into an iOS app".
I haven't gone completely through this last link yet, but from what I've done with the former one and other learning projects, it looks like the best (read: most extensive) "intro to training a Machine Learning model" you can find.
Remember, once you've imported your trained model into CoreML, the only way to update it - at least for now in iOS 11 - is to reimport the model, meaning an app update.
EDIT: In the comments, #MatthijsHollemans (who BTW is the author of those first two links and I recommend reading other articles on his blog) points out a way to update the model without the need for an app update.

Start a neuronal network project [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
after a long term of reading the theory behind neural networks I finally want to stark to do my own project in object recognition.
However I struggle to find a practical entry point. I want to use either C#,C++ or C however all new tutorials seem to involve newer languages such as python.
For starting I would especially like to reprogram the theory concepts of Yann LeCuns publications about object recognition.
Which programming language is recommended to use? And much more important: Which framework do I use? There seem to be docents of frameworks (AForge, Apache Mahout, OpenCV) and my theoretical knowledge seems to be too impractical to differentiate the usage of these.
I want to program a simple independent neural network application which should be easy trainable plus I don't want to reprogram classes such as neuron or layer in order to focus on the architecture for the beginning.
Thanks and sorry for the simple probably often ask question, however I just couldn't find anything matching.
Greetings
Nex
disclosure: i'm not an expert.
depends on what exactly you want to do.
if you want to build something from scratch, probably the easiest language to start prototyping is matlab/octave because it's high level and offers pretty fast matrix manipulations, nice math support (like numeric derivatives) and robust plotting to quickly verify your models. when you have your prototype, you can port to to c/c++ to make it faster, more space efficient, portable etc.
if you want to just use exiting tools/techniques and just play with parameters (preprocessing, feature selection etc) to find the best model for you, i would recommend start from R and caret package or python (don't remember the package name)
if you want to use NN in cluster on big data then i would try using existing frameworks like openCV (not sure if mahout provides NN)
Google just released their tensorflow framework.
Its perfect to start with and offers even for high skilled NN-architectures a lot of feautes. I highly recommend it for everyone.

Real time music transcription [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 9 years ago.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Questions concerning problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance.
Improve this question
I'm trying to implement a system that can produce a sheet of music for a piano piece as and when it is being played, that is, it should be a real time transcription and not that of a recorded piece.
So far I've been testing on wav files, using FFt on MATLAB, but when it comes to real time, the system needs to be really-really fast.
Any suggestions on what kind of approach I could use, the type of board (I've thought of using Arduino). I could use, because I'd like to directly transfer my MATLAB code rather than converting it to C.
Any suggestions on what kind of approach I could use, the type of board (I've thought of using Arduino). I could use, because I'd like to directly transfer my MATLAB code rather than converting it to C.
You can have different approaches to your project that I can think of:
First there are some pianos that have an electronic device that can output the played notes through a midi interface, with velocity and position. It's the most accurate and fast solution to track played notes, though not much DIY. On the computer side, you'll only need a midi interface (that can be easily done using an arduino) and have a software that transforms MIDI notes into a score ;
Then, you can mimic that behavior, by wiring the keyboard of the piano to sensors that will be able to measure velocity and which note has been played. There are many strategies you can use (from using lasers on the mechanics, to pressure switches...), it all depends on the investment you're ready to make ; There an arduino (like the mega or the due) can be a good solution.
But as you were talking about FFTs, I assume you want to record the sound made by the piano and detect keys. There you hit state of the art knowledge on music research, the problem you'll meet is the multiple f0 detection in polyphonic music, though there are strategies specific to piano, it's still a very active research field.
Let's assume you're only doing monophonic detection for the transcription. The problem will be that the Analogical-Digital-Converter included in the Arduino just sucks, it has a definition of 10bit which is way too low to detect anything useful. With the Arduino DUE, you may have a bit more definition as it features a 16-channel 12-bit 1Msps ADC. Which is still not much for a good transcription. So you'll either have to create use an external ADC like the Linear LTC2383-16 which is 16bit 1Msps and has a SPI interface, the minimum to begin playing. Behind that you'll need to find the correct microphone and create the good electronics between the ADC and the microphone (which I don't know much about).
Finally, would'nt it be easier to take a small computer (like the Beaglebone or the RaspberryPI5), plug in a really good USB ADC/sound card, and use that board to pipe through the transcription? You may as well run your software on a cloud server (like google appengine or AWS) that has enough processor to make your Matlab run happily.
So to make a good real time and embedded transcription of music, the best solution is the first solution (or second if you really want to go DIY). If you really want to go through the "air" interfaces, I think the good solution is the fifth.
And finally, about the code, I'd advice you to convert your code from Matlab to Python (if you don't want to write C/C++ code) it will run significantly faster. So you can figure out how bad Matlab is, when I was working for the IRCAM, I have written a tool that was converting Matlab source code to C++ source code, and once compiled result were 40x faster.
HTH

How would I approach building a results predictor for a Football Management sim? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm looking for some food-for-thought on how games like Football Manager and Championship Manager achieve a fairly high level of realism when it comes to simulating realistic scorelines. I am conscious that some of these algorithms would probably fill shelves but I'm looking for a more lucid overview.
Even some pseudocode which outlines how the different player attributes are pitted against each other during the game loop would be very interesting.
I'm looking to do a small project in my spare time for the Windows Mobile platform and would be grateful for any information that would help!
My guess is that such algorithm is a trade secret for game companies like SI Games and such, and you won't find any hint about their algorithm in public places.
You can look at open-source football management games, like bygfoot.
You might want to take a look at my project, which is a football (soccer) match simulation:
http://sourceforge.net/projects/openfootie/
If you are able to collect enough information about the results of the past matches, you could make a simple multiple regression model to predict the scores with reasonable amount of accuracy. You'll have to select your variables carefully though.
Check out this and this for more information on prediction using regression techniques.
Certainly a component of any such algorithm would be analyzing the past X-many years of actual football scores: professional, college, and high-school.
If you were to aggregate the data available on merely active, professional players, then look at the scores of every game they were in, you could start to get one possible approach.
For example, maybe there's a place-kicker who just freezes-up against one team - and therefore the coaches don't put him on the field after that when the two teams are playing each other.
Obviously, such analysis should be done ahead of time and NOT on the Windows Mobile device :)
However, it could be at least a reasonable starting point.
Also, be sure to not rely on pure statistics - it doesn't matter how good you are if Lawrence Taylor breaks Joe Theismann's leg :-\
There are some open source football sim engines you may want to take a look at:
ESMS+
BygFoot
I would say its difficult to determine what is the "correct" method for developing an engine for this type of game. I think its basically how you think it should be determined....obviously having a sneak peek at other people's source code helps :)
I haven't had the time to take a look at BygFoot's yet, however, I have had a look at ESMS and it doesn't look too bad! The main loop is not as big as you would think....
I would say there must be an element of randomness involved, this will allow for "shock" results etc and you should also take into account things like recent form, player morale, fitness, stamina, home/away and provide bonuses to the players accordingly.
Hopefully that helps!

Developing addins for World of Warcraft - Getting started? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
As a long time World of Warcraft player, and a passionate developer I have decided that I would like to combine the two and set about developing some addins. Not only to improve my gameplay experience but as a great opportunity to learn something new.
Does anyone have any advice on how to go about starting out?
Is there an IDE one can use? How does one go about testing? Are there any ready made libraries available? Or would I get a better learning experience by ignoring the libraries and building from scratch? How do I oneshot Hogger?
Would love to hear your advice, experiences and views.
This article explains how to start pretty well.
Your first bookmark is possibly the US Interface Forum, especially the Stickies for that:
http://us.battle.net/wow/en/forum/1011693/
Then, grab some simple addons to learn how XML and LUA interacts. The WoWWiki HOWTO List is a good point here as well.
One important thing to keep in mind: World of Warcraft is available in many languages. If you have a EU Account, you got an excellent testing bed by simply downloading the language Packs for Spanish, German and French. If you're an US Guy, check if you can get the Latin America version. That way, you can test it against another language version.
Once you made 1 or 2 really small and simple addons just to learn how to use it, have a look at the various frameworks. WowAce is a popular one, but there are others.
Just keep one thing in mind: Making an Addon is work. Maintaining one is even more work. With each new Patch, there may be breaking changes, and the next Addon will surely cause a big Exodus of Addons, just like Patch 2.0.1 did.
Another useful tools you might like is WarcraftAddOnStudio which lets you make plugins in the visual studio environment.
I learned the art of add-ons primarily by looking at the code of Blizzard's UI. You can see that code by extracting the default UI or finding a copy of the default UI online. Add-on developers sometimes like to over-engineer their pet projects (who doesn't?), while Blizzard's code is usually pretty no-nonsense and straightforward. In addition, Programming in Lua is a pretty useful (if slightly out-of-date) reference for the actual Lua language.
The best way to start is with the book World of Warcraft Programming. It covers LUA, XML, WarcraftAddOnStudio and the WoW API. The book also has sections on best practices and avoiding common mistakes.