top | item 42779330

Show HN: Using YOLO to Detect Office Chairs in 40M Hotel Photos

222 points| nomad86 | 1 year ago

I used the YOLO object detection library from Ultralytics to scan over 40 million hotel photos and identify images with office chairs. This helped me create a map showing hotels suitable for remote work.

Map: https://www.tripoffice.com/maps

Yolo: https://www.ultralytics.com/yolo

The whole process was done on a home Mac without the use of any LLMs. It's based on traditional object detection technology.

124 comments

order

jll29|1 year ago

IMHO There is a huge gap for affordable hotels for normadic workers and business people.

Hotel rooms suck when you need to use them for work. Typically there are massive beds and I travel alone if for work. There is no proper chair, no writing table at all or one too small, and the sockets tend to be in the wrong corner of the room.

If I was an entrepreneur outside of software looking for a gap, I might have invented a hotel chain for work stays. But I'm not, so here is the idea for you to get rich with it (so I can stay there one day).

I like the OP's idea of using ML models to gather intelligence from hotel photos. For years I took a photo of nearly every hotel room with my laptop on the desk so that I could go back and re-book the rooms that were suitable if there was a conference in the same city again in the future.

chefandy|1 year ago

They know what they’re doing. Most hotels ‘are’ built for work, but they’re built for what most workers use them for: work travel. Though probably common for developers, I’ll bet it’s pretty unusual for the other like 96% of people to want to do deep work in a hotel room. Especially if you’re on the road for work, you’re probably the sort of worker that needs to physically be somewhere remote to accomplish a goal, which makes it even less likely you’re going to be doing deep work in your hotel room. Most have “business centers” where you can bang out a zoom call, rally the troops before a meeting you flew in for, print something out for a presentation, or whatever. I’m sure most professional use cases are far better served by those accommodations than amping up their rooms for the handful of people that need to be in a room by themselves sitting in one spot for long enough for the chair to be a big factor while they travel.

__MatrixMan__|1 year ago

I usually stand at the ironing board (they're typically height adjustable). Keyboard goes on board, laptop goes on trashcan which is on board (just to get the screen higher). I usually bring some paracord so I can tie the whole contraption to something heavy so it doesn't wobble. Sometimes I'll use the cord to hang a second travel monitor from some nearby art--still working on a proper harness for it.

It's fun. I occasionally get work done too.

GuB-42|1 year ago

Hotel rooms are simply not designed to be places to do work in. They are places for you to sleep in, so of course, the bed is the centerpiece.

I took a look at business hotels in Japan. These are hotels explicitly designed for work travel and nothing more. Small rooms, bed, shower, but not much to actually work. And it actually makes sense. If you are on a work trip, why would you want to work in your hotel room? The whole point of a work trip is to visit a work place, that's where you are going to work, not your hotel room. In fact, from my limited experience of work travel, doing more work is the last thing I want to do when I am back at the hotel, it is often an exhausting day, and there is a good chance I have to get up early the next day, so the hotel room is for relaxation and sleep.

If you really want to work in your hotel room, or do anything other than using the bed and shower for that matter, you are probably better off with "apartment hotels" and short term rentals. If available, student residence rooms can be a minimal option for working and sleeping, that's what they are designed for. Note that there are also hotels with co-working spaces.

Maybe what you want, that is essentially a short-stay student room for grownups will happen one day, but I see many obstacles in making it a "get rich quick" investment. It may not be a great hotel for those who just want to sleep (or have other kind of fun). And if you want to eat in there, you will lack the amenities an appartement offers. And if you are not alone, a co-working space may be a better option.

ekianjo|1 year ago

I travel a lot and I agree that most hotels suck for work. But the primary function of a hotel is to provide a safe place to sleep. If I want to do work, my best bet is to stay late in the office where I spent the day, since most people will leave at some point. I get good chairs there, large rooms and monitors if I need. It's much better than trying to retrofit a small hotel room into something else.

choilive|1 year ago

Depends on where you're looking.

There are usually plenty of "business" oriented hotels near airports, business parks, central business districts, convention centers, etc . (And that definitely reflects on the trip office map). Touristy areas have more tourist/traveller oriented amenities.

ghaff|1 year ago

I used to travel a lot for work. Hit about 180 days one year. (OK, about a month of that was vacation.) I'm not primarily a developer but I do a lot of writing. Honestly, I've never felt particularly constrained from doing that on the road but, then, although I have a nice home setup, I don't need that nice setup to work.

And I like having a king bed even if it's just me. (I do like having a desk and some sort of office chair though even that isn't really critical most of the time.)

lodovic|1 year ago

I think companies such as WeWork or Servcorp try to fill that gap. I don't like working in the same room that I sleep in - you have to keep the room tidy for video calls, handle housekeeping, and hope that the seat won't break your back. The rent-an-office locations are usually pretty well equipped with good desks and large monitors.

amelius|1 year ago

By the way I have also found that most hotels suck at draining water from the shower. Usually after only 5mins the bathroom is a complete mess. I suspect this is on purpose, so that guests don't use too much water.

oefrha|1 year ago

For all the problems of AirBnBs and co., every single one I ever booked was better for working with a computer than every single hotel room I ever booked within 2x price.

Scoundreller|1 year ago

Once I specifically booked an airbnb because they promoted their 17" LCD with hdmi, usb-c and dvi inputs. I'm like, why don't more offer this?

idoescompooters|1 year ago

Hotels all have 30-day maximum stays. And they always use the cheapest bandwidth pool so internet speeds are not good. And it's shared.

kristoffervh|1 year ago

Take a look at CitizenM. I travel a lot for work and that is my go-to place due to how tailored it is for also getting work done.

citizenpaul|1 year ago

>I might have invented a hotel chain for work stays.

That's basically what wework is. I know you can't officially sleep there. I don't know what they would do if you slept in one of the 24/7 access plans though.

Also you are vastly overestimating the amount of "work" people do in hotel rooms that are not in tech.

wslh|1 year ago

In many hotels there are other spaces where you can work beyond your room.

MaheshNat|1 year ago

Why stop at just office chairs? Why not detect all categorizable objects in every photo and rank based on that?

Could also crop just the object detection regions of each image, run those cropped images through CLIP/SigLIP, then UMAP and HDBSCAN to view a 2 or 3 dimensional latent space clustering of office chair types.. might reveal some info as to what kinds of chairs exist in what geographical regions. Could use a VLM to auto-tag each cluster given a couple images from each one. Could run PCA on the CLIP embeddings and have some sliders for each principal component.. maybe the first is chair color or size or whatever

much data = much fun

myself248|1 year ago

There's an Internet Movie Car Database, and independently, an Internet Movie Firearms Database. Surely there are more.

I feel like they should be one database with object_type=car and object_type=firearm respectively. And then I can finally search by object_type=vacuum_cleaner and find out the wild-looking ball-shaped vacuum in that sci-fi movie whose name escapes me...

nomad86|1 year ago

I tried to detect models of specific chairs, but it's very difficult. To train the AI model, you need many photos of the same type of chair, and on the internet, you can usually find only one stock photo of each chair.

bambax|1 year ago

This is pretty cool; however this account has been repeatedly posting this same story since 2023 and never anything else... weird

https://news.ycombinator.com/submitted?id=nomad86

bemmu|1 year ago

Well, it's been a while since it was last posted, so seems fine. Interesting how it only caught on once it triggered some techy interest.

I can understand why. My thought pattern was also like "oh YOLO, I know that, interesting to see some application for it, oh cool idea, upvote".

maalber|1 year ago

Interesting idea and execution! So basically you wanted to find hotels where the rooms have office chairs and a desk? Or just in any of the images, e.g., a lobby?

Side note; I love how YOLO, a deep learning based model, is now being referred to as traditional object detection. Template matching gang rise up.

dylan604|1 year ago

> Or just in any of the images

I just looked at hotels I'm familiar with, and images with highlighted chairs were not limited to the guest rooms. Some are definitely from shared spaces at the hotel.

nomad86|1 year ago

In our hotel photo database, we have everything: rooms, lobbies, bathrooms, pools, exterior shots of buildings, etc.

I trained an AI to recognize ergonomic chairs, but sometimes there were errors. For example, a chair in a hotel's SPA was always identified as an ergonomic chair. That's why we manually reviewed all 50k photos to verify them.

ncruces|1 year ago

I've checked locally. Most of these aren't really hotels, but short term rentals.

I don't have an huge issue with short term rentals per si. They are an important niche for tourism when you take the whole family, whereas most (esp. city) hotels are not really appropriate for a family of 4 or 5.

OTOH, (esp. city) hotels are usually fine for the business trips they were designed to cater too.

This leaves us with “digital nomads.” Helping these find ways to put additional pressure on the housing market through short term rentals will only cause locals to get politicians to further restrict them.

_august|1 year ago

Nice idea! What did you use for your hotel dataset source? I've been wanting to work on travel based app idea with hotel integration, but seems like most providers (like booking.com) lock down their data.

splonk|1 year ago

You can sign up as an affiliate with both Booking and Expedia to get API access to their data. It's meant for people who are going to run their own hotel booking sites with Booking/Expedia content, so it's not quite as trivial as a random free signup, but it shouldn't be too hard to do for a real business. OP's site appears to be affiliated with Lexyl, which owns some other hotel booking sites, so I assume they already have this access.

That said, I would consider scraping, even with API access. In some ways the API access is both limited and binds you to their terms of service, and depending on the legalities in your jurisdiction, scraping could be more effective.

dylan604|1 year ago

> What did you use for your hotel dataset source

Do you hear that noise? It sounds like something is scraping

ggm|1 year ago

How did you go with duplicate detection? (For context, aside from being amazingly generally useful to anyone with non trivially edited images, lots of hotel chains reuse content)

cenamus|1 year ago

Perceptual hashes are very good for that, maybe with some adjustments for mirrored images and some crops

instagraham|1 year ago

I have no programming expertise but I'm looking for ideas that use YOLO to detect stuff like this. I was thinking of a way of automatically tagging and collecting data from my daily commute dashcam/GoPro footage - number of EVs, demographics of traffic, etc.

I want this to be a project that teaches me the ropes but since I need instant gratification, I'd like if the result also offered value to others.

The one thing I want to avoid is cleaning up data, since spreadsheets give me the ick.

IanCal|1 year ago

Have a look into Sam, groundingdino, groundedsam

https://github.com/IDEA-Research/Grounded-Segment-Anything

You can use that to take images and generate annotated segmented images/masks that you can then train a YOLO model on. I've done this for prototypes before and it's a very quick way of getting started as you can hand off the really annoying annotation work to a machine.

javiercr|1 year ago

Awesome! How long did it take to run locally on your Mac? Any details you can share about the stack used for processing (other than YOLO for detection)?

nomad86|1 year ago

Thx! Downloading all the photos took the most time. Object detection process took only several days.

At TripOffice, we use simple and widely-used tools: Python, NextJS, and MySQL.

Tepix|1 year ago

Even shared workspaces often get this wrong. On their pictures i see desks with crappy chairs and no big monitors to connect my laptop to. Bizarre.

bemmu|1 year ago

What I'm most curious about is how does one get 40 million hotel photos? Is this offered through some Booking.com API etc.?

teruakohatu|1 year ago

I was also wondering this. The hardest part about this would be scraping 40m photos.

franga2000|1 year ago

From a few minutes of clicking around, most of these "office chairs" look entirely unsuitable for longer periods of work. I've also never seen a hotel room without at least a basic "school chair" and those are far more comfortable than a lot of the plastic slab or designer clamshell things I see in these photos.

tminima|1 year ago

Hey, cool idea. Would you be able to tell me the tech stack for the whole app? I want to build a similar application for some other use case. I have built a static map with all my labels using leaflet in Python. To turn it into something like you have, what technologies will I need?

