Arquivo da categoria: Android

Última geração do Android hackeada com uma foto: Não é bem assim!

Encontrei em diversos posts a notícia  que menciona sobre a falha no sistema operacional Android referente ao desbloqueio do celular utilizando a tecnologia de reconhecimento facial. No meu ponto de vista a interpretação esta errada, pois toda tecnologia de reconhecimento facial geralmente processa um quadro extraído de um fluxo de vídeo ao vivo.

Logo, então técnicas de visão computacional devem serem aplicadas para evitar a utilização de fotos assim evitando fraude. Eu mesmo posso utilizar a tecnologia Tegra 2 da NVIDIA para verificar se a imagem esta “VIVA”. Assim evitando o uso de imagens estáticas para o processo de identificação.

Por exemplo, conforme mencionado em posts anteriores, utilizando um conceito similar a  teoria da estimativa de gaze, é possível encontrar as  coordenadas aproximadas em  3 dimensão a  partir de imagens planas.  Teste laboratoriais demonstrou a  eficiência deste conceito matemático. Pretendo elaborar  uma biblioteca para interagir com a libhairCapture utilizando API V4L1/2 e cameras IP baseado no padrão MJPEG  (ISO/IEC15444-1 e  derivados).

A  seguir a rotina  utilizada  para  o cálculo das coordenadas  no  espaço 3D seguido do  vídeo.

double x1 = r->x*scale; double x2 = (r->x+r->width)*scale; double angle = (r->width)*scale * horizontalGradesPerPixel * 3.141592654/180; double headDist = (headWidth/2) / (tan(angle/2)); //em metros double xAngle = ((img->width)/2.0 - ((r->x+r->width*0.5)*scale)) * horizontalGradesPerPixel * 3.141592654/180; double headX =  tan(xAngle) * headDist; double yAngle = ((img->height)/2.0 -((r->y+r->height*0.5)*scale)) * verticalGradesPerPixel * 3.141592654/180; double headY = tan(yAngle) * headDist; printf("HeadX = %.4lfm HeadY = %.4lfm HeadZ = %.4lfm pix %lf\n", headX,headY,headDist,(img->width)/2.0 - ((r->x+r->width*0.5)*scale));

A guerra de Jobs não acontecerá…

    Um dos segredos que mencionei nos bastidores durante o FISL 12 após a palestra sobre Android, era sobre a Guerra da Apple contra o Android que poderia causar alguns efeitos colaterais. Agora que não é mais um segredo , a guerra termonuclear aconteceria porque  Steve Jobs odiava o Android e estava pronto para gastar toda a sua fortuna para extermina-lo e por consequência causar uma briga boa com toda a comunidade de desenvolvedores Android (incluso eu)…  O ódio de Jobs era notório e constatado em sua palavras conforme a publicação da  Exame.com

“Vou gastar até meu último suspiro se for necessário. Vou gastar cada centavo dos 40 bilhões de dólares que a Apple tem no banco para resolver isso. Vou destruir o Android por que ele é um produto roubado. Vou mover uma guerra termonuclear.”

Deixo bem claro que reconheço a genialidade de Steve Jobs, isto não torna ele referência para humanidade e sim Bill Gates.

   Diferenças técnicas sobre Windows a parte, Bill Gates em 2003 havia doado metade da sua fortuna (R$ 67,6 bilhões) liderando ranking de filantropia.  Em 2010 dou mais U$ 10 bilhões e no mesmo ano convenceu  40 bilionários doarem a metade da sua fortuna. Na contra partida Jobs não dá nenhum dinheiro para a caridade e negou inicialmente a paternidade da primeira filha que inicialmente foi criada com o suporte do Estado porque, com a sua negação a mãe não poderia receber ajuda financeira dele para criar o bebê. Com o passar do tempo, Jobs assumiu Lisa, que se formou em Harvard em 2000.

Algumas fontes do meu arquivo desde 1997…

http://tinyurl.com/3ztgcu3
http://tinyurl.com/3wnvkzg
http://tinyurl.com/3lmzzp4
http://tinyurl.com/3ukeg4o
http://tinyurl.com/yeo7twm
http://tinyurl.com/3cts56s

Visão Computacional: OpenCV + Android no Motorola DEXT

Em breve estarei com um ATRIX (se nada der errado), porém queria terminar os testes com a biblioteca OpenCV em celulares modestos como o Motorola DEXT que possue um processador de 528 Mhz. Queria uma aplicação perfomática sem AINDA o uso na GPU (Tegra 2) no Android. O resultado atendeu as minhas expectativas, pois fazer visão computacional em Android com processadores de 800 Mhz ou superior é mais tranquilo. Agora com um DEXT com Android 2.3 a conversa é outra… Abaixo um vídeo demonstrativo.

