python-2.7


vehicle type identification with neural network


I was given a project on vehicle type identification with neural network and that is how I came to know the awesomeness of neural technology.
I am a beginner with this field, but I have sufficient materials to learn it. I just want to know some good places to start for this project specifically, as my biggest problem is that I don't have very much time. I would really appreciate any help. Most importantly, I want to learn how to match patterns with images (in my case, vehicles).
I'd also like to know if python is a good language to start this in, as I'm most comfortable with it.
I am having some images of cars as input and I need to classify those cars by there model number.
Eg: Audi A4,Audi A6,Audi A8,etc
You didn't say whether you can use an existing framework or need to implement the solution from scratch, but either way Python is excellent language for coding neural networks.
If you can use a framework, check out Theano, which is written in Python and is the most complete neural network framework available in any language:
http://www.deeplearning.net/software/theano/
If you need to write your implementation from scratch, look at the book 'Machine Learning, An Algorithmic Perspective' by Stephen Marsland. It contains example Python code for implementing a basic multilayered neural network.
As for how to proceed, you'll want to convert your images into 1-D input vectors. Don't worry about losing the 2-D information, the network will learn 'receptive fields' on its own that extract 2-D features. Normalize the pixel intensities to a -1 to 1 range (or better yet, 0 mean with a standard deviation of 1). If the images are already centered and normalized to roughly the same size than a simple feed-forward network should be sufficient. If the cars vary wildly in angle or distance from the camera, you may need to use a convolutional neural network, but that's much more complex to implement (there are examples in the Theano documentation). For a basic feed-forward network try using two hidden layers and anywhere from 0.5 to 1.5 x the number of pixels in each layer.
Break your dataset into separate training, validation, and testing sets (perhaps with a 0.6, 0.2, 0.2 ratio respectively) and make sure each image only appears in one set. Train ONLY on the training set, and don't use any regularization until you're getting close to 100% of the training instances correct. You can use the validation set to monitor progress on instances that you're not training on. Performance should be worse on the validation set than the training set. Stop training when the performance on the validation set stops improving. Once you've accomplished this you can try different regularization constants and choose the one that results in the best validation set performance. The test set will tell you how well your final result is performing (but don't change anything based on test set results, or you risk overfitting to that too!).
If your car images are very complex and varied and you cannot get a basic feed-forward net to perform well, you might consider using 'deep learning'. That is, add more layers and pre-train them using unsupervised training. There's a detailed tutorial on how to do this here (though all the code examples are in MatLab/Octave):
http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
Again, that adds a lot of complexity. Try it with a basic feed-forward NN first.

Related Links

Grouping data from different pandas dataFrame
Robot Framework Using PyCharm Editor:: Imported library 'class' contains no keywords
Python One Server and Multiple Clients
putting two tricontourf on the same axis does not display both
Why is my OpenCV Video Refusing to Write to Disk?
Tweepy update status with media -UnicodeDecodeError: 'ascii' codec can't decode error
How to parse given types of string to list?
Is it necessary to sanitize pandasql queries when used on DataFrame objects
Split and Pivot a Data Frame
How to prompt for input?
Set relation to many-to-many relationship
How do I delay an event in Kivy?
Change type of a model field in Odoo preserving old records
Reproducing legacy binary file with Python
Saving lists with kivy
Force add new page in pyFPDF using python

Categories

HOME
list
shinyapps
seedstack
command-prompt
loopbackjs
plpgsql
tibco
firebase-database
mailing-list
roku
xades4j
clish
jpa-2.0
sql-injection
exe
word2vec
renderscript
parceler
spring-shell
pe
pubxml
morris.js
sap-lumira
laravel-4.2
basic-authentication
mdns
es6-modules
appcode
jfxtras
jade4j
identify
iscroll
stat
newtons-method
minikube
react-intl
openstack-glance
simple-schema
sequence-diagram
clrs
glassfish-4.1
1010
rustdoc
sidewaffle
email-injection
petsc
oracle-fusion-apps
e
dmarc
tsqlt
traversable
xcode8-beta4
maven-release-plugin
unsigned
gnucash
distributed-cache
webgrind
json-spirit
linuxbrew
place
search-form
webproject
fuseesb
nssortdescriptor
rfc5545
kognitio-wx2
jolie
comctl32
rebar
squeezebox
otl
nachos
stripe.net
reference-counting
windows-taskbar
pbkdf2
visual-c++-2005
discovery
apache-shindig
xsd2code
rautomation
postgres-xc
hints
microformats
eager-loading
aero
oscilloscope
days
donut-chart
reentrancy
itunes-sdk
cyrillic
simplecov
xalan
zend-pdf
taskkill
image-scanner
jzmq
algol68
quartz-core
n-queens
zend-server-ce
asio
groovy-console
qt-mobility
database-deadlocks
dip
hungarian-notation
ccl
android-input-method
resharper-5.0
index.dat
comment-conventions
remote-working

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile