Image Recognition on Lego Ev3 Embedded System (Python)












0















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










share|improve this question

























  • 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
















0















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










share|improve this question

























  • 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














0












0








0








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










share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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



















  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

List item for chat from Array inside array React Native

Thiostrepton

Caerphilly