Store › Forums › Video Experimenter › General Discussion › Object detection with increased resolution by adding SRAM?
- This topic has 8 replies, 4 voices, and was last updated 11 years, 10 months ago by copterrichie.
-
AuthorPosts
-
March 26, 2012 at 6:40 pm #454stuincanadaMember
Hi
I’m new to Arduino, so apologies if this is a dumb question. Using the video experimenter I am wondering if it is possible to detect an visible ‘beacon’ that could be 30 feet away from the camera, and its about 4-6 inches square. I can make the beacon whatever design I like to make it easily visually identifiable, but I still think that the resolution from the video experimenter will not be high enough to detect the beacon at a distance. While it may be possible to add a zoom lens to the camera and get it to scan the scene, and only show a low-res window of the zoomed part of the scene, but I thin this may be quite slow to find the beacon.
I think I understand the basic limitations of the video experimenters resolution – being limited to 2k of Arduino SRAM memory. I have read a few articles about people adding much more SRAM (theoritically upto 2Mb), such as http://majolsurf.net/wordpress/?page_id=1001 and others. Do you think it would be possible to increase the resolution upto say 640×480 if I had more memory? And would it be reasonably fast to scan through potentially 10x the pixels than in your example?
Thanks for any suggestions… I think you have a great product that lots of people will find really interesting things to do with it.
March 27, 2012 at 2:19 am #890MichaelKeymasterNot a dumb question at all. You’re right that the memory of the Arduino is a limiting factor for resolution. Adding external SRAM seems like it would help, except that it takes too long to access the memory. The frame capture and video generation requires very high speed code (that’s why it’s in assembly) to be fast enough. When capturing a frame at low resolution (128×96), the code only has 6 instruction cycles to read the analog comparator register and store it in memory. To do higher resolution would require us to do this in 5 or 4 cycles (the time it takes the scan line to cross a narrower pixel). Low res means wider pixels, which means more time to do the work required. Bottom line: memory is a constraint, but so is speed. Make sense?
April 24, 2012 at 4:22 pm #892abhinavjainMemberHi Michael,
How about using chipkit uno32 ( http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32)? It has 80 Mhz processor plus much more sram. Plus it is reported to be compatible with arduino sketches. Do you think with this we could go for higher re solution?s
April 24, 2012 at 6:56 pm #897MichaelKeymasterI had thought of the UNO32, also, and I now have one. It is reported to be compatible, but it is really not. Only for the simplest of sketches, and it’s not compatible with many shields. Also, much of the Video Experimenter code is written in AVR assembly, so it would need a total rewrite.
I wrote up an article about compatibility here:
http://nootropicdesign.com/projectlab/2011/11/01/chipkit-uno32-review/May 4, 2012 at 6:20 am #858abhinavjainMemberHi Michael,
Thanks for the reply. I got the shield last week and it is fantastic. However I’m finding existing arduino really low power for my use in image processing. I read the article and it seems like by chaning the D6 to D11 on chipkit Uno32 and rewriting gnarly AVR assembly can solve problems most of are facing. HAve I missed a point?
Plus UNO32 it will improve the resolution as well and will open doors for new ideas and applications. If you could guide me how to rewrite gnarly AVR assembly for UNO32, I can do it and release for everyone else. I’m a chemical engineer with no formal mcu programming training however I believe I can do it.
-AJ
May 4, 2012 at 3:42 pm #859MichaelKeymasterRewriting the TVout library for PIC microcontrollers is no small task, even for a seasoned programmer. I’m afraid I don’t have any PIC assembly experience, so I’m not the right guy.
In theory an LM1881 chip should be usable with the UNO32, but as you said, the wiring would be different. Not sure if the wiring can be changed to make the shield work on it.
May 6, 2012 at 10:19 am #982abhinavjainMemberThanks Michael,
I thought upon how to make our life simple with this issue and i am thinking following should be the easy and best option-
‘If we use an arduino uno and a chipkit uno32 or even arduino mega with high sram, and connect them using I2C, then we can use the video shield for video capturing on uno and transferring it to uno32 or mega for further video processing.’
Do you think this will be a good option as we could avoid rewriting libraries and at the same time utilize the power of two mcu?
May 6, 2012 at 11:09 am #983MichaelKeymasterWell, you could do that, but I’m not sure what you think you can do on the ChipKit that you can’t do on a Mega. The Video Experimenter doesn’t work on a Mega, but can work on a Seeeduino Mega.
See this: http://nootropicdesign.com/projectlab/2011/07/13/ve-on-the-seeeduino-mega/What “video processing” do you want to do? Why do you need a faster processor?
January 13, 2013 at 9:08 pm #1570copterrichieMember@abhinavjain wrote:
Hi Michael,
Thanks for the reply. I got the shield last week and it is fantastic. However I’m finding existing arduino really low power for my use in image processing. I read the article and it seems like by chaning the D6 to D11 on chipkit Uno32 and rewriting gnarly AVR assembly can solve problems most of are facing. HAve I missed a point?
Plus UNO32 it will improve the resolution as well and will open doors for new ideas and applications. If you could guide me how to rewrite gnarly AVR assembly for UNO32, I can do it and release for everyone else. I’m a chemical engineer with no formal mcu programming training however I believe I can do it.
-AJ
What are the chances of porting this project and library over to the STM32 Chip?
-
AuthorPosts
- You must be logged in to reply to this topic.