This project requires the ability to analyse a collection of images from high resolution aerial imagery of a major city in Australia (Melbourne) to detect certain features and characteristics, relating to water demand, rain absorption and run-off. We are looking for a solution where we can submit a batch of images that will be classified by your solution to identify these characteristics, using Python and OpenCV. Additional libraries may be used to assist with visual recognition if necessary.
Features of interest will initially begin as follows:
* Swimming pools (indicative of high water demand)
* Open grassland - subdivided into high/medium/low levels of irrigation (based on HSV / colour)
* Areas of dense tree vegetation
* Open water (lakes, pools, ocean) - do not include swimming pools in this category
Raw satellite data will be provided as a series of (slightly overlapping) images
We expect you will use colour masks using HSV values to identify pools and grass as individual contours. For all categories calculate the total area as a percentage of the tile. You may need to develop your own classifiers to detect vegetation. We will supply some marked up examples of pools and vegetation however you may have to perform your own additional markup on the raw images to train your classifier, if you choose to use one.
Examples are in attached PPT.
Your script must be able to take a number of input images and subdivide them into smaller gridded tiles, driven by parameters in your script. E.g. we may wish for each supplied image to be subdivided into 6 columns x 4 rows etc.
For each tile in the image:
* identify the unique number (count) and approximate area of swimming pools.
* identify the approximate area of open grassland, further subdivided into tiers or clustering based upon the amount of irrigation. E.g. in this tile 36% is open grassland, of which: 5% in highly irrigated, 14% in medium irrigated, 17% in low irrigated.
* identify the approximate area of tree coverage
* identify the approximate area of open water
* calculate the remaining area of the tile which approximates as area of roads, buildings
The output should be exported to a CSV file, where the input image is referenced, the subdivision into tiles, and the percentage areas of coverage are broken down as shown above.
Filename, tile: x, tile: y, %pools, %total grassland, %high irrigation grassland, %medium irrigation grassland, %low irrigation grassland, %open water, %buildings
(sums to 100%)
We would be interested in a discussion of your recommended approach, however we would expect a script that can be executed in Python 3.7 using OpenCV bindings. We will verify correct performance of your script by processing a similar batch of images separate to those provided to you as part of the brief.
Please commence your response with Python Aerial Imagery Analysis to indicate you have read and understood the brief, and provide your final and fixed price for this project. Failure to deliver with the stated success rates or on the agreed time will result in an unsuccessful project and will forfeit the associated payment.
Final deliverable is a Python script with appropriate comments/documentation in English and required libraries (e.g. via pip/pip3).
19 freelancers are bidding on average $861 for this job
Dear Client. I am an experienced OpenCV developer with full knowledge and career. I am sure I can do your job perfectly. Hope to see you in a chat. Thank you for taking time to read my application. Kind Wishes.
Hi, This project looks something we have worked before. I can work on this job and provide you the clean work with documentation/pip/additional mark-ups. Happy to help. Looking forward. Thanks, Harsh