Finding the children is actually quite easy as shown below once you know they are accessed through Transforms. Fortunately I don't need to aggregate the children to generate the bounding box because of the way my models are designed. Basically I just need to know if the face is on screen.
Plane[] planes = GeometryUtility.CalculateFrustumPlanes(localCamera);
if(GeometryUtility.TestPlanesAABB(planes, souls[i].transform.Find("face").renderer.bounds))
{
print ("Visible");
}