EDIT: Sorry for the wall of text. Also, why your idea is good:
Consider a person going from "sitting" to "jogging". When the change point occurs, the reading on the accelerometer will be high for a short period (in the forward direction). As soon as he runs at his steady pace, it will be "0".
The article and your research are quite interesting. I am currently interested in the similar things (more from the theoretical side than practical application side).
You say at the end of the article that you are interested in “Change detection” which is quite wide. What exact setting are you interested in? :
Here is a (biased, IMHO) taxonomy of change detection methods for time-series data:
1. Only samples from a time series is provided, no labels or assumptions.
2. Time series has different “modes”. For example, you have a time series of an electric motor that can either be in normal operation or abnormal operation (broken). You have “training” data that only consist of normal operation (“inlier”). You then have the “test” data that is a time series of the motor and some abnormal (failure) times (the unlabeled test dataset therefore consists of both “inliers” and “outliers”). The goal is then to identify the abnormal times (you do not have labels of the abnormal so you cannot straightforwardly calculate a classifier).
3. Time series has different “modes”. For example, you have a time series of an electric motor in normal operation. You only have “test” data that is a time series of the motor and some abnormal points (e.g. failure). The goal is then to identify the outlier points.
4. The time series have different “modes”, but you don’t have access to labeled sets. A good example is human activity recognition from accelerometer (e.g. “walking”, “running”, “dancing”, and “sitting”). This is more akin to clustering (i.e. divide the time series data into four clusters).
For (1), I don’t think one-class SVM is the best approach (there are some other methods based on divergence estimation). One-class SVM will work well for (3). There are already some techniques for (2) (I have some ideas to improve them). (4) is an interesting problem, because it is actually an “easier” problem than clustering.
I assume that you have labeled dataset. Then perhaps (2) is the best setting for determining change points. All of the training data can then be considered to be one class (“inliers”). The points at which the classes change you don’t know (i.e. “outliers”).
Here is an example:
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05460897
(1) usually involves estimating a divergence (such as Kullback-Leibler) with a sliding window and comparing the result.