Самый примитивный способ получить относительно адекватный рейтинг вне зависимости от количества проголосовавших, на мой взгляд, будет выглядеть примерно вот так:
R - рейтинг;
Vote - оценка, поставленная проголосовавшим пользователем;
Votes - количество проголосовавших (позже мы от него избавимся)
M - весовой коэффициент всего голосования за данную фотографию;
S - установленная опытным путем норма проголосовавших за единицу времени (к примеру, единица времени=1 день);
T - время, прошедшее с начала голосования;
Тогда, R=(sum(Vote)/Votes)*M;
M=Votes/(T*S);
Следовательно,
R=(sum(Vote)/Votes)*(Votes)/(T*S)=sum(Vote)/(T*S);
Таким образом будет учитываться интенсивность голосования за данную фотографию, чем она выше, тем больше весовой коэффициент, тем больше рейтинг. Рейтинг потом можно привести к любому виду, в котором удобно его отображать.
При этом, если интенсивность голосования с течением времени падает, то и рейтинг снижается, фотография уступает свое место другим, более новым (ну нафига мне иметь на первом месте фотографию, за которую уже никто не голосовал полгода). Отдельным списком можно представлять фотографии, сумма голосов за которые превысила определенный предел не теряя таким образом лучшие экземпляры. Назвать эти списки можно как угодно, вплоть до Gold Photos
Надеюсь, я не зря все это писал