I don't think this does any harm but it messes up the formatting
void peoplecounter() {
{
Here's one thing that definitely can't work
activatedMillis = currentMillis;
if(currentMillis - activatedMillis > interval)
You set activatedMillis equal to currentMillis and then immediately check to see if they're different. Since nothing has changed either of them between the first and second lines they're not different.
You have to set the time that you've done something immediately after you've done it and then not reset it every time you go round the loop.
I can't quite work out if there's a similar problem in servosweep(). But it looks wrong because you add servoInterval to previousServoMillis and THEN you go and change the value of servoInterval. And the comment on the last line says "and record the time when the move happened" but there's no code that does that.
Steve