droidOpenDataBR: Para onde foi o seu dinheiro?

Enquanto Lammers e Crackers utilizam o seu conhecimento para prejudicar as pessoas e se autointitular, do outro lado Hackers (pessoas do bem) trabalham voluntariamente para prover informações públicas para a população com qualidade e objetividade. Com isto, acabo de disponibilizar no Google Market o software droidOpenDataBr que desenvolvi em uma noite após uma tarde de FISL 12 em Porto Alegre. Este projeto foi desenvolvido em uma mesa de bar tomando cerveja e conversando com o Maluco (Thiago Rondon), e tem como objetivo de prover uma ferramenta baseado em software-livre para plataforma Android para manipulação de dados abertos governamentais. Resumidamente com este aplicativo, podemos acompanhar os investimentos e gastos públicos com apenas alguns toque no touch screen do dispositivo.

Atualmente ele utiliza os dados que estão disponíveis no motor do http://www.paraondefoiomeudinheiro.com.br/ (informações AQUI), no qual é proporciona uma pequena coleção de dados minerada e disponível sobre os dados do orçamento público, porém que já utiliza dados abertos trabalhados pelo Opendata-BR, ou seja foi realizado uma conversão de disposição e formatos de dados. Isto significa que não há como buscar este tipo de informação em um site do governo para uma aplicação móvel, devida a falta de tecnologia e dados em formatos abertos pelo governo, com isto podemos demonstrar que a força de pessoas que utilizam o seu talento para bem  pode oferecer dados abertos e que pode ser reutilizado por outros, sem uma grande infra-estrutura ou esforço. Deixo a seguir, algumas imagens, qrcode e vídeo demonstativo.

Página oficial AQUI.

OpenCV no Android

Meu próximo desafio é portar o legado laboratorial da biblioteca openCV para a plataforma Android, pois além de prover a portabilidade, os novos modelos apresentam o Tegra da NVIDIA no qual é possível integrar com o NDK da Google. Então deixo aqui a minha receita de bolo.

Compilação principal.
$ export ANDROID_NDK=/dados/neti/programas64/android-ndk-r5c
$ export ANDROID_NDK_TOOLCHAIN_ROOT=/dados/neti/programas64/android-ndk-r5c/toolchains
$ cd android/
$ sh ./scripts/cmake_android.sh ou cmake_android_armeabi.sh
$ cd build ou cd build_armeabi/
$ make -j8
$ make install

Compilação do código exemplo hello word.

$ cd opencv/android/apps/HelloAndroid
$ sh ./cmake_android.sh ou cmake_android_armeabi.sh
$ cd ./build_armeabi
$ make
$ adb push HelloAndroid /data
$ adb shell chmod 777 /data/HelloAndroid
$ adb shell /data/HelloAndroid
$ adb pull /mnt/sdcard/HelloAndroid.png

 Compilação da biblioteca.

$ cd android-opencv/
$ sh ./cmake_android.sh
$ cd build
$ make -j8

OBS: Verificar nos scripts a presença do parâmetro -DARM_TARGET=armeabi







A Caixa distribuirá no FISL camisetas com seu twitter em QRCODE.

A Caixa Econômica Federal distribuirá camisetas com estampa do seu twitter em QRCODE. Isto mesmo, são 400 código de barras 2D não premiados e 200 premiados espalhados nas parede do Stand. Para localizar os códigos premiados e seguir amigos a partir do QRCODE estampado em camisetas, sugiro já instalar o software TwitterMe disponível no Google Market (foto de instalação abaixo) para a plataforma android, o NeoReader ou SocialWayne QR Code Reader para iPhone (deve existir mais para a plataforma APPLE) e o software Zbar para computadores PC.Ao encontrar o QRCODE premiado, uma maquina com openSUSE 11.4 criará o código de barras 2D do usuário para somente então stampar na camiseta.

Android 2.3 com overclock no Motorola DEXT

Vídeo do meu Motorola DEXT com Android 2.3 e também overclock, os créditos são atribuído ao Luiz Giovanini (o Stage da NETi TECNOLOGIA), pois ele além de indicar o ROM Manager, também indicou a imagem apropriada para o DEXT. Na minha opinião esta versão esta perfeita, o overclock funciona, o celular não reboota sozinho (coisa que acontecia com a imagem 2.1) e a performance esta demais… Ressalto que uma certa lentidão ocorre no video pelo fato da operação acontecer após o boot, depois o aparelho fica um avião… Agora já estou compilando a openCV para rodar no Android con NDK e no futuro junto ao Tegra ( tarefa para os fortes de coração )…