PHD job available in our lab

November 12th, 2008

PHd position available in
Location: University of Glasgow, Scotland
Rankine Building, Engineering
Website application form available here

Phd is funded by GRPe which is a joint venture of industries and universities, official page is here.
Topic: computational neuroscience\biophysic
Requisites:

  • bachelor degree in one of the following: engineering, physic, math, biology
  • excellent programming skills in C\C++
  • numerical methods for equation solving
  • intermediate english knowledge
  • optional: cable and compartmental neuron models

Payment: 1078 pounds x month (tax free) funded by GRPe
Optionally: living expenses included
Nationality: EU\UK

Email me for more info
epokh [AT] elec.gla.ac.uk

Example of some previous research:

http://www.epokh.org/blog/?page_id=23

Lego NXT indoor security SMS

October 3rd, 2008

This is a first prototype of a secubot that monitor my room: it controls with its ultra sound sensor if the door has been opened and sends an sms to my mobile phone.
The first version works like that:

lego nxt turtle [sensors and filters] <—- bluetooth —–> python nxt interface —-> sms gateway

The firmware is the original lego and the connection is managed by python nxt libraries and it works perfectly on linux/ubuntu (for more details on the installation just go here).
The distance sensor output is  filtered to avoid false alarms (it’s basically a 4th order band pass FIR filter).
The second version I’m working on is made like this:
lego nxt turtle | nxc program bluetooth interface< —-> bluetooth <—> mobile phone java application

the mobile phone is inside the turtle and so you don’t need internet to send sms notifications.

The is sentinel-cvs extracted from my CVS which I will set up later on.

P.S.
I used intellisoftware sms gateway but you can use your own sms gateway, if you want an account to my quebby messanger system drop me a comment.

GRP-E Conference

September 22nd, 2008

Joint Research Institute (JRI) in Electronics, Communications and Power Systems:

Electronic and Electrical Engineering

Glasgow and Strathclyde Universities

The Glasgow Research Partnership in Engineering (GRP-E) is a major programme of investment in collaborative research involving the Scottish Funding Council and the four universities in the West of Scotland. The GRP-E in Engineering aims to build world class research capability under three Joint Research Institutes (JRI), one of which is the JRI in Electronics, Communications and Power Systems.”

Poster A0 for the GRPe conference

Poster in A1 format for GRPe conference

portrait poster for GRPe

Reversing TinEye

September 15th, 2008

TinEye is an indexing engine made for finding images.
It’s actually indexing 901 million images and the retrieval time is quite fast: for the popular Lenna image in ( 512 × 512 pixels, file size: 463 KB, MIME type: image/png)

233 results
searched over 901 million images in 1.031 seconds

What algorithm make the search so efficient? Of course doing it in real time is not possible therefore the engine compare the submitted image with the database of signatures/hashes built by the tineye robots/crawlers similar to what google does with web pages.
I’ve done some experiments with the tineye search engine to estimate what features the hash function uses to compare images.
The sample image used (JPEG image, 980×306, 221.5 KB) is from emirate arabs and it’s indexed uniquely by tineye (there are indeed 20 images but they are all equal: same website with different languages).

20 results
searched over 901 million images in 0.138 seconds

The comparison signature is investigate taking the original image, processing it and submitting for search. The first approach is in the space domain and the second one in the frequency domain.

Space domain analysis

For the space analysis on the left there’s the applied filter on the original image and on the right there’s reported the number of results reported by tineye.
Gaussian noise 10×10 pixel : 20 results
Gaussian noise 15×15 pixel : 12 results
Gaussian noise 20×20 pixel: 0 results
Gaussian noise 50×50 pixel: 0 results

Pixelize 4×4 pixel: 20 results
Pixelize 8×8 pixel: 12 results
contrast 60%: 20 results
contrast 90%: 12 results
contrast 100%: 12 results
linear color mapping: 0 results
exponential color mapping: 12 results
double exponential color mapping: 0 results

dilate 1 pass: 20 results
erode 1 pass: 12 results
erode 2 pass: 12 results
sharpen 50 pixel wide: 20 results

Flips

Flip horizzontal: 0 results

Flip vertical: 0 results

Rotation

1 degree rotation: 20 results
6 degree rotation: 20 results
90 degree rotation: 0 results

Cropping

original image size 980×306

crop1 512×304 rel=51.90% Yes 22
crop2 369×304 rel= 37.41% Yes 22
crop3 237×150 rel=11.85% No
crop4 190×222 rel=14.06 % No
crop5 225×306 rel=22.96% Yes 3
crop6 225×215 rel=16.13% No

colorize

hue 200
saturation 30
light 0
Yes 12

theta1
threshold 205 to 255
No

sobel filter: 0 results

It’s very surprising to see how the hashing function isn’t robust to rotation and mirroring.
My guess is that the comparison function is based on different measure of the image, a possible guess:

  • color statistic
  • image segmentation
  • frequency domain (maybe)

and using a bayesian classifier to guess if the image is similar or not.
Why frequency domain? Because the horizzontal flip swaps the FFT coefficients (along the vertical axis) keeping nevertheless the histogram of the image equal and it tineye is insensible to it.


Indeed using a low pass filter in the frequency domain gives still positive results even if the histogram of the image is changed. I’m investigating different filters at the moment to discover more (please be patient I don’t have so much time at the moment)

Frequency domain (high pass)

I’m using an high pass filter to check if the hash take into account higher frequencies which the human eye can’t perceive. It seems that tineye consider them because I got positive results even with different histograms.
FFThigh pass 1
down to 100 pixels
up to 0 pixels tolerance 5%
12 results
fft high pass2 down to 10 pixels up to 0
12 results
fft high pass3 down to 2 pixels up to 0
12 results

Entropy

I recently discovered that the tineye doesn’t compute the signatures if the image has a low entropy: quite interesting.
For instance an image with an entropy of :

  • 0 bit
  • 1 bit

is not accepted for the hashing

Assisted computer learning: is it effective?

September 5th, 2008

I would like to asess how much efficient is to learn a foreign language using a software training program based on the approach trial-and-error. There are many scenarios where assisted learning could be executed by intelligent non-human agents: think about the most basic gym machines which guides you to achieve the correct push up or the recent golf swing assistant. The question is what a social agent ads more in term of quality in this kind of learning schemas?
The software I’m using is an open source training game for nintendo ds “JDS project version 1.30″ that teaches you the japanese writing system.

Project JDS is a tool to help you memorize the different Japanese ‘alphabets’ or hiragana and katakana.

What’s in it?
- Romaji (latin letters) to hiragana
- Romaji to katakana
- Hiragana to katakana
- Hiragana to romaji
- Hiragana writing
- Katakana to hiragana
- Katakana to romaji
- Katakana writing
- Voiced sounds
- Pronouncation of each character
- Select specific sets for learning
- Number of strokes of each character
- Animated stroke order
- Stylus operated
- Help
- Progress score

This program has recieved many good reviews and a huge donation for cancer research.

Training sessions are conducted by a subject (me) which had no previous exposure to japanese language.
The subject is 25 years old and had no previous knowledge whatsoever of asian languages. Training sessions are done every day and reported on this blog every week.

Day 1:

Katakana to Romaji (3th column: Ra RI RU RE RO):
90/100 correct and execution time 4 minutes
Katakana writing:
26/32 correct and execution time 5 minutes

Day 2:

Katakana to Romaji (3th column: Ra RI RU RE RO and 4th column Ya Yu Yo):
96/100 correct and execution time 5 minutes
Katakana writing:
xx 26/32 correct and execution time 5 minutes xx

Robot and business

August 19th, 2008

I made a question to myself: what kind of sectors in robotic are profitable nowadays for a researchers?
I came up with the following list:

  • classical robot industry: assembly on production chains and heavy work assitance
  • remote controlled application (UV=unmanned vehicle):
    • UV for the army: spy drones
    • UV for oil pipe inspecction
    • UV for space application: exploration and repairment
  • house surveillance and security
  • domotic: cleaning and assistance (i.e. food and medicine)
  • hobbyst: the well know robotic kits, the most popular is the lego kit
  • entartainment: animatronics and android like agents

Cybernetic prosthesis and awareness

August 10th, 2008

Human have been using prosthesis from long time ago. The first complex prosthesis being developed were the glasses (whose inventor is still a dispute). Artificial limbs are even older : egyptians used them to restore walking ability to amputed workers.

Artificial implants became more integrated in the human body as our knowledge increased: from the contact lenses to the cochlear implant. The cochlear implant is one of the first device that directly produce neuronal signals into the cochlear nerves. It’s amazing if you think about it. The more we go in the periphery of the body the more the electrical signals are easy to reproduce. A german company called Otto Bock, recently managed to restore full gait to a patient with full spinal cord injury embedding a transmitter and a receiver to bypass the spinal rupture (photos from the fair in Germany).

Artificial retinas are also in a good state of implementation. The problem is that: where is our identity?

The brain is a neuronal network as well as our sensor-motor network. Cybernetic principle of the embodiment tell us that our “self” is the “controller” in the closed loop. We produce neural output and sense neural input. One could say: oky the brain is the central processing unit and if you touch it you loose your identity. But think about patient with some brain injuries\malfunctions: amnesia in any forms, corpus callosum removed patient (the well known syndrome alien hand) or with cortex disorders (schizophrenia) and many others. If I loose part of my memory, am I still me? If i loose one part of my brain am I still me?

If I transfer a body atom by atom into another location, I’m still me?

This questions are very hard to answer because we don’t know our boundaries and how self-awareness is implemented into the brain. Mirror neurons are an answer only for imitative learning.

Will we find the part of the brain responsible for sel-awareness? Or it’s just our memories, encoded as echo states into the brain?

Cibernetica sociale

August 8th, 2008

Sveglio. Che ore sono? Non importa, so cosa devo fare: controllare i risultati del simulatore.

Sono due dannate settimane che ci sto lavorando, un mondo virtuale con agenti intelligenti che devono nutrirsi da risorse condivise.

Come possono organizzarsi, come può emergere un ordine da questo sistema caotico dove ogni agente apprende costantemente

e si comporta in modo non predicibile? Ho bisogno di zuccheri altrimenti svengo sono giorni che non mangio in modo decente.

Vado in cucina, un disastro, apro il frigo e afferro la bottiglia del latte. L’odore non è così allettante, deve essere scaduto.

Mi vesto di fretta e furia, esco di casa: la luce è accecante, mi abituo dopo pochi minuti. Mi trovo a disagio: è questa la realtà, sembra

tutto così artificiale, sto ancora sognando? Esco da Kelvinway e mi dirigo al negozio di alimentari più vicino. Devo attraversare la strada e allora prenoto il semaforo, le macchine al segnale si fermano e attraverso. Un evento normale e banale, ma certo! Un segnale, il rosso una convenzione, e l’autista si ferma.

La chiave è nella comunicazione intenzionale: ho voluto attraversare la strada ma prima ho comunicato la mia volontà attivando il rosso.

Questo mi ha reso più predicibile, e l’autista in base alla sua esperienza sa che deve fermarsi. Entro nel negozio compro un po di frutta, e mi sorprendo ancora: una fila ordinata per pagare alla cassa. L’ordine è così evidente. Dopotutto è vero, comunichiamo per ridurre l’entropia. Che follia! Ognuno nel suo ruolo, predicibile e prevedibile. L’uomo non ama l’incertezza, e la società è il prodotto di questo desiderio. Penso ancora al mio sistema caoitco, ora è chiaro dove devo andare a parare: la comunicazione.

Schizofrenia

August 8th, 2008

Mio figlio ha avuto ancora un altro attacco. Sono preoccupato. Voglio rifiutarmi di credere: non può essere schizofrenico.

La maestra mi ha raccontato di strani episodi accaduti in classe: Paolo si teneva la testa fra le mani urlando come se ci fosse qualcosa dentro,

gli altri compagni piangevano. Gli episodi sono aumentati e gli altri bambini accusano un certo malore ogni volta che Paolo è in classe.

Ho deciso di tenerlo con me per un pò e fare qualche accertemanto. Il dottore mi ha detto che la schizofrenia è causata dall’ipofrontalità.

La corteccia prefrontale di uno schizofrenico manifesta un attività neurale inferiore ad in individuo sano.

