Технический форум по робототехнике.
Myp писал(а):видеть объект и понимать что это объект способен только человек.
робот видит только то чему ты его научил.
то есть процесс работает на оборот, сначала ты обучаешь конкретному предмету, а потом, если повезёт, робот сможет найти среди хаоса этот предмет.
Myp писал(а):понятие "объект" это чисто человеческая фигня, только человек может осмысленно разделить например стол и вазу стоящую на столе на 2 объекта.
для робота в лучшем случае будет нечто типа "столоваза", массив точек с 4мя выступами вниз по краям и одним вверх по центру.
Myp писал(а):кинект выдаёт карту глубины, не 3D объекты какие-то, а именно карта глубины пространства
вот такая малопонятная картинка
если обойти со всех сторон то получим такую же малопонятную 3D модель.
причём не какую то конкретную, а в виде массива точек, тоесть то что массив точек это шар, надо будет ещё догадаться.
вот немного про распознавание 3D
http://confpubs.ru/p6_11.php
dccharacter писал(а):Отличная идея! По итогам работы алгоритма будет собрана база из n объектов, где n = количеству кадров, захваченных кинектом. Робота можно при этом даже с места не двигать. При формате камеры 640x480 удастся получить 2^(640*480) различных изображений одного объекта с одного ракурса съемки. Повторяем все это для бесконечного количества разных ракурсов и имеем наконец нормальное представление одного объекта. После этого повторяем для каждого объекта.
Самое сложное позади.
dccharacter писал(а):Теперь когда робот обучен, остается сделать кадр и поискать его по базе.
Это будет немножко затратно по памяти, поэтому сразу предлагаю отказаться от 8-ми битных микроконтроллеров. Возьми сразу STM32. И, возможно, еще память внешнюю - можно USB-брелок или SD-карту. Гига 4 или лучше 8. Я бы остановился на SanDisk, но можно и Transcend. На других флешках ребята пробовали, но они не тянут задачи обучения/распознавания.
Dpakon писал(а):А как же маленькие дети? Ребёнок не рождается со знанием того что на него смотрит врач, он в больнице, вон там стул и стол. Детей ведь приходится учить. Я понимаю что пример немного не верный, но в общем похож.
dccharacter писал(а):Есть простое предложение. Не надо наиболее встречающихся объектов. Просто начни с алгоритма, который может отличить кошку от собаки. Ты, кстати, на верном пути. Т.е. когда комп спросит первый раз "что это?" ты ответь собака, а второй раз - кошка. После этого немножко поиграйся с параметрами и как только добьешься уверенного распознавания между кошкой и собакой, двинешься дальше. Это уже будет просто.
Angel71 писал(а):в общем вообще очень далеко похож. а насколько громадные затраты ("вычислительные" ресурсы, памяти и времени) на обучение?
Angel71 писал(а):+у человека при распозновании настолько много всяких вещей происходит, что в принципе даже сравнивать не стоит. не говоря о том, что распознование/угадывания образа - это только малая часть.
Angel71 писал(а):задача решается либо очень узко и относительно простенько, либо хотелка потребует громадных ресурсов и то пока вроде никому даже близко не удалось ничего подобного сделать и не важно, сколько миллиардов на это тратили.
dccharacter писал(а):Мозг работает сначала как выделитель объекта, а потом как классификатор. А твоя идея сыпется уже на первом шаге.
Angel71 писал(а):у мозга другие алгоритм и другая архитектура. в лобовую что-то подобное пока малореально делать, по этому во-первых и сравнивать не стоит, во-вторых нужно для конкретной задачи, эксперементировать так сказать с тем, что есть. а по сути для варианта "чудо-юдо самообучающее, скоро начнёт думать" ничего толком и нет.
dccharacter писал(а):Короче, вот робот в процессе обучения по алгоритму ТС:
Dpakon писал(а):dccharacter писал(а):Есть простое предложение. Не надо наиболее встречающихся объектов. Просто начни с алгоритма, который может отличить кошку от собаки. Ты, кстати, на верном пути. Т.е. когда комп спросит первый раз "что это?" ты ответь собака, а второй раз - кошка. После этого немножко поиграйся с параметрами и как только добьешься уверенного распознавания между кошкой и собакой, двинешься дальше. Это уже будет просто.
Если кошку от собаки тогда гдето по следующему алгоритму.
-Определяем, что объект теплокровное (пока не будем говорить о том что перед роботом может стоять просто кастрюля с горячей водой, главное отделить живой объект от маникена, для этого можно использовать два параметра: сигнал с тепловизора (ну или чего нить более простого) и сигнал о том что объект биологическое существо (т.е. у объекта бьется сердце (кстать, а каким датчиком на растоянии можно померить сердечный ритм?)))
-Определяет гавкает оно или мяукает (можно конечно и по размеру судить о том кошка это или собака, но собаки бывают и маленьких пород... вот сейчас задумался что если собаку еще можно заставить издать голос, то с кошкой такое будет проделать сложнее, тыкать кошку вилкой что бы та замяукали и тем самым индифицировала себя не совсем гуманно может как то по запаху... есть ведь телефоны передающие запахи, может стоит покапать в этом направлении?)
Пока видится только так, хотя и это надо запрограмировать, что пока для меня не простая задача.
Dpakon писал(а):Есть следующая идея для самообучаегося робота. И так, для начала роботу нужно зрение, а так же своеобразное чувство расстояния до объекта. ...
Кьюберт Фарнсворт писал(а):Dpakon писал(а):Есть следующая идея для самообучаегося робота. И так, для начала роботу нужно зрение, а так же своеобразное чувство расстояния до объекта. ...
А зачем роботу зрение?! Можно для начала использовать RFID-метки. На каждый предмет приклеить метку(собаке и кошке на поводок, человеку в трусы ). И всё, робот станет различать предметы по номерам
И никаких вопросов от робота. В дальнейшем робота можно "проинформировать": например, чётные номера - живые "предметы", нечётные - неживые. Предметы с номерами с 00001 по 00100 из одной комнаты, предметы 00101...00200 из другой, 00501...00600 - ваще из гаража. Считав метки, робот "узнает" какие вещи(номера) его окружают. "Самообучение" сводится к тому, что роботу необходимо к новому номеру добавить дополнительную информацию о предмете.