I am an academic computer scientist, conducting research into automatic analysis of bird sounds using machine learning.
—> Click here for more about my research.
Inspired by my recent trip to India, tried some more Indian cookery tonight.
The main lesson I learnt this time was about amchoor - a powder made from sun-dried green mangoes.
Ah no, the main lesson was actually how to eat curry one-handed using a chapati. But I've definitely not mastered that one yet.
Anyway amchoor has a nice clear flavour and is used in some Indian cuisine to add fruity zestiness to a dish without making the dish too wet. The top hit from this evening's meal was amchoor chana (chickpeas with mango powder). An otherwise simple chickpea curry is made zingy by a generous teaspoon per person of amchoor cooked in.
I'd like to get better at dhals too. Although a basic dhal is easy - just simmer some lentils/pulses for a while, with some spice - I haven't got the hang of the different types of pulses and how you'd use them. Here we were using a recipe which called for a mix of half red lentils, and half mung dal (mung beans). It gave a good gloopy texture.
My thanks to Samira Agnihotri, who kindly gave me some home-made amchoor!
For anyone trying Veganuary this year, or just working out how to cook vegan more often, here are my tips of some handy recipes!
Tofu scramble - really surprising how nice this is. It's a replacement for scrambled egg - of course you can tell the difference, it's totally different - but you might like it as much as I do. Warm a little bit of oil in a pan. Add a pack of tofu (drained) and use your spatula to break it up into rough pieces. Add a splash of oat milk, and a generous teaspoon per person of turmeric, and continue to stir it around and break it up until it's in scrambled-egg-sized pieces. Near the end of cooking, add a sprinkle of nutritional yeast ("yeast flakes"). Serve on bread/toast just like you would scrambled eggs.
Fake fish and chips - easy and popular
Pad thai - watch the video!
Sticky shiitake mushrooms (quick)
Beetroot wellington - a bit more involved, for a Sunday lunch.
...and for more convenience: Vivera's meat-like things are great (shawarma), and Taifun's tofu is great (the black forest flavoured one is quite sausagey, the garlic one is nice, and the basil one is good for italian)
Some Dutch phrases I've been picking up:
Hoe heet het?
Two flat mushroomy tarts, really easy to make and vegan too. This recipe makes "half of one half of the other" but you can concentrate on just one or the other if you like.
The creamy one is a bit more savoury, while the tomato/pepper one is sweeter. They complement each other nicely.
Serves 2, takes 40 minutes (but the second half is just waiting, so you can do other things).
Preheat the oven to 200C, 180C fan.
Divide the pastry into two rectangular pieces, place it on a baking tray, and put something on top to weight it down a bit while it "blind bakes" in the oven. We just used some tin baking dishes (doesn't need to be too heavy). Put this in the oven and blind bake for 15 minutes. Meanwhile, prepare the toppings.
Warm up some olive oil in a large frying pan. Slice the mushrooms thickly and add them to the pan. Fry for a few minutes. Slice the red onion and add it. Fry it for another few minutes, stirring, until the onion is nicely softened.
Divide the contents of the pan in two, i.e. move half of it into a separate pan. Add the pepper to one pan, and the garlic and thyme to the other. Continue to fry a little more, but not too much. (It'd be nice to get a bit of colour on the pepper if you can.) Chop the sundried tomatoes, and add them to the pan that has the peppers.
When you take the pastry out of the oven, discard the weights on top.
On one pastry, spread the Oatly creme fraiche, and then spread on top the contents of the garlicky pan.
On the other pastry, spread the contents of the other pan. Also, take the jar of sundried tomatoes, and carefully sprinkle some of the liquid (i.e. tomato-infused oil) over the top.
Season with pepper if you like.
Bake these pastries in the oven for about 15-20 minutes.
I had a great time at the Biodiversity_next conference, meeting a lot of people involved in Biodiversity informatics. (I was part of an "AI" session discussing the state of the art in deep learning and bioacoustic audio.)
I was glad to get more familiar with the biodiversity information frameworks. GBIF is one worth knowing, an aggregator for worldwide observations of species. It's full of millions and millions of observations. Plants, animals, microbes... expert, amateur, automatic observations - lots of different types of "things spotted in the wild". They use the cutely-named "Darwin core" as a data formatting standard (informatics folks will get the joke!).
Here's my first play at downloading some GBIF data. I downloaded all the data they've got about rose-ringed parakeets in Britain - the bright green parrots that are quite a new arrival in Britain, an invasive species which we can see in many city parks now. I plotted the observations per year. I also plotted a second species on the same chart, just to have a baseline comparison. So the parakeets are plotted in green, and the other species (common sandpiper) in yellow:
Many caveats with this data. For a start, each dot represents an "observation" not an "individual" - some of the observations are of a whole flock. I chose to keep it simple, not least because some of the observations list "5000" birds at a time, which may well be true but might swamp the visualisation! Also, some of the co-ordinates are scrambled, for data-privacy reasons - you can see it in the slight grid-like layout of the dots - and some are exact.
Further, I don't think I have any way of normalising for the amount of survey effort, at least for most of the data points. There seems to be a strange spike of parakeet density in 2009 - probably due to some surveying initiative, not to some massive short-term surge in the bird numbers! I think if the numbers really had increased eight-fold and then fallen back again, someone would have said something...
Regarding "survey effort": GBIF does offer ways of indicating survey effort, and also "absences" as well as "presences", but most of the data submissions don't make use of those fields.
The sandpiper data fluctuates too. There's definitely an increase as time goes by, primarily due to the increasing amount of surveys adding to GBIF. That's why I added a comparison species. Even with that, you can clearly see the difference in distribution between the two.
Here are some notes from conversations I had about solar PV mapping:
I had a good talk with the people from Mapillary. Mapillary have a good collection of street-level imagery, they do automatic detection of objects, and they are already integrated into OSM (e.g. a Mapillary JOSM plugin helps people to use their imagery and even their auto-detections). Note that they're a private company and so I guess they don't share their ML methods or pre-trained networks, though they do explicitly share imagery (and some of their detections) with OSM. They do NOT currently have a tag for solar PV or suchlike. Here's a plan:
In the UK we've mapped solar farms with the power=plant tag, which is good because it makes them clearly different from the individual solar panels tagged as power=generator. However, around the world this isn't the case. Lots of people have mapped solar farms with single large power=generator tags. This is not necessarily terrible because we can identify large objects when we postprocess. It's problematic if people are using single nodes to mark solar farms though, since it's hard to tell the difference between a 10 kW and a 100MW installation without more detail. I hope we can convince the wider community that our way of tagging (which comes directly from the established power tagging) is the way to go.
I met Julien Minet who had created a highly detailed service for the city of Brussels. The city commissioned a LiDAR survey of all the buildings, giving them a very detailed 3D model. The developers used this model to predict the solar energy yield for every single roof part (can be multiple on each building!), and made this into a very nice app for people to predict their personal projected benefit of installing solar PV. This is the kind of detail that only a well-organised city can feasibly manage... It's a high-res version of what "open solar map" did for France, which is a more scalable example.
How to vectorise blobs from pixelwise detections... it seems it's fairly common knowledge. QGIS at least has a function for it ("polygonize") which offers at least a starting point, though it's very simple-minded (it traces all the edges of pixels - you need to run a "simplify geometries" afterwards). Facebook's new "rapid" ML-assisted editing tool proposes building shapes for the user to add, so they are doing the process too somehow. (I'm pretty confident they're doing that as postprocessing, not some fancy ML that directly spits out geometries.) I don't know which are the current leading methods for this.
There's lots of latent interest in trying machine learning detectors on aerial imagery - I saw a couple of talks about doing this for other purposes. Largely using methods we'd recognise from other work (i.e. convnets). I saw a talk from IBM using CycleGAN which seemed to me a very odd choice of method, I'd not recommend that! On the other hand, I started to wonder whether we should be organsing a small-scale-solar-PV-detection data challenge. (We don't need to worry about detecting large-scale solar, there's existing work on this already.) We've got sufficient annotations for the UK now to make ML training sets - I guess the key question is whether we can get good enough imagery, and whether it's something that'd be of benefit. We could use aerial or even streetside imagery. As well as Mapillary I chatted to Maxar (aerial imagery providers) - the Maxar fellow mentioned a US company/charity called something like CrowdSpark (I THINK - or maybe it was a different company) that has organised data challenges related to development/aid. If we did put together a data challenge, what approach would be most likely to lead to detections that (a) could help us complete the UK, (b) would help us to scale globally? I don't know if this is worth pursuing though - can perhaps simply rely on existing object detectors rather than assuming it needs novel effort - TBC.
I caught up with Jerry (SK53) who was a key player in the OSM UK solar mapping. Didn't manage to catch up with Jez Nicholson - somehow we missed each other!
Overall, there was lots of enthusiasm for the idea of mapping all the solar PV, and I'm really glad to have been at SotM to talk about it.
The OpenStreetMap UK community has come together for a 3-month "quarterly project" to find all the solar panels in the UK. And the results so far... wow!
-> We've just reached over 100,000 standalone solar PV installations mapped in the UK!
-> Plus we also have almost 600 solar farms mapped, representing almost 5 gigawatts!
To give you an idea of completeness: the UK government believes there are about 1 million solar panels in the UK, and official solar farm listings have about 8 GW. What we've mapped so far is way more than I thought we'd manage, so I really deeply want to thank every person who contributed, large or small. We can use these data to pilot CO2-saving initiatives - and so can anyone else. Open data for the win!
Here are a couple of simple plots from me, to show where the items are in the UK. (The data I've used are from yesterday, which is why my plot says not-quite-100,000 items.) I've plotted two different types of item: (1) "standalone" solar panels (i.e. ones that are not inside solar farms); (2) solar farms. You'll notice the distributions are really different:
Some of the darkest blobs on the map are evidence of focussed effort. I know that Jerry (SK53) has been mapping around Nottingham, Cornwall and other areas, so may be the source of some of these blobs. We've shown that with some local effort, and a bit of scanning through imagery, a lot of this can be done.
You'll notice that many of the solar farms are in the southern part of the UK, at least according to our data. That's not unexpected!
For more detailed data breakdowns, you can peruse Gregory Williams' solar mapping analysis site.
We have more time to go until the end of the quarter... and we'll be able to use the data for sustainable energy projects whenever you contribute - so please do join in!
The 2019 International Biocaoustics Congress (IBAC) was its fiftieth year! And it was a very stimulating conference, held in Brighton and organised by David Reby and a lovely team of co-organisers. Shout out to Eilean Reby who designed a really neat visual identity for the conference, with T-shirt and bags designed for everyone - we had a choice of designs featuring bat, bird, insect, fox...
It was my third IBAC (after IBAC 2015 in Germany and IBAC 2017 in India) and I was very happy to chair a session on advanced computational methods, and to see some great work in there. In this post I'll make notes of other things I saw.
Our QMUL bird group presented their recent work. Lies Zandberg spoke about her great work with Rob Lachlan, as part of our project to understand sound similarity from a birds' point of view. Mahalia Frank presented her studies (her PhD with David Clayton) on the neuroanatomy that might explain what zebra finches can hear while still in the egg.
The most shocking bird news, for me, came from the superb lyrebird. Now, the superb lyrebird is a famously showy Australian songbird - the male does this bizarre-looking dance on top of a little mound he's built. The shocking revelation was in Anastasia Dalziell's talk about her studies on the lyrebird's mimicking song. She showed us evidence that the song incorporates sounds from other bird species' mobbing calls (i.e. what groups of birds do when there are predators about), and further, that this mimicry might have evolved to con the female lyre bird into staying around for some copulation when she may be on the verge of wandering away. It's one possible way that complex mimcry might arise through evolution (antagonistic co-evolution) ...and it's very odd behaviour.
Also making a splash was ... RoboFinch! A very eyecatching piece of work presented by members of Katharina Riebel's lab, as part of a project called "Seeing Voices". Ralph Simon presented about the technical development, and Judith Varkevisser on her vocal learning studies. The idea is to explore how the visual modality affects vocal learning. They tried various things: young birds housed with the tutor, or watching the tutor from the next chamber, or hearing him only; or showing videos of the tutor to the young birds; then a "hologram" (a Pepper's ghost) bird... Then they went as far as building lifesize animatronic zebra finches, with robotic heads/beaks and colours painted to match the exact colour profile of real birds. It seems the young birds really do like to get along with RoboFinch, much more than the other methods, or the traditional audio-only "tape" tutoring.
We all like a clever and informative data visualisation technique. A few years ago it was Michael Towsey's "false colour spectrograms" I was excited about - and we saw some use of those at IBAC 2019. A new visualisation was Julia Hyland Bruno's work (part of her PhD with Ofer Tchernikovsky) - surprisingly simple, she renders many different renditions of a zebra finch song as a colourful image in which each row is a colour-mapped time series for one rendition. With a bit of judicious alignment, the effect is to give an immediate visual impression of the repeatability and the structure in the song. A paper showing the technique is here.
I continue to be interested in rhythm and timing in animal and human sounds, and IBAC is a good place to catch some research on this.
Good to catch up on large-scale and ecoacoustic monitoring too.
As usual for IBAC, I learnt some amazing things about bioacoustics outside the realm of birds. Some great bat work represented, e.g. from Sonja Vernes' group (I remember IBAC 2015 when I think she might have been literally the only person talking about bats).
One little observation: both Julie Oswald and Jack Fearey had used a neural net called "ARTwarp" to cluster the vocalisations in their whale data, to try and understand their repertoires. I don't know this method, but it seems to be an unsupervised clustering method incorporating time-warping - might be of interest.
And even more, I continue to learn from the weird world out there beyond the vertebrate animals. Amazing little insects that nibble holes in leaves, for example, so that they can create little acoustic cavities to broadcast well. The most out-there bit of acoustic communication was as follows... a type of ants drilling holes in acacia tree thorns, which then create a whistling signal in the wind, to scare away cattle. Even better, the researchers are currently tested this hypothesis by drilling thousands of little holes in trees in Africa, to see if the reduced whistling affects the cattle behaviour. (This was presented by Kathrin Krausa on behalf of Felix Hager.)
Oh one more thing -- the vocal imitation competition had some fantastic results. As the final event of the entire conference, we listened to a deluge, a menagerie of inexplicable animal sounds that had been imitated by IBAC attendees themselves. This could become a fixture in the calendar...