Оглавление:

Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 шагов
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 шагов

Видео: Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 шагов

Видео: Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 шагов
Видео: Truck Campers for Adventurous Travelers: Top 10 Picks 2024, Июнь
Anonim
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android

ОПИСАНИЕ

О интуитивно сделать проект é дар автономии для дефицитных визуально se locomoverem em ambientes Indoor como casas ou торговые центры и аэропорты.

A locomoção em ambientes já mapeados pode ou não ser рассмотрение um проблема bem resolvido. Um aplicativo disponível the App Store for isso, ainda que sirva apenas para 3 ambientes e apenas no EUA, or LowViz Guide. Além do limitado número de locais, tal aplicativo não detecta Possíveis obstáculos e pessoas que Possam estar no caminho do usuário. Assim - это миссионерский проект, атравный визуальный и вычислительный образ, идентифицирующий возможные препятствия, которые могут возникнуть в результате хирургической операции, ао лонго, сделать caminho do usuário e poder recalcular o caminho a ser seguido dando independência e usuáderando. Na prática, o projeto, embora ainda incompleto, consiste em integrationr um aplicativo de onde se pode submeter ou desenhar uma planta baixa do local de interesse, seja uma casa ou shopping. Com a placa integrationda a uma câmera na cintura do usuário, e um fone de ouvido, o aplicativo Calcula a posição no ambiente e permite o usuário Definir para onde quer ir e dá comandos de voz para movimentação. Камера, quando detecta um obstáculo a frente, pode recalcular o caminho do usuário. Como dizia Hugh Herr: «Nenhum indivíduo é incapaz, o que existe é falta de desenvolvimento tecnológico para Capacitar e nos tornar iguais».

Neste projeto usaremos a Dragonboard 410c, Precisamos de um hardware que tenha capacity de fazer or processamento de imagens em tempo real (sem ter de comptir com outras aplicações como seria no celular) и ao mesmo tempo seja de baixo custo.

Шаг 1: Материя

Materiais
Materiais

Para este projeto vamos utilizar:

- установка для Qualcomm Dragonboard 410c;

- Библиотека обработки изображений OpenCV (версия 3.1);

- câmera que se comunique com a placa (usaremos na verdade um celular android com o aplicativo IP Webcan);

- сотовая система Android для приложений;

Шаг 2: Установите OpenCV на Dragonboard

Установка OpenCV на Dragonboard
Установка OpenCV на Dragonboard

Com linux устанавливается на плакате, применяются процедуры управления для установки библиотеки процесса изображения - OpenCV - без устройства. Siga как инструкция по ссылке:

docs.opencv.org/3.0-beta/doc/tutorials/intr…

Шаг 3: Conectar a Câmera Com a Dragonboard

Conectar a Câmera Com a Dragonboard
Conectar a Câmera Com a Dragonboard

Precisamos conectar a câmera que serão os olhos do дефицит на площади desenvolvimento Dragonboard 410c. Existem vários jeitos de fazer isso. Dragonboard может использоваться для плоских кабелей, или, следовательно, совместим с камерами, которые используются в качестве камеры для Raspberry Pi.

Этот проект можно использовать в камере Moto G 3, которую можно использовать с прикладной IP-веб-камерой (с поддержкой Google Play), которая позволяет использовать изображение, передаваемое через Wi-Fi.

Создайте программу, которая позволяет использовать простые образы из библиотеки opencv. Ссылка проходит без параметров, но конструктор делает объект VideoCapture é или IP-адрес для сотовой связи (без указания параметров) + «/ videofeed». Na imagem acima, encontra onde está o IP do seu celular.

Доступ к различным версиям, предшествующим OpenCV версии 3.1, может быть аналогичным. Se Você conectar uma câmera pela entrada de câmeras da dragonboard basta colocar como parâmetro o valor zero ("0"), который означает, что голосовой запрос выполняется по умолчанию.

Шаг 4: Desenvolver Software De Processamento De Imagens Que Toma Decisões

Image
Image
Desenvolver Software De Processamento De Imagens Que Toma Decisões
Desenvolver Software De Processamento De Imagens Que Toma Decisões
Desenvolver Software De Processamento De Imagens Que Toma Decisões
Desenvolver Software De Processamento De Imagens Que Toma Decisões

Есть программы em anexo, o identiftificadorDeObstáculos.cpp, o MostraContornoWebcam.cpp и o VídeoCadeiraSlavo.cpp (это лучшие программы для тестирования и разработки программного обеспечения).

