Entrevista com o fundador da startup Petiole Andrei Seleznev



Geektimes. “” Petiole . , ( ) .

: , , , , , , . .

, . Petiole, .


. Petiole . ? ?

Sim, Petiole resolve um problema muito específico. Esse é o nosso recurso. O pensamento surgiu quando esse problema conviveu com você por três meses. Mais precisamente, eu morava com um amigo Vyacheslav Bykov na mesma sala. Naquela época, ele trabalhou no Instituto de Ecologia Evolutiva da Academia Nacional de Ciências da Ucrânia, estudou a influência de fatores negativos no álamo piramidal. Para fazer isso, mediu a área das folhas. O processo parecia muito orçamentário e não ideal - um scanner, photoshop, ImageJ através do console, redução de dados no Excel. Ao mesmo tempo, o software licenciado estava no modo "demonstração interminável", o que acrescentou mais destaque a esse tipo de pesquisa. Vyacheslav chegou tarde em casa e com dedos verdes, em contato constante com folhas secas e frescas. Eu queria ajudá-lo e uma noite comecei a pensar que o problema pode ser resolvido usando um smartphone comum. Palavra por palavracomeçou a girar e, no final, conseguimos perceber. O público potencial para o aplicativo é diverso. A princípio eles eram biólogos, ecologistas. Então tivemos um interesse de cientistas agrícolas. Em seguida, adicionamos clorofila e representantes de grandes explorações agrícolas começaram a nos ligar.


Foto por Petiole

Falando em números, eles são muito diferentes da audiência das redes sociais populares. Agora temos 88 usuários mensais ativos. O crescimento é pequeno de mês para mês, mas é, e nos agrada.

OK, então nos apegaremos a "o problema pode ser resolvido usando um smartphone comum" e "Word por palavra, ele começou a girar e, no final, conseguimos percebê-lo". Conte-nos sobre sua experiência em programação e quanto tempo levou para criar um código Petiole funcional?

A experiência de programação é diferente e peculiar. Eu escrevi meu primeiro programa aos nove anos de idade na linguagem de programação FoxPro 2.5. Os pais trabalhavam no Centro de Computação da Ferrovia Donetsk. E depois da escola eu gostava de visitar e examinar livros grossos com código fonte (geralmente eu os pintava com todo tipo de figuras). Depois se envolveu em Pascal, Delphi, Qt, Ruby nos trilhos. Quero observar que não tenho uma educação clássica em informática; sou engenheiro agrônomo por diploma. E nas “galeras” ele trabalhou por um total de não mais de dois anos. Mas isso não impediu que eu e minha equipe jovem escrevêssemos o código de trabalho de Petiol com intervalos em cerca de sete meses. Dado o fato de reescrevermos o algoritmo básico três vezes.

À medida que o processo avançava, ficou claro que o projeto deveria ter algum futuro? Foi criado um blog, procurou-se relações com investidores, houve comunicação com o público-alvo?

Não, até cerca da metade do caminho, o projeto foi originalmente destinado a resolver o problema de uma pessoa. Mas em junho passado, nos tornamos finalistas do GIST Tech-I. E a partir deste momento o projeto adquiriu mais metas e objetivos globais. O blog foi criado há cerca de três meses. Conversamos ativamente com os investidores no outono passado. Tentamos constantemente manter contato com o público-alvo e receber feedback. Estes são principalmente cientistas ucranianos.

Você pode contar mais sobre o GISTech-I. É claro que tudo pode ser do Google, mas a atitude do autor em relação a isso é interessante. Por que é rentável, legal, útil? A propósito, qual é o tamanho da sua equipe?

