Improving Image Quality in Property Finder
Property Finder is a real estate marketplace in the Middle East, and our purpose is to help consumers find the perfect home. Our user experience is optimized to enable users to effortlessly navigate through an extensive set of property choices without leaving their home. After picking their preferred options, we also provide easy ways for users to contact real estate agents who can help further.
Although we’re continuously optimizing and improving our user experience, there are always new areas of opportunity.
We have strong methods for gathering user feedback, and while most of this feedback is positive, focusing on the negative feedback allows us to progress.
The Tweet above reveals a user dissatisfied with the quality of some of our listings. To manually examine more than 100,000 daily active listings is not easy, and while splitting the task between many people might get the job done, it would not be cost-efficient.
To provide background, here’s the process for property-content creation currently:
- A property owner who wants to sell or rent a property approaches an agent.
- The agent and the owner sign a contract that contains the characteristics of the property, plus additional details.
- Depending on the agent’s budget, he/she can either hire a professional photographer to take pictures of the property, take the photos themselves with a phone or camera, or get images from the property owner.
- The agent creates a title and a description and transcribes some of the characteristics of the property into Property Finder’s Manager application, or through a Customer Relationship Management (CRM) system.
- The agent submits the information.
As mentioned in the official quality score guide, the only considered quality factor for images is the number of pictures. If the agent uploads ten images, even if they are repeated, it gets a perfect score in that section. Consequently, there is not a special incentive for agents to upload good images.
- Create an algorithm that allow us to quantitatively detect poor quality images.
- Design a set of actions to improve the overall quality of Property Finder images.
Characteristics of images on low-quality listings
Given the current definition of image quality, one of the most common cases of low-quality listings is the inclusion of one or more duplicated images. This often happens because agents do not have enough images to fill our ten-image quota. For instance, unfurnished properties, or properties without enough space to capture several shots. Imagine taking ten different pictures of a studio. Duplicated images do not add value to the user, and consume valuable search time.
Noisy images result when the photographer does not focus the shot correctly. These days, most cameras have incorporated auto-focus algorithms; however, it is still common to encounter noise in listing images. The most common types of noise in our listings are: blurriness, compression, and poor lighting conditions. Noisy images are not desirable because they decrease the user experience by obscuring the small, yet essential details of the property’s surfaces.
Currently, some image noise is caused by the way compress images to improve the website loading time. Going forward, having an approximation of a quality score will help us to optimize the image compression algorithm without compromising the site’s performance.
First of all, we wanted to select an algorithm that takes an image as input and returns a score from 0–100. A few well-known algorithms tackle the problem, including DIIVINE, BLIINDS2 and BRISQUE. These are hybrid algorithms that rely on the distribution of natural scene statistics (NSS). In theory, the distribution of NSS in distorted images (bad-quality) is different from good quality images. First, NSS features are calculated for each image; second, the NSS features are mapped to the corresponding quality score using machine-learning algorithms.
Cutting-edge methods rely on deep learning to map learned features to the relative scores. The main disadvantage is that they require a large number of samples to work accurately.
In the end, we selected BRISQUE because it is efficient (for the method details click the link below) and, according to the bibliography, performs well. On average, it takes 0.2 seconds to process one image and the correlation of the algorithm and the relative quality score is higher than 0.92 on benchmarks like LIVE IQA and TID2008.
Automatic Image Quality Assessment in Python
Step by step guide to code BRISQUE method for automatic image quality assessment
We ran the quality assessment algorithm across all the pictures on our site and took the average per listing to calculate an image quality score. The quality assessment algorithm is not perfect; however, after applying it to the complete set of images in a listing, it worked well in separating out listings with desired images against lousy ones. The difference of accuracy between our database and the benchmarks was a little bit disappointing, though we expected this due to the benchmarks being created using synthetic noise.
The distribution of the image quality score presents a skew to the left, meaning that the dispersion of the low-quality images is much higher than the ones with good quality. Most of the pictures are of regular quality.
In Fig 8, below, you can see that the average image quality score on our site is lower than before. Thus, it is urgent that we take actions and start rewarding the agents that are doing an excellent job regarding the quality of the images they upload.
Impact of image quality to listing views and leads
We ran some experiments to predict the effect of the image quality score on listing views and leads, including some control variables (property price, location, offering type, time online, and more) to isolate it. Listings with a regular quality score (from 85–95) compared to low quality score (0–60) had 20% more listing views, and listings with an excellent quality score (95–100) showed 30.85% more views.
Additionally, listings with a regular quality score had 24.43% more leads than low quality ones, and listings with an excellent image quality score had 49.62% more leads than low quality score listings.
The next step is to include the listings quality score into our ranking algorithm to encourage brokers and agents to improve the quality of their content.
We are continuously listening to our users, and one of the most common complaints is the quality of the images on our listings. We depend on agents to be careful and creative when creating their content. However, under the current conditions, there is a lack of incentive for agents to provide the best images, which is why we are investing in this area. The BRISQUE algorithm proved to be a more-than-satisfactory solution to uncovering the effect of image quality on listing views and clicks. Furthermore, it enables us to have constant communication with agents to help them enhance their content.
If you liked this article and want to be part of our brilliant team of engineers which produced it, then have a look at our latest vacancies here.