Thursday, June 24, 2010

BeagleBoard Stereo Camera on Flickr


A while back I made my BeagleBoard dual-USB stereo camera. Gstreamer is set to capture single frames in this mode and no video synchronization etc. is performed. Gst-Opencv is now installed on the beagle and I might try chaining in some colour detection, but I will wait this opencv-dsp comes along. Getting the images out of the board over scp/sftp was proving to be a pain, so I decided to install a flickr upload script in Python. Apparently the same trick can be done using cUrl with this REST endpoint, but it did not work out too well for me. The USB wireless modem from yesterday works as a perfect network link to push out the images captured by webcams.

Now I can produce unlimited amounts of stereo samples on Flickr for people to compute disparity maps. I will also put on an IR filter on one of the cameras and try capturing some 4 channel images at a distance where the perspective is not such an issue.

Wednesday, June 23, 2010

Introducing the Dog to the world - Prolink PHS101 modem on BeagleBoard

I seem to have sprouted an impromptu holiday to Fiji. So tonight ended up a rush in completing my papers for IGARSS 2010 in Hawaii. Time has passed so very fast. Some of my colleagues who started their PhD at the same time as me have written 1/3 of their thesis already. I in my turn have been distracted by life and side projects, but overall the extra curricular activities have made my PhD life much much more interesting.

While copy pasting content from my original draft into the conference template I decided to have another look at the tricky dual-device USB based 3G modems. The Prolink PHS101 is plugged into the BeagleBoard and appears as a pesky CD device on /dev/sr0, you can use mount -t iso9660 /dev/sr0 to access this device. The newer kernels fortunately and unfazed by this, using eject /dev/sr0 gets rid of the CD device and loads up the usbserial driver with the right vendor options to make it appear as 3 serial devices on USB. I did not have to use usb_modeswitch, though I managed to native-compile and install it on the beagle.

Only 1 of these 3 is a functional internet device. In Australia the wvdial.conf to make use of it looks something like:

Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
username = username
Password = password
Dial Command = ATDT
Baud =460800
Init4 = AT+CGDCONT=1,"IP","vfinternet.au"


Then I hit another brick wall, there is apparently an issue with wvdial which prevents it from working on arm based platforms. Modem-Manager and NetworkManager can be tasked into filling the hole left by wvdial. A bit of snooping with AT commands and ModemManager shows up the Qualcomm heritage of the chipset.

root@beagleboard:~# microcom /dev/ttyUSB0
ATI
Manufacturer: QUALCOMM INCORPORATED
Model: C-180
Revision: 120016_062_001         1  [Feb 09 2010 23:45:26]
IMEI: 358093021714293
+GCAP: +CGSM,+DS,+ES
OK


 Wonder how soon I will be able to connect up using this.

PS: After finishing off my IGARSS papers I finally managed to get it going with  a melange of dbus,nm,mm and pppd. So this modem officially works on the BeagleBoard, hurray!!

Monday, June 21, 2010

Ubuntu on Hawkboard and Statistics on SAR


The mind is a massively parallel device - at least at the neuron level. I am always doing multiple things simulataneously. Multiple in the sense of intellectual heritage, yet unified in a sense that I am doing something that interests me and I might as well call it an unique discipline - how to see at all parts of the spectrum or how to get to mars. In essence it is domain unified.

Last few days I have been looking at arm twisting the low-power DSP on the hawkboard into doing some image processing. Porting OpenCV to the DSP on beagleboard seems to be proceesing pretty well. I will have to build that and give it a try. For now I am satisfied setting up a dsplink enabled kernel and Ubuntu image from an SD card. The root image does not contain UVC drivers so I can't use my USB cameras, but at least the Hawkboard is operational. Time to switch attention to the BeagleBoard and give the dsp enabled opencv a whirl.

On the otherside I did some eigen decompositions of dual-polarimetric TerraSAR-X and PALSAR and noted how wildly different grasslands appear at L-band vs X-band. While L-band sees predominantly surface scattering, X-band is carried away by volume scattering. The X-band VV channel seems statistically most responsive to the pasture biomass, but the confidence of my statistics with only 33 sample points is rather rudimentary. The pastures are fairly dry (10% moisture) as opposed to wheat I have worked with in the past (50-60% moisture), this significantly reduces the radar cross-section and the net backscattering needs to be explained in terms of additional parameters. In this case there is significant influence from surface roughness and moisture content, backscattering increasing with increasing roughness and decreasing with increasing moisture content. Where the entropy is low I will investigate the negative-alpha filter for retrieving soil moisture.

