Camera Model Identification Based on the Characteristics of CFA and Interpolation Shang Gao1, Guanshuo Xu2, Rui-Min Hu1,* email.nancy.g@gmail.com, gx3@njit.edu, hrm1964@public.wh.hb.cn 1. Wuhan University, China; 2. New Jersey Institute of Technology, US Table of Contents Introduction – Camera Model Identification Color filter Array (CFA) and Color Interpolation in Camera Camera Model Detection Artifacts brought by CFA and Interpolation (Idea of feature extraction) Feature Set 1 Feature Set 2 Feature Set 3 Feature Extraction Flow Diagram Experiment Conclusion Introduction – Camera Model Identification One category of digital image forensics If the image we are interested in are captured by a digital camera, then, what is the make and model of the camera? CFA and Interpolation in Camera (1/2) •Fig.2. CFA pattern interpolation + + Demosaicing image (RGB) •Fig.1. CFA and interpolation processing Images from Internet CFA and Interpolation in Camera (2/2) The process of interpolation is to estimates lack color component by its existing neighbor color components. It can be regarded as a weighted average processing and is similar as low pass filtering [8, 9, 16]. Theoretically, it leads to the fact that interpolated color components are ‘smoother’ than the original part statistically. 0 0.25 0 0.25 1 0.25 0 0.25 0 •Fig.3. bilinear interpolation kernel (Green channel) [8] H. Cao and A. C. Kot: Accurate detection of demosaicing regularity for digital image forensics. IEEE Transactions on Information Forensics and Security 4(4), pp. 899-910 (2009) [9] Matthias Kirchner: Efficient Estimation of CFA Pattern Configuration in Digital Camera Images. Media Forensics and Security II, Proc. SPIE, Vol. 754110 (2010) [16] A.E Dirik, N. Memon: Image tamper detection based on demosaicing artifacts. In: ICIP(09), Cairo, Egypt Artifacts brought by CFA and Interpolation We use equation proposed in [16] r e var( N ) var( N ) m ax( , ) e r var( N ) var( N ) (1) Consideration We use this feature for camera model identification and expand the feature according to different CFA patterns. There are two pixel sets after interpolation: raw and estimated pixel set. The ‘smooth’ effect by interpolation will lead to different variances between these two sets. The statistical difference between raw pixels values and estimated pixel values is hard to observe using pixel values directly, but it could be more obvious by calculating the statistics of noise part. [16] A.E Dirik, N. Memon: Image tamper detection based on demosaicing artifacts. In: ICIP(09), Cairo, Egypt *Noise residual is found by calculating difference between original image and denosed image. *J. Lukas, J. Fridrich, and M. Goljan, "Digital Camera Identification from Sensor Noise," IEEE Transactions on Information Security and Forensics, vol. 1, no. 2, pp. 205-214, 2006. •Rudin, L., Osher, S., and Fatemi, E.: Nonlinear total variation based noise removal algorithms, physica D., 60 (1992), 259-268. CFA patterns we considered (a) (c) (b) (d) (a1) (a2) (c1) (c2) (c3) (d1) (d2) (d3) (b1) (b2) (c4) (c5) (c6) (d4) (d5) (d6) (a3) (a4) (a5) (a6) (b3) (b4) (b5) (b6) (c7) (c8) (c9) (d7) (d8) (d9) (c10) (c11) (c12) (d10) (d11) (d12) Fig. 4. (a) Bayer Pattern [15]; (b) modified Bayer Pattern [15]; (c) Diagonal Strip Pattern [15]; (d) Vertical Striped Pattern [15]. [15] R. Lukac and K. N. Plataniotis: Color filter arrays: Design and performance analysis. IEEE Transactions on Consumer Electronics, vol. 51, pp. 1260–1267 (2005) What contributes to the classification ability of this feature? Sensors of different camera models may have different CFA patterns. Interpolation algorithm varies among different camera models. Although some of the CFA patterns are not common in digital cameras, grouping pixels periodically and find the statistical difference could be able to capture artifacts during the whole image processing pipeline. Camera Model Detection——Feature set 1: Design (1/2) 33 cases are designed CFA types: Bayer, modified Bayer, diagonal strip, vertical striped pattern Color channel: Green, Red r e var( N p i ) var( N p i ) m ax( , ), i 1, ..., 33 e r var( N p i ) var( N p i ) (2) and denote raw and estimated noise under the ith possible sample array Total 36 cases, but 4 cases are same situation for our statistics (Green channel under Bayer and modified Bayer pattern), Final 33 cases Camera Model Detection—— Feature set 2 Inter- color channel interpolation A popular color difference interpolation scheme [19] utilizes inter-channel correlation between colors to do interpolation. If we assume that the full G is available by some interpolation process, R can be recovered by equation (3). It also can be written as equation (4). R LPF { R s G s } G (3) Feature design The difference of inter-color is ‘smoothed’, to capture these artifacts, feature 2 is designed as equation (5-7) var( N R G LPF { R s G s } (4) R G N ) (5) var( N B G N ) (6) var( N R B N ) (7) [19] John S. Ho, Oscar C. Au, Jiantao Zhou, and Yuanfang Guo: INTER-CHANNEL DEMOSAICKING TRACES FOR DIGITAL IMAGE FORENSICS. ICME2010 Camera Model Detection—— Feature set 3 Design For better identical issue, based on the first feature set, we replace the variance statistics by kurtosis statistics and get 33 features as our third feature set. For the 33 possible sample arrays, kurtosis can reflect minor difference of interpolation. Hence, feature set 3 can be calculated as equation (8). r e kurtosis ( N p i ) kurtosis ( N p i ) m ax( , ) e r kurtosis ( N p i ) kurtosis ( N p i ) i 1, ..., 33 (8) Camera Model Detection—— Feature Extraction Flow Diagram Image De-noising filter Noise image 33 possible sample arrays Case 1 Feature set 2 extraction f12 f22 Case 2 …... Case 33 N p1 r N p2 r N p33 r …... e N p1 e N p2 N p33 e Feature set 3 extraction …... Feature set 1 extraction f32 f11 f 21 …... f13 f 23 f 331 69-D proposed features Fig. 5. feature extraction flow diagram …... f 333 Experiment: Database (1/5) ‘Dresden Image Database’ Setting a public database designed for benchmarking algorithms in the area of digital image forensics. Most under same or similar acquisition procedure, such as at the same scenes, same taken positions, and same up to two motives with tripods in Dresden, and photographed with each camera of one set with systematically varying camera setting (flash, focal length and interchanging lens, if possible) [21]. For source device detection A collection of same or similar scene images taken by different camera, which can be categorized to do manufactory, model, or device detection or etc. Experiment: Database (2/5) Table.1. Camera model No. model Device num/model Image num/model Image resolution Image format 1 CanonIxus70 3 567 3072×2304 JPEG 2 CasioEXZ150 5 925 3264×2448 JPEG 3 FujiFirmFinePixJ50 3 630 3264×2448 JPEG 4 NikonCoolPixS710 5 925 4352×3264 JPEG 5 NikonD70s 2 367 3008×2000 JPEG 6 NikonD200 2 752 3872×2592 JPEG 7 KodakM1063 5 2391 3664×2748 JPEG Experiment: Method (3/5) Image Blocking Feature extraction four 512x512 sub-blocks from center of each JPEG image (no compression after blocking) 69-D features are extracted from each sub-block Model classification 1 2 3 4 Fig. 6. blocking position 90% of the images are randomly chosen for training the classifier and the rest of them are used for testing (The random choosing is controlled to make sure the sub-blocks in training part and testing part are not from same image). Experiment: Result (4/5) Table.2. camera model detection accuracy 1 CanonIxus70 2 3 99.65 4 5 99.88 * 0.11 FujiFirmFinePixJ50 1.43 98.39 0.12 0.22 NikonD70s NikonD200 KodakM1063 99.76 0.07 * 7 0.35 CasioEXZ150 NikonCoolPixS710 6 0.06 * 0.31 * 98.98 0.58 * * 1.23 98.70 0.07 * * * • Average detection rate under 20 times * 99.87 Experiment: Result (5/5) The average detection accuracy of our proposed method is 99.32%, For 324-D Markov feature [20], the average detection accuracy is 98.78%. 1 0.9 accuracy of detection 0.8 69D Proposed 324D Markov 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 model1 model2 model3 model4 model5 model6 model7 Fig. 7. average detection accuracy [20] Guanshuo Xu, Shang Gao, Yun Qing Shi, RuiMin Hu and Wei Su: Camera-model identification using Markovian transition probability matrix. (IWDW09) Conclusion The artifacts introduced by CFA and interpolation can be considered as differences between models. Three feature sets are designed to catch the artifacts. Combining them together, 69-D features are obtained to do model detection. We use images from seven models of the Dresden image database as our sample resource. The experiment result shows that the detection accuracy of our proposed method works well on seven camera models. The average detection accuracy is 99.32%. Qestions?