humanoid learns to detect its own hands #cec2013

21
#cec2013 humanoid learns to detect its own hands S. Harding, M. Frank, A. Förster, J. Schmidhuber idsia / usi / supsi, machine intelligence ltd Jürgen ’Juxi’ Leitner

Upload: juxi-leitner

Post on 18-Dec-2014

217 views

Category:

Technology


2 download

DESCRIPTION

My presentation at the Congress on Evolutionary Computation (CEC) 2013 in Cancun, Mexico. Abstract—Robust object manipulation is still a hard problem in robotics, even more so in high degree-of-freedom (DOF) humanoid robots. To improve performance a closer integration of visual and motor systems is needed. We herein present a novel method for a robot to learn robust detection of its own hands and fingers enabling sensorimotor coordination. It does so solely using its own camera images and does not require any external systems or markers. Our system based on Cartesian Genetic Programming (CGP) allows to evolve programs to perform this image segmentation task in real-time on the real hardware. We show results for a Nao and an iCub humanoid each detecting its own hands and fingers.

TRANSCRIPT

Page 1: Humanoid Learns to Detect Its Own Hands #cec2013

#cec2013

humanoid learnsto detect its own hands

S. Harding, M. Frank,A. Förster, J. Schmidhuber

idsia / usi / supsi, machine intelligence ltd

Jürgen ’Juxi’ Leitner

Page 2: Humanoid Learns to Detect Its Own Hands #cec2013

manipulation

our iCubsetup is for

Page 3: Humanoid Learns to Detect Its Own Hands #cec2013

SOLVED”

playing CHESS is

Page 4: Humanoid Learns to Detect Its Own Hands #cec2013

perceptionvisual

thanks to G. Metta and IIT for this picture

Page 5: Humanoid Learns to Detect Its Own Hands #cec2013

objectsdetecting

Harding et al., GPTP 2012

Page 6: Humanoid Learns to Detect Its Own Hands #cec2013

cv approachescurrent

Page 7: Humanoid Learns to Detect Its Own Hands #cec2013

coordinationhand-eye

Page 8: Humanoid Learns to Detect Its Own Hands #cec2013

visualhand detection

Page 9: Humanoid Learns to Detect Its Own Hands #cec2013

approachlearningour

Page 10: Humanoid Learns to Detect Its Own Hands #cec2013

evolutionarycomputing

Page 11: Humanoid Learns to Detect Its Own Hands #cec2013

cartesian genetic

programming

+ min dilate avg INP INP INP

Page 12: Humanoid Learns to Detect Its Own Hands #cec2013

+ min dilate avg INP INP INP

3""#2""#1"4.3"""""

Func,on"Connec,on"1"Connec,on"2"A"real"number" cartesian

genetic programming

Page 13: Humanoid Learns to Detect Its Own Hands #cec2013

icImage NaoFingers::runFilter() { ! icImage node0 = InputImages[3].min(InputImages[4]); ! icImage node1 = InputImages[1].unsharpen(11);! icImage node2 = node0.Max();! icImage node3 = node0.gauss(7, -7);! icImage node4 = node2.addc(6.71329411864281);! icImage node5 = InputImages[0].mul(node1);! icImage node6 = node3.dilate(6);! icImage node7 = node5.sobely(15);! icImage node9 = node4.absdiff(node6);! icImage node10 = InputImages[5];! icImage node13 = node10.unsharpen(15);! icImage node14 = node7.dilate(6);! icImage node17 = node9.gauss(11);! icImage node18 = node17.SmoothBlur(11);! icImage node19 = node13.min(node14);! icImage node27 = node19.SmoothBlur(11);! icImage node31 = node18.Exp();! icImage node32 = node31.erode(4);! icImage node37 = node27.mul(node32);! icImage node38 = node37.ShiftDown();! icImage node41 = node38.ShiftDown();! icImage node49 = node41.laplace(19);! return node49; }

detection

Page 14: Humanoid Learns to Detect Its Own Hands #cec2013

detection

Page 15: Humanoid Learns to Detect Its Own Hands #cec2013

handsdetecting

Page 16: Humanoid Learns to Detect Its Own Hands #cec2013

detect

Page 17: Humanoid Learns to Detect Its Own Hands #cec2013

detect

Page 18: Humanoid Learns to Detect Its Own Hands #cec2013

coordinationhand-eye

Page 19: Humanoid Learns to Detect Its Own Hands #cec2013
Page 20: Humanoid Learns to Detect Its Own Hands #cec2013

for listeningthanks

[email protected] http://Juxi.net/projects

more infos at http://robotics.idsia.ch/im-clever/