Explicação: A ideia detificationação de obstáculo vem daterminação dos contornos mais drásticos nas images do vídeo, ou seja, o código Identifica mudanças drásticas de cores na imagem e заключение que isso seja um contorno e imagensto com são de portanto um шаг). Estando a câmera na barriga do usuário, levemente inclinada para o chão, conforme o usuário se locomove, o programa identity a existência de um objeto (seja uma pessoa ou uma cadeira por exemplo) e manda o sinal de parada caso o objeto região especificada (caminho do usuário) (см. изображение do contorno da cadeira - caso o usuário se aproxime da cadeira haverá pixels brancos na região verde que defined condição de parada). Dessa forma, sem a adição de Filros ao typeo de chão, para o funcionamento dessa versão simpleificada, é обязательно um chão razoavelmente homogêneo, de forma que os detalhes do chão não sejam considerados contornos.

Обс. Возможно, вам нужен переменный lowThreshold do código para um valor de 0 (mais sensitivo) и 100 (menos sensitivo ao contorno). О доблесть sugerido é 60 para chão em geral.

Funcionamento: o identiftificadorDeObstáculos.cpp получено видео от rede wifi através do sparkfun que deve ser um vídeo de um celular acoplado a barriga do usuário. O código manda condições de parada á um aplicativo de um outro celular que usuário está usando. Idealmente manda-se comandos de voz de parada parada o usuário.

Замечания: Altere o código de acordo для особенных onde os vídeos são Recebidos e para qual android as informações são encaminhadas. Os tipos de alterações são especificadas no próprio código (assim como nos programas de teste) comentados no início do programa.

Para saber mais sobre bordas de Canny e limiarização, além de outros tópicos de visão computacional, recomenda-se procurar a documentação oficial da OpenCV.

Шаг 5: Fazer Aplicativo Que Repassa As Informações Para O Deficiente Visual

Для воспроизведения этого проекта необходимо использование данных сайта без данных.

Assim que a Dragonboard reconhece que há um obstáculo a sua frente ela posta em um banco de dados construido no data.sparkfun.com essa informação. O aplicativo faz uma consulta a este banco com o auxílio da classe okhttp3 obtendo as informações como um Json. Então fazemos um parser desse json para encontrarmos or ltimo dado enviado. Com esse dado em mãos conguimos dizer se há um obstáculo no caminho, assim é emitido um sinal de voz para o usuário parar. Se o caminho está livre o aplicativo emite um sinal para prosseguir continamente.

Переходите к другому как классам и интерфейсам, используемым для проекта, который может быть объяснен как переход:

GetJson: используется для того, чтобы не получить никаких данных.

JsonDownloader: это всегда асинхронная задача для использования в классе GetJson, важная функция для использования класса GetJson, когда интерфейс не используется и используется для точного определения потока, используемого в приложении.

MainActivity: нестандартный класс реализует логику приложения, которая непрерывно консультируется по банку данных, и информация об обычном использовании звука, который является точным для вашего непрерывного воспроизведения.

RequestListener: этот интерфейс используется для поддержки MainActivity с характеристиками.

SdmSoundPlayer: есть класс, который используется для использования в качестве команд, которые используются, когда используются приложения, которые используются в качестве дополнительных инструментов для создания пасты в сыром виде, в том числе пасты, в том числе звуковых файлов. Вы можете использовать метод initSoundHash (), чтобы разрабатывать разные файлы, созданные для mSoundHash, в которой используется таблица Hash. Для использования этой звуковой аудиосистемы с использованием метода playSound (ключ int) и перехода на другую функцию, которая используется в качестве основного параметра для прослушивания музыки.

Предупреждения: этот класс используется для упрощения парсера для восстановления данных json.

Seguem em anexo também os arquivos de voz utilizados.

О layout da aplicação consistia de um único botão que funcionava com o método Выйти из реализации на MainActivity, этот простой метод составляет приложение для консультации без банка данных.

Qualquer dúvida adicional ou sugestão basta entrar em contato com o autor. Sugestões são semper bem-vindas =).

O código não está bem comentado, mas acredito que as explicações acima devem ser suficientes para o entendimento do que está acontecendo.

Шаг 6: Sugestões De Continuação

Poderiamos integrationr um sistema de localaização. Существуют SDK Qualcomm, который может быть локализован в системе GNSS, ускоренном метро, магнитометрии на выходе, а также встроен в предварительный процессор Qualcomm Snapdragon (в наличии). Нет entanto, havia pouca documentação e needitava de testes mais demorados.

Também gostariamos de usar um sensor de distância ultrassonico, porém tivemos issuesas quanto a comunicação com a Dragonboard, que poderia ser resolvido com mais calma. Установите темп, приобретите как bibliotecas já presentes no kit de desenvolvimento, elas Possuem diversos exemplos para cada tipo de sensor.

Нет сайта Разработчики Qualcomm существует для обучения и обучения, которые вы можете найти, и у вас есть обучающие материалы для 96Boards на YouTube.

Рекомендуемые: