We are looking for a freelancer to develop an application able to group together / sort all common image and video files based upon similarity (i.e. grouping similar images and videos together based upon visual comparison). The application must work on Windows, Mac and Linux operating systems, and be developed in Java for cross platform abilities and integrating into further developments.
Full details of the application will be sent to shortlisted candidates for review before any offers are made.
Detailed requirements at a high level:
- The application must be able to group together Images and Video based upon similarity (where necessary grouping images with the videos (e.g. where the image is a screenshot of a video)
- Once the files are sorted, the application must be able to output the results by:
o Writing results to an XML file (containing file name, location, sort order, and any other details)
o Modifying an existing XML file – the existing XML currently has a value for each file in the source folder showings its current order; this will need to be with the new-sorted order (e.g. 1 may be come 500 where the file which was first in the folder is sorted into position 500 etc.)
o Appending the file name based upon the sorted order (e.g. [url removed, login to view] becomes [url removed, login to view] as it is sorted into position 1)
o Output detailed comparison results for both image and video (video especially, showing the comparison or reason for grouping e.g. Video 1 00:00-00:15 is a 99% match to Video 2 time index 00:30-00:45)
- The application must be able to compare the visual features of the images and video (including shapes and colours) to provide a very accurate comparison. Please send details of the algorithm to be implemented with your algorithm – any algorithm can be used as long as it is accurate free for commercial usage
- The application must have a simple splash screen, one main window for launching the scan (selecting source folders, scrollbars (estimated time, progress, current workings) etc), and have one settings window. The proposed GUI design of our client will be issued to shortlisted candidates.
- The application must work:
o As accurate as possible
o As fast as possible (including multithreading)
o As efficiently as possible
o With the ability handle potentially millions of files in one sort
o With the ability to transverse file directories (e.g. files in folders, in folders … etc)
*** Before applying please ensure you can meet all of the above requirements, send details of the visual comparison technique you propose implementing (whitepapers, articles or technical information), and if possible any estimated performance of the application i.e. how long it should take to sort 1 Million files) ***