The problem with a centred crop
A grid cell takes the middle of a photograph, because the middle is the only part a program with no opinion can be sure exists. In a photograph of a person the middle is a chest. Run a five-by-four over twenty family pictures and you get twenty chests and four foreheads, and then you spend the next quarter of an hour dragging crop windows upwards one at a time.
That quarter of an hour is what this page is for. A small program can be fetched and run here that reports, for each photograph, the rectangles it thinks are faces. Nothing is guessed about who they belong to and nothing is written down — a rectangle and a score, and the board slides its crop window until the rectangles are inside it. The window keeps the size you gave it, because how much of a photograph you want to see is your decision and this is only answering which part.
Two files, named in bytes before either is asked for
Nothing is fetched when this page loads. The panel under the board states each file’s exact length first, and the request happens after the press and not before it. Both come from cdn.pictureeditor.com rather than from a public model hub, because a request to somebody else’s host would tell them which of this board’s visitors is arranging photographs of people, and that is a strange thing to give away on a page whose whole promise runs the other way.
| File | Exactly | One run | Licence |
|---|---|---|---|
| Face finder | 229,738 bytes | 16 ms | MIT |
| Subject finder | 6,163,938 bytes | 90 ms | Apache-2.0 |
| The runtime that executes them | 13,986,063 bytes | — | MIT |
The third row is the one worth looking at twice. The program that runs the graphs is larger than either graph by a wide margin, it is served from this domain rather than from the CDN, and it is paid once — which is the only reason offering two of these on one board is sensible rather than wasteful. Take the face finder and the subject finder afterwards costs you 5.9 MB and no more.
What each one is allowed to do
- The face finder moves crop windows. It reports rectangles; the board slides each window the shortest distance that holds them, then leans it a fraction downwards so the heads sit above centre rather than dead in the middle. If a frame is too narrow to hold every face at once, the window centres on them and the panel says so plainly instead of quietly cutting somebody.
- The subject finder marks pixels. It answers, for each pixel of a 192-pixel square, how much of it belongs to a person. A frame can then be drawn from that mark alone, so the subject sits on the board’s paper with the rest of their photograph left out.
- Neither one rearranges anything. No frame is moved, resized, reordered or deleted by either file. Every pass is one step on the undo stack, and one keystroke puts the board back exactly as it was.
Cutout tiles, and where they stop
A cutout tile is a step on the way to a board and it is only that. Drop the background on a frame and the person stands on the paper; export the board and they are part of one flat picture, the same as every other frame. There is no button here that hands you the person on their own, no transparent file to save, and no route on this site that offers one.
That is a deliberate line rather than an oversight. Producing a cutout as the finished article is another site’s job in this family, done properly there with brushes, edge refinement and a higher-quality model. Here the mask exists so a frame can sit on a board without a rectangle of somebody’s living room around it, and when that is all you need, six megabytes and ninety milliseconds is a good deal for it.
No transparent PNG leaves this page. The cutout is a way a frame is drawn, not a file you can take away, and a board exports as one flat image whatever is on it.
The outline is coarse, and here is why
The subject finder decides at 192 pixels square. Whatever your photograph is, it is squashed into that square, and the answer is stretched back out over the frame — so the colour in a tile is your own photograph at whatever size it is drawn, full resolution and untouched, while the boundary between kept and dropped carries the coarseness of a 192-pixel decision. Flat backgrounds come out clean. Hair against a busy room does not, and no amount of threshold-fiddling in a panel would change that; it is the size of the opinion, not the handling of it.
Heavier models do better outlines, and the one measured against this same WebAssembly path takes seventeen seconds a photograph rather than ninety milliseconds. That is not a control worth putting on a board where somebody might press it two hundred times, so it is not on this one.
Reading a tray of two hundred
The reading is a control you press, not something that happens when a folder opens. Each photograph is looked at once, in tray order, using the screen-sized copy the board already holds rather than opening the original again — and the main thread is handed back between photographs, so the board stays draggable while the tray is being read. Press stop and what has been read is kept; the rest is left alone and can be read later.
A photograph that has already been read is skipped on a second run, because the answer cannot have changed and a tray this size is minutes of somebody’s afternoon. The readings live in this tab and nowhere else: they are not written to storage with the arrangement, so a board restored tomorrow comes back with its frames and without them, and asks again.
Asked and answered
What gets downloaded, and how big is it?
Two files, separately, and only when you press the control that names the size. The face finder is 229,738 bytes and is MIT-licensed. The subject finder is 6,163,938 bytes and is Apache-2.0. Whichever you take first also brings down the program that runs them, 13.3 MB of WebAssembly served from this domain, and the second one then costs only its own file. All three are kept in this browser, so a later visit asks for nothing.
Do my photographs go anywhere?
No. The direction of travel is the other way round: the two files come to your machine and run on your processor, and the photographs stay where they were, in this tab. The requests that leave this page ask for a model by name and carry nothing about the board, the tray or the pictures in it.
What does the face finder actually change?
The position of a crop window, and nothing else. A cell in a grid usually shows the middle of a photograph, which is where a head is not. Once the faces in a photograph are known, the window slides — keeping the size you chose — until it holds them, and takes a little headroom above them when the photograph allows it. It never resizes a frame, never reorders the board and never deletes anything.
What is a cutout tile?
A frame that draws the person and leaves the rest of their photograph out, so they stand on the board's own paper instead of in their own kitchen. It is a step inside making a board: there is no transparent file to download here and no way to leave with one. If a cutout on its own is what you came for rather than a board with one on it, this is the wrong page — look for a tool whose whole job is extracting a subject, because that job wants brushes and edge work this board has no business carrying.
How good is the outline?
Approximate, and visibly so around hair. The subject finder works on a 192-pixel square and its answer is stretched up to whatever size the frame is drawn at, so the colour in the tile is your photograph's own at full size while the edge carries the coarseness of a 192-pixel opinion. At poster distances it reads; at a hand's width it does not pretend to be a matte.
What if I decline both downloads?
The board is exactly what it was. You drag the crop window with the wheel and the handles, the grid generator still fills every cell, alignment and spacing still work, and nothing is requested from anywhere. Neither file is fetched until a control that states its size is pressed, and the tool was built to be finished without either.
Does it work on a phone?
It runs, and the download is the part to think about rather than the arithmetic. The runtime is the large piece and it is paid once; after that the two files are small and each photograph takes a fraction of a second. A tray of two hundred photographs read one at a time is still a wait, which is why the reading is a control you press rather than something that happens when you open a folder.