This also raises another question: has US officer insignia changed any over time?
Well, yes and no. The symbols are the same for most officer ranks in the Army, but the colors have changes. For the Navy the stripes for ranking has changed drastically. The collar rank for Navy (for the most part) and Marine corps followed the Army standards below. When looking at a CW photograph you can often easily tell the rank of the individual with the exception of Major/Lt. Col. since the only difference is color.
Let's start with the Army ranks. Except for senior officers, all ranks are organized by color
Artillery Red
Cavalry Yellow
Infantry Light blue
The ranks from bottom to top:
2nd Lt. no symbol only color (today it is a single gold bar)
1st Lt. a single gold bar (today a single silver bar)
Capt. two gold bars (today two silver bars)
All other rank symbols and colors have not changed
Civil War ranks:
Now the Navy, this is much more complicated. As I mentioned above the collar symbols (for equivalent rank) are the same for most of the war, but include an anchor to indicate Navy. The stripes on the sleeves (which also indicate rank) varied in number and thickness and number of stripes and it is often difficult to tell the rank unless you know the year the image was taken so you can reference it (see chart below).
For those not familiar with Navy vs. Army/Marine Corp ranks here is equivalent structure from bottom to top:
Navy Rank symbols from the Civil War by date: