Markov Random Fields have been widely used in computer vision problems, for example image denoising, segmentation and human action recognition. The structure of the graph can be determined using human heuristics or domain knowledge, or can be learned from data when assuming graphs are homogeneous in topology. However, there are many applications for heterogeneous graphs. This research concentrates on estimating heterogeneous graphs and labels simultaneously from the observation. The joint estimation of graphs and labels is formulated into maximising a joint likelihood inference. Unfortunately, these inference problems are generally NP-complete, and we thus develop novel algorithms for effectively and efficiently finding approximate solution...