1 pontos por GN⁺ 2024-06-24 | 1 comentários | Compartilhar no WhatsApp

Vamos parar de fazer "window shopping" e começar a fazer "window shopping"!

Como fazer dropping com IA

  • Objetivo: operar um serviço que usa IA para deixar chapéus caírem da janela e entregá-los aos cidadãos de Nova York.
  • Itens necessários: Raspberry Pi, motor de passo da Adafruit, barbante, Roboflow AI, produto leve (ex.: chapéu com hélice).

Abrindo a janela

  • Problema: a janela só abria cerca de 4 polegadas.
  • Solução: resolveu procurando no Google a chave certa para a janela.

Escolha do chapéu

  • Condições: um chapéu que não machuque ninguém ao cair e não atrapalhe o trânsito.
  • Escolha: o chapéu com hélice, que simboliza o futuro e cai de forma bonita.

Mecanismo de dropping

  • Configuração: uso de Raspberry Pi e motor de passo.
  • Método: enrolar o barbante no motor de passo e movê-lo aos poucos.
  • Código: código de dropping escrito em arquivo Python.
import time
import board
import digitalio

enable_pin = digitalio.DigitalInOut(board.D18)
coil_A_1_pin = digitalio.DigitalInOut(board.D4)
coil_A_2_pin = digitalio.DigitalInOut(board.D17)
coil_B_1_pin = digitalio.DigitalInOut(board.D23)
coil_B_2_pin = digitalio.DigitalInOut(board.D24)

enable_pin.direction = digitalio.Direction.OUTPUT
coil_A_1_pin.direction = digitalio.Direction.OUTPUT
coil_A_2_pin.direction = digitalio.Direction.OUTPUT
coil_B_1_pin.direction = digitalio.Direction.OUTPUT
coil_B_2_pin.direction = digitalio.Direction.OUTPUT

enable_pin.value = True

def forward(delay, steps):
    i = 0
    while i in range(0, steps):
        setStep(1, 0, 1, 0)
        time.sleep(delay)
        setStep(0, 1, 1, 0)
        time.sleep(delay)
        setStep(0, 1, 0, 1)
        time.sleep(delay)
        setStep(1, 0, 0, 1)
        time.sleep(delay)
        i += 1

def setStep(w1, w2, w3, w4):
    coil_A_1_pin.value = w1
    coil_A_2_pin.value = w2
    coil_B_1_pin.value = w3
    coil_B_2_pin.value = w4

forward(5, int(512))

IA

  • Objetivo: detectar em tempo real se há uma pessoa embaixo da janela.
  • Método: analisar o vídeo da webcam em tempo real e verificar se há uma pessoa em uma posição específica.
  • Modelo: criação de modelo de detecção de objetos com Roboflow.
  • Código: código de detecção e dropping escrito em arquivo Python.
import cv2
import time
import paramiko
from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(api_url="https://detect.roboflow.com";, api_key="API_KEY")

def ssh_execute(host, port, username, password, command):
    client = paramiko.SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.WarningPolicy)
    try:
        client.connect(host, port=port, username=username, password=password)
        stdin, stdout, stderr = client.exec_command(command)
        print(stdout.read().decode().strip())
        if stderr.read().decode().strip():
            print('Error:', stderr)
    finally:
        client.close()

video = cv2.VideoCapture(0)
consec_detections = 0

while True:
    ret, frame = video.read()
    result = CLIENT.infer(frame, model_id="drop-of-a-a-hat/2")
    if 'predictions' in result and len(result['predictions']) > 0:
        consec_detections += 1
    else:
        consec_detections = 0
    if consec_detections >= 3:
        ssh_execute('raspberry.local', 22, 'pi', 'raspberry', 'python3 dropHat.py')
        consec_detections = 0
    time.sleep(1)

A grande visão

  • Visão: um mundo em que, ao caminhar por Nova York, tudo de que você precisa cai das janelas.
  • Objetivo: se estabelecer como o primeiro caso de "Window Shopping".

Opinião do GN⁺

  • Ponto interessante: combina IA e IoT para apresentar um modelo de negócio criativo.
  • Considerações para adoção: é preciso revisar com antecedência a estrutura da janela e as questões de segurança.
  • Desafio técnico: a precisão do modelo de IA e o desempenho em tempo real são importantes.
  • Projeto semelhante: há potencial de expansão para um conceito parecido com serviços de entrega por drone.
  • Impacto social: pode aumentar a conveniência da vida urbana e, ao mesmo tempo, criar uma nova forma de comércio.

1 comentários

 
GN⁺ 2024-06-24
Comentários do Hacker News
  • IA útil: A coisa mais útil que vi na internet em muito tempo. Obrigado pelo excelente trabalho.
  • Queda do chapéu: Não entendo como o chapéu cai em linha reta apesar da hélice e do vento.
  • Adoro esse projeto: Gosto desse tipo de projeto. Vários estados estão avançando com projetos de lei para exigir marca d'água em conteúdo gerado por IA.
  • Uso indevido: Se usassem outra coisa no lugar de um chapéu, poderia ser fatal.
  • Post inesperadamente ótimo: No começo achei que seria algo comum, mas foi muito interessante. O autor parece ter superado muitos desafios e feito tudo parecer fácil.
  • Detecção de objetos em vídeo: Fico me perguntando por que usar o SaaS da Roboflow. Parece que o Pi não tem desempenho suficiente para rodar soluções on-device como Frigate ou DOODS.
  • Ideia de webcam: A ideia de uma webcam jogando colares para a festa de uma sacada na Bourbon St, em Nova Orleans, é ótima. Quem tiver interesse, deixe um contato.
  • Oportunidade de investimento: Eu queria participar dessa oportunidade de investimento, mas acho que cheguei tarde demais.
  • Encontrar a loja da vizinhança: Às vezes quero um chiclete na rua. Resumindo, usa um produto leve, Raspberry Pi, motor de passo da Adafruit, barbante e Roboflow.
  • Vídeo falso: Há um clipe de vídeo em que o chapéu desaparece quando cai e depois reaparece.