Foyer Insight
Search
K

Classification

This page details the endpoint for sending images for classification through Foyer Insight. An SDK is provided at https://www.npmjs.com/package/@foyer-inc/insight-sdk
There is a 10MB limit on images sent to the classify endpoint.
post
https://api.foyer.ai
/Media/classify
Classify a single image
Only one of file, files, url or urls may be specified.

Example request body

{
"url": "https://upload.wikimedia.org/wikipedia/commons/6/6d/Down_House.jpg",
"force": true
}

Possible classifications

aerial_view
indoor
outdoor
bathroom
bedroom
community
gym
diagram
dining_room
front_of_structure
garage
kitchen
laundry
living_room
office
other
pool
closet

Possible object detections

Features
Furniture
Items
Outdoor
fireplace
stairway
floor
ceiling
window
wall
stairs
cabinet
sink
counter
closet
toilet
kitchen_island
bar
countertop
bannister
booth
chandelier
shelf
stove
railing
refrigerator
column
bathtub
blind
escalator
door
fountain
stage
buffet_counter
conveyor
canopy
washing_machine
swimming_pool
oven
step
tank
microwave
dishwasher
hood
sconce
shower
radiator
table
curtain
chair
bench
couch
chest
mirror
rug
armchair
seat
desk
stand
coffee_table
pool_table
grandstand
display_case
pillow
bookcase
ottoman
swivel_chair
stool
cradle
trashcan
bulletin
bed
poster
painting
lamp
computer
cushion
box
sign
screen
book
toy
arcade_machine
towel
television
apparel
light
pole
bottle
basket
ball
barrel
bag
food
pot
projection_screen
vase
sculpture
blanket
tray
fan
crt
plate
monitor
drinking_glass
clock
flag
sky
tree
road
building
grass
sidewalk
ground
mountain
plant
car
water
house
sea
field
fence
stone
sand
skyscraper
path
runway
river
bridge
flower
hill
palm
boat
hut
truck
tower
bus
awning
streetlight
airplane
dirt_track
land
van
tent
waterfall
ship
motorbike
bicycle
lake
traffic_light
pier

Attributes

Attributes are more specific features gathered from the objects detected in the images. For the segmentations that have them, the attributes will give more robust information about the image. Attributes will always have a name field and a value field. Currently, the possible attributes are:
  • tagpoint: the tagpoint attribute's value is an array in the shape of [x, y] where x and y are percentage-based. They form a point that is guaranteed to be on the segmentation for tagging/display purposes.
  • is_stainless: A boolean. This attribute appears on refrigerator, stove, oven, washing_machine, hood, and dishwasher segmentations.
  • floor_type: A string of one of the possible flooring classifications (defined below). An additional float field, confidence, exists on this attribute.

Possible flooring classifications

A floor segmentation will automatically have a flooring type within its attributes.
carpet
stone
marble
hardwood
tile
other
post
https://api.foyer.ai
/Media/classifyReso
Classify images from a RESO object
This function accepts a RESO payload and returns inference data from all provided Media objects. This returns the RESO data with additional classification and segmentation data added to it. To fit RESO guidelines where possible, output classifications are contained in the ImageOf field.
The classifyRESO endpoint does not return mask data. Mask data for images on a full listing can make the resulting payload many times larger. We can provide bulk inference with mask data included, but logistics for the large payloads must first be arranged.
See the RESO definition for a Media Resource. We require the MediaURL field to be defined for image classification.

Example request body

{
"@odata.id": "http://odata.listhub.moveaws.com/odata/Property('3yd-A2SELL-281884')",
"ListingKey": "3yd-A2SELL-281884",
"ListingId": "281884",
"PropertyType": "Land",
"PropertySubType": "Other",
"ListPrice": 21900,
"Media": [
{
"MediaCategory": "Photo",
"MediaURL": "http://photos.listhub.net/A2SELL/281884/1",
"MediaKey": "2483763c0011d2a36483fb3f28ca8c00564abb4d",
"MediaModificationTimestamp": "2019-10-03T09:14:00.000Z"
}
]
}

Example request return

{
"@odata.id": "http://odata.listhub.moveaws.com/odata/Property('3yd-A2SELL-281884')",
"ListingKey": "3yd-A2SELL-281884",
"ListingId": "281884",
"PropertyType": "Land",
"PropertySubType": "Other",
"ListPrice": 21900,
"Media": [
{
"MediaCategory": "Photo",
"MediaURL": "http://photos.listhub.net/A2SELL/281884/1",
"MediaKey": "2483763c0011d2a36483fb3f28ca8c00564abb4d",
"MediaModificationTimestamp": "2019-10-03T09:14:00.000Z",
"ImageOf": [
"diagram",
"plat_map",
"outdoor"
],
"Segmap": [
{
"class": "wall",
"attributes": [],
"area": 0.00493621826171875,
"boundingBox": [
0.408203125,
0.169921875,
0.974609375,
0.490234375
],
"confidence": 0.4345703125
},
{
"class": "sky",
"attributes": [],
"area": 0.9121208190917969,
"boundingBox": [
0,
0,
0.998046875,
0.998046875
],
"confidence": 0.93798828125
},
{
"class": "fence",
"attributes": [],
"area": 0.0113372802734375,
"boundingBox": [
0.546875,
0.248046875,
0.96875,
0.37890625
],
"confidence": 0.47607421875
}
]
}
]
}