Lerp in local space on moving object

Hey,
how to lerp in local space when object is moving? This code work fine on static objects, but when it moves (fast) then cameraPart on start is a little bit far away to playerPart. I tried calculate offset on moving object and applied to initialCamera variable but this not work as expected.

Testing Code
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local playerPart = Instance.new("Part")
playerPart.Size = Vector3.new(3, 3, 3)
playerPart.Position = Vector3.new(0, 2, 0)
playerPart.Anchored = true
playerPart.Parent = workspace

local cameraPart = Instance.new("Part")
cameraPart.Size = Vector3.new(1, 1, 1)
cameraPart.Position = Vector3.new(-20, 10, 0)
cameraPart.Anchored = true
cameraPart.Parent = workspace

local increment = 1 / 360
local alpha = 0
local initialCamera = cameraPart.CFrame

while alpha < 1 do
	RunService.Heartbeat:Wait()

	playerPart.Position = playerPart.Position + Vector3.new(1.5, 0, 0)
	alpha = alpha + increment

	local cameraStartPosition = CFrame.new(playerPart.CFrame.Position) * CFrame.new(-5, 5, 0)
	local cameraFinishPosition = CFrame.new(cameraStartPosition.Position, playerPart.CFrame.Position)
	cameraPart.CFrame = initialCamera:Lerp(cameraFinishPosition, alpha)

	-- Refresh
	initialCamera = cameraPart.CFrame
end