GIST Tech-I é uma competição global de projetos tecnológicos e científicos para países em desenvolvimento. É organizado com o apoio do Departamento de Estado dos EUA e está sendo implementado pela AAAS (Associação Americana para o Avanço da Ciência). O culminar da competição ocorre como parte da Cúpula Global de Empreendedorismo. A propósito, nos tornamos os primeiros finalistas da Ucrânia desde o início desde 2011. A principal diferença em relação a outros concursos é de equipes apenas de países com economias em desenvolvimento. Os projetos foram avaliados de acordo com os critérios de enfoque no bem-estar e melhoria dos indicadores microeconômicos para a sociedade. Pessoalmente, a etapa semifinal foi útil para nós. Foi necessário coletar o maior número possível de votos na votação on-line por um mês. Ficha de votação - uma pessoa pode votar todos os dias.

Reunimos 5775 votos, o que nos permitiu ocupar o 15º lugar na categoria de “idéias” e chegar à final. A final em si consistiu em um treinamento de dois dias (como criar uma empresa, marketing, promoção nas redes sociais) e três dias de participação na cúpula com uma apresentação do seu projeto no grande palco. Pessoalmente, deixei um monte de impressões da África e da cúpula e competição. O principal é que conheci pessoas maravilhosas da África, México, Cazaquistão, Azerbaijão, Malásia, Chile, Peru, expandi meus horizontes e pilotei aviões pela primeira vez na minha vida.

Nossa equipe é composta por 8 a 10 pessoas que ajudaram muito em diferentes estágios do desenvolvimento do projeto. Infelizmente, não temos um orçamento para pagar salários. Apesar disso, as pessoas trabalhavam em seu tempo livre e com a ideia de que estávamos muito satisfeitos. Basicamente, esses são meus amigos do programa de bolsas de estudos “Zavtra.YuA.

E onde foi o evento todo? Como foi organizado? Com quem teve que competir? E como você entrou nessa lista ?

O evento foi realizado em Nairobi, capital do Quênia. Fisicamente, os dois primeiros dias de treinamento ocorreram na sala de conferências do Sarova Stanley Hotel, de cinco estrelas. Os três dias restantes estão no Escritório das Nações Unidas. A situação como um todo estava funcionando. Cada um dos finalistas estava buscando a vitória. Treinamento contínuo e preparação da apresentação até as três da manhã. Nosso projeto concorreu na seção "idéias". Das 15 pessoas, na minha opinião, todo mundo era como uma partida. A competição foi forte e meu fraco inglês de conversação reduziu ligeiramente minhas chances de ganhar. A maioria dos prêmios foi conquistada por equipes da África e da América do Sul.

Fomos selecionados para a lista de acordo com os resultados do concurso “Startup Open 2015”. Esta é uma competição global para startups, incluindo países desenvolvidos. Foi uma surpresa agradável para nós. E tenho orgulho de nosso projeto estar na mesma lista de projetos como Lishot, AeroAnalytics, AppleDoc, BethClip e Smart Mobile Farming.

OK, voltemos ao lado prático da questão. O aplicativo existia antes de você participar do GIST Tech-I. Então você participou de vários eventos. O que mudou? Por outro lado: que feedback você está recebendo agora? De agrônomos ou cientistas de verdade?

Sim, existia um aplicativo em funcionamento antes de participarmos do GIST Tech-I. Mas, primeiro, usamos um algoritmo de calibração quadrada. Ele deu más medições. Muitas vezes, um erro sistemático de dois centímetros quadrados aparecia. Além disso, a instabilidade do aplicativo em si como um todo. Além disso, não tivemos a função de medir a clorofila pelo índice verde escuro. A segunda - na primavera de 2015, o desenvolvimento ativo de aplicativos foi suspenso. No geral, esqueci de dizer que também temos uma nuvem onde as medidas são coletadas de todos os usuários. Mas esta é uma história diferente.

Naquela época, havia um protótipo com funções básicas. No outono de 2015 e na primavera de 2016, participamos de cerca de dez eventos (conferências, feiras, exposições, piqueniques), onde conversamos, mostraram como o aplicativo funciona e o que você pode fazer com ele. A maioria dos discursos ocorreu em "Scientific Picnics" em Kiev. Na verdade, a primeira manifestação pública ocorreu lá no verão de 2014. A principal mudança para nós é que as pessoas começaram a entender que um smartphone pode ser usado não apenas para jogos, mas também para resolver problemas complexos. Temos pedidos de várias universidades. Chegamos ao terceiro lugar na primeira agrohackathon da Ucrânia (realizada em Ternopol).

