Talaan ng mga Nilalaman:

Vision 4all - Sistema Visão assistida Para Deficites Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 Hakbang
Vision 4all - Sistema Visão assistida Para Deficites Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 Hakbang

Video: Vision 4all - Sistema Visão assistida Para Deficites Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 Hakbang

Video: Vision 4all - Sistema Visão assistida Para Deficites Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 Hakbang
Video: 🌟 ENG SUB | Versatile Mage | Full Version EP37-48 | Yuewen Animation 2024, Hunyo
Anonim
Vision 4all - Sistema Visão assistida Para sa Mga Kulang sa Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android
Vision 4all - Sistema Visão assistida Para sa Mga Kulang sa Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android

DESCRIÇÃO

Ang intuito gawin ang projeto para sa mga kakulangan sa biswal na lokasyon sa kanilang mga panloob na panloob na como casas o mga shopping center at aeroportos.

Ang isang lugar na ito ay mga ambientes na nasa mapa ng pode upang hindi ko maisip ang isang problema sa problema. Inaalis ang talumpati sa App Store para sa mga ito, na maaari mong gamitin ang para sa 3 ambientes at mga aparatong EUA, upang ang Gabay sa LowViz. 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. Ang Assim, isang missão deste projeto é, através de visão computacional e processamento de imagem, identificar obíveis obáculos que posimir operir ao longo do caminho do usuário e poder recalcular o caminho a ser seguido dando independéncia e empoderando o usuário. Dahil dito, o ang projeto, embro ainda hindi kumpleto, binubuo ng mga ito sa pamamagitan ng isang pagsumite ng file sa iyong planta baixa gawin ang lokal na interesse, kung paano mo mamili. Sa isang placa integrada 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. A câmera, 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 and nos tornar iguais".

Maaari mong gamitin ang isang Dragonboard 410c, upang mai-install ang hardware ng mga ito sa pamamagitan ng fazer o proseso ng mga larawan na ito ay tunay na (tulad ng kompetisyon ng mga outras aplicações como seria no celular) at isang mesmo tempo seja de baixo custo.

Hakbang 1: Materiais

Materiais
Materiais

Para sa iyong proyekto sa paggamit:

- uma placa Qualcomm Dragonboard 410c;

- biblioteca de processamento de imagem OpenCV (bersyon 3.1);

- Mag-isip ng isang comunique com ng isang placa (usaremos na verdade um celular android com o aplicativo IP Webcan);

- celular com sistema Android para sa aplicativo;

Hakbang 2: Instalando OpenCV Na Dragonboard

Instalando OpenCV Na Dragonboard
Instalando OpenCV Na Dragonboard

Ang pag-install ng linux na ito ay maaari nang mag-install ng isang proseso ng imahe - OpenCV - walang aparato. Siga bilang instruções deste link:

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

Hakbang 3: Conectar a Câmera Com a Dragonboard

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

Ang Precisamos conectar a câmera que serão os olhos do deficite com a placa de desenvolvimento Dragonboard 410c. Existem vários jeitos de fazer isso. Ang isang dragonboard ay posible na mag-entrada para sa mga flatcable, upang makita mo, na maaari mong maiayos ang mga ito bilang isang Raspberry pi.

Inaasahan namin ang mga ito, maaari mong gamitin ang Moto G 3ª Geração com o aplicativo IP Webcam (disponível na Google Play) upang pahintulutan ang isang paglilipat ng wifi.

Abaixo um programa que faz aquisição simples da imagem usando a biblioteca opencv. O link passado como parâmetro no construtor do objeto VideoCapture é o IP do celular (nagpapahiwatig na walang aplicativo) + “/ videofeed”. Sa pamamagitan ng iyong imahe, maaari kang mag-log in sa IP o ang iyong celular.

Ang isang aquisição pode ser difícil nas versões anteriores ay isang 3.1 da opencv, caso você não tenha conseguido compilar. Tingnan ang lahat ng câmera pela entrada de câmeras da dragonboard basta colocar como parâmetro o valor zero ("0"), queifica que você quer procurar a câmera default.

Hakbang 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

Mayroon kaming mga programang ito, o pagkakakilanlanDeObstáculos.cpp, o MostraContornoWebcam.cpp o VídeoCadeiraSlavo.cpp (ito ay maaaring gawin para sa pagsubok na mag-uugnay sa software).

Explicação: Ang isang ideia de identificação de obstáculo vem da determinação dos contornos mais drásticos nas imagens do vídeo, ou seja, o código identifica mudanças drásticas de cores na naiisip na ideya ay napapanahon sa pamamagitan ng portanto um objeto hakbang). Estando a câmera na barriga do usuário, levemente inclinada para o chão, conforme o usuário se locomove, o programa identifica a existência de um objeto (seja uma pessoa ou uma cadeira por exemplo) e manda o sinal de parada caso o objeto seja encontrado na região especificada (caminho do usuário) (vide imagem do contorno da cadeira - caso o usuário se aproxime da cadeira haverá pixel brancos na região verde que determinam condição de parada). Dessa forma, sem a adição de filtros ao tipo de chão, para sa funcionamento dessa versão simplificada, é kinakailangan na um chão razoavelmente homogêneo, de forma que os detalhes do chão não sejam considerados contornos.

Ang obs. é posível ajustar a variável lowThreshold do código para um valor de 0 (mais sensitivo) at 100 (menos sensitivo ao contorno). O matapang na sugerido ay 60 para sa iyo.

Funcionamento: o identificadorDeObstáculos.cpp recebe um vídeo da 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.

Obs: Altere o código de acordo para sa especificar de onde os vídeos são recebidos at para sa Qual Android bilang impormasyon sa mga encaminahadas. 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.

Hakbang 5: Fazer Aplicativo Que Repassa Bilang Impormasyon Para sa O Kulang sa Visual

Para sa muling pagtataguyod ng projeto na ito ay kinakailangan upang mai-download ang site site.sparkfun.com, upang maproseso ang mga ito para sa mga hindi gumagalak na dada uma explicação mais detalhada aqui, mas colocaremos o link do banco que criamos para sa referencia ().

Makatutulong sa isang talon sa panonood ng Dragonboard upang magawa ang isang bagay na mag-post ng kanilang poste em um banco de magiging construido walang data.sparkfun.com tungkol sa impormasyon. 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 o último dado enviado. Narito ang lahat ng mga kaibigan ng mga tagapag-usap sa 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 Continuamente.

Seguem em anexo bilang mga klase at mga Interface na magagamit para sa projeto, kung saan maaari kang maghanap ng isang seguir:

GetJson: é utilizada para fazer upang makakuha ng walang banco de magiging do data.sparkfun retornando um arquivo em formato json para a aplicação.

JsonDownloader: é onde geramos uma asynctask para de fato utilizarmos a classe GetJson, a importância do uso desta classe é para sa mga travarmos a interface do usuário and para isso precisamos criar uma thread diferente na aplicação.

MainActivity: nesta classe implementamos a lógica da aplicação que Continuamente consulta o banco de maging, e informa o usuário por meio de um audio se ele precisa para sa iyo pode Continuar caminhando.

RequestListener: gamitin ang interface ng bawat isa para sa MainActivity para sa mga sertipikasyon ng características.

SdmSoundPlayer: classe é usada para sa gerenciar os comandos de voz da aplicação, caso vocè queira inserir as suas próprias gravações você deve criar uma pasta raw dentro da pasta res and incluir os arquivos de audio lá. Feito isso dentro do método initSoundHash () voceb deve colocar esses arquivos dentro de mSoundHash que é uma tabela Hash. Para usar este áudio basta usar o método playSound (int key) e passar como parâmetro a chave escolhida para o sinal de voz.

Mga Babala: essa classe é utilizada para facilitar o parser do json retornado pelo banco de maging.

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

O layout at aplicação consistia de um único botão que funcionava com o método Quit implementado na MainActivity, ito ay pinasimpleng simplesmente forçava a aplicação a parar a consulta no banco de magiging.

Kwalipikado sa iyong adicional o 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 suf sapates para sa entendimento do que está acontecendo.

Hakbang 6: Sugestões De Continuação

Poderiamos integrar um sistema de localaização. Ang Existe o Qualcomm iZat SDK ay maaaring magamit sa isang lokal na lugar para sa isang GNSS, acelerômetro, magnetrômetro entre outros, para sa proseso ng Qualcomm Snapdragon (kasalukuyan at maraming mga cellular cell). Walang entanto, havia pouca documentação e kinakailangan ng mga pagsubok na mais demorados.

Magdagdag ng mga sensor sa distansya ng ultrassonico, upang makita ang mga problema sa isang comunicação com ng isang Dragonboard, na poderia ser resolvido com mais calma. Sa ngayon, kumuha ng bilang bibliotecas na nagtatanghal ng walang kit de desenvolvimento, mga iba pang mga halimbawa ng halimbawa para sa sensor ng sensor.

Walang mga Developers ng site na Qualcomm na mayroon ng mga sumusunod na proyekto para sa iyo, upang hindi ito magturo sa 96Mga board na walang tubo.

Inirerekumendang: