// Adds dimensions UUID, Author and Topic into GA4
Sunday, July 12, 2026
28.9 C
Singapore

Ex-NTU researcher took upskirt photos of 400 women, over 2,200 photos found from 2015 to 2021

A former researcher from Nanyang Technological University (NTU) was found to have taken upskirt pictures of at least 400 women from 2015 until 2021.

Authorities discovered that he had taken over 2,200 upskirt photos during this period, including some taken around the NTU campus.

Guo, a Chinese national, had worked as a researcher at NTU’s School of Civil and Environmental Engineering when he took the upskirt photos.

However, he was fired from the university on April 22 of last year. 

“NTU has a zero tolerance stance towards all forms of harassment, including voyeurism and sexual misconduct,” a spokesperson from NTU told CNA.

CNA quotes the prosecutor as saying that when Guo “saw women wearing skirts, shorts, or yoga pants whom he found attractive, he would take full body back view photos and upskirt photos of them.”

He was finally nabbed on Apr 11, 2021, at Orchard MRT station, on an evening where he deliberately planned to carry out offences.

As Guo walked behind two women, a Mr Seah Choon Kong saw the ex-NTU researcher hold his phone under one of the women, who was wearing a pair of skorts (shorts made to look like a skirt).

Mr Seah confronted Guo and asked to see the photo gallery on his phone. After a while, Guo said yes, but only showed a certain album with no pictures as well as darkened his screen, saying it was low on battery.

Together with two other male onlookers, Mr Seah detained Guo while the police were called.

The police later took Guo’s phone and were able to find a number of upskirt photos on it.

One day later, after his residence was raided, police seized six other gadgets with hundreds more upskirt photos on them.

The prosecution underlined that several of the upskirt pictures Guo had taken had been at NTU.

Authorities also discovered that the former researcher had taken some pictures of his victims at the Quad Cafe and Canteen B in the South Spine area, around Hall 11, and the overhead bridge near the Lee Wee Nam Library.

Chief among his modus operandi was to take pictures at staircases, including those outside the library and Nanyang Auditorium, one at the South Spine area and another en route to NTU North Hill.

Other photos of his victims were taken at MRT stations at Orchard, Jurong East, Pioneer, Boon Lay, Dhoby Ghaut, and Bukit Batok, and shopping centres at Orchard Road, Somerset, and The Shoppes at Marina Bay Sands.

“Students should be able to feel safe and not worry about the risk of voyeuristic images of them being captured” on campus, said Deputy Public Prosecutor Lee Wen Kym.

She asked for 11 to 14 months jail for Guo, calling him a prolific serial upskirter whose offences were committed with premeditation, CNA said. She also underlined that at least 400 women had been victimized by Guo.

On Monday (Mar 21), 30-year-old Guo Zhihong pleaded guilty to two charges of voyeurism and one charge of insulting a woman’s modesty.

An additional seven charges were taken into consideration for his sentencing.

He was given 10 months and five weeks’ jail for his offences. /TISG

Man caught taking upskirt pics at HarbourFront MRT station gets on knees to beg for mercy

- Advertisement -

Hot this week

14 no-smoking signs, yet cigarette butts still litter coffee shop’s potted plants

Despite posting 14 "No Smoking" signs, the coffee shop still couldn't stop smokers, and the potted plants outside the aisle were piled with cigarette butts. The coffee shop manager said he had no c...

‘You can never have too many power sockets’: Singaporeans share BTO renovation tips

On Reddit, a netizen shared: Hello brothers and sisters! About to commence our ID-hunting and reno journey soon. Curious to know the top tips and regrets that any of you might have!

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks