Software:VisiPics

From HandWiki
VisiPics
Developer(s)Guillaume Fouet (aka Ozone)
Initial release2007
Final release
1.3.1[1] / 2013-02-04[1]
Operating systemMicrosoft Windows
TypeDuplicate image search
LicenseDonationware[1]
Websitevisipics.info (Archived) (Since 2023, the official website is taken over by someone else)

VisiPics is a closed-source Windows software designed to identify and manage duplicate or visually similar images on a user's hard drive. Developed by Guillaume Fouet (aka Ozone), it is a freeware tool that has been widely used for organizing large image collections by detecting duplicates, including images with different resolutions, formats, or minor edits. Released in its initial beta version in 2007.[2][3]

Features

VisiPics scans selected folders to catalog images and applies four image comparison filters to identify visually similar pictures. It can detect duplicates across different resolutions, file formats (e.g., JPEG, PNG, RAW), and images with minor cosmetic changes, such as slight color adjustments or cropping.[2]

Development

Based on information in the VisiPics help files, it uses various software libraries such as ImageMagick (Magick++ for image loading, decoding, and preprocessing) and ZLibEx.

Algorithm

VisiPics uses a proprietary algorithm to detect visually similar images, distinct from common methods like Structural Similarity Index (SSIM) or mean square difference. VisiPics’ algorithm detects visually similar images using four comparison filters, optimized for speed and flexibility.[4] Key functions of the image similarity search algorithm used in VisiPics:

  • Preprocessing: Normalizes resolution, suppresses uniform backgrounds, and adjusts for brightness.
  • Feature extraction: Uses color histograms, edge detection, texture analysis.
  • Luminosity weighting: Adjusts features for lighting variations via a neural network.[4]
  • Similarity scoring: Aggregates filter scores with adjustable strictness (strict for near-identical, loose for broader similarity).
  • Rotation detection: Matches 90° rotated images (slower, optional).[4]
  • Optimization: Employs a chained indexed list (e.g., perceptual hashing) for fast grouping of similar images.[4]
  • Handles edge cases: Detects low-information images (e.g., black-and-white), varying resolutions, and loosely similar images (e.g., sunsets).

References