Agora, mais feedback vem dos cientistas. Recentemente, recebi uma carta de nosso usuário na Universidade Pedagógica Nacional de Ternopil, Departamento de Biologia e Química. Eles testaram o Petiol para cima e para baixo no contexto da área de medição. O resultado - a área é estatisticamente confiável, as medições são rápidas e convenientes para o usuário.


Fotos de Petiole

Dos agrônomos, esperaremos um feedback, a menos que em 3016. O motivo é que, em geral, os engenheiros agrônomos não estão interessados ​​em nossa aplicação. Uma vez que eles o veem como um concorrente. Nosso cliente é o proprietário do agronegócio, que deseja automatizar o trabalho do engenheiro agrônomo e excluí-lo completamente da cadeia de decisão. Mas na solução da forma como está agora - andando pelos campos com o aplicativo - eles são de pouco interesse (no contexto da Ucrânia). A área dos campos de uma empresa média é de 10.000 ha Se considerarmos a Coréia do Sul como comparação, a área média da fazenda é de 2 hectares. Petiol é a solução perfeita para eles.

Tanto quanto você pode entender pelas fotos, é necessário que o aplicativo tenha um suporte de calibração ou algo semelhante? Você pode falar sobre isso? Quanto custa o equipamento? Sua presença afeta a decisão final de usar o Petiole?

O suporte de calibração é uma adição necessária e agradável ao aplicativo móvel. Em nossa comunicação de marketing, sempre esqueço de dizer que isso é necessário apenas para medir a área da folha. Não é necessário suporte para medir a clorofila. Por que decidimos tomar uma posição para medir a área? Sua presença reduz a complexidade do algoritmo às vezes. E melhora ainda mais o desempenho geral. Nas minhas apresentações, gosto de dizer que, com a ajuda do estande, você pode fazer três coisas com as duas mãos. Segure o smartphone, segure a folha e pressione os botões na tela do smartphone. A primeira versão foi feita de alumínio. Um pouco caro, mas você pode alterar a altura do suporte.

Pessoas experientes são aconselhadas a fundir em plástico. Mas, tendo ouvido o custo de fabricação do molde para o enchimento, decidimos esperar com isso. Então, acidentalmente, entrei em um grande supermercado de construção e vi degraus de faia e folhas de poliestireno anti-reflexo. E eu percebi que é isso. Tudo é cortado no roteador e montado com velcro.


Fotos de Petiole

O custo do estande é o nosso segredo comercial. Preço de venda - trinta dólares. Para uso acadêmico, oferecemos stands gratuitamente. Já oito foram distribuídos. Obviamente, sua presença afeta a decisão de usar. Cada um de nós quer simplesmente trazer a câmera do smartphone para a fábrica e obter quase toda a composição química. Mas se uma pessoa realmente quiser, será capaz de contornar esse problema. Nós o ajudamos com isso - você pode baixar um arquivo com um tabuleiro de xadrez e usar uma pilha de livros em vez de um rack. O aplicativo foi revisado por Greenappsandweb há duas semanas. Assim, eles foram capazes de completar todo o ciclo de medição sem suporte.

Eu vejo. É possível descrever o algoritmo do aplicativo? Quais bibliotecas são usadas? Quais foram os problemas e quais fontes ou consultores foram usados?

No nível do aplicativo Android, usamos a biblioteca OpenCV para assuntos relacionados à visão computacional. Atualmente, o aplicativo possui dois algoritmos básicos. O primeiro determina a área da folha. O segundo é um índice verde escuro. Para a área da folha, encontramos uma matriz de homografia entre o plano da placa receptora branca e o plano da matriz da câmera do smartphone. Um processo semelhante à calibração de uma lente de câmera usando um tabuleiro de xadrez preto e branco. Em seguida, processamos a imagem da câmera (uma folha em um prato branco) para obter um bom contorno.

As coordenadas dos pontos de contorno são recalculadas das coordenadas da câmera para coordenadas reais. A partir desses valores, encontramos a área da folha. Ao mesmo tempo, trabalhamos com a sombra (minimização) e com o pecíolo (cortado). Para o índice verde escuro, traduzimos a imagem do modo KZS (RGB) para HSV. Dividimos em canais e no canal "Cor" encontramos o valor médio sobre a folha em um determinado intervalo. Normalizamos para o intervalo e obtemos o índice. Utilizando as dependências da clorofila no índice verde escuro (geralmente são modelos lineares, como y = ax + b), obtidos em nosso agro-laboratório, recalculamos para o teor de clorofila diretamente na aplicação. Além disso, usamos Fabric, Volley, Material Design.


Fotos de Petiole

Em um estágio inicial, havia problemas com a precisão da medição da área, mas a resolvemos adicionando uma matriz de homografia ao processo de medição. Em seguida, foram apresentados os problemas de desempenho. Infelizmente, um smartphone não é um computador; seu processador é relativamente fraco. O Google resolveria esse problema simplesmente enviando dados para a nuvem. Mas em todo lugar não há cobertura da Internet, 3G e outras comodidades da civilização. Especialmente em campo nos locais experimentais. O algoritmo funcionou devagar e frequentemente travava com erros de estouro de memória como void * cv :: OutOfMemoryError (std :: size_t) . Mas depois de reescrevê-lo pela terceira vez, conseguimos superar um comportamento tão estranho.

De acordo com fontes, e-books no OpenCV (Packt Publishing), a base de conhecimento answers.opencv.org, repositórios públicos no Github e boa documentação no próprio site da biblioteca OpenCV nos ajudam muito. É claro que o Android também era necessário conhecimento. Especialmente em termos de configuração da compilação de algoritmos nativos em bibliotecas usando o NDK, e assim tudo funciona bem. Mas fomos capazes de preencher rapidamente a lacuna usando o maravilhoso recurso Udacity.

Então parte do código não está escrito em Java, mas em C ++?

Sim O código responsável pela operação do aplicativo, o armazenamento de dados no banco de dados, é gravado em Java como parte do Android SDK. O código responsável pela operação do algoritmo é escrito em C ++ e usando o Android NDK convertido em uma biblioteca estática. O aplicativo carrega a biblioteca na inicialização e usa chamadas de função nativas da biblioteca OpenCV. Em geral, há uma biblioteca java para usar o OpenCV diretamente no código do aplicativo, sem usar o JNI. Mas o desempenho é diferente das chamadas de código nativas. Agora, temos um desempenho de cerca de 5FPS ao medir a área da folha em tempo real. Usando uma biblioteca java, provavelmente haveria cerca de 2FPS.

. . , , - . .

Pergunta bastante complicada. Mas você pode tentar. Primeiro você precisa entender o que colocamos em "suporte profissional". Se isso é dinheiro, é necessário, antes de se envolver com toda essa história, conquistá-la primeiro em um emprego regular ou como freelancer. Se isso é patrocínio, então como alguém tem sorte. Se essa é a cobertura da mídia, você precisa de conhecidos entre os jornalistas (o fígado sofrerá) ou uma boa cobertura da mídia (por exemplo, venceu o hackathon). A presença de um, ou melhor, imediatamente de todos os fatores, aumentará suas chances de possíveis investidores saberem sobre você. Mas, há um mas. Aprender não é igual a investir. Quase todos os potenciais investidores na Ucrânia conhecem o nosso projeto, mas nenhum deles investiu um centavo. Porque A questão é retórica.

Source: https://habr.com/ru/post/pt397337/


All Articles