Mi informo di più e scopro che i recettori NMDA sono dei recettori connessi alle sinapsi eccitatorie, gli schizofrenici hanno un attività ridotta di questi importanti recettori. Non esistono cure attuali efficaci per la schizofrenia.

Dio mio, come hai potuto far questo a mio figlio.

Il dottore suggerisce una risonanza magnetica funzionale (fMRI) che dovrebbe scovare eventuali anomalie. Durante alcuni esercizi cognitivi, la corteccia prefrontale dovrebbe essere attivata, e se ciò non accade nel cervello di Paolo …..

L’analisi avverrà fra 1 settimana, nel frattempo mi prendo un po di tempo con mio figlio per cercare di capire cosa non va.

Sembra così normale quando parla e gioca, non posso ancora credere che sia schizofrenico.

The Turing test and drumming

August 6th, 2008

The title sounds strange, doesn’t it? But after reading my reflexion you will find the point.

First of all let’s introduce in brief the Turing test as reported by the Stanford enciclopedia  of Philosophy :

The phrase “The Turing Test” is most properly used to refer to a proposal made by Turing (1950) as a way of dealing with the question whether machines can think. According to Turing, the question whether machines can think is itself “too meaningless” to deserve discussion (442). However, if we consider the more precise—and somehow related—question whether a digital computer can do well in a certain kind of game that Turing describes (“The Imitation Game”), then—at least in Turing’s eyes—we do have a question that admits of precise discussion. Moreover, as we shall see, Turing himself thought that it would not be too long before we did have digital computers that could “do well” in the Imitation Game.

In particular:

Turing (1950) describes the following kind of game. Suppose that we have a person, a machine, and an interrogator. The interrogator is in a room separated from the other person and the machine. The object of the game is for the interrogator to determine which of the other two is the person, and which is the machine. The interrogator knows the other person and the machine by the labels ‘X’ and ‘Y’—but, at least at the beginning of the game, does not know which of the other person and the machine is ‘X’—and at the end of the game says either ‘X is the person and Y is the machine’ or ‘X is the machine and Y is the person’. The interrogator is allowed to put questions to the person and the machine of the following kind: “Will X please tell me whether X plays chess?” Whichever of the machine and the other person is X must answer questions that are addressed to X. The object of the machine is to try to cause the interrogator to mistakenly conclude that the machine is the other person; the object of the other person is to try to help the interrogator to correctly identify the machine

The problem I want to stress here is that identification is strongly dependent on the language we are using.

How can I infer that an entity is intelligent if we communicate in a different language, even more simple than let’s say a  verbal language? Let’s imagine that we are communication using a channel and the intelligent entity (a human or a IA) is on the other part of the channel. Let’s assume than we have a set of predefined symbols or (phonems) and the channel is full-duplex. How we can conclude we are communicating with an intelligent system (another human or a non human)?

There’s no easy answer to this problem: Luhmann suggest that communication must be based on a”shared symbolic system” but how we build it? Social interaction are based on the problem of double contingency: a mutual depedency of actions and expectations and so the shared symbolic system is based on this principle and also that social systems are based on communications and not actions. So the question is: can we really determine if the alter in the communication is a human or a non human when communication must be learned?

A very good example is the current research in progress about drumming robots, just to mention the last one i saw at BLISS 08 “Drumming with a Humanoid Robot: Results from Human-Robot Interaction Studies”: Kaspar replicate the human’s drumming but in a “social manner”: call and response interaction. The second study about dynamical turn taking: participants unconsciously adapted  their own behaviour to the capabilities of the robot. So if we are posed in front of this robot it could be remote operated or controlled by the interactive learning, we can’t determine it using this music communication.

The question is more clear if we think to the theory of communication as a mean to reduce uncertainty in communication:ego and alter in the communication want to be more predictable in the interaction (Charles Berger, Richard Calabrese) and to the constructivism theory of communication.

Those are the limit of communication, if we don’t share a system of symbols and cultura knowldge we’ll never determine if an agent is human or not or intelligent. If we would meet in future an “alien” we’ll have the same problem with communication, how do we solve the maze?

By behaviourism: if it looks smart is intelligent? if it does complex task is intelligent?

The concept of the intelligence as we pose it is so strongly coupled on the language that we will never solve this detection maze.