In dual-polarimetry the alpha angle contains ambiguity and can often be misrepresented as multiple scattering. This ambiguity cannot be resolved without considering the  actual targets of interest.

Friday, June 18, 2010

Chicken and Egg - SAR Data and Field work Data

In SAR Remote Sensing you often end up with rather chicken and egg scenarios. There is the empirical application oriented school which focuses on producing parameters like biomass and soil moisture from SAR backscatter, the other school is the electromagnetic simulation school which focuses on producing estimates of SAR backscatter from parameters gathered from fieldwork. My PhD aims to reconcile these 2 schools for dual-polarimetric SAR systems in L and X band. For all practical purposes this has become ALOS-PALSAR and TerraSAR-X data analysis. Though there is some chance of using the ProSensing PLIS system in L-band.

Forest study for biomass estimation and Soil moisture at L-band is well established due to the ERS sensors - Preliminary analysis of ERS-1 SAR for forest ecosystem studies. The same applies to C-band thanks to ENVISAT, RadarSAT etc. The use of X-band for these scenarios is relatively new and I am hoping to break new ground.

The PLIS system is currently producing bright curves from corner reflectors that everybody seems to be very excited about. Other things I am not excited about is the $1000 phone bill from few hours of internet browsing in Singapore. It looks ridiculous, 2 minutes costs some $100. I could have so easily used the freewifi from - wireless@SG. Also feasible is getting a cheap local sim, things to remember before I plug my modem in.

Wednesday, June 16, 2010

Torturing Data and Helicopters - Multivariate L/X band Regression

If you torture the data long enough, it will confess - Roland Cease. I have been messing with some PALSAR and TerraSAR-X backscatter over pastures for a while now and only reasonable relationship between field data and backscatter seems to be in the soil roughness. There are lots of explanatory variables for the strength of the backscatter and 2 response variables in different polarizations in the SAR. The challenge is to relate the impact of the explanatory variables measured at the relatively few field sites to the observations in the radar.

There are some interesting instances of EM38 usage where the readings are high due to proximity to power lines and the readings are high in the SAR due to scattering from the same. These match ups have nothing to do with soil moisture but everything to do with electromagnetics.


The mostly carbon fibre quadcopter has sprouted lots of aluminium extensions and will have a sizeable RCS now. Hopefully it will have sufficient power to fly. Something that definitely does not have enough power to fly is my little contra-rotor with the spy camera and 9V battery attached.

I will have to try flying the heli without the large 9v battery and just with some button cells stacked up to provide the same. Now there are rechargeable button cells from Telong making it feasible to deploy the camera with same recharge cycles as the helicopter main battery.

Saturday, June 12, 2010

Impulse shopping in Singapore and the PC Show

After 4 hectic days in Jakarta I came into Singapore and checked into the Park Royal on Kitchener road near Little India for some much needed R&R. Before I got there I had to negotiate some pretty nasty taxi queue and rush hour Jakarta traffic.

The hotel was quite nice the last time, but this time it was very very full and they put me in a room with a leaking bathroom. I wonder if social media bad mouthing can earn me a free night. It got patched up after a few rounds from housekeeping.

Emmanuel is my local events guide for Singapore. On his recommendation I went to the PC show in Suntec. Technology temptations are hard to resist, I got lured into buying an eeePC Sea Shell series ( blogging from it now), a Prolink USB HSUPA Modem, some SD cards, a Dlink wireless camera with iPhone interface and a 2.4Ghz raw mode wireless video camera.

The raw video camera is quite small and light but it produces composite video instead of IP based video streams. Some culinary experimentation followed. Eventually I ended up at Emmanuel's place. The discussion centred around adding multi-resolution and tile based processing in OTB-Monteverdi to produce something similar to Imagelinker that Ossim has with more functions from OTB's ITK heritage. The design needs to be finalized but some interesting features will be chain serialization similar to ossim specification files, unified filter interface allowing visual chain editing, a plugin architecture allowing dynamic component loading. Orfeo already includes all of ossim code, it will be a matter of placing appropriate calls and establishing a filter signature - lots of boring facade coding in the horizon.

Monday, June 7, 2010

Long day in Jakarta - somehow it is rainy season

I flew into Jakarta last night and spent a few hours at immigration. They have implemented finger printing of both hands and thumbs separately. The system is not quite accurate so people have to do 2 or 3 tries before it picks up properly. Thankfully the check for me said no alerts, and then an alert did pop up - no disc space to complete this operation. All the fingerprinting needs to be repeated since there is apparently no room to store the already recorded ones.
Then we did some electronics shopping at Glodok Plaza and attended a meeting. The way to the meeting was tortuous. The cab driver did not know where we were going. So after an hour of driving we had to let him go. It was pouring down at the time and even though we did not reach the destination at least we were dry. This would not have been the case in the next means of transport we had a crazed cross traffic blast in some motorcycle taxis. At least it was an eventful day. On the way we saw some very nice hand drawn art on the street. I really want to get the Einstein.

