Hello to all readers of Geektimes. Today we have the opportunity to talk about the “live” development of our own ideas with the founder of the startup Petiole Andrey Seleznyov. We will try to ignore the triumphant reports and suggestions about how easy it is (or difficult) and how pleasant it is to feel the attention of the press.
Instead, we want to talk about a rather long process: how the idea originates, about the theoretical baggage of knowledge of the author or authors, how the idea acquires tangible features, and, most importantly, how it goes into the living world and conquers the audience. We mean an honest story about the search for investors and further development.
')
We would like to avoid advertising announcements, but we will have to say a few words. This is a technically specialized application Petiole, which with the help of a mobile phone camera allows you to determine the area of leaves of plants and the content of chlorophyll.
Let's start from the beginning. At first glance, the Petiole task looks extremely specific. How did you get the idea to deal with this problem? What is the potential audience for the application?
Yes, Petiole solves a very specific problem. This is our feature. The thought came when this problem lived with you for three months. More precisely, I lived with a friend Vyacheslav Bykov in the same room. At that time, he worked at the Institute of Evolutionary Ecology of the National Academy of Sciences of Ukraine, and studied the influence of negative factors on the poplar pyramidal. For this, the leaf area was measured. The process looked very budget and not optimal - a scanner, photoshop, ImageJ through the console, mixing data in Excel. At the same time, the licensed software was in the “infinite demo version” mode, which added spice to this kind of research. Vyacheslav came home late and with green fingers, from constant contact with dry and fresh leaves. I wanted to help him and in one evening I thought that the task can be solved with the help of a regular smartphone. Word for word, spun spinning, and in the end we managed to implement it. The potential audience for the application is diverse. At first they were biologists, ecologists. Then we got an interest from the scientists of agrochemists. Then we added chlorophyll and representatives of large agricultural holdings started calling us.
Petiole Photos
Speaking in numbers, they are much different from the audience of popular social networks. Now we have 88 active monthly users. Growth is small from month to month, but it is there, and it makes us happy.
OK, then we will cling to “the problem can be solved with the help of an ordinary smartphone” and “Word by word, it started spinning, and in the end we managed to implement it”. Please tell us about your programming experience and how long did it take to create a working Petiole code?
The programming experience is different and peculiar. I wrote my first program at the age of nine in the programming language FoxPro 2.5. Parents worked in the Computing Center of the Donetsk Railway. And after school, I liked to visit and examine thick books with source code (usually I painted them with all sorts of pictures). Then I dabbled in Pascal, Delphi, Qt, Ruby on rails. I want to note that I do not have a classical computer education, I myself am a graduate engineer - land surveyor. And on the "galleys" he worked a total of no more than two years. But this did not prevent me and my young team from writing for about seven months with interruptions to write the working code of Petiol. Given that we rewrote the base algorithm three times.
In the process, it was already clear that the project should have some kind of future? A blog was created, investors were sought for, was communication with the target audience?
No, about half the way the project was initially aimed at solving the problem of one person. But last June, we became finalists at GIST Tech-I. And from that moment on, the project acquired more global goals and objectives. The blog was created about three months ago. We communicated actively with investors last fall. We are constantly trying to keep in touch with the target audience and receive feedback. These are mostly Ukrainian scientists.
You can tell more about GISTech-I. It is clear that everything can be googled, but the author’s attitude to this is interesting. Why is it profitable, cool, useful? By the way, how big is your team?
GIST Tech-I - a global competition of technological and scientific projects for developing countries. It is organized with the support of the US Department of State and is implemented by the AAAS (American Association for the Advancement of Science). The culmination of the competition takes place within the Global Enterpreneurship Summit. By the way, we became the first finalists from Ukraine for all the time of its holding since 2011. The main difference from other competitions is teams from emerging economies only. Projects were evaluated according to the criteria of welfare and microeconomic improvement indicators for society. Personally, the semifinal stage was useful to us. It was necessary to collect as many votes in the online voting for one month. Voting chip - one person can vote every day.
We collected 5,775 votes, which allowed us to take 15th place in the “ideas” category and get to the final. The final itself consisted of a two-day training (how to create a company, marketing, promotion in social networks) and three days of participation in the summit with the pitch of his project on the big stage. Personally, I still have a lot of impressions from both Africa and the summit and competition. The main thing is that I met wonderful people from Africa, Mexico, Kazakhstan, Azerbaijan, Malaysia, Chile, Peru, expanded my horizons, and flew on airplanes for the first time in my life.
Our team consists of 8 - 10 people who have helped a lot at different stages of the project formation. Unfortunately we do not have a budget to pay wages. But despite this, people worked in their free time and for the idea that we were very pleased. Basically, these are my friends from the “Tomorrow. UA” scholarship program.
Where did the whole event take place? How was it furnished? Who had to compete? And how did you get on this list ?
The event took place in Nairobi, the capital of Kenya. Physically, the first two days of training were held in the conference hall of the five-star hotel Sarova Stanley. The remaining three days on the territory of The United Nations Office. The situation was generally working. Each of the finalists was aimed at winning. Constant pitch workouts and presentation preparation until three in the morning. Our project competed in the “ideas” section. Of the 15 people, in my opinion, all were as on the selection. The competition was strong and my weak spoken English slightly reduced my chances of winning. Most of the prizes were taken by teams from Africa and South America.
We were selected to the list according to the results of the “Startup Open 2015” competition. This is a global competition for startups, including developed countries. For us it was a pleasant surprise. And I am proud that our project is on the same list with such projects as Lishot, AeroAnalytics, AppleDoc, BethClip and Smart Mobile Farming.
OK, let's go back to the practical side of the question. The application existed before you participated in GIST Tech-I. Then you took part in various events. What changed? On the other hand: what feedback do you get now? From real agronomists or scientists?
Yes, a working application existed before we took part in GIST Tech-I. But first, we used an algorithm with a gauge square. He gave bad measurements. Often there was a systematic error of two square centimeters. Plus, the instability of the application as a whole. Also, we have not implemented the function of measuring chlorophyll by the dark green index. The second - by the spring of 2015, the active development of the application was suspended. In general, I forgot to say that we also have a cloud, where measurement data from all users are collected. But this is a separate story.
At that time, there was a prototype with basic functions. In the fall of 2015 and spring of 2016, we took part in about ten events (conferences, fairs, exhibitions, picnics), where we told, showed how the application works and what can be done with it. Most of the performances were on “Scientific Picnics” in Kiev. Actually, the first public demonstration took place there in the summer of 2014. The main change for us is that people began to understand that a smartphone can be used not only for games, but also for solving complex tasks. We have requests from various universities. We even took the third place at the first agro-hakatone of Ukraine (held in Ternopil).
Now more feedback comes from scientists. Recently I received a letter from our user in the Ternopil National Pedagogical University, Department of Biology and Chemistry. They tested Petiol up and down in the context of measuring the area. The result - the area is statistically reliable, measurements occur quickly and conveniently for the user.
Petiole Photos
We’ll wait for the agronomists except in 3016. The reason is that, on the whole, agronomists are not interested in our application. As they see it as a competitor. Our client is the owner of agribusiness, who wants to automate the work of an agronomist and completely eliminate him from the chain of decision making. But the solution in the form it is now - to walk in the fields with the application - they are of little interest (in the context of Ukraine). The field size of an average enterprise is from 10,000 hectares. If you take South Korea for comparison, then there is an average farm area of 2 hectares. Petiol is the perfect solution for them.
As far as one can understand from the photographs, is it necessary to have a calibration stand or something similar to the application? Can you talk about it? How much does a fixture cost? Does its presence affect the final decision on the use of Petiole?
Calibration stand - the necessary and pleasant addition to the mobile application. In our marketing communication, I always forget to say that it is only needed to measure the area of a sheet. No stand is needed to measure chlorophyll. Why did we decide to make a stand for measuring the area? Its presence reduces the complexity of the algorithm at times. And further improves the overall speed. In my presentations, I like to say that using a stand you can do three things with two hands. Hold the smartphone, hold the sheet and press the buttons on the screen of the smartphone. The first version was aluminum. Expensive, but it was possible to change the height of the stand.
Seasoned people advised to pour out of plastic. But, having heard the cost of manufacturing the mold for casting, we decided to wait with this. Then I accidentally hit a large building supermarket and saw steps made of beech and anti-glare sheets of polystyrene. And I realized that this is it. Everything is cut on the router and is assembled with velcro.
Petiole Photos
The cost price of the stand is our trade secret. Selling price - thirty US dollars. For academic use we give stands for free. Already eight pieces distributed. Of course, its presence affects the decision to use. Each of us wants to just bring the smartphone camera to the plant and get almost the entire chemical composition. But if a person really wants, he can get around this problem. We help him with this - you can download a file with a chess card and use a stack of books instead of a rack. The app two weeks ago did a review Greenappsandweb. So they were able to perform the entire measurement cycle without a stand.
Clear. Is it possible to outline the algorithm of the application? What libraries are used? What were the problems and which sources or consultants were used?
At the level of the android application, we use the OpenCV library for things related to computer vision. The application currently has two basic algorithms. The first determines the area of the sheet. The second is a dark green index. For the sheet area, we find the homography matrix between the plane of the white receiving plate and the plane of the matrix of the camera of the smartphone. The process is similar to calibrating a camera lens using black and white chess. Next, we process the camera image (sheet on a white plate) in order to get a good contour.
The coordinates of the points of the contour are recalculated from the coordinates of the camera to the real coordinates. For these values we find the area of the sheet. At the same time, we work with the shadow (minimize) and with the stem (cut). For the dark green index, we are transferring the image from the RGB mode to HSV. Divide into channels and channel “chromaticity” find the average value for the sheet in a given range. Normalize it to the range and get the index. Using the dependence of chlorophyll on the dark green index (these are usually linear models, such as y = ax + b), obtained in our agro-laboratory, we recalculate it into the content of chlorophyll directly in the appendix. In addition, we use Fabric, Volley, Material Design.
Petiole Photos
At an early stage, there were problems with the accuracy of area measurements, but we solved it by adding the presence of a homography matrix to the measurement process. Then there were performance problems. Unfortunately, a smartphone is not a computer, its processor is relatively weak. Google would solve this problem simply by sending data to the cloud. But not everywhere there is Internet coverage, 3G and other delights of civilization. Especially in the field at the experimental sites. The algorithm worked slowly and often crashed with memory overflow errors such as
void * cv :: OutOfMemoryError (std :: size_t) . But by rewriting it for the third time, we managed to overcome such strange behavior.
According to sources, e-books on OpenCV (Packt Publishing), the answers.opencv.org knowledge base, public repositories on Github, and good documentation on the OpenCV library site itself help us well. It is clear that knowledge was also needed on Android. Especially in terms of setting up compilation of native algorithms to libraries using NDK, and that it all worked well. But we managed to quickly fill the gap, using a wonderful resource Udacity.
So part of the code is not written in Java, but in C ++?
Yes. The code responsible for the operation of the application, saving data in the database, is written in Java as part of the Android SDK. The code responsible for the operation of the algorithm is written in C ++ and converted into a static library using Android NDK. The application loads the library at startup and uses the native function calls of the OpenCV library. In general, there is a java-library for using OpenCV directly in the application code, without using JNI. But performance is different from native code calls. We now have a performance of about 5FPS when measuring the sheet area in real time. Using the java library would probably be around 2FPS.
Thanks for the answers with technical details. Now I propose now to systematize everything a little. Is it possible to formulate in short enough a sequence of actions for those guys who do not have professional support, but who nevertheless wanted to advance with their technical solution to the problem? So that potential investors know about them.
Pretty complicated question. But you can try. First you need to understand what we are investing in “professional support”. If this is money, then it is necessary, before you get involved in this whole story, to earn it in advance on a regular job or freelance. If this is patronage, then how are you lucky? If this is a media coverage, then you need to meet among journalists (the liver will suffer) or a good media guide (won hackathon, for example). Having one, or better all, factors at once, will increase your chances that potential investors will learn about you. But, there is one thing. Learn is not equal to invest. Almost all potential investors in Ukraine know about our project, but none of them have invested a penny. Why? The question is rhetorical.