Image Recognition on Lego Ev3 Embedded System (Python)
I'm trying to make a sorting robot using the 'Lego Mindstorm EV3 Kit'.
Currently the robot is able to capture images and transfer them via bluetooth to a standard laptop. The laptop is responsible for the image recognition and sends back a prediction to the EV3 Robot. I've written a simple python program which uses the scikit-learn library for the machine intelligence and a few other libraries for feature extraction ect. It's currently working as it is, however I would like to get everything running on the EV3.
I've tried installing the libraries using the pip install and apt-get, and I've managed to get most of it installed on the EV3. My current problem is that I'm running out of memory while importing all the libraries in python. I've tried limiting the imports as much as possible, but since I only have about 50 MB of RAM to work with, I quickly run into problems. I've even tried adding virtual ram to the EV3, but it didn't work.
1) Do any of you have experience with image recognition on 'Lego Mindstorm EV3'. What libraries did you use. I might try TensorFlow, but I'm pretty sure I'll run into a similar problem with memory.
2) Do any of you have experience in implementing a simple machine learning algorithm in python, which can differentiate between images. My next try is going to be implementing a simple Neural Network. Remember I can still train the network on a big machine. Do you see any problems with this approach, and do you have any suggestions. I'm thinking just a "simple" neural network using the back propagation algorithm.
Thanks
python embedded artificial-intelligence image-recognition backpropagation
add a comment |
I'm trying to make a sorting robot using the 'Lego Mindstorm EV3 Kit'.
Currently the robot is able to capture images and transfer them via bluetooth to a standard laptop. The laptop is responsible for the image recognition and sends back a prediction to the EV3 Robot. I've written a simple python program which uses the scikit-learn library for the machine intelligence and a few other libraries for feature extraction ect. It's currently working as it is, however I would like to get everything running on the EV3.
I've tried installing the libraries using the pip install and apt-get, and I've managed to get most of it installed on the EV3. My current problem is that I'm running out of memory while importing all the libraries in python. I've tried limiting the imports as much as possible, but since I only have about 50 MB of RAM to work with, I quickly run into problems. I've even tried adding virtual ram to the EV3, but it didn't work.
1) Do any of you have experience with image recognition on 'Lego Mindstorm EV3'. What libraries did you use. I might try TensorFlow, but I'm pretty sure I'll run into a similar problem with memory.
2) Do any of you have experience in implementing a simple machine learning algorithm in python, which can differentiate between images. My next try is going to be implementing a simple Neural Network. Remember I can still train the network on a big machine. Do you see any problems with this approach, and do you have any suggestions. I'm thinking just a "simple" neural network using the back propagation algorithm.
Thanks
python embedded artificial-intelligence image-recognition backpropagation
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45
add a comment |
I'm trying to make a sorting robot using the 'Lego Mindstorm EV3 Kit'.
Currently the robot is able to capture images and transfer them via bluetooth to a standard laptop. The laptop is responsible for the image recognition and sends back a prediction to the EV3 Robot. I've written a simple python program which uses the scikit-learn library for the machine intelligence and a few other libraries for feature extraction ect. It's currently working as it is, however I would like to get everything running on the EV3.
I've tried installing the libraries using the pip install and apt-get, and I've managed to get most of it installed on the EV3. My current problem is that I'm running out of memory while importing all the libraries in python. I've tried limiting the imports as much as possible, but since I only have about 50 MB of RAM to work with, I quickly run into problems. I've even tried adding virtual ram to the EV3, but it didn't work.
1) Do any of you have experience with image recognition on 'Lego Mindstorm EV3'. What libraries did you use. I might try TensorFlow, but I'm pretty sure I'll run into a similar problem with memory.
2) Do any of you have experience in implementing a simple machine learning algorithm in python, which can differentiate between images. My next try is going to be implementing a simple Neural Network. Remember I can still train the network on a big machine. Do you see any problems with this approach, and do you have any suggestions. I'm thinking just a "simple" neural network using the back propagation algorithm.
Thanks
python embedded artificial-intelligence image-recognition backpropagation
I'm trying to make a sorting robot using the 'Lego Mindstorm EV3 Kit'.
Currently the robot is able to capture images and transfer them via bluetooth to a standard laptop. The laptop is responsible for the image recognition and sends back a prediction to the EV3 Robot. I've written a simple python program which uses the scikit-learn library for the machine intelligence and a few other libraries for feature extraction ect. It's currently working as it is, however I would like to get everything running on the EV3.
I've tried installing the libraries using the pip install and apt-get, and I've managed to get most of it installed on the EV3. My current problem is that I'm running out of memory while importing all the libraries in python. I've tried limiting the imports as much as possible, but since I only have about 50 MB of RAM to work with, I quickly run into problems. I've even tried adding virtual ram to the EV3, but it didn't work.
1) Do any of you have experience with image recognition on 'Lego Mindstorm EV3'. What libraries did you use. I might try TensorFlow, but I'm pretty sure I'll run into a similar problem with memory.
2) Do any of you have experience in implementing a simple machine learning algorithm in python, which can differentiate between images. My next try is going to be implementing a simple Neural Network. Remember I can still train the network on a big machine. Do you see any problems with this approach, and do you have any suggestions. I'm thinking just a "simple" neural network using the back propagation algorithm.
Thanks
python embedded artificial-intelligence image-recognition backpropagation
python embedded artificial-intelligence image-recognition backpropagation
edited Nov 14 '18 at 10:53
Gerhard
4,78233868
4,78233868
asked Nov 13 '18 at 16:37
TobiasKnudsenTobiasKnudsen
129217
129217
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45
add a comment |
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53285616%2fimage-recognition-on-lego-ev3-embedded-system-python%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53285616%2fimage-recognition-on-lego-ev3-embedded-system-python%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you give a little more information on your problem? Sorting e.g. Lego bricks is sometimes as simple as colour recognition.
– Dschoni
Nov 13 '18 at 16:54
Simply sorting by color isn't enough. I would like to be able to sort by size, shape and color. I've built a conveyor belt with an arm and a camera. Lego bricks are placed at the beginning of the belt, and should be placed in one of 5 outputs at the end, depending on the prediction of the robot.
– TobiasKnudsen
Nov 13 '18 at 17:22
EV3 was not designed for high performance and memory intensive numerical processing.
– Gerhard
Nov 14 '18 at 11:02
That kind of problem is not suitable for EV3. I recommend to use Tensorflow.js or the mobile version connected with an EV3 Brick.
– jabrena
Nov 26 '18 at 20:45