I saw a lot of great projects (face tracking) that people did using the Intel Edison. I have this project that I love to bring to life but as a newbie its kinda hard. So I would like to use a CMOS camera (or a webcam) as a face recognizer and then the Intel Edison has to do the live detection and then is if the face is not in the middle of the screen it has the move the servos accordingly to bring the human face to the center of the screen. The camera has to be directly connected to the Intel Edison, WiFi connection is also a possibility . Any help will be deeply appreciated.
If you want to use the webcam directly from the Edison I would suggest you to get USB webcam, then getting it up and running. Follow the next steps for that:
- Start by checking that your webcam or device to capture image/video is UVC compatible, you can check a list of UVC compatible devices in here http://www.ideasonboard.org/uvc/ http://www.ideasonboard.org/uvc/.
- You should apply external power supply to your board so that it can be used as a USB host.
- Arduino Expansion Board: apply power to J1 (power jack).
- Mini Breakout Board: apply power to J21/22.
- Check if the UVC driver is already installed, enter: find /lib/modules/* -name 'uvc'. If nothing is returned it will be necessary to install the UVC driver manually. Let us know if you're having trouble with this.
- Verify that the UVC driver is loaded and that the webcam is detected properly. Plug your board and type: lsmod | grep uvc.
- Verify that the video device node has been created by typing: ls –l /dev/video0.
About the face detecting part, you might want to take a look at this thread, . The device being used is a Galileo, but the process should be similar for the Edison. There's also a lot of material related to this topic using OpenCV, which is an open source library focused on artificial vision and machine learning. Check this link: http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html# gsc.tab=0 http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html# gsc.tab=0.
Many thanks for your fast response. Really appreciated. Sorry for the late response. Everything is straight forward so far ,but as you mentioned about the Face Tracking Intel Galileo. I read the form online and I get a little confused. See I'm a Electrical Engineer and it seems that she is working with PHyton to do the face tracking thing. I'm not familiar with Phyton at all. Could you please guild me through this a bit, is there any tutorials that is available so I could get started. Also is this code going to be burned in the memory of the Intel Edison or this Phyton code is a script that is running on the computer side (Meaning that every single time that you want to work with the face tracking you have to run the script first). Thanks for you commnet and you time.
That's ok. You don't need to be an expert on Python to be able to get this project working. There's a lot of guides about Python programming, I would suggest you to check this tutorial http://www.instructables.com/id/Getting-Started-with-Intel-Edison-Python-Programin/ http://www.instructables.com/id/Getting-Started-with-Intel-Edison-Python-Programin/.
Also, I found a much more straightforward guide to face recognition, and this one uses the Intel Edison board, http://www.intel.com/content/www/us/en/do-it-yourself/garage-content/garage-facial-recognition-instr... http://www.intel.com/content/www/us/en/do-it-yourself/garage-content/garage-facial-recognition-instr.... I hope this makes things clear or at least less confusing.
Many thanks for the fast responses. So I have purchase the Intel Edison online and I tried to flash the memory as mentioned in the Intel support video online:
https://www.youtube.com/watch?v=lDKM7UKUL5A https://www.youtube.com/watch?v=lDKM7UKUL5A , I swear that I have followed the instructions 3 times and I have done exactly the same thing that was mentioned in the YouTube video but I cant upload the arduino code to my Intel Edison board. So I have downloaded the original image from this website; https://software.intel.com/iot/hardware/edison/downloads https://software.intel.com/iot/hardware/edison/downloads . (under the Previous versionshttp://downloadmirror.intel.com/25028/eng/edison-image-ww25.5-15.zip http://downloadmirror.intel.com/25028/eng/edison-image-ww25.5-15.zip)
The Com ports are recognized in the device manager at the J16 (Intel Edison Virtual Com port 9 & the Intel Edison USB composite Device Com 10) and the J3 Connector (USB serial port 11) So when I finish the flashing of the arduino and the Putty finishes the uploading then when I connect the USB B to the J16, the driver gets recognized in the device manager but when I open the arduino IDE software the port section is not displaying the Com port that is connected. The Com Port is left blank but the board name is there (Intel Edison) . Is my board effected ?? How can I solve this issue. I'm really stuck this time. Also As fare as the Face tracking goes, How did she manage to upload the arduino and the python code to the Intel Edison. Is this possible, How ?? Any help will be deeply appreciated, I tried to look for answers online but I'm new to this board and it seems that I cant figure this one out. Again thank you for your detailed responses and spending you time guiding me through all of this.
Did you try following this guide, https://software.intel.com/en-us/get-started-arduino-install https://software.intel.com/en-us/get-started-arduino-install? The YouTube video that you mention is from 2014 so it might be outdated. Now, the Serial Port COM that you're seeing in the Device Manager is exclusively to access the Linux console, the Virtual Port COM is the one you should be accessing in the from the Arduino IDE. You should be able to upload your code if you use that port. Could you please share a picture of your Device Manager COM ports and one of the Ports available in the Arduino IDE? Both pictures must be taken with board connected.
Regarding your other question, if you have access to Linux console through Putty (Edison Serial Port) you should be able to use VI or NANO (both are Linux text editors, check this guide for VI, http://www.howtogeek.com/102468/a-beginners-guide-to-editing-text-files-with-vi/ http://www.howtogeek.com/102468/a-beginners-guide-to-editing-text-files-with-vi/) to write, paste or edit your code. A second option you have is to use WinSCP to copy your files to the board, take a look at this guide: http://rexstjohn.com/use-win-scp-to-copy-files-to-intel-edison/ http://rexstjohn.com/use-win-scp-to-copy-files-to-intel-edison/.
Hey PabloM_Intel :
Thanks for the feed back, I understood everything, the link just clarified everything else that I needed. I was able to program the Arduino last night, there were two main issue with this, one was the cable that I was using was not in a "good condition" (some time it was getting recognized on my PC and some time it did not). Also I have updated my Arduino software to the new version of the Arduino and it work like a champ. I have to really understand that how does this face tracking thing works. But I think I could handle this part, But my question is this, Can we do the face tracking Independence of a PC, can we just write the code in Intel Edison to do this task? I'm trying to make a system that is independent of the PC and it will run only on the hardware and nothing else will be connected to it. Again many thanks for guiding me through all of this. Thank you for your detailed and fast responses.
You're welcome . About your last question, do you mean build the application without using any IDE? Yes, you can make the whole application without the need of a computer. I think using an IDE to upload your code to the Edison board is easier than writing, compiling and running everything directly from the Edison, but it's possible.
As you mention,You should apply external power supply to your board so that it can be used as a USB host.
After I switch the switcher to USB host. Can I still use the USB client port as power supply, when I hook up a webcam?