Sunday, June 6, 2010

Getting trees into Feko - just simple ones

The Feko Lite edition has a triangle limit of 300. This makes it impossible to simulate big structures like trees at X-band. I can probably just scrape by some wheat leaves. The approach so far has been to produce a few level of branching with ngPlant and saving this to lightwave obj. NgPlant is an opensource specialized tool for plant modelling using parameters such as declination, phototropism, order of symmetry etc.


I made a very very small spiky tree to test integration with Feko Lite. The obj model was converted to STL mesh with Blender. Using blender with ngPlant also allows creating optical renders of the scenes being simulated.


Feko handles the simple model well enough. I did some plane wave simulation to estimate RCS. Then I can look into SAR image synthesis.

Friday, June 4, 2010

Coming close to beating Alzheimers - Runners up in school 3MT

We had a small 3 Minute thesis competition today for Electrical and Electronic Engineering school. We had more contenders than any other school in engineering. Either we must do the most interesting stuff around or we are the most foolhardy. The winning presentation discussed the possibility of definitive diagnosis of Alzheimer's Disease using Terahertz spectroscopy. Gretel engaged the audience and demonstrated real commitment to her research. Luke won the people's choice award and 2nd runner's up with his quickfire presentation on MIMO RADAR and how it can prevent your car from being hit by missiles while it is speeding down the runway trying to fly.

I am neither the most popular and nor the best presenter according to the judges, but I can still present at the Engineering, Computer Science and Maths heats for a spot in the University wide 3MT round. I was the 1st runner's up with my spill on the penguins. Here is the text as it was first written, what came out of my mouth at the presentation I don't know myself.

If you have seen happy feet you may think that all penguins live on ice, but this is not the case. These royal penguins live on the rocky and muddy shores of Macquarie island in the sub-antarctic which is administered by Tasmania. Apart from the penguins there are 20 to 40 scientists from Australian Antarctic Division and about 100,000 rabbits. Rabbits were introduced by the whalers in the 17th century. These rabbits eat all the vegetation on the steep slopes leaving the penguin rookeries vulnerable to landslides. The harsh terrain and harsher climate of the island makes it difficult to monitor the vegetation on foot. So the scientists turned to satellite imaging. These days everybody is familiar with satellite imagery from Google Earth, they indeed used Quickbird for a stunning image in 2007. In 2008 and 2009 however the optical sensor failed to deliver and all the images were cloudy, so the Antarctic division asked me to have a look using Synthetic Aperture Radar, TerraSAR-X. which is basically like a camera with a microwave flash which can operate at night and goes through clouds. So we had a perfect cloud free image, but like with X-ray which goes through flesh to let you see bones, the radar goes through clouds to give you a microwave view of the vegetation. Without special training people find it hard to interpret radar images. Newton said “If I have seen further it is by standing on the shoulders of giants”, I am seeing into radar by standing on shoulders on the statistics and electromagnetics giants – Gauss and Maxwell in this case. In fact on a pyramid of giants who have developed radar theory to the state it is today. My research has successfully identified the different vegetation types and the bare areas, as well as the biomass and height. The Antarctic division is planning to use this technique to track the progress of the 25 million dollar rabbit eradication program and vegetation re-establishment. My work has also been used to predict yields in various crops, such as canola and to identify cleared land in rainforests. Development of these techniques has a huge impact on how we see the vegetation covering the world.

Wednesday, June 2, 2010

Keeping a level head for 3 minutes - Arduino Razor IMU

It has been a really tough week, to cap it all off my passport has gone walkabout. On Friday my 3 minute thesis competition is coming up and I have been rattling off prattle about penguins and farmers in front of my iPhone timer. So far I either take 2 minutes or 3.5. The idea is to talk about the work on vegetation in Macquarie island while gaining sympathy points for trying to save wildlife. SAR is difficult to interpret by humans and we stand on the shoulders of statistics and electromagnetics founders such as Gauss and Maxwell. Ultimately the full importance of vegetation parameter retrieval.

If I can keep a level head for 3 minutes then it should not be too hard for an Arduino to give me 50 stabilized attitude readings per second. I recently acquired the 9DOF Razor IMU and works quite nicely with the supplied Python scripts. I attached to my heli and flew it around a bit, no major pushes due to the magnets in the motors. Next I will attach an Xbee to it and stream the attitude data out of the heli.