stevesearer|1 year ago

This is really interesting. I’ve been looking for a way to automate the next step in this process after you know which photos have chairs: knowing the model and manufacturer of each chair. Unfortunately training a model suitable for the long tail of possibilities is beyond me.

a2800276|1 year ago

Ok, I'll bite: why have you been looking for ways to identify the make and model of hotel chairs?

mcculley|1 year ago

This is a great idea. What I have found worse in hotel rooms is not the chair, it is that the desk is at a stupid height relative to the chair. I use a standing desk at home and would love an easy way to use a standing desk at a hotel without carting around a tripod.

dchuk|1 year ago

I travel extensively for work. Where are you guys staying that doesn’t have a basic desk and chair with outlets and stuff ready to go? Even the most basic Marriott property has a totally comfortable workspace in every room

tobi_bsf|1 year ago

I travel extensively for work, and in Europe this is a real Problem. I stayed in Steigenberger Hotels in a "Business Suite" that does not had a chair and a desk. Marriot properties like moxy for instance are guaranteed to have no desk in the room.

OfCounsel|1 year ago

I stayed at the Hyatt Centric in Boston. Take a look at the photos - no desk or chair.

Moxy (Marriott) hotels tend not to have desks either.

thenthenthen|1 year ago

What can YOLO detect actually? I am interested in satellite imagery, what are the options in this field?

Disclaimer: i am working for myself, i have no money, a 15 year old laptop and obsessions

aduffy|1 year ago

YOLO is a pretty simple and flexible architecture. Like most of these models, you can label some data and just freeze the intermediate layers and just retrain the final predictor head.

Checkout as well darknet, which runs at really high fps on super cheap hardware

tobi_bsf|1 year ago

You should remove pictures that contain multiple office chairs, i saw a lot of pictures that got properties marked as postive beeing their business centers or conference rooms.

echelon_musk|1 year ago

I would like to do a variation on this theme where instead I scan pub photos for pool tables and create an index in London.

It can be hard to find a pub with a pool table these days!

ghaff|1 year ago

Heh. Other than a place in SF that had a bunch of pool tables near the Moscone, haven't seen one in a bar in ages. There used to be one in the bar that we hung out at in my grad school.

drewbitt|1 year ago

Some hotels I clicked on are being recognized for their 'business centers', that one crappy little room with two ancient desktops and a printer.

Suppafly|1 year ago

There is a project that helps the government identify locations in child sex abuse photos, I wonder if a project like this could help.

vergessenmir|1 year ago

How do you get access to 40M Hotel Photos?

ungreased0675|1 year ago

Do you have any insights on which hotel brands have the best chairs? Is furniture standardized across brands?

nomad86|1 year ago

I haven't checked it, but such data should be easy to get from our database.

a2800276|1 year ago

How happy are you with the results?The execution is great, but I feel the idea didn't really validate well. Every single sample ended up with pictures like this: (https://hotel.trvcdn.com/380/de/800024805/700034633/nh-colle...). While I'm impressed at how accurately you can detect chairs with wheels, that doesn't seem to be an indicator of an ergonomic workspace. Quite frankly, I would have preferred (and been fine with) sitting on the bed with my laptop in every hotel I clicked on.

pknerd|1 year ago

I wonder how good Gpt and Claude could do it. What would be the computational cost difference?

nomad86|1 year ago

At first I wanted to use Google's Vertex AI for this purpose, but the costs were too high.

Besides, in this case, we would also have to upload 40 million photos to the cloud for Google to evaluate what’s on them.

YOLO is the best for such tasks; it works locally and is really fast.

camhart|1 year ago

Did you do anything to retrain the model, or just use it out of the box?

nomad86|1 year ago

We manually labeled almost 1,000 chairs in various photos to train the model.

diimdeep|1 year ago

Without at least some technical details and insights from process of doing so this is just ad for your website. And it does not even work in country with 146 million people, but author is from "democratic" european country so not surprising.