Entretien avec le fondateur de la startup Petiole Andrei Seleznev



Geektimes. “” Petiole . , ( ) .

: , , , , , , . .

, . Petiole, .


. Petiole . ? ?

Oui, Petiole résout un problème très spécifique. C'est notre fonctionnalité. L'idée est venue quand ce problème a vécu avec vous pendant trois mois. Plus précisément, je vivais avec un ami Vyacheslav Bykov dans la même pièce. À cette époque, il a travaillé à l'Institut d'écologie évolutive de l'Académie nationale des sciences d'Ukraine, a étudié l'influence des facteurs négatifs sur le peuplier pyramidal. Pour ce faire, a mesuré la surface des feuilles. Le processus semblait très budgétaire et pas optimal - un scanner, Photoshop, ImageJ via la console, réduction des données dans Excel. Dans le même temps, les logiciels sous licence étaient en mode «démo sans fin», ce qui ajoutait du piquant à ce type de recherche. Vyacheslav est rentré tard et avec des doigts verts, par contact constant avec des feuilles sèches et fraîches. Je voulais l'aider et un soir, j'ai commencé à penser que le problème pouvait être résolu en utilisant un smartphone ordinaire. Mot par motil a commencé à tourner, et finalement nous avons réussi à le réaliser. Le public potentiel de l'application est diversifié. Au début, ils étaient biologistes, écologistes. Ensuite, nous avons suscité l'intérêt des agronomes. Ensuite, nous avons ajouté de la chlorophylle et des représentants de grandes exploitations agricoles ont commencé à nous appeler.


Photo par Petiole

Parlant en nombre, ils sont très différents de l'audience des réseaux sociaux populaires. Nous avons maintenant 88 utilisateurs mensuels actifs. La croissance est faible de mois en mois, mais elle l'est, et elle nous plaît.

OK, alors nous nous accrocherons à "le problème peut être résolu en utilisant un smartphone ordinaire" et "mot pour mot, il a commencé à tourner, et finalement nous avons réussi à le réaliser". Veuillez nous parler de votre expérience en programmation et combien de temps a-t-il fallu pour créer un code Petiole fonctionnel?

L'expérience de programmation est différente et particulière. J'ai écrit mon premier programme à l'âge de neuf ans dans le langage de programmation FoxPro 2.5. Les parents travaillaient au Centre informatique du chemin de fer de Donetsk. Et après l'école, j'aimais visiter et examiner des livres épais avec du code source (généralement je les peignais avec toutes sortes d'images). Puis barboté dans Pascal, Delphi, Qt, Ruby sur rails. Je tiens à préciser que je n'ai pas de formation informatique classique, je suis moi-même ingénieur géomètre diplômé. Et aux «galères», il n'a travaillé que deux ans au total. Mais cela n'a pas empêché moi et ma jeune équipe d'écrire le code de travail de Petiol avec des pauses en sept mois environ. Étant donné que nous avons réécrit l'algorithme de base trois fois.

Au fur et à mesure que le processus progressait, était-il clair que le projet devrait avoir un avenir? Un blog a été créé, des relations investisseurs ont été recherchées, y a-t-il eu une communication avec le public cible?

Non, jusqu'à environ la moitié du chemin, le projet visait à l'origine à résoudre le problème d'une seule personne. Mais en juin dernier, nous sommes devenus finalistes du GIST Tech-I. Et à partir de ce moment, le projet a acquis des buts et des objectifs plus globaux. Le blog a été créé il y a environ trois mois. Nous avons discuté activement avec les investisseurs l'automne dernier. Nous essayons constamment de rester en contact avec le public cible et de recevoir des commentaires. Ce sont principalement des scientifiques ukrainiens.

Vous pouvez en dire plus sur GISTech-I. Il est clair que tout peut être google, mais l'attitude de l'auteur à ce sujet est intéressante. Pourquoi est-il rentable, cool, utile? Au fait, quelle est la taille de votre équipe?

GIST Tech-I est un concours mondial de projets technologiques et scientifiques pour les pays en développement. Il est organisé avec le soutien du Département d'État américain et est mis en œuvre par l'AAAS (American Association for the Advancement of Science). Le point culminant de la compétition a lieu dans le cadre du Sommet mondial de l'entrepreneuriat. Soit dit en passant, nous sommes devenus les premiers finalistes d'Ukraine pour tout le temps depuis sa création depuis 2011. La principale différence par rapport aux autres concours concerne les équipes provenant uniquement de pays à économie en développement. Les projets ont été évalués en fonction des critères de concentration sur le bien-être et d'amélioration des indicateurs microéconomiques pour la société. Personnellement, la demi-finale nous a été utile. Il a fallu recueillir autant de voix que possible lors du vote en ligne pendant un mois. Puce de vote - une personne peut voter chaque jour.

Nous avons recueilli 5775 votes, ce qui nous a permis de prendre la 15e place dans la catégorie des «idées» et d'aller en finale. La finale elle-même consistait en une formation de deux jours (comment créer une entreprise, marketing, promotion sur les réseaux sociaux) et trois jours de participation au sommet avec un pitch de votre projet sur la grande scène. Personnellement, j'ai laissé un tas d'impressions à la fois de l'Afrique et du sommet et de la compétition. L'essentiel est que j'ai rencontré des gens merveilleux d'Afrique, du Mexique, du Kazakhstan, d'Azerbaïdjan, de Malaisie, du Chili, du Pérou, élargi mes horizons et piloté des avions pour la première fois de ma vie.

Notre équipe est composée de 8 à 10 personnes qui ont beaucoup aidé à différentes étapes du développement du projet. Malheureusement, nous n'avons pas de budget pour payer les salaires. Mais malgré cela, les gens ont travaillé pendant leur temps libre et pour l'idée que nous étions très heureux. Fondamentalement, ce sont mes amis du programme de bourses «Zavtra.YuA».

Et où était tout l'événement? Comment était-il organisé? Avec qui devait-il rivaliser? Et comment êtes-vous arrivé sur cette liste ?

L'événement s'est tenu à Nairobi, la capitale du Kenya. Physiquement, les deux premiers jours de la formation ont eu lieu dans la salle de conférence de l'hôtel cinq étoiles Sarova Stanley. Les trois jours restants sont à l'Office des Nations Unies. La situation dans son ensemble fonctionnait. Chacun des finalistes visait la victoire. Formation continue et préparation de la présentation jusqu'à trois heures du matin. Notre projet a concouru dans la section «idées». Sur les 15 personnes, à mon avis, tout le monde était comme un match. La compétition a été forte et mon anglais conversationnel faible a légèrement réduit mes chances de gagner. La plupart des prix ont été remportés par des équipes d'Afrique et d'Amérique du Sud.

Nous avons été sélectionnés sur la liste en fonction des résultats du concours «Startup Open 2015». Il s'agit d'un concours mondial pour les startups, y compris les pays développés. Ce fut une agréable surprise pour nous. Et je suis fier que notre projet soit sur la même liste avec des projets comme Lishot, AeroAnalytics, AppleDoc, BethClip et Smart Mobile Farming.

OK, revenons au côté pratique du problème. L'application existait avant votre participation à GIST Tech-I. Ensuite, vous avez participé à divers événements. Qu'est-ce qui a changé? D'un autre côté: quels commentaires recevez-vous maintenant? De vrais agronomes ou scientifiques?

Oui, une application fonctionnait avant notre participation à GIST Tech-I. Mais, d'abord, nous avons utilisé un algorithme de carré d'étalonnage. Il a donné de mauvaises mesures. Souvent, une erreur systématique de deux centimètres carrés apparaissait. De plus, l'instabilité de l'application elle-même dans son ensemble. De plus, nous n'avions pas pour fonction de mesurer la chlorophylle par l'indice vert foncé. La seconde - au printemps 2015, le développement actif des applications a été suspendu. Dans l'ensemble, j'ai oublié de dire que nous avons également un nuage où les mesures sont collectées auprès de tous les utilisateurs. Mais c'est une autre histoire.

A cette époque, il y avait un prototype avec des fonctions de base. À l'automne 2015 et au printemps 2016, nous avons participé à une dizaine d'événements (conférences, foires, expositions, pique-niques), où nous avons discuté, montré comment fonctionne l'application et ce que vous pouvez en faire. La plupart des discours ont été prononcés lors de «pique-niques scientifiques» à Kiev. En fait, la première manifestation publique a eu lieu là-bas à l'été 2014. Le principal changement pour nous est que les gens ont commencé à comprendre qu'un smartphone peut être utilisé non seulement pour les jeux, mais aussi pour résoudre des problèmes complexes. Nous avons des demandes de diverses universités. Nous avons même pris la troisième place lors du premier agrohackathon d'Ukraine (organisé à Ternopol).

Maintenant, plus de commentaires viennent des scientifiques. Récemment, j'ai reçu une lettre de notre utilisateur à l'Université pédagogique nationale de Ternopil, Département de biologie et de chimie. Ils ont testé le Petiol de haut en bas dans le contexte de la mesure de l'aire. Le résultat - la zone est statistiquement fiable, les mesures sont rapides et pratiques pour l'utilisateur.


Photos de Petiole

Des agronomes nous attendront un retour sauf en 3016. La raison en est que, en général, les agronomes ne sont pas intéressés par notre application. Puisqu'ils le voient comme un concurrent. Notre client est le propriétaire de l'agro-industrie, qui souhaite automatiser le travail de l'agronome et l'exclure complètement de la chaîne de décision. Mais dans la solution sous sa forme actuelle - parcourir les champs avec l'application - ils sont peu intéressants (dans le contexte de l'Ukraine). La superficie des champs d'une entreprise moyenne est de 10 000 ha. Si nous prenons la Corée du Sud pour comparaison, la superficie agricole moyenne est de 2 hectares. Petiol est la solution parfaite pour eux.

Pour autant que vous puissiez le comprendre sur les photos, est-il nécessaire que l'application ait un support d'étalonnage ou quelque chose de similaire? Pouvez-vous en parler? Combien coûte le luminaire? Sa présence affecte-t-elle la décision finale d'utiliser Petiole?

Le support d'étalonnage est un ajout nécessaire et agréable à l'application mobile. Dans notre communication marketing, j'oublie toujours de dire qu'elle n'est nécessaire que pour mesurer la surface de la feuille. Aucun support n'est nécessaire pour mesurer la chlorophylle. Pourquoi avons-nous décidé de prendre position pour mesurer la surface? Sa présence réduit parfois la complexité de l'algorithme. Et améliore encore les performances globales. Dans mes présentations, j'aime dire qu'avec l'aide du stand, vous pouvez faire trois choses à deux mains. Tenez le smartphone, tenez la feuille et appuyez sur les boutons sur l'écran du smartphone. La première version était en aluminium. Un peu cher, mais vous pourriez changer la hauteur du support.

Des personnes expérimentées ont conseillé de couler du plastique. Mais, après avoir entendu le coût de fabrication du moule pour le remplissage, nous avons décidé d'attendre avec cela. Ensuite, je suis accidentellement entré dans un grand supermarché de construction et j'ai vu des marches en hêtre et des feuilles de polystyrène antireflet. Et j'ai réalisé que c'était ça. Tout est coupé sur la toupie et assemblé à l'aide de velcro.


Photos de Petiole

Le coût du stand est notre secret commercial. Prix ​​de vente - trente dollars américains. Pour un usage académique, nous donnons gratuitement des stands. Déjà huit ont été distribués. Bien sûr, sa présence affecte la décision d'utilisation. Chacun de nous veut simplement apporter l'appareil photo du smartphone à l'usine et obtenir presque toute la composition chimique. Mais si une personne le veut vraiment, elle pourra contourner ce problème. Nous l'aidons avec cela - vous pouvez télécharger un fichier avec un échiquier et utiliser une pile de livres au lieu d'un rack. L'application a été examinée par Greenappsandweb il y a deux semaines. Ils ont ainsi pu terminer le cycle de mesure complet sans support.

Je vois. Est-il possible de décrire l'algorithme de l'application? Quelles bibliothèques sont utilisées? Quels étaient les problèmes et quelles sources ou consultants ont été utilisés?

Au niveau de l'application Android, nous utilisons la bibliothèque OpenCV pour des choses liées à la vision par ordinateur. L'application dispose actuellement de deux algorithmes de base. Le premier détermine la zone de la feuille. Le second est un index vert foncé. Pour la zone de la feuille, nous trouvons une matrice d'homographie entre le plan de la plaque de réception blanche et le plan de la matrice de l'appareil photo du smartphone. Un processus similaire à l'étalonnage d'un objectif d'appareil photo à l'aide d'un damier noir et blanc. Ensuite, nous traitons l'image de la caméra (une feuille sur une plaque blanche) afin d'obtenir un bon contour.

Les coordonnées des points du contour sont recalculées à partir des coordonnées de la caméra en coordonnées réelles. À partir de ces valeurs, nous trouvons l'aire de la feuille. Dans le même temps, nous travaillons avec l'ombre (minimiser) et avec le pétiole (coupé). Pour l'index vert foncé, nous convertissons l'image du mode KZS (RVB) en HSV. Nous nous divisons en canaux et sur le canal «Couleur», nous trouvons la valeur moyenne sur la feuille dans une plage donnée. Nous le normalisons à la plage et obtenons l'index. En utilisant les dépendances de la chlorophylle sur l'indice vert foncé (il s'agit généralement de modèles linéaires, tels que y = ax + b), obtenus dans notre agro-laboratoire, nous la recalculons directement à la teneur en chlorophylle dans l'application. De plus, nous utilisons Fabric, Volley, Material Design.


Photos de Petiole

À un stade précoce, il y avait des problèmes avec la précision de la mesure de la zone, mais nous l'avons résolu en ajoutant une matrice d'homographie au processus de mesure. Viennent ensuite les problèmes de performances. Malheureusement, un smartphone n'est pas un ordinateur, son processeur est relativement faible. Google résoudrait ce problème en envoyant simplement des données au cloud. Mais pas partout, il y a une couverture Internet, la 3G et d'autres commodités de la civilisation. Surtout sur le terrain sur les sites expérimentaux. L'algorithme a fonctionné lentement et s'est souvent écrasé avec des erreurs de dépassement de mémoire comme void * cv :: OutOfMemoryError (std :: size_t) . Mais après l'avoir réécrit pour la troisième fois, nous avons réussi à surmonter un comportement aussi étrange.

Selon les sources, les livres électroniques OpenCV (Packt Publishing), la base de connaissances answers.opencv.org, les dépôts publics sur Github et une bonne documentation sur le site Web de la bibliothèque OpenCV lui-même nous aident beaucoup. Il est clair qu'Android avait également besoin de connaissances. Surtout en termes de configuration de la compilation d'algorithmes natifs dans des bibliothèques utilisant le NDK, et donc tout fonctionne bien. Mais nous avons pu rapidement combler le vide en utilisant la merveilleuse ressource Udacity.

Une partie du code n'est donc pas écrite en Java, mais en C ++?

Oui Le code responsable du fonctionnement de l'application, le stockage des données dans la base de données, est écrit en Java dans le SDK Android. Le code responsable du fonctionnement de l'algorithme est écrit en C ++ et utilise Android NDK converti en une bibliothèque statique. L'application charge la bibliothèque au démarrage et utilise des appels de fonction de bibliothèque OpenCV natifs. En général, il existe une bibliothèque java pour utiliser OpenCV directement dans le code de l'application, sans utiliser JNI. Mais les performances sont différentes de celles des appels de code natif. Nous avons maintenant une performance d'environ 5 images par seconde lors de la mesure de la surface de la feuille en temps réel. En utilisant une bibliothèque java, il y aurait probablement environ 2FPS.

. . , , - . .

Question assez délicate. Mais tu peux essayer. Vous devez d'abord comprendre ce que nous mettons dans le «soutien professionnel». Si c'est de l'argent, alors il est nécessaire, avant de s'impliquer dans toute cette histoire, de le gagner d'abord sur un emploi régulier ou en freelance. Si c'est du patronage, alors quelle chance quelqu'un a. S'il s'agit d'une couverture médiatique, vous avez besoin de connaissances parmi les journalistes (le foie en souffrira) ou d'une bonne couverture médiatique (par exemple, a remporté le hackathon). La présence d'un, ou mieux immédiatement de tous les facteurs, augmentera vos chances que les investisseurs potentiels vous connaissent. Mais, il y en a un mais. Apprendre n'équivaut pas à investir. Presque tous les investisseurs potentiels en Ukraine connaissent notre projet, mais aucun d'entre eux n'a investi un centime. Pourquoi? La question est rhétorique.

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


All Articles